diff options
22 files changed, 307 insertions, 378 deletions
@@ -1,5 +1,5 @@ pkgbase = linux-rt - pkgver = 5.4.10.5 + pkgver = 5.4.13.7 pkgrel = 1 url = https://wiki.linuxfoundation.org/realtime/start arch = x86_64 @@ -15,52 +15,52 @@ pkgbase = linux-rt makedepends = python-sphinx_rtd_theme makedepends = xmlto options = !strip - source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.10.tar.xz - source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.10.tar.sign - source = https://www.kernel.org/pub/linux/kernel/projects/rt/5.4/older/patch-5.4.10-rt5.patch.xz - source = https://www.kernel.org/pub/linux/kernel/projects/rt/5.4/older/patch-5.4.10-rt5.patch.sign + source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.13.tar.xz + source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.4.13.tar.sign + source = https://www.kernel.org/pub/linux/kernel/projects/rt/5.4/older/patch-5.4.13-rt7.patch.xz + source = https://www.kernel.org/pub/linux/kernel/projects/rt/5.4/older/patch-5.4.13-rt7.patch.sign source = config source = 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch source = 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch source = 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch - source = 0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch - source = 0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch - source = 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch - source = 0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch - source = 0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch - source = 0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch - source = 0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch - source = 0011-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch - source = 0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch - source = 0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch - source = 0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch - source = 0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch + source = 0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch + source = 0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch + source = 0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch + source = 0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch + source = 0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch + source = 0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch + source = 0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch + source = 0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch + source = 0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch + source = 0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch + source = 0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch + source = 0015-ptp-free-ptp-device-pin-descriptors-properly.patch validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E validpgpkeys = 8218F88849AAC522E94CF470A5E9288C4FA415FA validpgpkeys = 64254695FFF0AA4466CC19E67B96E8162A8CF5D1 validpgpkeys = 5ED9A48FC54C0A22D1D0804CEBC26CDB5A56DE73 validpgpkeys = E644E2F1D45FA0B2EAA02F33109F098506FF0B14 - sha256sums = f23c0218a5e3b363bb5a880972f507bb4dc4a290a787a7da08be07ea12042edd + sha256sums = 49fb29d96d7e7c1d7e6082701bd26bfddd0fbc87a796fb6ba6258bc5fd386ad7 sha256sums = SKIP - sha256sums = 0bab9f30b2ce3123c0e5a0fca2d51807883e2b9f5398a51e68937cad2fcb30d7 + sha256sums = 435449401c9c5fce7c456b274ca6084b6ffd54319dbef8d4f13d23a8f1303b40 sha256sums = SKIP - sha256sums = 2af2613a7ae5e4886acbe2af87a035646823875bf852dc913eb2339e8ecb94be - sha256sums = a3e9541bf0306d32af8acf121643d9953776d448f68ec09741c591d1e5bc6748 - sha256sums = 8e9967f83cf22be43b516b394523b0976c6831e28cee5136542df3c946328917 - sha256sums = 226251c17ced22414e4275ca69be6aec318904778f0c8c244050916e51064b14 - sha256sums = 9809d55995895e7061bfca0db9f38a608548f21bb5d4a2260e7bbb6b5af2db4a - sha256sums = 82bc11366ca296e86dd745c911a841d7ac12d16a1a2185da245a96e5440b8fd7 - sha256sums = 1ef45f1e7456437e4ec7c2ada46c607f492a87db8d1cf3f3b59870bc2deaa1e6 - sha256sums = fcd117bc51f21baac26f7570f48b91ce994fd351fcb19cb6097166a4a7c181e6 - sha256sums = 49bc5c988a6cc127f39ae998954482450d19b69da2ce9dfcce678d3fe7504136 - sha256sums = f583d172c69c288f5d2e587c5926b0e732284c19e73671eef112ab1a0e26362a - sha256sums = 84baa16aa022e0dac2515edced6f214a08d385a385ffb04e358fbe9671235d41 - sha256sums = a55cfce037523fdb6244fd6286a1d9be12c2eab3327a1c6e05ac42899f5868d1 - sha256sums = 9c600a292efb59087d913fd8e7a5fff9c7abcfad864d294a266600f4491476c5 - sha256sums = 126f8b83065e3f7a72589f33874481aa06bb1686ddc6997a8a05a27c7d6721ac - sha256sums = 9c95928be62369403bb6822a838dc9791a5a98ac489af81b5ab8f2fd09b0c696 - sha256sums = 4a2bd4b02e8c4f81334d22a8bd27a03f8a3a1e8137699b809de15cd7edf0e4dd + sha256sums = e3fa845780853cd99b7579cd36b5dd5f27f163093cb223cdcfe3cf51aa8f0b0a + sha256sums = a8260a0cd688f145837510955df5bf1bad8e1a126fb2240a05cb33a524caff39 + sha256sums = 134df0458cfa0a1c9b5d68539fef58a5595b3c817cbf529f2216bdf5e9c513bf + sha256sums = 0542389de25b787577c0042a17c0e667eeadadc5670abd8357dd60a5d5d99d36 + sha256sums = a03b5c63b288b0334fd6e0340e3fb99e9e21850973efe7592ae116745e3bcbb5 + sha256sums = 6f88dfdbcd28e8bd216d1011605288651463e0de4c189c870785064c86d53bc9 + sha256sums = d03ffe961a87b513a882fc77d40ec04465691bdb74f8d29d175e8cf8e08dff9e + sha256sums = b5f0c411c6537ffa77fee21bf5b89a603317361844149cd17d55e41522d62632 + sha256sums = ee5d63c50646143c869efd74c205126e26a312d28b21ea6d151b89a4083b79ed + sha256sums = f031e429df53762f52e3fff252aea566f6a145d631cfd0486d5e7ce55987e999 + sha256sums = 0c91c462945bb6fc979ada9f81c957a299541ed0145ad948ab62827faf0235ec + sha256sums = a1e0bd8cb85b948e2d9d4b47eb8652d45bc62fed2057c2d4119a23ac91fd87ef + sha256sums = 80d3ced391fe7c7d185188a99935e48b78151be0c562bdb107b09eb20f4e8499 + sha256sums = fe3f7b524a1b03f53bcf2a67419682c3d843519176605603b45e99b70bd48ba0 + sha256sums = ef11e3682c1c6c89de0afb6da04d8191536ba79351051ec16061ed83eb69a10a + sha256sums = 19c9357b886857ba90928fb720b555d648f6434fa434adaf8f522ec8465246ad pkgname = linux-rt pkgdesc = The Linux-rt kernel and modules diff --git a/.gitignore b/.gitignore index 45b355dab3a6..94648c5616af 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ *.pkg *.sign *.xz -*.xz.sig +*.zst +*.sig diff --git a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index e52c061f02d5..a0f85248be18 100644 --- a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,4 +1,4 @@ -From 98ab83a7426ef0ec20ff46947f2ee8d651980b1c Mon Sep 17 00:00:00 2001 +From ace933a17f0b2e6e75e5ed330e8c12efae62aa53 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Mon, 16 Sep 2019 04:53:20 +0200 Subject: [PATCH 01/16] ZEN: Add sysctl and CONFIG to disallow unprivileged @@ -40,7 +40,7 @@ index b4daad2bac23..362f82c5ec07 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index 6cabc124378c..fda4986da9eb 100644 +index 755d8160e001..ed909f8050b2 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -106,6 +106,11 @@ @@ -66,7 +66,7 @@ index 6cabc124378c..fda4986da9eb 100644 /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -2826,6 +2835,12 @@ int ksys_unshare(unsigned long unshare_flags) +@@ -2836,6 +2845,12 @@ int ksys_unshare(unsigned long unshare_flags) if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; @@ -128,5 +128,5 @@ index 8eadadc478f9..c36ecd19562c 100644 static DEFINE_MUTEX(userns_state_mutex); -- -2.24.1 +2.25.0 diff --git a/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch b/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch index 07d679aac07e..3f0667d80b0c 100644 --- a/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch +++ b/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch @@ -1,4 +1,4 @@ -From 34648b0396ec5dfdfc18627c9c21c03e7243dbe2 Mon Sep 17 00:00:00 2001 +From 78b64515af95e12dac806fa630ae4499e9527100 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao <ztuowen@gmail.com> Date: Wed, 16 Oct 2019 15:06:28 -0600 Subject: [PATCH 02/16] lib: devres: add a helper function for ioremap_uc @@ -75,5 +75,5 @@ index 6a0e9bd6524a..17624d35e82d 100644 * devm_ioremap_nocache - Managed ioremap_nocache() * @dev: Generic device to remap IO address for -- -2.24.1 +2.25.0 diff --git a/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch b/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch index 4325122939ce..75641b535107 100644 --- a/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch +++ b/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch @@ -1,4 +1,4 @@ -From 4b74251368e136095a2096ea1bdf95d40ddbd7fb Mon Sep 17 00:00:00 2001 +From dbc56c8785b2f6698722f3e9c189c7cb1f963679 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao <ztuowen@gmail.com> Date: Wed, 16 Oct 2019 15:06:29 -0600 Subject: [PATCH 03/16] mfd: intel-lpss: Use devm_ioremap_uc for MMIO @@ -44,5 +44,5 @@ index bfe4ff337581..b0f0781a6b9c 100644 if (!lpss->priv) return -ENOMEM; -- -2.24.1 +2.25.0 diff --git a/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch b/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch deleted file mode 100644 index 62fab3861fa5..000000000000 --- a/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 47e8e0d8dbfded3675de6abed233ef134d1578e5 Mon Sep 17 00:00:00 2001 -From: Mika Westerberg <mika.westerberg@linux.intel.com> -Date: Tue, 29 Oct 2019 20:00:21 +0300 -Subject: [PATCH 04/16] PCI: pciehp: Do not disable interrupt twice on suspend - -We try to keep PCIe hotplug ports runtime suspended when entering system -suspend. Because the PCIe portdrv sets the DPM_FLAG_NEVER_SKIP flag, the PM -core always calls system suspend/resume hooks even if the device is left -runtime suspended. Since PCIe hotplug driver re-used the same function for -both runtime suspend and system suspend, it ended up disabling hotplug -interrupt twice and the second time following was printed: - - pciehp 0000:03:01.0:pcie204: pcie_do_write_cmd: no response from device - -Prevent this from happening by checking whether the device is already -runtime suspended when the system suspend hook is called. - -Fixes: 9c62f0bfb832 ("PCI: pciehp: Implement runtime PM callbacks") -Link: https://lore.kernel.org/r/20191029170022.57528-1-mika.westerberg@linux.intel.com -Reported-by: Kai-Heng Feng <kai.heng.feng@canonical.com> -Tested-by: Kai-Heng Feng <kai.heng.feng@canonical.com> -Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com> -Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> -Reviewed-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> ---- - drivers/pci/hotplug/pciehp_core.c | 25 +++++++++++++++++++++++-- - 1 file changed, 23 insertions(+), 2 deletions(-) - -diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c -index b3122c151b80..56daad828c9e 100644 ---- a/drivers/pci/hotplug/pciehp_core.c -+++ b/drivers/pci/hotplug/pciehp_core.c -@@ -253,7 +253,7 @@ static bool pme_is_native(struct pcie_device *dev) - return pcie_ports_native || host->native_pme; - } - --static int pciehp_suspend(struct pcie_device *dev) -+static void pciehp_disable_interrupt(struct pcie_device *dev) - { - /* - * Disable hotplug interrupt so that it does not trigger -@@ -261,7 +261,19 @@ static int pciehp_suspend(struct pcie_device *dev) - */ - if (pme_is_native(dev)) - pcie_disable_interrupt(get_service_data(dev)); -+} - -+#ifdef CONFIG_PM_SLEEP -+static int pciehp_suspend(struct pcie_device *dev) -+{ -+ /* -+ * If the port is already runtime suspended we can keep it that -+ * way. -+ */ -+ if (dev_pm_smart_suspend_and_suspended(&dev->port->dev)) -+ return 0; -+ -+ pciehp_disable_interrupt(dev); - return 0; - } - -@@ -279,6 +291,7 @@ static int pciehp_resume_noirq(struct pcie_device *dev) - - return 0; - } -+#endif - - static int pciehp_resume(struct pcie_device *dev) - { -@@ -292,6 +305,12 @@ static int pciehp_resume(struct pcie_device *dev) - return 0; - } - -+static int pciehp_runtime_suspend(struct pcie_device *dev) -+{ -+ pciehp_disable_interrupt(dev); -+ return 0; -+} -+ - static int pciehp_runtime_resume(struct pcie_device *dev) - { - struct controller *ctrl = get_service_data(dev); -@@ -318,10 +337,12 @@ static struct pcie_port_service_driver hpdriver_portdrv = { - .remove = pciehp_remove, - - #ifdef CONFIG_PM -+#ifdef CONFIG_PM_SLEEP - .suspend = pciehp_suspend, - .resume_noirq = pciehp_resume_noirq, - .resume = pciehp_resume, -- .runtime_suspend = pciehp_suspend, -+#endif -+ .runtime_suspend = pciehp_runtime_suspend, - .runtime_resume = pciehp_runtime_resume, - #endif /* PM */ - }; --- -2.24.1 - diff --git a/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch b/0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch index 5be035af275f..a094e6c5a399 100644 --- a/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch +++ b/0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch @@ -1,7 +1,7 @@ -From 54f60fe91123c1d95ee104c971d546b49e9d67f0 Mon Sep 17 00:00:00 2001 +From fa21078f336286d835bc734c8b4e4a24b67f245e Mon Sep 17 00:00:00 2001 From: Mika Westerberg <mika.westerberg@linux.intel.com> Date: Tue, 29 Oct 2019 20:00:22 +0300 -Subject: [PATCH 05/16] PCI: pciehp: Prevent deadlock on disconnect +Subject: [PATCH 04/16] PCI: pciehp: Prevent deadlock on disconnect This addresses deadlocks in these common cases in hierarchies containing two switches: @@ -198,16 +198,16 @@ index 86d97f3112f0..a2a263764ef8 100644 u16 lnk_status; - bool ret; + int ret; - -- pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); -- ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA); ++ + ret = pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); + if (ret == PCIBIOS_DEVICE_NOT_FOUND || lnk_status == (u16)~0) + return -ENODEV; +- pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); + ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA); +- - if (ret) - ctrl_dbg(ctrl, "%s: lnk_status = %x\n", __func__, lnk_status); -+ ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA); + ctrl_dbg(ctrl, "%s: lnk_status = %x\n", __func__, lnk_status); return ret; @@ -268,5 +268,5 @@ index 86d97f3112f0..a2a263764ef8 100644 int pciehp_query_power_fault(struct controller *ctrl) -- -2.24.1 +2.25.0 diff --git a/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch b/0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch index 494f0c1b2549..9abef27eea2a 100644 --- a/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch +++ b/0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch @@ -1,7 +1,7 @@ -From 1b16d109c72e27909a590c5b91c45e8b90fe819a Mon Sep 17 00:00:00 2001 +From 7f6991978c1c388c2b11bb8101e4658f81fe85ed Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> Date: Thu, 28 Nov 2019 23:50:40 +0100 -Subject: [PATCH 06/16] ACPI: PM: s2idle: Rework ACPI events synchronization +Subject: [PATCH 05/16] ACPI: PM: s2idle: Rework ACPI events synchronization Note that the EC GPE processing need not be synchronized in acpi_s2idle_wake() after invoking acpi_ec_dispatch_gpe(), because @@ -74,5 +74,5 @@ index 2af937a8b1c5..6747a279621b 100644 acpi_enable_all_runtime_gpes(); -- -2.24.1 +2.25.0 diff --git a/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch b/0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch index 38f07765a616..2f69a8adb70e 100644 --- a/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch +++ b/0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch @@ -1,7 +1,7 @@ -From 88bbdf2becea7d9a04561f5b58219eb50efdd008 Mon Sep 17 00:00:00 2001 +From 50b253fe7f01a82c8054d88319598db71ae5d083 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Tue, 24 Dec 2019 05:18:47 +0100 -Subject: [PATCH 07/16] iwlwifi: pcie: restore support for Killer Qu C0 NICs +Subject: [PATCH 06/16] iwlwifi: pcie: restore support for Killer Qu C0 NICs Commit 809805a820c6 refactored the cfg mangling. Unfortunately, in this process the lines which picked the right cfg for Killer Qu C0 NICs after @@ -32,5 +32,5 @@ index b0b7eca1754e..de62a6dc4e73 100644 /* same thing for QuZ... */ -- -2.24.1 +2.25.0 diff --git a/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch b/0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch index f643582ea035..a128921803fa 100644 --- a/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch +++ b/0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch @@ -1,7 +1,7 @@ -From fd29a8b6f1d2974791dd4b700bad5254f2ad28d9 Mon Sep 17 00:00:00 2001 +From e0a3ce4a9ebf049e76ea38c48e41f2c67f4b3330 Mon Sep 17 00:00:00 2001 From: Kai Vehmanen <kai.vehmanen@linux.intel.com> Date: Fri, 20 Sep 2019 11:39:18 +0300 -Subject: [PATCH 09/16] drm/i915: save AUD_FREQ_CNTRL state at audio domain +Subject: [PATCH 07/16] drm/i915: save AUD_FREQ_CNTRL state at audio domain suspend When audio power domain is suspended, the display driver must @@ -70,10 +70,10 @@ index 89b6112bd66b..043ce1b47aeb 100644 struct { struct mutex mutex; diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h -index f8ee9aba3955..e1fe356463ec 100644 +index 7b6e68f082f8..a99ef18665f2 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h -@@ -9104,6 +9104,8 @@ enum { +@@ -9110,6 +9110,8 @@ enum { #define HSW_AUD_CHICKENBIT _MMIO(0x65f10) #define SKL_AUD_CODEC_WAKE_SIGNAL (1 << 15) @@ -83,5 +83,5 @@ index f8ee9aba3955..e1fe356463ec 100644 * HSW - ICL power wells * -- -2.24.1 +2.25.0 diff --git a/0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch b/0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch index 934c7462a1f1..aa403bc281c0 100644 --- a/0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch +++ b/0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch @@ -1,7 +1,7 @@ -From 763a3bbf9ded9e8e0225ba25ab48a65f8e380517 Mon Sep 17 00:00:00 2001 +From e4bcd75c297598b87b89533c2c995f7d88c12010 Mon Sep 17 00:00:00 2001 From: Kai Vehmanen <kai.vehmanen@linux.intel.com> Date: Thu, 3 Oct 2019 11:55:30 +0300 -Subject: [PATCH 10/16] drm/i915: Fix audio power up sequence for gen10+ +Subject: [PATCH 08/16] drm/i915: Fix audio power up sequence for gen10+ display On platfroms with gen10+ display, driver must set the enable bit of @@ -40,10 +40,10 @@ index 439bc0a93410..440b33762fef 100644 return ret; diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h -index e1fe356463ec..ccfea9c2b8bf 100644 +index a99ef18665f2..1dd7b6187780 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h -@@ -9105,6 +9105,8 @@ enum { +@@ -9111,6 +9111,8 @@ enum { #define SKL_AUD_CODEC_WAKE_SIGNAL (1 << 15) #define AUD_FREQ_CNTRL _MMIO(0x65900) @@ -53,5 +53,5 @@ index e1fe356463ec..ccfea9c2b8bf 100644 /* * HSW - ICL power wells -- -2.24.1 +2.25.0 diff --git a/0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch b/0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch deleted file mode 100644 index 882b1cd56305..000000000000 --- a/0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 7e4ac4925c87e5418bbe11d8887d5a9d3cd0d6c0 Mon Sep 17 00:00:00 2001 -From: Kai-Heng Feng <kai.heng.feng@canonical.com> -Date: Fri, 29 Nov 2019 14:23:03 +0800 -Subject: [PATCH 08/16] x86/intel: Disable HPET on Intel Ice Lake platforms - -Like CFL and CFL-H, ICL SoC has skewed HPET timer once it hits PC10. -So let's disable HPET on ICL. - -Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> -Cc: Linus Torvalds <torvalds@linux-foundation.org> -Cc: Peter Zijlstra <peterz@infradead.org> -Cc: Thomas Gleixner <tglx@linutronix.de> -Cc: bp@alien8.de -Cc: feng.tang@intel.com -Cc: harry.pan@intel.com -Cc: hpa@zytor.com -Link: https://lkml.kernel.org/r/20191129062303.18982-2-kai.heng.feng@canonical.com -Signed-off-by: Ingo Molnar <mingo@kernel.org> ---- - arch/x86/kernel/early-quirks.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/arch/x86/kernel/early-quirks.c b/arch/x86/kernel/early-quirks.c -index 606711f5ebf8..2f9ec14be3b1 100644 ---- a/arch/x86/kernel/early-quirks.c -+++ b/arch/x86/kernel/early-quirks.c -@@ -714,6 +714,8 @@ static struct chipset early_qrk[] __initdata = { - PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet}, - { PCI_VENDOR_ID_INTEL, 0x3ec4, - PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet}, -+ { PCI_VENDOR_ID_INTEL, 0x8a12, -+ PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet}, - { PCI_VENDOR_ID_BROADCOM, 0x4331, - PCI_CLASS_NETWORK_OTHER, PCI_ANY_ID, 0, apple_airport_reset}, - {} --- -2.24.1 - diff --git a/0011-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch b/0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch index a520c55b5d09..07dee0655f68 100644 --- a/0011-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch +++ b/0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch @@ -1,7 +1,7 @@ -From 92d38b35c52c1ee17f215515ed181b44e5fb3d3a Mon Sep 17 00:00:00 2001 +From 7ff6d556c831f5f909b3315974816a45a3802670 Mon Sep 17 00:00:00 2001 From: Kai Vehmanen <kai.vehmanen@linux.intel.com> Date: Thu, 3 Oct 2019 11:55:31 +0300 -Subject: [PATCH 11/16] drm/i915: extend audio CDCLK>=2*BCLK constraint to more +Subject: [PATCH 09/16] drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms The CDCLK>=2*BCLK constraint applies to all generations since gen10. @@ -37,5 +37,5 @@ index 440b33762fef..05ef43b13d1c 100644 intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO, cookie); -- -2.24.1 +2.25.0 diff --git a/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch b/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch new file mode 100644 index 000000000000..edd4404b9fe6 --- /dev/null +++ b/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch @@ -0,0 +1,64 @@ +From ce769a8e35537fc71cc9934a1fa39a481f994b25 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 31 Dec 2019 16:00:07 +0200 +Subject: [PATCH 10/16] drm/i915: Limit audio CDCLK>=2*BCLK constraint back to + GLK only + +Revert changes done in commit f6ec9483091f ("drm/i915: extend audio +CDCLK>=2*BCLK constraint to more platforms"). Audio drivers +communicate with i915 over HDA bus multiple times during system +boot-up and each of these transactions result in matching +get_power/put_power calls to i915, and depending on the platform, +a modeset change causing visible flicker. + +GLK is the only platform with minimum CDCLK significantly lower +than BCLK, and thus for GLK setting a higher CDCLK is mandatory. + +For other platforms, minimum CDCLK is close but below 2*BCLK +(e.g. on ICL, CDCLK=176.4kHz with BCLK=96kHz). Spec-wise the constraint +should be set, but in practise no communication errors have been +reported and the downside if set is the flicker observed at boot-time. + +Revert to old behaviour until better mechanism to manage +probe-time clocks is available. + +The full CDCLK>=2*BCLK constraint is still enforced at pipe +enable time in intel_crtc_compute_min_cdclk(). + +Bugzilla: https://gitlab.freedesktop.org/drm/intel/issues/913 +Fixes: f6ec9483091f ("drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms") +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Matt Roper <matthew.d.roper@intel.com> +Signed-off-by: Matt Roper <matthew.d.roper@intel.com> +Link: https://patchwork.freedesktop.org/patch/msgid/20191231140007.31728-1-kai.vehmanen@linux.intel.com +(cherry picked from commit 1ee48a61aa57dbdbc3cd2808d8b28df40d938e44) +Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> +--- + drivers/gpu/drm/i915/display/intel_audio.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c +index 05ef43b13d1c..0cf475f3063c 100644 +--- a/drivers/gpu/drm/i915/display/intel_audio.c ++++ b/drivers/gpu/drm/i915/display/intel_audio.c +@@ -858,7 +858,7 @@ static unsigned long i915_audio_component_get_power(struct device *kdev) + } + + /* Force CDCLK to 2*BCLK as long as we need audio powered. */ +- if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) ++ if (IS_GEMINILAKE(dev_priv)) + glk_force_audio_cdclk(dev_priv, true); + + if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) +@@ -877,7 +877,7 @@ static void i915_audio_component_put_power(struct device *kdev, + + /* Stop forcing CDCLK to 2*BCLK if no need for audio to be powered. */ + if (--dev_priv->audio_power_refcount == 0) +- if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) ++ if (IS_GEMINILAKE(dev_priv)) + glk_force_audio_cdclk(dev_priv, false); + + intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO, cookie); +-- +2.25.0 + diff --git a/0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch b/0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch index 11bfc01cf62d..13d562a6fa08 100644 --- a/0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch +++ b/0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch @@ -1,7 +1,7 @@ -From d50448859890faa92fa1ebb82ef914fb15957994 Mon Sep 17 00:00:00 2001 +From 93ca62c645759168768638e65d52452b4a9898a4 Mon Sep 17 00:00:00 2001 From: Boyan Ding <boyan.j.ding@gmail.com> Date: Wed, 1 Jan 2020 11:44:49 -0800 -Subject: [PATCH 13/16] pinctrl: sunrisepoint: Add missing Interrupt Status +Subject: [PATCH 11/16] pinctrl: sunrisepoint: Add missing Interrupt Status register offset Commit 179e5a6114cc ("pinctrl: intel: Remove default Interrupt Status @@ -31,5 +31,5 @@ index 44d7f50bbc82..d936e7aa74c4 100644 .pin_base = (s), \ .npins = ((e) - (s) + 1), \ -- -2.24.1 +2.25.0 diff --git a/0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch b/0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch index 17ec8a044ef9..901b06d38715 100644 --- a/0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch +++ b/0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch @@ -1,7 +1,7 @@ -From 78fe4d666ff244609c7d02bea07a22ce87e56326 Mon Sep 17 00:00:00 2001 +From 540f62738b8f3049e200a086cac75d14d289fae9 Mon Sep 17 00:00:00 2001 From: Mehmet Akif Tasova <makiftasova@gmail.com> Date: Mon, 30 Dec 2019 15:48:16 +0200 -Subject: [PATCH 14/16] Revert "iwlwifi: mvm: fix scan config command size" +Subject: [PATCH 12/16] Revert "iwlwifi: mvm: fix scan config command size" Since v5.4-rc1 was released, iwlwifi started throwing errors when scan commands were sent to the firmware with certain devices (depending on @@ -44,5 +44,5 @@ index fcafa22ec6ce..8aa567d7912c 100644 cfg = kzalloc(cmd_size, GFP_KERNEL); if (!cfg) -- -2.24.1 +2.25.0 diff --git a/0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch b/0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch deleted file mode 100644 index 4796a2d7b1f5..000000000000 --- a/0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch +++ /dev/null @@ -1,129 +0,0 @@ -From 390d0a67cecd44bbc52231f0e9ea93ccdb742568 Mon Sep 17 00:00:00 2001 -From: Chris Wilson <chris@chris-wilson.co.uk> -Date: Mon, 30 Dec 2019 11:15:30 +0000 -Subject: [PATCH 12/16] drm/i915/gt: Detect if we miss WaIdleLiteRestore - -In order to avoid confusing the HW, we must never submit an empty ring -during lite-restore, that is we should always advance the RING_TAIL -before submitting to stay ahead of the RING_HEAD. - -Normally this is prevented by keeping a couple of spare NOPs in the -request->wa_tail so that on resubmission we can advance the tail. This -relies on the request only being resubmitted once, which is the normal -condition as it is seen once for ELSP[1] and then later in ELSP[0]. On -preemption, the requests are unwound and the tail reset back to the -normal end point (as we know the request is incomplete and therefore its -RING_HEAD is even earlier). - -However, if this w/a should fail we would try and resubmit the request -with the RING_TAIL already set to the location of this request's wa_tail -potentially causing a GPU hang. We can spot when we do try and -incorrectly resubmit without advancing the RING_TAIL and spare any -embarrassment by forcing the context restore. - -In the case of preempt-to-busy, we leave the requests running on the HW -while we unwind. As the ring is still live, we cannot rewind our -rq->tail without forcing a reload so leave it set to rq->wa_tail and -only force a reload if we resubmit after a lite-restore. (Normally, the -forced reload will be a part of the preemption event.) - -Fixes: 22b7a426bbe1 ("drm/i915/execlists: Preempt-to-busy") -Closes: https://gitlab.freedesktop.org/drm/intel/issues/673 -Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> -Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com> -Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> -Cc: stable@vger.kernel.org -Link: https://patchwork.freedesktop.org/patch/msgid/20191209023215.3519970-1-chris@chris-wilson.co.uk -(cherry picked from commit 82c69bf58650e644c61aa2bf5100b63a1070fd2f) ---- - drivers/gpu/drm/i915/gt/intel_lrc.c | 42 ++++++++++++++--------------- - 1 file changed, 20 insertions(+), 22 deletions(-) - -diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c -index d564bfcab6a3..49ce15553e7b 100644 ---- a/drivers/gpu/drm/i915/gt/intel_lrc.c -+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c -@@ -471,12 +471,6 @@ lrc_descriptor(struct intel_context *ce, struct intel_engine_cs *engine) - return desc; - } - --static void unwind_wa_tail(struct i915_request *rq) --{ -- rq->tail = intel_ring_wrap(rq->ring, rq->wa_tail - WA_TAIL_BYTES); -- assert_ring_tail_valid(rq->ring, rq->tail); --} -- - static struct i915_request * - __unwind_incomplete_requests(struct intel_engine_cs *engine) - { -@@ -495,7 +489,6 @@ __unwind_incomplete_requests(struct intel_engine_cs *engine) - continue; /* XXX */ - - __i915_request_unsubmit(rq); -- unwind_wa_tail(rq); - - /* - * Push the request back into the queue for later resubmission. -@@ -650,13 +643,29 @@ execlists_schedule_out(struct i915_request *rq) - i915_request_put(rq); - } - --static u64 execlists_update_context(const struct i915_request *rq) -+static u64 execlists_update_context(struct i915_request *rq) - { - struct intel_context *ce = rq->hw_context; -- u64 desc; -+ u64 desc = ce->lrc_desc; -+ u32 tail; - -- ce->lrc_reg_state[CTX_RING_TAIL + 1] = -- intel_ring_set_tail(rq->ring, rq->tail); -+ /* -+ * WaIdleLiteRestore:bdw,skl -+ * -+ * We should never submit the context with the same RING_TAIL twice -+ * just in case we submit an empty ring, which confuses the HW. -+ * -+ * We append a couple of NOOPs (gen8_emit_wa_tail) after the end of -+ * the normal request to be able to always advance the RING_TAIL on -+ * subsequent resubmissions (for lite restore). Should that fail us, -+ * and we try and submit the same tail again, force the context -+ * reload. -+ */ -+ tail = intel_ring_set_tail(rq->ring, rq->tail); -+ if (unlikely(ce->lrc_reg_state[CTX_RING_TAIL + 1] == tail)) -+ desc |= CTX_DESC_FORCE_RESTORE; -+ ce->lrc_reg_state[CTX_RING_TAIL + 1] = tail; -+ rq->tail = rq->wa_tail; - - /* - * Make sure the context image is complete before we submit it to HW. -@@ -675,7 +684,6 @@ static u64 execlists_update_context(const struct i915_request *rq) - */ - mb(); - -- desc = ce->lrc_desc; - ce->lrc_desc &= ~CTX_DESC_FORCE_RESTORE; - - return desc; -@@ -1150,16 +1158,6 @@ static void execlists_dequeue(struct intel_engine_cs *engine) - if (!list_is_last(&last->sched.link, - &engine->active.requests)) - return; -- -- /* -- * WaIdleLiteRestore:bdw,skl -- * Apply the wa NOOPs to prevent -- * ring:HEAD == rq:TAIL as we resubmit the -- * request. See gen8_emit_fini_breadcrumb() for -- * where we prepare the padding after the -- * end of the request. -- */ -- last->tail = last->wa_tail; - } - } - --- -2.24.1 - diff --git a/0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch b/0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch index 5e814ce7ec16..221543b62b55 100644 --- a/0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch +++ b/0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch @@ -1,7 +1,7 @@ -From 195bb1762da1aa1c1beffe402353afd619ea7338 Mon Sep 17 00:00:00 2001 +From cce47515454675d9c82448e865b42570f9eabc39 Mon Sep 17 00:00:00 2001 From: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Date: Sat, 4 Jan 2020 23:29:22 -0800 -Subject: [PATCH 15/16] e1000e: Revert "e1000e: Make watchdog use delayed work" +Subject: [PATCH 13/16] e1000e: Revert "e1000e: Make watchdog use delayed work" This reverts commit 59653e6497d16f7ac1d9db088f3959f57ee8c3db. @@ -170,5 +170,5 @@ index d7d56e42a6aa..060daf66bf63 100644 cancel_work_sync(&adapter->tx_hwtstamp_work); if (adapter->tx_hwtstamp_skb) { -- -2.24.1 +2.25.0 diff --git a/0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch b/0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch new file mode 100644 index 000000000000..a12039123a67 --- /dev/null +++ b/0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch @@ -0,0 +1,80 @@ +From f247d4a6fe42acc60b775457e3c35b8289532590 Mon Sep 17 00:00:00 2001 +From: Leo Li <sunpeng.li@amd.com> +Date: Mon, 21 Oct 2019 14:58:47 -0400 +Subject: [PATCH 14/16] drm/amdgpu: Add DC feature mask to disable fractional + pwm +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +[Why] + +Some LED panel drivers might not like fractional PWM. In such cases, +backlight flickering may be observed. + +[How] + +Add a DC feature mask to disable fractional PWM, and associate it with +the preexisting dc_config flag. + +The flag is only plumbed through the dmcu firmware, so plumb it through +the driver path as well. + +To disable, add the following to the linux cmdline: +amdgpu.dcfeaturemask=0x4 + +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204957 +Signed-off-by: Leo Li <sunpeng.li@amd.com> +Reviewed-by: Anthony Koo <anthony.koo@amd.com> +Tested-by: Lukáš Krejčí <lskrejci@gmail.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++ + drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 4 ++++ + drivers/gpu/drm/amd/include/amd_shared.h | 1 + + 3 files changed, 8 insertions(+) + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +index 4e9c15c409ba..25b72eb76add 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -697,6 +697,9 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) + if (amdgpu_dc_feature_mask & DC_MULTI_MON_PP_MCLK_SWITCH_MASK) + init_data.flags.multi_mon_pp_mclk_switch = true; + ++ if (amdgpu_dc_feature_mask & DC_DISABLE_FRACTIONAL_PWM_MASK) ++ init_data.flags.disable_fractional_pwm = true; ++ + init_data.flags.power_down_display_on_boot = true; + + #ifdef CONFIG_DRM_AMD_DC_DCN2_0 +diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c +index 7700a855d77c..698b84acc44f 100644 +--- a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c ++++ b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c +@@ -404,6 +404,10 @@ static bool dce_abm_init_backlight(struct abm *abm) + /* Enable the backlight output */ + REG_UPDATE(BL_PWM_CNTL, BL_PWM_EN, 1); + ++ /* Disable fractional pwm if configured */ ++ REG_UPDATE(BL_PWM_CNTL, BL_PWM_FRACTIONAL_EN, ++ abm->ctx->dc->config.disable_fractional_pwm ? 0 : 1); ++ + /* Unlock group 2 backlight registers */ + REG_UPDATE(BL_PWM_GRP1_REG_LOCK, + BL_PWM_GRP1_REG_LOCK, 0); +diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h +index 8889aaceec60..5450ed762b7a 100644 +--- a/drivers/gpu/drm/amd/include/amd_shared.h ++++ b/drivers/gpu/drm/amd/include/amd_shared.h +@@ -143,6 +143,7 @@ enum PP_FEATURE_MASK { + enum DC_FEATURE_MASK { + DC_FBC_MASK = 0x1, + DC_MULTI_MON_PP_MCLK_SWITCH_MASK = 0x2, ++ DC_DISABLE_FRACTIONAL_PWM_MASK = 0x4, + }; + + enum amd_dpm_forced_level; +-- +2.25.0 + diff --git a/0015-ptp-free-ptp-device-pin-descriptors-properly.patch b/0015-ptp-free-ptp-device-pin-descriptors-properly.patch new file mode 100644 index 000000000000..6298fa443499 --- /dev/null +++ b/0015-ptp-free-ptp-device-pin-descriptors-properly.patch @@ -0,0 +1,50 @@ +From b89e9f6a3ec61a96b5abced31813ad043bda3827 Mon Sep 17 00:00:00 2001 +From: Vladis Dronov <vdronov@redhat.com> +Date: Mon, 13 Jan 2020 14:00:09 +0100 +Subject: [PATCH 15/16] ptp: free ptp device pin descriptors properly + +There is a bug in ptp_clock_unregister(), where ptp_cleanup_pin_groups() +first frees ptp->pin_{,dev_}attr, but then posix_clock_unregister() needs +them to destroy a related sysfs device. + +These functions can not be just swapped, as posix_clock_unregister() frees +ptp which is needed in the ptp_cleanup_pin_groups(). Fix this by calling +ptp_cleanup_pin_groups() in ptp_clock_release(), right before ptp is freed. + +This makes this patch fix an UAF bug in a patch which fixes an UAF bug. + +Reported-by: Antti Laakso <antti.laakso@intel.com> +Fixes: a33121e5487b ("ptp: fix the race between the release of ptp_clock and cdev") +Link: https://lore.kernel.org/netdev/3d2bd09735dbdaf003585ca376b7c1e5b69a19bd.camel@intel.com/ +Signed-off-by: Vladis Dronov <vdronov@redhat.com> +Acked-by: Richard Cochran <richardcochran@gmail.com> +--- + drivers/ptp/ptp_clock.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c +index 61fafe0374ce..b84f16bbd6f2 100644 +--- a/drivers/ptp/ptp_clock.c ++++ b/drivers/ptp/ptp_clock.c +@@ -170,6 +170,7 @@ static void ptp_clock_release(struct device *dev) + { + struct ptp_clock *ptp = container_of(dev, struct ptp_clock, dev); + ++ ptp_cleanup_pin_groups(ptp); + mutex_destroy(&ptp->tsevq_mux); + mutex_destroy(&ptp->pincfg_mux); + ida_simple_remove(&ptp_clocks_map, ptp->index); +@@ -302,9 +303,8 @@ int ptp_clock_unregister(struct ptp_clock *ptp) + if (ptp->pps_source) + pps_unregister_source(ptp->pps_source); + +- ptp_cleanup_pin_groups(ptp); +- + posix_clock_unregister(&ptp->clock); ++ + return 0; + } + EXPORT_SYMBOL(ptp_clock_unregister); +-- +2.25.0 + @@ -7,8 +7,8 @@ # Contributor: Thomas Baechler <thomas@archlinux.org> pkgbase=linux-rt -_pkgver=5.4.10 -_rtpatchver=5 +_pkgver=5.4.13 +_rtpatchver=7 pkgver="${_pkgver}.${_rtpatchver}" pkgrel=1 arch=('x86_64') @@ -27,18 +27,18 @@ source=( 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch - 0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch - 0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch - 0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch - 0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch - 0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch - 0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch - 0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch - 0011-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch - 0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch - 0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch - 0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch - 0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch + 0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch + 0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch + 0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch + 0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch + 0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch + 0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch + 0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch + 0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch + 0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch + 0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch + 0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch + 0015-ptp-free-ptp-device-pin-descriptors-properly.patch ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds @@ -48,26 +48,26 @@ validpgpkeys=( '5ED9A48FC54C0A22D1D0804CEBC26CDB5A56DE73' # Steven Rostedt 'E644E2F1D45FA0B2EAA02F33109F098506FF0B14' # Thomas Gleixner ) -sha256sums=('f23c0218a5e3b363bb5a880972f507bb4dc4a290a787a7da08be07ea12042edd' +sha256sums=('49fb29d96d7e7c1d7e6082701bd26bfddd0fbc87a796fb6ba6258bc5fd386ad7' 'SKIP' - '0bab9f30b2ce3123c0e5a0fca2d51807883e2b9f5398a51e68937cad2fcb30d7' + '435449401c9c5fce7c456b274ca6084b6ffd54319dbef8d4f13d23a8f1303b40' 'SKIP' - '2af2613a7ae5e4886acbe2af87a035646823875bf852dc913eb2339e8ecb94be' - 'a3e9541bf0306d32af8acf121643d9953776d448f68ec09741c591d1e5bc6748' - '8e9967f83cf22be43b516b394523b0976c6831e28cee5136542df3c946328917' - '226251c17ced22414e4275ca69be6aec318904778f0c8c244050916e51064b14' - '9809d55995895e7061bfca0db9f38a608548f21bb5d4a2260e7bbb6b5af2db4a' - '82bc11366ca296e86dd745c911a841d7ac12d16a1a2185da245a96e5440b8fd7' - '1ef45f1e7456437e4ec7c2ada46c607f492a87db8d1cf3f3b59870bc2deaa1e6' - 'fcd117bc51f21baac26f7570f48b91ce994fd351fcb19cb6097166a4a7c181e6' - '49bc5c988a6cc127f39ae998954482450d19b69da2ce9dfcce678d3fe7504136' - 'f583d172c69c288f5d2e587c5926b0e732284c19e73671eef112ab1a0e26362a' - '84baa16aa022e0dac2515edced6f214a08d385a385ffb04e358fbe9671235d41' - 'a55cfce037523fdb6244fd6286a1d9be12c2eab3327a1c6e05ac42899f5868d1' - '9c600a292efb59087d913fd8e7a5fff9c7abcfad864d294a266600f4491476c5' - '126f8b83065e3f7a72589f33874481aa06bb1686ddc6997a8a05a27c7d6721ac' - '9c95928be62369403bb6822a838dc9791a5a98ac489af81b5ab8f2fd09b0c696' - '4a2bd4b02e8c4f81334d22a8bd27a03f8a3a1e8137699b809de15cd7edf0e4dd') + 'e3fa845780853cd99b7579cd36b5dd5f27f163093cb223cdcfe3cf51aa8f0b0a' + 'a8260a0cd688f145837510955df5bf1bad8e1a126fb2240a05cb33a524caff39' + '134df0458cfa0a1c9b5d68539fef58a5595b3c817cbf529f2216bdf5e9c513bf' + '0542389de25b787577c0042a17c0e667eeadadc5670abd8357dd60a5d5d99d36' + 'a03b5c63b288b0334fd6e0340e3fb99e9e21850973efe7592ae116745e3bcbb5' + '6f88dfdbcd28e8bd216d1011605288651463e0de4c189c870785064c86d53bc9' + 'd03ffe961a87b513a882fc77d40ec04465691bdb74f8d29d175e8cf8e08dff9e' + 'b5f0c411c6537ffa77fee21bf5b89a603317361844149cd17d55e41522d62632' + 'ee5d63c50646143c869efd74c205126e26a312d28b21ea6d151b89a4083b79ed' + 'f031e429df53762f52e3fff252aea566f6a145d631cfd0486d5e7ce55987e999' + '0c91c462945bb6fc979ada9f81c957a299541ed0145ad948ab62827faf0235ec' + 'a1e0bd8cb85b948e2d9d4b47eb8652d45bc62fed2057c2d4119a23ac91fd87ef' + '80d3ced391fe7c7d185188a99935e48b78151be0c562bdb107b09eb20f4e8499' + 'fe3f7b524a1b03f53bcf2a67419682c3d843519176605603b45e99b70bd48ba0' + 'ef11e3682c1c6c89de0afb6da04d8191536ba79351051ec16061ed83eb69a10a' + '19c9357b886857ba90928fb720b555d648f6434fa434adaf8f522ec8465246ad') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.4.10 Kernel Configuration +# Linux/x86 5.4.13 Kernel Configuration # # |