summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2020-01-02 12:57:26 -0800
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2020-01-02 12:57:26 -0800
commit210c962c63ff0797228fb61f33cf675845dfa6c2 (patch)
tree7e373cc0d576a04d241eafaefe2058e3b0f24d80
parentRebuild with hotfixes (diff)
downloadlinux-ck-210c962c63ff0797228fb61f33cf675845dfa6c2.tar.xz
Updated to 5.4.7
Added support for localmodcfg
-rw-r--r--0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch (renamed from 0010-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch)0
-rw-r--r--0007-x86-MCE-AMD-Do-not-use-rdmsr_safe_on_cpu-in-smca_configure.patch72
-rw-r--r--0008-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch (renamed from 0019-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch)0
-rw-r--r--0008-x86-MCE-AMD-Allow-Reserved-types-to-be-overwritten-in-smca_banks.patch95
-rw-r--r--0009-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch (renamed from 0013-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch)0
-rw-r--r--0009-x86-mce-Fix-possibly-incorrect-severity-calculation-on-AMD.patch46
-rw-r--r--0010-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch (renamed from 0014-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch)0
-rw-r--r--0011-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch (renamed from 0015-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch)0
-rw-r--r--0011-iwlwifi-pcie-move-power-gating-workaround-earlier-in-the-flow.patch119
-rw-r--r--0012-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch (renamed from 0016-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch)0
-rw-r--r--0012-x86-intel-Disable-HPET-on-Intel-Coffee-Lake-H-platforms.patch40
-rw-r--r--0013-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch130
-rw-r--r--0017-ASoC-SOF-enable-sync_write-in-hdac_bus.patch39
-rw-r--r--0018-xhci-pci-Allow-host-runtime-PM-as-default-also-for-Intel-Ice-Lake-xHCI.patch48
-rw-r--r--PKGBUILD49
-rw-r--r--config2
16 files changed, 152 insertions, 488 deletions
diff --git a/0010-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch b/0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch
index 5278317..5278317 100644
--- a/0010-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch
+++ b/0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch
diff --git a/0007-x86-MCE-AMD-Do-not-use-rdmsr_safe_on_cpu-in-smca_configure.patch b/0007-x86-MCE-AMD-Do-not-use-rdmsr_safe_on_cpu-in-smca_configure.patch
deleted file mode 100644
index 659a1dd..0000000
--- a/0007-x86-MCE-AMD-Do-not-use-rdmsr_safe_on_cpu-in-smca_configure.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 1a95a3417bdadb0528e16745802688c393aa0afd Mon Sep 17 00:00:00 2001
-From: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
-Date: Thu, 31 Oct 2019 16:04:48 +0300
-Subject: x86/MCE/AMD: Do not use rdmsr_safe_on_cpu() in smca_configure()
-
-... because interrupts are disabled that early and sending IPIs can
-deadlock:
-
- BUG: sleeping function called from invalid context at kernel/sched/completion.c:99
- in_atomic(): 1, irqs_disabled(): 1, non_block: 0, pid: 0, name: swapper/1
- no locks held by swapper/1/0.
- irq event stamp: 0
- hardirqs last enabled at (0): [<0000000000000000>] 0x0
- hardirqs last disabled at (0): [<ffffffff8106dda9>] copy_process+0x8b9/0x1ca0
- softirqs last enabled at (0): [<ffffffff8106dda9>] copy_process+0x8b9/0x1ca0
- softirqs last disabled at (0): [<0000000000000000>] 0x0
- Preemption disabled at:
- [<ffffffff8104703b>] start_secondary+0x3b/0x190
- CPU: 1 PID: 0 Comm: swapper/1 Not tainted 5.5.0-rc2+ #1
- Hardware name: GIGABYTE MZ01-CE1-00/MZ01-CE1-00, BIOS F02 08/29/2018
- Call Trace:
- dump_stack
- ___might_sleep.cold.92
- wait_for_completion
- ? generic_exec_single
- rdmsr_safe_on_cpu
- ? wrmsr_on_cpus
- mce_amd_feature_init
- mcheck_cpu_init
- identify_cpu
- identify_secondary_cpu
- smp_store_cpu_info
- start_secondary
- secondary_startup_64
-
-The function smca_configure() is called only on the current CPU anyway,
-therefore replace rdmsr_safe_on_cpu() with atomic rdmsr_safe() and avoid
-the IPI.
-
- [ bp: Update commit message. ]
-
-Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Reviewed-by: Yazen Ghannam <yazen.ghannam@amd.com>
-Cc: "H. Peter Anvin" <hpa@zytor.com>
-Cc: Ingo Molnar <mingo@redhat.com>
-Cc: linux-edac <linux-edac@vger.kernel.org>
-Cc: <stable@vger.kernel.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: Tony Luck <tony.luck@intel.com>
-Cc: x86-ml <x86@kernel.org>
-Link: https://lkml.kernel.org/r/157252708836.3876.4604398213417262402.stgit@buzz
----
- arch/x86/kernel/cpu/mce/amd.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/x86/kernel/cpu/mce/amd.c b/arch/x86/kernel/cpu/mce/amd.c
-index 6ea7fdc82f3c..c7ab0d38af79 100644
---- a/arch/x86/kernel/cpu/mce/amd.c
-+++ b/arch/x86/kernel/cpu/mce/amd.c
-@@ -269,7 +269,7 @@ static void smca_configure(unsigned int bank, unsigned int cpu)
- if (smca_banks[bank].hwid)
- return;
-
-- if (rdmsr_safe_on_cpu(cpu, MSR_AMD64_SMCA_MCx_IPID(bank), &low, &high)) {
-+ if (rdmsr_safe(MSR_AMD64_SMCA_MCx_IPID(bank), &low, &high)) {
- pr_warn("Failed to read MCA_IPID for bank %d\n", bank);
- return;
- }
---
-cgit v1.2.1-1-g437b
-
diff --git a/0019-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch b/0008-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
index 7611c7a..7611c7a 100644
--- a/0019-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
+++ b/0008-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
diff --git a/0008-x86-MCE-AMD-Allow-Reserved-types-to-be-overwritten-in-smca_banks.patch b/0008-x86-MCE-AMD-Allow-Reserved-types-to-be-overwritten-in-smca_banks.patch
deleted file mode 100644
index d8c1af2..0000000
--- a/0008-x86-MCE-AMD-Allow-Reserved-types-to-be-overwritten-in-smca_banks.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 14e0c3a2f956421e0731a1b5e474b3428c8bda24 Mon Sep 17 00:00:00 2001
-From: Yazen Ghannam <yazen.ghannam@amd.com>
-Date: Thu, 21 Nov 2019 08:15:08 -0600
-Subject: x86/MCE/AMD: Allow Reserved types to be overwritten in smca_banks[]
-
-Each logical CPU in Scalable MCA systems controls a unique set of MCA
-banks in the system. These banks are not shared between CPUs. The bank
-types and ordering will be the same across CPUs on currently available
-systems.
-
-However, some CPUs may see a bank as Reserved/Read-as-Zero (RAZ) while
-other CPUs do not. In this case, the bank seen as Reserved on one CPU is
-assumed to be the same type as the bank seen as a known type on another
-CPU.
-
-In general, this occurs when the hardware represented by the MCA bank
-is disabled, e.g. disabled memory controllers on certain models, etc.
-The MCA bank is disabled in the hardware, so there is no possibility of
-getting an MCA/MCE from it even if it is assumed to have a known type.
-
-For example:
-
-Full system:
- Bank | Type seen on CPU0 | Type seen on CPU1
- ------------------------------------------------
- 0 | LS | LS
- 1 | UMC | UMC
- 2 | CS | CS
-
-System with hardware disabled:
- Bank | Type seen on CPU0 | Type seen on CPU1
- ------------------------------------------------
- 0 | LS | LS
- 1 | UMC | RAZ
- 2 | CS | CS
-
-For this reason, there is a single, global struct smca_banks[] that is
-initialized at boot time. This array is initialized on each CPU as it
-comes online. However, the array will not be updated if an entry already
-exists.
-
-This works as expected when the first CPU (usually CPU0) has all
-possible MCA banks enabled. But if the first CPU has a subset, then it
-will save a "Reserved" type in smca_banks[]. Successive CPUs will then
-not be able to update smca_banks[] even if they encounter a known bank
-type.
-
-This may result in unexpected behavior. Depending on the system
-configuration, a user may observe issues enumerating the MCA
-thresholding sysfs interface. The issues may be as trivial as sysfs
-entries not being available, or as severe as system hangs.
-
-For example:
-
- Bank | Type seen on CPU0 | Type seen on CPU1
- ------------------------------------------------
- 0 | LS | LS
- 1 | RAZ | UMC
- 2 | CS | CS
-
-Extend the smca_banks[] entry check to return if the entry is a
-non-reserved type. Otherwise, continue so that CPUs that encounter a
-known bank type can update smca_banks[].
-
-Fixes: 68627a697c19 ("x86/mce/AMD, EDAC/mce_amd: Enumerate Reserved SMCA bank type")
-Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Cc: "H. Peter Anvin" <hpa@zytor.com>
-Cc: Ingo Molnar <mingo@kernel.org>
-Cc: linux-edac <linux-edac@vger.kernel.org>
-Cc: <stable@vger.kernel.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: Tony Luck <tony.luck@intel.com>
-Cc: x86-ml <x86@kernel.org>
-Link: https://lkml.kernel.org/r/20191121141508.141273-1-Yazen.Ghannam@amd.com
----
- arch/x86/kernel/cpu/mce/amd.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/x86/kernel/cpu/mce/amd.c b/arch/x86/kernel/cpu/mce/amd.c
-index c7ab0d38af79..259f3f4e2e5f 100644
---- a/arch/x86/kernel/cpu/mce/amd.c
-+++ b/arch/x86/kernel/cpu/mce/amd.c
-@@ -266,7 +266,7 @@ static void smca_configure(unsigned int bank, unsigned int cpu)
- smca_set_misc_banks_map(bank, cpu);
-
- /* Return early if this bank was already initialized. */
-- if (smca_banks[bank].hwid)
-+ if (smca_banks[bank].hwid && smca_banks[bank].hwid->hwid_mcatype != 0)
- return;
-
- if (rdmsr_safe(MSR_AMD64_SMCA_MCx_IPID(bank), &low, &high)) {
---
-cgit v1.2.1-1-g437b
-
diff --git a/0013-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch b/0009-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch
index 6cb930a..6cb930a 100644
--- a/0013-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch
+++ b/0009-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch
diff --git a/0009-x86-mce-Fix-possibly-incorrect-severity-calculation-on-AMD.patch b/0009-x86-mce-Fix-possibly-incorrect-severity-calculation-on-AMD.patch
deleted file mode 100644
index 0904cdd..0000000
--- a/0009-x86-mce-Fix-possibly-incorrect-severity-calculation-on-AMD.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 583bb4015fc2279dc8e482dacb9ba30bcb738be1 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jan=20H=2E=20Sch=C3=B6nherr?= <jschoenh@amazon.de>
-Date: Tue, 10 Dec 2019 01:07:30 +0100
-Subject: x86/mce: Fix possibly incorrect severity calculation on AMD
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The function mce_severity_amd_smca() requires m->bank to be initialized
-for correct operation. Fix the one case, where mce_severity() is called
-without doing so.
-
-Fixes: 6bda529ec42e ("x86/mce: Grade uncorrected errors for SMCA-enabled systems")
-Fixes: d28af26faa0b ("x86/MCE: Initialize mce.bank in the case of a fatal error in mce_no_way_out()")
-Signed-off-by: Jan H. Schönherr <jschoenh@amazon.de>
-Signed-off-by: Borislav Petkov <bp@suse.de>
-Reviewed-by: Tony Luck <tony.luck@intel.com>
-Cc: "H. Peter Anvin" <hpa@zytor.com>
-Cc: Ingo Molnar <mingo@kernel.org>
-Cc: linux-edac <linux-edac@vger.kernel.org>
-Cc: <stable@vger.kernel.org>
-Cc: Thomas Gleixner <tglx@linutronix.de>
-Cc: x86-ml <x86@kernel.org>
-Cc: Yazen Ghannam <Yazen.Ghannam@amd.com>
-Link: https://lkml.kernel.org/r/20191210000733.17979-4-jschoenh@amazon.de
----
- arch/x86/kernel/cpu/mce/core.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
-index 743370ee4983..aecb15ba66cd 100644
---- a/arch/x86/kernel/cpu/mce/core.c
-+++ b/arch/x86/kernel/cpu/mce/core.c
-@@ -814,8 +814,8 @@ static int mce_no_way_out(struct mce *m, char **msg, unsigned long *validp,
- if (quirk_no_way_out)
- quirk_no_way_out(i, m, regs);
-
-+ m->bank = i;
- if (mce_severity(m, mca_cfg.tolerant, &tmp, true) >= MCE_PANIC_SEVERITY) {
-- m->bank = i;
- mce_read_aux(m, i);
- *msg = tmp;
- return 1;
---
-cgit v1.2.1-1-g437b
-
diff --git a/0014-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch b/0010-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch
index 6ea75b6..6ea75b6 100644
--- a/0014-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch
+++ b/0010-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch
diff --git a/0015-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch b/0011-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch
index 7c46dbe..7c46dbe 100644
--- a/0015-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch
+++ b/0011-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch
diff --git a/0011-iwlwifi-pcie-move-power-gating-workaround-earlier-in-the-flow.patch b/0011-iwlwifi-pcie-move-power-gating-workaround-earlier-in-the-flow.patch
deleted file mode 100644
index 457542b..0000000
--- a/0011-iwlwifi-pcie-move-power-gating-workaround-earlier-in-the-flow.patch
+++ /dev/null
@@ -1,119 +0,0 @@
-From 9894b27702c2e6090213f84db3e3d47f191253cd Mon Sep 17 00:00:00 2001
-From: Luca Coelho <luciano.coelho@intel.com>
-Date: Thu, 5 Dec 2019 09:03:54 +0200
-Subject: iwlwifi: pcie: move power gating workaround earlier in the flow
-
-We need to reset the NIC after setting the bits to enable power
-gating and that cannot be done too late in the flow otherwise it
-cleans other registers and things that were already configured,
-causing initialization to fail.
-
-In order to fix this, move the function to the common code in trans.c
-so it can be called directly from there at an earlier point, just
-after the reset we already do during initialization.
-
-Fixes: 9a47cb988338 ("iwlwifi: pcie: add workaround for power gating in integrated 22000")
-Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=205719
-Cc: stable@ver.kernel.org # 5.4+
-Reported-by: Anders Kaseorg <andersk@mit.edu>
-Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
-Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
----
- .../net/wireless/intel/iwlwifi/pcie/trans-gen2.c | 25 ------------------
- drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 30 ++++++++++++++++++++++
- 2 files changed, 30 insertions(+), 25 deletions(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c
-index ca3bb4d65b00..df8455f14e4d 100644
---- a/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c
-+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans-gen2.c
-@@ -57,24 +57,6 @@
- #include "internal.h"
- #include "fw/dbg.h"
-
--static int iwl_pcie_gen2_force_power_gating(struct iwl_trans *trans)
--{
-- iwl_set_bits_prph(trans, HPM_HIPM_GEN_CFG,
-- HPM_HIPM_GEN_CFG_CR_FORCE_ACTIVE);
-- udelay(20);
-- iwl_set_bits_prph(trans, HPM_HIPM_GEN_CFG,
-- HPM_HIPM_GEN_CFG_CR_PG_EN |
-- HPM_HIPM_GEN_CFG_CR_SLP_EN);
-- udelay(20);
-- iwl_clear_bits_prph(trans, HPM_HIPM_GEN_CFG,
-- HPM_HIPM_GEN_CFG_CR_FORCE_ACTIVE);
--
-- iwl_trans_sw_reset(trans);
-- iwl_clear_bit(trans, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE);
--
-- return 0;
--}
--
- /*
- * Start up NIC's basic functionality after it has been reset
- * (e.g. after platform boot, or shutdown via iwl_pcie_apm_stop())
-@@ -110,13 +92,6 @@ int iwl_pcie_gen2_apm_init(struct iwl_trans *trans)
-
- iwl_pcie_apm_config(trans);
-
-- if (trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_22000 &&
-- trans->cfg->integrated) {
-- ret = iwl_pcie_gen2_force_power_gating(trans);
-- if (ret)
-- return ret;
-- }
--
- ret = iwl_finish_nic_init(trans, trans->trans_cfg);
- if (ret)
- return ret;
-diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
-index 6961f00ff812..d3db38c3095b 100644
---- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
-+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
-@@ -1783,6 +1783,29 @@ static int iwl_trans_pcie_clear_persistence_bit(struct iwl_trans *trans)
- return 0;
- }
-
-+static int iwl_pcie_gen2_force_power_gating(struct iwl_trans *trans)
-+{
-+ int ret;
-+
-+ ret = iwl_finish_nic_init(trans, trans->trans_cfg);
-+ if (ret < 0)
-+ return ret;
-+
-+ iwl_set_bits_prph(trans, HPM_HIPM_GEN_CFG,
-+ HPM_HIPM_GEN_CFG_CR_FORCE_ACTIVE);
-+ udelay(20);
-+ iwl_set_bits_prph(trans, HPM_HIPM_GEN_CFG,
-+ HPM_HIPM_GEN_CFG_CR_PG_EN |
-+ HPM_HIPM_GEN_CFG_CR_SLP_EN);
-+ udelay(20);
-+ iwl_clear_bits_prph(trans, HPM_HIPM_GEN_CFG,
-+ HPM_HIPM_GEN_CFG_CR_FORCE_ACTIVE);
-+
-+ iwl_trans_pcie_sw_reset(trans);
-+
-+ return 0;
-+}
-+
- static int _iwl_trans_pcie_start_hw(struct iwl_trans *trans)
- {
- struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
-@@ -1802,6 +1825,13 @@ static int _iwl_trans_pcie_start_hw(struct iwl_trans *trans)
-
- iwl_trans_pcie_sw_reset(trans);
-
-+ if (trans->trans_cfg->device_family == IWL_DEVICE_FAMILY_22000 &&
-+ trans->cfg->integrated) {
-+ err = iwl_pcie_gen2_force_power_gating(trans);
-+ if (err)
-+ return err;
-+ }
-+
- err = iwl_pcie_apm_init(trans);
- if (err)
- return err;
---
-cgit v1.2.1-1-g437b
-
diff --git a/0016-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch b/0012-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch
index 8d5b9ae..8d5b9ae 100644
--- a/0016-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch
+++ b/0012-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch
diff --git a/0012-x86-intel-Disable-HPET-on-Intel-Coffee-Lake-H-platforms.patch b/0012-x86-intel-Disable-HPET-on-Intel-Coffee-Lake-H-platforms.patch
deleted file mode 100644
index 308b2ab..0000000
--- a/0012-x86-intel-Disable-HPET-on-Intel-Coffee-Lake-H-platforms.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From d112ebe17985ec073ae6edd0d46fa7a18fbe50cd Mon Sep 17 00:00:00 2001
-From: Kai-Heng Feng <kai.heng.feng@canonical.com>
-Date: Fri, 29 Nov 2019 14:23:02 +0800
-Subject: x86/intel: Disable HPET on Intel Coffee Lake H platforms
-
-Coffee Lake H SoC has similar behavior as Coffee Lake, skewed HPET timer
-once the SoCs entered PC10.
-
-So let's disable HPET on CFL-H platforms.
-
-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-1-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 4cba91ec8049..606711f5ebf8 100644
---- a/arch/x86/kernel/early-quirks.c
-+++ b/arch/x86/kernel/early-quirks.c
-@@ -710,6 +710,8 @@ static struct chipset early_qrk[] __initdata = {
- */
- { PCI_VENDOR_ID_INTEL, 0x0f00,
- PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet},
-+ { PCI_VENDOR_ID_INTEL, 0x3e20,
-+ 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_BROADCOM, 0x4331,
---
-cgit v1.2.1-1-g437b
-
diff --git a/0013-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch b/0013-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch
new file mode 100644
index 0000000..5ee3f39
--- /dev/null
+++ b/0013-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch
@@ -0,0 +1,130 @@
+From 8c19c0f7eacb125b9a097d080a385d527f8ff836 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: 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 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/0017-ASoC-SOF-enable-sync_write-in-hdac_bus.patch b/0017-ASoC-SOF-enable-sync_write-in-hdac_bus.patch
deleted file mode 100644
index ee901e8..0000000
--- a/0017-ASoC-SOF-enable-sync_write-in-hdac_bus.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 7699523eeae2b47440faa96cbed32c5e23db0e75 Mon Sep 17 00:00:00 2001
-From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Date: Tue, 8 Oct 2019 11:44:35 -0500
-Subject: ASoC: SOF: enable sync_write in hdac_bus
-
-Align SOF HDA implementation with snd-hda-intel driver and enable
-sync_write flag for all supported Intel platforms in SOF. When set,
-a sync is issued after each verb write.
-
-Sync after write has helped to overcome intermittent delays in
-system resume flow on Intel Coffee Lake systems, and most recently
-probe errors related to the HDMI codec on Ice Lake systems.
-
-Matches the snd-hda-intel driver change done in commit 2756d9143aa5
-("ALSA: hda - Fix intermittent CORB/RIRB stall on Intel chips").
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
-Link: https://lore.kernel.org/r/20191008164443.1358-2-pierre-louis.bossart@linux.intel.com
-Signed-off-by: Mark Brown <broonie@kernel.org>
----
- sound/soc/sof/intel/hda.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c
-index 06e84679087b..5a5163eef2ef 100644
---- a/sound/soc/sof/intel/hda.c
-+++ b/sound/soc/sof/intel/hda.c
-@@ -268,6 +268,7 @@ static int hda_init(struct snd_sof_dev *sdev)
-
- bus->use_posbuf = 1;
- bus->bdl_pos_adj = 0;
-+ bus->sync_write = 1;
-
- mutex_init(&hbus->prepare_mutex);
- hbus->pci = pci;
---
-cgit v1.2.1-1-g437b
-
diff --git a/0018-xhci-pci-Allow-host-runtime-PM-as-default-also-for-Intel-Ice-Lake-xHCI.patch b/0018-xhci-pci-Allow-host-runtime-PM-as-default-also-for-Intel-Ice-Lake-xHCI.patch
deleted file mode 100644
index 12130cc..0000000
--- a/0018-xhci-pci-Allow-host-runtime-PM-as-default-also-for-Intel-Ice-Lake-xHCI.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 74641e1ede93144485509cb7c2c682602107ec6b Mon Sep 17 00:00:00 2001
-From: Mika Westerberg <mika.westerberg@linux.intel.com>
-Date: Fri, 15 Nov 2019 18:50:03 +0200
-Subject: xhci-pci: Allow host runtime PM as default also for Intel Ice Lake
- xHCI
-
-Intel Ice Lake has two xHCI controllers one on PCH and the other as part
-of the CPU itself. The latter is also part of the so called Type C
-Subsystem (TCSS) sharing ACPI power resources with the PCIe root ports
-and the Thunderbolt controllers. In order to put the whole TCSS block
-into D3cold the xHCI needs to be runtime suspended as well when idle.
-
-For this reason allow runtime PM as default for Ice Lake TCSS xHCI
-controller.
-
-Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
-Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
-Link: https://lore.kernel.org/r/1573836603-10871-5-git-send-email-mathias.nyman@linux.intel.com
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- drivers/usb/host/xhci-pci.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
-index 1904ef56f61c..2907fe4d78dd 100644
---- a/drivers/usb/host/xhci-pci.c
-+++ b/drivers/usb/host/xhci-pci.c
-@@ -48,6 +48,7 @@
- #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI 0x15e9
- #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_XHCI 0x15ec
- #define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI 0x15f0
-+#define PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI 0x8a13
-
- #define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9
- #define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba
-@@ -212,7 +213,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
- pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI ||
- pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI ||
- pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_XHCI ||
-- pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI))
-+ pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI ||
-+ pdev->device == PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI))
- xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;
-
- if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
---
-cgit v1.2.1-1-g437b
-
diff --git a/PKGBUILD b/PKGBUILD
index 520705a..cc76c58 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,7 +17,7 @@
pkgbase=linux-ck
_supver=5
_majver=4
-_minver=6
+_minver=7
_gccpatchver='20190822'
_ckpatchversion=ck1
if [ "$_minver" == "0" ]; then
@@ -25,7 +25,7 @@ _ckpatchversion=ck1
else
pkgver=${_supver}.${_majver}.${_minver}
fi
-pkgrel=3
+pkgrel=1
pkgdesc='Linux-ck'
url='https://kernel.org'
#url='http://ck.kolivas.org/patches/'
@@ -45,19 +45,13 @@ source=(
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-x86-MCE-AMD-Do-not-use-rdmsr_safe_on_cpu-in-smca_configure.patch
- 0008-x86-MCE-AMD-Allow-Reserved-types-to-be-overwritten-in-smca_banks.patch
- 0009-x86-mce-Fix-possibly-incorrect-severity-calculation-on-AMD.patch
- 0010-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch
- 0011-iwlwifi-pcie-move-power-gating-workaround-earlier-in-the-flow.patch
- 0012-x86-intel-Disable-HPET-on-Intel-Coffee-Lake-H-platforms.patch
- 0013-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch
- 0014-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch
- 0015-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch
- 0016-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch
- 0017-ASoC-SOF-enable-sync_write-in-hdac_bus.patch
- 0018-xhci-pci-Allow-host-runtime-PM-as-default-also-for-Intel-Ice-Lake-xHCI.patch
- 0019-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
+ 0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch
+ 0008-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
+ 0009-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch
+ 0010-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch
+ 0011-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch
+ 0012-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch
+ 0013-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch
linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion}.xz::http://ck.kolivas.org/patches/${_supver}.0/${_supver}.${_majver}/${_supver}.${_majver}-${_ckpatchversion}/patch-${_supver}.${_majver}-${_ckpatchversion}.xz
graysky_bdver2-hotfix.patch
kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz
@@ -120,19 +114,13 @@ prepare() {
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-x86-MCE-AMD-Do-not-use-rdmsr_safe_on_cpu-in-smca_configure.patch
- patch -p1 -i ../0008-x86-MCE-AMD-Allow-Reserved-types-to-be-overwritten-in-smca_banks.patch
- patch -p1 -i ../0009-x86-mce-Fix-possibly-incorrect-severity-calculation-on-AMD.patch
- patch -p1 -i ../0010-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch
- patch -p1 -i ../0011-iwlwifi-pcie-move-power-gating-workaround-earlier-in-the-flow.patch
- patch -p1 -i ../0012-x86-intel-Disable-HPET-on-Intel-Coffee-Lake-H-platforms.patch
- patch -p1 -i ../0013-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch
- patch -p1 -i ../0014-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch
- patch -p1 -i ../0015-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch
- patch -p1 -i ../0016-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch
- patch -p1 -i ../0017-ASoC-SOF-enable-sync_write-in-hdac_bus.patch
- patch -p1 -i ../0018-xhci-pci-Allow-host-runtime-PM-as-default-also-for-Intel-Ice-Lake-xHCI.patch
- patch -p1 -i ../0019-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
+ patch -p1 -i ../0007-Revert-iwlwifi-assign-directly-to-iwl_trans-cfg-in-QuZ-detection.patch
+ patch -p1 -i ../0008-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
+ patch -p1 -i ../0009-x86-intel-Disable-HPET-on-Intel-Ice-Lake-platforms.patch
+ patch -p1 -i ../0010-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-suspend.patch
+ patch -p1 -i ../0011-drm-i915-Fix-audio-power-up-sequence-for-gen10-display.patch
+ patch -p1 -i ../0012-drm-i915-extend-audio-CDCLK-2BCLK-constraint-to-more-platforms.patch
+ patch -p1 -i ../0013-drm-i915-gt-Detect-if-we-miss-WaIdleLiteRestore.patch
# fix naming schema in EXTRAVERSION of ck patch set
sed -i -re "s/^(.EXTRAVERSION).*$/\1 = /" "../linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion}"
@@ -176,6 +164,11 @@ prepare() {
make olddefconfig
+ if [ -f $HOME/.config/modprobed.db ]; then
+ msg2 "Running make localmodconfig"
+ make LSMOD=$HOME/.config/modprobed.db localmodconfig
+ fi
+
make menuconfig
# Remove sublevel when no sublevel exists
diff --git a/config b/config
index 4cac3b3..6dd1ff1 100644
--- a/config
+++ b/config
@@ -8372,7 +8372,7 @@ CONFIG_RPMSG_QCOM_GLINK_RPM=m
CONFIG_RPMSG_VIRTIO=m
# end of Rpmsg drivers
-CONFIG_SOUNDWIRE=y
+CONFIG_SOUNDWIRE=m
#
# SoundWire Devices