From 1e9eaef29e62a924a13edfaa6f81fd8e2db191e5 Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Tue, 4 Feb 2020 14:47:21 -0800 Subject: Updated to 5.5.2 --- ...ctl-and-CONFIG-to-disallow-unprivileged-C.patch | 17 +- ...cie-restore-support-for-Killer-Qu-C0-NICs.patch | 42 +++ ...vres-add-a-helper-function-for-ioremap_uc.patch | 79 ----- ...-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch | 182 +++++++++++ ...d-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch | 48 --- ...PCI-pciehp-Prevent-deadlock-on-disconnect.patch | 272 ---------------- ...-invalid-clone-operations-within-the-same.patch | 114 +++++++ ...s2idle-Rework-ACPI-events-synchronization.patch | 78 ----- ...cie-restore-support-for-Killer-Qu-C0-NICs.patch | 36 --- ...ve-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch | 87 ------ ...x-audio-power-up-sequence-for-gen10-displ.patch | 57 ---- ...tend-audio-CDCLK-2-BCLK-constraint-to-mor.patch | 41 --- ...mit-audio-CDCLK-2-BCLK-constraint-back-to.patch | 64 ---- ...ert-e1000e-Make-watchdog-use-delayed-work.patch | 174 ----------- ...Add-DC-feature-mask-to-disable-fractional.patch | 80 ----- PKGBUILD | 67 ++-- config | 342 +++++++++++++-------- 17 files changed, 576 insertions(+), 1204 deletions(-) create mode 100644 0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch delete mode 100644 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch create mode 100644 0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch delete mode 100644 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch delete mode 100644 0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch create mode 100644 0004-btrfs-send-fix-emission-of-invalid-clone-operations-within-the-same.patch delete mode 100644 0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch delete mode 100644 0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch delete mode 100644 0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch delete mode 100644 0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch delete mode 100644 0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch delete mode 100644 0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch delete mode 100644 0011-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch delete mode 100644 0012-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch diff --git a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index a0f8524..04852f6 100644 --- a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,8 +1,7 @@ -From ace933a17f0b2e6e75e5ed330e8c12efae62aa53 Mon Sep 17 00:00:00 2001 +From 673deeaa0505b542ef9516a42ced24d724c2cc6f Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Mon, 16 Sep 2019 04:53:20 +0200 -Subject: [PATCH 01/16] ZEN: Add sysctl and CONFIG to disallow unprivileged - CLONE_NEWUSER +Subject: ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. --- @@ -13,10 +12,10 @@ Our default behavior continues to match the vanilla kernel. 4 files changed, 50 insertions(+) diff --git a/init/Kconfig b/init/Kconfig -index b4daad2bac23..362f82c5ec07 100644 +index a34064a031a5..0342f34271b3 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1118,6 +1118,22 @@ config USER_NS +@@ -1102,6 +1102,22 @@ config USER_NS If unsure, say N. @@ -40,7 +39,7 @@ index b4daad2bac23..362f82c5ec07 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index 755d8160e001..ed909f8050b2 100644 +index 080809560072..1cb7b827b57b 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -106,6 +106,11 @@ @@ -55,7 +54,7 @@ index 755d8160e001..ed909f8050b2 100644 /* * Minimum number of threads to boot the kernel -@@ -1779,6 +1784,10 @@ static __latent_entropy struct task_struct *copy_process( +@@ -1843,6 +1848,10 @@ static __latent_entropy struct task_struct *copy_process( if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) return ERR_PTR(-EINVAL); @@ -66,7 +65,7 @@ index 755d8160e001..ed909f8050b2 100644 /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -2836,6 +2845,12 @@ int ksys_unshare(unsigned long unshare_flags) +@@ -2923,6 +2932,12 @@ int ksys_unshare(unsigned long unshare_flags) if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; @@ -128,5 +127,5 @@ index 8eadadc478f9..c36ecd19562c 100644 static DEFINE_MUTEX(userns_state_mutex); -- -2.25.0 +cgit v1.2.1-1-g437b diff --git a/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch b/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch new file mode 100644 index 0000000..c98f5b1 --- /dev/null +++ b/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch @@ -0,0 +1,42 @@ +From 6566cb507b8ab275efd1f39e89c4db0d127eea00 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Tue, 24 Dec 2019 06:16:39 +0100 +Subject: iwlwifi: pcie: restore support for Killer Qu C0 NICs + +Commit 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from +trans_pcie_alloc to probe") refactored the cfg mangling. Unfortunately, +in this process the lines which picked the right cfg for Killer Qu C0 +NICs after C0 detection were lost. These lines were added by commit +b9500577d361 ("iwlwifi: pcie: handle switching killer Qu B0 NICs to +C0"). + +I suspect this is more of the "merge damage" which commit 7cded5658329 +("iwlwifi: pcie: fix merge damage on making QnJ exclusive") talks about. + +Restore the missing lines so the driver loads the right firmware for +these NICs. + +Fixes: 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe") +Signed-off-by: Jan Alexander Steffens (heftig) +--- + drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +index b0b7eca1754e..de62a6dc4e73 100644 +--- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c ++++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +@@ -1107,6 +1107,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) + cfg = &iwl9560_2ac_cfg_qu_c0_jf_b0; + else if (cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0) + cfg = &iwl9560_2ac_160_cfg_qu_c0_jf_b0; ++ else if (cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) ++ cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0; ++ else if (cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) ++ cfg = &killer1650i_2ax_cfg_qu_c0_hr_b0; + } + + /* same thing for QuZ... */ +-- +cgit v1.2.1-1-g437b + 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 deleted file mode 100644 index 3f0667d..0000000 --- a/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 78b64515af95e12dac806fa630ae4499e9527100 Mon Sep 17 00:00:00 2001 -From: Tuowen Zhao -Date: Wed, 16 Oct 2019 15:06:28 -0600 -Subject: [PATCH 02/16] lib: devres: add a helper function for ioremap_uc - -Implement a resource managed strongly uncachable ioremap function. - -Cc: # v4.19+ -Tested-by: AceLan Kao -Signed-off-by: Tuowen Zhao -Acked-by: Mika Westerberg -Acked-by: Andy Shevchenko -Acked-by: Luis Chamberlain -Signed-off-by: Lee Jones ---- - include/linux/io.h | 2 ++ - lib/devres.c | 19 +++++++++++++++++++ - 2 files changed, 21 insertions(+) - -diff --git a/include/linux/io.h b/include/linux/io.h -index accac822336a..a59834bc0a11 100644 ---- a/include/linux/io.h -+++ b/include/linux/io.h -@@ -64,6 +64,8 @@ static inline void devm_ioport_unmap(struct device *dev, void __iomem *addr) - - void __iomem *devm_ioremap(struct device *dev, resource_size_t offset, - resource_size_t size); -+void __iomem *devm_ioremap_uc(struct device *dev, resource_size_t offset, -+ resource_size_t size); - void __iomem *devm_ioremap_nocache(struct device *dev, resource_size_t offset, - resource_size_t size); - void __iomem *devm_ioremap_wc(struct device *dev, resource_size_t offset, -diff --git a/lib/devres.c b/lib/devres.c -index 6a0e9bd6524a..17624d35e82d 100644 ---- a/lib/devres.c -+++ b/lib/devres.c -@@ -9,6 +9,7 @@ - enum devm_ioremap_type { - DEVM_IOREMAP = 0, - DEVM_IOREMAP_NC, -+ DEVM_IOREMAP_UC, - DEVM_IOREMAP_WC, - }; - -@@ -39,6 +40,9 @@ static void __iomem *__devm_ioremap(struct device *dev, resource_size_t offset, - case DEVM_IOREMAP_NC: - addr = ioremap_nocache(offset, size); - break; -+ case DEVM_IOREMAP_UC: -+ addr = ioremap_uc(offset, size); -+ break; - case DEVM_IOREMAP_WC: - addr = ioremap_wc(offset, size); - break; -@@ -68,6 +72,21 @@ void __iomem *devm_ioremap(struct device *dev, resource_size_t offset, - } - EXPORT_SYMBOL(devm_ioremap); - -+/** -+ * devm_ioremap_uc - Managed ioremap_uc() -+ * @dev: Generic device to remap IO address for -+ * @offset: Resource address to map -+ * @size: Size of map -+ * -+ * Managed ioremap_uc(). Map is automatically unmapped on driver detach. -+ */ -+void __iomem *devm_ioremap_uc(struct device *dev, resource_size_t offset, -+ resource_size_t size) -+{ -+ return __devm_ioremap(dev, offset, size, DEVM_IOREMAP_UC); -+} -+EXPORT_SYMBOL_GPL(devm_ioremap_uc); -+ - /** - * devm_ioremap_nocache - Managed ioremap_nocache() - * @dev: Generic device to remap IO address for --- -2.25.0 - diff --git a/0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch b/0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch new file mode 100644 index 0000000..1e74d55 --- /dev/null +++ b/0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch @@ -0,0 +1,182 @@ +From 6b43b6519a752c51657b9afa4eb844cad29d2b8c Mon Sep 17 00:00:00 2001 +From: Nikhil Mahale +Date: Mon, 3 Feb 2020 15:36:17 +0530 +Subject: ALSA: hda - Fix DP-MST support for NVIDIA codecs + +If dyn_pcm_assign is set, different jack objects are being created +for pcm and pins. + +If dyn_pcm_assign is set, generic_hdmi_build_jack() calls into +add_hdmi_jack_kctl() to create and track separate jack object for +pcm. Like sync_eld_via_acomp(), hdmi_present_sense_via_verbs() also +need to report status change of the pcm jack. + +Rename pin_idx_to_jack() to pin_idx_to_pcm_jack(). The code to +report status change of pcm jack, move it to update_eld() which is +common for acomp and !acomp code paths. + +Fixes: 5398e94fb753 ALSA: hda - Add DP-MST support for NVIDIA codecs +Signed-off-by: Nikhil Mahale +--- + sound/pci/hda/patch_hdmi.c | 94 +++++++++++++++++++++++----------------------- + 1 file changed, 47 insertions(+), 47 deletions(-) + +diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c +index 630b1f5c276d..469b25065643 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -1477,6 +1477,35 @@ static void hdmi_pcm_reset_pin(struct hdmi_spec *spec, + per_pin->channels = 0; + } + ++static struct snd_jack *pin_idx_to_pcm_jack(struct hda_codec *codec, ++ struct hdmi_spec_per_pin *per_pin) ++{ ++ struct hdmi_spec *spec = codec->spec; ++ struct snd_jack *jack = NULL; ++ struct hda_jack_tbl *jack_tbl; ++ ++ /* if !dyn_pcm_assign, get jack from hda_jack_tbl ++ * in !dyn_pcm_assign case, spec->pcm_rec[].jack is not ++ * NULL even after snd_hda_jack_tbl_clear() is called to ++ * free snd_jack. This may cause access invalid memory ++ * when calling snd_jack_report ++ */ ++ if (per_pin->pcm_idx >= 0 && spec->dyn_pcm_assign) { ++ jack = spec->pcm_rec[per_pin->pcm_idx].jack; ++ } else if (!spec->dyn_pcm_assign) { ++ /* ++ * jack tbl doesn't support DP MST ++ * DP MST will use dyn_pcm_assign, ++ * so DP MST will never come here ++ */ ++ jack_tbl = snd_hda_jack_tbl_get_mst(codec, per_pin->pin_nid, ++ per_pin->dev_id); ++ if (jack_tbl) ++ jack = jack_tbl->jack; ++ } ++ return jack; ++} ++ + /* update per_pin ELD from the given new ELD; + * setup info frame and notification accordingly + */ +@@ -1487,9 +1516,15 @@ static bool update_eld(struct hda_codec *codec, + struct hdmi_eld *pin_eld = &per_pin->sink_eld; + struct hdmi_spec *spec = codec->spec; + bool old_eld_valid = pin_eld->eld_valid; ++ struct snd_jack *pcm_jack; + bool eld_changed; + int pcm_idx; + ++ /* pcm_idx >=0 before update_eld() means it is in monitor ++ * disconnected event. Jack must be fetched before update_eld() ++ */ ++ pcm_jack = pin_idx_to_pcm_jack(codec, per_pin); ++ + /* for monitor disconnection, save pcm_idx firstly */ + pcm_idx = per_pin->pcm_idx; + if (spec->dyn_pcm_assign) { +@@ -1544,6 +1579,14 @@ static bool update_eld(struct hda_codec *codec, + SNDRV_CTL_EVENT_MASK_VALUE | + SNDRV_CTL_EVENT_MASK_INFO, + &get_hdmi_pcm(spec, pcm_idx)->eld_ctl->id); ++ ++ if (!pcm_jack) ++ pcm_jack = pin_idx_to_pcm_jack(codec, per_pin); ++ if (eld_changed && pcm_jack) ++ snd_jack_report(pcm_jack, ++ (eld->monitor_present && eld->eld_valid) ? ++ SND_JACK_AVOUT : 0); ++ + return eld_changed; + } + +@@ -1566,7 +1609,6 @@ static bool hdmi_present_sense_via_verbs(struct hdmi_spec_per_pin *per_pin, + * the unsolicited response to avoid custom WARs. + */ + int present; +- bool ret; + bool do_repoll = false; + + present = snd_hda_jack_pin_sense(codec, pin_nid, dev_id); +@@ -1600,45 +1642,14 @@ static bool hdmi_present_sense_via_verbs(struct hdmi_spec_per_pin *per_pin, + else + update_eld(codec, per_pin, eld); + +- ret = !repoll || !eld->monitor_present || eld->eld_valid; +- + jack = snd_hda_jack_tbl_get_mst(codec, pin_nid, per_pin->dev_id); + if (jack) { +- jack->block_report = !ret; ++ jack->block_report = do_repoll; + jack->pin_sense = (eld->monitor_present && eld->eld_valid) ? + AC_PINSENSE_PRESENCE : 0; + } + mutex_unlock(&per_pin->lock); +- return ret; +-} +- +-static struct snd_jack *pin_idx_to_jack(struct hda_codec *codec, +- struct hdmi_spec_per_pin *per_pin) +-{ +- struct hdmi_spec *spec = codec->spec; +- struct snd_jack *jack = NULL; +- struct hda_jack_tbl *jack_tbl; +- +- /* if !dyn_pcm_assign, get jack from hda_jack_tbl +- * in !dyn_pcm_assign case, spec->pcm_rec[].jack is not +- * NULL even after snd_hda_jack_tbl_clear() is called to +- * free snd_jack. This may cause access invalid memory +- * when calling snd_jack_report +- */ +- if (per_pin->pcm_idx >= 0 && spec->dyn_pcm_assign) +- jack = spec->pcm_rec[per_pin->pcm_idx].jack; +- else if (!spec->dyn_pcm_assign) { +- /* +- * jack tbl doesn't support DP MST +- * DP MST will use dyn_pcm_assign, +- * so DP MST will never come here +- */ +- jack_tbl = snd_hda_jack_tbl_get_mst(codec, per_pin->pin_nid, +- per_pin->dev_id); +- if (jack_tbl) +- jack = jack_tbl->jack; +- } +- return jack; ++ return !do_repoll; + } + + /* update ELD and jack state via audio component */ +@@ -1647,8 +1658,6 @@ static void sync_eld_via_acomp(struct hda_codec *codec, + { + struct hdmi_spec *spec = codec->spec; + struct hdmi_eld *eld = &spec->temp_eld; +- struct snd_jack *jack = NULL; +- bool changed; + int size; + + mutex_lock(&per_pin->lock); +@@ -1671,17 +1680,8 @@ static void sync_eld_via_acomp(struct hda_codec *codec, + eld->eld_size = 0; + } + +- /* pcm_idx >=0 before update_eld() means it is in monitor +- * disconnected event. Jack must be fetched before update_eld() +- */ +- jack = pin_idx_to_jack(codec, per_pin); +- changed = update_eld(codec, per_pin, eld); +- if (jack == NULL) +- jack = pin_idx_to_jack(codec, per_pin); +- if (changed && jack) +- snd_jack_report(jack, +- (eld->monitor_present && eld->eld_valid) ? +- SND_JACK_AVOUT : 0); ++ update_eld(codec, per_pin, eld); ++ + mutex_unlock(&per_pin->lock); + } + +-- +cgit v1.2.1-1-g437b + 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 deleted file mode 100644 index 75641b5..0000000 --- a/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch +++ /dev/null @@ -1,48 +0,0 @@ -From dbc56c8785b2f6698722f3e9c189c7cb1f963679 Mon Sep 17 00:00:00 2001 -From: Tuowen Zhao -Date: Wed, 16 Oct 2019 15:06:29 -0600 -Subject: [PATCH 03/16] 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, -this bug could be corrected with a firmware update. - -This patch use devm_ioremap_uc to overwrite/ignore the MTRR settings -by forcing the use of strongly uncachable pages for intel-lpss. - -The BIOS bug is present on Dell XPS 13 7390 2-in-1: - -[ 0.001734] 5 base 4000000000 mask 6000000000 write-combining - -4000000000-7fffffffff : PCI Bus 0000:00 - 4000000000-400fffffff : 0000:00:02.0 (i915) - 4010000000-4010000fff : 0000:00:15.0 (intel-lpss-pci) - -Link: https://bugzilla.kernel.org/show_bug.cgi?id=203485 -Cc: # v4.19+ -Tested-by: AceLan Kao -Signed-off-by: Tuowen Zhao -Acked-by: Mika Westerberg -Acked-by: Andy Shevchenko -Tested-by: Roman Gilg -Signed-off-by: Lee Jones ---- - drivers/mfd/intel-lpss.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/mfd/intel-lpss.c b/drivers/mfd/intel-lpss.c -index bfe4ff337581..b0f0781a6b9c 100644 ---- a/drivers/mfd/intel-lpss.c -+++ b/drivers/mfd/intel-lpss.c -@@ -384,7 +384,7 @@ int intel_lpss_probe(struct device *dev, - if (!lpss) - return -ENOMEM; - -- lpss->priv = devm_ioremap(dev, info->mem->start + LPSS_PRIV_OFFSET, -+ lpss->priv = devm_ioremap_uc(dev, info->mem->start + LPSS_PRIV_OFFSET, - LPSS_PRIV_SIZE); - if (!lpss->priv) - return -ENOMEM; --- -2.25.0 - diff --git a/0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch b/0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch deleted file mode 100644 index b95179c..0000000 --- a/0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch +++ /dev/null @@ -1,272 +0,0 @@ -From fa21078f336286d835bc734c8b4e4a24b67f245e Mon Sep 17 00:00:00 2001 -From: Mika Westerberg -Date: Tue, 29 Oct 2019 20:00:22 +0300 -Subject: [PATCH 04/16] PCI: pciehp: Prevent deadlock on disconnect - -This addresses deadlocks in these common cases in hierarchies containing -two switches: - - - All involved ports are runtime suspended and they are unplugged. This - can happen easily if the drivers involved automatically enable runtime - PM (xHCI for example does that). - - - System is suspended (e.g., closing the lid on a laptop) with a dock + - something else connected, and the dock is unplugged while suspended. - -These cases lead to the following deadlock: - - INFO: task irq/126-pciehp:198 blocked for more than 120 seconds. - irq/126-pciehp D 0 198 2 0x80000000 - Call Trace: - schedule+0x2c/0x80 - schedule_timeout+0x246/0x350 - wait_for_completion+0xb7/0x140 - kthread_stop+0x49/0x110 - free_irq+0x32/0x70 - pcie_shutdown_notification+0x2f/0x50 - pciehp_remove+0x27/0x50 - pcie_port_remove_service+0x36/0x50 - device_release_driver+0x12/0x20 - bus_remove_device+0xec/0x160 - device_del+0x13b/0x350 - device_unregister+0x1a/0x60 - remove_iter+0x1e/0x30 - device_for_each_child+0x56/0x90 - pcie_port_device_remove+0x22/0x40 - pcie_portdrv_remove+0x20/0x60 - pci_device_remove+0x3e/0xc0 - device_release_driver_internal+0x18c/0x250 - device_release_driver+0x12/0x20 - pci_stop_bus_device+0x6f/0x90 - pci_stop_bus_device+0x31/0x90 - pci_stop_and_remove_bus_device+0x12/0x20 - pciehp_unconfigure_device+0x88/0x140 - pciehp_disable_slot+0x6a/0x110 - pciehp_handle_presence_or_link_change+0x263/0x400 - pciehp_ist+0x1c9/0x1d0 - irq_thread_fn+0x24/0x60 - irq_thread+0xeb/0x190 - kthread+0x120/0x140 - - INFO: task irq/190-pciehp:2288 blocked for more than 120 seconds. - irq/190-pciehp D 0 2288 2 0x80000000 - Call Trace: - __schedule+0x2a2/0x880 - schedule+0x2c/0x80 - schedule_preempt_disabled+0xe/0x10 - mutex_lock+0x2c/0x30 - pci_lock_rescan_remove+0x15/0x20 - pciehp_unconfigure_device+0x4d/0x140 - pciehp_disable_slot+0x6a/0x110 - pciehp_handle_presence_or_link_change+0x263/0x400 - pciehp_ist+0x1c9/0x1d0 - irq_thread_fn+0x24/0x60 - irq_thread+0xeb/0x190 - kthread+0x120/0x140 - -What happens here is that the whole hierarchy is runtime resumed and the -parent PCIe downstream port, which got the hot-remove event, starts -removing devices below it, taking pci_lock_rescan_remove() lock. When the -child PCIe port is runtime resumed it calls pciehp_check_presence() which -ends up calling pciehp_card_present() and pciehp_check_link_active(). Both -of these use pcie_capability_read_word(), which notices that the underlying -device is already gone and returns PCIBIOS_DEVICE_NOT_FOUND with the -capability value set to 0. When pciehp gets this value it thinks that its -child device is also hot-removed and schedules its IRQ thread to handle the -event. - -The deadlock happens when the child's IRQ thread runs and tries to acquire -pci_lock_rescan_remove() which is already taken by the parent and the -parent waits for the child's IRQ thread to finish. - -Prevent this from happening by checking the return value of -pcie_capability_read_word() and if it is PCIBIOS_DEVICE_NOT_FOUND stop -performing any hot-removal activities. - -[bhelgaas: add common scenarios to commit log] -Link: https://lore.kernel.org/r/20191029170022.57528-2-mika.westerberg@linux.intel.com -Tested-by: Kai-Heng Feng -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_ctrl.c | 4 +-- - 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 -index 882ce82c4699..aa61d4c219d7 100644 ---- a/drivers/pci/hotplug/pciehp.h -+++ b/drivers/pci/hotplug/pciehp.h -@@ -174,10 +174,10 @@ void pciehp_set_indicators(struct controller *ctrl, int pwr, int attn); - - void pciehp_get_latch_status(struct controller *ctrl, u8 *status); - int pciehp_query_power_fault(struct controller *ctrl); --bool pciehp_card_present(struct controller *ctrl); --bool pciehp_card_present_or_link_active(struct controller *ctrl); -+int pciehp_card_present(struct controller *ctrl); -+int pciehp_card_present_or_link_active(struct controller *ctrl); - int pciehp_check_link_status(struct controller *ctrl); --bool pciehp_check_link_active(struct controller *ctrl); -+int pciehp_check_link_active(struct controller *ctrl); - void pciehp_release_ctrl(struct controller *ctrl); - - int pciehp_sysfs_enable_slot(struct hotplug_slot *hotplug_slot); -diff --git a/drivers/pci/hotplug/pciehp_core.c b/drivers/pci/hotplug/pciehp_core.c -index 56daad828c9e..312cc45c44c7 100644 ---- a/drivers/pci/hotplug/pciehp_core.c -+++ b/drivers/pci/hotplug/pciehp_core.c -@@ -139,10 +139,15 @@ static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value) - { - struct controller *ctrl = to_ctrl(hotplug_slot); - struct pci_dev *pdev = ctrl->pcie->port; -+ int ret; - - pci_config_pm_runtime_get(pdev); -- *value = pciehp_card_present_or_link_active(ctrl); -+ ret = pciehp_card_present_or_link_active(ctrl); - pci_config_pm_runtime_put(pdev); -+ if (ret < 0) -+ return ret; -+ -+ *value = ret; - return 0; - } - -@@ -158,13 +163,13 @@ static int get_adapter_status(struct hotplug_slot *hotplug_slot, u8 *value) - */ - static void pciehp_check_presence(struct controller *ctrl) - { -- bool occupied; -+ int occupied; - - down_read(&ctrl->reset_lock); - mutex_lock(&ctrl->state_lock); - - occupied = pciehp_card_present_or_link_active(ctrl); -- if ((occupied && (ctrl->state == OFF_STATE || -+ if ((occupied > 0 && (ctrl->state == OFF_STATE || - ctrl->state == BLINKINGON_STATE)) || - (!occupied && (ctrl->state == ON_STATE || - ctrl->state == BLINKINGOFF_STATE))) -diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c -index dd8e4a5fb282..6503d15effbb 100644 ---- a/drivers/pci/hotplug/pciehp_ctrl.c -+++ b/drivers/pci/hotplug/pciehp_ctrl.c -@@ -226,7 +226,7 @@ void pciehp_handle_disable_request(struct controller *ctrl) - - void pciehp_handle_presence_or_link_change(struct controller *ctrl, u32 events) - { -- bool present, link_active; -+ int present, link_active; - - /* - * If the slot is on and presence or link has changed, turn it off. -@@ -257,7 +257,7 @@ void pciehp_handle_presence_or_link_change(struct controller *ctrl, u32 events) - mutex_lock(&ctrl->state_lock); - present = pciehp_card_present(ctrl); - link_active = pciehp_check_link_active(ctrl); -- if (!present && !link_active) { -+ if (present <= 0 && link_active <= 0) { - mutex_unlock(&ctrl->state_lock); - return; - } -diff --git a/drivers/pci/hotplug/pciehp_hpc.c b/drivers/pci/hotplug/pciehp_hpc.c -index 86d97f3112f0..a2a263764ef8 100644 ---- a/drivers/pci/hotplug/pciehp_hpc.c -+++ b/drivers/pci/hotplug/pciehp_hpc.c -@@ -201,17 +201,29 @@ static void pcie_write_cmd_nowait(struct controller *ctrl, u16 cmd, u16 mask) - pcie_do_write_cmd(ctrl, cmd, mask, false); - } - --bool pciehp_check_link_active(struct controller *ctrl) -+/** -+ * pciehp_check_link_active() - Is the link active -+ * @ctrl: PCIe hotplug controller -+ * -+ * Check whether the downstream link is currently active. Note it is -+ * possible that the card is removed immediately after this so the -+ * caller may need to take it into account. -+ * -+ * If the hotplug controller itself is not available anymore returns -+ * %-ENODEV. -+ */ -+int pciehp_check_link_active(struct controller *ctrl) - { - struct pci_dev *pdev = ctrl_dev(ctrl); - u16 lnk_status; -- bool ret; -+ int ret; - -- pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); -- ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA); -+ ret = pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &lnk_status); -+ if (ret == PCIBIOS_DEVICE_NOT_FOUND || lnk_status == (u16)~0) -+ return -ENODEV; - -- if (ret) -- ctrl_dbg(ctrl, "%s: lnk_status = %x\n", __func__, lnk_status); -+ ret = !!(lnk_status & PCI_EXP_LNKSTA_DLLLA); -+ ctrl_dbg(ctrl, "%s: lnk_status = %x\n", __func__, lnk_status); - - return ret; - } -@@ -373,13 +385,29 @@ void pciehp_get_latch_status(struct controller *ctrl, u8 *status) - *status = !!(slot_status & PCI_EXP_SLTSTA_MRLSS); - } - --bool pciehp_card_present(struct controller *ctrl) -+/** -+ * pciehp_card_present() - Is the card present -+ * @ctrl: PCIe hotplug controller -+ * -+ * Function checks whether the card is currently present in the slot and -+ * in that case returns true. Note it is possible that the card is -+ * removed immediately after the check so the caller may need to take -+ * this into account. -+ * -+ * It the hotplug controller itself is not available anymore returns -+ * %-ENODEV. -+ */ -+int pciehp_card_present(struct controller *ctrl) - { - struct pci_dev *pdev = ctrl_dev(ctrl); - u16 slot_status; -+ int ret; - -- pcie_capability_read_word(pdev, PCI_EXP_SLTSTA, &slot_status); -- return slot_status & PCI_EXP_SLTSTA_PDS; -+ ret = pcie_capability_read_word(pdev, PCI_EXP_SLTSTA, &slot_status); -+ if (ret == PCIBIOS_DEVICE_NOT_FOUND || slot_status == (u16)~0) -+ return -ENODEV; -+ -+ return !!(slot_status & PCI_EXP_SLTSTA_PDS); - } - - /** -@@ -390,10 +418,19 @@ bool pciehp_card_present(struct controller *ctrl) - * Presence Detect State bit, this helper also returns true if the Link Active - * bit is set. This is a concession to broken hotplug ports which hardwire - * Presence Detect State to zero, such as Wilocity's [1ae9:0200]. -+ * -+ * Returns: %1 if the slot is occupied and %0 if it is not. If the hotplug -+ * port is not present anymore returns %-ENODEV. - */ --bool pciehp_card_present_or_link_active(struct controller *ctrl) -+int pciehp_card_present_or_link_active(struct controller *ctrl) - { -- return pciehp_card_present(ctrl) || pciehp_check_link_active(ctrl); -+ int ret; -+ -+ ret = pciehp_card_present(ctrl); -+ if (ret) -+ return ret; -+ -+ return pciehp_check_link_active(ctrl); - } - - int pciehp_query_power_fault(struct controller *ctrl) --- -2.25.0 - diff --git a/0004-btrfs-send-fix-emission-of-invalid-clone-operations-within-the-same.patch b/0004-btrfs-send-fix-emission-of-invalid-clone-operations-within-the-same.patch new file mode 100644 index 0000000..496cc6f --- /dev/null +++ b/0004-btrfs-send-fix-emission-of-invalid-clone-operations-within-the-same.patch @@ -0,0 +1,114 @@ +From 693469a2b9d6d27282c06ed55cb70ff648740efd Mon Sep 17 00:00:00 2001 +From: Filipe Manana +Date: Fri, 24 Jan 2020 11:52:04 +0000 +Subject: Btrfs: send, fix emission of invalid clone operations within the same + file + +When doing an incremental send and a file has extents shared with itself +at different file offsets, it's possible for send to emit clone operations +that will fail at the destination because the source range goes beyond the +file's current size. This happens when the file size has increased in the +send snapshot, there is a hole between the shared extents and both shared +extents are at file offsets which are greater the file's size in the +parent snapshot. + +Example: + + $ mkfs.btrfs -f /dev/sdb + $ mount /dev/sdb /mnt/sdb + + $ xfs_io -f -c "pwrite -S 0xf1 0 64K" /mnt/sdb/foobar + $ btrfs subvolume snapshot -r /mnt/sdb /mnt/sdb/base + $ btrfs send -f /tmp/1.snap /mnt/sdb/base + + # Create a 320K extent at file offset 512K. + $ xfs_io -c "pwrite -S 0xab 512K 64K" /mnt/sdb/foobar + $ xfs_io -c "pwrite -S 0xcd 576K 64K" /mnt/sdb/foobar + $ xfs_io -c "pwrite -S 0xef 640K 64K" /mnt/sdb/foobar + $ xfs_io -c "pwrite -S 0x64 704K 64K" /mnt/sdb/foobar + $ xfs_io -c "pwrite -S 0x73 768K 64K" /mnt/sdb/foobar + + # Clone part of that 320K extent into a lower file offset (192K). + # This file offset is greater than the file's size in the parent + # snapshot (64K). Also the clone range is a bit behind the offset of + # the 320K extent so that we leave a hole between the shared extents. + $ xfs_io -c "reflink /mnt/sdb/foobar 448K 192K 192K" /mnt/sdb/foobar + + $ btrfs subvolume snapshot -r /mnt/sdb /mnt/sdb/incr + $ btrfs send -p /mnt/sdb/base -f /tmp/2.snap /mnt/sdb/incr + + $ mkfs.btrfs -f /dev/sdc + $ mount /dev/sdc /mnt/sdc + + $ btrfs receive -f /tmp/1.snap /mnt/sdc + $ btrfs receive -f /tmp/2.snap /mnt/sdc + ERROR: failed to clone extents to foobar: Invalid argument + +The problem is that after processing the extent at file offset 192K, send +does not issue a write operation full of zeroes for the hole between that +extent and the extent starting at file offset 520K (hole range from 384K +to 512K), this is because the hole is at an offset larger the size of the +file in the parent snapshot (384K > 64K). As a consequence the field +'cur_inode_next_write_offset' of the send context remains with a value of +384K when we start to process the extent at file offset 512K, which is the +value set after processing the extent at offset 192K. + +This screws up the lookup of possible extents to clone because due to an +incorrect value of 'cur_inode_next_write_offset' we can now consider +extents for cloning, in the same inode, that lie beyond the current size +of the file in the receiver of the send stream. Also, when checking if +an extent in the same file can be used for cloning, we must also check +that not only its start offset doesn't start at or beyond the current eof +of the file in the receiver but that the source range doesn't go beyond +current eof, that is we must check offset + length does not cross the +current eof, as that makes clone operations fail with -EINVAL. + +So fix this by updating 'cur_inode_next_write_offset' whenever we start +processing an extent and checking an extent's offset and length when +considering it for cloning operations. + +A test case for fstests follows soon. + +Fixes: 11f2069c113e02 ("Btrfs: send, allow clone operations within the same file") +Signed-off-by: Filipe Manana +Reviewed-by: Josef Bacik +--- + fs/btrfs/send.c | 15 ++++++++++++++- + 1 file changed, 14 insertions(+), 1 deletion(-) + +diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c +index 091e5bc8c7ea..0b42dac8a35f 100644 +--- a/fs/btrfs/send.c ++++ b/fs/btrfs/send.c +@@ -1269,7 +1269,8 @@ static int __iterate_backrefs(u64 ino, u64 offset, u64 root, void *ctx_) + * destination of the stream. + */ + if (ino == bctx->cur_objectid && +- offset >= bctx->sctx->cur_inode_next_write_offset) ++ offset + bctx->extent_len > ++ bctx->sctx->cur_inode_next_write_offset) + return 0; + } + +@@ -5804,6 +5805,18 @@ static int process_extent(struct send_ctx *sctx, + } + } + ++ /* ++ * There might be a hole between the end of the last processed extent ++ * and this extent, and we may have not sent a write operation for that ++ * hole because it was not needed (range is beyond eof in the parent ++ * snapshot). So adjust the next write offset to the offset of this ++ * extent, as we want to make sure we don't do mistakes when checking if ++ * we can clone this extent from some other offset in this inode or when ++ * detecting if we need to issue a truncate operation when finishing the ++ * processing this inode. ++ */ ++ sctx->cur_inode_next_write_offset = key->offset; ++ + ret = find_extent_clone(sctx, path, key->objectid, key->offset, + sctx->cur_inode_size, &found_clone); + if (ret != -ENOENT && ret < 0) +-- +cgit v1.2.1-1-g437b + diff --git a/0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch b/0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch deleted file mode 100644 index 9abef27..0000000 --- a/0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 7f6991978c1c388c2b11bb8101e4658f81fe85ed Mon Sep 17 00:00:00 2001 -From: "Rafael J. Wysocki" -Date: Thu, 28 Nov 2019 23:50:40 +0100 -Subject: [PATCH 05/16] ACPI: PM: s2idle: Rework ACPI events synchronization - -Note that the EC GPE processing need not be synchronized in -acpi_s2idle_wake() after invoking acpi_ec_dispatch_gpe(), because -that function checks the GPE status and dispatches its handler if -need be and the SCI action handler is not going to run anyway at -that point. - -Moreover, it is better to drain all of the pending ACPI events -before restoring the working-state configuration of GPEs in -acpi_s2idle_restore(), because those events are likely to be related -to system wakeup, in which case they will not be relevant going -forward. - -Rework the code to take these observations into account. - -Signed-off-by: Rafael J. Wysocki ---- - drivers/acpi/sleep.c | 26 +++++++++++++++++++------- - 1 file changed, 19 insertions(+), 7 deletions(-) - -diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c -index 2af937a8b1c5..6747a279621b 100644 ---- a/drivers/acpi/sleep.c -+++ b/drivers/acpi/sleep.c -@@ -977,6 +977,16 @@ static int acpi_s2idle_prepare_late(void) - return 0; - } - -+static void acpi_s2idle_sync(void) -+{ -+ /* -+ * The EC driver uses the system workqueue and an additional special -+ * one, so those need to be flushed too. -+ */ -+ acpi_ec_flush_work(); -+ acpi_os_wait_events_complete(); /* synchronize Notify handling */ -+} -+ - static void acpi_s2idle_wake(void) - { - /* -@@ -1001,13 +1011,8 @@ static void acpi_s2idle_wake(void) - * should be missed by canceling the wakeup here. - */ - pm_system_cancel_wakeup(); -- /* -- * The EC driver uses the system workqueue and an additional -- * special one, so those need to be flushed too. -- */ -- acpi_os_wait_events_complete(); /* synchronize EC GPE processing */ -- acpi_ec_flush_work(); -- acpi_os_wait_events_complete(); /* synchronize Notify handling */ -+ -+ acpi_s2idle_sync(); - - rearm_wake_irq(acpi_sci_irq); - } -@@ -1024,6 +1029,13 @@ static void acpi_s2idle_restore_early(void) - - static void acpi_s2idle_restore(void) - { -+ /* -+ * Drain pending events before restoring the working-state configuration -+ * of GPEs. -+ */ -+ acpi_os_wait_events_complete(); /* synchronize GPE processing */ -+ acpi_s2idle_sync(); -+ - s2idle_wakeup = false; - - acpi_enable_all_runtime_gpes(); --- -2.25.0 - diff --git a/0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch b/0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch deleted file mode 100644 index 2f69a8a..0000000 --- a/0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 50b253fe7f01a82c8054d88319598db71ae5d083 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" -Date: Tue, 24 Dec 2019 05:18:47 +0100 -Subject: [PATCH 06/16] iwlwifi: pcie: restore support for Killer Qu C0 NICs - -Commit 809805a820c6 refactored the cfg mangling. Unfortunately, in this -process the lines which picked the right cfg for Killer Qu C0 NICs after -C0 detection were lost. These lines were added by commit b9500577d361. - -I suspect this is more of the "merge damage" which commit 7cded5658329 -talks about. - -Fixes: 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe") -Signed-off-by: Jan Alexander Steffens (heftig) ---- - drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c -index b0b7eca1754e..de62a6dc4e73 100644 ---- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c -+++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c -@@ -1107,6 +1107,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) - cfg = &iwl9560_2ac_cfg_qu_c0_jf_b0; - else if (cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0) - cfg = &iwl9560_2ac_160_cfg_qu_c0_jf_b0; -+ else if (cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0) -+ cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0; -+ else if (cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0) -+ cfg = &killer1650i_2ax_cfg_qu_c0_hr_b0; - } - - /* same thing for QuZ... */ --- -2.25.0 - diff --git a/0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch b/0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch deleted file mode 100644 index a128921..0000000 --- a/0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch +++ /dev/null @@ -1,87 +0,0 @@ -From e0a3ce4a9ebf049e76ea38c48e41f2c67f4b3330 Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen -Date: Fri, 20 Sep 2019 11:39:18 +0300 -Subject: [PATCH 07/16] drm/i915: save AUD_FREQ_CNTRL state at audio domain - suspend - -When audio power domain is suspended, the display driver must -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-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch b/0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch deleted file mode 100644 index aa403bc..0000000 --- a/0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch +++ /dev/null @@ -1,57 +0,0 @@ -From e4bcd75c297598b87b89533c2c995f7d88c12010 Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen -Date: Thu, 3 Oct 2019 11:55:30 +0300 -Subject: [PATCH 08/16] drm/i915: Fix audio power up sequence for gen10+ - display - -On platfroms with gen10+ display, driver must set the enable bit of -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-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch b/0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch deleted file mode 100644 index 07dee06..0000000 --- a/0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 7ff6d556c831f5f909b3315974816a45a3802670 Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen -Date: Thu, 3 Oct 2019 11:55:31 +0300 -Subject: [PATCH 09/16] drm/i915: extend audio CDCLK>=2*BCLK constraint to more - platforms - -The CDCLK>=2*BCLK constraint applies to all generations since gen10. -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/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch b/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch deleted file mode 100644 index edd4404..0000000 --- a/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch +++ /dev/null @@ -1,64 +0,0 @@ -From ce769a8e35537fc71cc9934a1fa39a481f994b25 Mon Sep 17 00:00:00 2001 -From: Kai Vehmanen -Date: Tue, 31 Dec 2019 16:00:07 +0200 -Subject: [PATCH 10/16] drm/i915: Limit audio CDCLK>=2*BCLK constraint back to - GLK only - -Revert changes done in commit f6ec9483091f ("drm/i915: extend audio -CDCLK>=2*BCLK constraint to more platforms"). Audio drivers -communicate with i915 over HDA bus multiple times during system -boot-up and each of these transactions result in matching -get_power/put_power calls to i915, and depending on the platform, -a modeset change causing visible flicker. - -GLK is the only platform with minimum CDCLK significantly lower -than BCLK, and thus for GLK setting a higher CDCLK is mandatory. - -For other platforms, minimum CDCLK is close but below 2*BCLK -(e.g. on ICL, CDCLK=176.4kHz with BCLK=96kHz). Spec-wise the constraint -should be set, but in practise no communication errors have been -reported and the downside if set is the flicker observed at boot-time. - -Revert to old behaviour until better mechanism to manage -probe-time clocks is available. - -The full CDCLK>=2*BCLK constraint is still enforced at pipe -enable time in intel_crtc_compute_min_cdclk(). - -Bugzilla: https://gitlab.freedesktop.org/drm/intel/issues/913 -Fixes: f6ec9483091f ("drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms") -Signed-off-by: Kai Vehmanen -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-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch b/0011-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch deleted file mode 100644 index 221543b..0000000 --- a/0011-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch +++ /dev/null @@ -1,174 +0,0 @@ -From cce47515454675d9c82448e865b42570f9eabc39 Mon Sep 17 00:00:00 2001 -From: Jeff Kirsher -Date: Sat, 4 Jan 2020 23:29:22 -0800 -Subject: [PATCH 13/16] 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/0012-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch b/0012-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch deleted file mode 100644 index a120391..0000000 --- a/0012-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch +++ /dev/null @@ -1,80 +0,0 @@ -From f247d4a6fe42acc60b775457e3c35b8289532590 Mon Sep 17 00:00:00 2001 -From: Leo Li -Date: Mon, 21 Oct 2019 14:58:47 -0400 -Subject: [PATCH 14/16] drm/amdgpu: Add DC feature mask to disable fractional - pwm -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -[Why] - -Some LED panel drivers might not like fractional PWM. In such cases, -backlight flickering may be observed. - -[How] - -Add a DC feature mask to disable fractional PWM, and associate it with -the preexisting dc_config flag. - -The flag is only plumbed through the dmcu firmware, so plumb it through -the driver path as well. - -To disable, add the following to the linux cmdline: -amdgpu.dcfeaturemask=0x4 - -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204957 -Signed-off-by: Leo Li -Reviewed-by: Anthony Koo -Tested-by: Lukáš Krejčí -Signed-off-by: Alex Deucher ---- - drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++ - drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 4 ++++ - drivers/gpu/drm/amd/include/amd_shared.h | 1 + - 3 files changed, 8 insertions(+) - -diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -index 4e9c15c409ba..25b72eb76add 100644 ---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c -@@ -697,6 +697,9 @@ static int amdgpu_dm_init(struct amdgpu_device *adev) - if (amdgpu_dc_feature_mask & DC_MULTI_MON_PP_MCLK_SWITCH_MASK) - init_data.flags.multi_mon_pp_mclk_switch = true; - -+ if (amdgpu_dc_feature_mask & DC_DISABLE_FRACTIONAL_PWM_MASK) -+ init_data.flags.disable_fractional_pwm = true; -+ - init_data.flags.power_down_display_on_boot = true; - - #ifdef CONFIG_DRM_AMD_DC_DCN2_0 -diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c -index 7700a855d77c..698b84acc44f 100644 ---- a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c -+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c -@@ -404,6 +404,10 @@ static bool dce_abm_init_backlight(struct abm *abm) - /* Enable the backlight output */ - REG_UPDATE(BL_PWM_CNTL, BL_PWM_EN, 1); - -+ /* Disable fractional pwm if configured */ -+ REG_UPDATE(BL_PWM_CNTL, BL_PWM_FRACTIONAL_EN, -+ abm->ctx->dc->config.disable_fractional_pwm ? 0 : 1); -+ - /* Unlock group 2 backlight registers */ - REG_UPDATE(BL_PWM_GRP1_REG_LOCK, - BL_PWM_GRP1_REG_LOCK, 0); -diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h -index 8889aaceec60..5450ed762b7a 100644 ---- a/drivers/gpu/drm/amd/include/amd_shared.h -+++ b/drivers/gpu/drm/amd/include/amd_shared.h -@@ -143,6 +143,7 @@ enum PP_FEATURE_MASK { - enum DC_FEATURE_MASK { - DC_FBC_MASK = 0x1, - DC_MULTI_MON_PP_MCLK_SWITCH_MASK = 0x2, -+ DC_DISABLE_FRACTIONAL_PWM_MASK = 0x4, - }; - - enum amd_dpm_forced_level; --- -2.25.0 - diff --git a/PKGBUILD b/PKGBUILD index 1ed1f7c..7413f7f 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -8,17 +8,18 @@ # Arch version lacks ath9k regdom and raid6 algo patches # Arch version lacks ck patches # Arch version is 300 Hz -# Arch version does not disable eee -# Arch version enables insecure filesystems and staging drivers +# Arch version does not disable lockdown eee +# Arch version allows insecure filesystems +# Arch version enables staging drivers # Arch version enables ISDN and Infiniband # Arch version enables VMware and HyperV # Arch version builds documentation pkgbase=linux-ck _supver=5 -_majver=4 -_minver=16 -_gccpatchver='20190822' +_majver=5 +_minver=2 +_gccpatchver='20191217' _ckpatchversion=ck1 if [ "$_minver" == "0" ]; then pkgver=${_supver}.${_majver} @@ -40,17 +41,9 @@ _srcname=linux-${pkgver} source=( https://www.kernel.org/pub/linux/kernel/v${_supver}.x/${_srcname}.tar.{xz,sign} 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - 0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch - 0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch - 0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch - 0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch - 0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch - 0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch - 0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch - 0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch - 0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch - 0011-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch - 0012-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch + 0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch + 0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch + 0004-btrfs-send-fix-emission-of-invalid-clone-operations-within-the-same.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 @@ -63,26 +56,18 @@ validpgpkeys=( '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -b2sums=('cf99bbd992d8e90c4255c0ce81fd27793663fb2b300ea1bf686ca21933e6ec6cd2ce7a2bea7b59e235ad70bc05519fd06e033baa0d6e881df732d3a85bc6a17c' +b2sums=('9587b8d8307c134a7732482e5495d9203a6367483ca30be06c13b270f4ce34b532d935874decb6c4c3e8b4dfb828c69814b35ef32e5e55db7c3845ee436aa1fc' 'SKIP' - '76c34ea8f8d6fafcbb12fa0e01821af5926e60046c37cee9855786b8bfe16b8ac5222d441335aa01b62e7ebfe2805a1175d00d3bc4ee1c2617173934284c4164' - '5427a9283a9ccb38a63ba5bd680e331245bd134501ce66e912cb07c250e37810a895f4ae78371db2b0cfcbfcb1bee96daafc0e5c71f40ec9b8643d3a88a80bab' - 'fab987c7c77e07ae2db83d148e8d423e6aadbcfc84498a60a6396418c69108c0a38a426eca57c1e94f2540f25cbcd084eafe3d124ac9d0ce2ab4efff28852a16' - 'c5cd99138e9436ede9136e5f958a15a10e07ab51e77dc716158b1ff774d9fa06f4ec2b7a1ba171f4ea86c16ea61fb685b54cadb85411b1c7c468d984b495585d' - 'd283a69b0577dda72ae5814b3c681ca5f0655692216ce77cccc909903fda037feae35fc545c6d54daa377edb71895cfc4f199a335f3f4dfda3cde90350a627b3' - '2328a9bddbb712ffe587a2266d9c6074b4a9e1273b4546e86c56b26dcd7c509398a3e428e6292999bb0297f135683793fa28acfbc4d744962e2ca396943d9ddb' - 'a7318e80116cecfe0c31e254c6d52706ce56d202064d9ff851506569ad602ed106bce216facf793a27266a58b372092e5fa4a19b7b4a7380a789874066d91852' - 'ab7c15c8a219a7e895b39a10a452005252bb018749607676a7e436263a0876d096a5716c9bcbf30e2ff6bc4e525be22ac3838ab3d363373945d5bf5ce43648d4' - 'bb35fce00e121769f4a85c01a799efa7e3eccae8fdd29993d5bbd574a2af50cabeafcf6a9bebf5713223cdb64a53fd7bbf41de7f0a84023531b160e0fe88dc52' - '26082d1d89d9a6e44ea29be9056029f4af228cf22d6c4f6c9f32ed552859bcb8982dc57f63bcb216e220590a029800aeade0bf47356f7ef3ebbe9c0261674379' - '76bb50a23b822de85f3381a511b42bb46110a39d31ede81bd168cb708882b93be525576b1805da5383f35f6f18fab817ad195aa870ab75e7775855a150d172a1' - '726d89aeb1f5df51cfa395e01edb4b8b36460b1f75611ee921d057dfb28cd2d6c41990bca4b40512b9398e0558c4028845252442d9ec1d8f13847a0ed9903a1d' - '8faff0d2b95eda0b96e8042367634c45c1e823238e99793daeda5614efdc448dfe28172bf13f0d988cf4d5cbb4892089893e0183cd8825de7f54942283f2b5a0' + 'ab1fb19c67d4c107f75767581c33d9c1458b4d9fdb88f4adb41d30a36f5a2f95f1c48ef079eb87e1e6e8ce2f98b293195cb2c0f2a8ec975aa817453289158c6e' + '2e822cf7d4ff8b7458e22d3ce110fd8534e17a9aac2feace41c591f70697e1fab7bd9ce307c60a6361fbe525d10dab74c8b76fcb5276cd27f6e945f8fdfcc25c' + 'ea755ddfbc59fd8a6eb2b23b80acec6f357fd7fbb2dac48275cec24d388c70c484808e8edf7450edf609ae2f33ab0e718075ba2636666cdd2f99ed64df796a79' + 'b3f2c12f0d298ffec1a0d8237de80741d935af7b64f967f6ea2473741fbe4616edb7c321dc7a69c57b50d2313330a581b1f3086f64b15a10b2b640e26af659c4' + '54bdd9958d8fa9c3affa1972ca7d9821330394fbacf7ed25e098675d439764d0c918b4ee6554aaea23762bb90060cb2ee952bff569f54903e6b27fa10e8f4b09' '1892bd22775eac3bcc4d37f4fd30c95346bf3a0888cbbff57fd614973b525390dff2e315ce35b2e498523cceaab94ff21a80475dee8df3de4dd8fc0fab07d74e' - '0b11c09e01a7480466d5237a8792c941c9af3e8d6584ffd84285cd9569f5355c10879566ce5846ef9263535020c53e1aa6c58100a571b537ccb7f2431baf7996' + 'd76bd0bf237ea2bb7999fd3715cb664d89148cb0ade8057d57cdb40bc0a7954336e50ee077312e5e192398b0f35f055786deb98af9130d57e60f2ea040fbb66f' '2e58bb89b247b1678355368956e67c1de51fcde97a227b2162f6771e30f17fa5520faafe7be4b6816a542e7ae10d05f64c6b6354f352c12746d4b8da632936dd' 'fde132f3705d908e6f2147c78a2193289916d72304ca5efa2229d79fc3e57a857314ce94e71425caef2f7f7b6cf87f05ef86335dc8bd4be78e7035afe608005a' - '03c39fceac0650a41f7d985828682a9c771a15cd72ebb907e42b4dfd371b2a0c66c4c8c7b587bcf25fcb4956a3f589ed7ba5a2594110efe61a658a0c9ac2169b') + '19636a1b390220cb60de35456bef0938f7d061d64ac89a1abf9eb3c1f3812a3768d80cb2a044a69ae4b67297a41c24bd68eaef57cf696bc1435dc22d39c7377e') #export KBUILD_BUILD_HOST=arc4linux export KBUILD_BUILD_USER=$pkgbase @@ -101,17 +86,9 @@ prepare() { # Hotfixes echo "Applying hotfixes" patch -p1 -i ../0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - 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-Prevent-deadlock-on-disconnect.patch - patch -p1 -i ../0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch - patch -p1 -i ../0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch - patch -p1 -i ../0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch - patch -p1 -i ../0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch - patch -p1 -i ../0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch - patch -p1 -i ../0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch - patch -p1 -i ../0011-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch - patch -p1 -i ../0012-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch + patch -p1 -i ../0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch + patch -p1 -i ../0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch + patch -p1 -i ../0004-btrfs-send-fix-emission-of-invalid-clone-operations-within-the-same.patch # fix naming schema in EXTRAVERSION of ck patch set @@ -124,11 +101,11 @@ prepare() { # graysky gcc 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" + patch -p1 -i ../graysky_bdver2-hotfix.patch "$srcdir/kernel_gcc_patch-${_gccpatchver}/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v5.5+.patch" # graysky gcc 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 + patch -p1 -i ../kernel_gcc_patch-${_gccpatchver}/enable_additional_cpu_optimizations_for_gcc_v9.1+_kernel_v5.5+.patch # Ignore ath9k eeprom patch diff --git a/config b/config index 72ec303..fd96613 100644 --- a/config +++ b/config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.4.15 Kernel Configuration +# Linux/x86 5.5.0 Kernel Configuration # # @@ -22,7 +22,6 @@ CONFIG_THREAD_INFO_IN_TASK=y # CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_COMPILE_TEST is not set -# CONFIG_HEADER_TEST is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_BUILD_SALT="" @@ -64,6 +63,7 @@ CONFIG_IRQ_SIM=y CONFIG_IRQ_DOMAIN_HIERARCHY=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_IRQ_MSI_IOMMU=y CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y CONFIG_GENERIC_IRQ_RESERVATION_MODE=y CONFIG_IRQ_FORCED_THREADING=y @@ -154,6 +154,7 @@ CONFIG_UCLAMP_BUCKETS_COUNT=5 CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y +CONFIG_CC_HAS_INT128=y CONFIG_ARCH_SUPPORTS_INT128=y CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y @@ -213,7 +214,6 @@ CONFIG_EXPERT=y CONFIG_MULTIUSER=y CONFIG_SGETMASK_SYSCALL=y # CONFIG_SYSFS_SYSCALL is not set -# CONFIG_SYSCTL_SYSCALL is not set CONFIG_FHANDLE=y CONFIG_POSIX_TIMERS=y CONFIG_PRINTK=y @@ -399,8 +399,6 @@ CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y CONFIG_GART_IOMMU=y -CONFIG_CALGARY_IOMMU=y -CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y # CONFIG_MAXSMP is not set CONFIG_NR_CPUS_RANGE_BEGIN=2 CONFIG_NR_CPUS_RANGE_END=512 @@ -432,6 +430,7 @@ CONFIG_PERF_EVENTS_AMD_POWER=m CONFIG_X86_16BIT=y CONFIG_X86_ESPFIX64=y CONFIG_X86_VSYSCALL_EMULATION=y +CONFIG_X86_IOPL_IOPERM=y CONFIG_I8K=m CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y @@ -469,7 +468,7 @@ CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y -CONFIG_X86_INTEL_UMIP=y +CONFIG_X86_UMIP=y # CONFIG_X86_INTEL_MPX is not set CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y # CONFIG_X86_INTEL_TSX_MODE_OFF is not set @@ -578,7 +577,6 @@ CONFIG_ACPI_IPMI=m CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_PROCESSOR_AGGREGATOR=y CONFIG_ACPI_THERMAL=y -CONFIG_ACPI_NUMA=y CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_DEBUG=y @@ -593,6 +591,7 @@ CONFIG_ACPI_BGRT=y # CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set CONFIG_ACPI_NFIT=m # CONFIG_NFIT_SECURITY_DEBUG is not set +CONFIG_ACPI_NUMA=y CONFIG_ACPI_HMAT=y CONFIG_HAVE_ACPI_APEI=y CONFIG_HAVE_ACPI_APEI_NMI=y @@ -607,7 +606,8 @@ CONFIG_ACPI_WATCHDOG=y CONFIG_ACPI_EXTLOG=m CONFIG_ACPI_ADXL=y CONFIG_PMIC_OPREGION=y -CONFIG_CRC_PMIC_OPREGION=y +CONFIG_BYTCRC_PMIC_OPREGION=y +CONFIG_CHTCRC_PMIC_OPREGION=y CONFIG_XPOWER_PMIC_OPREGION=y CONFIG_BXT_WC_PMIC_OPREGION=y CONFIG_CHT_WC_PMIC_OPREGION=y @@ -727,6 +727,7 @@ CONFIG_GOOGLE_VPD=m CONFIG_EFI_ESRT=y CONFIG_EFI_RUNTIME_MAP=y # CONFIG_EFI_FAKE_MEMMAP is not set +CONFIG_EFI_SOFT_RESERVE=y CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_EFI_CAPSULE_LOADER=m # CONFIG_EFI_TEST is not set @@ -861,7 +862,6 @@ CONFIG_HAVE_RELIABLE_STACKTRACE=y CONFIG_ISA_BUS_API=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_COMPAT_OLD_SIGACTION=y -CONFIG_64BIT_TIME=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y @@ -869,8 +869,6 @@ CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y CONFIG_STRICT_MODULE_RWX=y -CONFIG_ARCH_HAS_REFCOUNT=y -# CONFIG_REFCOUNT_FULL is not set CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y CONFIG_ARCH_USE_MEMREMAP_PROT=y CONFIG_LOCK_EVENT_COUNTS=y @@ -918,6 +916,7 @@ CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y CONFIG_BLK_RQ_ALLOC_TIME=y CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLK_CGROUP_RWSTAT=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y @@ -1068,6 +1067,7 @@ CONFIG_ARCH_HAS_PKEYS=y # CONFIG_GUP_BENCHMARK is not set CONFIG_READ_ONLY_THP_FOR_FS=y CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_MAPPING_DIRTY_HELPERS=y # end of Memory Management options CONFIG_NET=y @@ -1086,6 +1086,7 @@ CONFIG_UNIX_SCM=y CONFIG_UNIX_DIAG=y CONFIG_TLS=m CONFIG_TLS_DEVICE=y +# CONFIG_TLS_TOE is not set CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=m @@ -1572,6 +1573,7 @@ CONFIG_RDS_TCP=m # CONFIG_RDS_DEBUG is not set CONFIG_TIPC=m CONFIG_TIPC_MEDIA_UDP=y +CONFIG_TIPC_CRYPTO=y CONFIG_TIPC_DIAG=m CONFIG_ATM=m CONFIG_ATM_CLIP=m @@ -1602,6 +1604,7 @@ CONFIG_NET_DSA_TAG_DSA=m CONFIG_NET_DSA_TAG_EDSA=m CONFIG_NET_DSA_TAG_MTK=m CONFIG_NET_DSA_TAG_KSZ=m +CONFIG_NET_DSA_TAG_OCELOT=m CONFIG_NET_DSA_TAG_QCA=m CONFIG_NET_DSA_TAG_LAN9303=m CONFIG_NET_DSA_TAG_SJA1105=m @@ -1924,7 +1927,6 @@ CONFIG_BT_HCIVHCI=m CONFIG_BT_MRVL=m CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m -CONFIG_BT_WILINK=m CONFIG_BT_MTKSDIO=m CONFIG_BT_MTKUART=m CONFIG_BT_HCIRSI=m @@ -2011,6 +2013,7 @@ CONFIG_NFC_PN544_MEI=m CONFIG_NFC_PN533=m CONFIG_NFC_PN533_USB=m CONFIG_NFC_PN533_I2C=m +CONFIG_NFC_PN532_UART=m CONFIG_NFC_MICROREAD=m CONFIG_NFC_MICROREAD_I2C=m CONFIG_NFC_MICROREAD_MEI=m @@ -2058,7 +2061,6 @@ CONFIG_PCIEAER=y # CONFIG_PCIEAER_INJECT is not set CONFIG_PCIE_ECRC=y CONFIG_PCIEASPM=y -# CONFIG_PCIEASPM_DEBUG is not set CONFIG_PCIEASPM_DEFAULT=y # CONFIG_PCIEASPM_POWERSAVE is not set # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set @@ -2094,15 +2096,6 @@ CONFIG_HOTPLUG_PCI_SHPC=y # # PCI controller drivers # - -# -# Cadence PCIe controllers support -# -CONFIG_PCIE_CADENCE=y -CONFIG_PCIE_CADENCE_HOST=y -CONFIG_PCIE_CADENCE_EP=y -# end of Cadence PCIe controllers support - CONFIG_PCI_FTPCI100=y CONFIG_PCI_HOST_COMMON=y CONFIG_PCI_HOST_GENERIC=y @@ -2120,6 +2113,17 @@ CONFIG_PCIE_DW_PLAT_HOST=y CONFIG_PCIE_DW_PLAT_EP=y CONFIG_PCI_MESON=y # end of DesignWare PCI Core Support + +# +# Cadence PCIe controllers support +# +CONFIG_PCIE_CADENCE=y +CONFIG_PCIE_CADENCE_HOST=y +CONFIG_PCIE_CADENCE_EP=y +CONFIG_PCIE_CADENCE_PLAT=y +CONFIG_PCIE_CADENCE_PLAT_HOST=y +CONFIG_PCIE_CADENCE_PLAT_EP=y +# end of Cadence PCIe controllers support # end of PCI controller drivers # @@ -2190,6 +2194,7 @@ CONFIG_FW_LOADER_PAGED_BUF=y CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_CACHE=y # end of Firmware loader CONFIG_WANT_DEV_COREDUMP=y @@ -2356,6 +2361,7 @@ CONFIG_MTD_NAND_CAFE=m CONFIG_MTD_NAND_MXIC=m CONFIG_MTD_NAND_GPIO=m CONFIG_MTD_NAND_PLATFORM=m +CONFIG_MTD_NAND_CADENCE=m # # Misc @@ -2456,6 +2462,7 @@ CONFIG_BLK_DEV_RSXX=m CONFIG_NVME_CORE=y CONFIG_BLK_DEV_NVME=y CONFIG_NVME_MULTIPATH=y +CONFIG_NVME_HWMON=y CONFIG_NVME_FABRICS=m CONFIG_NVME_FC=m CONFIG_NVME_TCP=m @@ -2526,51 +2533,19 @@ CONFIG_ALTERA_STAPL=m CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_TXE=m -CONFIG_INTEL_MEI_HDCP=m +# CONFIG_INTEL_MEI_HDCPis not set # CONFIG_VMWARE_VMCI is not set # # Intel MIC & related support # - -# -# Intel MIC Bus Driver -# CONFIG_INTEL_MIC_BUS=m - -# -# SCIF Bus Driver -# CONFIG_SCIF_BUS=m - -# -# VOP Bus Driver -# CONFIG_VOP_BUS=m - -# -# Intel MIC Host Driver -# CONFIG_INTEL_MIC_HOST=m - -# -# Intel MIC Card Driver -# CONFIG_INTEL_MIC_CARD=m - -# -# SCIF Driver -# CONFIG_SCIF=m - -# -# Intel MIC Coprocessor State Management (COSM) Drivers -# CONFIG_MIC_COSM=m - -# -# VOP Driver -# CONFIG_VOP=m CONFIG_VHOST_RING=m # end of Intel MIC & related support @@ -2989,10 +2964,7 @@ CONFIG_ATM_FORE200E_DEBUG=0 CONFIG_ATM_HE=m CONFIG_ATM_HE_USE_SUNI=y CONFIG_ATM_SOLOS=m - -# -# CAIF transport drivers -# +CONFIG_CAIF_DRIVERS=y CONFIG_CAIF_TTY=m CONFIG_CAIF_SPI_SLAVE=m CONFIG_CAIF_SPI_SYNC=y @@ -3022,6 +2994,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX_PTP=y +CONFIG_NET_DSA_MSCC_FELIX=m CONFIG_NET_DSA_SJA1105=m CONFIG_NET_DSA_SJA1105_PTP=y CONFIG_NET_DSA_SJA1105_TAS=y @@ -3150,8 +3123,6 @@ CONFIG_NET_VENDOR_FUJITSU=y CONFIG_PCMCIA_FMVJ18X=m CONFIG_NET_VENDOR_GOOGLE=y CONFIG_GVE=m -CONFIG_NET_VENDOR_HP=y -CONFIG_HP100=m CONFIG_NET_VENDOR_HUAWEI=y CONFIG_HINIC=m CONFIG_NET_VENDOR_I825XX=y @@ -3390,7 +3361,6 @@ CONFIG_ADIN_PHY=m CONFIG_AMD_PHY=m CONFIG_AQUANTIA_PHY=m CONFIG_AX88796B_PHY=m -CONFIG_AT803X_PHY=m CONFIG_BCM7XXX_PHY=m CONFIG_BCM87XX_PHY=m CONFIG_BCM_NET_PHYLIB=m @@ -3402,6 +3372,7 @@ CONFIG_DP83822_PHY=m CONFIG_DP83TC811_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m +CONFIG_DP83869_PHY=m CONFIG_FIXED_PHY=m CONFIG_ICPLUS_PHY=m CONFIG_INTEL_XWAY_PHY=m @@ -3415,6 +3386,7 @@ CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m CONFIG_NATIONAL_PHY=m CONFIG_NXP_TJA11XX_PHY=m +CONFIG_AT803X_PHY=m CONFIG_QSEMI_PHY=m CONFIG_REALTEK_PHY=m CONFIG_RENESAS_PHY=m @@ -4080,7 +4052,6 @@ CONFIG_INPUT_ATLAS_BTNS=m CONFIG_INPUT_ATI_REMOTE2=m CONFIG_INPUT_KEYSPAN_REMOTE=m CONFIG_INPUT_KXTJ9=m -# CONFIG_INPUT_KXTJ9_POLLED_MODE is not set CONFIG_INPUT_POWERMATE=m CONFIG_INPUT_YEALINK=m CONFIG_INPUT_CM109=m @@ -4304,6 +4275,7 @@ CONFIG_HW_RANDOM_TPM=y CONFIG_TCG_TIS_CORE=m CONFIG_TCG_TIS=m CONFIG_TCG_TIS_SPI=m +CONFIG_TCG_TIS_SPI_CR50=y CONFIG_TCG_TIS_I2C_ATMEL=m CONFIG_TCG_TIS_I2C_INFINEON=m CONFIG_TCG_TIS_I2C_NUVOTON=m @@ -4515,6 +4487,7 @@ CONFIG_PPS_CLIENT_GPIO=m CONFIG_PTP_1588_CLOCK=y CONFIG_DP83640_PHY=m CONFIG_PTP_1588_CLOCK_KVM=m +CONFIG_PTP_1588_CLOCK_IDTCM=m # end of PTP clock support CONFIG_PINCTRL=y @@ -4546,6 +4519,7 @@ CONFIG_PINCTRL_GEMINILAKE=y CONFIG_PINCTRL_ICELAKE=y CONFIG_PINCTRL_LEWISBURG=y CONFIG_PINCTRL_SUNRISEPOINT=y +CONFIG_PINCTRL_TIGERLAKE=y CONFIG_PINCTRL_LOCHNAGAR=m CONFIG_PINCTRL_MADERA=m CONFIG_PINCTRL_CS47L15=y @@ -4553,6 +4527,7 @@ CONFIG_PINCTRL_CS47L35=y CONFIG_PINCTRL_CS47L85=y CONFIG_PINCTRL_CS47L90=y CONFIG_PINCTRL_CS47L92=y +CONFIG_PINCTRL_EQUILIBRIUM=m CONFIG_GPIOLIB=y CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_OF_GPIO=y @@ -4707,6 +4682,7 @@ CONFIG_W1_SLAVE_DS2413=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2423=m CONFIG_W1_SLAVE_DS2805=m +CONFIG_W1_SLAVE_DS2430=m CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433=m # CONFIG_W1_SLAVE_DS2433_CRC is not set @@ -4724,6 +4700,7 @@ CONFIG_POWER_RESET_AS3722=y CONFIG_POWER_RESET_GPIO=y CONFIG_POWER_RESET_GPIO_RESTART=y CONFIG_POWER_RESET_LTC2952=y +CONFIG_POWER_RESET_MT6323=y CONFIG_POWER_RESET_RESTART=y CONFIG_POWER_RESET_SYSCON=y CONFIG_POWER_RESET_SYSCON_POWEROFF=y @@ -4864,6 +4841,9 @@ CONFIG_SENSORS_POWR1220=m CONFIG_SENSORS_LINEAGE=m CONFIG_SENSORS_LOCHNAGAR=m CONFIG_SENSORS_LTC2945=m +CONFIG_SENSORS_LTC2947=m +CONFIG_SENSORS_LTC2947_I2C=m +CONFIG_SENSORS_LTC2947_SPI=m CONFIG_SENSORS_LTC2990=m CONFIG_SENSORS_LTC4151=m CONFIG_SENSORS_LTC4215=m @@ -4916,6 +4896,7 @@ CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_BEL_PFE=m CONFIG_SENSORS_IBM_CFFPS=m CONFIG_SENSORS_INSPUR_IPSPS=m CONFIG_SENSORS_IR35221=m @@ -4969,6 +4950,7 @@ CONFIG_SENSORS_TMP103=m CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TMP513=m CONFIG_SENSORS_VIA_CPUTEMP=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VT1211=m @@ -5926,9 +5908,11 @@ CONFIG_VIDEO_THS8200=m # CONFIG_VIDEO_APTINA_PLL=m CONFIG_VIDEO_SMIAPP_PLL=m +CONFIG_VIDEO_HI556=m CONFIG_VIDEO_IMX214=m CONFIG_VIDEO_IMX258=m CONFIG_VIDEO_IMX274=m +CONFIG_VIDEO_IMX290=m CONFIG_VIDEO_IMX319=m CONFIG_VIDEO_IMX355=m CONFIG_VIDEO_OV2640=m @@ -6258,13 +6242,16 @@ CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y +# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set CONFIG_DRM_LOAD_EDID_FIRMWARE=y CONFIG_DRM_DP_CEC=y CONFIG_DRM_TTM=m +CONFIG_DRM_TTM_DMA_PAGE_POOL=y CONFIG_DRM_VRAM_HELPER=m +CONFIG_DRM_TTM_HELPER=m CONFIG_DRM_GEM_CMA_HELPER=y CONFIG_DRM_KMS_CMA_HELPER=y CONFIG_DRM_GEM_SHMEM_HELPER=y @@ -6283,6 +6270,7 @@ CONFIG_DRM_I2C_NXP_TDA9950=m # ARM devices # CONFIG_DRM_KOMEDA=m +CONFIG_DRM_KOMEDA_ERROR_PRINT=y # end of ARM devices CONFIG_DRM_RADEON=m @@ -6307,6 +6295,7 @@ CONFIG_DRM_AMD_DC_DCN1_0=y CONFIG_DRM_AMD_DC_DCN2_0=y CONFIG_DRM_AMD_DC_DCN2_1=y CONFIG_DRM_AMD_DC_DSC_SUPPORT=y +# CONFIG_DRM_AMD_DC_HDCP is not set # CONFIG_DEBUG_KERNEL_DC is not set # end of Display Engine Configuration @@ -6346,7 +6335,11 @@ CONFIG_DRM_I915_GVT_KVMGT=m # drm/i915 Profile Guided Optimisation # CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 +CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 +CONFIG_DRM_I915_PREEMPT_TIMEOUT=640 CONFIG_DRM_I915_SPIN_REQUEST=5 +CONFIG_DRM_I915_STOP_TIMEOUT=100 +CONFIG_DRM_I915_TIMESLICE_DURATION=1 # end of drm/i915 Profile Guided Optimisation CONFIG_DRM_VGEM=m @@ -6557,7 +6550,7 @@ CONFIG_BACKLIGHT_DA903X=m CONFIG_BACKLIGHT_DA9052=m CONFIG_BACKLIGHT_MAX8925=m CONFIG_BACKLIGHT_APPLE=m -CONFIG_BACKLIGHT_PM8941_WLED=m +CONFIG_BACKLIGHT_QCOM_WLED=m CONFIG_BACKLIGHT_SAHARA=m CONFIG_BACKLIGHT_WM831X=m CONFIG_BACKLIGHT_ADP5520=m @@ -6740,7 +6733,6 @@ CONFIG_SND_YMFPCI=m # CONFIG_SND_HDA=m CONFIG_SND_HDA_INTEL=m -# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_RECONFIG=y CONFIG_SND_HDA_INPUT_BEEP=y @@ -6768,7 +6760,8 @@ CONFIG_SND_HDA_COMPONENT=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_EXT_CORE=m CONFIG_SND_HDA_PREALLOC_SIZE=4096 -CONFIG_SND_INTEL_NHLT=m +CONFIG_SND_INTEL_NHLT=y +CONFIG_SND_INTEL_DSP_CONFIG=m CONFIG_SND_SPI=y CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m @@ -6856,10 +6849,10 @@ CONFIG_SND_SOC_INTEL_SKL=m CONFIG_SND_SOC_INTEL_APL=m CONFIG_SND_SOC_INTEL_KBL=m CONFIG_SND_SOC_INTEL_GLK=m -# CONFIG_SND_SOC_INTEL_CNL is not set -# CONFIG_SND_SOC_INTEL_CFL is not set -# CONFIG_SND_SOC_INTEL_CML_H is not set -# CONFIG_SND_SOC_INTEL_CML_LP is not set +CONFIG_SND_SOC_INTEL_CNL=m +CONFIG_SND_SOC_INTEL_CFL=m +CONFIG_SND_SOC_INTEL_CML_H=m +CONFIG_SND_SOC_INTEL_CML_LP=m CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set @@ -6883,6 +6876,7 @@ CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_DA7219_MAX98357A_GENERIC=m +CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON=m CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m @@ -6890,19 +6884,18 @@ CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH=m CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m CONFIG_SND_SOC_MTK_BTCVSD=m CONFIG_SND_SOC_SOF_TOPLEVEL=y CONFIG_SND_SOC_SOF_PCI=m CONFIG_SND_SOC_SOF_ACPI=m CONFIG_SND_SOC_SOF_OF=m -CONFIG_SND_SOC_SOF_OPTIONS=m -# CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set -# CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set -# CONFIG_SND_SOC_SOF_DEBUG is not set +# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set CONFIG_SND_SOC_SOF=m CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y @@ -6911,7 +6904,6 @@ CONFIG_SND_SOC_SOF_INTEL_PCI=m CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m CONFIG_SND_SOC_SOF_INTEL_COMMON=m -# CONFIG_SND_SOC_SOF_BAYTRAIL_SUPPORT is not set CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y CONFIG_SND_SOC_SOF_MERRIFIELD=m CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y @@ -6932,10 +6924,13 @@ CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y CONFIG_SND_SOC_SOF_TIGERLAKE=m CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y CONFIG_SND_SOC_SOF_ELKHARTLAKE=m +CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_JASPERLAKE=m CONFIG_SND_SOC_SOF_HDA_COMMON=m CONFIG_SND_SOC_SOF_HDA_LINK=y CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y # CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set +CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m CONFIG_SND_SOC_SOF_HDA=m CONFIG_SND_SOC_SOF_XTENSA=m @@ -6963,6 +6958,9 @@ CONFIG_SND_SOC_ADAU1761=m CONFIG_SND_SOC_ADAU1761_I2C=m CONFIG_SND_SOC_ADAU1761_SPI=m CONFIG_SND_SOC_ADAU7002=m +CONFIG_SND_SOC_ADAU7118=m +CONFIG_SND_SOC_ADAU7118_HW=m +CONFIG_SND_SOC_ADAU7118_I2C=m CONFIG_SND_SOC_AK4104=m CONFIG_SND_SOC_AK4118=m CONFIG_SND_SOC_AK4458=m @@ -7047,6 +7045,7 @@ CONFIG_SND_SOC_RL6231=m CONFIG_SND_SOC_RL6347A=m CONFIG_SND_SOC_RT286=m CONFIG_SND_SOC_RT298=m +CONFIG_SND_SOC_RT1011=m CONFIG_SND_SOC_RT5514=m CONFIG_SND_SOC_RT5514_SPI=m CONFIG_SND_SOC_RT5616=m @@ -7077,6 +7076,8 @@ CONFIG_SND_SOC_STA32X=m CONFIG_SND_SOC_STA350=m CONFIG_SND_SOC_STI_SAS=m CONFIG_SND_SOC_TAS2552=m +CONFIG_SND_SOC_TAS2562=m +CONFIG_SND_SOC_TAS2770=m CONFIG_SND_SOC_TAS5086=m CONFIG_SND_SOC_TAS571X=m CONFIG_SND_SOC_TAS5720=m @@ -7670,6 +7671,7 @@ CONFIG_TYPEC_WCOVE=m CONFIG_TYPEC_UCSI=m CONFIG_UCSI_CCG=m CONFIG_UCSI_ACPI=m +CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_TPS6598X=m # @@ -7712,6 +7714,7 @@ CONFIG_MMC_SDHCI_OF_AT91=m CONFIG_MMC_SDHCI_OF_DWCMSHC=m CONFIG_MMC_SDHCI_CADENCE=m CONFIG_MMC_SDHCI_F_SDH30=m +CONFIG_MMC_SDHCI_MILBEAUT=m CONFIG_MMC_WBSD=m CONFIG_MMC_ALCOR=m CONFIG_MMC_TIFM_SD=m @@ -7765,6 +7768,7 @@ CONFIG_LEDS_BCM6328=m CONFIG_LEDS_BCM6358=m CONFIG_LEDS_CPCAP=m CONFIG_LEDS_CR0014114=m +CONFIG_LEDS_EL15203000=m CONFIG_LEDS_LM3530=m CONFIG_LEDS_LM3532=m CONFIG_LEDS_LM3533=m @@ -8051,6 +8055,7 @@ CONFIG_DW_DMAC_PCI=y CONFIG_DW_EDMA=m CONFIG_DW_EDMA_PCIE=m CONFIG_HSU_DMA=y +CONFIG_SF_PDMA=m # # DMA Clients @@ -8257,6 +8262,7 @@ CONFIG_PCENGINES_APU2=m CONFIG_INTEL_SPEED_SELECT_INTERFACE=m # end of Intel Speed Select Technology interface support +CONFIG_SYSTEM76_ACPI=m CONFIG_PMC_ATOM=y CONFIG_MFD_CROS_EC=m CONFIG_CHROME_PLATFORMS=y @@ -8275,6 +8281,7 @@ CONFIG_CROS_EC_CHARDEV=m CONFIG_CROS_EC_LIGHTBAR=m CONFIG_CROS_EC_VBC=m CONFIG_CROS_EC_DEBUGFS=m +CONFIG_CROS_EC_SENSORHUB=m CONFIG_CROS_EC_SYSFS=m CONFIG_CROS_USBPD_LOGGER=m CONFIG_WILCO_EC=m @@ -8341,6 +8348,7 @@ CONFIG_IOMMU_SUPPORT=y # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_OF_IOMMU=y +CONFIG_IOMMU_DMA=y CONFIG_AMD_IOMMU=y CONFIG_AMD_IOMMU_V2=y CONFIG_DMAR_TABLE=y @@ -8519,6 +8527,7 @@ CONFIG_AD_SIGMA_DELTA=m CONFIG_AD7124=m CONFIG_AD7266=m CONFIG_AD7291=m +CONFIG_AD7292=m CONFIG_AD7298=m CONFIG_AD7476=m CONFIG_AD7606=m @@ -8761,6 +8770,9 @@ CONFIG_ADIS16480=m CONFIG_BMI160=m CONFIG_BMI160_I2C=m CONFIG_BMI160_SPI=m +CONFIG_FXOS8700=m +CONFIG_FXOS8700_I2C=m +CONFIG_FXOS8700_SPI=m CONFIG_KMX61=m CONFIG_INV_MPU6050_IIO=m CONFIG_INV_MPU6050_I2C=m @@ -8779,6 +8791,7 @@ CONFIG_IIO_ADIS_LIB_BUFFER=y # CONFIG_ACPI_ALS=m CONFIG_ADJD_S311=m +CONFIG_ADUX1020=m CONFIG_AL3320A=m CONFIG_APDS9300=m CONFIG_APDS9960=m @@ -8821,6 +8834,7 @@ CONFIG_TSL4531=m CONFIG_US5182D=m CONFIG_VCNL4000=m CONFIG_VCNL4035=m +CONFIG_VEML6030=m CONFIG_VEML6070=m CONFIG_VL6180=m CONFIG_ZOPT2201=m @@ -8950,6 +8964,7 @@ CONFIG_AD2S1200=m # # Temperature sensors # +CONFIG_LTC2983=m CONFIG_MAXIM_THERMOCOUPLE=m CONFIG_HID_SENSOR_TEMP=m CONFIG_MLX90614=m @@ -9078,6 +9093,7 @@ CONFIG_DAX_DRIVER=y CONFIG_DAX=y CONFIG_DEV_DAX=m CONFIG_DEV_DAX_PMEM=m +CONFIG_DEV_DAX_HMEM=m CONFIG_DEV_DAX_KMEM=m CONFIG_DEV_DAX_PMEM_COMPAT=m CONFIG_NVMEM=y @@ -9128,6 +9144,7 @@ CONFIG_FSI=m CONFIG_FSI_NEW_DEV_NODE=y CONFIG_FSI_MASTER_GPIO=m CONFIG_FSI_MASTER_HUB=m +CONFIG_FSI_MASTER_ASPEED=m CONFIG_FSI_SCOM=m CONFIG_FSI_SBEFIFO=m CONFIG_FSI_OCC=m @@ -9501,13 +9518,13 @@ CONFIG_DLM=m # CONFIG_DLM_DEBUG is not set CONFIG_UNICODE=y # CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set +CONFIG_IO_WQ=y # end of File systems # # Security options # CONFIG_KEYS=y -CONFIG_KEYS_COMPAT=y CONFIG_KEYS_REQUEST_CACHE=y CONFIG_PERSISTENT_KEYRINGS=y CONFIG_BIG_KEYS=y @@ -9597,8 +9614,8 @@ CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_AEAD2=y -CONFIG_CRYPTO_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_SKCIPHER=y +CONFIG_CRYPTO_SKCIPHER2=y CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH2=y CONFIG_CRYPTO_RNG=y @@ -9632,6 +9649,8 @@ CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_CURVE25519=m +CONFIG_CRYPTO_CURVE25519_X86=m # # Authenticated Encryption with Associated Data @@ -9679,6 +9698,9 @@ CONFIG_CRYPTO_CRC32C_INTEL=m CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_CRC32_PCLMUL=m CONFIG_CRYPTO_XXHASH=m +CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_BLAKE2S=m +CONFIG_CRYPTO_BLAKE2S_X86=m CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m CONFIG_CRYPTO_GHASH=y @@ -9695,7 +9717,6 @@ CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256_SSSE3=m CONFIG_CRYPTO_SHA512_SSSE3=m -CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SHA3=m @@ -9708,12 +9729,10 @@ CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m # # Ciphers # -CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_AES_TI=m CONFIG_CRYPTO_AES_NI_INTEL=m CONFIG_CRYPTO_ANUBIS=m -CONFIG_CRYPTO_LIB_ARC4=m CONFIG_CRYPTO_ARC4=m CONFIG_CRYPTO_BLOWFISH=m CONFIG_CRYPTO_BLOWFISH_COMMON=m @@ -9727,7 +9746,6 @@ CONFIG_CRYPTO_CAST5=m CONFIG_CRYPTO_CAST5_AVX_X86_64=m CONFIG_CRYPTO_CAST6=m CONFIG_CRYPTO_CAST6_AVX_X86_64=m -CONFIG_CRYPTO_LIB_DES=m CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DES3_EDE_X86_64=m CONFIG_CRYPTO_FCRYPT=m @@ -9775,6 +9793,28 @@ CONFIG_CRYPTO_USER_API_RNG=m CONFIG_CRYPTO_USER_API_AEAD=m # CONFIG_CRYPTO_STATS is not set CONFIG_CRYPTO_HASH_INFO=y + +# +# Crypto library routines +# +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=m +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m +CONFIG_CRYPTO_LIB_BLAKE2S=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m +CONFIG_CRYPTO_LIB_CHACHA=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m +CONFIG_CRYPTO_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_DES=m +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=4 +CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m +CONFIG_CRYPTO_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_SHA256=y CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m @@ -9799,10 +9839,11 @@ CONFIG_CRYPTO_DEV_NITROX=m CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CHELSIO_IPSEC_INLINE=y -CONFIG_CRYPTO_DEV_CHELSIO_TLS=m CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_SAFEXCEL=m CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG=y CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE=m @@ -9970,6 +10011,8 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=1 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_BOOT_PRINTK_DELAY is not set CONFIG_DYNAMIC_DEBUG=y +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_DEBUG_BUGVERBOSE=y # end of printk and dmesg options # @@ -9980,7 +10023,6 @@ CONFIG_DYNAMIC_DEBUG=y CONFIG_FRAME_WARN=2048 CONFIG_STRIP_ASM_SYMS=y # CONFIG_READABLE_ASM is not set -CONFIG_DEBUG_FS=y # CONFIG_HEADERS_INSTALL is not set CONFIG_OPTIMIZE_INLINING=y # CONFIG_DEBUG_SECTION_MISMATCH is not set @@ -9989,9 +10031,20 @@ CONFIG_STACK_VALIDATION=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # end of Compile-time checks and compiler options +# +# Generic Kernel Debugging Instruments +# CONFIG_MAGIC_SYSRQ=y CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_DEBUG_FS=y +CONFIG_HAVE_ARCH_KGDB=y +# CONFIG_KGDB is not set +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +# CONFIG_UBSAN is not set +CONFIG_UBSAN_ALIGNMENT=y +# end of Generic Kernel Debugging Instruments + CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_MISC=y @@ -10010,25 +10063,27 @@ CONFIG_DEBUG_MISC=y CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_SCHED_STACK_END_CHECK=y # CONFIG_DEBUG_VM is not set CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y # CONFIG_DEBUG_VIRTUAL is not set CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KASAN_VMALLOC=y CONFIG_CC_HAS_KASAN_GENERIC=y # CONFIG_KASAN is not set CONFIG_KASAN_STACK=1 # end of Memory Debugging -CONFIG_ARCH_HAS_KCOV=y -CONFIG_CC_HAS_SANCOV_TRACE_PC=y -# CONFIG_KCOV is not set # CONFIG_DEBUG_SHIRQ is not set # -# Debug Lockups and Hangs +# Debug Oops, Lockups and Hangs # +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 CONFIG_LOCKUP_DETECTOR=y CONFIG_SOFTLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set @@ -10043,15 +10098,16 @@ CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 # CONFIG_WQ_WATCHDOG is not set -# end of Debug Lockups and Hangs +# end of Debug Oops, Lockups and Hangs -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 +# +# Scheduler Debugging +# CONFIG_SCHED_DEBUG=y CONFIG_SCHED_INFO=y CONFIG_SCHEDSTATS=y -CONFIG_SCHED_STACK_END_CHECK=y +# end of Scheduler Debugging + # CONFIG_DEBUG_TIMEKEEPING is not set CONFIG_DEBUG_PREEMPT=y @@ -10076,11 +10132,17 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_STACKTRACE=y # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set -CONFIG_DEBUG_BUGVERBOSE=y + +# +# Debug kernel data structures +# # CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_PLIST is not set # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# end of Debug kernel data structures + # CONFIG_DEBUG_CREDENTIALS is not set # @@ -10096,9 +10158,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -CONFIG_FUNCTION_ERROR_INJECTION=y -# CONFIG_FAULT_INJECTION is not set CONFIG_LATENCYTOP=y CONFIG_USER_STACKTRACE_SUPPORT=y CONFIG_NOP_TRACER=y @@ -10106,6 +10165,7 @@ CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_FENTRY=y @@ -10142,6 +10202,7 @@ CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y CONFIG_DYNAMIC_FTRACE=y CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y CONFIG_FUNCTION_PROFILER=y CONFIG_BPF_KPROBE_OVERRIDE=y CONFIG_FTRACE_MCOUNT_RECORD=y @@ -10149,6 +10210,7 @@ CONFIG_FTRACE_MCOUNT_RECORD=y CONFIG_MMIOTRACE=y CONFIG_TRACING_MAP=y CONFIG_HIST_TRIGGERS=y +# CONFIG_TRACE_EVENT_INJECT is not set # CONFIG_MMIOTRACE_TEST is not set # CONFIG_TRACEPOINT_BENCHMARK is not set # CONFIG_RING_BUFFER_BENCHMARK is not set @@ -10156,6 +10218,53 @@ CONFIG_HIST_TRIGGERS=y # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_TRACE_EVAL_MAP_FILE is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +# CONFIG_SAMPLES is not set +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +CONFIG_STRICT_DEVMEM=y +CONFIG_IO_STRICT_DEVMEM=y + +# +# x86 Debugging +# +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +# CONFIG_X86_VERBOSE_BOOTUP is not set +CONFIG_EARLY_PRINTK=y +# CONFIG_EARLY_PRINTK_DBGP is not set +# CONFIG_EARLY_PRINTK_USB_XDBC is not set +CONFIG_X86_PTDUMP_CORE=y +# CONFIG_X86_PTDUMP is not set +# CONFIG_EFI_PGT_DUMP is not set +CONFIG_DEBUG_WX=y +CONFIG_DOUBLEFAULT=y +# CONFIG_DEBUG_TLBFLUSH is not set +# CONFIG_IOMMU_DEBUG is not set +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +# CONFIG_X86_DECODER_SELFTEST is not set +CONFIG_IO_DELAY_0X80=y +# CONFIG_IO_DELAY_0XED is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_DELAY_NONE is not set +CONFIG_DEBUG_BOOT_PARAMS=y +# CONFIG_CPA_DEBUG is not set +# CONFIG_DEBUG_ENTRY is not set +# CONFIG_DEBUG_NMI_SELFTEST is not set +# CONFIG_X86_DEBUG_FPU is not set +# CONFIG_PUNIT_ATOM_DEBUG is not set +CONFIG_UNWINDER_ORC=y +# CONFIG_UNWINDER_FRAME_POINTER is not set +# CONFIG_UNWINDER_GUESS is not set +# end of x86 Debugging + +# +# Kernel Testing and Coverage +# +# CONFIG_KUNIT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +CONFIG_FUNCTION_ERROR_INJECTION=y +# CONFIG_FAULT_INJECTION is not set +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set CONFIG_RUNTIME_TESTING_MENU=y CONFIG_LKDTM=m # CONFIG_TEST_LIST_SORT is not set @@ -10198,41 +10307,6 @@ CONFIG_LKDTM=m # CONFIG_TEST_STACKINIT is not set # CONFIG_TEST_MEMINIT is not set # CONFIG_MEMTEST is not set -# CONFIG_BUG_ON_DATA_CORRUPTION is not set -# CONFIG_SAMPLES is not set -CONFIG_HAVE_ARCH_KGDB=y -# CONFIG_KGDB is not set -CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y -# CONFIG_UBSAN is not set -CONFIG_UBSAN_ALIGNMENT=y -CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y -CONFIG_STRICT_DEVMEM=y -CONFIG_IO_STRICT_DEVMEM=y -CONFIG_TRACE_IRQFLAGS_SUPPORT=y -# CONFIG_X86_VERBOSE_BOOTUP is not set -CONFIG_EARLY_PRINTK=y -# CONFIG_EARLY_PRINTK_DBGP is not set -# CONFIG_EARLY_PRINTK_USB_XDBC is not set -CONFIG_X86_PTDUMP_CORE=y -# CONFIG_X86_PTDUMP is not set -# CONFIG_EFI_PGT_DUMP is not set -CONFIG_DEBUG_WX=y -CONFIG_DOUBLEFAULT=y -# CONFIG_DEBUG_TLBFLUSH is not set -# CONFIG_IOMMU_DEBUG is not set -CONFIG_HAVE_MMIOTRACE_SUPPORT=y -# CONFIG_X86_DECODER_SELFTEST is not set -CONFIG_IO_DELAY_0X80=y -# CONFIG_IO_DELAY_0XED is not set -# CONFIG_IO_DELAY_UDELAY is not set -# CONFIG_IO_DELAY_NONE is not set -CONFIG_DEBUG_BOOT_PARAMS=y -# CONFIG_CPA_DEBUG is not set -# CONFIG_DEBUG_ENTRY is not set -# CONFIG_DEBUG_NMI_SELFTEST is not set -# CONFIG_X86_DEBUG_FPU is not set -# CONFIG_PUNIT_ATOM_DEBUG is not set -CONFIG_UNWINDER_ORC=y -# CONFIG_UNWINDER_FRAME_POINTER is not set -# CONFIG_UNWINDER_GUESS is not set +# CONFIG_HYPERV_TESTING is not set +# end of Kernel Testing and Coverage # end of Kernel hacking -- cgit v1.2.1