From eb625e082b89f1616a3edfd7b55c1d65ac2d29e8 Mon Sep 17 00:00:00 2001 From: Mark Weiman Date: Wed, 12 Dec 2018 11:29:25 -0500 Subject: [PATCH] Update to 4.19.8.arch1-1 --- .SRCINFO | 10 ++++---- PKGBUILD | 6 ++--- add-acs-overrides.patch | 30 +++++++++++------------ i915-vga-arbiter.patch | 54 ++++++++++++++++++++--------------------- 4 files changed, 48 insertions(+), 52 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index 21d6b9f..fb3af87 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,7 +1,7 @@ pkgbase = linux-vfio - pkgver = 4.18.16.arch1 + pkgver = 4.19.8.arch1 pkgrel = 1 - url = https://git.archlinux.org/linux.git/log/?h=v4.18.16-arch1 + url = https://git.archlinux.org/linux.git/log/?h=v4.19.8-arch1 arch = x86_64 license = GPL2 makedepends = xmlto @@ -13,7 +13,7 @@ pkgbase = linux-vfio makedepends = python-sphinx makedepends = graphviz options = !strip - source = archlinux-linux::git+https://git.archlinux.org/linux.git?signed#tag=v4.18.16-arch1 + source = archlinux-linux::git+https://git.archlinux.org/linux.git?signed#tag=v4.19.8-arch1 source = config source = 60-linux.hook source = 90-linux.hook @@ -28,8 +28,8 @@ pkgbase = linux-vfio sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21 sha256sums = 75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919 sha256sums = ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65 - sha256sums = 5687fbf6508be9c133c721f368be9e572751f27798995af468a363c5f2aedd33 - sha256sums = fc1734c1d24aca66015d93f8636afd52afa0f939516d83efb3457da6b5044944 + sha256sums = aca1e02ec3e04122e82426762e133054a0124ce236b005fe610240a93c870b87 + sha256sums = afb4c025d1180c1c8d9419910910f44755a4aefc711c2f0d4fee374d6b33e0d5 pkgname = linux-vfio pkgdesc = The Linux-vfio kernel and modules diff --git a/PKGBUILD b/PKGBUILD index 29804df..7c8f6ef 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Mark Weiman pkgbase=linux-vfio -_srcver=4.18.16-arch1 +_srcver=4.19.8-arch1 pkgver=${_srcver//-/.} pkgrel=1 arch=(x86_64) @@ -30,8 +30,8 @@ sha256sums=('SKIP' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' '75f99f5239e03238f88d1a834c50043ec32b1dc568f2cc291b07d04718483919' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' - '5687fbf6508be9c133c721f368be9e572751f27798995af468a363c5f2aedd33' - 'fc1734c1d24aca66015d93f8636afd52afa0f939516d83efb3457da6b5044944') + 'aca1e02ec3e04122e82426762e133054a0124ce236b005fe610240a93c870b87' + 'afb4c025d1180c1c8d9419910910f44755a4aefc711c2f0d4fee374d6b33e0d5') _kernelname=${pkgbase#linux} : ${_kernelname:=-ARCH} diff --git a/add-acs-overrides.patch b/add-acs-overrides.patch index b4c39f1..89ec2b1 100644 --- a/add-acs-overrides.patch +++ b/add-acs-overrides.patch @@ -1,7 +1,7 @@ -From 3cf550fd8ca366897abe643442d198d1647cadc7 Mon Sep 17 00:00:00 2001 +From 5ffe511d5d8b5e803c8fa7249438efca7368b4c4 Mon Sep 17 00:00:00 2001 From: Mark Weiman -Date: Sun, 12 Aug 2018 11:36:21 -0400 -Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.17.14) +Date: Wed, 12 Dec 2018 10:18:35 -0500 +Subject: [PATCH] pci: Enable overrides for missing ACS capabilities (4.18) This an updated version of Alex Williamson's patch from: https://lkml.org/lkml/2013/5/30/513 @@ -44,18 +44,16 @@ Note to hardware vendors, we have facilities to permanently quirk specific devices which enforce isolation but not provide an ACS capability. Please contact me to have your devices added and save your customers the hassle of this boot option. - -Signed-off-by: Mark Weiman --- .../admin-guide/kernel-parameters.txt | 8 ++ drivers/pci/quirks.c | 102 ++++++++++++++++++ 2 files changed, 110 insertions(+) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index ff4ba249a26f..e23d259d461f 100644 +index 1370b424a453..e9334812da5d 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -3019,6 +3019,14 @@ +@@ -3106,6 +3106,14 @@ nomsi [MSI] If the PCI_MSI kernel config parameter is enabled, this kernel boot option can be used to disable the use of MSI interrupts system-wide. @@ -71,11 +69,11 @@ index ff4ba249a26f..e23d259d461f 100644 Safety option to keep boot IRQs enabled. This should never be necessary. diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c -index 785a29ba4f51..63fb2096f90d 100644 +index a4d11d14b196..0be08f804e87 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c -@@ -3533,6 +3533,106 @@ static int __init pci_apply_final_quirks(void) - +@@ -186,6 +186,106 @@ static int __init pci_apply_final_quirks(void) + } fs_initcall_sync(pci_apply_final_quirks); +static bool acs_on_downstream; @@ -179,17 +177,17 @@ index 785a29ba4f51..63fb2096f90d 100644 +} + /* - * Following are device-specific reset methods which can be used to - * reset a single function if other methods (e.g. FLR, PM D0->D3) are -@@ -4401,6 +4501,8 @@ static const struct pci_dev_acs_enabled { + * Decoding should be disabled for a PCI device during BAR sizing to avoid + * conflict. But doing so may cause problems on host bridge and perhaps other +@@ -4393,6 +4493,8 @@ static const struct pci_dev_acs_enabled { { PCI_VENDOR_ID_AMPERE, 0xE00A, pci_quirk_xgene_acs }, { PCI_VENDOR_ID_AMPERE, 0xE00B, pci_quirk_xgene_acs }, { PCI_VENDOR_ID_AMPERE, 0xE00C, pci_quirk_xgene_acs }, -+ /* allow acs for any */ -+ { PCI_ANY_ID, PCI_ANY_ID, pcie_acs_overrides }, ++ /* allow acs for any */ ++ { PCI_ANY_ID, PCI_ANY_ID, pci_acs_overrides }, { 0 } }; -- -2.18.0 +2.20.0 diff --git a/i915-vga-arbiter.patch b/i915-vga-arbiter.patch index cf3db06..c2e147a 100644 --- a/i915-vga-arbiter.patch +++ b/i915-vga-arbiter.patch @@ -1,8 +1,8 @@ -From d6c4ee204c18e0f15ac425928c594ec4e901d0c8 Mon Sep 17 00:00:00 2001 +From a95d3e5bab8d9d6482e81f1c3ea24c16acb2cb42 Mon Sep 17 00:00:00 2001 From: Mark Weiman -Date: Sun, 24 Jun 2018 12:43:14 -0400 -Subject: [PATCH] [PATCH] i915: Add module option to support VGA arbiter on HD - devices (4.17) +Date: Wed, 12 Dec 2018 10:31:24 -0500 +Subject: [PATCH] i915: Add module option to support VGA arbiter on HD devices + (4.19) This is an updated version of Alex Williamson's patch from: https://lkml.org/lkml/2014/5/9/517 @@ -34,8 +34,6 @@ VGA devices. This also rolls in reverted commit 6e1b4fda, which corrected an ordering issue with 81b5c7bc by delaying the disabling of VGA memory until after vgacon->fbcon handoff. - -Signed-off-by: Mark Weiman --- drivers/gpu/drm/i915/i915_drv.c | 23 +++++++++++++++---- drivers/gpu/drm/i915/i915_params.c | 3 +++ @@ -45,10 +43,10 @@ Signed-off-by: Mark Weiman 5 files changed, 57 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c -index 3b4daafebdcb..1c79e6c3c54e 100644 +index f8cfd16be534..f5ba210d7b00 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c -@@ -665,11 +665,20 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -650,11 +650,20 @@ static int i915_load_modeset_init(struct drm_device *dev) * If we are a secondary display controller (!PCI_DISPLAY_CLASS_VGA), * then we do not take part in VGA arbitration and the * vga_client_register() fails with -ENODEV. @@ -73,7 +71,7 @@ index 3b4daafebdcb..1c79e6c3c54e 100644 intel_register_dsm_handler(); ret = vga_switcheroo_register_client(pdev, &i915_switcheroo_ops, false); -@@ -710,6 +719,12 @@ static int i915_load_modeset_init(struct drm_device *dev) +@@ -693,6 +702,12 @@ static int i915_load_modeset_init(struct drm_device *dev) if (ret) goto cleanup_gem; @@ -87,12 +85,12 @@ index 3b4daafebdcb..1c79e6c3c54e 100644 intel_hpd_init(dev_priv); diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c -index 08108ce5be21..9b0f44dcfb37 100644 +index 295e981e4a39..243edeee97dd 100644 --- a/drivers/gpu/drm/i915/i915_params.c +++ b/drivers/gpu/drm/i915/i915_params.c -@@ -133,6 +133,9 @@ i915_param_named(disable_display, bool, 0400, - i915_param_named_unsafe(enable_cmd_parser, bool, 0400, - "Enable command parsing (true=enabled [default], false=disabled)"); +@@ -126,6 +126,9 @@ i915_param_named_unsafe(invert_brightness, int, 0600, + 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)"); @@ -101,22 +99,22 @@ index 08108ce5be21..9b0f44dcfb37 100644 "Enable the MMIO debug code for the first N failures (default: off). " "This may negatively affect performance."); diff --git a/drivers/gpu/drm/i915/i915_params.h b/drivers/gpu/drm/i915/i915_params.h -index 430f5f9d0ff4..52e9081ad39d 100644 +index 6c4d4a21474b..72b9bca3cc14 100644 --- a/drivers/gpu/drm/i915/i915_params.h +++ b/drivers/gpu/drm/i915/i915_params.h -@@ -58,6 +58,7 @@ struct drm_printer; +@@ -57,6 +57,7 @@ struct drm_printer; + param(unsigned int, inject_load_failure, 0) \ /* leave bools at the end to not create holes */ \ param(bool, alpha_support, IS_ENABLED(CONFIG_DRM_I915_ALPHA_SUPPORT)) \ - param(bool, enable_cmd_parser, true) \ -+ param(bool, enable_hd_vgaarb, false) \ ++ param(bool, enable_hd_vgaarb, false) \ param(bool, enable_hangcheck, true) \ param(bool, fastboot, false) \ param(bool, prefault_disable, false) \ diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c -index 56004ffbd8bb..16bc85180ec3 100644 +index 3bd44d042a1d..b1aaa966679b 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c -@@ -14506,6 +14506,36 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv) +@@ -15025,6 +15025,36 @@ static void i915_disable_vga(struct drm_i915_private *dev_priv) POSTING_READ(vga_reg); } @@ -153,28 +151,28 @@ index 56004ffbd8bb..16bc85180ec3 100644 void intel_modeset_init_hw(struct drm_device *dev) { struct drm_i915_private *dev_priv = to_i915(dev); -@@ -15025,6 +15055,7 @@ void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv) +@@ -15540,6 +15570,7 @@ void i915_redisable_vga_power_on(struct drm_i915_private *dev_priv) if (!(I915_READ(vga_reg) & VGA_DISP_DISABLE)) { DRM_DEBUG_KMS("Something enabled VGA plane, disabling it\n"); i915_disable_vga(dev_priv); -+ i915_disable_vga_mem(dev_priv); ++ i915_disable_vga_mem(dev_priv); } } -@@ -15402,6 +15433,8 @@ void intel_modeset_cleanup(struct drm_device *dev) +@@ -15946,6 +15977,8 @@ void intel_modeset_cleanup(struct drm_device *dev) { struct drm_i915_private *dev_priv = to_i915(dev); -+ i915_enable_vga_mem(dev_priv); ++ i915_enable_vga_mem(dev_priv); + - flush_work(&dev_priv->atomic_helper.free_work); - WARN_ON(!llist_empty(&dev_priv->atomic_helper.free_list)); + flush_workqueue(dev_priv->modeset_wq); + flush_work(&dev_priv->atomic_helper.free_work); diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h -index a80fbad9be0f..1bc005cc168b 100644 +index 8fc61e96754f..c1271e41e592 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h -@@ -1441,6 +1441,7 @@ int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv, +@@ -1486,6 +1486,7 @@ int vlv_get_cck_clock_hpll(struct drm_i915_private *dev_priv, const char *name, u32 reg); void lpt_disable_pch_transcoder(struct drm_i915_private *dev_priv); void lpt_disable_iclkip(struct drm_i915_private *dev_priv); @@ -183,5 +181,5 @@ index a80fbad9be0f..1bc005cc168b 100644 unsigned int intel_fb_xy_to_linear(int x, int y, const struct intel_plane_state *state, -- -2.17.1 +2.20.0