From 4330d572ebf4a01e058fe993c1705f068cf4be20 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Fri, 17 Jan 2020 22:14:24 -0800 Subject: Updated to 5.4.12.a --- ...vres-add-a-helper-function-for-ioremap_uc.patch | 6 +- ...d-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch | 6 +- ...Do-not-disable-interrupt-twice-on-suspend.patch | 6 +- ...PCI-pciehp-Prevent-deadlock-on-disconnect.patch | 10 +- ...s2idle-Rework-ACPI-events-synchronization.patch | 6 +- ...cie-restore-support-for-Killer-Qu-C0-NICs.patch | 6 +- ...ve-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch | 87 +++++++++++ ...-Disable-HPET-on-Intel-Ice-Lake-platforms.patch | 38 ----- ...x-audio-power-up-sequence-for-gen10-displ.patch | 57 +++++++ ..._FREQ_CNTRL-state-at-audio-domain-suspend.patch | 86 ---------- ...audio-power-up-sequence-for-gen10-display.patch | 56 ------- ...tend-audio-CDCLK-2-BCLK-constraint-to-mor.patch | 41 +++++ ...mit-audio-CDCLK-2-BCLK-constraint-back-to.patch | 64 ++++++++ ...-CDCLK-2BCLK-constraint-to-more-platforms.patch | 40 ----- ...15-gt-Detect-if-we-miss-WaIdleLiteRestore.patch | 130 --------------- ...risepoint-Add-missing-Interrupt-Status-re.patch | 35 +++++ ...-iwlwifi-mvm-fix-scan-config-command-size.patch | 48 ++++++ ...-missing-Interrupt-Status-register-offset.patch | 34 ---- ...-iwlwifi-mvm-fix-scan-config-command-size.patch | 48 ------ ...ert-e1000e-Make-watchdog-use-delayed-work.patch | 174 +++++++++++++++++++++ ...ert-e1000e-Make-watchdog-use-delayed-work.patch | 174 --------------------- PKGBUILD | 135 ++++++++-------- config | 7 +- 23 files changed, 593 insertions(+), 701 deletions(-) create mode 100644 0008-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch delete mode 100644 0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch create mode 100644 0009-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch delete mode 100644 0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch delete mode 100644 0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch create mode 100644 0010-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch create mode 100644 0011-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch delete mode 100644 0011-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch delete mode 100644 0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch create mode 100644 0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch create mode 100644 0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch delete mode 100644 0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-register-offset.patch delete mode 100644 0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch create mode 100644 0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch delete mode 100644 0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch 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 89450ae..d124051 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,7 +1,7 @@ -From 5925138606a245d43d8a6db47b754cea6f6049ae Mon Sep 17 00:00:00 2001 +From 1e41b685fcac38c05219030acb033a42832f7459 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao Date: Wed, 16 Oct 2019 15:06:28 -0600 -Subject: lib: devres: add a helper function for ioremap_uc +Subject: [PATCH 02/15] lib: devres: add a helper function for ioremap_uc Implement a resource managed strongly uncachable ioremap function. @@ -75,5 +75,5 @@ index 6a0e9bd6524a..17624d35e82d 100644 * devm_ioremap_nocache - Managed ioremap_nocache() * @dev: Generic device to remap IO address for -- -cgit v1.2.1-1-g437b +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 3c49ac5..cd1bc9b 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,7 +1,7 @@ -From 3cec19068653e77d311382d7467728f5d424d4a3 Mon Sep 17 00:00:00 2001 +From 3f0415751d3c1456d314a46d9f28053c8c2a7afa Mon Sep 17 00:00:00 2001 From: Tuowen Zhao Date: Wed, 16 Oct 2019 15:06:29 -0600 -Subject: mfd: intel-lpss: Use devm_ioremap_uc for MMIO +Subject: [PATCH 03/15] mfd: intel-lpss: Use devm_ioremap_uc for MMIO Some BIOS erroneously specifies write-combining BAR for intel-lpss-pci in MTRR. This will cause the system to hang during boot. If possible, @@ -44,5 +44,5 @@ index bfe4ff337581..b0f0781a6b9c 100644 if (!lpss->priv) return -ENOMEM; -- -cgit v1.2.1-1-g437b +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 index fc49e38..acf4474 100644 --- a/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch +++ b/0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch @@ -1,7 +1,7 @@ -From 271c8fe698d3ba5b3b135ffacfd1dc0c87243e32 Mon Sep 17 00:00:00 2001 +From ea5b8c60cd739ed3166d8c0f0cba6df6f57d271f Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Tue, 29 Oct 2019 20:00:21 +0300 -Subject: PCI: pciehp: Do not disable interrupt twice on suspend +Subject: [PATCH 04/15] 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 @@ -95,5 +95,5 @@ index b3122c151b80..56daad828c9e 100644 #endif /* PM */ }; -- -cgit v1.2.1-1-g437b +2.25.0 diff --git a/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch b/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch index d882f59..3e01de8 100644 --- a/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch +++ b/0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch @@ -1,7 +1,7 @@ -From 8d032e7fc1d1d37974785ccdb994524d60201ca3 Mon Sep 17 00:00:00 2001 +From 02dc4cbf4b169ff89a2380b178e07e20eb661d62 Mon Sep 17 00:00:00 2001 From: Mika Westerberg Date: Tue, 29 Oct 2019 20:00:22 +0300 -Subject: PCI: pciehp: Prevent deadlock on disconnect +Subject: [PATCH 05/15] PCI: pciehp: Prevent deadlock on disconnect This addresses deadlocks in these common cases in hierarchies containing two switches: @@ -90,9 +90,9 @@ Signed-off-by: Mika Westerberg Signed-off-by: Bjorn Helgaas --- drivers/pci/hotplug/pciehp.h | 6 ++-- - drivers/pci/hotplug/pciehp_core.c | 11 ++++++-- + drivers/pci/hotplug/pciehp_core.c | 11 ++++-- drivers/pci/hotplug/pciehp_ctrl.c | 4 +-- - drivers/pci/hotplug/pciehp_hpc.c | 59 +++++++++++++++++++++++++++++++-------- + drivers/pci/hotplug/pciehp_hpc.c | 59 +++++++++++++++++++++++++------ 4 files changed, 61 insertions(+), 19 deletions(-) diff --git a/drivers/pci/hotplug/pciehp.h b/drivers/pci/hotplug/pciehp.h @@ -268,5 +268,5 @@ index 86d97f3112f0..a2a263764ef8 100644 int pciehp_query_power_fault(struct controller *ctrl) -- -cgit v1.2.1-1-g437b +2.25.0 diff --git a/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch b/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch index 3b6703d..cac7e7e 100644 --- a/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch +++ b/0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch @@ -1,7 +1,7 @@ -From 9888be9033e8e79a055df2ae8d388baf5970f83b Mon Sep 17 00:00:00 2001 +From b5ae067d036c7d621af4178bba61c8c6fa3c7850 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Thu, 28 Nov 2019 23:50:40 +0100 -Subject: ACPI: PM: s2idle: Rework ACPI events synchronization +Subject: [PATCH 06/15] 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(); -- -cgit v1.2.1-1-g437b +2.25.0 diff --git a/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch b/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch index 7611c7a..5657d6c 100644 --- a/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch +++ b/0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch @@ -1,7 +1,7 @@ -From fd1d146698d09aaac6709ae4fde90d80dbd153cd Mon Sep 17 00:00:00 2001 +From 6c245b6bc1a0c4979566dbd13edcb553919010d7 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Tue, 24 Dec 2019 05:18:47 +0100 -Subject: iwlwifi: pcie: restore support for Killer Qu C0 NICs +Subject: [PATCH 07/15] 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... */ -- -cgit v1.2.1-1-g437b +2.25.0 diff --git a/0008-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch b/0008-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch new file mode 100644 index 0000000..bbd3e5d --- /dev/null +++ b/0008-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch @@ -0,0 +1,87 @@ +From ac55f63c14c1e7d0740c27d325e8abe40e2478b3 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen +Date: Fri, 20 Sep 2019 11:39:18 +0300 +Subject: [PATCH 08/15] drm/i915: save AUD_FREQ_CNTRL state at audio domain + suspend + +When audio power domain is suspended, the display driver must +save state of AUD_FREQ_CNTRL on Tiger Lake and Ice Lake +systems. The initial value of the register is set by BIOS and +is read by driver during the audio component init sequence. + +Cc: Jani Nikula +Cc: Imre Deak +Signed-off-by: Kai Vehmanen +Signed-off-by: Jani Nikula +Link: https://patchwork.freedesktop.org/patch/msgid/20190920083918.27057-1-kai.vehmanen@linux.intel.com +--- + drivers/gpu/drm/i915/display/intel_audio.c | 17 +++++++++++++++-- + drivers/gpu/drm/i915/i915_drv.h | 1 + + drivers/gpu/drm/i915/i915_reg.h | 2 ++ + 3 files changed, 18 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c +index ddcccf4408c3..439bc0a93410 100644 +--- a/drivers/gpu/drm/i915/display/intel_audio.c ++++ b/drivers/gpu/drm/i915/display/intel_audio.c +@@ -850,10 +850,17 @@ static unsigned long i915_audio_component_get_power(struct device *kdev) + + ret = intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO); + +- /* Force CDCLK to 2*BCLK as long as we need audio to be powered. */ +- if (dev_priv->audio_power_refcount++ == 0) ++ if (dev_priv->audio_power_refcount++ == 0) { ++ if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) { ++ I915_WRITE(AUD_FREQ_CNTRL, dev_priv->audio_freq_cntrl); ++ DRM_DEBUG_KMS("restored AUD_FREQ_CNTRL to 0x%x\n", ++ dev_priv->audio_freq_cntrl); ++ } ++ ++ /* Force CDCLK to 2*BCLK as long as we need audio powered. */ + if (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv)) + glk_force_audio_cdclk(dev_priv, true); ++ } + + return ret; + } +@@ -1114,6 +1121,12 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv) + return; + } + ++ if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) { ++ dev_priv->audio_freq_cntrl = I915_READ(AUD_FREQ_CNTRL); ++ DRM_DEBUG_KMS("init value of AUD_FREQ_CNTRL of 0x%x\n", ++ dev_priv->audio_freq_cntrl); ++ } ++ + dev_priv->audio_component_registered = true; + } + +diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h +index 89b6112bd66b..043ce1b47aeb 100644 +--- a/drivers/gpu/drm/i915/i915_drv.h ++++ b/drivers/gpu/drm/i915/i915_drv.h +@@ -1530,6 +1530,7 @@ struct drm_i915_private { + */ + struct mutex av_mutex; + int audio_power_refcount; ++ u32 audio_freq_cntrl; + + struct { + struct mutex mutex; +diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h +index 7b6e68f082f8..a99ef18665f2 100644 +--- a/drivers/gpu/drm/i915/i915_reg.h ++++ b/drivers/gpu/drm/i915/i915_reg.h +@@ -9110,6 +9110,8 @@ enum { + #define HSW_AUD_CHICKENBIT _MMIO(0x65f10) + #define SKL_AUD_CODEC_WAKE_SIGNAL (1 << 15) + ++#define AUD_FREQ_CNTRL _MMIO(0x65900) ++ + /* + * HSW - ICL power wells + * +-- +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 6cb930a..0000000 --- a/0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch +++ /dev/null @@ -1,38 +0,0 @@ -From de022ec5134c060ee735424ed3d0f9a663b73c53 Mon Sep 17 00:00:00 2001 -From: Kai-Heng Feng -Date: Fri, 29 Nov 2019 14:23:03 +0800 -Subject: 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 -Cc: Linus Torvalds -Cc: Peter Zijlstra -Cc: Thomas Gleixner -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 ---- - 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}, - {} --- -cgit v1.2.1-1-g437b - diff --git a/0009-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch b/0009-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch new file mode 100644 index 0000000..591c4f4 --- /dev/null +++ b/0009-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch @@ -0,0 +1,57 @@ +From 77437dba84a29da0fdf62f9946416b6e53496b1d Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen +Date: Thu, 3 Oct 2019 11:55:30 +0300 +Subject: [PATCH 09/15] drm/i915: Fix audio power up sequence for gen10+ + display + +On platfroms with gen10+ display, driver must set the enable bit of +AUDIO_PIN_BUF_CTL register before transactions with the HDA controller +can proceed. Add setting this bit to the audio power up sequence. + +Failing to do this resulted in errors during display audio codec probe, +and failures during resume from suspend. + +Note: We may also need to disable the bit afterwards, but there are +still unresolved issues with that. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111214 +Signed-off-by: Kai Vehmanen +Signed-off-by: Jani Nikula +Link: https://patchwork.freedesktop.org/patch/msgid/20191003085531.30990-1-kai.vehmanen@linux.intel.com +--- + drivers/gpu/drm/i915/display/intel_audio.c | 5 +++++ + drivers/gpu/drm/i915/i915_reg.h | 2 ++ + 2 files changed, 7 insertions(+) + +diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c +index 439bc0a93410..440b33762fef 100644 +--- a/drivers/gpu/drm/i915/display/intel_audio.c ++++ b/drivers/gpu/drm/i915/display/intel_audio.c +@@ -860,6 +860,11 @@ static unsigned long i915_audio_component_get_power(struct device *kdev) + /* Force CDCLK to 2*BCLK as long as we need audio powered. */ + if (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv)) + glk_force_audio_cdclk(dev_priv, true); ++ ++ if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) ++ I915_WRITE(AUD_PIN_BUF_CTL, ++ (I915_READ(AUD_PIN_BUF_CTL) | ++ AUD_PIN_BUF_ENABLE)); + } + + return ret; +diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h +index a99ef18665f2..1dd7b6187780 100644 +--- a/drivers/gpu/drm/i915/i915_reg.h ++++ b/drivers/gpu/drm/i915/i915_reg.h +@@ -9111,6 +9111,8 @@ enum { + #define SKL_AUD_CODEC_WAKE_SIGNAL (1 << 15) + + #define AUD_FREQ_CNTRL _MMIO(0x65900) ++#define AUD_PIN_BUF_CTL _MMIO(0x48414) ++#define AUD_PIN_BUF_ENABLE REG_BIT(31) + + /* + * HSW - ICL power wells +-- +2.25.0 + diff --git a/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch b/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch deleted file mode 100644 index 6ea75b6..0000000 --- a/0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch +++ /dev/null @@ -1,86 +0,0 @@ -From c0da4d4ee458208d5427d0a284173bd39a95d040 Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen -Date: Fri, 20 Sep 2019 11:39:18 +0300 -Subject: drm/i915: save AUD_FREQ_CNTRL state at audio domain suspend - -When audio power domain is suspended, the display driver must -save state of AUD_FREQ_CNTRL on Tiger Lake and Ice Lake -systems. The initial value of the register is set by BIOS and -is read by driver during the audio component init sequence. - -Cc: Jani Nikula -Cc: Imre Deak -Signed-off-by: Kai Vehmanen -Signed-off-by: Jani Nikula -Link: https://patchwork.freedesktop.org/patch/msgid/20190920083918.27057-1-kai.vehmanen@linux.intel.com ---- - drivers/gpu/drm/i915/display/intel_audio.c | 17 +++++++++++++++-- - drivers/gpu/drm/i915/i915_drv.h | 1 + - drivers/gpu/drm/i915/i915_reg.h | 2 ++ - 3 files changed, 18 insertions(+), 2 deletions(-) - -diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c -index ddcccf4408c3..439bc0a93410 100644 ---- a/drivers/gpu/drm/i915/display/intel_audio.c -+++ b/drivers/gpu/drm/i915/display/intel_audio.c -@@ -850,10 +850,17 @@ static unsigned long i915_audio_component_get_power(struct device *kdev) - - ret = intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO); - -- /* Force CDCLK to 2*BCLK as long as we need audio to be powered. */ -- if (dev_priv->audio_power_refcount++ == 0) -+ if (dev_priv->audio_power_refcount++ == 0) { -+ if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) { -+ I915_WRITE(AUD_FREQ_CNTRL, dev_priv->audio_freq_cntrl); -+ DRM_DEBUG_KMS("restored AUD_FREQ_CNTRL to 0x%x\n", -+ dev_priv->audio_freq_cntrl); -+ } -+ -+ /* Force CDCLK to 2*BCLK as long as we need audio powered. */ - if (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv)) - glk_force_audio_cdclk(dev_priv, true); -+ } - - return ret; - } -@@ -1114,6 +1121,12 @@ static void i915_audio_component_init(struct drm_i915_private *dev_priv) - return; - } - -+ if (IS_TIGERLAKE(dev_priv) || IS_ICELAKE(dev_priv)) { -+ dev_priv->audio_freq_cntrl = I915_READ(AUD_FREQ_CNTRL); -+ DRM_DEBUG_KMS("init value of AUD_FREQ_CNTRL of 0x%x\n", -+ dev_priv->audio_freq_cntrl); -+ } -+ - dev_priv->audio_component_registered = true; - } - -diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h -index 89b6112bd66b..043ce1b47aeb 100644 ---- a/drivers/gpu/drm/i915/i915_drv.h -+++ b/drivers/gpu/drm/i915/i915_drv.h -@@ -1530,6 +1530,7 @@ struct drm_i915_private { - */ - struct mutex av_mutex; - int audio_power_refcount; -+ u32 audio_freq_cntrl; - - 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 ---- a/drivers/gpu/drm/i915/i915_reg.h -+++ b/drivers/gpu/drm/i915/i915_reg.h -@@ -9104,6 +9104,8 @@ enum { - #define HSW_AUD_CHICKENBIT _MMIO(0x65f10) - #define SKL_AUD_CODEC_WAKE_SIGNAL (1 << 15) - -+#define AUD_FREQ_CNTRL _MMIO(0x65900) -+ - /* - * HSW - ICL power wells - * --- -cgit v1.2.1-1-g437b - diff --git a/0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch b/0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch deleted file mode 100644 index 7c46dbe..0000000 --- a/0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 6e149a5538676e885561f1dfc18bbb4dd104c1f6 Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen -Date: Thu, 3 Oct 2019 11:55:30 +0300 -Subject: drm/i915: Fix audio power up sequence for gen10+ display - -On platfroms with gen10+ display, driver must set the enable bit of -AUDIO_PIN_BUF_CTL register before transactions with the HDA controller -can proceed. Add setting this bit to the audio power up sequence. - -Failing to do this resulted in errors during display audio codec probe, -and failures during resume from suspend. - -Note: We may also need to disable the bit afterwards, but there are -still unresolved issues with that. - -Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111214 -Signed-off-by: Kai Vehmanen -Signed-off-by: Jani Nikula -Link: https://patchwork.freedesktop.org/patch/msgid/20191003085531.30990-1-kai.vehmanen@linux.intel.com ---- - drivers/gpu/drm/i915/display/intel_audio.c | 5 +++++ - drivers/gpu/drm/i915/i915_reg.h | 2 ++ - 2 files changed, 7 insertions(+) - -diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c -index 439bc0a93410..440b33762fef 100644 ---- a/drivers/gpu/drm/i915/display/intel_audio.c -+++ b/drivers/gpu/drm/i915/display/intel_audio.c -@@ -860,6 +860,11 @@ static unsigned long i915_audio_component_get_power(struct device *kdev) - /* Force CDCLK to 2*BCLK as long as we need audio powered. */ - if (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv)) - glk_force_audio_cdclk(dev_priv, true); -+ -+ if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) -+ I915_WRITE(AUD_PIN_BUF_CTL, -+ (I915_READ(AUD_PIN_BUF_CTL) | -+ AUD_PIN_BUF_ENABLE)); - } - - return ret; -diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h -index e1fe356463ec..ccfea9c2b8bf 100644 ---- a/drivers/gpu/drm/i915/i915_reg.h -+++ b/drivers/gpu/drm/i915/i915_reg.h -@@ -9105,6 +9105,8 @@ enum { - #define SKL_AUD_CODEC_WAKE_SIGNAL (1 << 15) - - #define AUD_FREQ_CNTRL _MMIO(0x65900) -+#define AUD_PIN_BUF_CTL _MMIO(0x48414) -+#define AUD_PIN_BUF_ENABLE REG_BIT(31) - - /* - * HSW - ICL power wells --- -cgit v1.2.1-1-g437b - diff --git a/0010-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch b/0010-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch new file mode 100644 index 0000000..92108ff --- /dev/null +++ b/0010-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch @@ -0,0 +1,41 @@ +From 466961b7872771f84a86f2304197d303ed749925 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen +Date: Thu, 3 Oct 2019 11:55:31 +0300 +Subject: [PATCH 10/15] drm/i915: extend audio CDCLK>=2*BCLK constraint to more + platforms + +The CDCLK>=2*BCLK constraint applies to all generations since gen10. +Extend the constraint logic in audio get/put_power(). + +Signed-off-by: Kai Vehmanen +Signed-off-by: Jani Nikula +Link: https://patchwork.freedesktop.org/patch/msgid/20191003085531.30990-2-kai.vehmanen@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 440b33762fef..05ef43b13d1c 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 (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv)) ++ if (INTEL_GEN(dev_priv) >= 10 || 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 (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv)) ++ if (INTEL_GEN(dev_priv) >= 10 || 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/0011-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch b/0011-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch new file mode 100644 index 0000000..a24c892 --- /dev/null +++ b/0011-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch @@ -0,0 +1,64 @@ +From 238026166679e618b3bad1c86b0e37a43303b6b0 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen +Date: Tue, 31 Dec 2019 16:00:07 +0200 +Subject: [PATCH 11/15] 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 +Reviewed-by: Matt Roper +Signed-off-by: Matt Roper +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 +--- + 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/0011-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch b/0011-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch deleted file mode 100644 index 8d5b9ae..0000000 --- a/0011-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 975d5a884b3c80155808c2ac39e6bb6d51450dea Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen -Date: Thu, 3 Oct 2019 11:55:31 +0300 -Subject: drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms - -The CDCLK>=2*BCLK constraint applies to all generations since gen10. -Extend the constraint logic in audio get/put_power(). - -Signed-off-by: Kai Vehmanen -Signed-off-by: Jani Nikula -Link: https://patchwork.freedesktop.org/patch/msgid/20191003085531.30990-2-kai.vehmanen@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 440b33762fef..05ef43b13d1c 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 (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv)) -+ if (INTEL_GEN(dev_priv) >= 10 || 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 (IS_CANNONLAKE(dev_priv) || IS_GEMINILAKE(dev_priv)) -+ if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv)) - glk_force_audio_cdclk(dev_priv, false); - - intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO, cookie); --- -cgit v1.2.1-1-g437b - 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 5ee3f39..0000000 --- a/0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 8c19c0f7eacb125b9a097d080a385d527f8ff836 Mon Sep 17 00:00:00 2001 -From: Chris Wilson -Date: Mon, 30 Dec 2019 11:15:30 +0000 -Subject: 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 -Cc: Mika Kuoppala -Cc: Tvrtko Ursulin -Reviewed-by: Tvrtko Ursulin -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 06a506c29463..6600b2e08fe3 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. -@@ -649,13 +642,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. -@@ -674,7 +683,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; -@@ -1149,16 +1157,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; - } - } - --- -cgit v1.2.1-1-g437b - - diff --git a/0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch b/0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch new file mode 100644 index 0000000..dab476c --- /dev/null +++ b/0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch @@ -0,0 +1,35 @@ +From c7e2526442e1a92f2c875c0300935918a295f527 Mon Sep 17 00:00:00 2001 +From: Boyan Ding +Date: Wed, 1 Jan 2020 11:44:49 -0800 +Subject: [PATCH 12/15] pinctrl: sunrisepoint: Add missing Interrupt Status + register offset + +Commit 179e5a6114cc ("pinctrl: intel: Remove default Interrupt Status +offset") removes default interrupt status offset of GPIO controllers, +with previous commits explicitly providing the previously default +offsets. However, the is_offset value in SPTH_COMMUNITY is missing, +preventing related irq from being properly detected and handled. + +Fixes: f702e0b93cdb ("pinctrl: sunrisepoint: Provide Interrupt Status register offset") +Link: https://bugzilla.kernel.org/show_bug.cgi?id=205745 +Cc: stable@vger.kernel.org +Signed-off-by: Boyan Ding +--- + drivers/pinctrl/intel/pinctrl-sunrisepoint.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/pinctrl/intel/pinctrl-sunrisepoint.c b/drivers/pinctrl/intel/pinctrl-sunrisepoint.c +index 44d7f50bbc82..d936e7aa74c4 100644 +--- a/drivers/pinctrl/intel/pinctrl-sunrisepoint.c ++++ b/drivers/pinctrl/intel/pinctrl-sunrisepoint.c +@@ -49,6 +49,7 @@ + .padown_offset = SPT_PAD_OWN, \ + .padcfglock_offset = SPT_PADCFGLOCK, \ + .hostown_offset = SPT_HOSTSW_OWN, \ ++ .is_offset = SPT_GPI_IS, \ + .ie_offset = SPT_GPI_IE, \ + .pin_base = (s), \ + .npins = ((e) - (s) + 1), \ +-- +2.25.0 + diff --git a/0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch b/0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch new file mode 100644 index 0000000..8dcb254 --- /dev/null +++ b/0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch @@ -0,0 +1,48 @@ +From ad6657302538790fdf5c0c0f6e88add139e0c530 Mon Sep 17 00:00:00 2001 +From: Mehmet Akif Tasova +Date: Mon, 30 Dec 2019 15:48:16 +0200 +Subject: [PATCH 13/15] 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 +the OTP burned in the device, which contains the list of available +channels). For instance: + +iwlwifi 0000:00:14.3: FW error in SYNC CMD SCAN_CFG_CMD + +This bug was reported in the ArchLinux bug tracker: +https://bugs.archlinux.org/task/64703 + +And also in a specific case in bugzilla, when the lar_disabled option +was set: https://bugzilla.kernel.org/show_bug.cgi?id=205193 + +Revert the commit that introduced this error, by using the number of +channels from the OTP instead of the number of channels that is +specified in the FW TLV that tells us how many channels it supports. + +This reverts commit 06eb547c4ae4382e70d556ba213d13c95ca1801b. + +Cc: stable@vger.kernel.org # v5.4+ +Signed-off-by: Mehmet Akif Tasova +[ Luca: reworded the commit message a bit. ] +Signed-off-by: Luca Coelho +--- + drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +index fcafa22ec6ce..8aa567d7912c 100644 +--- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c ++++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +@@ -1220,7 +1220,7 @@ static int iwl_mvm_legacy_config_scan(struct iwl_mvm *mvm) + cmd_size = sizeof(struct iwl_scan_config_v2); + else + cmd_size = sizeof(struct iwl_scan_config_v1); +- cmd_size += num_channels; ++ cmd_size += mvm->fw->ucode_capa.n_scan_channels; + + cfg = kzalloc(cmd_size, GFP_KERNEL); + if (!cfg) +-- +2.25.0 + diff --git a/0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-register-offset.patch b/0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-register-offset.patch deleted file mode 100644 index 64afce3..0000000 --- a/0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-register-offset.patch +++ /dev/null @@ -1,34 +0,0 @@ -From adb810e1819b859aec1f8eb4c5611bc6ebe82137 Mon Sep 17 00:00:00 2001 -From: Boyan Ding -Date: Wed, 1 Jan 2020 11:44:49 -0800 -Subject: pinctrl: sunrisepoint: Add missing Interrupt Status register offset - -Commit 179e5a6114cc ("pinctrl: intel: Remove default Interrupt Status -offset") removes default interrupt status offset of GPIO controllers, -with previous commits explicitly providing the previously default -offsets. However, the is_offset value in SPTH_COMMUNITY is missing, -preventing related irq from being properly detected and handled. - -Fixes: f702e0b93cdb ("pinctrl: sunrisepoint: Provide Interrupt Status register offset") -Link: https://bugzilla.kernel.org/show_bug.cgi?id=205745 -Cc: stable@vger.kernel.org -Signed-off-by: Boyan Ding ---- - drivers/pinctrl/intel/pinctrl-sunrisepoint.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/pinctrl/intel/pinctrl-sunrisepoint.c b/drivers/pinctrl/intel/pinctrl-sunrisepoint.c -index 44d7f50bbc82..d936e7aa74c4 100644 ---- a/drivers/pinctrl/intel/pinctrl-sunrisepoint.c -+++ b/drivers/pinctrl/intel/pinctrl-sunrisepoint.c -@@ -49,6 +49,7 @@ - .padown_offset = SPT_PAD_OWN, \ - .padcfglock_offset = SPT_PADCFGLOCK, \ - .hostown_offset = SPT_HOSTSW_OWN, \ -+ .is_offset = SPT_GPI_IS, \ - .ie_offset = SPT_GPI_IE, \ - .pin_base = (s), \ - .npins = ((e) - (s) + 1), \ --- -cgit v1.2.1-1-g437b - diff --git a/0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch b/0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch deleted file mode 100644 index 5cf14e3..0000000 --- a/0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 78fe4d666ff244609c7d02bea07a22ce87e56326 Mon Sep 17 00:00:00 2001 -From: Mehmet Akif Tasova -Date: Mon, 30 Dec 2019 15:48:16 +0200 -Subject: 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 -the OTP burned in the device, which contains the list of available -channels). For instance: - -iwlwifi 0000:00:14.3: FW error in SYNC CMD SCAN_CFG_CMD - -This bug was reported in the ArchLinux bug tracker: -https://bugs.archlinux.org/task/64703 - -And also in a specific case in bugzilla, when the lar_disabled option -was set: https://bugzilla.kernel.org/show_bug.cgi?id=205193 - -Revert the commit that introduced this error, by using the number of -channels from the OTP instead of the number of channels that is -specified in the FW TLV that tells us how many channels it supports. - -This reverts commit 06eb547c4ae4382e70d556ba213d13c95ca1801b. - -Cc: stable@vger.kernel.org # v5.4+ -Signed-off-by: Mehmet Akif Tasova -[ Luca: reworded the commit message a bit. ] -Signed-off-by: Luca Coelho ---- - drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c -index fcafa22ec6ce..8aa567d7912c 100644 ---- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c -+++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c -@@ -1220,7 +1220,7 @@ static int iwl_mvm_legacy_config_scan(struct iwl_mvm *mvm) - cmd_size = sizeof(struct iwl_scan_config_v2); - else - cmd_size = sizeof(struct iwl_scan_config_v1); -- cmd_size += num_channels; -+ cmd_size += mvm->fw->ucode_capa.n_scan_channels; - - cfg = kzalloc(cmd_size, GFP_KERNEL); - if (!cfg) --- -cgit v1.2.1-1-g437b - diff --git a/0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch b/0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch new file mode 100644 index 0000000..17a717e --- /dev/null +++ b/0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch @@ -0,0 +1,174 @@ +From 22aa8417725e7b4cb467a78a6bce6f23ad799d98 Mon Sep 17 00:00:00 2001 +From: Jeff Kirsher +Date: Sat, 4 Jan 2020 23:29:22 -0800 +Subject: [PATCH 14/15] e1000e: Revert "e1000e: Make watchdog use delayed work" + +This reverts commit 59653e6497d16f7ac1d9db088f3959f57ee8c3db. + +This is due to this commit causing driver crashes and connections to +reset unexpectedly. + +Signed-off-by: Jeff Kirsher +--- + drivers/net/ethernet/intel/e1000e/e1000.h | 5 +- + drivers/net/ethernet/intel/e1000e/netdev.c | 54 ++++++++++------------ + 2 files changed, 27 insertions(+), 32 deletions(-) + +diff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h +index 6c51b1bad8c4..37a2314d3e6b 100644 +--- a/drivers/net/ethernet/intel/e1000e/e1000.h ++++ b/drivers/net/ethernet/intel/e1000e/e1000.h +@@ -185,13 +185,12 @@ struct e1000_phy_regs { + + /* board specific private data structure */ + struct e1000_adapter { ++ struct timer_list watchdog_timer; + struct timer_list phy_info_timer; + struct timer_list blink_timer; + + struct work_struct reset_task; +- struct delayed_work watchdog_task; +- +- struct workqueue_struct *e1000_workqueue; ++ struct work_struct watchdog_task; + + const struct e1000_info *ei; + +diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c +index d7d56e42a6aa..060daf66bf63 100644 +--- a/drivers/net/ethernet/intel/e1000e/netdev.c ++++ b/drivers/net/ethernet/intel/e1000e/netdev.c +@@ -1780,8 +1780,7 @@ static irqreturn_t e1000_intr_msi(int __always_unused irq, void *data) + } + /* guard against interrupt when we're going down */ + if (!test_bit(__E1000_DOWN, &adapter->state)) +- mod_delayed_work(adapter->e1000_workqueue, +- &adapter->watchdog_task, HZ); ++ mod_timer(&adapter->watchdog_timer, jiffies + 1); + } + + /* Reset on uncorrectable ECC error */ +@@ -1861,8 +1860,7 @@ static irqreturn_t e1000_intr(int __always_unused irq, void *data) + } + /* guard against interrupt when we're going down */ + if (!test_bit(__E1000_DOWN, &adapter->state)) +- mod_delayed_work(adapter->e1000_workqueue, +- &adapter->watchdog_task, HZ); ++ mod_timer(&adapter->watchdog_timer, jiffies + 1); + } + + /* Reset on uncorrectable ECC error */ +@@ -1907,8 +1905,7 @@ static irqreturn_t e1000_msix_other(int __always_unused irq, void *data) + hw->mac.get_link_status = true; + /* guard against interrupt when we're going down */ + if (!test_bit(__E1000_DOWN, &adapter->state)) +- mod_delayed_work(adapter->e1000_workqueue, +- &adapter->watchdog_task, HZ); ++ mod_timer(&adapter->watchdog_timer, jiffies + 1); + } + + if (!test_bit(__E1000_DOWN, &adapter->state)) +@@ -4281,6 +4278,7 @@ void e1000e_down(struct e1000_adapter *adapter, bool reset) + + napi_synchronize(&adapter->napi); + ++ del_timer_sync(&adapter->watchdog_timer); + del_timer_sync(&adapter->phy_info_timer); + + spin_lock(&adapter->stats64_lock); +@@ -5152,11 +5150,25 @@ static void e1000e_check_82574_phy_workaround(struct e1000_adapter *adapter) + } + } + ++/** ++ * e1000_watchdog - Timer Call-back ++ * @data: pointer to adapter cast into an unsigned long ++ **/ ++static void e1000_watchdog(struct timer_list *t) ++{ ++ struct e1000_adapter *adapter = from_timer(adapter, t, watchdog_timer); ++ ++ /* Do the rest outside of interrupt context */ ++ schedule_work(&adapter->watchdog_task); ++ ++ /* TODO: make this use queue_delayed_work() */ ++} ++ + static void e1000_watchdog_task(struct work_struct *work) + { + struct e1000_adapter *adapter = container_of(work, + struct e1000_adapter, +- watchdog_task.work); ++ watchdog_task); + struct net_device *netdev = adapter->netdev; + struct e1000_mac_info *mac = &adapter->hw.mac; + struct e1000_phy_info *phy = &adapter->hw.phy; +@@ -5404,9 +5416,8 @@ static void e1000_watchdog_task(struct work_struct *work) + + /* Reset the timer */ + if (!test_bit(__E1000_DOWN, &adapter->state)) +- queue_delayed_work(adapter->e1000_workqueue, +- &adapter->watchdog_task, +- round_jiffies(2 * HZ)); ++ mod_timer(&adapter->watchdog_timer, ++ round_jiffies(jiffies + 2 * HZ)); + } + + #define E1000_TX_FLAGS_CSUM 0x00000001 +@@ -7259,21 +7270,11 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent) + goto err_eeprom; + } + +- adapter->e1000_workqueue = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, +- e1000e_driver_name); +- +- if (!adapter->e1000_workqueue) { +- err = -ENOMEM; +- goto err_workqueue; +- } +- +- INIT_DELAYED_WORK(&adapter->watchdog_task, e1000_watchdog_task); +- queue_delayed_work(adapter->e1000_workqueue, &adapter->watchdog_task, +- 0); +- ++ timer_setup(&adapter->watchdog_timer, e1000_watchdog, 0); + timer_setup(&adapter->phy_info_timer, e1000_update_phy_info, 0); + + INIT_WORK(&adapter->reset_task, e1000_reset_task); ++ INIT_WORK(&adapter->watchdog_task, e1000_watchdog_task); + INIT_WORK(&adapter->downshift_task, e1000e_downshift_workaround); + INIT_WORK(&adapter->update_phy_task, e1000e_update_phy_task); + INIT_WORK(&adapter->print_hang_task, e1000_print_hw_hang); +@@ -7367,9 +7368,6 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent) + return 0; + + err_register: +- flush_workqueue(adapter->e1000_workqueue); +- destroy_workqueue(adapter->e1000_workqueue); +-err_workqueue: + if (!(adapter->flags & FLAG_HAS_AMT)) + e1000e_release_hw_control(adapter); + err_eeprom: +@@ -7416,17 +7414,15 @@ static void e1000_remove(struct pci_dev *pdev) + */ + if (!down) + set_bit(__E1000_DOWN, &adapter->state); ++ del_timer_sync(&adapter->watchdog_timer); + del_timer_sync(&adapter->phy_info_timer); + + cancel_work_sync(&adapter->reset_task); ++ cancel_work_sync(&adapter->watchdog_task); + cancel_work_sync(&adapter->downshift_task); + cancel_work_sync(&adapter->update_phy_task); + cancel_work_sync(&adapter->print_hang_task); + +- cancel_delayed_work(&adapter->watchdog_task); +- flush_workqueue(adapter->e1000_workqueue); +- destroy_workqueue(adapter->e1000_workqueue); +- + if (adapter->flags & FLAG_HAS_HW_TIMESTAMP) { + cancel_work_sync(&adapter->tx_hwtstamp_work); + if (adapter->tx_hwtstamp_skb) { +-- +2.25.0 + diff --git a/0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch b/0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch deleted file mode 100644 index 52e42b2..0000000 --- a/0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 195bb1762da1aa1c1beffe402353afd619ea7338 Mon Sep 17 00:00:00 2001 -From: Jeff Kirsher -Date: Sat, 4 Jan 2020 23:29:22 -0800 -Subject: e1000e: Revert "e1000e: Make watchdog use delayed work" - -This reverts commit 59653e6497d16f7ac1d9db088f3959f57ee8c3db. - -This is due to this commit causing driver crashes and connections to -reset unexpectedly. - -Signed-off-by: Jeff Kirsher ---- - drivers/net/ethernet/intel/e1000e/e1000.h | 5 ++- - drivers/net/ethernet/intel/e1000e/netdev.c | 54 ++++++++++++++---------------- - 2 files changed, 27 insertions(+), 32 deletions(-) - -diff --git a/drivers/net/ethernet/intel/e1000e/e1000.h b/drivers/net/ethernet/intel/e1000e/e1000.h -index 6c51b1bad8c4..37a2314d3e6b 100644 ---- a/drivers/net/ethernet/intel/e1000e/e1000.h -+++ b/drivers/net/ethernet/intel/e1000e/e1000.h -@@ -185,13 +185,12 @@ struct e1000_phy_regs { - - /* board specific private data structure */ - struct e1000_adapter { -+ struct timer_list watchdog_timer; - struct timer_list phy_info_timer; - struct timer_list blink_timer; - - struct work_struct reset_task; -- struct delayed_work watchdog_task; -- -- struct workqueue_struct *e1000_workqueue; -+ struct work_struct watchdog_task; - - const struct e1000_info *ei; - -diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c -index d7d56e42a6aa..060daf66bf63 100644 ---- a/drivers/net/ethernet/intel/e1000e/netdev.c -+++ b/drivers/net/ethernet/intel/e1000e/netdev.c -@@ -1780,8 +1780,7 @@ static irqreturn_t e1000_intr_msi(int __always_unused irq, void *data) - } - /* guard against interrupt when we're going down */ - if (!test_bit(__E1000_DOWN, &adapter->state)) -- mod_delayed_work(adapter->e1000_workqueue, -- &adapter->watchdog_task, HZ); -+ mod_timer(&adapter->watchdog_timer, jiffies + 1); - } - - /* Reset on uncorrectable ECC error */ -@@ -1861,8 +1860,7 @@ static irqreturn_t e1000_intr(int __always_unused irq, void *data) - } - /* guard against interrupt when we're going down */ - if (!test_bit(__E1000_DOWN, &adapter->state)) -- mod_delayed_work(adapter->e1000_workqueue, -- &adapter->watchdog_task, HZ); -+ mod_timer(&adapter->watchdog_timer, jiffies + 1); - } - - /* Reset on uncorrectable ECC error */ -@@ -1907,8 +1905,7 @@ static irqreturn_t e1000_msix_other(int __always_unused irq, void *data) - hw->mac.get_link_status = true; - /* guard against interrupt when we're going down */ - if (!test_bit(__E1000_DOWN, &adapter->state)) -- mod_delayed_work(adapter->e1000_workqueue, -- &adapter->watchdog_task, HZ); -+ mod_timer(&adapter->watchdog_timer, jiffies + 1); - } - - if (!test_bit(__E1000_DOWN, &adapter->state)) -@@ -4281,6 +4278,7 @@ void e1000e_down(struct e1000_adapter *adapter, bool reset) - - napi_synchronize(&adapter->napi); - -+ del_timer_sync(&adapter->watchdog_timer); - del_timer_sync(&adapter->phy_info_timer); - - spin_lock(&adapter->stats64_lock); -@@ -5152,11 +5150,25 @@ static void e1000e_check_82574_phy_workaround(struct e1000_adapter *adapter) - } - } - -+/** -+ * e1000_watchdog - Timer Call-back -+ * @data: pointer to adapter cast into an unsigned long -+ **/ -+static void e1000_watchdog(struct timer_list *t) -+{ -+ struct e1000_adapter *adapter = from_timer(adapter, t, watchdog_timer); -+ -+ /* Do the rest outside of interrupt context */ -+ schedule_work(&adapter->watchdog_task); -+ -+ /* TODO: make this use queue_delayed_work() */ -+} -+ - static void e1000_watchdog_task(struct work_struct *work) - { - struct e1000_adapter *adapter = container_of(work, - struct e1000_adapter, -- watchdog_task.work); -+ watchdog_task); - struct net_device *netdev = adapter->netdev; - struct e1000_mac_info *mac = &adapter->hw.mac; - struct e1000_phy_info *phy = &adapter->hw.phy; -@@ -5404,9 +5416,8 @@ link_up: - - /* Reset the timer */ - if (!test_bit(__E1000_DOWN, &adapter->state)) -- queue_delayed_work(adapter->e1000_workqueue, -- &adapter->watchdog_task, -- round_jiffies(2 * HZ)); -+ mod_timer(&adapter->watchdog_timer, -+ round_jiffies(jiffies + 2 * HZ)); - } - - #define E1000_TX_FLAGS_CSUM 0x00000001 -@@ -7259,21 +7270,11 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - goto err_eeprom; - } - -- adapter->e1000_workqueue = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, -- e1000e_driver_name); -- -- if (!adapter->e1000_workqueue) { -- err = -ENOMEM; -- goto err_workqueue; -- } -- -- INIT_DELAYED_WORK(&adapter->watchdog_task, e1000_watchdog_task); -- queue_delayed_work(adapter->e1000_workqueue, &adapter->watchdog_task, -- 0); -- -+ timer_setup(&adapter->watchdog_timer, e1000_watchdog, 0); - timer_setup(&adapter->phy_info_timer, e1000_update_phy_info, 0); - - INIT_WORK(&adapter->reset_task, e1000_reset_task); -+ INIT_WORK(&adapter->watchdog_task, e1000_watchdog_task); - INIT_WORK(&adapter->downshift_task, e1000e_downshift_workaround); - INIT_WORK(&adapter->update_phy_task, e1000e_update_phy_task); - INIT_WORK(&adapter->print_hang_task, e1000_print_hw_hang); -@@ -7367,9 +7368,6 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - return 0; - - err_register: -- flush_workqueue(adapter->e1000_workqueue); -- destroy_workqueue(adapter->e1000_workqueue); --err_workqueue: - if (!(adapter->flags & FLAG_HAS_AMT)) - e1000e_release_hw_control(adapter); - err_eeprom: -@@ -7416,17 +7414,15 @@ static void e1000_remove(struct pci_dev *pdev) - */ - if (!down) - set_bit(__E1000_DOWN, &adapter->state); -+ del_timer_sync(&adapter->watchdog_timer); - del_timer_sync(&adapter->phy_info_timer); - - cancel_work_sync(&adapter->reset_task); -+ cancel_work_sync(&adapter->watchdog_task); - cancel_work_sync(&adapter->downshift_task); - cancel_work_sync(&adapter->update_phy_task); - cancel_work_sync(&adapter->print_hang_task); - -- cancel_delayed_work(&adapter->watchdog_task); -- flush_workqueue(adapter->e1000_workqueue); -- destroy_workqueue(adapter->e1000_workqueue); -- - if (adapter->flags & FLAG_HAS_HW_TIMESTAMP) { - cancel_work_sync(&adapter->tx_hwtstamp_work); - if (adapter->tx_hwtstamp_skb) { --- -cgit v1.2.1-1-g437b - diff --git a/PKGBUILD b/PKGBUILD index 58a8343..09a4968 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -19,7 +19,7 @@ _pkgbase=linux-hardened pkgbase=linux-libre-hardened _supver=5 _majver=4 -_minver=10 +_minver=12 _hardenedver=a _gccpatchver='20190822' if [ "$_minver" == "0" ]; then @@ -52,14 +52,13 @@ source=( 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-suspend.patch - 0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch - 0011-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch - 0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch - 0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-register-offset.patch - 0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch - 0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch + 0008-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch + 0009-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch + 0010-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch + 0011-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch + 0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch + 0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch + 0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch https://github.com/anthraxx/${_pkgbase}/releases/download/${pkgver}/${_pkgbase}-${pkgver}.patch{,.sig} graysky_bdver2-hotfix.patch kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz @@ -71,31 +70,30 @@ validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva 'E240B57E2C4630BA768E2F26FC1B547C8D8172C8' # Levente Polyak ) -sha256sums=('d56d4db5a539058382b500c9d8ebec1f76964647220eb3ed107f49c9dabecbab' - 'SKIP' - '47f29ee08459bcb50f5e16f2d73142e6d4cb5ab9de66ab576a2b8a3f44ac84ad' - 'SKIP' - 'f04a451706241e85f49d85c7d9bd892495b2e9d4eb0a353de333e375ed3b3d14' - '15dcdeec72aa042ceb272326225d22dd5f934cd7fa0746924eced3eb4f77703e' - '2d3afe3896644896510cd7a4694a94692a7ca8173006ce8eaa37c87abf2830c8' - '4b3c1cab1ec9258e7632cbdf9bb289186b66d702ada3e5672275297b76f3b226' - 'bd333d79a0f0a21f9da070e27f55786a0355036021b72e91757517daf6412a6d' - '2516be40fe063f7a448c69f170d628dbf549c3e084c2c7eb6910fd4782a6e73f' - '1bcec07561c785e22ca43a140b07b586bc7717ea3c08e7549ec7a3bdfa39b7e2' - 'e2084feabc3abeed37579ff515c367014356a652b85794b1612fea4daabe85d3' - '988ffbb96d85564a9d96145e5973339a8f78ae95d919efb2ee7bb50f7a8e8fc9' - '5257159e20a5fcb102a3b3ee6de33882a9e132e7f1d4345b8730effdd0240bb6' - '03cb03ababc0365f14b7acce5c659438a78cc65a5be0c2349d449361fd54d267' - '33ec2170ace6b4f7dbc1cc751110d325d8619202d0f312587adbc4bef7a045ce' - '54104b9118d9151379589f0b95bce38aaea5d7068e80e7ab5dbdad0b73d7b1b7' - 'f9464bc1980e54f6d090f20658907318456c2d86654c8681fd518083c2596be7' - '03eb363cfb3e040b6ad54bd134b99cc58f45a7a4ae1faa6fb1d64ee450184f8c' - 'SKIP' - 'c5405139aa0a90a6f68f6a13e066a2bd0600c970f9f525cd3aa114b044a7f73b' - '8c11086809864b5cef7d079f930bd40da8d0869c091965fa62e95de9a0fe13b5' - 'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503' - '0f81d6e4158b7beeb0eb514f1b9401f7e23699cb0f7b0d513e25dae1815daaeb' - '953053fcc3b0d2a7f7bdaadc28bdffe44a85cfa62c339b1826bef48d57d17fb0') +b2sums=('43270fe22aeaba6f8c4fc72423176d7eea993ec85b561695f624fbca9702dfabae0a3ee15cb3881d0c7a5b80f979f307e5a39a4ec0fcd28456ece2012bb30e0e' + 'SKIP' + '40a591ca0602bdbbcaaa0b84ee0675d801d21b87102be21d9fceebc88475d9016ab70d7609db7df6150931a225ac50f1760cb2d469e835479d4cce8a9b040e21' + 'SKIP' + '3696586612832416f5f1433eca3e0734467357e1771dfbd411a8b21976659e92633188b2c2d904c05cbd7123c19d06b2ce1d2063aa2e0a21647207ca5cf71f53' + '38b90c7e270501527979413bd280e0c129a23759b6d950f8631336fa636c8511d040bd0408badd63ffc9e2f9144ee35bc8360e63831e9412974bb7fdeba5a3f7' + 'e62bb44e4c097026e47b488c9022ffd1efd142c8c6600807c23caeab821d433d3e026a00886bf22472e66b027175a71efe0042bd6334d017d23756459fa7745b' + '4af9bd681816575959158ebcf36d92f0fedb9d0f5d5112c9aa0dcb84119dd904652bb0478dc6cb28660206ce6982558ac707e018d15b25c5957e9d3016132a63' + '818f30e6af0399e7357d02b8858bc8dc499f74face06a6465745f79db2f3a2b83ab477b0b1354c597b17fbbef3ddd131d077120fad87debb3d47984cdf3e5f39' + '852e1603247dc9e71e6aee2d3c2e21422d96cbce61ea3b65e660a6662cca75012d81e195bc4ef39276aaff0eba222745f956d94a9c215b6a9c57fe1014336e09' + '3e67757e7e88eb6d5badbfa904796397ad88681b40992798099604179852c7c10c0f401992ee6f24f2175a75afe11078182351588425da4e9bff812e0d16361a' + '286d054b866d50c908e4404a81420e05bd438c7f0a5107a9f701eb999281ad6cfeaeb372cf0f777e85d3f36d00e4d3570dffa4264384dc485ba3ff3ac282cda2' + 'd6ada06c39dce7cfd2799b4a6b8784bdebfb8faf3bb88efa55350d3c343bf8e5d3a2c30e7eb00ad85da05b9e68cea63a3a87c3cd9f320beeb9888000943da11b' + '1d3cfb6c115c37c1c844c8d82253dd0ea6314265630a453f63ccb88cbbebb6e3ff1caf9a50b626e7eefa5d0ffb9d574395c1328a308425f5fe2a4704cfb2b2df' + '2f0298d78228e73ed89763281ec7310ccaac0671007d325300c74085bce690c523dccaf335b4b1c3767bdfccc2749bbbfc270fb7f96007522dc210e1e8ce6d94' + 'a073d1a2baf8064146a08920eef4cd4c65730b1294ed07a641cce162c0f3aca6fef9c07b3ca3c02a9b216b67c67533598858afd6a016bba30bb4f415975f4999' + 'af7a16237c1e918e625c9ca6d9f6acdbba5d85abf5154bfbe9eb9609a88a5ea2e7e1c949a67e8e9e39450e0063dd1d3645e3f4525296da513bdd5456b40a0213' + '8320f06dc9d45d12e6bcfba9f81e3b9b6b87fd0f7f44520fc0c1b4a694514273dc30cb5f04b87e17fb49ffacd2cf5c154db6b00d0635812e3faf850880cd71d8' + 'SKIP' + '1892bd22775eac3bcc4d37f4fd30c95346bf3a0888cbbff57fd614973b525390dff2e315ce35b2e498523cceaab94ff21a80475dee8df3de4dd8fc0fab07d74e' + '0b11c09e01a7480466d5237a8792c941c9af3e8d6584ffd84285cd9569f5355c10879566ce5846ef9263535020c53e1aa6c58100a571b537ccb7f2431baf7996' + '2e58bb89b247b1678355368956e67c1de51fcde97a227b2162f6771e30f17fa5520faafe7be4b6816a542e7ae10d05f64c6b6354f352c12746d4b8da632936dd' + 'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a' + '7a08279e1ab29cb4a2b2b3e5ff2743f5fb6fc5a2dbaf71a8adaefaf28b6df82f442e1ebc89532829ea304462efdcb7df3ffd26bb4e23ae6ccea559cb723d167a') export KBUILD_BUILD_HOST=$pkgbase export KBUILD_BUILD_USER=$pkgbase @@ -106,60 +104,59 @@ prepare() { # add upstream patch if [ "$_minver" != "0" ]; then - msg2 "Applying upstream patch" + echo "Applying upstream patch" patch -Np1 < ../patch-${_gnumajver}-${_gnupkgver} fi # Hotfixes - msg2 "Applying hotfixes" + echo "Applying hotfixes" patch -p1 -i ../0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch patch -p1 -i ../0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch patch -p1 -i ../0004-PCI-pciehp-Do-not-disable-interrupt-twice-on-suspend.patch patch -p1 -i ../0005-PCI-pciehp-Prevent-deadlock-on-disconnect.patch patch -p1 -i ../0006-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch patch -p1 -i ../0007-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch - patch -p1 -i ../0008-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch - patch -p1 -i ../0009-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch - patch -p1 -i ../0010-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch - patch -p1 -i ../0011-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch - patch -p1 -i ../0012-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch - patch -p1 -i ../0013-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-register-offset.patch - patch -p1 -i ../0014-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch - patch -p1 -i ../0015-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch + patch -p1 -i ../0008-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch + patch -p1 -i ../0009-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch + patch -p1 -i ../0010-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch + patch -p1 -i ../0011-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch + patch -p1 -i ../0012-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch + patch -p1 -i ../0013-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch + patch -p1 -i ../0014-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch # linux hardened patch - msg2 "Applying hardened patch" + echo "Applying hardened patch" patch -Np1 < ../linux-hardened-${pkgver}.patch # graysky gcc hotfixes - msg2 "Applying graysky gcc patch hotfixes" + echo "Applying graysky gcc patch hotfixes" patch -p1 -i ../graysky_bdver2-hotfix.patch "$srcdir/kernel_gcc_patch-${_gccpatchver}/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v4.13+.patch" # graysky gcc patch - msg2 "Applying graysky cpu patch" + echo "Applying graysky cpu patch" patch -p1 -i ../kernel_gcc_patch-${_gccpatchver}/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v4.13+.patch # Ignore ath9k eeprom patch - msg2 "Applying ath9k patch" + echo "Applying ath9k patch" patch -p1 -i ../ath9k-regdom-hack.patch # Set default raid6 algo patch - msg2 " Applying raid6 patch" + echo " Applying raid6 patch" patch -p1 -i ../raid6-default-algo.patch - msg2 "Setting version..." + echo "Setting version..." sed -e "/^EXTRAVERSION =/s/=.*/= .${_hardenedver}/" -i Makefile scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname - msg2 "Setting config..." + echo "Setting config..." # we are in src/linux-x.yy.zz, looking for a config next to the pkgbuild # if [ -f ${SRCDEST}/config.libre-hardened.previous ]; then # cp ${SRCDEST}/config.libre-hardened.previous .config @@ -189,10 +186,10 @@ prepare() { cat ../version.temp | tr -d "\n" > version # back up the config -# msg2 "Backing up config..." +# echo "Backing up config..." # cp .config ${SRCDEST}/config.libre-hardened.previous - msg2 "Prepared %s version %s" "$pkgbase" "$(