summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/linux-libre-pae/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch18
-rw-r--r--libre/linux-libre-pae/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch42
-rw-r--r--libre/linux-libre-pae/0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch92
-rw-r--r--libre/linux-libre-pae/0004-drm-i915-Serialise-i915_active_acquire-with-__active.patch79
-rw-r--r--libre/linux-libre-pae/0005-drm-i915-gem-Take-runtime-pm-wakeref-prior-to-unbind.patch130
-rw-r--r--libre/linux-libre-pae/0006-drm-i915-gem-Avoid-parking-the-vma-as-we-unbind.patch63
-rw-r--r--libre/linux-libre-pae/0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch64
-rw-r--r--libre/linux-libre-pae/0008-drm-i915-gem-Reinitialise-the-local-list-before-repe.patch34
-rw-r--r--libre/linux-libre-pae/0009-drm-i915-Add-a-simple-is-bound-check-before-unbindin.patch41
-rw-r--r--libre/linux-libre-pae/0010-drm-i915-Introduce-a-vma.kref.patch252
-rw-r--r--libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch152
-rw-r--r--libre/linux-libre-pae/PKGBUILD43
-rw-r--r--libre/linux-libre-pae/config212
-rw-r--r--libre/linux-libre-pae/sphinx-workaround.patch13
14 files changed, 171 insertions, 1064 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 6cd286bec..c2fe2b80a 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 ad5b7493cad06d923901a363940f4b6b1014bd7c Mon Sep 17 00:00:00 2001
+From b38ba076b5049a77bf79f2c8cd224a77dea89bf3 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/11] ZEN: Add sysctl and CONFIG to disallow unprivileged
+Subject: [PATCH] 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 47d40f399000..6647db098428 100644
+index 4f717bfdbfe2..bdc75cbd3d2d 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1103,6 +1103,22 @@ config USER_NS
+@@ -1110,6 +1110,22 @@ config USER_NS
If unsure, say N.
@@ -40,7 +40,7 @@ index 47d40f399000..6647db098428 100644
bool "PID Namespaces"
default y
diff --git a/kernel/fork.c b/kernel/fork.c
-index 080809560072..1cb7b827b57b 100644
+index d90af13431c7..b4798ff6eb15 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -106,6 +106,11 @@
@@ -55,7 +55,7 @@ index 080809560072..1cb7b827b57b 100644
/*
* Minimum number of threads to boot the kernel
-@@ -1843,6 +1848,10 @@ static __latent_entropy struct task_struct *copy_process(
+@@ -1844,6 +1849,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 080809560072..1cb7b827b57b 100644
/*
* Thread groups must share signals as well, and detached threads
* can only be started up within the thread group.
-@@ -2923,6 +2932,12 @@ int ksys_unshare(unsigned long unshare_flags)
+@@ -2933,6 +2942,12 @@ int ksys_unshare(unsigned long unshare_flags)
if (unshare_flags & CLONE_NEWNS)
unshare_flags |= CLONE_FS;
@@ -80,7 +80,7 @@ index 080809560072..1cb7b827b57b 100644
if (err)
goto bad_unshare_out;
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index 70665934d53e..9797869ed829 100644
+index ad5b88a53c5a..8f00d26b7b59 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -110,6 +110,9 @@ extern int core_uses_pid;
@@ -128,5 +128,5 @@ index 8eadadc478f9..c36ecd19562c 100644
static DEFINE_MUTEX(userns_state_mutex);
--
-2.25.2
+2.26.2
diff --git a/libre/linux-libre-pae/0002-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
deleted file mode 100644
index 27ab937e7..000000000
--- a/libre/linux-libre-pae/0002-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 4c617291d0cbe8b6ec15d645a28d915ac03e4b86 Mon Sep 17 00:00:00 2001
-From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
-Date: Tue, 24 Dec 2019 06:16:39 +0100
-Subject: [PATCH 02/11] iwlwifi: pcie: restore support for Killer Qu C0 NICs
-
-Commit 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from
-trans_pcie_alloc to probe") refactored the cfg mangling. Unfortunately,
-in this process the lines which picked the right cfg for Killer Qu C0
-NICs after C0 detection were lost. These lines were added by commit
-b9500577d361 ("iwlwifi: pcie: handle switching killer Qu B0 NICs to
-C0").
-
-I suspect this is more of the "merge damage" which commit 7cded5658329
-("iwlwifi: pcie: fix merge damage on making QnJ exclusive") talks about.
-
-Restore the missing lines so the driver loads the right firmware for
-these NICs.
-
-Fixes: 809805a820c6 ("iwlwifi: pcie: move some cfg mangling from trans_pcie_alloc to probe")
-Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
----
- drivers/net/wireless/intel/iwlwifi/pcie/drv.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
-index b0b7eca1754e..de62a6dc4e73 100644
---- a/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
-+++ b/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
-@@ -1107,6 +1107,10 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
- cfg = &iwl9560_2ac_cfg_qu_c0_jf_b0;
- else if (cfg == &iwl9560_2ac_160_cfg_qu_b0_jf_b0)
- cfg = &iwl9560_2ac_160_cfg_qu_c0_jf_b0;
-+ else if (cfg == &killer1650s_2ax_cfg_qu_b0_hr_b0)
-+ cfg = &killer1650s_2ax_cfg_qu_c0_hr_b0;
-+ else if (cfg == &killer1650i_2ax_cfg_qu_b0_hr_b0)
-+ cfg = &killer1650i_2ax_cfg_qu_c0_hr_b0;
- }
-
- /* same thing for QuZ... */
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch b/libre/linux-libre-pae/0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
deleted file mode 100644
index 4229fa5d5..000000000
--- a/libre/linux-libre-pae/0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From a157f668e6ec89b9c34238e09c7b30839b9d9ffe Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sun, 2 Feb 2020 17:16:31 +0000
-Subject: [PATCH 03/11] drm: Remove PageReserved manipulation from
- drm_pci_alloc
-
-drm_pci_alloc/drm_pci_free are very thin wrappers around the core dma
-facilities, and we have no special reason within the drm layer to behave
-differently. In particular, since
-
-commit de09d31dd38a50fdce106c15abd68432eebbd014
-Author: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
-Date: Fri Jan 15 16:51:42 2016 -0800
-
- page-flags: define PG_reserved behavior on compound pages
-
- As far as I can see there's no users of PG_reserved on compound pages.
- Let's use PF_NO_COMPOUND here.
-
-it has been illegal to combine GFP_COMP with SetPageReserved, so lets
-stop doing both and leave the dma layer to its own devices.
-
-Reported-by: Taketo Kabe
-Bug: https://gitlab.freedesktop.org/drm/intel/issues/1027
-Fixes: de09d31dd38a ("page-flags: define PG_reserved behavior on compound pages")
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: <stable@vger.kernel.org> # v4.5+
-Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20200202171635.4039044-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/drm_pci.c | 23 ++---------------------
- 1 file changed, 2 insertions(+), 21 deletions(-)
-
-diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c
-index a86a3ab2771c..235729f4aadb 100644
---- a/drivers/gpu/drm/drm_pci.c
-+++ b/drivers/gpu/drm/drm_pci.c
-@@ -51,8 +51,6 @@
- drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align)
- {
- drm_dma_handle_t *dmah;
-- unsigned long addr;
-- size_t sz;
-
- /* pci_alloc_consistent only guarantees alignment to the smallest
- * PAGE_SIZE order which is greater than or equal to the requested size.
-@@ -68,20 +66,13 @@ drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t ali
- dmah->size = size;
- dmah->vaddr = dma_alloc_coherent(&dev->pdev->dev, size,
- &dmah->busaddr,
-- GFP_KERNEL | __GFP_COMP);
-+ GFP_KERNEL);
-
- if (dmah->vaddr == NULL) {
- kfree(dmah);
- return NULL;
- }
-
-- /* XXX - Is virt_to_page() legal for consistent mem? */
-- /* Reserve */
-- for (addr = (unsigned long)dmah->vaddr, sz = size;
-- sz > 0; addr += PAGE_SIZE, sz -= PAGE_SIZE) {
-- SetPageReserved(virt_to_page((void *)addr));
-- }
--
- return dmah;
- }
-
-@@ -94,19 +85,9 @@ EXPORT_SYMBOL(drm_pci_alloc);
- */
- void __drm_legacy_pci_free(struct drm_device * dev, drm_dma_handle_t * dmah)
- {
-- unsigned long addr;
-- size_t sz;
--
-- if (dmah->vaddr) {
-- /* XXX - Is virt_to_page() legal for consistent mem? */
-- /* Unreserve */
-- for (addr = (unsigned long)dmah->vaddr, sz = dmah->size;
-- sz > 0; addr += PAGE_SIZE, sz -= PAGE_SIZE) {
-- ClearPageReserved(virt_to_page((void *)addr));
-- }
-+ if (dmah->vaddr)
- dma_free_coherent(&dev->pdev->dev, dmah->size, dmah->vaddr,
- dmah->busaddr);
-- }
- }
-
- /**
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0004-drm-i915-Serialise-i915_active_acquire-with-__active.patch b/libre/linux-libre-pae/0004-drm-i915-Serialise-i915_active_acquire-with-__active.patch
deleted file mode 100644
index aba7922fa..000000000
--- a/libre/linux-libre-pae/0004-drm-i915-Serialise-i915_active_acquire-with-__active.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 82e980a8fda88e473e2038e729603fb55e8750ea Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Thu, 5 Dec 2019 18:33:32 +0000
-Subject: [PATCH 04/11] drm/i915: Serialise i915_active_acquire() with
- __active_retire()
-
-As __active_retire() does it's final atomic_dec() under the
-ref->tree_lock spinlock, in order to prevent ourselves from reusing the
-ref->cache and ref->tree as they are being destroyed, we need to
-serialise with the retirement during i915_active_acquire().
-
-[ +0.000005] kernel BUG at drivers/gpu/drm/i915/i915_active.c:157!
-[ +0.000011] invalid opcode: 0000 [#1] SMP
-[ +0.000004] CPU: 7 PID: 188 Comm: kworker/u16:4 Not tainted 5.4.0-rc8-03070-gac5e57322614 #89
-[ +0.000002] Hardware name: Razer Razer Blade Stealth 13 Late 2019/LY320, BIOS 1.02 09/10/2019
-[ +0.000082] Workqueue: events_unbound active_work [i915]
-[ +0.000059] RIP: 0010:__active_retire+0x115/0x120 [i915]
-[ +0.000003] Code: 75 28 48 8b 3d 8c 6e 1a 00 48 89 ee e8 e4 5f a5 c0 48 8b 44 24 10 65 48 33 04 25 28 00 00 00 75 0f 48 83 c4 18 5b 5d 41 5c c3 <0f> 0b 0f 0b 0f 0b e8 a0 90 87 c0 0f 1f 44 00 00 48 8b 3d 54 6e 1a
-[ +0.000002] RSP: 0018:ffffb833003f7e48 EFLAGS: 00010286
-[ +0.000003] RAX: ffff8d6e8d726d00 RBX: ffff8d6f9db4e840 RCX: 0000000000000000
-[ +0.000001] RDX: ffffffff82605930 RSI: ffff8d6f9adc4908 RDI: ffff8d6e96cefe28
-[ +0.000002] RBP: ffff8d6e96cefe00 R08: 0000000000000000 R09: ffff8d6f9ffe9a50
-[ +0.000002] R10: 0000000000000048 R11: 0000000000000018 R12: ffff8d6f9adc4930
-[ +0.000001] R13: ffff8d6f9e04fb00 R14: 0000000000000000 R15: ffff8d6f9adc4988
-[ +0.000002] FS: 0000000000000000(0000) GS:ffff8d6f9ffc0000(0000) knlGS:0000000000000000
-[ +0.000002] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-[ +0.000002] CR2: 000055eb5a34cf10 CR3: 000000018d609002 CR4: 0000000000760ee0
-[ +0.000002] PKRU: 55555554
-[ +0.000001] Call Trace:
-[ +0.000010] process_one_work+0x1aa/0x350
-[ +0.000004] worker_thread+0x4d/0x3a0
-[ +0.000004] kthread+0xfb/0x130
-[ +0.000004] ? process_one_work+0x350/0x350
-[ +0.000003] ? kthread_park+0x90/0x90
-[ +0.000005] ret_from_fork+0x1f/0x40
-
-Reported-by: Kenneth Graunke <kenneth@whitecape.org>
-Fixes: c9ad602feabe ("drm/i915: Split i915_active.mutex into an irq-safe spinlock for the rbtree")
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-Cc: Kenneth Graunke <kenneth@whitecape.org>
-Cc: Matthew Auld <matthew.auld@intel.com>
-Tested-by: Kenneth Graunke <kenneth@whitecape.org>
-Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191205183332.801237-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/i915_active.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_active.c b/drivers/gpu/drm/i915/i915_active.c
-index a19e7d89bc8a..378b52d1ab74 100644
---- a/drivers/gpu/drm/i915/i915_active.c
-+++ b/drivers/gpu/drm/i915/i915_active.c
-@@ -91,10 +91,9 @@ static void debug_active_init(struct i915_active *ref)
-
- static void debug_active_activate(struct i915_active *ref)
- {
-- spin_lock_irq(&ref->tree_lock);
-+ lockdep_assert_held(&ref->tree_lock);
- if (!atomic_read(&ref->count)) /* before the first inc */
- debug_object_activate(ref, &active_debug_desc);
-- spin_unlock_irq(&ref->tree_lock);
- }
-
- static void debug_active_deactivate(struct i915_active *ref)
-@@ -407,8 +406,10 @@ int i915_active_acquire(struct i915_active *ref)
- if (!atomic_read(&ref->count) && ref->active)
- err = ref->active(ref);
- if (!err) {
-+ spin_lock_irq(&ref->tree_lock); /* vs __active_retire() */
- debug_active_activate(ref);
- atomic_inc(&ref->count);
-+ spin_unlock_irq(&ref->tree_lock);
- }
-
- mutex_unlock(&ref->mutex);
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0005-drm-i915-gem-Take-runtime-pm-wakeref-prior-to-unbind.patch b/libre/linux-libre-pae/0005-drm-i915-gem-Take-runtime-pm-wakeref-prior-to-unbind.patch
deleted file mode 100644
index cc39701b3..000000000
--- a/libre/linux-libre-pae/0005-drm-i915-gem-Take-runtime-pm-wakeref-prior-to-unbind.patch
+++ /dev/null
@@ -1,130 +0,0 @@
-From 649b995d6f87e0ddd5c36fbf869ea7a258c46380 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Tue, 3 Dec 2019 10:13:46 +0000
-Subject: [PATCH 05/11] drm/i915/gem: Take runtime-pm wakeref prior to
- unbinding
-
-Some machines require ACPI for runtime resume, and ACPI is quite kmalloc
-happy. We cannot handle kmalloc from inside the vm->mutex, as they are
-used by the shrinker, and so we must ensure the global runtime-pm is
-awake prior to unbinding to avoid the potential inversion.
-
-<4> [57.121748] ======================================================
-<4> [57.121750] WARNING: possible circular locking dependency detected
-<4> [57.121753] 5.4.0-rc8-CI-CI_DRM_7466+ #1 Tainted: G U
-<4> [57.121754] ------------------------------------------------------
-<4> [57.121756] i915_pm_rpm/1105 is trying to acquire lock:
-<4> [57.121758] ffffffff82263a40 (fs_reclaim){+.+.}, at: fs_reclaim_acquire.part.117+0x0/0x30
-<4> [57.121766]
-but task is already holding lock:
-<4> [57.121768] ffff888475a593c0 (&vm->mutex){+.+.}, at: i915_vma_unbind+0x21/0x50 [i915]
-<4> [57.121868]
-which lock already depends on the new lock.
-
-<4> [57.121869]
-the existing dependency chain (in reverse order) is:
-<4> [57.121871]
--> #1 (&vm->mutex){+.+.}:
-<4> [57.121951] i915_gem_shrinker_taints_mutex+0xa2/0xd0 [i915]
-<4> [57.122028] i915_address_space_init+0xa9/0x170 [i915]
-<4> [57.122104] i915_ggtt_init_hw+0x47/0x130 [i915]
-<4> [57.122150] i915_driver_probe+0xbb4/0x15f0 [i915]
-<4> [57.122197] i915_pci_probe+0x43/0x1c0 [i915]
-<4> [57.122202] pci_device_probe+0x9e/0x120
-<4> [57.122206] really_probe+0xea/0x420
-<4> [57.122209] driver_probe_device+0x10b/0x120
-<4> [57.122212] device_driver_attach+0x4a/0x50
-<4> [57.122214] __driver_attach+0x97/0x130
-<4> [57.122217] bus_for_each_dev+0x74/0xc0
-<4> [57.122220] bus_add_driver+0x142/0x220
-<4> [57.122222] driver_register+0x56/0xf0
-<4> [57.122226] do_one_initcall+0x58/0x2ff
-<4> [57.122230] do_init_module+0x56/0x1f8
-<4> [57.122233] load_module+0x243e/0x29f0
-<4> [57.122236] __do_sys_finit_module+0xe9/0x110
-<4> [57.122239] do_syscall_64+0x4f/0x210
-<4> [57.122242] entry_SYSCALL_64_after_hwframe+0x49/0xbe
-<4> [57.122244]
--> #0 (fs_reclaim){+.+.}:
-<4> [57.122249] __lock_acquire+0x1328/0x15d0
-<4> [57.122251] lock_acquire+0xa7/0x1c0
-<4> [57.122254] fs_reclaim_acquire.part.117+0x24/0x30
-<4> [57.122257] __kmalloc+0x48/0x320
-<4> [57.122261] acpi_ns_internalize_name+0x44/0x9b
-<4> [57.122264] acpi_ns_get_node_unlocked+0x6b/0xd3
-<4> [57.122267] acpi_ns_get_node+0x3b/0x50
-<4> [57.122271] acpi_get_handle+0x8a/0xb4
-<4> [57.122274] acpi_has_method+0x1c/0x40
-<4> [57.122278] acpi_pci_set_power_state+0x40/0xe0
-<4> [57.122281] pci_platform_power_transition+0x3e/0x90
-<4> [57.122284] pci_set_power_state+0x83/0xf0
-<4> [57.122287] pci_restore_standard_config+0x22/0x40
-<4> [57.122289] pci_pm_runtime_resume+0x23/0xc0
-<4> [57.122293] __rpm_callback+0xb1/0x110
-<4> [57.122296] rpm_callback+0x1a/0x70
-<4> [57.122299] rpm_resume+0x50e/0x790
-<4> [57.122302] __pm_runtime_resume+0x42/0x80
-<4> [57.122357] __intel_runtime_pm_get+0x15/0x60 [i915]
-<4> [57.122435] ggtt_unbind_vma+0x24/0x60 [i915]
-<4> [57.122514] __i915_vma_unbind.part.39+0xb5/0x500 [i915]
-<4> [57.122593] i915_vma_unbind+0x2d/0x50 [i915]
-<4> [57.122668] i915_gem_object_unbind+0x11c/0x260 [i915]
-<4> [57.122740] i915_gem_object_set_cache_level+0x32/0x90 [i915]
-<4> [57.122810] i915_gem_set_caching_ioctl+0x1f7/0x2f0 [i915]
-<4> [57.122815] drm_ioctl_kernel+0xa7/0xf0
-<4> [57.122818] drm_ioctl+0x2e1/0x390
-<4> [57.122822] do_vfs_ioctl+0xa0/0x6f0
-<4> [57.122825] ksys_ioctl+0x35/0x60
-<4> [57.122828] __x64_sys_ioctl+0x11/0x20
-<4> [57.122830] do_syscall_64+0x4f/0x210
-<4> [57.122833] entry_SYSCALL_64_after_hwframe+0x49/0xbe
-
-Closes: https://gitlab.freedesktop.org/drm/intel/issues/711
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Reviewed-by: Matthew Auld <matthew.auld@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191203101347.2836057-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/i915_gem.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 3f07948ea4da..ed2436db5dd2 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -119,10 +119,23 @@ i915_gem_get_aperture_ioctl(struct drm_device *dev, void *data,
- int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- unsigned long flags)
- {
-- struct i915_vma *vma;
-+ struct intel_runtime_pm *rpm = &to_i915(obj->base.dev)->runtime_pm;
- LIST_HEAD(still_in_list);
-+ intel_wakeref_t wakeref;
-+ struct i915_vma *vma;
- int ret = 0;
-
-+ if (!atomic_read(&obj->bind_count))
-+ return 0;
-+
-+ /*
-+ * As some machines use ACPI to handle runtime-resume callbacks, and
-+ * ACPI is quite kmalloc happy, we cannot resume beneath the vm->mutex
-+ * as they are required by the shrinker. Ergo, we wake the device up
-+ * first just in case.
-+ */
-+ wakeref = intel_runtime_pm_get(rpm);
-+
- spin_lock(&obj->vma.lock);
- while (!ret && (vma = list_first_entry_or_null(&obj->vma.list,
- struct i915_vma,
-@@ -146,6 +159,8 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- list_splice(&still_in_list, &obj->vma.list);
- spin_unlock(&obj->vma.lock);
-
-+ intel_runtime_pm_put(rpm, wakeref);
-+
- return ret;
- }
-
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0006-drm-i915-gem-Avoid-parking-the-vma-as-we-unbind.patch b/libre/linux-libre-pae/0006-drm-i915-gem-Avoid-parking-the-vma-as-we-unbind.patch
deleted file mode 100644
index 41131a09f..000000000
--- a/libre/linux-libre-pae/0006-drm-i915-gem-Avoid-parking-the-vma-as-we-unbind.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 4e14c86bb1575e16cfa0da8e7b670497b8c95657 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Tue, 3 Dec 2019 15:50:32 +0000
-Subject: [PATCH 06/11] drm/i915/gem: Avoid parking the vma as we unbind
-
-In order to avoid keeping a reference on the i915_vma (which is long
-overdue!) we have to coordinate all the possible lifetimes and only use
-the vma while we know it is alive. In this episode, we are reminded that
-while idle, the closed vma are destroyed. So if the GT idles while we are
-working with the vma, the vma itself becomes invalid.
-
-First class i915_vma here we come, but in the meantime keep piling on
-the straw.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Reviewed-by: Matthew Auld <matthew.auld@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191203155032.3137263-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/i915_gem.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index ed2436db5dd2..739543812422 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -141,18 +141,33 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- struct i915_vma,
- obj_link))) {
- struct i915_address_space *vm = vma->vm;
-+ bool awake = false;
-
-- ret = -EBUSY;
-+ ret = -EAGAIN;
- if (!i915_vm_tryopen(vm))
- break;
-
-+ /* Prevent vma being freed by i915_vma_parked as we unbind */
-+ if (intel_gt_pm_get_if_awake(vm->gt)) {
-+ awake = true;
-+ } else {
-+ if (i915_vma_is_closed(vma)) {
-+ spin_unlock(&obj->vma.lock);
-+ goto err_vm;
-+ }
-+ }
-+
- list_move_tail(&vma->obj_link, &still_in_list);
- spin_unlock(&obj->vma.lock);
-
-+ ret = -EBUSY;
- if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
- !i915_vma_is_active(vma))
- ret = i915_vma_unbind(vma);
-
-+ if (awake)
-+ intel_gt_pm_put(vm->gt);
-+err_vm:
- i915_vm_close(vm);
- spin_lock(&obj->vma.lock);
- }
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch b/libre/linux-libre-pae/0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
deleted file mode 100644
index 49df07f9e..000000000
--- a/libre/linux-libre-pae/0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 846865567a7570b072f881618335035aef030098 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Wed, 4 Dec 2019 12:35:56 +0000
-Subject: [PATCH 07/11] drm/i915/gem: Try to flush pending unbind events
-
-If we cannot handle a vma within the unbind loop, try to flush the
-pending events (i915_vma_parked, i915_vm_release) and try again. This
-avoids a round trip to userspace that is not guaranteed to make forward
-progress, as the events we wait upon require being idle.
-
-References: cb6c3d45f948 ("drm/i915/gem: Avoid parking the vma as we unbind")
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Matthew Auld <matthew.auld@intel.com>
-Reviewed-by: Matthew Auld <matthew.auld@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191204123556.3740002-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/i915_gem.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 739543812422..85b12228c2cf 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -123,7 +123,7 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- LIST_HEAD(still_in_list);
- intel_wakeref_t wakeref;
- struct i915_vma *vma;
-- int ret = 0;
-+ int ret;
-
- if (!atomic_read(&obj->bind_count))
- return 0;
-@@ -136,6 +136,8 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- */
- wakeref = intel_runtime_pm_get(rpm);
-
-+try_again:
-+ ret = 0;
- spin_lock(&obj->vma.lock);
- while (!ret && (vma = list_first_entry_or_null(&obj->vma.list,
- struct i915_vma,
-@@ -153,6 +155,7 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- } else {
- if (i915_vma_is_closed(vma)) {
- spin_unlock(&obj->vma.lock);
-+ i915_vma_parked(vm->gt);
- goto err_vm;
- }
- }
-@@ -174,6 +177,11 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- list_splice(&still_in_list, &obj->vma.list);
- spin_unlock(&obj->vma.lock);
-
-+ if (ret == -EAGAIN && flags & I915_GEM_OBJECT_UNBIND_ACTIVE) {
-+ rcu_barrier(); /* flush the i915_vm_release() */
-+ goto try_again;
-+ }
-+
- intel_runtime_pm_put(rpm, wakeref);
-
- return ret;
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0008-drm-i915-gem-Reinitialise-the-local-list-before-repe.patch b/libre/linux-libre-pae/0008-drm-i915-gem-Reinitialise-the-local-list-before-repe.patch
deleted file mode 100644
index 8fdf4b1cd..000000000
--- a/libre/linux-libre-pae/0008-drm-i915-gem-Reinitialise-the-local-list-before-repe.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 595c07526855cabbbc0bc82a3a28c1ac0eceae0e Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Thu, 5 Dec 2019 13:29:12 +0000
-Subject: [PATCH 08/11] drm/i915/gem: Reinitialise the local list before
- repeating
-
-As we may start the loop again, we require our local list of i915_vma
-we've processed to be reinitialised.
-
-Fixes: aa5e4453dc05 ("drm/i915/gem: Try to flush pending unbind events")
-Closes: https://gitlab.freedesktop.org/drm/intel/issues/731
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Reviewed-by: Andi Shyti <andi.shyti@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191205132912.606868-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/i915_gem.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 85b12228c2cf..c2c025c4f4ad 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -174,7 +174,7 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- i915_vm_close(vm);
- spin_lock(&obj->vma.lock);
- }
-- list_splice(&still_in_list, &obj->vma.list);
-+ list_splice_init(&still_in_list, &obj->vma.list);
- spin_unlock(&obj->vma.lock);
-
- if (ret == -EAGAIN && flags & I915_GEM_OBJECT_UNBIND_ACTIVE) {
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0009-drm-i915-Add-a-simple-is-bound-check-before-unbindin.patch b/libre/linux-libre-pae/0009-drm-i915-Add-a-simple-is-bound-check-before-unbindin.patch
deleted file mode 100644
index 024402d2b..000000000
--- a/libre/linux-libre-pae/0009-drm-i915-Add-a-simple-is-bound-check-before-unbindin.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From bb1cfe5bf25e128d6f8df0bd9ecc999cb58164a7 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sun, 22 Dec 2019 21:02:54 +0000
-Subject: [PATCH 09/11] drm/i915: Add a simple is-bound check before unbinding
-
-Only acquire the various atomic references required to unbind the vma if
-we do need to unbind the vma.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Acked-by: Imre Deak <imre.deak@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-1-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/i915_gem.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index c2c025c4f4ad..83eed642cbcd 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -145,6 +145,10 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- struct i915_address_space *vm = vma->vm;
- bool awake = false;
-
-+ list_move_tail(&vma->obj_link, &still_in_list);
-+ if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK))
-+ continue;
-+
- ret = -EAGAIN;
- if (!i915_vm_tryopen(vm))
- break;
-@@ -160,7 +164,6 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- }
- }
-
-- list_move_tail(&vma->obj_link, &still_in_list);
- spin_unlock(&obj->vma.lock);
-
- ret = -EBUSY;
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0010-drm-i915-Introduce-a-vma.kref.patch b/libre/linux-libre-pae/0010-drm-i915-Introduce-a-vma.kref.patch
deleted file mode 100644
index 0dfeff145..000000000
--- a/libre/linux-libre-pae/0010-drm-i915-Introduce-a-vma.kref.patch
+++ /dev/null
@@ -1,252 +0,0 @@
-From f9263854415cb857cef239b6d6ae5f05066e4731 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Sun, 22 Dec 2019 21:02:55 +0000
-Subject: [PATCH 10/11] drm/i915: Introduce a vma.kref
-
-Start introducing a kref on i915_vma in order to protect the vma unbind
-(i915_gem_object_unbind) from a parallel destruction (i915_vma_parked).
-Later, we will use the refcount to manage all access and turn i915_vma
-into a first class container.
-
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-Cc: Imre Deak <imre.deak@intel.com>
-Acked-by: Imre Deak <imre.deak@intel.com>
-Link: https://patchwork.freedesktop.org/patch/msgid/20191222210256.2066451-2-chris@chris-wilson.co.uk
----
- drivers/gpu/drm/i915/gem/i915_gem_object.c | 2 +-
- .../gpu/drm/i915/gem/selftests/huge_pages.c | 3 +--
- .../drm/i915/gem/selftests/i915_gem_mman.c | 4 +--
- drivers/gpu/drm/i915/i915_gem.c | 27 +++++++------------
- drivers/gpu/drm/i915/i915_gem_gtt.c | 5 ++--
- drivers/gpu/drm/i915/i915_vma.c | 9 ++++---
- drivers/gpu/drm/i915/i915_vma.h | 25 ++++++++++++++---
- 7 files changed, 44 insertions(+), 31 deletions(-)
-
-diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.c b/drivers/gpu/drm/i915/gem/i915_gem_object.c
-index a596548c07bf..b6937469ffd3 100644
---- a/drivers/gpu/drm/i915/gem/i915_gem_object.c
-+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.c
-@@ -174,7 +174,7 @@ static void __i915_gem_free_objects(struct drm_i915_private *i915,
- GEM_BUG_ON(vma->obj != obj);
- spin_unlock(&obj->vma.lock);
-
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
-
- spin_lock(&obj->vma.lock);
- }
-diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
-index 688c49a24f32..bd1e2c12de63 100644
---- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
-+++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c
-@@ -1110,8 +1110,7 @@ static int __igt_write_huge(struct intel_context *ce,
- out_vma_unpin:
- i915_vma_unpin(vma);
- out_vma_close:
-- i915_vma_destroy(vma);
--
-+ __i915_vma_put(vma);
- return err;
- }
-
-diff --git a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
-index e81c2726f7fd..3d8f00d40d42 100644
---- a/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
-+++ b/drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c
-@@ -161,7 +161,7 @@ static int check_partial_mapping(struct drm_i915_gem_object *obj,
- kunmap(p);
-
- out:
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
- return err;
- }
-
-@@ -255,7 +255,7 @@ static int check_partial_mappings(struct drm_i915_gem_object *obj,
- if (err)
- return err;
-
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
-
- if (igt_timeout(end_time,
- "%s: timed out after tiling=%d stride=%d\n",
-diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
-index 83eed642cbcd..0475a0343487 100644
---- a/drivers/gpu/drm/i915/i915_gem.c
-+++ b/drivers/gpu/drm/i915/i915_gem.c
-@@ -143,7 +143,6 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- struct i915_vma,
- obj_link))) {
- struct i915_address_space *vm = vma->vm;
-- bool awake = false;
-
- list_move_tail(&vma->obj_link, &still_in_list);
- if (!i915_vma_is_bound(vma, I915_VMA_BIND_MASK))
-@@ -154,26 +153,18 @@ int i915_gem_object_unbind(struct drm_i915_gem_object *obj,
- break;
-
- /* Prevent vma being freed by i915_vma_parked as we unbind */
-- if (intel_gt_pm_get_if_awake(vm->gt)) {
-- awake = true;
-- } else {
-- if (i915_vma_is_closed(vma)) {
-- spin_unlock(&obj->vma.lock);
-- i915_vma_parked(vm->gt);
-- goto err_vm;
-- }
-- }
--
-+ vma = __i915_vma_get(vma);
- spin_unlock(&obj->vma.lock);
-
-- ret = -EBUSY;
-- if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
-- !i915_vma_is_active(vma))
-- ret = i915_vma_unbind(vma);
-+ if (vma) {
-+ ret = -EBUSY;
-+ if (flags & I915_GEM_OBJECT_UNBIND_ACTIVE ||
-+ !i915_vma_is_active(vma))
-+ ret = i915_vma_unbind(vma);
-+
-+ __i915_vma_put(vma);
-+ }
-
-- if (awake)
-- intel_gt_pm_put(vm->gt);
--err_vm:
- i915_vm_close(vm);
- spin_lock(&obj->vma.lock);
- }
-diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
-index 44727806dfd7..dd2c20f7d4d2 100644
---- a/drivers/gpu/drm/i915/i915_gem_gtt.c
-+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
-@@ -522,7 +522,7 @@ void __i915_vm_close(struct i915_address_space *vm)
-
- atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
- WARN_ON(__i915_vma_unbind(vma));
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
-
- i915_gem_object_put(obj);
- }
-@@ -1790,7 +1790,7 @@ static void gen6_ppgtt_cleanup(struct i915_address_space *vm)
- {
- struct gen6_ppgtt *ppgtt = to_gen6_ppgtt(i915_vm_to_ppgtt(vm));
-
-- i915_vma_destroy(ppgtt->vma);
-+ __i915_vma_put(ppgtt->vma);
-
- gen6_ppgtt_free_pd(ppgtt);
- free_scratch(vm);
-@@ -1878,6 +1878,7 @@ static struct i915_vma *pd_vma_create(struct gen6_ppgtt *ppgtt, int size)
-
- i915_active_init(&vma->active, NULL, NULL);
-
-+ kref_init(&vma->ref);
- mutex_init(&vma->pages_mutex);
- vma->vm = i915_vm_get(&ggtt->vm);
- vma->ops = &pd_vma_ops;
-diff --git a/drivers/gpu/drm/i915/i915_vma.c b/drivers/gpu/drm/i915/i915_vma.c
-index 01c822256b39..00973017abba 100644
---- a/drivers/gpu/drm/i915/i915_vma.c
-+++ b/drivers/gpu/drm/i915/i915_vma.c
-@@ -112,6 +112,7 @@ vma_create(struct drm_i915_gem_object *obj,
- if (vma == NULL)
- return ERR_PTR(-ENOMEM);
-
-+ kref_init(&vma->ref);
- mutex_init(&vma->pages_mutex);
- vma->vm = i915_vm_get(vm);
- vma->ops = &vm->vma_ops;
-@@ -978,8 +979,10 @@ void i915_vma_reopen(struct i915_vma *vma)
- __i915_vma_remove_closed(vma);
- }
-
--void i915_vma_destroy(struct i915_vma *vma)
-+void i915_vma_release(struct kref *ref)
- {
-+ struct i915_vma *vma = container_of(ref, typeof(*vma), ref);
-+
- if (drm_mm_node_allocated(&vma->node)) {
- mutex_lock(&vma->vm->mutex);
- atomic_and(~I915_VMA_PIN_MASK, &vma->flags);
-@@ -1027,7 +1030,7 @@ void i915_vma_parked(struct intel_gt *gt)
- spin_unlock_irq(&gt->closed_lock);
-
- if (obj) {
-- i915_vma_destroy(vma);
-+ __i915_vma_put(vma);
- i915_gem_object_put(obj);
- }
-
-@@ -1192,7 +1195,7 @@ int __i915_vma_unbind(struct i915_vma *vma)
- i915_vma_detach(vma);
- vma_unbind_pages(vma);
-
-- drm_mm_remove_node(&vma->node); /* pairs with i915_vma_destroy() */
-+ drm_mm_remove_node(&vma->node); /* pairs with i915_vma_release() */
- return 0;
- }
-
-diff --git a/drivers/gpu/drm/i915/i915_vma.h b/drivers/gpu/drm/i915/i915_vma.h
-index 465932813bc5..ce1db908ad69 100644
---- a/drivers/gpu/drm/i915/i915_vma.h
-+++ b/drivers/gpu/drm/i915/i915_vma.h
-@@ -51,14 +51,19 @@ enum i915_cache_level;
- */
- struct i915_vma {
- struct drm_mm_node node;
-- struct drm_i915_gem_object *obj;
-+
- struct i915_address_space *vm;
- const struct i915_vma_ops *ops;
-- struct i915_fence_reg *fence;
-+
-+ struct drm_i915_gem_object *obj;
- struct dma_resv *resv; /** Alias of obj->resv */
-+
- struct sg_table *pages;
- void __iomem *iomap;
- void *private; /* owned by creator */
-+
-+ struct i915_fence_reg *fence;
-+
- u64 size;
- u64 display_alignment;
- struct i915_page_sizes page_sizes;
-@@ -71,6 +76,7 @@ struct i915_vma {
- * handles (but same file) for execbuf, i.e. the number of aliases
- * that exist in the ctx->handle_vmas LUT for this vma.
- */
-+ struct kref ref;
- atomic_t open_count;
- atomic_t flags;
- /**
-@@ -333,7 +339,20 @@ int __must_check i915_vma_unbind(struct i915_vma *vma);
- void i915_vma_unlink_ctx(struct i915_vma *vma);
- void i915_vma_close(struct i915_vma *vma);
- void i915_vma_reopen(struct i915_vma *vma);
--void i915_vma_destroy(struct i915_vma *vma);
-+
-+static inline struct i915_vma *__i915_vma_get(struct i915_vma *vma)
-+{
-+ if (kref_get_unless_zero(&vma->ref))
-+ return vma;
-+
-+ return NULL;
-+}
-+
-+void i915_vma_release(struct kref *ref);
-+static inline void __i915_vma_put(struct i915_vma *vma)
-+{
-+ kref_put(&vma->ref, i915_vma_release);
-+}
-
- #define assert_vma_held(vma) dma_resv_assert_held((vma)->resv)
-
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch b/libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch
deleted file mode 100644
index dc24aeaf5..000000000
--- a/libre/linux-libre-pae/0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-From ec701fa986108fae10bee7cfe269e12210521c5f Mon Sep 17 00:00:00 2001
-From: Golan Ben Ami <golan.ben.ami@intel.com>
-Date: Wed, 18 Mar 2020 08:12:54 +0200
-Subject: [PATCH 11/11] iwlwifi: don't send GEO_TX_POWER_LIMIT if no wgds table
-
-The GEO_TX_POWER_LIMIT command was sent although
-there is no wgds table, so the fw got wrong SAR values
-from the driver.
-
-Fix this by avoiding sending the command if no wgds
-tables are available.
-
-Signed-off-by: Golan Ben Ami <golan.ben.ami@intel.com>
-Fixes: 39c1a9728f93 ("iwlwifi: refactor the SAR tables from mvm to acpi")
-Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
-Tested-By: Jonathan McDowell <noodles@earth.li>
-Tested-by: Len Brown <len.brown@intel.com>
----
- drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 14 ++++++++------
- drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 14 ++++++++------
- drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 9 ++++++++-
- 3 files changed, 24 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c
-index 48d375a86d86..ba2aff3af0fe 100644
---- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c
-+++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c
-@@ -6,7 +6,7 @@
- * GPL LICENSE SUMMARY
- *
- * Copyright(c) 2017 Intel Deutschland GmbH
-- * Copyright (C) 2019 Intel Corporation
-+ * Copyright (C) 2019 - 2020 Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of version 2 of the GNU General Public License as
-@@ -27,7 +27,7 @@
- * BSD LICENSE
- *
- * Copyright(c) 2017 Intel Deutschland GmbH
-- * Copyright (C) 2019 Intel Corporation
-+ * Copyright (C) 2019 - 2020 Intel Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
-@@ -491,13 +491,13 @@ int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt,
- }
- IWL_EXPORT_SYMBOL(iwl_validate_sar_geo_profile);
-
--void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
-- struct iwl_per_chain_offset_group *table)
-+int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
-+ struct iwl_per_chain_offset_group *table)
- {
- int ret, i, j;
-
- if (!iwl_sar_geo_support(fwrt))
-- return;
-+ return -EOPNOTSUPP;
-
- ret = iwl_sar_get_wgds_table(fwrt);
- if (ret < 0) {
-@@ -505,7 +505,7 @@ void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
- "Geo SAR BIOS table invalid or unavailable. (%d)\n",
- ret);
- /* we don't fail if the table is not available */
-- return;
-+ return -ENOENT;
- }
-
- BUILD_BUG_ON(ACPI_NUM_GEO_PROFILES * ACPI_WGDS_NUM_BANDS *
-@@ -530,5 +530,7 @@ void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
- i, j, value[1], value[2], value[0]);
- }
- }
-+
-+ return 0;
- }
- IWL_EXPORT_SYMBOL(iwl_sar_geo_init);
-diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h
-index 4a6e8262974b..5590e5cc8fbb 100644
---- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h
-+++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h
-@@ -6,7 +6,7 @@
- * GPL LICENSE SUMMARY
- *
- * Copyright(c) 2017 Intel Deutschland GmbH
-- * Copyright(c) 2018 - 2019 Intel Corporation
-+ * Copyright(c) 2018 - 2020 Intel Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of version 2 of the GNU General Public License as
-@@ -27,7 +27,7 @@
- * BSD LICENSE
- *
- * Copyright(c) 2017 Intel Deutschland GmbH
-- * Copyright(c) 2018 - 2019 Intel Corporation
-+ * Copyright(c) 2018 - 2020 Intel Corporation
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
-@@ -171,8 +171,9 @@ bool iwl_sar_geo_support(struct iwl_fw_runtime *fwrt);
- int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt,
- struct iwl_host_cmd *cmd);
-
--void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
-- struct iwl_per_chain_offset_group *table);
-+int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
-+ struct iwl_per_chain_offset_group *table);
-+
- #else /* CONFIG_ACPI */
-
- static inline void *iwl_acpi_get_object(struct device *dev, acpi_string method)
-@@ -243,9 +244,10 @@ static inline int iwl_validate_sar_geo_profile(struct iwl_fw_runtime *fwrt,
- return -ENOENT;
- }
-
--static inline void iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
-- struct iwl_per_chain_offset_group *table)
-+static inline int iwl_sar_geo_init(struct iwl_fw_runtime *fwrt,
-+ struct iwl_per_chain_offset_group *table)
- {
-+ return -ENOENT;
- }
-
- #endif /* CONFIG_ACPI */
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
-index c09624d8d7ee..81b7da5815eb 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
-@@ -749,10 +749,17 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
- u16 cmd_wide_id = WIDE_ID(PHY_OPS_GROUP, GEO_TX_POWER_LIMIT);
- union geo_tx_power_profiles_cmd cmd;
- u16 len;
-+ int ret;
-
- cmd.geo_cmd.ops = cpu_to_le32(IWL_PER_CHAIN_OFFSET_SET_TABLES);
-
-- iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table);
-+ ret = iwl_sar_geo_init(&mvm->fwrt, cmd.geo_cmd.table);
-+ /*
-+ * It is a valid scenario to not support SAR, or miss wgds table,
-+ * but in that case there is no need to send the command.
-+ */
-+ if (ret)
-+ return 0;
-
- cmd.geo_cmd.table_revision = cpu_to_le32(mvm->fwrt.geo_rev);
-
---
-2.25.2
-
diff --git a/libre/linux-libre-pae/PKGBUILD b/libre/linux-libre-pae/PKGBUILD
index 55db08f3b..f402bdc2a 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.5.13
+pkgver=5.6.7
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.5
+_srcname=linux-5.6
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,24 +37,15 @@ 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-iwlwifi-pcie-restore-support-for-Killer-Qu-C0-NICs.patch
- 0003-drm-Remove-PageReserved-manipulation-from-drm_pci_al.patch
- 0004-drm-i915-Serialise-i915_active_acquire-with-__active.patch
- 0005-drm-i915-gem-Take-runtime-pm-wakeref-prior-to-unbind.patch
- 0006-drm-i915-gem-Avoid-parking-the-vma-as-we-unbind.patch
- 0007-drm-i915-gem-Try-to-flush-pending-unbind-events.patch
- 0008-drm-i915-gem-Reinitialise-the-local-list-before-repe.patch
- 0009-drm-i915-Add-a-simple-is-bound-check-before-unbindin.patch
- 0010-drm-i915-Introduce-a-vma.kref.patch
- 0011-iwlwifi-don-t-send-GEO_TX_POWER_LIMIT-if-no-wgds-tab.patch
+ sphinx-workaround.patch
)
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
'6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
)
-sha512sums=('187368a8fb4e04acfd7d18a024d6cdbc2841bcc06dcfbc3a053706e8512c3e3f573755228347c11bd791b296ec60eb2d67d5075ece2aef234a847e72f2b3e746'
+sha512sums=('df473a228ca2bbefbcc630aee710c78c83083269b4939adf698a9adf3a5760391b24529704bfc0b108bc67054ebed047746810e1b41be1fd9019a911a563114d'
'SKIP'
- '2c882f6256bb9409b59fde28183e71701e969aab8a0e36821550a639a5c5de3e3b129a708f0f9c83135653cfccc837601850b631fb6d63449e2083319aba1d30'
+ '0c01eabfbd10fb5aeabcb60c9ca362576bd7b33a31b841704b3b4d3c650a2a681b208ffdeb82673286b0e8449858d399cc80f04acafa7d27ee686f2880471e6d'
'SKIP'
'13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
'SKIP'
@@ -62,20 +53,11 @@ sha512sums=('187368a8fb4e04acfd7d18a024d6cdbc2841bcc06dcfbc3a053706e8512c3e3f573
'SKIP'
'267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1'
'SKIP'
- '9b8298a195857108453042090bfebf7736b373b177077926bda7091bc490aeda1872fb51cf126e021eae97096973dfab6d6c858bebf5d565a9df4ffe28d2df2f'
+ '87bc57f79ee284f592951c866b9d90de3caa543456412fe308a0f1b7cb9528ee27c9dad0fbb4330b0cfaf6d783f5ad4996eae7ce44345dfc47ef64059270dd38'
'02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af'
'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
- '70858920f0ac56651347f979d5add5323b4ea5ff38e802ee43146b40d4b26ca61903d44b8763a0e9ba080017839ba3fb2f67ec15694c2fba0fd726411e8a96e9'
- '420a201f16c6e293135dae81e645817e0e4d94fe885035226437c43cdce3db192e3ffebeb423a0304f7c909b2061e85af1299c7451d15d36106e319d9ddb4acf'
- '33d558d4fdad651de93208d0e9a1c6d62f9c6b85791a24443d1b2ceb6c08da425507f3f025161d399c823b852880ef61761e71f39d22f30f03a66a8c23c36ad5'
- '3fa77a47394d5e52e0b3c6c96a8c15e755f617aaa2b68758f211103489551b6fe1dfa7082ca32fc0fbc29a9d6c70cb2c419b9484d9e67839bed7182f862bd039'
- 'e75f9062f9bf4c686ced979c4789ea82788aec14f56976ee4c6213ed2af4fd6a1ce1c01c26a71f7afff9a7bc2a2051e366be6c458e413e6fff154b580202e5a0'
- '19b28696117425e13a94730c0f2edabe2d9ff741095af34c1aeee95f59f9efe9e7cb6124b61b1b31d0d0730f9431281c8d0040db0fc15a80d8028ebe29562cf4'
- '5d802cc0843ee0d66aca4b57987db2cbeaa27939322244171313ca2d01cc3591ddbbf774edbb69a61830c28560f1af3b740e86495cec600118ee565bc5784536'
- '5f7af141438bced1d0f3d858fd66d68356a979c5a3eefb1f0a21a00aabdf54d84b2b558c3e1002b6287529ccb760eebbdc9922df50e46154c807ee9e6da9e73a'
- '8e61e45373fc72877a21caf2b980cdffe36c0086a55656352043ddb11c2394ab634dea0b111454758b67b515ab6070596e227f4ae02fd7c4475d412cfce5d30b'
- '28abc78b9f63b4fe3c32779d5306a59c37ff4b8868060cb71ba4521aebcb6266509f51fb5dda17eeac4ab89d0f72e63cba1e9e5938d0fc9db00f202b9a1b845f'
- '42efbf9f7502c9470042f31c9abed0f5590c837f31a4664554fa1829e51093390c1a97bdfb50d1f88ca6bba47e15df9fbb206817a9708ebc30ef469e16a851b4')
+ 'f340f8beaf2df0970ed592360da8d625ba6be27ed4a0773ff8a6b5dc638b0e7b73e575d3e154c328999dfe9ebf4f18739adade8ddfa89472845318885f9da1c0'
+ '98e97155f86bbe837d43f27ec1018b5b6fdc6c372d6f7f2a0fe29da117d53979d9f9c262f886850d92002898682781029b80d4ee923633fc068f979e6c8254be')
_replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}")
_replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}")
@@ -151,9 +133,6 @@ _package() {
# remove build and source links
rm "$modulesdir"/{source,build}
-
- echo "Fixing permissions..."
- chmod -Rc u=rwX,go=rX "$pkgdir"
}
_package-headers() {
@@ -230,9 +209,6 @@ _package-headers() {
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/src"
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
-
- echo "Fixing permissions..."
- chmod -Rc u=rwX,go=rX "$pkgdir"
}
_package-docs() {
@@ -255,9 +231,6 @@ _package-docs() {
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/share/doc"
ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
-
- echo "Fixing permissions..."
- chmod -Rc u=rwX,go=rX "$pkgdir"
}
pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
diff --git a/libre/linux-libre-pae/config b/libre/linux-libre-pae/config
index 4466f521e..815f7656e 100644
--- a/libre/linux-libre-pae/config
+++ b/libre/linux-libre-pae/config
@@ -1,20 +1,20 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.5.2-gnu Kernel Configuration
+# Linux/x86 5.6.7-gnu Kernel Configuration
#
#
-# Compiler: gcc (GCC) 9.2.0
+# Compiler: gcc (Arch Linux 9.3.0-1) 9.3.0
#
CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=90200
+CONFIG_GCC_VERSION=90300
CONFIG_CLANG_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_WARN_MAYBE_UNINITIALIZED=y
CONFIG_IRQ_WORK=y
-CONFIG_BUILDTIME_EXTABLE_SORT=y
+CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
#
@@ -116,6 +116,7 @@ CONFIG_CPU_ISOLATION=y
#
# RCU Subsystem
#
+CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
@@ -146,7 +147,6 @@ 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
@@ -173,9 +173,9 @@ CONFIG_CGROUP_BPF=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
-CONFIG_USER_NS_UNPRIVILEGED=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
@@ -190,6 +190,7 @@ CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
+# CONFIG_BOOT_CONFIG is not set
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_SYSCTL=y
@@ -357,6 +358,8 @@ CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=6
CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_IA32_FEAT_CTL=y
+CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_CYRIX_32=y
@@ -692,6 +695,7 @@ CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y
CONFIG_APPLE_PROPERTIES=y
# CONFIG_RESET_ATTACK_MITIGATION is not set
# CONFIG_EFI_RCI2_TABLE is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
# end of EFI (Extensible Firmware Interface) Support
CONFIG_UEFI_CPER=y
@@ -720,6 +724,7 @@ CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
+# CONFIG_KVM_WERROR is not set
CONFIG_KVM_INTEL=m
CONFIG_KVM_AMD=m
CONFIG_KVM_MMU_AUDIT=y
@@ -779,7 +784,8 @@ CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
-CONFIG_HAVE_RCU_TABLE_FREE=y
+CONFIG_MMU_GATHER_TABLE_FREE=y
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
@@ -857,6 +863,7 @@ CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
+CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_THROTTLING_LOW=y
@@ -992,6 +999,7 @@ CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_NET=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
+CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y
#
@@ -1046,6 +1054,7 @@ CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
+CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
@@ -1104,6 +1113,9 @@ CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_NETLABEL=y
+CONFIG_MPTCP=y
+CONFIG_MPTCP_IPV6=y
+# CONFIG_MPTCP_HMAC_TEST is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
@@ -1515,6 +1527,7 @@ CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
CONFIG_NET_DSA_TAG_8021Q=m
+CONFIG_NET_DSA_TAG_AR9331=m
CONFIG_NET_DSA_TAG_BRCM_COMMON=m
CONFIG_NET_DSA_TAG_BRCM=m
CONFIG_NET_DSA_TAG_BRCM_PREPEND=m
@@ -1592,8 +1605,10 @@ CONFIG_NET_SCH_CAKE=m
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=m
+CONFIG_NET_SCH_FQ_PIE=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m
+CONFIG_NET_SCH_ETS=m
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
@@ -1674,6 +1689,7 @@ CONFIG_OPENVSWITCH_VXLAN=m
CONFIG_OPENVSWITCH_GENEVE=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
@@ -1971,6 +1987,7 @@ CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
CONFIG_FAILOVER=m
+CONFIG_ETHTOOL_NETLINK=y
CONFIG_HAVE_EBPF_JIT=y
#
@@ -2033,6 +2050,7 @@ CONFIG_PCIE_DW=y
CONFIG_PCIE_DW_HOST=y
# CONFIG_PCIE_DW_PLAT_HOST is not set
# CONFIG_PCIE_DW_PLAT_EP is not set
+# CONFIG_PCIE_INTEL_GW is not set
CONFIG_PCI_MESON=y
# end of DesignWare PCI Core Support
@@ -2136,6 +2154,7 @@ CONFIG_REGMAP_SPMI=m
CONFIG_REGMAP_W1=m
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
+CONFIG_REGMAP_SOUNDWIRE=m
CONFIG_REGMAP_SCCB=m
CONFIG_REGMAP_I3C=m
CONFIG_DMA_SHARED_BUFFER=y
@@ -2372,7 +2391,6 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_VIRTIO_BLK=m
-# CONFIG_VIRTIO_BLK_SCSI is not set
CONFIG_BLK_DEV_RBD=m
CONFIG_BLK_DEV_RSXX=m
@@ -2832,6 +2850,8 @@ CONFIG_MII=m
CONFIG_NET_CORE=y
CONFIG_BONDING=m
CONFIG_DUMMY=m
+CONFIG_WIREGUARD=m
+# CONFIG_WIREGUARD_DEBUG is not set
CONFIG_EQUALIZER=m
CONFIG_NET_FC=y
CONFIG_IFB=m
@@ -2923,7 +2943,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m
CONFIG_NET_DSA_MV88E6XXX=m
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
CONFIG_NET_DSA_MV88E6XXX_PTP=y
-# CONFIG_NET_DSA_MSCC_FELIX is not set
+CONFIG_NET_DSA_AR9331=m
CONFIG_NET_DSA_SJA1105=m
# CONFIG_NET_DSA_SJA1105_PTP is not set
CONFIG_NET_DSA_QCA8K=m
@@ -3625,14 +3645,13 @@ CONFIG_IEEE802154_MCR20A=m
CONFIG_IEEE802154_HWSIM=m
CONFIG_VMXNET3=m
CONFIG_FUJITSU_ES=m
-CONFIG_THUNDERBOLT_NET=m
+CONFIG_USB4_NET=m
CONFIG_HYPERV_NET=m
CONFIG_NETDEVSIM=m
CONFIG_NET_FAILOVER=m
CONFIG_ISDN=y
-CONFIG_ISDN_CAPI=m
+CONFIG_ISDN_CAPI=y
CONFIG_CAPI_TRACE=y
-CONFIG_ISDN_CAPI_CAPI20=m
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_MISDN=m
CONFIG_MISDN_DSP=m
@@ -4044,6 +4063,7 @@ CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_PNP=y
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
CONFIG_SERIAL_8250_FINTEK=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
@@ -4272,7 +4292,6 @@ CONFIG_I2C_XILINX=m
CONFIG_I2C_DIOLAN_U2C=m
CONFIG_I2C_DLN2=m
CONFIG_I2C_PARPORT=m
-CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_ROBOTFUZZ_OSIF=m
CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_TINY_USB=m
@@ -4374,6 +4393,7 @@ CONFIG_PPS_CLIENT_GPIO=m
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_DP83640_PHY=m
+CONFIG_PTP_1588_CLOCK_INES=m
CONFIG_PTP_1588_CLOCK_PCH=m
CONFIG_PTP_1588_CLOCK_KVM=m
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
@@ -4399,6 +4419,7 @@ CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_OCELOT=y
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_CHERRYVIEW=y
+CONFIG_PINCTRL_LYNXPOINT=m
CONFIG_PINCTRL_INTEL=y
CONFIG_PINCTRL_BROXTON=y
CONFIG_PINCTRL_CANNONLAKE=y
@@ -4438,13 +4459,15 @@ CONFIG_GPIO_GENERIC_PLATFORM=m
CONFIG_GPIO_GRGPIO=m
CONFIG_GPIO_HLWD=m
CONFIG_GPIO_ICH=m
-CONFIG_GPIO_LYNXPOINT=m
+CONFIG_GPIO_LOGICVC=m
CONFIG_GPIO_MB86S7X=m
CONFIG_GPIO_MENZ127=m
CONFIG_GPIO_SAMA5D2_PIOBU=m
+# CONFIG_GPIO_SIFIVE is not set
CONFIG_GPIO_SIOX=m
CONFIG_GPIO_SYSCON=m
CONFIG_GPIO_VX855=m
+CONFIG_GPIO_WCD934X=m
CONFIG_GPIO_XILINX=m
CONFIG_GPIO_AMD_FCH=m
# end of Memory mapped GPIO drivers
@@ -4479,6 +4502,7 @@ CONFIG_GPIO_TPIC2810=m
CONFIG_GPIO_ADP5520=m
CONFIG_GPIO_ARIZONA=m
CONFIG_GPIO_BD70528=m
+CONFIG_GPIO_BD71828=m
CONFIG_GPIO_BD9571MWV=m
CONFIG_GPIO_CRYSTAL_COVE=m
CONFIG_GPIO_CS5535=m
@@ -4584,6 +4608,7 @@ CONFIG_W1_SLAVE_DS28E17=m
# end of 1-wire Slaves
CONFIG_POWER_AVS=y
+CONFIG_QCOM_CPR=m
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_AS3722=y
CONFIG_POWER_RESET_GPIO=y
@@ -4684,6 +4709,7 @@ CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
+CONFIG_SENSORS_ADM1177=m
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7X10=m
CONFIG_SENSORS_ADT7310=m
@@ -4701,6 +4727,7 @@ CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
+CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DELL_SMM=m
@@ -4744,6 +4771,7 @@ CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
CONFIG_SENSORS_MAX31722=m
+CONFIG_SENSORS_MAX31730=m
CONFIG_SENSORS_MAX6621=m
CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6642=m
@@ -4795,6 +4823,7 @@ CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC2978_REGULATOR is not set
CONFIG_SENSORS_LTC3815=m
CONFIG_SENSORS_MAX16064=m
+CONFIG_SENSORS_MAX20730=m
CONFIG_SENSORS_MAX20751=m
CONFIG_SENSORS_MAX31785=m
CONFIG_SENSORS_MAX34440=m
@@ -4804,6 +4833,7 @@ CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
+CONFIG_SENSORS_XDPE122=m
CONFIG_SENSORS_ZL6100=m
CONFIG_SENSORS_PWM_FAN=m
CONFIG_SENSORS_SHT15=m
@@ -4878,6 +4908,8 @@ CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
+CONFIG_CPU_FREQ_THERMAL=y
+# CONFIG_CPU_IDLE_THERMAL is not set
CONFIG_CLOCK_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_THERMAL_EMULATION is not set
@@ -5181,8 +5213,10 @@ CONFIG_MFD_WM8350_I2C=y
CONFIG_MFD_WM8994=m
CONFIG_MFD_ROHM_BD718XX=m
CONFIG_MFD_ROHM_BD70528=m
+CONFIG_MFD_ROHM_BD71828=m
CONFIG_MFD_STPMIC1=m
CONFIG_MFD_STMFX=m
+CONFIG_MFD_WCD934X=m
CONFIG_RAVE_SP_CORE=m
# end of Multifunction device drivers
@@ -5207,6 +5241,7 @@ CONFIG_REGULATOR_AS3722=m
CONFIG_REGULATOR_AXP20X=m
CONFIG_REGULATOR_BCM590XX=m
CONFIG_REGULATOR_BD70528=m
+CONFIG_REGULATOR_BD71828=m
CONFIG_REGULATOR_BD718XX=m
CONFIG_REGULATOR_BD9571MWV=m
CONFIG_REGULATOR_CPCAP=m
@@ -5252,6 +5287,8 @@ CONFIG_REGULATOR_MC13XXX_CORE=m
CONFIG_REGULATOR_MC13783=m
CONFIG_REGULATOR_MC13892=m
CONFIG_REGULATOR_MCP16502=m
+CONFIG_REGULATOR_MP8859=m
+CONFIG_REGULATOR_MPQ7920=m
CONFIG_REGULATOR_MT6311=m
CONFIG_REGULATOR_MT6323=m
CONFIG_REGULATOR_MT6397=m
@@ -5267,6 +5304,7 @@ CONFIG_REGULATOR_QCOM_SPMI=m
CONFIG_REGULATOR_RC5T583=m
CONFIG_REGULATOR_RK808=m
CONFIG_REGULATOR_RN5T618=m
+CONFIG_REGULATOR_ROHM=m
CONFIG_REGULATOR_RT5033=m
CONFIG_REGULATOR_S2MPA01=m
CONFIG_REGULATOR_S2MPS11=m
@@ -5297,7 +5335,7 @@ CONFIG_REGULATOR_WM831X=m
CONFIG_REGULATOR_WM8350=m
CONFIG_REGULATOR_WM8400=m
CONFIG_REGULATOR_WM8994=m
-CONFIG_CEC_CORE=y
+CONFIG_CEC_CORE=m
CONFIG_CEC_NOTIFIER=y
CONFIG_CEC_PIN=y
CONFIG_RC_CORE=m
@@ -5351,6 +5389,7 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
CONFIG_MEDIA_CEC_SUPPORT=y
+# CONFIG_MEDIA_CEC_RC is not set
# CONFIG_CEC_PIN_ERROR_INJ is not set
CONFIG_MEDIA_CONTROLLER=y
CONFIG_MEDIA_CONTROLLER_DVB=y
@@ -6136,6 +6175,7 @@ CONFIG_DRM=m
CONFIG_DRM_MIPI_DBI=m
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_DP_AUX_CHARDEV=y
+CONFIG_DRM_EXPORT_FOR_TESTS=y
CONFIG_DRM_DEBUG_SELFTEST=m
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_KMS_FB_HELPER=y
@@ -6168,7 +6208,6 @@ 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
@@ -6189,10 +6228,7 @@ CONFIG_DRM_AMD_ACP=y
# Display Engine Configuration
#
CONFIG_DRM_AMD_DC=y
-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_DCN=y
# CONFIG_DRM_AMD_DC_HDCP is not set
# CONFIG_DEBUG_KERNEL_DC is not set
# end of Display Engine Configuration
@@ -6238,7 +6274,6 @@ CONFIG_DRM_I915_TIMESLICE_DURATION=1
CONFIG_DRM_VGEM=m
CONFIG_DRM_VKMS=m
-CONFIG_DRM_ATI_PCIGART=y
CONFIG_DRM_VMWGFX=m
CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_GMA500=m
@@ -6259,6 +6294,7 @@ CONFIG_DRM_PANEL=y
# Display Panels
#
CONFIG_DRM_PANEL_ARM_VERSATILE=m
+CONFIG_DRM_PANEL_BOE_HIMAX8279D=m
CONFIG_DRM_PANEL_LVDS=m
CONFIG_DRM_PANEL_SIMPLE=m
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m
@@ -6267,6 +6303,7 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m
CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m
CONFIG_DRM_PANEL_JDI_LT070ME05000=m
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m
+CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m
CONFIG_DRM_PANEL_SAMSUNG_LD9040=m
CONFIG_DRM_PANEL_LG_LB035Q02=m
CONFIG_DRM_PANEL_LG_LG4573=m
@@ -6292,11 +6329,13 @@ CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m
CONFIG_DRM_PANEL_SITRONIX_ST7701=m
CONFIG_DRM_PANEL_SITRONIX_ST7789V=m
+CONFIG_DRM_PANEL_SONY_ACX424AKP=m
CONFIG_DRM_PANEL_SONY_ACX565AKM=m
CONFIG_DRM_PANEL_TPO_TD028TTEC1=m
CONFIG_DRM_PANEL_TPO_TD043MTEA1=m
CONFIG_DRM_PANEL_TPO_TPG110=m
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m
+CONFIG_DRM_PANEL_XINPENG_XPP055C272=m
# end of Display Panels
CONFIG_DRM_BRIDGE=y
@@ -6305,10 +6344,9 @@ CONFIG_DRM_PANEL_BRIDGE=y
#
# Display Interface Bridges
#
-CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_CDNS_DSI=m
CONFIG_DRM_DUMB_VGA_DAC=m
-CONFIG_DRM_LVDS_ENCODER=m
+CONFIG_DRM_LVDS_CODEC=m
CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=m
CONFIG_DRM_NXP_PTN3460=m
CONFIG_DRM_PARADE_PS8622=m
@@ -6320,6 +6358,9 @@ CONFIG_DRM_TOSHIBA_TC358764=m
CONFIG_DRM_TOSHIBA_TC358767=m
CONFIG_DRM_TI_TFP410=m
CONFIG_DRM_TI_SN65DSI86=m
+CONFIG_DRM_ANALOGIX_ANX6345=m
+CONFIG_DRM_ANALOGIX_ANX78XX=m
+CONFIG_DRM_ANALOGIX_DP=m
CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7533=y
@@ -6479,6 +6520,7 @@ CONFIG_BACKLIGHT_LV5207LP=m
CONFIG_BACKLIGHT_BD6107=m
CONFIG_BACKLIGHT_ARCXCNN=m
CONFIG_BACKLIGHT_RAVE_SP=m
+CONFIG_BACKLIGHT_LED=m
# end of Backlight & LCD device support
CONFIG_VGASTATE=m
@@ -6535,6 +6577,7 @@ CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_DEBUG=y
# CONFIG_SND_DEBUG_VERBOSE is not set
# CONFIG_SND_PCM_XRUN_DEBUG is not set
+# CONFIG_SND_CTL_VALIDATION is not set
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_SEQUENCER=m
@@ -6711,7 +6754,7 @@ CONFIG_SND_HDA_DSP_LOADER=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_EXT_CORE=m
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
+CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=m
CONFIG_SND_SPI=y
@@ -6811,7 +6854,9 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m
CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m
CONFIG_SND_SOC_ACPI_INTEL_MATCH=m
CONFIG_SND_SOC_INTEL_MACH=y
+# CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set
CONFIG_SND_SOC_INTEL_HASWELL_MACH=m
+CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m
@@ -6952,6 +6997,7 @@ CONFIG_SND_SOC_RL6231=m
CONFIG_SND_SOC_RL6347A=m
CONFIG_SND_SOC_RT286=m
CONFIG_SND_SOC_RT298=m
+CONFIG_SND_SOC_RT1308_SDW=m
CONFIG_SND_SOC_RT5514=m
CONFIG_SND_SOC_RT5514_SPI=m
CONFIG_SND_SOC_RT5616=m
@@ -6964,6 +7010,12 @@ CONFIG_SND_SOC_RT5663=m
CONFIG_SND_SOC_RT5670=m
CONFIG_SND_SOC_RT5677=m
CONFIG_SND_SOC_RT5677_SPI=m
+CONFIG_SND_SOC_RT700=m
+CONFIG_SND_SOC_RT700_SDW=m
+CONFIG_SND_SOC_RT711=m
+CONFIG_SND_SOC_RT711_SDW=m
+CONFIG_SND_SOC_RT715=m
+CONFIG_SND_SOC_RT715_SDW=m
CONFIG_SND_SOC_SGTL5000=m
CONFIG_SND_SOC_SI476X=m
CONFIG_SND_SOC_SIGMADSP=m
@@ -7002,6 +7054,7 @@ CONFIG_SND_SOC_TSCS42XX=m
CONFIG_SND_SOC_TSCS454=m
CONFIG_SND_SOC_UDA1334=m
CONFIG_SND_SOC_WCD9335=m
+CONFIG_SND_SOC_WCD934X=m
CONFIG_SND_SOC_WM8510=m
CONFIG_SND_SOC_WM8523=m
CONFIG_SND_SOC_WM8524=m
@@ -7026,10 +7079,12 @@ CONFIG_SND_SOC_WM8962=m
CONFIG_SND_SOC_WM8974=m
CONFIG_SND_SOC_WM8978=m
CONFIG_SND_SOC_WM8985=m
+CONFIG_SND_SOC_WSA881X=m
CONFIG_SND_SOC_ZX_AUD96P22=m
CONFIG_SND_SOC_MAX9759=m
CONFIG_SND_SOC_MT6351=m
CONFIG_SND_SOC_MT6358=m
+CONFIG_SND_SOC_MT6660=m
CONFIG_SND_SOC_NAU8540=m
CONFIG_SND_SOC_NAU8810=m
CONFIG_SND_SOC_NAU8822=m
@@ -7630,6 +7685,7 @@ CONFIG_MMC_MTK=m
CONFIG_MMC_SDHCI_XENON=m
CONFIG_MMC_SDHCI_OMAP=m
CONFIG_MMC_SDHCI_AM654=m
+CONFIG_MMC_SDHCI_EXTERNAL_DMA=y
CONFIG_MEMSTICK=m
# CONFIG_MEMSTICK_DEBUG is not set
@@ -7725,6 +7781,7 @@ CONFIG_LEDS_SPI_BYTE=m
CONFIG_LEDS_TI_LMU_COMMON=m
CONFIG_LEDS_LM3697=m
CONFIG_LEDS_LM36274=m
+CONFIG_LEDS_TPS6105X=m
#
# LED Triggers
@@ -7971,6 +8028,7 @@ CONFIG_DW_AXI_DMAC=m
CONFIG_FSL_EDMA=m
CONFIG_INTEL_IDMA64=m
CONFIG_PCH_DMA=m
+CONFIG_PLX_DMA=m
CONFIG_QCOM_HIDMA_MGMT=m
CONFIG_QCOM_HIDMA=m
CONFIG_DW_DMAC_CORE=y
@@ -7994,6 +8052,7 @@ CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_UDMABUF is not set
CONFIG_DMABUF_SELFTESTS=m
+# CONFIG_DMABUF_HEAPS is not set
# end of DMABUF options
CONFIG_AUXDISPLAY=y
@@ -8345,29 +8404,6 @@ CONFIG_HMS_ANYBUSS_BUS=m
CONFIG_ARCX_ANYBUS_CONTROLLER=m
CONFIG_HMS_PROFINET=m
# CONFIG_KPC2000 is not set
-
-#
-# ISDN CAPI drivers
-#
-CONFIG_CAPI_AVM=y
-CONFIG_ISDN_DRV_AVMB1_B1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCI=m
-CONFIG_ISDN_DRV_AVMB1_B1PCIV4=y
-CONFIG_ISDN_DRV_AVMB1_T1ISA=m
-CONFIG_ISDN_DRV_AVMB1_B1PCMCIA=m
-CONFIG_ISDN_DRV_AVMB1_AVM_CS=m
-CONFIG_ISDN_DRV_AVMB1_T1PCI=m
-CONFIG_ISDN_DRV_AVMB1_C4=m
-CONFIG_ISDN_DRV_GIGASET=m
-CONFIG_GIGASET_CAPI=y
-CONFIG_GIGASET_BASE=m
-CONFIG_GIGASET_M105=m
-CONFIG_GIGASET_M101=m
-# CONFIG_GIGASET_DEBUG is not set
-CONFIG_HYSDN=m
-CONFIG_HYSDN_CAPI=y
-# end of ISDN CAPI drivers
-
CONFIG_USB_WUSB=m
CONFIG_USB_WUSB_CBAF=m
# CONFIG_USB_WUSB_CBAF_DEBUG is not set
@@ -8377,13 +8413,13 @@ CONFIG_UWB=m
CONFIG_UWB_HWA=m
CONFIG_UWB_WHCI=m
CONFIG_UWB_I1480U=m
-CONFIG_EXFAT_FS=m
-CONFIG_EXFAT_DISCARD=y
-# CONFIG_EXFAT_DELAYED_SYNC is not set
-# CONFIG_EXFAT_KERNEL_DEBUG is not set
-# CONFIG_EXFAT_DEBUG_MSG is not set
-CONFIG_EXFAT_DEFAULT_CODEPAGE=437
-CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_STAGING_EXFAT_FS=m
+CONFIG_STAGING_EXFAT_DISCARD=y
+# CONFIG_STAGING_EXFAT_DELAYED_SYNC is not set
+# CONFIG_STAGING_EXFAT_KERNEL_DEBUG is not set
+# CONFIG_STAGING_EXFAT_DEBUG_MSG is not set
+CONFIG_STAGING_EXFAT_DEFAULT_CODEPAGE=437
+CONFIG_STAGING_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_QLGE=m
CONFIG_NET_VENDOR_HP=y
CONFIG_HP100=m
@@ -8539,6 +8575,7 @@ CONFIG_CLKSRC_I8253=y
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
+# CONFIG_MICROCHIP_PIT64B is not set
# end of Clock Source drivers
CONFIG_MAILBOX=y
@@ -8547,6 +8584,7 @@ CONFIG_PCC=y
CONFIG_ALTERA_MBOX=m
CONFIG_MAILBOX_TEST=m
CONFIG_IOMMU_IOVA=y
+CONFIG_IOASID=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y
@@ -8563,6 +8601,7 @@ CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
+# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set
CONFIG_HYPERV_IOMMU=y
#
@@ -8588,6 +8627,7 @@ CONFIG_SOUNDWIRE=y
#
CONFIG_SOUNDWIRE_CADENCE=m
CONFIG_SOUNDWIRE_INTEL=m
+CONFIG_SOUNDWIRE_QCOM=m
#
# SOC (System On Chip) specific Drivers
@@ -8694,6 +8734,8 @@ CONFIG_ADXL372_SPI=m
CONFIG_ADXL372_I2C=m
CONFIG_BMA180=m
CONFIG_BMA220=m
+CONFIG_BMA400=m
+CONFIG_BMA400_I2C=m
CONFIG_BMC150_ACCEL=m
CONFIG_BMC150_ACCEL_I2C=m
CONFIG_BMC150_ACCEL_SPI=m
@@ -8731,6 +8773,7 @@ CONFIG_STK8BA50=m
# Analog to digital converters
#
CONFIG_AD_SIGMA_DELTA=m
+CONFIG_AD7091R5=m
CONFIG_AD7124=m
CONFIG_AD7266=m
CONFIG_AD7291=m
@@ -8762,6 +8805,7 @@ CONFIG_INA2XX_ADC=m
CONFIG_LP8788_ADC=m
CONFIG_LTC2471=m
CONFIG_LTC2485=m
+CONFIG_LTC2496=m
CONFIG_LTC2497=m
CONFIG_MAX1027=m
CONFIG_MAX11100=m
@@ -9120,6 +9164,7 @@ CONFIG_BMP280=m
CONFIG_BMP280_I2C=m
CONFIG_BMP280_SPI=m
CONFIG_IIO_CROS_EC_BARO=m
+CONFIG_DLHL60D=m
CONFIG_DPS310=m
CONFIG_HID_SENSOR_PRESS=m
CONFIG_HP03=m
@@ -9153,6 +9198,7 @@ CONFIG_AS3935=m
CONFIG_ISL29501=m
CONFIG_LIDAR_LITE_V2=m
CONFIG_MB1232=m
+CONFIG_PING=m
CONFIG_RFD77402=m
CONFIG_SRF04=m
CONFIG_SX9500=m
@@ -9234,6 +9280,8 @@ CONFIG_IPACK_BUS=m
CONFIG_BOARD_TPCI200=m
CONFIG_SERIAL_IPOCTAL=m
CONFIG_RESET_CONTROLLER=y
+# CONFIG_RESET_BRCMSTB_RESCAL is not set
+# CONFIG_RESET_INTEL_GW is not set
CONFIG_RESET_TI_SYSCON=m
#
@@ -9256,6 +9304,7 @@ CONFIG_PHY_QCOM_USB_HS=m
CONFIG_PHY_QCOM_USB_HSIC=m
CONFIG_PHY_SAMSUNG_USB2=m
CONFIG_PHY_TUSB1210=m
+CONFIG_PHY_INTEL_EMMC=m
# end of PHY Subsystem
CONFIG_POWERCAP=y
@@ -9272,7 +9321,7 @@ CONFIG_MCB_LPC=m
# end of Performance monitor support
CONFIG_RAS=y
-CONFIG_THUNDERBOLT=m
+CONFIG_USB4=m
#
# Android
@@ -9285,6 +9334,7 @@ CONFIG_DAX=y
CONFIG_DEV_DAX=m
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
+CONFIG_NVMEM_SPMI_SDAM=m
CONFIG_RAVE_SP_EEPROM=m
#
@@ -9335,6 +9385,13 @@ CONFIG_FSI_MASTER_HUB=m
CONFIG_FSI_SCOM=m
CONFIG_FSI_SBEFIFO=m
CONFIG_FSI_OCC=m
+CONFIG_TEE=m
+
+#
+# TEE drivers
+#
+# end of TEE drivers
+
CONFIG_MULTIPLEXER=m
#
@@ -9415,6 +9472,8 @@ CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_CHECK_FS=y
# CONFIG_F2FS_IO_TRACE is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
+# CONFIG_F2FS_FS_COMPRESSION is not set
+CONFIG_ZONEFS_FS=m
CONFIG_FS_DAX=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
@@ -9422,6 +9481,7 @@ CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
# CONFIG_MANDATORY_FILE_LOCKING is not set
CONFIG_FS_ENCRYPTION=y
+CONFIG_FS_ENCRYPTION_ALGS=m
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
@@ -9446,7 +9506,6 @@ CONFIG_OVERLAY_FS_REDIRECT_DIR=y
# CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set
CONFIG_OVERLAY_FS_INDEX=y
# CONFIG_OVERLAY_FS_NFS_EXPORT is not set
-CONFIG_OVERLAY_FS_XINO_AUTO=y
# CONFIG_OVERLAY_FS_METACOPY is not set
#
@@ -9496,6 +9555,7 @@ CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
+CONFIG_PROC_CPU_RESCTRL=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
@@ -9594,6 +9654,7 @@ CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
+CONFIG_VBOXSF_FS=m
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=m
CONFIG_NFS_V2=m
@@ -9613,6 +9674,7 @@ CONFIG_NFS_FSCACHE=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DEBUG=y
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
@@ -9622,6 +9684,7 @@ CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
# CONFIG_NFSD_FLEXFILELAYOUT is not set
+# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_GRACE_PERIOD=m
CONFIG_LOCKD=m
@@ -9950,15 +10013,17 @@ CONFIG_CRYPTO_HASH_INFO=y
#
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=m
-# CONFIG_CRYPTO_LIB_BLAKE2S is not set
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
+CONFIG_CRYPTO_LIB_BLAKE2S=m
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-# CONFIG_CRYPTO_LIB_CHACHA is not set
-# CONFIG_CRYPTO_LIB_CURVE25519 is not set
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
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_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
@@ -10123,6 +10188,7 @@ CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_32=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
@@ -10205,6 +10271,8 @@ CONFIG_DEBUG_MISC=y
# CONFIG_PAGE_POISONING is not set
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_GENERIC_PTDUMP=y
+# CONFIG_PTDUMP_DEBUGFS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_SLUB_STATS is not set
@@ -10327,19 +10395,25 @@ CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
+# CONFIG_BOOTTIME_TRACING is not set
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
+CONFIG_DYNAMIC_FTRACE=y
+CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
+CONFIG_FUNCTION_PROFILER=y
+CONFIG_STACK_TRACER=y
# CONFIG_PREEMPTIRQ_EVENTS is not set
# CONFIG_IRQSOFF_TRACER is not set
# CONFIG_PREEMPT_TRACER is not set
CONFIG_SCHED_TRACER=y
CONFIG_HWLAT_TRACER=y
+CONFIG_MMIOTRACE=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
-CONFIG_STACK_TRACER=y
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
@@ -10347,23 +10421,20 @@ CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
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
-# CONFIG_FTRACE_STARTUP_TEST is not set
-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
+# CONFIG_TRACE_EVAL_MAP_FILE is not set
+# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_MMIOTRACE_TEST is not set
CONFIG_PREEMPTIRQ_DELAY_TEST=m
-# CONFIG_TRACE_EVAL_MAP_FILE is not set
+CONFIG_SYNTH_EVENT_GEN_TEST=m
+CONFIG_KPROBE_EVENT_GEN_TEST=m
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_SAMPLES is not set
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
@@ -10378,7 +10449,6 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
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
diff --git a/libre/linux-libre-pae/sphinx-workaround.patch b/libre/linux-libre-pae/sphinx-workaround.patch
new file mode 100644
index 000000000..1aa3f1c8f
--- /dev/null
+++ b/libre/linux-libre-pae/sphinx-workaround.patch
@@ -0,0 +1,13 @@
+diff --git i/Documentation/conf.py w/Documentation/conf.py
+index 3c7bdf4cd31f..9a0ced58a3e9 100644
+--- i/Documentation/conf.py
++++ w/Documentation/conf.py
+@@ -36,7 +36,7 @@ needs_sphinx = '1.3'
+ # Add any Sphinx extension module names here, as strings. They can be
+ # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+ # ones.
+-extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include', 'cdomain',
++extensions = ['kerneldoc', 'rstFlatTable', 'kernel_include',
+ 'kfigure', 'sphinx.ext.ifconfig', 'automarkup',
+ 'maintainers_include']
+