mirror of
				https://aur.archlinux.org/linux-vfio.git
				synced 2025-11-04 14:16:57 +00:00 
			
		
		
		
	6.8.1
This commit is contained in:
		
							
								
								
									
										23
									
								
								.SRCINFO
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								.SRCINFO
									
									
									
									
									
								
							@@ -1,6 +1,6 @@
 | 
				
			|||||||
pkgbase = linux-vfio
 | 
					pkgbase = linux-vfio
 | 
				
			||||||
	pkgdesc = Linux
 | 
						pkgdesc = Linux
 | 
				
			||||||
	pkgver = 6.8
 | 
						pkgver = 6.8.1
 | 
				
			||||||
	pkgrel = 1
 | 
						pkgrel = 1
 | 
				
			||||||
	url = https://www.kernel.org
 | 
						url = https://www.kernel.org
 | 
				
			||||||
	arch = x86_64
 | 
						arch = x86_64
 | 
				
			||||||
@@ -17,23 +17,24 @@ pkgbase = linux-vfio
 | 
				
			|||||||
	makedepends = graphviz
 | 
						makedepends = graphviz
 | 
				
			||||||
	makedepends = imagemagick
 | 
						makedepends = imagemagick
 | 
				
			||||||
	makedepends = python-sphinx
 | 
						makedepends = python-sphinx
 | 
				
			||||||
 | 
						makedepends = python-yaml
 | 
				
			||||||
	makedepends = texlive-latexextra
 | 
						makedepends = texlive-latexextra
 | 
				
			||||||
	options = !strip
 | 
						options = !strip
 | 
				
			||||||
	source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.tar.xz
 | 
						source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.1.tar.xz
 | 
				
			||||||
	source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.tar.sign
 | 
						source = https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.8.1.tar.sign
 | 
				
			||||||
	source = config-6.8::https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/main/config
 | 
						source = config-6.8.1::https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/main/config
 | 
				
			||||||
	source = 1001-6.6.7-add-acs-overrides.patch
 | 
						source = 1001-6.8.0-add-acs-overrides.patch
 | 
				
			||||||
	source = 1002-6.6.7-i915-vga-arbiter.patch
 | 
						source = 1002-6.8.0-i915-vga-arbiter.patch
 | 
				
			||||||
	source = https://github.com/archlinux/linux/releases/download/v6.8-arch1/linux-v6.8-arch1.patch.zst
 | 
						source = https://github.com/archlinux/linux/releases/download/v6.8.1-arch1/linux-v6.8.1-arch1.patch.zst
 | 
				
			||||||
	source = https://github.com/archlinux/linux/releases/download/v6.8-arch1/linux-v6.8-arch1.patch.zst.sig
 | 
						source = https://github.com/archlinux/linux/releases/download/v6.8.1-arch1/linux-v6.8.1-arch1.patch.zst.sig
 | 
				
			||||||
	validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
 | 
						validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
 | 
				
			||||||
	validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
 | 
						validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
 | 
				
			||||||
	validpgpkeys = 83BC8889351B5DEBBB68416EB8AC08600F108CDF
 | 
						validpgpkeys = 83BC8889351B5DEBBB68416EB8AC08600F108CDF
 | 
				
			||||||
	sha256sums = c969dea4e8bb6be991bbf7c010ba0e0a5643a3a8d8fb0a2aaa053406f1e965f3
 | 
						sha256sums = 8d0c8936e3140a0fbdf511ad7a9f21121598f3656743898f47bb9052d37cff68
 | 
				
			||||||
	sha256sums = SKIP
 | 
						sha256sums = SKIP
 | 
				
			||||||
	sha256sums = SKIP
 | 
						sha256sums = SKIP
 | 
				
			||||||
	sha256sums = f342986bd27980c96c952b0dd8103d3e21a942d87f18df1308fab370e20010fb
 | 
						sha256sums = b35c26d5dc31fb9cfac68292de7b1ee8ca93b4647e4958efc77e2c77f586f1f2
 | 
				
			||||||
	sha256sums = 2a3c732d4d61a631c98b2a3e4afb1fa5dbf8be5c43519b2a59d0e65170c9d8db
 | 
						sha256sums = 966c15da4044a9a3b5f9d362c2cf08303f1265ad4489c9835c95973b71255d07
 | 
				
			||||||
	sha256sums = SKIP
 | 
						sha256sums = SKIP
 | 
				
			||||||
	sha256sums = SKIP
 | 
						sha256sums = SKIP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
From 8079e9e3accd28bc20b7c2ebbf87c478f4288475 Mon Sep 17 00:00:00 2001
 | 
					From 6d05bc1343b9ecce154f551ee09c15e0e9db70bb Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: xiota <>
 | 
					From: xiota <>
 | 
				
			||||||
Date: Fri, 29-Dec-2023 12:34:56 +0000
 | 
					Date: Wed, 13 Mar 2024 02:36:37 +0000
 | 
				
			||||||
Subject: [PATCH 1/2] add-acs-overrides
 | 
					Subject: [PATCH 1/2] add-acs-overrides
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
@@ -9,10 +9,10 @@ Subject: [PATCH 1/2] add-acs-overrides
 | 
				
			|||||||
 2 files changed, 110 insertions(+)
 | 
					 2 files changed, 110 insertions(+)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
 | 
					diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
 | 
				
			||||||
index 41644336e..a3319b714 100644
 | 
					index 31b3a2568..b8ab436d1 100644
 | 
				
			||||||
--- a/Documentation/admin-guide/kernel-parameters.txt
 | 
					--- a/Documentation/admin-guide/kernel-parameters.txt
 | 
				
			||||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
 | 
					+++ b/Documentation/admin-guide/kernel-parameters.txt
 | 
				
			||||||
@@ -4287,6 +4287,14 @@
 | 
					@@ -4370,6 +4370,14 @@
 | 
				
			||||||
 		nomsi		[MSI] If the PCI_MSI kernel config parameter is
 | 
					 		nomsi		[MSI] If the PCI_MSI kernel config parameter is
 | 
				
			||||||
 				enabled, this kernel boot option can be used to
 | 
					 				enabled, this kernel boot option can be used to
 | 
				
			||||||
 				disable the use of MSI interrupts system-wide.
 | 
					 				disable the use of MSI interrupts system-wide.
 | 
				
			||||||
@@ -28,12 +28,12 @@ index 41644336e..a3319b714 100644
 | 
				
			|||||||
 				Safety option to keep boot IRQs enabled. This
 | 
					 				Safety option to keep boot IRQs enabled. This
 | 
				
			||||||
 				should never be necessary.
 | 
					 				should never be necessary.
 | 
				
			||||||
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
 | 
					diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
 | 
				
			||||||
index ae95d0950..aaf28aa0b 100644
 | 
					index d797df6e5..9b41773bf 100644
 | 
				
			||||||
--- a/drivers/pci/quirks.c
 | 
					--- a/drivers/pci/quirks.c
 | 
				
			||||||
+++ b/drivers/pci/quirks.c
 | 
					+++ b/drivers/pci/quirks.c
 | 
				
			||||||
@@ -287,6 +287,106 @@ static int __init pci_apply_final_quirks(void)
 | 
					@@ -4996,6 +4996,106 @@ static int  pci_quirk_wangxun_nic_acs(struct pci_dev *dev, u16 acs_flags)
 | 
				
			||||||
 | 
					 	return false;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 fs_initcall_sync(pci_apply_final_quirks);
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
+static bool acs_on_downstream;
 | 
					+static bool acs_on_downstream;
 | 
				
			||||||
+static bool acs_on_multifunction;
 | 
					+static bool acs_on_multifunction;
 | 
				
			||||||
@@ -135,10 +135,10 @@ index ae95d0950..aaf28aa0b 100644
 | 
				
			|||||||
+	return -ENOTTY;
 | 
					+	return -ENOTTY;
 | 
				
			||||||
+}
 | 
					+}
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
 /*
 | 
					 static const struct pci_dev_acs_enabled {
 | 
				
			||||||
  * Decoding should be disabled for a PCI device during BAR sizing to avoid
 | 
					 	u16 vendor;
 | 
				
			||||||
  * conflict. But doing so may cause problems on host bridge and perhaps other
 | 
					 	u16 device;
 | 
				
			||||||
@@ -5116,6 +5216,8 @@ static const struct pci_dev_acs_enabled {
 | 
					@@ -5143,6 +5243,8 @@ static const struct pci_dev_acs_enabled {
 | 
				
			||||||
 	{ PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs },
 | 
					 	{ PCI_VENDOR_ID_ZHAOXIN, PCI_ANY_ID, pci_quirk_zhaoxin_pcie_ports_acs },
 | 
				
			||||||
 	/* Wangxun nics */
 | 
					 	/* Wangxun nics */
 | 
				
			||||||
 	{ PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs },
 | 
					 	{ PCI_VENDOR_ID_WANGXUN, PCI_ANY_ID, pci_quirk_wangxun_nic_acs },
 | 
				
			||||||
@@ -148,5 +148,5 @@ index ae95d0950..aaf28aa0b 100644
 | 
				
			|||||||
 };
 | 
					 };
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-- 
 | 
					-- 
 | 
				
			||||||
2.43.0
 | 
					2.44.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1,29 +1,37 @@
 | 
				
			|||||||
From 33d2dbe323583bb2f344c857a100f1116fad70d9 Mon Sep 17 00:00:00 2001
 | 
					From 6f123acf4fecf575970c8b3ab0994ea0563fd41e Mon Sep 17 00:00:00 2001
 | 
				
			||||||
From: xiota <>
 | 
					From: xiota <>
 | 
				
			||||||
Date: Fri, 29-Dec-2023 12:34:56 +0000
 | 
					Date: Wed, 13 Mar 2024 02:48:53 +0000
 | 
				
			||||||
Subject: [PATCH 2/2] i915-vga-arbiter
 | 
					Subject: [PATCH 2/2] i915-vga-arbiter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
---
 | 
					---
 | 
				
			||||||
 .../drm/i915/display/intel_display_driver.c   | 16 ++++++++--
 | 
					 .../drm/i915/display/intel_display_driver.c   | 17 ++++++++--
 | 
				
			||||||
 .../drm/i915/display/intel_display_driver.h   |  1 +
 | 
					 .../drm/i915/display/intel_display_driver.h   |  1 +
 | 
				
			||||||
 drivers/gpu/drm/i915/display/intel_vga.c      | 31 +++++++++++++++++++
 | 
					 .../drm/i915/display/intel_display_params.c   |  3 ++
 | 
				
			||||||
 | 
					 .../drm/i915/display/intel_display_params.h   |  1 +
 | 
				
			||||||
 | 
					 drivers/gpu/drm/i915/display/intel_vga.c      | 32 +++++++++++++++++++
 | 
				
			||||||
 drivers/gpu/drm/i915/display/intel_vga.h      |  4 +++
 | 
					 drivers/gpu/drm/i915/display/intel_vga.h      |  4 +++
 | 
				
			||||||
 drivers/gpu/drm/i915/i915_params.c            |  3 ++
 | 
					 6 files changed, 55 insertions(+), 3 deletions(-)
 | 
				
			||||||
 drivers/gpu/drm/i915/i915_params.h            |  1 +
 | 
					 | 
				
			||||||
 6 files changed, 53 insertions(+), 3 deletions(-)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
 | 
					diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
 | 
				
			||||||
index 8f144d4d3..915a5ec47 100644
 | 
					index 9df9097a0..2c467daf8 100644
 | 
				
			||||||
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
 | 
					--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
 | 
					+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
 | 
				
			||||||
@@ -205,9 +205,11 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
 | 
					@@ -29,6 +29,7 @@
 | 
				
			||||||
 | 
					 #include "intel_display_debugfs.h"
 | 
				
			||||||
 | 
					 #include "intel_display_driver.h"
 | 
				
			||||||
 | 
					 #include "intel_display_irq.h"
 | 
				
			||||||
 | 
					+#include "intel_display_params.h"
 | 
				
			||||||
 | 
					 #include "intel_display_power.h"
 | 
				
			||||||
 | 
					 #include "intel_display_types.h"
 | 
				
			||||||
 | 
					 #include "intel_display_wa.h"
 | 
				
			||||||
 | 
					@@ -215,9 +216,11 @@ int intel_display_driver_probe_noirq(struct drm_i915_private *i915)
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	intel_bios_init(i915);
 | 
					 	intel_bios_init(i915);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-	ret = intel_vga_register(i915);
 | 
					-	ret = intel_vga_register(i915);
 | 
				
			||||||
-	if (ret)
 | 
					-	if (ret)
 | 
				
			||||||
-		goto cleanup_bios;
 | 
					-		goto cleanup_bios;
 | 
				
			||||||
+	if (!i915_modparams.enable_hd_vgaarb || !HAS_PCH_SPLIT(i915)) {
 | 
					+	if (!i915->display.params.enable_hd_vgaarb || !HAS_PCH_SPLIT(i915)) {
 | 
				
			||||||
+		ret = intel_vga_register(i915);
 | 
					+		ret = intel_vga_register(i915);
 | 
				
			||||||
+		if (ret)
 | 
					+		if (ret)
 | 
				
			||||||
+			goto cleanup_bios;
 | 
					+			goto cleanup_bios;
 | 
				
			||||||
@@ -31,7 +39,7 @@ index 8f144d4d3..915a5ec47 100644
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	/* FIXME: completely on the wrong abstraction layer */
 | 
					 	/* FIXME: completely on the wrong abstraction layer */
 | 
				
			||||||
 	ret = intel_power_domains_init(i915);
 | 
					 	ret = intel_power_domains_init(i915);
 | 
				
			||||||
@@ -366,6 +368,12 @@ int intel_display_driver_probe(struct drm_i915_private *i915)
 | 
					@@ -372,6 +375,12 @@ int intel_display_driver_probe(struct drm_i915_private *i915)
 | 
				
			||||||
 	if (ret)
 | 
					 	if (ret)
 | 
				
			||||||
 		return ret;
 | 
					 		return ret;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -44,7 +52,7 @@ index 8f144d4d3..915a5ec47 100644
 | 
				
			|||||||
 	/* Only enable hotplug handling once the fbdev is fully set up. */
 | 
					 	/* Only enable hotplug handling once the fbdev is fully set up. */
 | 
				
			||||||
 	intel_hpd_init(i915);
 | 
					 	intel_hpd_init(i915);
 | 
				
			||||||
 	intel_hpd_poll_disable(i915);
 | 
					 	intel_hpd_poll_disable(i915);
 | 
				
			||||||
@@ -412,6 +420,7 @@ void intel_display_driver_remove(struct drm_i915_private *i915)
 | 
					@@ -423,6 +432,7 @@ void intel_display_driver_remove(struct drm_i915_private *i915)
 | 
				
			||||||
 	if (!HAS_DISPLAY(i915))
 | 
					 	if (!HAS_DISPLAY(i915))
 | 
				
			||||||
 		return;
 | 
					 		return;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -52,7 +60,7 @@ index 8f144d4d3..915a5ec47 100644
 | 
				
			|||||||
 	flush_workqueue(i915->display.wq.flip);
 | 
					 	flush_workqueue(i915->display.wq.flip);
 | 
				
			||||||
 	flush_workqueue(i915->display.wq.modeset);
 | 
					 	flush_workqueue(i915->display.wq.modeset);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -444,6 +453,7 @@ void intel_display_driver_remove_noirq(struct drm_i915_private *i915)
 | 
					@@ -452,6 +462,7 @@ void intel_display_driver_remove_noirq(struct drm_i915_private *i915)
 | 
				
			||||||
 	intel_unregister_dsm_handler();
 | 
					 	intel_unregister_dsm_handler();
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* flush any delayed tasks or pending work */
 | 
					 	/* flush any delayed tasks or pending work */
 | 
				
			||||||
@@ -72,11 +80,45 @@ index c276a58ee..54b752a93 100644
 | 
				
			|||||||
 bool intel_display_driver_probe_defer(struct pci_dev *pdev);
 | 
					 bool intel_display_driver_probe_defer(struct pci_dev *pdev);
 | 
				
			||||||
 void intel_display_driver_init_hw(struct drm_i915_private *i915);
 | 
					 void intel_display_driver_init_hw(struct drm_i915_private *i915);
 | 
				
			||||||
 void intel_display_driver_early_probe(struct drm_i915_private *i915);
 | 
					 void intel_display_driver_early_probe(struct drm_i915_private *i915);
 | 
				
			||||||
 | 
					diff --git a/drivers/gpu/drm/i915/display/intel_display_params.c b/drivers/gpu/drm/i915/display/intel_display_params.c
 | 
				
			||||||
 | 
					index 11e03cfb7..8895be132 100644
 | 
				
			||||||
 | 
					--- a/drivers/gpu/drm/i915/display/intel_display_params.c
 | 
				
			||||||
 | 
					+++ b/drivers/gpu/drm/i915/display/intel_display_params.c
 | 
				
			||||||
 | 
					@@ -87,6 +87,9 @@ intel_display_param_named_unsafe(force_reset_modeset_test, bool, 0400,
 | 
				
			||||||
 | 
					 intel_display_param_named(disable_display, bool, 0400,
 | 
				
			||||||
 | 
					 	"Disable display (default: false)");
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+intel_display_param_named(enable_hd_vgaarb, bool, 0444,
 | 
				
			||||||
 | 
					+	"Enable support for VGA arbitration on Intel HD IGD. (default: false)");
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					 intel_display_param_named(verbose_state_checks, bool, 0400,
 | 
				
			||||||
 | 
					 	"Enable verbose logs (ie. WARN_ON()) in case of unexpected hw state conditions.");
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					diff --git a/drivers/gpu/drm/i915/display/intel_display_params.h b/drivers/gpu/drm/i915/display/intel_display_params.h
 | 
				
			||||||
 | 
					index 6206cc51d..bfbc49c53 100644
 | 
				
			||||||
 | 
					--- a/drivers/gpu/drm/i915/display/intel_display_params.h
 | 
				
			||||||
 | 
					+++ b/drivers/gpu/drm/i915/display/intel_display_params.h
 | 
				
			||||||
 | 
					@@ -39,6 +39,7 @@ struct drm_i915_private;
 | 
				
			||||||
 | 
					 	param(bool, load_detect_test, false, 0600) \
 | 
				
			||||||
 | 
					 	param(bool, force_reset_modeset_test, false, 0600) \
 | 
				
			||||||
 | 
					 	param(bool, disable_display, false, 0400) \
 | 
				
			||||||
 | 
					+	param(bool, enable_hd_vgaarb, false, 0600) \
 | 
				
			||||||
 | 
					 	param(bool, verbose_state_checks, true, 0400) \
 | 
				
			||||||
 | 
					 	param(bool, nuclear_pageflip, false, 0400) \
 | 
				
			||||||
 | 
					 	param(bool, enable_dp_mst, true, 0600) \
 | 
				
			||||||
diff --git a/drivers/gpu/drm/i915/display/intel_vga.c b/drivers/gpu/drm/i915/display/intel_vga.c
 | 
					diff --git a/drivers/gpu/drm/i915/display/intel_vga.c b/drivers/gpu/drm/i915/display/intel_vga.c
 | 
				
			||||||
index 286a0bdd2..18d30ee84 100644
 | 
					index 4b98833bf..25a729c95 100644
 | 
				
			||||||
--- a/drivers/gpu/drm/i915/display/intel_vga.c
 | 
					--- a/drivers/gpu/drm/i915/display/intel_vga.c
 | 
				
			||||||
+++ b/drivers/gpu/drm/i915/display/intel_vga.c
 | 
					+++ b/drivers/gpu/drm/i915/display/intel_vga.c
 | 
				
			||||||
@@ -47,6 +47,36 @@ void intel_vga_disable(struct drm_i915_private *dev_priv)
 | 
					@@ -11,6 +11,7 @@
 | 
				
			||||||
 | 
					 #include "i915_drv.h"
 | 
				
			||||||
 | 
					 #include "i915_reg.h"
 | 
				
			||||||
 | 
					 #include "intel_de.h"
 | 
				
			||||||
 | 
					+#include "intel_display_params.h"
 | 
				
			||||||
 | 
					 #include "intel_vga.h"
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 static i915_reg_t intel_vga_cntrl_reg(struct drm_i915_private *i915)
 | 
				
			||||||
 | 
					@@ -45,6 +46,36 @@ void intel_vga_disable(struct drm_i915_private *dev_priv)
 | 
				
			||||||
 	intel_de_posting_read(dev_priv, vga_reg);
 | 
					 	intel_de_posting_read(dev_priv, vga_reg);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -85,7 +127,7 @@ index 286a0bdd2..18d30ee84 100644
 | 
				
			|||||||
+	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 | 
					+	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+	/* Enable VGA memory on Intel HD */
 | 
					+	/* Enable VGA memory on Intel HD */
 | 
				
			||||||
+	if (i915_modparams.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) {
 | 
					+	if (dev_priv->display.params.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) {
 | 
				
			||||||
+		vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
 | 
					+		vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
 | 
				
			||||||
+		outb(inb(VGA_MIS_R) | (1 << 1), VGA_MIS_W);
 | 
					+		outb(inb(VGA_MIS_R) | (1 << 1), VGA_MIS_W);
 | 
				
			||||||
+		vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO |
 | 
					+		vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO |
 | 
				
			||||||
@@ -100,7 +142,7 @@ index 286a0bdd2..18d30ee84 100644
 | 
				
			|||||||
+{
 | 
					+{
 | 
				
			||||||
+	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 | 
					+	struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 | 
				
			||||||
+	/* Disable VGA memory on Intel HD */
 | 
					+	/* Disable VGA memory on Intel HD */
 | 
				
			||||||
+	if (i915_modparams.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) {
 | 
					+	if (dev_priv->display.params.enable_hd_vgaarb && HAS_PCH_SPLIT(dev_priv)) {
 | 
				
			||||||
+		vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
 | 
					+		vga_get_uninterruptible(pdev, VGA_RSRC_LEGACY_IO);
 | 
				
			||||||
+		outb(inb(VGA_MIS_R) & ~(1 << 1), VGA_MIS_W);
 | 
					+		outb(inb(VGA_MIS_R) & ~(1 << 1), VGA_MIS_W);
 | 
				
			||||||
+		vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO |
 | 
					+		vga_set_legacy_decoding(pdev, VGA_RSRC_LEGACY_IO |
 | 
				
			||||||
@@ -113,7 +155,7 @@ index 286a0bdd2..18d30ee84 100644
 | 
				
			|||||||
 void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv)
 | 
					 void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	i915_reg_t vga_reg = intel_vga_cntrl_reg(dev_priv);
 | 
					 	i915_reg_t vga_reg = intel_vga_cntrl_reg(dev_priv);
 | 
				
			||||||
@@ -55,6 +85,7 @@ void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv)
 | 
					@@ -53,6 +84,7 @@ void intel_vga_redisable_power_on(struct drm_i915_private *dev_priv)
 | 
				
			||||||
 		drm_dbg_kms(&dev_priv->drm,
 | 
					 		drm_dbg_kms(&dev_priv->drm,
 | 
				
			||||||
 			    "Something enabled VGA plane, disabling it\n");
 | 
					 			    "Something enabled VGA plane, disabling it\n");
 | 
				
			||||||
 		intel_vga_disable(dev_priv);
 | 
					 		intel_vga_disable(dev_priv);
 | 
				
			||||||
@@ -134,32 +176,6 @@ index ba5b55b91..7e2af7924 100644
 | 
				
			|||||||
+void intel_vga_disable_mem(struct drm_i915_private *i915);
 | 
					+void intel_vga_disable_mem(struct drm_i915_private *i915);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
 #endif /* __INTEL_VGA_H__ */
 | 
					 #endif /* __INTEL_VGA_H__ */
 | 
				
			||||||
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
 | 
					 | 
				
			||||||
index 0a171b57f..739d31067 100644
 | 
					 | 
				
			||||||
--- a/drivers/gpu/drm/i915/i915_params.c
 | 
					 | 
				
			||||||
+++ b/drivers/gpu/drm/i915/i915_params.c
 | 
					 | 
				
			||||||
@@ -160,6 +160,9 @@ i915_param_named_unsafe(invert_brightness, int, 0400,
 | 
					 | 
				
			||||||
 i915_param_named(disable_display, bool, 0400,
 | 
					 | 
				
			||||||
 	"Disable display (default: false)");
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+i915_param_named(enable_hd_vgaarb, bool, 0444,
 | 
					 | 
				
			||||||
+	"Enable support for VGA arbitration on Intel HD IGD. (default: false)");
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
 i915_param_named(memtest, bool, 0400,
 | 
					 | 
				
			||||||
 	"Perform a read/write test of all device memory on module load (default: off)");
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h
 | 
					 | 
				
			||||||
index 68abf0ad6..507d29c52 100644
 | 
					 | 
				
			||||||
--- a/drivers/gpu/drm/i915/i915_params.h
 | 
					 | 
				
			||||||
+++ b/drivers/gpu/drm/i915/i915_params.h
 | 
					 | 
				
			||||||
@@ -79,6 +79,7 @@ struct drm_printer;
 | 
					 | 
				
			||||||
 	param(unsigned int, lmem_size, 0, 0400) \
 | 
					 | 
				
			||||||
 	param(unsigned int, lmem_bar_size, 0, 0400) \
 | 
					 | 
				
			||||||
 	/* leave bools at the end to not create holes */ \
 | 
					 | 
				
			||||||
+	param(bool, enable_hd_vgaarb, false, 0600) \
 | 
					 | 
				
			||||||
 	param(bool, enable_hangcheck, true, 0600) \
 | 
					 | 
				
			||||||
 	param(bool, load_detect_test, false, 0600) \
 | 
					 | 
				
			||||||
 	param(bool, force_reset_modeset_test, false, 0600) \
 | 
					 | 
				
			||||||
-- 
 | 
					-- 
 | 
				
			||||||
2.43.0
 | 
					2.44.0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										41
									
								
								PKGBUILD
									
									
									
									
									
								
							
							
						
						
									
										41
									
								
								PKGBUILD
									
									
									
									
									
								
							@@ -24,12 +24,13 @@ unset _pkgtype
 | 
				
			|||||||
_gitname="linux"
 | 
					_gitname="linux"
 | 
				
			||||||
_pkgname="$_gitname${_pkgtype:-}"
 | 
					_pkgname="$_gitname${_pkgtype:-}"
 | 
				
			||||||
pkgbase="$_pkgname"
 | 
					pkgbase="$_pkgname"
 | 
				
			||||||
pkgver=6.8
 | 
					pkgver=6.8.1
 | 
				
			||||||
pkgrel=1
 | 
					pkgrel=1
 | 
				
			||||||
pkgdesc='Linux'
 | 
					pkgdesc='Linux'
 | 
				
			||||||
url='https://www.kernel.org'
 | 
					url='https://www.kernel.org'
 | 
				
			||||||
arch=(x86_64)
 | 
					license=('GPL-2.0-or-later')
 | 
				
			||||||
license=(GPL-2.0-or-later)
 | 
					arch=('x86_64')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
makedepends=(
 | 
					makedepends=(
 | 
				
			||||||
  bc
 | 
					  bc
 | 
				
			||||||
  cpio
 | 
					  cpio
 | 
				
			||||||
@@ -45,6 +46,7 @@ makedepends=(
 | 
				
			|||||||
  graphviz
 | 
					  graphviz
 | 
				
			||||||
  imagemagick
 | 
					  imagemagick
 | 
				
			||||||
  python-sphinx
 | 
					  python-sphinx
 | 
				
			||||||
 | 
					  python-yaml
 | 
				
			||||||
  texlive-latexextra
 | 
					  texlive-latexextra
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
options=('!strip')
 | 
					options=('!strip')
 | 
				
			||||||
@@ -54,7 +56,7 @@ source+=(
 | 
				
			|||||||
  "config-$pkgver"::https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/main/config
 | 
					  "config-$pkgver"::https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/raw/main/config
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
sha256sums+=(
 | 
					sha256sums+=(
 | 
				
			||||||
  'c969dea4e8bb6be991bbf7c010ba0e0a5643a3a8d8fb0a2aaa053406f1e965f3'
 | 
					  '8d0c8936e3140a0fbdf511ad7a9f21121598f3656743898f47bb9052d37cff68'
 | 
				
			||||||
  'SKIP'
 | 
					  'SKIP'
 | 
				
			||||||
  'SKIP'
 | 
					  'SKIP'
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
@@ -66,12 +68,12 @@ validpgpkeys=(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
if [[ ${_build_vfio::1} == "t" ]] ; then
 | 
					if [[ ${_build_vfio::1} == "t" ]] ; then
 | 
				
			||||||
  source+=(
 | 
					  source+=(
 | 
				
			||||||
    1001-6.6.7-add-acs-overrides.patch # updated from https://lkml.org/lkml/2013/5/30/513
 | 
					    1001-6.8.0-add-acs-overrides.patch # updated from https://lkml.org/lkml/2013/5/30/513
 | 
				
			||||||
    1002-6.6.7-i915-vga-arbiter.patch  # updated from https://lkml.org/lkml/2014/5/9/517
 | 
					    1002-6.8.0-i915-vga-arbiter.patch  # updated from https://lkml.org/lkml/2014/5/9/517
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
  sha256sums+=(
 | 
					  sha256sums+=(
 | 
				
			||||||
    'f342986bd27980c96c952b0dd8103d3e21a942d87f18df1308fab370e20010fb'
 | 
					    'b35c26d5dc31fb9cfac68292de7b1ee8ca93b4647e4958efc77e2c77f586f1f2'
 | 
				
			||||||
    '2a3c732d4d61a631c98b2a3e4afb1fa5dbf8be5c43519b2a59d0e65170c9d8db'
 | 
					    '966c15da4044a9a3b5f9d362c2cf08303f1265ad4489c9835c95973b71255d07'
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -96,30 +98,14 @@ fi
 | 
				
			|||||||
if [[ ${_build_clang::1} == "t" ]] ; then
 | 
					if [[ ${_build_clang::1} == "t" ]] ; then
 | 
				
			||||||
  makedepends+=(clang llvm lld)
 | 
					  makedepends+=(clang llvm lld)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  export CC=clang
 | 
					 | 
				
			||||||
  export LD=ld.lld
 | 
					 | 
				
			||||||
  export AR=llvm-ar
 | 
					 | 
				
			||||||
  export NM=llvm-nm
 | 
					 | 
				
			||||||
  export STRIP=llvm-strip
 | 
					 | 
				
			||||||
  export OBJCOPY=llvm-objcopy
 | 
					 | 
				
			||||||
  export OBJDUMP=llvm-objdump
 | 
					 | 
				
			||||||
  export READELF=llvm-readelf
 | 
					 | 
				
			||||||
  export HOSTCC=clang
 | 
					 | 
				
			||||||
  export HOSTCXX=clang++
 | 
					 | 
				
			||||||
  export HOSTAR=llvm-ar
 | 
					 | 
				
			||||||
  export HOSTLD=ld.lld
 | 
					 | 
				
			||||||
  export LLVM=1
 | 
					  export LLVM=1
 | 
				
			||||||
  export LLVM_IAS=1
 | 
					  export LLVM_IAS=1
 | 
				
			||||||
 | 
					 | 
				
			||||||
  export CXX=clang++
 | 
					 | 
				
			||||||
  export LDFLAGS+=" -fuse-ld=lld"
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [[ "${_build_v3::1}" == "t" ]] ; then
 | 
					if [[ "${_build_v3::1}" == "t" ]] ; then
 | 
				
			||||||
  export CFLAGS="$(echo "$CFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"
 | 
					  export KCFLAGS="-march=x86-64-v3 -mtune=generic -O3"
 | 
				
			||||||
  export CXXFLAGS="$(echo "$CXXFLAGS" | sed -E 's@(\s*-(march|mtune)=\S+\s*)@ @g;s@\s*-O[0-9]\s*@ @g;s@\s+@ @g') -march=x86-64-v3 -mtune=generic -O3"}
 | 
					  export HOSTCFLAGS="-march=x86-64-v3 -mtune=generic -O3"
 | 
				
			||||||
 | 
					  export HOSTCXXFLAGS="-march=x86-64-v3 -mtune=generic -O3"
 | 
				
			||||||
  export RUSTFLAGS+=" -Ctarget-cpu=x86-64-v3"
 | 
					 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export KBUILD_BUILD_HOST=archlinux
 | 
					export KBUILD_BUILD_HOST=archlinux
 | 
				
			||||||
@@ -183,6 +169,7 @@ prepare() {
 | 
				
			|||||||
build() {
 | 
					build() {
 | 
				
			||||||
  cd $_srcname
 | 
					  cd $_srcname
 | 
				
			||||||
  make all
 | 
					  make all
 | 
				
			||||||
 | 
					  make -C tools/bpf/bpftool vmlinux.h feature-clang-bpf-co-re=1
 | 
				
			||||||
  #make htmldocs
 | 
					  #make htmldocs
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user