summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre/linux-libre-pae/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch26
-rw-r--r--libre/linux-libre-pae/0002-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_sp.patch36
-rw-r--r--libre/linux-libre-pae/0002-Revert-drm-amd-display-reuse-current-context-instead.patch181
-rw-r--r--libre/linux-libre-pae/0003-drm-amdgpu-fix-shutdown-with-s0ix.patch77
-rw-r--r--libre/linux-libre-pae/0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch34
-rw-r--r--libre/linux-libre-pae/0004-btrfs-fix-deadlock-when-cloning-inline-extent-and-lo.patch325
-rw-r--r--libre/linux-libre-pae/0005-btrfs-shrink-delalloc-pages-instead-of-full-inodes.patch184
-rw-r--r--libre/linux-libre-pae/PKGBUILD25
-rw-r--r--libre/linux-libre-pae/config167
9 files changed, 406 insertions, 649 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 52ac4fc19..5bc4093d6 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 2c517031bd7c5d34a05980c656ce2b6c6fbf1f78 Mon Sep 17 00:00:00 2001
+From 2aef6c5fe88b92e9f611ec0b04ab8e023e943cd8 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 1/5] ZEN: Add sysctl and CONFIG to disallow unprivileged
+Subject: [PATCH 1/3] ZEN: Add sysctl and CONFIG to disallow unprivileged
CLONE_NEWUSER
Our default behavior continues to match the vanilla kernel.
@@ -14,10 +14,10 @@ Our default behavior continues to match the vanilla kernel.
5 files changed, 53 insertions(+)
diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h
-index 6ef1c7109fc4..2140091b0b8d 100644
+index 64cf8ebdc4ec..bd29529ac188 100644
--- a/include/linux/user_namespace.h
+++ b/include/linux/user_namespace.h
-@@ -106,6 +106,8 @@ void dec_ucount(struct ucounts *ucounts, enum ucount_type type);
+@@ -105,6 +105,8 @@ void dec_ucount(struct ucounts *ucounts, enum ucount_type type);
#ifdef CONFIG_USER_NS
@@ -26,7 +26,7 @@ index 6ef1c7109fc4..2140091b0b8d 100644
static inline struct user_namespace *get_user_ns(struct user_namespace *ns)
{
if (ns)
-@@ -139,6 +141,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
+@@ -138,6 +140,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns);
struct ns_common *ns_get_owner(struct ns_common *ns);
#else
@@ -36,10 +36,10 @@ index 6ef1c7109fc4..2140091b0b8d 100644
{
return &init_user_ns;
diff --git a/init/Kconfig b/init/Kconfig
-index 0872a5a2e759..a40d8afeb1bb 100644
+index 29ad68325028..96b79cfb2845 100644
--- a/init/Kconfig
+++ b/init/Kconfig
-@@ -1173,6 +1173,22 @@ config USER_NS
+@@ -1172,6 +1172,22 @@ config USER_NS
If unsure, say N.
@@ -63,7 +63,7 @@ index 0872a5a2e759..a40d8afeb1bb 100644
bool "PID Namespaces"
default y
diff --git a/kernel/fork.c b/kernel/fork.c
-index c675fdbd3dce..9266039e28e4 100644
+index d66cd1014211..231a94ffd302 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -97,6 +97,10 @@
@@ -77,7 +77,7 @@ index c675fdbd3dce..9266039e28e4 100644
#include <asm/pgalloc.h>
#include <linux/uaccess.h>
#include <asm/mmu_context.h>
-@@ -1863,6 +1867,10 @@ static __latent_entropy struct task_struct *copy_process(
+@@ -1864,6 +1868,10 @@ static __latent_entropy struct task_struct *copy_process(
if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS))
return ERR_PTR(-EINVAL);
@@ -88,7 +88,7 @@ index c675fdbd3dce..9266039e28e4 100644
/*
* Thread groups must share signals as well, and detached threads
* can only be started up within the thread group.
-@@ -2928,6 +2936,12 @@ int ksys_unshare(unsigned long unshare_flags)
+@@ -2933,6 +2941,12 @@ int ksys_unshare(unsigned long unshare_flags)
if (unshare_flags & CLONE_NEWNS)
unshare_flags |= CLONE_FS;
@@ -102,7 +102,7 @@ index c675fdbd3dce..9266039e28e4 100644
if (err)
goto bad_unshare_out;
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
-index afad085960b8..a94828fb31c2 100644
+index c9fbdd848138..1fbf5d551fa0 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -103,6 +103,9 @@
@@ -132,7 +132,7 @@ index afad085960b8..a94828fb31c2 100644
{
.procname = "tainted",
diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c
-index e703d5d9cbe8..5758274feaee 100644
+index af612945a4d0..95c54dae4aa1 100644
--- a/kernel/user_namespace.c
+++ b/kernel/user_namespace.c
@@ -21,6 +21,13 @@
@@ -150,5 +150,5 @@ index e703d5d9cbe8..5758274feaee 100644
static DEFINE_MUTEX(userns_state_mutex);
--
-2.30.0
+2.30.1
diff --git a/libre/linux-libre-pae/0002-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_sp.patch b/libre/linux-libre-pae/0002-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_sp.patch
deleted file mode 100644
index e4a5dd4bc..000000000
--- a/libre/linux-libre-pae/0002-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_sp.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From eeab2ccf0d788a6895b3b9a21c505d78ceec43e0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Felix=20H=C3=A4dicke?= <felixhaedicke@web.de>
-Date: Thu, 19 Nov 2020 09:22:32 +0100
-Subject: [PATCH 2/5] HID: quirks: Add Apple Magic Trackpad 2 to
- hid_have_special_driver list
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The Apple Magic Trackpad 2 is handled by the magicmouse driver. And
-there were severe stability issues when both drivers (hid-generic and
-hid-magicmouse) were loaded for this device.
-
-Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=210241
-
-Signed-off-by: Felix Hädicke <felixhaedicke@web.de>
----
- drivers/hid/hid-quirks.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c
-index bf7ecab5d9e5..142e9dae2837 100644
---- a/drivers/hid/hid-quirks.c
-+++ b/drivers/hid/hid-quirks.c
-@@ -478,6 +478,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
- #if IS_ENABLED(CONFIG_HID_MAGICMOUSE)
- { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICMOUSE) },
- { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICTRACKPAD) },
-+ { HID_BLUETOOTH_DEVICE(BT_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICTRACKPAD2) },
-+ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGICTRACKPAD2) },
- #endif
- #if IS_ENABLED(CONFIG_HID_MAYFLASH)
- { HID_USB_DEVICE(USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3) },
---
-2.30.0
-
diff --git a/libre/linux-libre-pae/0002-Revert-drm-amd-display-reuse-current-context-instead.patch b/libre/linux-libre-pae/0002-Revert-drm-amd-display-reuse-current-context-instead.patch
new file mode 100644
index 000000000..a1a37986a
--- /dev/null
+++ b/libre/linux-libre-pae/0002-Revert-drm-amd-display-reuse-current-context-instead.patch
@@ -0,0 +1,181 @@
+From 66128e7bf7011076ebe47fa5d4b18faad8244c5d Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Tue, 9 Feb 2021 17:21:58 -0500
+Subject: [PATCH 2/3] Revert "drm/amd/display: reuse current context instead of
+ recreating one"
+
+This reverts commit 8866a67ab86cc0812e65c04f1ef02bcc41e24d68.
+
+This breaks hotplug of HDMI on some systems, resulting in
+a blank screen also causes failures for displays to light up
+on other systems.
+
+Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1487
+Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1492
+Bug: https://bugzilla.kernel.org/show_bug.cgi?id=211649
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 23 +++++++++-------
+ drivers/gpu/drm/amd/display/dc/core/dc.c | 27 ++++++-------------
+ drivers/gpu/drm/amd/display/dc/dc_stream.h | 3 ++-
+ 3 files changed, 23 insertions(+), 30 deletions(-)
+
+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 961abf1cf040..e438baa1adc1 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -1934,7 +1934,7 @@ static void dm_gpureset_commit_state(struct dc_state *dc_state,
+ dc_commit_updates_for_stream(
+ dm->dc, bundle->surface_updates,
+ dc_state->stream_status->plane_count,
+- dc_state->streams[k], &bundle->stream_update);
++ dc_state->streams[k], &bundle->stream_update, dc_state);
+ }
+
+ cleanup:
+@@ -1965,7 +1965,8 @@ static void dm_set_dpms_off(struct dc_link *link)
+
+ stream_update.stream = stream_state;
+ dc_commit_updates_for_stream(stream_state->ctx->dc, NULL, 0,
+- stream_state, &stream_update);
++ stream_state, &stream_update,
++ stream_state->ctx->dc->current_state);
+ mutex_unlock(&adev->dm.dc_lock);
+ }
+
+@@ -7548,7 +7549,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
+ struct drm_crtc *pcrtc,
+ bool wait_for_vblank)
+ {
+- int i;
++ uint32_t i;
+ uint64_t timestamp_ns;
+ struct drm_plane *plane;
+ struct drm_plane_state *old_plane_state, *new_plane_state;
+@@ -7589,7 +7590,7 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
+ amdgpu_dm_commit_cursors(state);
+
+ /* update planes when needed */
+- for_each_oldnew_plane_in_state_reverse(state, plane, old_plane_state, new_plane_state, i) {
++ for_each_oldnew_plane_in_state(state, plane, old_plane_state, new_plane_state, i) {
+ struct drm_crtc *crtc = new_plane_state->crtc;
+ struct drm_crtc_state *new_crtc_state;
+ struct drm_framebuffer *fb = new_plane_state->fb;
+@@ -7812,7 +7813,8 @@ static void amdgpu_dm_commit_planes(struct drm_atomic_state *state,
+ bundle->surface_updates,
+ planes_count,
+ acrtc_state->stream,
+- &bundle->stream_update);
++ &bundle->stream_update,
++ dc_state);
+
+ /**
+ * Enable or disable the interrupts on the backend.
+@@ -8148,13 +8150,13 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
+ struct dm_connector_state *dm_new_con_state = to_dm_connector_state(new_con_state);
+ struct dm_connector_state *dm_old_con_state = to_dm_connector_state(old_con_state);
+ struct amdgpu_crtc *acrtc = to_amdgpu_crtc(dm_new_con_state->base.crtc);
+- struct dc_surface_update surface_updates[MAX_SURFACES];
++ struct dc_surface_update dummy_updates[MAX_SURFACES];
+ struct dc_stream_update stream_update;
+ struct dc_info_packet hdr_packet;
+ struct dc_stream_status *status = NULL;
+ bool abm_changed, hdr_changed, scaling_changed;
+
+- memset(&surface_updates, 0, sizeof(surface_updates));
++ memset(&dummy_updates, 0, sizeof(dummy_updates));
+ memset(&stream_update, 0, sizeof(stream_update));
+
+ if (acrtc) {
+@@ -8211,15 +8213,16 @@ static void amdgpu_dm_atomic_commit_tail(struct drm_atomic_state *state)
+ * To fix this, DC should permit updating only stream properties.
+ */
+ for (j = 0; j < status->plane_count; j++)
+- surface_updates[j].surface = status->plane_states[j];
++ dummy_updates[j].surface = status->plane_states[0];
+
+
+ mutex_lock(&dm->dc_lock);
+ dc_commit_updates_for_stream(dm->dc,
+- surface_updates,
++ dummy_updates,
+ status->plane_count,
+ dm_new_crtc_state->stream,
+- &stream_update);
++ &stream_update,
++ dc_state);
+ mutex_unlock(&dm->dc_lock);
+ }
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
+index 6cf1a5a2a5ec..58eb0d69873a 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
+@@ -2679,7 +2679,8 @@ void dc_commit_updates_for_stream(struct dc *dc,
+ struct dc_surface_update *srf_updates,
+ int surface_count,
+ struct dc_stream_state *stream,
+- struct dc_stream_update *stream_update)
++ struct dc_stream_update *stream_update,
++ struct dc_state *state)
+ {
+ const struct dc_stream_status *stream_status;
+ enum surface_update_type update_type;
+@@ -2698,12 +2699,6 @@ void dc_commit_updates_for_stream(struct dc *dc,
+
+
+ if (update_type >= UPDATE_TYPE_FULL) {
+- struct dc_plane_state *new_planes[MAX_SURFACES];
+-
+- memset(new_planes, 0, sizeof(new_planes));
+-
+- for (i = 0; i < surface_count; i++)
+- new_planes[i] = srf_updates[i].surface;
+
+ /* initialize scratch memory for building context */
+ context = dc_create_state(dc);
+@@ -2712,21 +2707,15 @@ void dc_commit_updates_for_stream(struct dc *dc,
+ return;
+ }
+
+- dc_resource_state_copy_construct(
+- dc->current_state, context);
++ dc_resource_state_copy_construct(state, context);
+
+- /*remove old surfaces from context */
+- if (!dc_rem_all_planes_for_stream(dc, stream, context)) {
+- DC_ERROR("Failed to remove streams for new validate context!\n");
+- return;
+- }
++ for (i = 0; i < dc->res_pool->pipe_count; i++) {
++ struct pipe_ctx *new_pipe = &context->res_ctx.pipe_ctx[i];
++ struct pipe_ctx *old_pipe = &dc->current_state->res_ctx.pipe_ctx[i];
+
+- /* add surface to context */
+- if (!dc_add_all_planes_for_stream(dc, stream, new_planes, surface_count, context)) {
+- DC_ERROR("Failed to add streams for new validate context!\n");
+- return;
++ if (new_pipe->plane_state && new_pipe->plane_state != old_pipe->plane_state)
++ new_pipe->plane_state->force_full_update = true;
+ }
+-
+ }
+
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dc_stream.h b/drivers/gpu/drm/amd/display/dc/dc_stream.h
+index e243c01b9672..b7910976b81a 100644
+--- a/drivers/gpu/drm/amd/display/dc/dc_stream.h
++++ b/drivers/gpu/drm/amd/display/dc/dc_stream.h
+@@ -283,7 +283,8 @@ void dc_commit_updates_for_stream(struct dc *dc,
+ struct dc_surface_update *srf_updates,
+ int surface_count,
+ struct dc_stream_state *stream,
+- struct dc_stream_update *stream_update);
++ struct dc_stream_update *stream_update,
++ struct dc_state *state);
+ /*
+ * Log the current stream state.
+ */
+--
+2.30.1
+
diff --git a/libre/linux-libre-pae/0003-drm-amdgpu-fix-shutdown-with-s0ix.patch b/libre/linux-libre-pae/0003-drm-amdgpu-fix-shutdown-with-s0ix.patch
new file mode 100644
index 000000000..ce37719ff
--- /dev/null
+++ b/libre/linux-libre-pae/0003-drm-amdgpu-fix-shutdown-with-s0ix.patch
@@ -0,0 +1,77 @@
+From 04ec031772dd6faf64506c739ce7073b0f91310b Mon Sep 17 00:00:00 2001
+From: Alex Deucher <alexander.deucher@amd.com>
+Date: Thu, 18 Feb 2021 12:05:53 -0500
+Subject: [PATCH 3/3] drm/amdgpu: fix shutdown with s0ix
+
+For shutdown needs to be handled differently and s0ix. Add
+a new flag to shutdown and use it to adjust behavior appropriately.
+
+Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1499
+Fixes: 628c36d7b238e2 ("drm/amdgpu: update amdgpu device suspend/resume sequence for s0i3 support")
+Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
+Cc: Prike Liang <Prike.Liang@amd.com>
+---
+ drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 +
+ drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 ++++--
+ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 2 ++
+ 3 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+index 5993dd0fdd8e..4ae244048d53 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
+@@ -1002,6 +1002,7 @@ struct amdgpu_device {
+ /* s3/s4 mask */
+ bool in_suspend;
+ bool in_hibernate;
++ bool in_shutdown;
+
+ atomic_t in_gpu_reset;
+ enum pp_mp1_state mp1_state;
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+index cab1ebaf6d62..d07ff05ad042 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+@@ -2666,7 +2666,8 @@ static int amdgpu_device_ip_suspend_phase1(struct amdgpu_device *adev)
+ {
+ int i, r;
+
+- if (!amdgpu_acpi_is_s0ix_supported(adev) || amdgpu_in_reset(adev)) {
++ if (adev->in_shutdown ||
++ !amdgpu_acpi_is_s0ix_supported(adev) || amdgpu_in_reset(adev)) {
+ amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE);
+ amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE);
+ }
+@@ -3726,7 +3727,8 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
+
+ amdgpu_fence_driver_suspend(adev);
+
+- if (!amdgpu_acpi_is_s0ix_supported(adev) || amdgpu_in_reset(adev))
++ if (adev->in_shutdown ||
++ !amdgpu_acpi_is_s0ix_supported(adev) || amdgpu_in_reset(adev))
+ r = amdgpu_device_ip_suspend_phase2(adev);
+ else
+ amdgpu_gfx_state_change_set(adev, sGpuChangeState_D3Entry);
+diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+index 7169fb5e3d9c..2aacb96cf320 100644
+--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+@@ -1259,6 +1259,7 @@ amdgpu_pci_shutdown(struct pci_dev *pdev)
+ if (amdgpu_ras_intr_triggered())
+ return;
+
++ adev->in_shutdown = true;
+ /* if we are running in a VM, make sure the device
+ * torn down properly on reboot/shutdown.
+ * unfortunately we can't detect certain
+@@ -1268,6 +1269,7 @@ amdgpu_pci_shutdown(struct pci_dev *pdev)
+ adev->mp1_state = PP_MP1_STATE_UNLOAD;
+ amdgpu_device_ip_suspend(adev);
+ adev->mp1_state = PP_MP1_STATE_NONE;
++ adev->in_shutdown = false;
+ }
+
+ static int amdgpu_pmops_suspend(struct device *dev)
+--
+2.30.1
+
diff --git a/libre/linux-libre-pae/0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch b/libre/linux-libre-pae/0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch
deleted file mode 100644
index 905f9c148..000000000
--- a/libre/linux-libre-pae/0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 631f3ba6f0debde7efcadc90fb9abef10a271148 Mon Sep 17 00:00:00 2001
-From: Eric Dumazet <edumazet@google.com>
-Date: Mon, 21 Dec 2020 20:14:02 +0100
-Subject: [PATCH 3/5] iwlwifi: Fix regression from UDP segmentation support
-
-Eric's tentative fix from
-https://lore.kernel.org/linux-wireless/CANn89iJWG2n1s3j7EdpwkQQv-9dOY02V+FGYHAWguO4JiqWuJA@mail.gmail.com/
----
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index fe1c538cd718..c27743a58f81 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -833,6 +833,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
-
- next = skb_gso_segment(skb, netdev_flags);
- skb_shinfo(skb)->gso_size = mss;
-+ skb_shinfo(skb)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
- if (WARN_ON_ONCE(IS_ERR(next)))
- return -EINVAL;
- else if (next)
-@@ -855,6 +856,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
-
- if (tcp_payload_len > mss) {
- skb_shinfo(tmp)->gso_size = mss;
-+ skb_shinfo(tmp)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
- } else {
- if (qos) {
- u8 *qc;
---
-2.30.0
-
diff --git a/libre/linux-libre-pae/0004-btrfs-fix-deadlock-when-cloning-inline-extent-and-lo.patch b/libre/linux-libre-pae/0004-btrfs-fix-deadlock-when-cloning-inline-extent-and-lo.patch
deleted file mode 100644
index 8a95dde40..000000000
--- a/libre/linux-libre-pae/0004-btrfs-fix-deadlock-when-cloning-inline-extent-and-lo.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-From e763d7a19f256a8861ee2c1eedaaf42f603488d2 Mon Sep 17 00:00:00 2001
-From: Filipe Manana <fdmanana@suse.com>
-Date: Wed, 2 Dec 2020 11:55:58 +0000
-Subject: [PATCH 4/5] btrfs: fix deadlock when cloning inline extent and low on
- free metadata space
-
-When cloning an inline extent there are cases where we can not just copy
-the inline extent from the source range to the target range (e.g. when the
-target range starts at an offset greater than zero). In such cases we copy
-the inline extent's data into a page of the destination inode and then
-dirty that page. However, after that we will need to start a transaction
-for each processed extent and, if we are ever low on available metadata
-space, we may need to flush existing delalloc for all dirty inodes in an
-attempt to release metadata space - if that happens we may deadlock:
-
-* the async reclaim task queued a delalloc work to flush delalloc for
- the destination inode of the clone operation;
-
-* the task executing that delalloc work gets blocked waiting for the
- range with the dirty page to be unlocked, which is currently locked
- by the task doing the clone operation;
-
-* the async reclaim task blocks waiting for the delalloc work to complete;
-
-* the cloning task is waiting on the waitqueue of its reservation ticket
- while holding the range with the dirty page locked in the inode's
- io_tree;
-
-* if metadata space is not released by some other task (like delalloc for
- some other inode completing for example), the clone task waits forever
- and as a consequence the delalloc work and async reclaim tasks will hang
- forever as well. Releasing more space on the other hand may require
- starting a transaction, which will hang as well when trying to reserve
- metadata space, resulting in a deadlock between all these tasks.
-
-When this happens, traces like the following show up in dmesg/syslog:
-
- [87452.323003] INFO: task kworker/u16:11:1810830 blocked for more than 120 seconds.
- [87452.323644] Tainted: G B W 5.10.0-rc4-btrfs-next-73 #1
- [87452.324248] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
- [87452.324852] task:kworker/u16:11 state:D stack: 0 pid:1810830 ppid: 2 flags:0x00004000
- [87452.325520] Workqueue: btrfs-flush_delalloc btrfs_work_helper [btrfs]
- [87452.326136] Call Trace:
- [87452.326737] __schedule+0x5d1/0xcf0
- [87452.327390] schedule+0x45/0xe0
- [87452.328174] lock_extent_bits+0x1e6/0x2d0 [btrfs]
- [87452.328894] ? finish_wait+0x90/0x90
- [87452.329474] btrfs_invalidatepage+0x32c/0x390 [btrfs]
- [87452.330133] ? __mod_memcg_state+0x8e/0x160
- [87452.330738] __extent_writepage+0x2d4/0x400 [btrfs]
- [87452.331405] extent_write_cache_pages+0x2b2/0x500 [btrfs]
- [87452.332007] ? lock_release+0x20e/0x4c0
- [87452.332557] ? trace_hardirqs_on+0x1b/0xf0
- [87452.333127] extent_writepages+0x43/0x90 [btrfs]
- [87452.333653] ? lock_acquire+0x1a3/0x490
- [87452.334177] do_writepages+0x43/0xe0
- [87452.334699] ? __filemap_fdatawrite_range+0xa4/0x100
- [87452.335720] __filemap_fdatawrite_range+0xc5/0x100
- [87452.336500] btrfs_run_delalloc_work+0x17/0x40 [btrfs]
- [87452.337216] btrfs_work_helper+0xf1/0x600 [btrfs]
- [87452.337838] process_one_work+0x24e/0x5e0
- [87452.338437] worker_thread+0x50/0x3b0
- [87452.339137] ? process_one_work+0x5e0/0x5e0
- [87452.339884] kthread+0x153/0x170
- [87452.340507] ? kthread_mod_delayed_work+0xc0/0xc0
- [87452.341153] ret_from_fork+0x22/0x30
- [87452.341806] INFO: task kworker/u16:1:2426217 blocked for more than 120 seconds.
- [87452.342487] Tainted: G B W 5.10.0-rc4-btrfs-next-73 #1
- [87452.343274] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
- [87452.344049] task:kworker/u16:1 state:D stack: 0 pid:2426217 ppid: 2 flags:0x00004000
- [87452.344974] Workqueue: events_unbound btrfs_async_reclaim_metadata_space [btrfs]
- [87452.345655] Call Trace:
- [87452.346305] __schedule+0x5d1/0xcf0
- [87452.346947] ? kvm_clock_read+0x14/0x30
- [87452.347676] ? wait_for_completion+0x81/0x110
- [87452.348389] schedule+0x45/0xe0
- [87452.349077] schedule_timeout+0x30c/0x580
- [87452.349718] ? _raw_spin_unlock_irqrestore+0x3c/0x60
- [87452.350340] ? lock_acquire+0x1a3/0x490
- [87452.351006] ? try_to_wake_up+0x7a/0xa20
- [87452.351541] ? lock_release+0x20e/0x4c0
- [87452.352040] ? lock_acquired+0x199/0x490
- [87452.352517] ? wait_for_completion+0x81/0x110
- [87452.353000] wait_for_completion+0xab/0x110
- [87452.353490] start_delalloc_inodes+0x2af/0x390 [btrfs]
- [87452.353973] btrfs_start_delalloc_roots+0x12d/0x250 [btrfs]
- [87452.354455] flush_space+0x24f/0x660 [btrfs]
- [87452.355063] btrfs_async_reclaim_metadata_space+0x1bb/0x480 [btrfs]
- [87452.355565] process_one_work+0x24e/0x5e0
- [87452.356024] worker_thread+0x20f/0x3b0
- [87452.356487] ? process_one_work+0x5e0/0x5e0
- [87452.356973] kthread+0x153/0x170
- [87452.357434] ? kthread_mod_delayed_work+0xc0/0xc0
- [87452.357880] ret_from_fork+0x22/0x30
- (...)
- < stack traces of several tasks waiting for the locks of the inodes of the
- clone operation >
- (...)
- [92867.444138] RSP: 002b:00007ffc3371bbe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000052
- [92867.444624] RAX: ffffffffffffffda RBX: 00007ffc3371bea0 RCX: 00007f61efe73f97
- [92867.445116] RDX: 0000000000000000 RSI: 0000560fbd5d7a40 RDI: 0000560fbd5d8960
- [92867.445595] RBP: 00007ffc3371beb0 R08: 0000000000000001 R09: 0000000000000003
- [92867.446070] R10: 00007ffc3371b996 R11: 0000000000000246 R12: 0000000000000000
- [92867.446820] R13: 000000000000001f R14: 00007ffc3371bea0 R15: 00007ffc3371beb0
- [92867.447361] task:fsstress state:D stack: 0 pid:2508238 ppid:2508153 flags:0x00004000
- [92867.447920] Call Trace:
- [92867.448435] __schedule+0x5d1/0xcf0
- [92867.448934] ? _raw_spin_unlock_irqrestore+0x3c/0x60
- [92867.449423] schedule+0x45/0xe0
- [92867.449916] __reserve_bytes+0x4a4/0xb10 [btrfs]
- [92867.450576] ? finish_wait+0x90/0x90
- [92867.451202] btrfs_reserve_metadata_bytes+0x29/0x190 [btrfs]
- [92867.451815] btrfs_block_rsv_add+0x1f/0x50 [btrfs]
- [92867.452412] start_transaction+0x2d1/0x760 [btrfs]
- [92867.453216] clone_copy_inline_extent+0x333/0x490 [btrfs]
- [92867.453848] ? lock_release+0x20e/0x4c0
- [92867.454539] ? btrfs_search_slot+0x9a7/0xc30 [btrfs]
- [92867.455218] btrfs_clone+0x569/0x7e0 [btrfs]
- [92867.455952] btrfs_clone_files+0xf6/0x150 [btrfs]
- [92867.456588] btrfs_remap_file_range+0x324/0x3d0 [btrfs]
- [92867.457213] do_clone_file_range+0xd4/0x1f0
- [92867.457828] vfs_clone_file_range+0x4d/0x230
- [92867.458355] ? lock_release+0x20e/0x4c0
- [92867.458890] ioctl_file_clone+0x8f/0xc0
- [92867.459377] do_vfs_ioctl+0x342/0x750
- [92867.459913] __x64_sys_ioctl+0x62/0xb0
- [92867.460377] do_syscall_64+0x33/0x80
- [92867.460842] entry_SYSCALL_64_after_hwframe+0x44/0xa9
- (...)
- < stack traces of more tasks blocked on metadata reservation like the clone
- task above, because the async reclaim task has deadlocked >
- (...)
-
-Another thing to notice is that the worker task that is deadlocked when
-trying to flush the destination inode of the clone operation is at
-btrfs_invalidatepage(). This is simply because the clone operation has a
-destination offset greater than the i_size and we only update the i_size
-of the destination file after cloning an extent (just like we do in the
-buffered write path).
-
-Since the async reclaim path uses btrfs_start_delalloc_roots() to trigger
-the flushing of delalloc for all inodes that have delalloc, add a runtime
-flag to an inode to signal it should not be flushed, and for inodes with
-that flag set, start_delalloc_inodes() will simply skip them. When the
-cloning code needs to dirty a page to copy an inline extent, set that flag
-on the inode and then clear it when the clone operation finishes.
-
-This could be sporadically triggered with test case generic/269 from
-fstests, which exercises many fsstress processes running in parallel with
-several dd processes filling up the entire filesystem.
-
-CC: stable@vger.kernel.org # 5.9+
-Fixes: 05a5a7621ce6 ("Btrfs: implement full reflink support for inline extents")
-Reviewed-by: Josef Bacik <josef@toxicpanda.com>
-Signed-off-by: Filipe Manana <fdmanana@suse.com>
-Reviewed-by: David Sterba <dsterba@suse.com>
-Signed-off-by: David Sterba <dsterba@suse.com>
----
- fs/btrfs/btrfs_inode.h | 9 +++++++++
- fs/btrfs/ctree.h | 3 ++-
- fs/btrfs/dev-replace.c | 2 +-
- fs/btrfs/inode.c | 15 +++++++++++----
- fs/btrfs/ioctl.c | 2 +-
- fs/btrfs/reflink.c | 15 +++++++++++++++
- fs/btrfs/space-info.c | 2 +-
- 7 files changed, 40 insertions(+), 8 deletions(-)
-
-diff --git a/fs/btrfs/btrfs_inode.h b/fs/btrfs/btrfs_inode.h
-index 92dd86bceae3..7e86ab4841dd 100644
---- a/fs/btrfs/btrfs_inode.h
-+++ b/fs/btrfs/btrfs_inode.h
-@@ -35,6 +35,15 @@ enum {
- BTRFS_INODE_IN_DELALLOC_LIST,
- BTRFS_INODE_HAS_PROPS,
- BTRFS_INODE_SNAPSHOT_FLUSH,
-+ /*
-+ * Set when we are in a context where we need to start a transaction and
-+ * have dirty pages with the respective file range locked. This is to
-+ * ensure that when reserving space for the transaction, if we are low
-+ * on available space and need to flush delalloc, we will not flush
-+ * delalloc for this inode, because that could result in a deadlock (on
-+ * the file range, inode's io_tree).
-+ */
-+ BTRFS_INODE_NO_DELALLOC_FLUSH,
- };
-
- /* in memory btrfs inode */
-diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
-index 62461239600f..e01545538e07 100644
---- a/fs/btrfs/ctree.h
-+++ b/fs/btrfs/ctree.h
-@@ -3001,7 +3001,8 @@ int btrfs_truncate_inode_items(struct btrfs_trans_handle *trans,
- u32 min_type);
-
- int btrfs_start_delalloc_snapshot(struct btrfs_root *root);
--int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, u64 nr);
-+int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, u64 nr,
-+ bool in_reclaim_context);
- int btrfs_set_extent_delalloc(struct btrfs_inode *inode, u64 start, u64 end,
- unsigned int extra_bits,
- struct extent_state **cached_state);
-diff --git a/fs/btrfs/dev-replace.c b/fs/btrfs/dev-replace.c
-index 10638537b9ef..d29780463182 100644
---- a/fs/btrfs/dev-replace.c
-+++ b/fs/btrfs/dev-replace.c
-@@ -703,7 +703,7 @@ static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info,
- * flush all outstanding I/O and inode extent mappings before the
- * copy operation is declared as being finished
- */
-- ret = btrfs_start_delalloc_roots(fs_info, U64_MAX);
-+ ret = btrfs_start_delalloc_roots(fs_info, U64_MAX, false);
- if (ret) {
- mutex_unlock(&dev_replace->lock_finishing_cancel_unmount);
- return ret;
-diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
-index 7e8d8169779d..07479250221d 100644
---- a/fs/btrfs/inode.c
-+++ b/fs/btrfs/inode.c
-@@ -9389,7 +9389,8 @@ static struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode
- * some fairly slow code that needs optimization. This walks the list
- * of all the inodes with pending delalloc and forces them to disk.
- */
--static int start_delalloc_inodes(struct btrfs_root *root, u64 *nr, bool snapshot)
-+static int start_delalloc_inodes(struct btrfs_root *root, u64 *nr, bool snapshot,
-+ bool in_reclaim_context)
- {
- struct btrfs_inode *binode;
- struct inode *inode;
-@@ -9410,6 +9411,11 @@ static int start_delalloc_inodes(struct btrfs_root *root, u64 *nr, bool snapshot
-
- list_move_tail(&binode->delalloc_inodes,
- &root->delalloc_inodes);
-+
-+ if (in_reclaim_context &&
-+ test_bit(BTRFS_INODE_NO_DELALLOC_FLUSH, &binode->runtime_flags))
-+ continue;
-+
- inode = igrab(&binode->vfs_inode);
- if (!inode) {
- cond_resched_lock(&root->delalloc_lock);
-@@ -9463,10 +9469,11 @@ int btrfs_start_delalloc_snapshot(struct btrfs_root *root)
- if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state))
- return -EROFS;
-
-- return start_delalloc_inodes(root, &nr, true);
-+ return start_delalloc_inodes(root, &nr, true, false);
- }
-
--int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, u64 nr)
-+int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, u64 nr,
-+ bool in_reclaim_context)
- {
- struct btrfs_root *root;
- struct list_head splice;
-@@ -9489,7 +9496,7 @@ int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, u64 nr)
- &fs_info->delalloc_roots);
- spin_unlock(&fs_info->delalloc_root_lock);
-
-- ret = start_delalloc_inodes(root, &nr, false);
-+ ret = start_delalloc_inodes(root, &nr, false, in_reclaim_context);
- btrfs_put_root(root);
- if (ret < 0)
- goto out;
-diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
-index e8ca229a216b..bd46e107f955 100644
---- a/fs/btrfs/ioctl.c
-+++ b/fs/btrfs/ioctl.c
-@@ -4940,7 +4940,7 @@ long btrfs_ioctl(struct file *file, unsigned int
- case BTRFS_IOC_SYNC: {
- int ret;
-
-- ret = btrfs_start_delalloc_roots(fs_info, U64_MAX);
-+ ret = btrfs_start_delalloc_roots(fs_info, U64_MAX, false);
- if (ret)
- return ret;
- ret = btrfs_sync_fs(inode->i_sb, 1);
-diff --git a/fs/btrfs/reflink.c b/fs/btrfs/reflink.c
-index 99aa87c08912..a646af95dd10 100644
---- a/fs/btrfs/reflink.c
-+++ b/fs/btrfs/reflink.c
-@@ -89,6 +89,19 @@ static int copy_inline_to_page(struct btrfs_inode *inode,
- if (ret)
- goto out_unlock;
-
-+ /*
-+ * After dirtying the page our caller will need to start a transaction,
-+ * and if we are low on metadata free space, that can cause flushing of
-+ * delalloc for all inodes in order to get metadata space released.
-+ * However we are holding the range locked for the whole duration of
-+ * the clone/dedupe operation, so we may deadlock if that happens and no
-+ * other task releases enough space. So mark this inode as not being
-+ * possible to flush to avoid such deadlock. We will clear that flag
-+ * when we finish cloning all extents, since a transaction is started
-+ * after finding each extent to clone.
-+ */
-+ set_bit(BTRFS_INODE_NO_DELALLOC_FLUSH, &inode->runtime_flags);
-+
- if (comp_type == BTRFS_COMPRESS_NONE) {
- char *map;
-
-@@ -547,6 +560,8 @@ static int btrfs_clone(struct inode *src, struct inode *inode,
- out:
- btrfs_free_path(path);
- kvfree(buf);
-+ clear_bit(BTRFS_INODE_NO_DELALLOC_FLUSH, &BTRFS_I(inode)->runtime_flags);
-+
- return ret;
- }
-
-diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c
-index 64099565ab8f..67e55c5479b8 100644
---- a/fs/btrfs/space-info.c
-+++ b/fs/btrfs/space-info.c
-@@ -532,7 +532,7 @@ static void shrink_delalloc(struct btrfs_fs_info *fs_info,
-
- loops = 0;
- while ((delalloc_bytes || dio_bytes) && loops < 3) {
-- btrfs_start_delalloc_roots(fs_info, items);
-+ btrfs_start_delalloc_roots(fs_info, items, true);
-
- loops++;
- if (wait_ordered && !trans) {
---
-2.30.0
-
diff --git a/libre/linux-libre-pae/0005-btrfs-shrink-delalloc-pages-instead-of-full-inodes.patch b/libre/linux-libre-pae/0005-btrfs-shrink-delalloc-pages-instead-of-full-inodes.patch
deleted file mode 100644
index 8ab7d5e61..000000000
--- a/libre/linux-libre-pae/0005-btrfs-shrink-delalloc-pages-instead-of-full-inodes.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From 0397aa4e6205543d9b3da11794037e94f8735867 Mon Sep 17 00:00:00 2001
-From: Josef Bacik <josef@toxicpanda.com>
-Date: Mon, 4 Jan 2021 15:24:11 -0500
-Subject: [PATCH 5/5] btrfs: shrink delalloc pages instead of full inodes
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Commit 38d715f494f2 ("btrfs: use btrfs_start_delalloc_roots in
-shrink_delalloc") cleaned up how we do delalloc shrinking by utilizing
-some infrastructure we have in place to flush inodes that we use for
-device replace and snapshot. However this introduced a pretty serious
-performance regression. The root cause is because before we would
-generally use the normal writeback path to reclaim delalloc space, and
-for this we would provide it with the number of pages we wanted to
-flush. The referenced commit changed this to flush that many inodes,
-which drastically increased the amount of space we were flushing in
-certain cases, which severely affected performance.
-
-We cannot revert this patch unfortunately, because Filipe has another
-fix that requires the ability to skip flushing inodes that are being
-cloned in certain scenarios, which means we need to keep using our
-flushing infrastructure or risk re-introducing the deadlock.
-
-Instead to fix this problem we can go back to providing
-btrfs_start_delalloc_roots with a number of pages to flush, and then set
-up a writeback_control and utilize sync_inode() to handle the flushing
-for us. This gives us the same behavior we had prior to the fix, while
-still allowing us to avoid the deadlock that was fixed by Filipe. The
-user reported reproducer was a simple untarring of a large tarball of
-the source code for Firefox. The results are as follows
-
-5.9 0m54.258s
-5.10 1m26.212s
-Patch 0m38.800s
-
-We are significantly faster because of the work I did around improving
-ENOSPC flushing in 5.10 and 5.11, so reverting to the previous write out
-behavior gave us a pretty big boost.
-
-CC: stable@vger.kernel.org # 5.10
-Reported-by: René Rebe <rene@exactcode.de>
-Fixes: 38d715f494f2 ("btrfs: use btrfs_start_delalloc_roots in shrink_delalloc")
-Signed-off-by: Josef Bacik <josef@toxicpanda.com>
----
- fs/btrfs/inode.c | 60 +++++++++++++++++++++++++++++++------------
- fs/btrfs/space-info.c | 4 ++-
- 2 files changed, 46 insertions(+), 18 deletions(-)
-
-diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
-index 07479250221d..acc47e2ffb46 100644
---- a/fs/btrfs/inode.c
-+++ b/fs/btrfs/inode.c
-@@ -9389,7 +9389,8 @@ static struct btrfs_delalloc_work *btrfs_alloc_delalloc_work(struct inode *inode
- * some fairly slow code that needs optimization. This walks the list
- * of all the inodes with pending delalloc and forces them to disk.
- */
--static int start_delalloc_inodes(struct btrfs_root *root, u64 *nr, bool snapshot,
-+static int start_delalloc_inodes(struct btrfs_root *root,
-+ struct writeback_control *wbc, bool snapshot,
- bool in_reclaim_context)
- {
- struct btrfs_inode *binode;
-@@ -9398,6 +9399,7 @@ static int start_delalloc_inodes(struct btrfs_root *root, u64 *nr, bool snapshot
- struct list_head works;
- struct list_head splice;
- int ret = 0;
-+ bool full_flush = wbc->nr_to_write == LONG_MAX;
-
- INIT_LIST_HEAD(&works);
- INIT_LIST_HEAD(&splice);
-@@ -9426,18 +9428,24 @@ static int start_delalloc_inodes(struct btrfs_root *root, u64 *nr, bool snapshot
- if (snapshot)
- set_bit(BTRFS_INODE_SNAPSHOT_FLUSH,
- &binode->runtime_flags);
-- work = btrfs_alloc_delalloc_work(inode);
-- if (!work) {
-- iput(inode);
-- ret = -ENOMEM;
-- goto out;
-- }
-- list_add_tail(&work->list, &works);
-- btrfs_queue_work(root->fs_info->flush_workers,
-- &work->work);
-- if (*nr != U64_MAX) {
-- (*nr)--;
-- if (*nr == 0)
-+ if (full_flush) {
-+ work = btrfs_alloc_delalloc_work(inode);
-+ if (!work) {
-+ iput(inode);
-+ ret = -ENOMEM;
-+ goto out;
-+ }
-+ list_add_tail(&work->list, &works);
-+ btrfs_queue_work(root->fs_info->flush_workers,
-+ &work->work);
-+ } else {
-+ ret = sync_inode(inode, wbc);
-+ if (!ret &&
-+ test_bit(BTRFS_INODE_HAS_ASYNC_EXTENT,
-+ &BTRFS_I(inode)->runtime_flags))
-+ ret = sync_inode(inode, wbc);
-+ btrfs_add_delayed_iput(inode);
-+ if (ret || wbc->nr_to_write <= 0)
- goto out;
- }
- cond_resched();
-@@ -9463,18 +9471,29 @@ static int start_delalloc_inodes(struct btrfs_root *root, u64 *nr, bool snapshot
-
- int btrfs_start_delalloc_snapshot(struct btrfs_root *root)
- {
-+ struct writeback_control wbc = {
-+ .nr_to_write = LONG_MAX,
-+ .sync_mode = WB_SYNC_NONE,
-+ .range_start = 0,
-+ .range_end = LLONG_MAX,
-+ };
- struct btrfs_fs_info *fs_info = root->fs_info;
-- u64 nr = U64_MAX;
-
- if (test_bit(BTRFS_FS_STATE_ERROR, &fs_info->fs_state))
- return -EROFS;
-
-- return start_delalloc_inodes(root, &nr, true, false);
-+ return start_delalloc_inodes(root, &wbc, true, false);
- }
-
- int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, u64 nr,
- bool in_reclaim_context)
- {
-+ struct writeback_control wbc = {
-+ .nr_to_write = (nr == U64_MAX) ? LONG_MAX : (unsigned long)nr,
-+ .sync_mode = WB_SYNC_NONE,
-+ .range_start = 0,
-+ .range_end = LLONG_MAX,
-+ };
- struct btrfs_root *root;
- struct list_head splice;
- int ret;
-@@ -9488,6 +9507,13 @@ int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, u64 nr,
- spin_lock(&fs_info->delalloc_root_lock);
- list_splice_init(&fs_info->delalloc_roots, &splice);
- while (!list_empty(&splice) && nr) {
-+ /*
-+ * Reset nr_to_write here so we know that we're doing a full
-+ * flush.
-+ */
-+ if (nr == U64_MAX)
-+ wbc.nr_to_write = LONG_MAX;
-+
- root = list_first_entry(&splice, struct btrfs_root,
- delalloc_root);
- root = btrfs_grab_root(root);
-@@ -9496,9 +9522,9 @@ int btrfs_start_delalloc_roots(struct btrfs_fs_info *fs_info, u64 nr,
- &fs_info->delalloc_roots);
- spin_unlock(&fs_info->delalloc_root_lock);
-
-- ret = start_delalloc_inodes(root, &nr, false, in_reclaim_context);
-+ ret = start_delalloc_inodes(root, &wbc, false, in_reclaim_context);
- btrfs_put_root(root);
-- if (ret < 0)
-+ if (ret < 0 || wbc.nr_to_write <= 0)
- goto out;
- spin_lock(&fs_info->delalloc_root_lock);
- }
-diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c
-index 67e55c5479b8..e8347461c8dd 100644
---- a/fs/btrfs/space-info.c
-+++ b/fs/btrfs/space-info.c
-@@ -532,7 +532,9 @@ static void shrink_delalloc(struct btrfs_fs_info *fs_info,
-
- loops = 0;
- while ((delalloc_bytes || dio_bytes) && loops < 3) {
-- btrfs_start_delalloc_roots(fs_info, items, true);
-+ u64 nr_pages = min(delalloc_bytes, to_reclaim) >> PAGE_SHIFT;
-+
-+ btrfs_start_delalloc_roots(fs_info, nr_pages, true);
-
- loops++;
- if (wait_ordered && !trans) {
---
-2.30.0
-
diff --git a/libre/linux-libre-pae/PKGBUILD b/libre/linux-libre-pae/PKGBUILD
index 58f3299aa..ecd0ea3e5 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.10.7
+pkgver=5.11.2
pkgrel=1
pkgdesc='Linux-libre PAE (physical address extension)'
url='https://linux-libre.fsfla.org/'
@@ -20,7 +20,7 @@ makedepends=(
xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick
)
options=('!strip')
-_srcname=linux-5.10
+_srcname=linux-5.11
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}
@@ -36,18 +36,16 @@ source=(
0002-fix-Atmel-maXTouch-touchscreen-support.patch
# Arch Linux patches
0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
- 0002-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_sp.patch
- 0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch
- 0004-btrfs-fix-deadlock-when-cloning-inline-extent-and-lo.patch
- 0005-btrfs-shrink-delalloc-pages-instead-of-full-inodes.patch
+ 0002-Revert-drm-amd-display-reuse-current-context-instead.patch
+ 0003-drm-amdgpu-fix-shutdown-with-s0ix.patch
)
validpgpkeys=(
'474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva
'6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
)
-sha512sums=('ccc52db049a66ff146d9fc84fb00e783f2d04211156233a382f87589fec7631b8fbb3e76bfd94279607b883d25f9745e6c7d2bd62b13311dc6b425002bd42ec0'
+sha512sums=('3a34006add9ea318b0c2863388925ba34d57d342535b00c9ebc61fbfc69ef206b64af21c35b101466508c4308b5da310743c8add74dd703e259612953104ae43'
'SKIP'
- 'f3e5ee9ef33eaf2a15de39b99a2a01b88681df0519f1b03dc19fa8db63120096dbddcbce9c00f8b7515b55161d3d440a9439954fc2356a35f7da5f878b5dfedb'
+ '64c5a9076b502d3da538e781f3819af24ddb90316c2d181037c0f77e5204ec555aa0464d58fbd0025ee6c4f1b28db33d38ddc8de0bc2a83be9190c900fdf6a2c'
'SKIP'
'13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3'
'SKIP'
@@ -55,14 +53,12 @@ sha512sums=('ccc52db049a66ff146d9fc84fb00e783f2d04211156233a382f87589fec7631b8fb
'SKIP'
'267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1'
'SKIP'
- 'beb08a7e9763e490e9693c7a6f9a44f0cd672dfec2641266a67d7fdd58d751fb867d70005c67647ed427b43686ea22817686efcfa00e6175c07ba09e8983f487'
+ '67d9e52dba831c982bdb243c75594ecea8c23bc24ed58969d513f715af7cbc415d59e232ea36b15431a391337e821153a11922c16d5cb43c904ac98f2f2426c8'
'02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af'
'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168'
- '3ab3b136aa2eba15b21112bc4978f214a4f9ad38bc6242d4917fbe44f68665bf52b81af1ca60c4b27492f15230a79d2d4e4c02ca06cd9ea55837fddca7cf176b'
- '32a76d0774eb2a0de38452321da6d8402cea70425d83942f7eda53a47a8465e4890ae277275b166e621574e4892f5dac5a0c37263abc0ea300f0c9af639e0f84'
- '127b2148feb60a64a3d98080625f8a6986033e6099f284f524697935af3c475e287dd69fde3840d7e62eb1d14d175becfe8d138894c8fb72acc1efeacbcc5fa3'
- 'b118bcf344d0fb6ef3d0b3d39c0d635bff69f5b6a70274db31ec8db89a88dab9aa70af3a511b63821b3d8715310ee81e1c1a88dc73d4852d07d5cc1da33204f1'
- '5ff6bc9d6a77b939cc4b411cb43311ec2c2048ff7ceb115d588ac902abae1d55de34cb36706f20237306e9973b46f1b1b28b15a74aeb8ce52456ffc3047e4585')
+ '748d98aef69e93959eab6a7f20a7972aff50c577a079bba807b10fe9b3b98799b47215d76797360d336ba4c3c656d7eafe3e81f2a59a2b6888d1884071db6e95'
+ '798b96e22ae79a62516e38194f4a377c8bed22c6fbf9f33fcdf205136bf1e5429c01a803c71f8eb412df2a5637eb6266fd4677618d64f64e9b53725371f574c6'
+ '6e0cdf8ae337245cb4df53496649905d4900dc0401b5fa7ebea70a46ed88f2f5759a1bfe571207975e1d92c734babdb8b3505cd432731d0713ce1339b6df71d4')
_replacesarchkernel=("${_replacesarchkernel[@]/\%/${pkgbase#linux-libre}}")
_replacesoldkernels=("${_replacesoldkernels[@]/\%/${pkgbase#linux-libre}}")
@@ -143,6 +139,7 @@ _package() {
_package-headers() {
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
+ depends=(pahole)
provides=("${_replacesarchkernel[@]/%/-headers=${pkgver%%_*}}")
conflicts=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}")
replaces=("${_replacesarchkernel[@]/%/-headers}" "${_replacesoldkernels[@]/%/-headers}")
diff --git a/libre/linux-libre-pae/config b/libre/linux-libre-pae/config
index 8e1b054ad..cbba0bcae 100644
--- a/libre/linux-libre-pae/config
+++ b/libre/linux-libre-pae/config
@@ -1,11 +1,11 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 5.10.7-gnu Kernel Configuration
+# Linux/x86 5.11.2-gnu Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 10.2.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=100200
-CONFIG_LD_VERSION=235010000
+CONFIG_LD_VERSION=236010000
CONFIG_CLANG_VERSION=0
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
@@ -66,6 +66,7 @@ CONFIG_IRQ_SIM=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
+CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
@@ -296,7 +297,6 @@ CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_32_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
@@ -808,12 +808,14 @@ CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
@@ -839,6 +841,8 @@ CONFIG_ARCH_USE_MEMREMAP_PROT=y
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SPLIT_ARG64=y
#
# GCOV-based kernel profiling
@@ -1015,11 +1019,12 @@ CONFIG_HMM_MIRROR=y
CONFIG_VMAP_PFN=y
CONFIG_FRAME_VECTOR=y
# CONFIG_PERCPU_STATS is not set
-# CONFIG_GUP_BENCHMARK is not set
+# CONFIG_GUP_TEST is not set
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
+CONFIG_KMAP_LOCAL=y
# end of Memory Management options
CONFIG_NET=y
@@ -1237,6 +1242,7 @@ CONFIG_NF_DUP_NETDEV=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_FIB_NETDEV=m
+# CONFIG_NFT_REJECT_NETDEV is not set
CONFIG_NF_FLOW_TABLE_INET=m
CONFIG_NF_FLOW_TABLE=m
CONFIG_NETFILTER_XTABLES=m
@@ -1555,6 +1561,7 @@ CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BRIDGE_MRP is not set
+# CONFIG_BRIDGE_CFM is not set
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_DSA=m
CONFIG_NET_DSA_TAG_8021Q=m
@@ -1562,7 +1569,9 @@ 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
+# CONFIG_NET_DSA_TAG_HELLCREEK is not set
CONFIG_NET_DSA_TAG_GSWIP=m
+CONFIG_NET_DSA_TAG_DSA_COMMON=m
CONFIG_NET_DSA_TAG_DSA=m
CONFIG_NET_DSA_TAG_EDSA=m
CONFIG_NET_DSA_TAG_MTK=m
@@ -1713,9 +1722,7 @@ CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
-CONFIG_BATMAN_ADV_DEBUGFS=y
# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_BATMAN_ADV_SYSFS=y
# CONFIG_BATMAN_ADV_TRACING is not set
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=m
@@ -1813,6 +1820,7 @@ CONFIG_CAN_CC770=m
CONFIG_CAN_CC770_PLATFORM=m
CONFIG_CAN_IFI_CANFD=m
CONFIG_CAN_M_CAN=m
+# CONFIG_CAN_M_CAN_PCI is not set
CONFIG_CAN_M_CAN_PLATFORM=m
CONFIG_CAN_M_CAN_TCAN4X5X=m
CONFIG_CAN_PEAK_PCIEFD=m
@@ -1955,8 +1963,6 @@ CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
-CONFIG_WIMAX=m
-CONFIG_WIMAX_DEBUG_LEVEL=8
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
@@ -2013,6 +2019,7 @@ CONFIG_NFC_NXP_NCI=m
CONFIG_NFC_NXP_NCI_I2C=m
CONFIG_NFC_S3FWRN5=m
CONFIG_NFC_S3FWRN5_I2C=m
+# CONFIG_NFC_S3FWRN82_UART is not set
CONFIG_NFC_ST95HF=m
# end of Near Field Communication (NFC) devices
@@ -2172,6 +2179,7 @@ CONFIG_RAPIDIO_RXS_GEN3=m
#
# Generic Driver Options
#
+CONFIG_AUXILIARY_BUS=y
# CONFIG_UEVENT_HELPER is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
@@ -2342,10 +2350,7 @@ CONFIG_MTD_ONENAND=m
CONFIG_MTD_ONENAND_GENERIC=m
CONFIG_MTD_ONENAND_OTP=y
CONFIG_MTD_ONENAND_2X_PROGRAM=y
-CONFIG_MTD_NAND_ECC_SW_HAMMING=m
-# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
CONFIG_MTD_RAW_NAND=m
-# CONFIG_MTD_NAND_ECC_SW_BCH is not set
#
# Raw/parallel NAND flash controllers
@@ -2360,6 +2365,7 @@ CONFIG_MTD_NAND_GPIO=m
CONFIG_MTD_NAND_PLATFORM=m
# CONFIG_MTD_NAND_CADENCE is not set
# CONFIG_MTD_NAND_ARASAN is not set
+# CONFIG_MTD_NAND_INTEL_LGM is not set
#
# Misc
@@ -2377,6 +2383,9 @@ CONFIG_MTD_SPI_NAND=m
# ECC engine support
#
CONFIG_MTD_NAND_ECC=y
+CONFIG_MTD_NAND_ECC_SW_HAMMING=y
+# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set
+# CONFIG_MTD_NAND_ECC_SW_BCH is not set
# end of ECC engine support
# end of NAND
@@ -2389,6 +2398,9 @@ CONFIG_MTD_QINFO_PROBE=m
CONFIG_MTD_SPI_NOR=m
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set
CONFIG_SPI_INTEL_SPI=m
CONFIG_SPI_INTEL_SPI_PCI=m
CONFIG_SPI_INTEL_SPI_PLATFORM=m
@@ -2436,6 +2448,13 @@ CONFIG_CDROM=m
# CONFIG_PARIDE is not set
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m
CONFIG_ZRAM=m
+CONFIG_ZRAM_DEF_COMP_LZORLE=y
+# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
+# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
+# CONFIG_ZRAM_DEF_COMP_LZO is not set
+# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set
+# CONFIG_ZRAM_DEF_COMP_842 is not set
+CONFIG_ZRAM_DEF_COMP="lzo-rle"
CONFIG_ZRAM_WRITEBACK=y
# CONFIG_ZRAM_MEMORY_TRACKING is not set
CONFIG_BLK_DEV_UMEM=m
@@ -2865,6 +2884,7 @@ CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
# CONFIG_DM_MULTIPATH_HST is not set
+# CONFIG_DM_MULTIPATH_IOA is not set
CONFIG_DM_DELAY=m
CONFIG_DM_DUST=m
CONFIG_DM_UEVENT=y
@@ -2994,6 +3014,7 @@ CONFIG_B53_SRAB_DRIVER=m
CONFIG_B53_SERDES=m
CONFIG_NET_DSA_BCM_SF2=m
CONFIG_NET_DSA_LOOP=m
+# CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK is not set
CONFIG_NET_DSA_LANTIQ_GSWIP=m
CONFIG_NET_DSA_MT7530=m
CONFIG_NET_DSA_MV88E6060=m
@@ -3051,6 +3072,7 @@ CONFIG_AMD_XGBE=m
CONFIG_AMD_XGBE_DCB=y
CONFIG_AMD_XGBE_HAVE_ECC=y
CONFIG_NET_VENDOR_AQUANTIA=y
+# CONFIG_AQTION is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=m
@@ -3494,8 +3516,8 @@ CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
CONFIG_USB_NET_CH9200=m
CONFIG_USB_NET_AQC111=m
+# CONFIG_USB_RTL8153_ECM is not set
CONFIG_WLAN=y
-# CONFIG_WIRELESS_WDS is not set
CONFIG_WLAN_VENDOR_ADMTEK=y
CONFIG_ADM8211=m
CONFIG_ATH_COMMON=m
@@ -3783,15 +3805,6 @@ CONFIG_PCMCIA_WL3501=m
CONFIG_MAC80211_HWSIM=m
CONFIG_USB_NET_RNDIS_WLAN=m
CONFIG_VIRT_WIFI=m
-
-#
-# WiMAX Wireless Broadband devices
-#
-CONFIG_WIMAX_I2400M=m
-CONFIG_WIMAX_I2400M_USB=m
-CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
-# end of WiMAX Wireless Broadband devices
-
# CONFIG_WAN is not set
CONFIG_IEEE802154_DRIVERS=m
CONFIG_IEEE802154_FAKELB=m
@@ -3843,7 +3856,6 @@ CONFIG_NVM_PBLK=m
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=m
CONFIG_INPUT_FF_MEMLESS=m
-CONFIG_INPUT_POLLDEV=m
CONFIG_INPUT_SPARSEKMAP=m
CONFIG_INPUT_MATRIXKMAP=m
@@ -3969,7 +3981,6 @@ CONFIG_JOYSTICK_FSIA6B=m
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=m
CONFIG_TABLET_USB_AIPTEK=m
-CONFIG_TABLET_USB_GTCO=m
CONFIG_TABLET_USB_HANWANG=m
CONFIG_TABLET_USB_KBTAB=m
CONFIG_TABLET_USB_PEGASUS=m
@@ -4129,6 +4140,7 @@ CONFIG_INPUT_PWM_BEEPER=m
CONFIG_INPUT_PWM_VIBRA=m
CONFIG_INPUT_RK805_PWRKEY=m
CONFIG_INPUT_GPIO_ROTARY_ENCODER=m
+# CONFIG_INPUT_DA7280_HAPTICS is not set
CONFIG_INPUT_DA9052_ONKEY=m
CONFIG_INPUT_DA9055_ONKEY=m
CONFIG_INPUT_DA9063_ONKEY=m
@@ -4257,6 +4269,7 @@ CONFIG_SERIAL_SC16IS7XX=m
CONFIG_SERIAL_SC16IS7XX_I2C=y
CONFIG_SERIAL_SC16IS7XX_SPI=y
# CONFIG_SERIAL_TIMBERDALE is not set
+# CONFIG_SERIAL_BCM63XX is not set
CONFIG_SERIAL_ALTERA_JTAGUART=m
CONFIG_SERIAL_ALTERA_UART=m
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
@@ -4282,8 +4295,6 @@ CONFIG_CYCLADES=m
CONFIG_CYZ_INTR=y
CONFIG_MOXA_INTELLIO=m
CONFIG_MOXA_SMARTIO=m
-CONFIG_SYNCLINK=m
-CONFIG_SYNCLINKMP=m
CONFIG_SYNCLINK_GT=m
CONFIG_ISI=m
CONFIG_N_HDLC=m
@@ -4489,6 +4500,7 @@ CONFIG_I2C_SLAVE_EEPROM=m
CONFIG_I3C=m
CONFIG_CDNS_I3C_MASTER=m
CONFIG_DW_I3C_MASTER=m
+# CONFIG_MIPI_I3C_HCI is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
@@ -4580,6 +4592,7 @@ CONFIG_PTP_1588_CLOCK_KVM=m
CONFIG_PTP_1588_CLOCK_IDT82P33=m
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
CONFIG_PTP_1588_CLOCK_VMW=m
+# CONFIG_PTP_1588_CLOCK_OCP is not set
# end of PTP clock support
CONFIG_PINCTRL=y
@@ -4603,18 +4616,22 @@ CONFIG_PINCTRL_MAX77620=m
CONFIG_PINCTRL_PALMAS=m
CONFIG_PINCTRL_RK805=m
CONFIG_PINCTRL_OCELOT=y
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_LYNXPOINT=m
CONFIG_PINCTRL_INTEL=y
+# CONFIG_PINCTRL_ALDERLAKE is not set
CONFIG_PINCTRL_BROXTON=y
CONFIG_PINCTRL_CANNONLAKE=y
CONFIG_PINCTRL_CEDARFORK=y
CONFIG_PINCTRL_DENVERTON=y
+# CONFIG_PINCTRL_ELKHARTLAKE is not set
# CONFIG_PINCTRL_EMMITSBURG is not set
CONFIG_PINCTRL_GEMINILAKE=y
CONFIG_PINCTRL_ICELAKE=m
# CONFIG_PINCTRL_JASPERLAKE is not set
+# CONFIG_PINCTRL_LAKEFIELD is not set
CONFIG_PINCTRL_LEWISBURG=y
CONFIG_PINCTRL_SUNRISEPOINT=y
# CONFIG_PINCTRL_TIGERLAKE is not set
@@ -4764,8 +4781,13 @@ CONFIG_GPIO_MOXTET=m
CONFIG_GPIO_VIPERBOARD=m
# end of USB GPIO expanders
+#
+# Virtual GPIO drivers
+#
# CONFIG_GPIO_AGGREGATOR is not set
CONFIG_GPIO_MOCKUP=m
+# end of Virtual GPIO drivers
+
CONFIG_W1=m
CONFIG_W1_CON=y
@@ -4810,6 +4832,7 @@ 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_REGULATOR is not set
CONFIG_POWER_RESET_RESTART=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
@@ -4929,6 +4952,7 @@ CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ASPEED=m
CONFIG_SENSORS_ATXP1=m
CONFIG_SENSORS_CORSAIR_CPRO=m
+# CONFIG_SENSORS_CORSAIR_PSU is not set
CONFIG_SENSORS_DRIVETEMP=m
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
@@ -4961,6 +4985,7 @@ CONFIG_SENSORS_LTC2945=m
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2947_SPI is not set
CONFIG_SENSORS_LTC2990=m
+# CONFIG_SENSORS_LTC2992 is not set
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
CONFIG_SENSORS_LTC4222=m
@@ -4968,6 +4993,7 @@ CONFIG_SENSORS_LTC4245=m
CONFIG_SENSORS_LTC4260=m
CONFIG_SENSORS_LTC4261=m
CONFIG_SENSORS_MAX1111=m
+# CONFIG_SENSORS_MAX127 is not set
CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
@@ -5034,7 +5060,9 @@ CONFIG_SENSORS_MAX31785=m
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
# CONFIG_SENSORS_MP2975 is not set
+# CONFIG_SENSORS_PM6764TR is not set
CONFIG_SENSORS_PXE1610=m
+# CONFIG_SENSORS_Q54SJ108A2 is not set
CONFIG_SENSORS_TPS40422=m
CONFIG_SENSORS_TPS53679=m
CONFIG_SENSORS_UCD9000=m
@@ -5042,6 +5070,7 @@ CONFIG_SENSORS_UCD9200=m
CONFIG_SENSORS_XDPE122=m
CONFIG_SENSORS_ZL6100=m
CONFIG_SENSORS_PWM_FAN=m
+# CONFIG_SENSORS_SBTSI is not set
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
CONFIG_SENSORS_SHT3x=m
@@ -5326,6 +5355,7 @@ CONFIG_MFD_INTEL_LPSS=m
CONFIG_MFD_INTEL_LPSS_ACPI=m
CONFIG_MFD_INTEL_LPSS_PCI=m
# CONFIG_MFD_INTEL_PMC_BXT is not set
+# CONFIG_MFD_INTEL_PMT is not set
CONFIG_MFD_IQS62X=m
CONFIG_MFD_JANZ_CMODIO=m
CONFIG_MFD_KEMPLD=m
@@ -5462,6 +5492,7 @@ CONFIG_REGULATOR_DA9052=m
CONFIG_REGULATOR_DA9055=m
CONFIG_REGULATOR_DA9062=m
CONFIG_REGULATOR_DA9063=m
+# CONFIG_REGULATOR_DA9121 is not set
CONFIG_REGULATOR_DA9210=m
CONFIG_REGULATOR_DA9211=m
CONFIG_REGULATOR_FAN53555=m
@@ -5513,6 +5544,7 @@ CONFIG_REGULATOR_PALMAS=m
CONFIG_REGULATOR_PCA9450=m
CONFIG_REGULATOR_PCAP=m
CONFIG_REGULATOR_PCF50633=m
+# CONFIG_REGULATOR_PF8X00 is not set
CONFIG_REGULATOR_PFUZE100=m
CONFIG_REGULATOR_PV88060=m
CONFIG_REGULATOR_PV88080=m
@@ -6115,7 +6147,6 @@ CONFIG_VIDEO_ST_MIPID02=m
# Camera sensor devices
#
CONFIG_VIDEO_APTINA_PLL=m
-CONFIG_VIDEO_SMIAPP_PLL=m
# CONFIG_VIDEO_HI556 is not set
CONFIG_VIDEO_IMX214=m
CONFIG_VIDEO_IMX219=m
@@ -6124,6 +6155,7 @@ CONFIG_VIDEO_IMX274=m
# CONFIG_VIDEO_IMX290 is not set
CONFIG_VIDEO_IMX319=m
CONFIG_VIDEO_IMX355=m
+# CONFIG_VIDEO_OV02A10 is not set
CONFIG_VIDEO_OV2640=m
CONFIG_VIDEO_OV2659=m
CONFIG_VIDEO_OV2680=m
@@ -6144,6 +6176,7 @@ CONFIG_VIDEO_OV7740=m
CONFIG_VIDEO_OV8856=m
CONFIG_VIDEO_OV9640=m
CONFIG_VIDEO_OV9650=m
+# CONFIG_VIDEO_OV9734 is not set
CONFIG_VIDEO_OV13858=m
CONFIG_VIDEO_VS6624=m
CONFIG_VIDEO_MT9M001=m
@@ -6164,7 +6197,7 @@ CONFIG_VIDEO_S5K6AA=m
CONFIG_VIDEO_S5K6A3=m
CONFIG_VIDEO_S5K4ECGX=m
CONFIG_VIDEO_S5K5BAF=m
-CONFIG_VIDEO_SMIAPP=m
+# CONFIG_VIDEO_CCS is not set
CONFIG_VIDEO_ET8EK8=m
CONFIG_VIDEO_S5C73M3=m
# end of Camera sensor devices
@@ -6446,7 +6479,6 @@ CONFIG_DRM_FBDEV_OVERALLOC=100
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
@@ -6489,7 +6521,6 @@ CONFIG_DRM_AMD_ACP=y
#
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMD_DC_DCN=y
-# CONFIG_DRM_AMD_DC_DCN3_0 is not set
# CONFIG_DRM_AMD_DC_HDCP is not set
# CONFIG_DRM_AMD_DC_SI is not set
# end of Display Engine Configuration
@@ -6554,6 +6585,7 @@ CONFIG_DRM_PANEL=y
#
# Display Panels
#
+# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
CONFIG_DRM_PANEL_ARM_VERSATILE=m
# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
CONFIG_DRM_PANEL_BOE_HIMAX8279D=m
@@ -6575,6 +6607,7 @@ CONFIG_DRM_PANEL_LG_LB035Q02=m
CONFIG_DRM_PANEL_LG_LG4573=m
CONFIG_DRM_PANEL_NEC_NL8048HL11=m
CONFIG_DRM_PANEL_NOVATEK_NT35510=m
+# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
CONFIG_DRM_PANEL_NOVATEK_NT39016=m
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
@@ -6593,6 +6626,7 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI=m
# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI is not set
CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m
+# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
CONFIG_DRM_PANEL_SEIKO_43WVF1G=m
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m
CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m
@@ -6602,6 +6636,7 @@ CONFIG_DRM_PANEL_SITRONIX_ST7703=m
CONFIG_DRM_PANEL_SITRONIX_ST7789V=m
CONFIG_DRM_PANEL_SONY_ACX424AKP=m
CONFIG_DRM_PANEL_SONY_ACX565AKM=m
+# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
CONFIG_DRM_PANEL_TPO_TD028TTEC1=m
CONFIG_DRM_PANEL_TPO_TD043MTEA1=m
CONFIG_DRM_PANEL_TPO_TPG110=m
@@ -6620,6 +6655,7 @@ CONFIG_DRM_CDNS_DSI=m
# CONFIG_DRM_CHRONTEL_CH7033 is not set
CONFIG_DRM_DISPLAY_CONNECTOR=m
# CONFIG_DRM_LONTIUM_LT9611 is not set
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
CONFIG_DRM_LVDS_CODEC=m
CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=m
# CONFIG_DRM_NWL_MIPI_DSI is not set
@@ -6642,6 +6678,7 @@ CONFIG_DRM_TI_TPD12S015=m
CONFIG_DRM_ANALOGIX_ANX6345=m
CONFIG_DRM_ANALOGIX_ANX78XX=m
CONFIG_DRM_ANALOGIX_DP=m
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
CONFIG_DRM_I2C_ADV7511=m
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511_CEC=y
@@ -7076,6 +7113,7 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
CONFIG_SND_SOC_COMPRESS=y
CONFIG_SND_SOC_TOPOLOGY=y
CONFIG_SND_SOC_ACPI=m
+# CONFIG_SND_SOC_ADI is not set
CONFIG_SND_SOC_AMD_ACP=m
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m
@@ -7102,6 +7140,7 @@ CONFIG_SND_SOC_FSL_AUDMIX=m
# CONFIG_SND_SOC_FSL_SPDIF is not set
# CONFIG_SND_SOC_FSL_ESAI is not set
CONFIG_SND_SOC_FSL_MICFIL=m
+# CONFIG_SND_SOC_FSL_XCVR is not set
# CONFIG_SND_SOC_IMX_AUDMUX is not set
# end of SoC Audio for Freescale CPUs
@@ -7184,6 +7223,8 @@ CONFIG_SND_SOC_I2C_AND_SPI=m
#
CONFIG_SND_SOC_AC97_CODEC=m
CONFIG_SND_SOC_ADAU_UTILS=m
+# CONFIG_SND_SOC_ADAU1372_I2C is not set
+# CONFIG_SND_SOC_ADAU1372_SPI is not set
CONFIG_SND_SOC_ADAU1701=m
CONFIG_SND_SOC_ADAU17X1=m
CONFIG_SND_SOC_ADAU1761=m
@@ -7270,6 +7311,7 @@ CONFIG_SND_SOC_PCM3060_SPI=m
CONFIG_SND_SOC_PCM3168A=m
CONFIG_SND_SOC_PCM3168A_I2C=m
CONFIG_SND_SOC_PCM3168A_SPI=m
+# CONFIG_SND_SOC_PCM5102A is not set
CONFIG_SND_SOC_PCM512x=m
CONFIG_SND_SOC_PCM512x_I2C=m
CONFIG_SND_SOC_PCM512x_SPI=m
@@ -7305,6 +7347,7 @@ CONFIG_SND_SOC_SIGMADSP=m
CONFIG_SND_SOC_SIGMADSP_I2C=m
CONFIG_SND_SOC_SIGMADSP_REGMAP=m
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
+# CONFIG_SND_SOC_SIMPLE_MUX is not set
CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
CONFIG_SND_SOC_SPDIF=m
CONFIG_SND_SOC_SSM2305=m
@@ -7371,12 +7414,15 @@ CONFIG_SND_SOC_MAX9759=m
CONFIG_SND_SOC_MT6351=m
CONFIG_SND_SOC_MT6358=m
CONFIG_SND_SOC_MT6660=m
+# CONFIG_SND_SOC_NAU8315 is not set
CONFIG_SND_SOC_NAU8540=m
CONFIG_SND_SOC_NAU8810=m
CONFIG_SND_SOC_NAU8822=m
CONFIG_SND_SOC_NAU8824=m
CONFIG_SND_SOC_NAU8825=m
CONFIG_SND_SOC_TPA6130A2=m
+# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
# end of CODEC drivers
CONFIG_SND_SIMPLE_CARD_UTILS=m
@@ -7741,7 +7787,6 @@ CONFIG_USB_SERIAL_SIERRAWIRELESS=m
CONFIG_USB_SERIAL_SYMBOL=m
CONFIG_USB_SERIAL_TI=m
CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
CONFIG_USB_SERIAL_WWAN=m
CONFIG_USB_SERIAL_OPTION=m
CONFIG_USB_SERIAL_OMNINET=m
@@ -7824,7 +7869,6 @@ CONFIG_USB_BDC_UDC=m
#
# Platform Support
#
-CONFIG_USB_BDC_PCI=m
CONFIG_USB_AMD5536UDC=m
CONFIG_USB_NET2272=m
CONFIG_USB_NET2272_DMA=y
@@ -8092,6 +8136,11 @@ CONFIG_LEDS_TPS6105X=m
# CONFIG_LEDS_SGM3140 is not set
#
+# Flash and Torch LED drivers
+#
+# CONFIG_LEDS_RT8515 is not set
+
+#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
@@ -8279,7 +8328,6 @@ CONFIG_RTC_DRV_DS1390=m
CONFIG_RTC_DRV_MAX6916=m
CONFIG_RTC_DRV_R9701=m
CONFIG_RTC_DRV_RX4581=m
-CONFIG_RTC_DRV_RX6110=m
CONFIG_RTC_DRV_RS5C348=m
CONFIG_RTC_DRV_MAX6902=m
CONFIG_RTC_DRV_PCF2123=m
@@ -8294,6 +8342,7 @@ CONFIG_RTC_DRV_DS3232_HWMON=y
CONFIG_RTC_DRV_PCF2127=m
CONFIG_RTC_DRV_RV3029C2=m
CONFIG_RTC_DRV_RV3029_HWMON=y
+CONFIG_RTC_DRV_RX6110=m
#
# Platform RTC drivers
@@ -8343,6 +8392,7 @@ CONFIG_RTC_DRV_CPCAP=m
# HID Sensor RTC drivers
#
CONFIG_RTC_DRV_HID_SENSOR_TIME=m
+# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_RTC_DRV_WILCO_EC=m
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set
@@ -8389,6 +8439,8 @@ CONFIG_DMABUF_SELFTESTS=m
# end of DMABUF options
CONFIG_AUXDISPLAY=y
+CONFIG_CHARLCD=m
+CONFIG_HD44780_COMMON=m
CONFIG_HD44780=m
CONFIG_KS0108=m
CONFIG_KS0108_PORT=0x378
@@ -8397,6 +8449,7 @@ CONFIG_CFAG12864B=m
CONFIG_CFAG12864B_RATE=20
CONFIG_IMG_ASCII_LCD=m
CONFIG_HT16K33=m
+# CONFIG_LCD2S is not set
CONFIG_PARPORT_PANEL=m
CONFIG_PANEL_PARPORT=0
CONFIG_PANEL_PROFILE=5
@@ -8405,7 +8458,6 @@ CONFIG_PANEL_PROFILE=5
# CONFIG_CHARLCD_BL_ON is not set
CONFIG_CHARLCD_BL_FLASH=y
CONFIG_PANEL=m
-CONFIG_CHARLCD=m
CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV_GENIRQ=m
@@ -8444,6 +8496,7 @@ CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
CONFIG_VDPA=m
CONFIG_VDPA_SIM=m
+# CONFIG_VDPA_SIM_NET is not set
CONFIG_IFCVF=m
CONFIG_MLX5_VDPA=y
CONFIG_MLX5_VDPA_NET=m
@@ -8723,6 +8776,11 @@ CONFIG_ARCX_ANYBUS_CONTROLLER=m
CONFIG_HMS_PROFINET=m
# CONFIG_KPC2000 is not set
CONFIG_QLGE=m
+CONFIG_WIMAX=m
+CONFIG_WIMAX_DEBUG_LEVEL=8
+CONFIG_WIMAX_I2400M=m
+CONFIG_WIMAX_I2400M_USB=m
+CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8
# CONFIG_WFX is not set
# CONFIG_SPMI_HISI3670 is not set
# CONFIG_MFD_HI6421_SPMI is not set
@@ -8739,6 +8797,7 @@ CONFIG_XIAOMI_WMI=m
CONFIG_ACERHDF=m
CONFIG_ACER_WIRELESS=m
CONFIG_ACER_WMI=m
+# CONFIG_AMD_PMC is not set
CONFIG_APPLE_GMUX=m
CONFIG_ASUS_LAPTOP=m
CONFIG_ASUS_WIRELESS=m
@@ -8755,6 +8814,7 @@ CONFIG_DELL_RBTN=m
CONFIG_DELL_RBU=m
CONFIG_DELL_SMO8800=m
CONFIG_DELL_WMI=m
+# CONFIG_DELL_WMI_SYSMAN is not set
CONFIG_DELL_WMI_DESCRIPTOR=m
CONFIG_DELL_WMI_AIO=m
CONFIG_DELL_WMI_LED=m
@@ -8784,10 +8844,6 @@ CONFIG_INTEL_INT0002_VGPIO=m
CONFIG_INTEL_MENLOW=m
CONFIG_INTEL_OAKTRAIL=m
CONFIG_INTEL_VBTN=m
-CONFIG_SURFACE3_WMI=m
-CONFIG_SURFACE_3_BUTTON=m
-CONFIG_SURFACE_3_POWER_OPREGION=m
-CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
CONFIG_PCENGINES_APU2=m
@@ -8813,6 +8869,9 @@ CONFIG_INTEL_RST=m
CONFIG_INTEL_SMARTCONNECT=m
CONFIG_INTEL_CHTDC_TI_PWRBTN=m
CONFIG_INTEL_PMC_CORE=y
+# CONFIG_INTEL_PMT_CLASS is not set
+# CONFIG_INTEL_PMT_TELEMETRY is not set
+# CONFIG_INTEL_PMT_CRASHLOG is not set
CONFIG_INTEL_PUNIT_IPC=m
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
@@ -8844,6 +8903,12 @@ CONFIG_WILCO_EC_TELEMETRY=m
CONFIG_MELLANOX_PLATFORM=y
CONFIG_MLXREG_HOTPLUG=m
CONFIG_MLXREG_IO=m
+CONFIG_SURFACE_PLATFORMS=y
+CONFIG_SURFACE3_WMI=m
+CONFIG_SURFACE_3_BUTTON=m
+CONFIG_SURFACE_3_POWER_OPREGION=m
+# CONFIG_SURFACE_GPE is not set
+CONFIG_SURFACE_PRO3_BUTTON=m
CONFIG_HAVE_CLK=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
@@ -8898,6 +8963,7 @@ CONFIG_IOMMU_SUPPORT=y
# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
@@ -8916,6 +8982,7 @@ CONFIG_HYPERV_IOMMU=y
#
CONFIG_RPMSG=m
CONFIG_RPMSG_CHAR=m
+CONFIG_RPMSG_NS=m
CONFIG_RPMSG_QCOM_GLINK=m
CONFIG_RPMSG_QCOM_GLINK_RPM=m
CONFIG_RPMSG_VIRTIO=m
@@ -8941,11 +9008,6 @@ CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m
# end of Amlogic SoC drivers
#
-# Aspeed SoC drivers
-#
-# end of Aspeed SoC drivers
-
-#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers
@@ -8961,6 +9023,12 @@ CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m
# end of i.MX SoC drivers
#
+# Enable LiteX SoC Builder specific drivers
+#
+# CONFIG_LITEX_SOC_CONTROLLER is not set
+# end of Enable LiteX SoC Builder specific drivers
+
+#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers
@@ -9012,6 +9080,7 @@ CONFIG_EXTCON_RT8973A=m
CONFIG_EXTCON_SM5502=m
CONFIG_EXTCON_USB_GPIO=m
CONFIG_EXTCON_USBC_CROS_EC=m
+# CONFIG_EXTCON_USBC_TUSB320 is not set
CONFIG_MEMORY=y
CONFIG_IIO=m
CONFIG_IIO_BUFFER=y
@@ -9593,9 +9662,12 @@ CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_DEBUG is not set
CONFIG_PWM_ATMEL_HLCDC_PWM=m
+# CONFIG_PWM_ATMEL_TCB is not set
CONFIG_PWM_CRC=y
# CONFIG_PWM_CROS_EC is not set
+# CONFIG_PWM_DWC is not set
CONFIG_PWM_FSL_FTM=m
+# CONFIG_PWM_INTEL_LGM is not set
# CONFIG_PWM_IQS620A is not set
CONFIG_PWM_LP3943=m
# CONFIG_PWM_LPSS_PCI is not set
@@ -9663,6 +9735,7 @@ CONFIG_MCB_LPC=m
CONFIG_RAS=y
CONFIG_USB4=m
# CONFIG_USB4_DEBUGFS_WRITE is not set
+# CONFIG_USB4_DMA_TEST is not set
#
# Android
@@ -9976,6 +10049,7 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y
# CONFIG_ROMFS_BACKED_BY_BOTH is not set
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_PSTORE=y
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS=m
# CONFIG_PSTORE_LZO_COMPRESS is not set
# CONFIG_PSTORE_LZ4_COMPRESS is not set
@@ -10064,6 +10138,7 @@ CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
+# CONFIG_CIFS_SWN_UPCALL is not set
# CONFIG_CIFS_SMB_DIRECT is not set
CONFIG_CIFS_FSCACHE=y
CONFIG_CODA_FS=m
@@ -10395,6 +10470,7 @@ CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_C3XXX=m
CONFIG_CRYPTO_DEV_QAT_C62X=m
+# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
@@ -10526,6 +10602,7 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_ALIGNMENT=8
# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPU_RMAP=y
@@ -10593,7 +10670,6 @@ CONFIG_DEBUG_BUGVERBOSE=y
# Compile-time checks and compiler options
#
# CONFIG_DEBUG_INFO is not set
-# CONFIG_ENABLE_MUST_CHECK is not set
CONFIG_FRAME_WARN=1024
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
@@ -10650,6 +10726,9 @@ CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
+# CONFIG_DEBUG_KMAP_LOCAL is not set
+CONFIG_ARCH_SUPPORTS_KMAP_LOCAL_FORCE_MAP=y
+# CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP is not set
# CONFIG_DEBUG_HIGHMEM is not set
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACKOVERFLOW is not set
@@ -10799,8 +10878,10 @@ CONFIG_HIST_TRIGGERS=y
# CONFIG_TRACEPOINT_BENCHMARK is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_TRACE_EVAL_MAP_FILE is not set
+# CONFIG_FTRACE_RECORD_RECURSION is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
+# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
# CONFIG_MMIOTRACE_TEST is not set
CONFIG_PREEMPTIRQ_DELAY_TEST=m
CONFIG_SYNTH_EVENT_GEN_TEST=m