summaryrefslogtreecommitdiff
path: root/libre/linux-libre-pae
diff options
context:
space:
mode:
Diffstat (limited to 'libre/linux-libre-pae')
-rw-r--r--libre/linux-libre-pae/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch14
-rw-r--r--libre/linux-libre-pae/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch (renamed from libre/linux-libre-pae/0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch)20
-rw-r--r--libre/linux-libre-pae/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch79
-rw-r--r--libre/linux-libre-pae/0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch182
-rw-r--r--libre/linux-libre-pae/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch48
-rw-r--r--libre/linux-libre-pae/0004-Btrfs-send-fix-emission-of-invalid-clone-operations-.patch92
-rw-r--r--libre/linux-libre-pae/0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch272
-rw-r--r--libre/linux-libre-pae/0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch78
-rw-r--r--libre/linux-libre-pae/0005-iwlwifi-mvm-Do-not-require-PHY_SKU-NVM-section-for-3.patch40
-rw-r--r--libre/linux-libre-pae/0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch87
-rw-r--r--libre/linux-libre-pae/0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch57
-rw-r--r--libre/linux-libre-pae/0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch41
-rw-r--r--libre/linux-libre-pae/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch64
-rw-r--r--libre/linux-libre-pae/0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch35
-rw-r--r--libre/linux-libre-pae/0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch48
-rw-r--r--libre/linux-libre-pae/0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch174
-rw-r--r--libre/linux-libre-pae/0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch80
-rw-r--r--libre/linux-libre-pae/0015-ptp-free-ptp-device-pin-descriptors-properly.patch50
-rw-r--r--libre/linux-libre-pae/PKGBUILD50
-rw-r--r--libre/linux-libre-pae/config310
20 files changed, 524 insertions, 1297 deletions
diff --git a/libre/linux-libre-pae/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/libre/linux-libre-pae/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
index c83e607e3..f7b1e9f54 100644
--- a/libre/linux-libre-pae/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
+++ b/libre/linux-libre-pae/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
@@ -1,7 +1,7 @@
-From ace933a17f0b2e6e75e5ed330e8c12efae62aa53 Mon Sep 17 00:00:00 2001
+From 46190aab49a3591ebd824367627b47492653fa31 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Mon, 16 Sep 2019 04:53:20 +0200
-Subject: [PATCH 01/15] ZEN: Add sysctl and CONFIG to disallow unprivileged
+Subject: [PATCH 1/5] ZEN: Add sysctl and CONFIG to disallow unprivileged
CLONE_NEWUSER
Our default behavior continues to match the vanilla kernel.
@@ -13,10 +13,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 47d40f399000..6647db098428 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1118,6 +1118,22 @@ config USER_NS
+@@ -1103,6 +1103,22 @@ config USER_NS
If unsure, say N.
@@ -40,7 +40,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 +55,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 +66,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;
diff --git a/libre/linux-libre-pae/0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch b/libre/linux-libre-pae/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
index 9145881b7..679faad2b 100644
--- a/libre/linux-libre-pae/0006-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
+++ b/libre/linux-libre-pae/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
@@ -1,14 +1,20 @@
-From 50b253fe7f01a82c8054d88319598db71ae5d083 Mon Sep 17 00:00:00 2001
+From 013d00e92f514854803a9abcddee1255b4cc348e Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Tue, 24 Dec 2019 05:18:47 +0100
-Subject: [PATCH 06/15] iwlwifi: pcie: restore support for Killer Qu C0 NICs
+Date: Tue, 24 Dec 2019 06:16:39 +0100
+Subject: [PATCH 2/5] 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.
+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
-talks about.
+("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) <jan.steffens@gmail.com>
diff --git a/libre/linux-libre-pae/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch b/libre/linux-libre-pae/0002-lib-devres-add-a-helper-function-for-ioremap_uc.patch
deleted file mode 100644
index 3ecc89738..000000000
--- a/libre/linux-libre-pae/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 <ztuowen@gmail.com>
-Date: Wed, 16 Oct 2019 15:06:28 -0600
-Subject: [PATCH 02/15] lib: devres: add a helper function for ioremap_uc
-
-Implement a resource managed strongly uncachable ioremap function.
-
-Cc: <stable@vger.kernel.org> # v4.19+
-Tested-by: AceLan Kao <acelan.kao@canonical.com>
-Signed-off-by: Tuowen Zhao <ztuowen@gmail.com>
-Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
-Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-Acked-by: Luis Chamberlain <mcgrof@kernel.org>
-Signed-off-by: Lee Jones <lee.jones@linaro.org>
----
- 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/libre/linux-libre-pae/0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch b/libre/linux-libre-pae/0003-ALSA-hda-Fix-DP-MST-support-for-NVIDIA-codecs.patch
new file mode 100644
index 000000000..665022cd6
--- /dev/null
+++ b/libre/linux-libre-pae/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 <nmahale@nvidia.com>
+Date: Mon, 3 Feb 2020 15:36:17 +0530
+Subject: [PATCH 3/5] 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 <nmahale@nvidia.com>
+---
+ 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);
+ }
+
+--
+2.25.0
+
diff --git a/libre/linux-libre-pae/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch b/libre/linux-libre-pae/0003-mfd-intel-lpss-Use-devm_ioremap_uc-for-MMIO.patch
deleted file mode 100644
index 8794625c2..000000000
--- a/libre/linux-libre-pae/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 <ztuowen@gmail.com>
-Date: Wed, 16 Oct 2019 15:06:29 -0600
-Subject: [PATCH 03/15] mfd: intel-lpss: Use devm_ioremap_uc for MMIO
-
-Some BIOS erroneously specifies write-combining BAR for intel-lpss-pci
-in MTRR. This will cause the system to hang during boot. If possible,
-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: <stable@vger.kernel.org> # v4.19+
-Tested-by: AceLan Kao <acelan.kao@canonical.com>
-Signed-off-by: Tuowen Zhao <ztuowen@gmail.com>
-Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
-Acked-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
-Tested-by: Roman Gilg <subdiff@gmail.com>
-Signed-off-by: Lee Jones <lee.jones@linaro.org>
----
- 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/libre/linux-libre-pae/0004-Btrfs-send-fix-emission-of-invalid-clone-operations-.patch b/libre/linux-libre-pae/0004-Btrfs-send-fix-emission-of-invalid-clone-operations-.patch
new file mode 100644
index 000000000..26c10a8df
--- /dev/null
+++ b/libre/linux-libre-pae/0004-Btrfs-send-fix-emission-of-invalid-clone-operations-.patch
@@ -0,0 +1,92 @@
+From d0910be3493b40233c513c9ad01ac0878ae26a48 Mon Sep 17 00:00:00 2001
+From: Filipe Manana <fdmanana@suse.com>
+Date: Wed, 29 Jan 2020 17:09:53 +0000
+Subject: [PATCH 4/5] 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 256K, which
+refers to the first 128K of the 320K extent created by the buffered write
+operations, we have 'cur_inode_next_write_offset' set to 384K, which
+corresponds to the end offset of the partially shared extent (256K + 128K)
+and to the current file size in the receiver. Then when we process the
+extent at offset 512K, we do extent backreference iteration to figure out
+if we can clone the extent from some other inode or from the same inode,
+and we consider the extent at offset 256K of the same inode as a valid
+source for a clone operation, which is not correct because at that point
+the current file size in the receiver is 384K, which corresponds to the
+end of last processed extent (at file offset 256K), so using a clone
+source range from 256K to 256K + 320K is invalid because that goes past
+the current size of the file (384K) - this makes the receiver get an
+-EINVAL error when attempting the clone operation.
+
+So fix this by excluding clone sources that have a range that goes beyond
+the current file size in the receiver when iterating extent backreferences.
+
+A test case for fstests follows soon.
+
+Fixes: 11f2069c113e02 ("Btrfs: send, allow clone operations within the same file")
+CC: stable@vger.kernel.org # 5.5+
+Reviewed-by: Josef Bacik <josef@toxicpanda.com>
+Signed-off-by: Filipe Manana <fdmanana@suse.com>
+Signed-off-by: David Sterba <dsterba@suse.com>
+---
+ fs/btrfs/send.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
+index 091e5bc8c7ea..a055b657cb85 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;
+ }
+
+--
+2.25.0
+
diff --git a/libre/linux-libre-pae/0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch b/libre/linux-libre-pae/0004-PCI-pciehp-Prevent-deadlock-on-disconnect.patch
deleted file mode 100644
index 304446c22..000000000
--- a/libre/linux-libre-pae/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 <mika.westerberg@linux.intel.com>
-Date: Tue, 29 Oct 2019 20:00:22 +0300
-Subject: [PATCH 04/15] 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 <kai.heng.feng@canonical.com>
-Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
-Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
----
- 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/libre/linux-libre-pae/0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch b/libre/linux-libre-pae/0005-ACPI-PM-s2idle-Rework-ACPI-events-synchronization.patch
deleted file mode 100644
index e5e617f28..000000000
--- a/libre/linux-libre-pae/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" <rafael.j.wysocki@intel.com>
-Date: Thu, 28 Nov 2019 23:50:40 +0100
-Subject: [PATCH 05/15] ACPI: PM: s2idle: Rework ACPI events synchronization
-
-Note that the EC GPE processing need not be synchronized in
-acpi_s2idle_wake() after invoking acpi_ec_dispatch_gpe(), because
-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 <rafael.j.wysocki@intel.com>
----
- 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/libre/linux-libre-pae/0005-iwlwifi-mvm-Do-not-require-PHY_SKU-NVM-section-for-3.patch b/libre/linux-libre-pae/0005-iwlwifi-mvm-Do-not-require-PHY_SKU-NVM-section-for-3.patch
new file mode 100644
index 000000000..14f03c105
--- /dev/null
+++ b/libre/linux-libre-pae/0005-iwlwifi-mvm-Do-not-require-PHY_SKU-NVM-section-for-3.patch
@@ -0,0 +1,40 @@
+From 5686c24790e74b13b9ba70ed5602029613af13e9 Mon Sep 17 00:00:00 2001
+From: Dan Moulding <dmoulding@me.com>
+Date: Tue, 28 Jan 2020 02:31:07 -0700
+Subject: [PATCH 5/5] iwlwifi: mvm: Do not require PHY_SKU NVM section for 3168
+ devices
+
+The logic for checking required NVM sections was recently fixed in
+commit b3f20e098293 ("iwlwifi: mvm: fix NVM check for 3168
+devices"). However, with that fixed the else is now taken for 3168
+devices and within the else clause there is a mandatory check for the
+PHY_SKU section. This causes the parsing to fail for 3168 devices.
+
+The PHY_SKU section is really only mandatory for the IWL_NVM_EXT
+layout (the phy_sku parameter of iwl_parse_nvm_data is only used when
+the NVM type is IWL_NVM_EXT). So this changes the PHY_SKU section
+check so that it's only mandatory for IWL_NVM_EXT.
+
+Fixes: b3f20e098293 ("iwlwifi: mvm: fix NVM check for 3168 devices")
+Signed-off-by: Dan Moulding <dmoulding@me.com>
+---
+ drivers/net/wireless/intel/iwlwifi/mvm/nvm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
+index 46128a2a9c6e..e98ce380c7b9 100644
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
+@@ -308,7 +308,8 @@ iwl_parse_nvm_sections(struct iwl_mvm *mvm)
+ }
+
+ /* PHY_SKU section is mandatory in B0 */
+- if (!mvm->nvm_sections[NVM_SECTION_TYPE_PHY_SKU].data) {
++ if (mvm->trans->cfg->nvm_type == IWL_NVM_EXT &&
++ !mvm->nvm_sections[NVM_SECTION_TYPE_PHY_SKU].data) {
+ IWL_ERR(mvm,
+ "Can't parse phy_sku in B0, empty sections\n");
+ return NULL;
+--
+2.25.0
+
diff --git a/libre/linux-libre-pae/0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch b/libre/linux-libre-pae/0007-drm-i915-save-AUD_FREQ_CNTRL-state-at-audio-domain-s.patch
deleted file mode 100644
index daeaf7069..000000000
--- a/libre/linux-libre-pae/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 <kai.vehmanen@linux.intel.com>
-Date: Fri, 20 Sep 2019 11:39:18 +0300
-Subject: [PATCH 07/15] drm/i915: save AUD_FREQ_CNTRL state at audio domain
- suspend
-
-When audio power domain is suspended, the display driver must
-save state of AUD_FREQ_CNTRL on Tiger Lake and Ice Lake
-systems. The initial value of the register is set by BIOS and
-is read by driver during the audio component init sequence.
-
-Cc: Jani Nikula <jani.nikula@intel.com>
-Cc: Imre Deak <imre.deak@intel.com>
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-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/libre/linux-libre-pae/0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch b/libre/linux-libre-pae/0008-drm-i915-Fix-audio-power-up-sequence-for-gen10-displ.patch
deleted file mode 100644
index 0ed086f28..000000000
--- a/libre/linux-libre-pae/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 <kai.vehmanen@linux.intel.com>
-Date: Thu, 3 Oct 2019 11:55:30 +0300
-Subject: [PATCH 08/15] drm/i915: Fix audio power up sequence for gen10+
- display
-
-On platfroms with gen10+ display, driver must set the enable bit of
-AUDIO_PIN_BUF_CTL register before transactions with the HDA controller
-can proceed. Add setting this bit to the audio power up sequence.
-
-Failing to do this resulted in errors during display audio codec probe,
-and failures during resume from suspend.
-
-Note: We may also need to disable the bit afterwards, but there are
-still unresolved issues with that.
-
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111214
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-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/libre/linux-libre-pae/0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch b/libre/linux-libre-pae/0009-drm-i915-extend-audio-CDCLK-2-BCLK-constraint-to-mor.patch
deleted file mode 100644
index 428daa3d3..000000000
--- a/libre/linux-libre-pae/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 <kai.vehmanen@linux.intel.com>
-Date: Thu, 3 Oct 2019 11:55:31 +0300
-Subject: [PATCH 09/15] drm/i915: extend audio CDCLK>=2*BCLK constraint to more
- platforms
-
-The CDCLK>=2*BCLK constraint applies to all generations since gen10.
-Extend the constraint logic in audio get/put_power().
-
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Signed-off-by: Jani Nikula <jani.nikula@intel.com>
-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/libre/linux-libre-pae/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch b/libre/linux-libre-pae/0010-drm-i915-Limit-audio-CDCLK-2-BCLK-constraint-back-to.patch
deleted file mode 100644
index f1735399a..000000000
--- a/libre/linux-libre-pae/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 <kai.vehmanen@linux.intel.com>
-Date: Tue, 31 Dec 2019 16:00:07 +0200
-Subject: [PATCH 10/15] drm/i915: Limit audio CDCLK>=2*BCLK constraint back to
- GLK only
-
-Revert changes done in commit f6ec9483091f ("drm/i915: extend audio
-CDCLK>=2*BCLK constraint to more platforms"). Audio drivers
-communicate with i915 over HDA bus multiple times during system
-boot-up and each of these transactions result in matching
-get_power/put_power calls to i915, and depending on the platform,
-a modeset change causing visible flicker.
-
-GLK is the only platform with minimum CDCLK significantly lower
-than BCLK, and thus for GLK setting a higher CDCLK is mandatory.
-
-For other platforms, minimum CDCLK is close but below 2*BCLK
-(e.g. on ICL, CDCLK=176.4kHz with BCLK=96kHz). Spec-wise the constraint
-should be set, but in practise no communication errors have been
-reported and the downside if set is the flicker observed at boot-time.
-
-Revert to old behaviour until better mechanism to manage
-probe-time clocks is available.
-
-The full CDCLK>=2*BCLK constraint is still enforced at pipe
-enable time in intel_crtc_compute_min_cdclk().
-
-Bugzilla: https://gitlab.freedesktop.org/drm/intel/issues/913
-Fixes: f6ec9483091f ("drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms")
-Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
-Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
-Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191231140007.31728-1-kai.vehmanen@linux.intel.com
-(cherry picked from commit 1ee48a61aa57dbdbc3cd2808d8b28df40d938e44)
-Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
----
- drivers/gpu/drm/i915/display/intel_audio.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
-index 05ef43b13d1c..0cf475f3063c 100644
---- a/drivers/gpu/drm/i915/display/intel_audio.c
-+++ b/drivers/gpu/drm/i915/display/intel_audio.c
-@@ -858,7 +858,7 @@ static unsigned long i915_audio_component_get_power(struct device *kdev)
- }
-
- /* Force CDCLK to 2*BCLK as long as we need audio powered. */
-- if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
-+ if (IS_GEMINILAKE(dev_priv))
- glk_force_audio_cdclk(dev_priv, true);
-
- if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
-@@ -877,7 +877,7 @@ static void i915_audio_component_put_power(struct device *kdev,
-
- /* Stop forcing CDCLK to 2*BCLK if no need for audio to be powered. */
- if (--dev_priv->audio_power_refcount == 0)
-- if (INTEL_GEN(dev_priv) >= 10 || IS_GEMINILAKE(dev_priv))
-+ if (IS_GEMINILAKE(dev_priv))
- glk_force_audio_cdclk(dev_priv, false);
-
- intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO, cookie);
---
-2.25.0
-
diff --git a/libre/linux-libre-pae/0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch b/libre/linux-libre-pae/0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch
deleted file mode 100644
index f5fde7db7..000000000
--- a/libre/linux-libre-pae/0011-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 93ca62c645759168768638e65d52452b4a9898a4 Mon Sep 17 00:00:00 2001
-From: Boyan Ding <boyan.j.ding@gmail.com>
-Date: Wed, 1 Jan 2020 11:44:49 -0800
-Subject: [PATCH 11/15] pinctrl: sunrisepoint: Add missing Interrupt Status
- register offset
-
-Commit 179e5a6114cc ("pinctrl: intel: Remove default Interrupt Status
-offset") removes default interrupt status offset of GPIO controllers,
-with previous commits explicitly providing the previously default
-offsets. However, the is_offset value in SPTH_COMMUNITY is missing,
-preventing related irq from being properly detected and handled.
-
-Fixes: f702e0b93cdb ("pinctrl: sunrisepoint: Provide Interrupt Status register offset")
-Link: https://bugzilla.kernel.org/show_bug.cgi?id=205745
-Cc: stable@vger.kernel.org
-Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
----
- drivers/pinctrl/intel/pinctrl-sunrisepoint.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/pinctrl/intel/pinctrl-sunrisepoint.c b/drivers/pinctrl/intel/pinctrl-sunrisepoint.c
-index 44d7f50bbc82..d936e7aa74c4 100644
---- a/drivers/pinctrl/intel/pinctrl-sunrisepoint.c
-+++ b/drivers/pinctrl/intel/pinctrl-sunrisepoint.c
-@@ -49,6 +49,7 @@
- .padown_offset = SPT_PAD_OWN, \
- .padcfglock_offset = SPT_PADCFGLOCK, \
- .hostown_offset = SPT_HOSTSW_OWN, \
-+ .is_offset = SPT_GPI_IS, \
- .ie_offset = SPT_GPI_IE, \
- .pin_base = (s), \
- .npins = ((e) - (s) + 1), \
---
-2.25.0
-
diff --git a/libre/linux-libre-pae/0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch b/libre/linux-libre-pae/0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch
deleted file mode 100644
index 7e00635a5..000000000
--- a/libre/linux-libre-pae/0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 540f62738b8f3049e200a086cac75d14d289fae9 Mon Sep 17 00:00:00 2001
-From: Mehmet Akif Tasova <makiftasova@gmail.com>
-Date: Mon, 30 Dec 2019 15:48:16 +0200
-Subject: [PATCH 12/15] Revert "iwlwifi: mvm: fix scan config command size"
-
-Since v5.4-rc1 was released, iwlwifi started throwing errors when scan
-commands were sent to the firmware with certain devices (depending on
-the OTP burned in the device, which contains the list of available
-channels). For instance:
-
-iwlwifi 0000:00:14.3: FW error in SYNC CMD SCAN_CFG_CMD
-
-This bug was reported in the ArchLinux bug tracker:
-https://bugs.archlinux.org/task/64703
-
-And also in a specific case in bugzilla, when the lar_disabled option
-was set: https://bugzilla.kernel.org/show_bug.cgi?id=205193
-
-Revert the commit that introduced this error, by using the number of
-channels from the OTP instead of the number of channels that is
-specified in the FW TLV that tells us how many channels it supports.
-
-This reverts commit 06eb547c4ae4382e70d556ba213d13c95ca1801b.
-
-Cc: stable@vger.kernel.org # v5.4+
-Signed-off-by: Mehmet Akif Tasova <makiftasova@gmail.com>
-[ Luca: reworded the commit message a bit. ]
-Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
----
- drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
-index fcafa22ec6ce..8aa567d7912c 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
-@@ -1220,7 +1220,7 @@ static int iwl_mvm_legacy_config_scan(struct iwl_mvm *mvm)
- cmd_size = sizeof(struct iwl_scan_config_v2);
- else
- cmd_size = sizeof(struct iwl_scan_config_v1);
-- cmd_size += num_channels;
-+ cmd_size += mvm->fw->ucode_capa.n_scan_channels;
-
- cfg = kzalloc(cmd_size, GFP_KERNEL);
- if (!cfg)
---
-2.25.0
-
diff --git a/libre/linux-libre-pae/0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch b/libre/linux-libre-pae/0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch
deleted file mode 100644
index 39d3839b4..000000000
--- a/libre/linux-libre-pae/0013-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 <jeffrey.t.kirsher@intel.com>
-Date: Sat, 4 Jan 2020 23:29:22 -0800
-Subject: [PATCH 13/15] e1000e: Revert "e1000e: Make watchdog use delayed work"
-
-This reverts commit 59653e6497d16f7ac1d9db088f3959f57ee8c3db.
-
-This is due to this commit causing driver crashes and connections to
-reset unexpectedly.
-
-Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
----
- 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/libre/linux-libre-pae/0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch b/libre/linux-libre-pae/0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch
deleted file mode 100644
index 4c162d00b..000000000
--- a/libre/linux-libre-pae/0014-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 <sunpeng.li@amd.com>
-Date: Mon, 21 Oct 2019 14:58:47 -0400
-Subject: [PATCH 14/15] drm/amdgpu: Add DC feature mask to disable fractional
- pwm
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-[Why]
-
-Some LED panel drivers might not like fractional PWM. In such cases,
-backlight flickering may be observed.
-
-[How]
-
-Add a DC feature mask to disable fractional PWM, and associate it with
-the preexisting dc_config flag.
-
-The flag is only plumbed through the dmcu firmware, so plumb it through
-the driver path as well.
-
-To disable, add the following to the linux cmdline:
-amdgpu.dcfeaturemask=0x4
-
-Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204957
-Signed-off-by: Leo Li <sunpeng.li@amd.com>
-Reviewed-by: Anthony Koo <anthony.koo@amd.com>
-Tested-by: Lukáš Krejčí <lskrejci@gmail.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +++
- drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 4 ++++
- drivers/gpu/drm/amd/include/amd_shared.h | 1 +
- 3 files changed, 8 insertions(+)
-
-diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-index 4e9c15c409ba..25b72eb76add 100644
---- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
-@@ -697,6 +697,9 @@ static int amdgpu_dm_init(struct amdgpu_device *adev)
- if (amdgpu_dc_feature_mask & DC_MULTI_MON_PP_MCLK_SWITCH_MASK)
- init_data.flags.multi_mon_pp_mclk_switch = true;
-
-+ if (amdgpu_dc_feature_mask & DC_DISABLE_FRACTIONAL_PWM_MASK)
-+ init_data.flags.disable_fractional_pwm = true;
-+
- init_data.flags.power_down_display_on_boot = true;
-
- #ifdef CONFIG_DRM_AMD_DC_DCN2_0
-diff --git a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
-index 7700a855d77c..698b84acc44f 100644
---- a/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
-+++ b/drivers/gpu/drm/amd/display/dc/dce/dce_abm.c
-@@ -404,6 +404,10 @@ static bool dce_abm_init_backlight(struct abm *abm)
- /* Enable the backlight output */
- REG_UPDATE(BL_PWM_CNTL, BL_PWM_EN, 1);
-
-+ /* Disable fractional pwm if configured */
-+ REG_UPDATE(BL_PWM_CNTL, BL_PWM_FRACTIONAL_EN,
-+ abm->ctx->dc->config.disable_fractional_pwm ? 0 : 1);
-+
- /* Unlock group 2 backlight registers */
- REG_UPDATE(BL_PWM_GRP1_REG_LOCK,
- BL_PWM_GRP1_REG_LOCK, 0);
-diff --git a/drivers/gpu/drm/amd/include/amd_shared.h b/drivers/gpu/drm/amd/include/amd_shared.h
-index 8889aaceec60..5450ed762b7a 100644
---- a/drivers/gpu/drm/amd/include/amd_shared.h
-+++ b/drivers/gpu/drm/amd/include/amd_shared.h
-@@ -143,6 +143,7 @@ enum PP_FEATURE_MASK {
- enum DC_FEATURE_MASK {
- DC_FBC_MASK = 0x1,
- DC_MULTI_MON_PP_MCLK_SWITCH_MASK = 0x2,
-+ DC_DISABLE_FRACTIONAL_PWM_MASK = 0x4,
- };
-
- enum amd_dpm_forced_level;
---
-2.25.0
-
diff --git a/libre/linux-libre-pae/0015-ptp-free-ptp-device-pin-descriptors-properly.patch b/libre/linux-libre-pae/0015-ptp-free-ptp-device-pin-descriptors-properly.patch
deleted file mode 100644
index bfea18d4f..000000000
--- a/libre/linux-libre-pae/0015-ptp-free-ptp-device-pin-descriptors-properly.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From b89e9f6a3ec61a96b5abced31813ad043bda3827 Mon Sep 17 00:00:00 2001
-From: Vladis Dronov <vdronov@redhat.com>
-Date: Mon, 13 Jan 2020 14:00:09 +0100
-Subject: [PATCH 15/15] ptp: free ptp device pin descriptors properly
-
-There is a bug in ptp_clock_unregister(), where ptp_cleanup_pin_groups()
-first frees ptp->pin_{,dev_}attr, but then posix_clock_unregister() needs
-them to destroy a related sysfs device.
-
-These functions can not be just swapped, as posix_clock_unregister() frees
-ptp which is needed in the ptp_cleanup_pin_groups(). Fix this by calling
-ptp_cleanup_pin_groups() in ptp_clock_release(), right before ptp is freed.
-
-This makes this patch fix an UAF bug in a patch which fixes an UAF bug.
-
-Reported-by: Antti Laakso <antti.laakso@intel.com>
-Fixes: a33121e5487b ("ptp: fix the race between the release of ptp_clock and cdev")
-Link: https://lore.kernel.org/netdev/3d2bd09735dbdaf003585ca376b7c1e5b69a19bd.camel@intel.com/
-Signed-off-by: Vladis Dronov <vdronov@redhat.com>
-Acked-by: Richard Cochran <richardcochran@gmail.com>
----
- drivers/ptp/ptp_clock.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/ptp/ptp_clock.c b/drivers/ptp/ptp_clock.c
-index 61fafe0374ce..b84f16bbd6f2 100644
---- a/drivers/ptp/ptp_clock.c
-+++ b/drivers/ptp/ptp_clock.c
-@@ -170,6 +170,7 @@ static void ptp_clock_release(struct device *dev)
- {
- struct ptp_clock *ptp = container_of(dev, struct ptp_clock, dev);
-
-+ ptp_cleanup_pin_groups(ptp);
- mutex_destroy(&ptp->tsevq_mux);
- mutex_destroy(&ptp->pincfg_mux);
- ida_simple_remove(&ptp_clocks_map, ptp->index);
-@@ -302,9 +303,8 @@ int ptp_clock_unregister(struct ptp_clock *ptp)
- if (ptp->pps_source)
- pps_unregister_source(ptp->pps_source);
-
-- ptp_cleanup_pin_groups(ptp);
--
- posix_clock_unregister(&ptp->clock);
-+
- return 0;
- }
- EXPORT_SYMBOL(ptp_clock_unregister);
---
-2.25.0
-
diff --git a/libre/linux-libre-pae/PKGBUILD b/libre/linux-libre-pae/PKGBUILD
index 0e5f5309f..e3ca642b8 100644
--- a/libre/linux-libre-pae/PKGBUILD
+++ b/libre/linux-libre-pae/PKGBUILD
@@ -9,7 +9,7 @@ _replacesoldkernels=() # '%' gets replaced with kernel suffix
_replacesoldmodules=() # '%' gets replaced with kernel suffix
pkgbase=linux-libre-pae
-pkgver=5.4.13
+pkgver=5.5.2
pkgrel=1
pkgdesc='Linux-libre PAE (physical address extension)'
url='https://linux-libre.fsfla.org/'
@@ -21,7 +21,7 @@ makedepends=(
cpio
)
options=('!strip')
-_srcname=linux-5.4
+_srcname=linux-5.5
source=(
"https://linux-libre.fsfla.org/pub/linux-libre/releases/${_srcname##*-}-gnu/linux-libre-${_srcname##*-}-gnu.tar.xz"{,.sign}
"https://linux-libre.fsfla.org/pub/linux-libre/releases/$pkgver-gnu/patch-${_srcname##*-}-gnu-$pkgver-gnu.xz"{,.sign}
@@ -37,28 +37,18 @@ source=(
0002-fix-Atmel-maXTouch-touchscreen-support.patch
# extracted patches from Arch Linux kernel sources
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-pinctrl-sunrisepoint-Add-missing-Interrupt-Status-re.patch
- 0012-Revert-iwlwifi-mvm-fix-scan-config-command-size.patch
- 0013-e1000e-Revert-e1000e-Make-watchdog-use-delayed-work.patch
- 0014-drm-amdgpu-Add-DC-feature-mask-to-disable-fractional.patch
- 0015-ptp-free-ptp-device-pin-descriptors-properly.patch
+ 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-.patch
+ 0005-iwlwifi-mvm-Do-not-require-PHY_SKU-NVM-section-for-3.patch
)
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
'6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
)
-sha512sums=('0d0915133864eb031adfc6700066147dcf3e768a50a31c39754950c95ef4fd322dc701cd50af49c403ef0325adfcb07e354d5e46c1be3dcdd719a7a55c963f37'
+sha512sums=('187368a8fb4e04acfd7d18a024d6cdbc2841bcc06dcfbc3a053706e8512c3e3f573755228347c11bd791b296ec60eb2d67d5075ece2aef234a847e72f2b3e746'
'SKIP'
- '42d6dce820e801297bc05fbe23296e44d803c31bf023e9a30c57a39e8f1b2506d1c54f403494b05ed711ca54c90abe1731c1e2cfd7b7f54e4c9c253fc06bdab6'
+ 'f4c6e0bc192dbb5b38db407443ab4dd7c352b7ed2e638abcfab90a80486625a962fd30d0aa1d98ec87a87ab2c0de71a2d9ab4246fcc5fa7685803b02b52ed23f'
'SKIP'
'13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
'SKIP'
@@ -66,24 +56,14 @@ sha512sums=('0d0915133864eb031adfc6700066147dcf3e768a50a31c39754950c95ef4fd322dc
'SKIP'
'267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1'
'SKIP'
- '63f3c3bfe27eb66391dfa2120193476f03cf668bbd9edf4b7cc5dcb8c53295b830ecb6afd10b9a89c190d7f02597529b484c22dbb849d221ef975af8db1d8049'
+ '9b8298a195857108453042090bfebf7736b373b177077926bda7091bc490aeda1872fb51cf126e021eae97096973dfab6d6c858bebf5d565a9df4ffe28d2df2f'
'02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af'
'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
- '138a96b70f55868ffad027cded2f6b2cb21f2db5564125e25be0c79105520e69a5123351b30c0d7d3ef91694ae95f27dc9f4ac2f07b2ded3c4606cf0ede26a87'
- 'da6d11f6a6ecd350d8ab2ce00f0224275388217be944ee21fe2e380305e20412cb510092676ee9c9de385f01576f5e0b74483de9ed2f4b7a1a0cdbb0843b4f58'
- '8689716f1dd249f8bd715bd0b515d935344a1666e903bfe04283a1df4b7f8902e99cd84ef895b6b8becdebac652bfcdc5dcdb50f6a8e40f0280a43431a09a8ed'
- '55d6cd3e450bedb140bdeefb99833694ceb42adf4368f46e1b9626d16c58877f7481fdfb556caebdd3597c85326e2a97dd37117e7a9b12b7c1ebd17a5765ca7f'
- '51e50e5d84ed2987f658fceba7a97e984185d01a1636ca152e886595365676ba1f20ec022ea73e3c0a367acec6b568ce3d413c2267888fd5227a4f0f397e111e'
- '8a96aab6660367f88eb9d577fc1a8abcb43936209778c0b1ccc6d07b961fecd7b1423c4269e9edcbcc218450144f4454b0649387077ae771d9e1e5842ad7f01c'
- '4fed5ae4b0b34ddfd42143b0d27b1e73ed00f961767ef8da028ef4e82455215d9717516ca5f237560e751c571720b43db1b815e0f256d95da109b26158f8aac5'
- '6aeac41670386d816fc2949313c8a67e283fdc8c106c01406e2d67b2cb921bc663723439fb4f1b949ef73b1606c073b1b7cdc2965890aa60959b04b846961318'
- '6c84c33e5844c9a35c4c30ed9d886c0bea5c4e01ab9c873c9fe44e6470ee34650e9ca0c8c0476edfdf13c74ed92b2630f9fcb9b58cb010664d57f27f46d141b4'
- '1f9c3c7e01f5ccb35026c9c3bf1376bc36cdd74314cec97b0490cc1a8e50e8d99653823df2f0a3a84e98dcbe3ea28cbe022c91506a7c6f9252225d1b048db9a9'
- '7c576cb3aa16852772fc1eda6f6b5cec40d47404c71d4bfa2f1806cc84bdbedbbb55de112c073e3b05b02bb5c37aef8f0b65eb9c27fef7d005533d2cd5192c0c'
- '73f0e2e7723f3dd25fab58b13356c0c48e2814835b94473a3ed3c1ab77dd1b7ead9578d3d19b6662a651e020a3b0937e3445492495bc32e8d5aaf80289c82c95'
- 'b107c6a933c6c8749c84200f1ddd160e332ff0b60c68a8be45a2c55b32db2939c2a2464c9feaab07f240c038a7e31ee64788ac5bb1a46b5bc217bf720b9b0157'
- 'b01b673bbedbcd7d528046777b387db0a3f14067443001c6bb2dcb5c0787bc119234a92df4b1bdb5a1e2765bb15c8dc226bbda3b57c3d4e679264c5874c48d88'
- 'ae194a07fa791c1c221690880f7f61e6c7096f26951c9f51699a8ceaebc2c1a2a3e750b81b2926465eb55d5fc3c63c9ab911b120f105c1abfbe6a4038d40f500')
+ 'cde74d205146ca872250ac4b21e7a931da7c64dd3024ebefd09a61e87fc8beaa17cd5fff388483ab39a9ced4eca77fcaa8ce1e59f632119c4749683d12fa1795'
+ '4c2454c3712788d7fd90455cd866e81aa444bf25b2670afd0732141ee39ad12c83bf5d0ae82faeabe1aa22d495d7542ac2b8db94c1627c39dc498b03f0dd4973'
+ '65f22d4996f9669e52efbf981c5a9955ea3eb6429ad5c12561c3862884ea12b10c58af1fbcb6bfb575a6c1be1ad3bff513459a32fb0a627541a0b6b97faaba16'
+ 'a4a545f29f21dc4e1ea59ab3361207f50769cb5c2d3056c169252623811f7087318e9d6f0f58e79124185637ab4c2036a9da88525ebf57846f63ae2c02f36017'
+ '6b895b7fa46463204ce5ea01b9a832ab24f510bcc5b998c6390a0b3c02ef5d5666db7034f428521aaa0c6e017a99103efc298cb6cf6b8123fbadce97587c3e7a')
_replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}")
_replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}")
@@ -98,7 +78,7 @@ prepare() {
if [ "${_srcname##*-}" != "$pkgver" ]; then
echo "Applying upstream patch..."
- patch -Np1 < ../patch-${_srcname##*-}-gnu-$pkgver-gnu
+ patch -Np1 < "../patch-${_srcname##*-}-gnu-$pkgver-gnu"
fi
echo "Adding freedo as boot logo..."
diff --git a/libre/linux-libre-pae/config b/libre/linux-libre-pae/config
index 2bb901821..4466f521e 100644
--- a/libre/linux-libre-pae/config
+++ b/libre/linux-libre-pae/config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.4.2-gnu Kernel Configuration
+# Linux/x86 5.5.2-gnu 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=""
@@ -147,6 +146,7 @@ CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# end of Scheduler features
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
CONFIG_MEMCG=y
@@ -202,7 +202,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
@@ -323,6 +322,7 @@ CONFIG_PVH=y
# CONFIG_KVM_DEBUG_FS is not set
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_M486SX is not set
# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
@@ -398,6 +398,7 @@ CONFIG_PERF_EVENTS_AMD_POWER=m
# end of Performance monitoring
# CONFIG_X86_LEGACY_VM86 is not set
+CONFIG_X86_IOPL_IOPERM=y
CONFIG_TOSHIBA=m
CONFIG_I8K=m
CONFIG_X86_REBOOTFIXUPS=y
@@ -437,7 +438,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_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
@@ -526,7 +527,6 @@ CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=y
CONFIG_ACPI_THERMAL=y
-# CONFIG_ACPI_NUMA is not set
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_DEBUG=y
@@ -538,6 +538,7 @@ CONFIG_ACPI_HED=y
CONFIG_ACPI_CUSTOM_METHOD=m
CONFIG_ACPI_BGRT=y
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
+# CONFIG_ACPI_NUMA is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
@@ -549,7 +550,8 @@ CONFIG_DPTF_POWER=m
CONFIG_ACPI_WATCHDOG=y
CONFIG_ACPI_EXTLOG=m
CONFIG_PMIC_OPREGION=y
-CONFIG_CRC_PMIC_OPREGION=y
+# CONFIG_BYTCRC_PMIC_OPREGION is not set
+# CONFIG_CHTCRC_PMIC_OPREGION is not set
CONFIG_XPOWER_PMIC_OPREGION=y
CONFIG_BXT_WC_PMIC_OPREGION=y
CONFIG_CHT_WC_PMIC_OPREGION=y
@@ -807,14 +809,11 @@ CONFIG_ISA_BUS_API=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OLD_SIGACTION=y
-CONFIG_64BIT_TIME=y
CONFIG_COMPAT_32BIT_TIME=y
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 is not set
@@ -830,15 +829,10 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_PLUGIN_HOSTCC="g++"
CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_GCC_PLUGINS=y
-
-#
-# GCC plugins
-#
# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set
CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
CONFIG_GCC_PLUGIN_RANDSTRUCT=y
CONFIG_GCC_PLUGIN_RANDSTRUCT_PERFORMANCE=y
-# end of GCC plugins
# end of General architecture-dependent options
CONFIG_RT_MUTEXES=y
@@ -859,6 +853,7 @@ CONFIG_UNUSED_SYMBOLS=y
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=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
@@ -991,6 +986,7 @@ CONFIG_FRAME_VECTOR=y
CONFIG_GUP_GET_PTE_LOW_HIGH=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MAPPING_DIRTY_HELPERS=y
# end of Memory Management options
CONFIG_NET=y
@@ -1008,6 +1004,7 @@ CONFIG_UNIX_SCM=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=m
# CONFIG_TLS_DEVICE is not set
+# CONFIG_TLS_TOE is not set
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=m
@@ -1496,6 +1493,7 @@ CONFIG_RDS_TCP=m
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
@@ -1525,6 +1523,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 is not set
CONFIG_NET_DSA_TAG_QCA=m
CONFIG_NET_DSA_TAG_LAN9303=m
CONFIG_NET_DSA_TAG_SJA1105=m
@@ -1941,6 +1940,7 @@ CONFIG_NFC_PN544_MEI=m
CONFIG_NFC_PN533=m
CONFIG_NFC_PN533_USB=m
CONFIG_NFC_PN533_I2C=m
+# CONFIG_NFC_PN532_UART is not set
CONFIG_NFC_MICROREAD=m
CONFIG_NFC_MICROREAD_I2C=m
CONFIG_NFC_MICROREAD_MEI=m
@@ -1987,7 +1987,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
@@ -2023,15 +2022,6 @@ CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
#
# 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 is not set
# CONFIG_PCI_HOST_GENERIC is not set
CONFIG_PCIE_XILINX=y
@@ -2045,6 +2035,13 @@ CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT_EP is not set
CONFIG_PCI_MESON=y
# end of DesignWare PCI Core Support
+
+#
+# Cadence PCIe controllers support
+#
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
+# CONFIG_PCIE_CADENCE_PLAT_EP is not set
+# end of Cadence PCIe controllers support
# end of PCI controller drivers
#
@@ -2119,6 +2116,7 @@ CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
CONFIG_FW_LOADER_COMPRESS=y
+CONFIG_FW_CACHE=y
# end of Firmware loader
CONFIG_WANT_DEV_COREDUMP=y
@@ -2284,6 +2282,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 is not set
#
# Misc
@@ -2383,6 +2382,7 @@ CONFIG_BLK_DEV_RSXX=m
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
+# CONFIG_NVME_HWMON is not set
CONFIG_NVME_FABRICS=m
CONFIG_NVME_RDMA=m
CONFIG_NVME_FC=m
@@ -2466,39 +2466,7 @@ CONFIG_VMWARE_VMCI=m
#
# Intel MIC & related support
#
-
-#
-# Intel MIC Bus Driver
-#
-
-#
-# SCIF Bus Driver
-#
-
-#
-# VOP Bus Driver
-#
CONFIG_VOP_BUS=m
-
-#
-# Intel MIC Host Driver
-#
-
-#
-# Intel MIC Card Driver
-#
-
-#
-# SCIF Driver
-#
-
-#
-# Intel MIC Coprocessor State Management (COSM) Drivers
-#
-
-#
-# VOP Driver
-#
CONFIG_VOP=m
CONFIG_VHOST_RING=m
# end of Intel MIC & related support
@@ -2930,15 +2898,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_TTY=m
-CONFIG_CAIF_SPI_SLAVE=m
-CONFIG_CAIF_SPI_SYNC=y
-CONFIG_CAIF_HSI=m
-CONFIG_CAIF_VIRTIO=m
+# CONFIG_CAIF_DRIVERS is not set
#
# Distributed Switch Architecture drivers
@@ -2963,9 +2923,9 @@ 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 is not set
CONFIG_NET_DSA_SJA1105=m
# CONFIG_NET_DSA_SJA1105_PTP is not set
-# CONFIG_NET_DSA_SJA1105_TAS is not set
CONFIG_NET_DSA_QCA8K=m
CONFIG_NET_DSA_REALTEK_SMI=m
CONFIG_NET_DSA_SMSC_LAN9303=m
@@ -3089,8 +3049,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
@@ -3320,7 +3278,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
@@ -3332,6 +3289,7 @@ CONFIG_DP83822_PHY=m
CONFIG_DP83TC811_PHY=m
CONFIG_DP83848_PHY=m
CONFIG_DP83867_PHY=m
+# CONFIG_DP83869_PHY is not set
CONFIG_FIXED_PHY=m
CONFIG_ICPLUS_PHY=m
CONFIG_INTEL_XWAY_PHY=m
@@ -3345,6 +3303,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
@@ -3969,7 +3928,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
@@ -4202,6 +4160,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 is not set
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
CONFIG_TCG_TIS_I2C_NUVOTON=m
@@ -4417,6 +4376,7 @@ CONFIG_PTP_1588_CLOCK=y
CONFIG_DP83640_PHY=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# end of PTP clock support
CONFIG_PINCTRL=y
@@ -4448,10 +4408,12 @@ CONFIG_PINCTRL_GEMINILAKE=y
CONFIG_PINCTRL_ICELAKE=m
CONFIG_PINCTRL_LEWISBURG=y
CONFIG_PINCTRL_SUNRISEPOINT=y
+# CONFIG_PINCTRL_TIGERLAKE is not set
CONFIG_PINCTRL_MADERA=m
CONFIG_PINCTRL_CS47L35=y
CONFIG_PINCTRL_CS47L85=y
CONFIG_PINCTRL_CS47L90=y
+# CONFIG_PINCTRL_EQUILIBRIUM is not set
CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_OF_GPIO=y
@@ -4609,6 +4571,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 is not set
CONFIG_W1_SLAVE_DS2431=m
CONFIG_W1_SLAVE_DS2433=m
# CONFIG_W1_SLAVE_DS2433_CRC is not set
@@ -4626,6 +4589,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 is not set
CONFIG_POWER_RESET_RESTART=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
@@ -4765,6 +4729,8 @@ CONFIG_SENSORS_JC42=m
CONFIG_SENSORS_POWR1220=m
CONFIG_SENSORS_LINEAGE=m
CONFIG_SENSORS_LTC2945=m
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
CONFIG_SENSORS_LTC2990=m
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
@@ -4817,6 +4783,7 @@ CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
CONFIG_SENSORS_ADM1275=m
+# CONFIG_SENSORS_BEL_PFE is not set
CONFIG_SENSORS_IBM_CFFPS=m
CONFIG_SENSORS_INSPUR_IPSPS=m
CONFIG_SENSORS_IR35221=m
@@ -4870,6 +4837,7 @@ CONFIG_SENSORS_TMP103=m
CONFIG_SENSORS_TMP108=m
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
+# CONFIG_SENSORS_TMP513 is not set
CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
@@ -5831,9 +5799,11 @@ CONFIG_VIDEO_THS8200=m
#
CONFIG_VIDEO_APTINA_PLL=m
CONFIG_VIDEO_SMIAPP_PLL=m
+# CONFIG_VIDEO_HI556 is not set
CONFIG_VIDEO_IMX214=m
CONFIG_VIDEO_IMX258=m
CONFIG_VIDEO_IMX274=m
+# CONFIG_VIDEO_IMX290 is not set
CONFIG_VIDEO_IMX319=m
CONFIG_VIDEO_IMX355=m
CONFIG_VIDEO_OV2640=m
@@ -6169,13 +6139,16 @@ CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DEBUG_SELFTEST=m
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
@@ -6195,6 +6168,7 @@ CONFIG_DRM_I2C_NXP_TDA9950=m
# ARM devices
#
CONFIG_DRM_KOMEDA=m
+# CONFIG_DRM_KOMEDA_ERROR_PRINT is not set
# end of ARM devices
CONFIG_DRM_RADEON=m
@@ -6219,6 +6193,7 @@ CONFIG_DRM_AMD_DC_DCN1_0=y
CONFIG_DRM_AMD_DC_DCN2_0=y
# CONFIG_DRM_AMD_DC_DCN2_1 is not set
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
@@ -6254,7 +6229,11 @@ CONFIG_DRM_I915_USERPTR=y
# 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
@@ -6477,7 +6456,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 is not set
CONFIG_BACKLIGHT_SAHARA=m
CONFIG_BACKLIGHT_WM831X=m
CONFIG_BACKLIGHT_ADP5520=m
@@ -6706,7 +6685,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
@@ -6734,7 +6712,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
@@ -6849,6 +6828,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
@@ -6856,17 +6836,12 @@ 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_RT5682_MAX98357A_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=m
-CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT=y
-# 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_INTEL_TOPLEVEL is not set
@@ -6893,6 +6868,8 @@ 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_HW is not set
+# CONFIG_SND_SOC_ADAU7118_I2C is not set
CONFIG_SND_SOC_AK4104=m
CONFIG_SND_SOC_AK4118=m
CONFIG_SND_SOC_AK4458=m
@@ -6987,7 +6964,6 @@ CONFIG_SND_SOC_RT5663=m
CONFIG_SND_SOC_RT5670=m
CONFIG_SND_SOC_RT5677=m
CONFIG_SND_SOC_RT5677_SPI=m
-CONFIG_SND_SOC_RT5682=m
CONFIG_SND_SOC_SGTL5000=m
CONFIG_SND_SOC_SI476X=m
CONFIG_SND_SOC_SIGMADSP=m
@@ -7005,6 +6981,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 is not set
+# CONFIG_SND_SOC_TAS2770 is not set
CONFIG_SND_SOC_TAS5086=m
CONFIG_SND_SOC_TAS571X=m
CONFIG_SND_SOC_TAS5720=m
@@ -7590,6 +7568,7 @@ CONFIG_TYPEC_WCOVE=m
CONFIG_TYPEC_UCSI=m
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=m
+# CONFIG_TYPEC_HD3SS3220 is not set
CONFIG_TYPEC_TPS6598X=m
#
@@ -7632,6 +7611,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 is not set
CONFIG_MMC_WBSD=m
CONFIG_MMC_ALCOR=m
CONFIG_MMC_TIFM_SD=m
@@ -7685,6 +7665,7 @@ CONFIG_LEDS_BCM6328=m
CONFIG_LEDS_BCM6358=m
CONFIG_LEDS_CPCAP=m
CONFIG_LEDS_CR0014114=m
+# CONFIG_LEDS_EL15203000 is not set
CONFIG_LEDS_LM3530=m
CONFIG_LEDS_LM3532=m
CONFIG_LEDS_LM3533=m
@@ -7781,7 +7762,6 @@ CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
-CONFIG_INFINIBAND_CXGB3=m
CONFIG_INFINIBAND_CXGB4=m
CONFIG_INFINIBAND_I40IW=m
CONFIG_MLX4_INFINIBAND=m
@@ -7999,6 +7979,7 @@ CONFIG_DW_DMAC_PCI=y
CONFIG_DW_EDMA=m
CONFIG_DW_EDMA_PCIE=m
CONFIG_HSU_DMA=y
+# CONFIG_SF_PDMA is not set
#
# DMA Clients
@@ -8397,7 +8378,6 @@ CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
CONFIG_UWB_I1480U=m
CONFIG_EXFAT_FS=m
-CONFIG_EXFAT_DONT_MOUNT_VFAT=y
CONFIG_EXFAT_DISCARD=y
# CONFIG_EXFAT_DELAYED_SYNC is not set
# CONFIG_EXFAT_KERNEL_DEBUG is not set
@@ -8405,6 +8385,9 @@ CONFIG_EXFAT_DISCARD=y
CONFIG_EXFAT_DEFAULT_CODEPAGE=437
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_QLGE=m
+CONFIG_NET_VENDOR_HP=y
+CONFIG_HP100=m
+# CONFIG_WFX is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACER_WMI=m
CONFIG_ACER_WIRELESS=m
@@ -8490,6 +8473,7 @@ CONFIG_I2C_MULTI_INSTANTIATE=m
CONFIG_INTEL_ATOMISP2_PM=m
CONFIG_HUAWEI_WMI=m
CONFIG_PCENGINES_APU2=m
+# CONFIG_SYSTEM76_ACPI is not set
CONFIG_PMC_ATOM=y
CONFIG_MFD_CROS_EC=m
CONFIG_CHROME_PLATFORMS=y
@@ -8507,6 +8491,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
@@ -8749,6 +8734,7 @@ CONFIG_AD_SIGMA_DELTA=m
CONFIG_AD7124=m
CONFIG_AD7266=m
CONFIG_AD7291=m
+# CONFIG_AD7292 is not set
CONFIG_AD7298=m
CONFIG_AD7476=m
CONFIG_AD7606=m
@@ -8991,6 +8977,8 @@ CONFIG_ADIS16480=m
CONFIG_BMI160=m
CONFIG_BMI160_I2C=m
CONFIG_BMI160_SPI=m
+# CONFIG_FXOS8700_I2C is not set
+# CONFIG_FXOS8700_SPI is not set
CONFIG_KMX61=m
CONFIG_INV_MPU6050_IIO=m
CONFIG_INV_MPU6050_I2C=m
@@ -9009,6 +8997,7 @@ CONFIG_IIO_ADIS_LIB_BUFFER=y
#
CONFIG_ACPI_ALS=m
CONFIG_ADJD_S311=m
+# CONFIG_ADUX1020 is not set
CONFIG_AL3320A=m
CONFIG_APDS9300=m
CONFIG_APDS9960=m
@@ -9051,6 +9040,7 @@ CONFIG_TSL4531=m
CONFIG_US5182D=m
CONFIG_VCNL4000=m
CONFIG_VCNL4035=m
+# CONFIG_VEML6030 is not set
CONFIG_VEML6070=m
CONFIG_VL6180=m
CONFIG_ZOPT2201=m
@@ -9180,6 +9170,7 @@ CONFIG_AD2S1200=m
#
# Temperature sensors
#
+# CONFIG_LTC2983 is not set
CONFIG_MAXIM_THERMOCOUPLE=m
CONFIG_HID_SENSOR_TEMP=m
CONFIG_MLX90614=m
@@ -9340,6 +9331,7 @@ CONFIG_FSI=m
# CONFIG_FSI_NEW_DEV_NODE is not set
CONFIG_FSI_MASTER_GPIO=m
CONFIG_FSI_MASTER_HUB=m
+# CONFIG_FSI_MASTER_ASPEED is not set
CONFIG_FSI_SCOM=m
CONFIG_FSI_SBEFIFO=m
CONFIG_FSI_OCC=m
@@ -9724,6 +9716,7 @@ CONFIG_NLS_UTF8=m
CONFIG_DLM=m
# CONFIG_DLM_DEBUG is not set
# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
# end of File systems
#
@@ -9795,8 +9788,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
@@ -9830,6 +9823,7 @@ CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_ECC=m
CONFIG_CRYPTO_ECDH=m
CONFIG_CRYPTO_ECRDSA=m
+# CONFIG_CRYPTO_CURVE25519 is not set
#
# Authenticated Encryption with Associated Data
@@ -9874,6 +9868,8 @@ 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 is not set
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_POLY1305=m
@@ -9885,7 +9881,6 @@ CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_RMD256=m
CONFIG_CRYPTO_RMD320=m
CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=m
@@ -9897,12 +9892,10 @@ CONFIG_CRYPTO_WP512=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
@@ -9910,7 +9903,6 @@ CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_LIB_DES=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
@@ -9952,6 +9944,22 @@ CONFIG_CRYPTO_USER_API_RNG=m
CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_STATS=y
CONFIG_CRYPTO_HASH_INFO=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+# CONFIG_CRYPTO_LIB_BLAKE2S is not set
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+# CONFIG_CRYPTO_LIB_CHACHA is not set
+# CONFIG_CRYPTO_LIB_CURVE25519 is not set
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+# CONFIG_CRYPTO_LIB_POLY1305 is not set
+# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
+CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
@@ -9974,10 +9982,10 @@ CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=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 is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE=m
@@ -10151,6 +10159,8 @@ CONFIG_CONSOLE_LOGLEVEL_QUIET=4
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
#
@@ -10161,7 +10171,6 @@ CONFIG_DYNAMIC_DEBUG=y
CONFIG_FRAME_WARN=1024
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
@@ -10170,9 +10179,20 @@ CONFIG_FRAME_POINTER=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
@@ -10191,6 +10211,7 @@ 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
@@ -10203,12 +10224,14 @@ CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_KASAN_STACK=1
# end of Memory Debugging
-CONFIG_CC_HAS_SANCOV_TRACE_PC=y
# 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
@@ -10222,15 +10245,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
@@ -10255,11 +10279,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
#
@@ -10275,9 +10305,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
@@ -10285,6 +10312,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
@@ -10321,6 +10349,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 is not set
CONFIG_FTRACE_MCOUNT_RECORD=y
@@ -10328,6 +10357,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
@@ -10335,6 +10365,48 @@ CONFIG_HIST_TRIGGERS=y
CONFIG_PREEMPTIRQ_DELAY_TEST=m
# 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 is not set
+# CONFIG_EFI_PGT_DUMP is not set
+# CONFIG_DEBUG_WX is not set
+CONFIG_DOUBLEFAULT=y
+# CONFIG_DEBUG_TLBFLUSH 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_FRAME_POINTER=y
+# 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_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_LKDTM=m
# CONFIG_TEST_LIST_SORT is not set
@@ -10377,38 +10449,6 @@ CONFIG_TEST_OBJAGG=m
CONFIG_TEST_STACKINIT=m
CONFIG_TEST_MEMINIT=m
# 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 is not set
-# CONFIG_EFI_PGT_DUMP is not set
-# CONFIG_DEBUG_WX is not set
-CONFIG_DOUBLEFAULT=y
-# CONFIG_DEBUG_TLBFLUSH 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_FRAME_POINTER=y
-# CONFIG_UNWINDER_GUESS is not set
+# CONFIG_HYPERV_TESTING is not set
+# end of Kernel Testing and Coverage
# end of Kernel hacking