diff options
author | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2022-11-01 18:08:46 -0700 |
---|---|---|
committer | jc_gargma <jc_gargma@iserlohn-fortress.net> | 2022-11-01 18:08:46 -0700 |
commit | 790575ea74dd5d17a721bb1217b7b95d571139d0 (patch) | |
tree | 0c00120d51baf1f3afacb979e129f406d8856698 | |
parent | Updated to 5.19.16 (diff) | |
download | linux-790575ea74dd5d17a721bb1217b7b95d571139d0.tar.xz |
Updated to 6.0.6
15 files changed, 555 insertions, 846 deletions
diff --git a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index 1b3180b..04859f1 100644 --- a/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,7 +1,7 @@ -From c885e42eb7f904c672d18899586f1d6498fbf16e Mon Sep 17 00:00:00 2001 +From f29dd9ddc7a2659e67f7f3ddfbf087a7729fd012 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/9] ZEN: Add sysctl and CONFIG to disallow unprivileged +Subject: [PATCH 1/8] ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. @@ -36,10 +36,10 @@ index 33a4240e6a6f..82213f9c4c17 100644 { return &init_user_ns; diff --git a/init/Kconfig b/init/Kconfig -index c7900e8975f1..ca4e43b7f31f 100644 +index 532362fcfe31..f13bb9f371a2 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1235,6 +1235,22 @@ config USER_NS +@@ -1241,6 +1241,22 @@ config USER_NS If unsure, say N. @@ -63,7 +63,7 @@ index c7900e8975f1..ca4e43b7f31f 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index d587c85f35b1..3d8e44ef18e5 100644 +index 2b6bd511c6ed..704fe6bc9cb4 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -99,6 +99,10 @@ @@ -77,7 +77,7 @@ index d587c85f35b1..3d8e44ef18e5 100644 #include <asm/pgalloc.h> #include <linux/uaccess.h> #include <asm/mmu_context.h> -@@ -1996,6 +2000,10 @@ static __latent_entropy struct task_struct *copy_process( +@@ -2009,6 +2013,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 d587c85f35b1..3d8e44ef18e5 100644 /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -3144,6 +3152,12 @@ int ksys_unshare(unsigned long unshare_flags) +@@ -3159,6 +3167,12 @@ int ksys_unshare(unsigned long unshare_flags) if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; @@ -102,7 +102,7 @@ index d587c85f35b1..3d8e44ef18e5 100644 if (err) goto bad_unshare_out; diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index 35d034219513..8e2c7326f0e8 100644 +index 205d605cacc5..d7247ec7ddda 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c @@ -81,6 +81,9 @@ @@ -115,7 +115,7 @@ index 35d034219513..8e2c7326f0e8 100644 #if defined(CONFIG_SYSCTL) -@@ -1608,6 +1611,15 @@ static struct ctl_table kern_table[] = { +@@ -1649,6 +1652,15 @@ static struct ctl_table kern_table[] = { .mode = 0644, .proc_handler = proc_dointvec, }, @@ -150,5 +150,5 @@ index 5481ba44a8d6..423ab2563ad7 100644 static DEFINE_MUTEX(userns_state_mutex); -- -2.37.2 +2.38.1 diff --git a/0002-drm-i915-psr-Use-full-update-In-case-of-area-calcula.patch b/0002-drm-i915-psr-Use-full-update-In-case-of-area-calcula.patch deleted file mode 100644 index 5416258..0000000 --- a/0002-drm-i915-psr-Use-full-update-In-case-of-area-calcula.patch +++ /dev/null @@ -1,65 +0,0 @@ -From f741527431e0510b876d68c7e7ec4286cbd41a24 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jouni=20H=C3=B6gander?= <jouni.hogander@intel.com> -Date: Fri, 13 May 2022 17:28:10 +0300 -Subject: [PATCH 2/9] drm/i915/psr: Use full update In case of area calculation - fails -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Currently we have some corner cases where area calculation fails. For -these sel fetch area calculation ends up having update area as y1 = 0, -y2 = 4. Instead of these values safer option is full update. - -One of such for example is big fb with offset. We don't have usable -offset in psr2_sel_fetch_update. Currently it's open what is the -proper way to fix this corner case. Use full update for now. - -v2: Commit message modified -v3: Print out debug info once when area calculation fails -v4: Use drm_info_once -v5: pipeA -> "pipe %c", pipe_name(crtc-pipe) - -Cc: José Roberto de Souza <jose.souza@intel.com> -Cc: Mika Kahola <mika.kahola@intel.com> -Signed-off-by: Jouni Högander <jouni.hogander@intel.com> -Reviewed-by: José Roberto de Souza <jose.souza@intel.com> ---- - drivers/gpu/drm/i915/display/intel_psr.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c -index 8f09203e0cf0..a0571c7249f1 100644 ---- a/drivers/gpu/drm/i915/display/intel_psr.c -+++ b/drivers/gpu/drm/i915/display/intel_psr.c -@@ -1691,6 +1691,7 @@ static bool psr2_sel_fetch_pipe_state_supported(const struct intel_crtc_state *c - int intel_psr2_sel_fetch_update(struct intel_atomic_state *state, - struct intel_crtc *crtc) - { -+ struct drm_i915_private *dev_priv = to_i915(state->base.dev); - struct intel_crtc_state *crtc_state = intel_atomic_get_new_crtc_state(state, crtc); - struct drm_rect pipe_clip = { .x1 = 0, .y1 = -1, .x2 = INT_MAX, .y2 = -1 }; - struct intel_plane_state *new_plane_state, *old_plane_state; -@@ -1776,6 +1777,19 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state, - clip_area_update(&pipe_clip, &damaged_area); - } - -+ /* -+ * TODO: For now we are just using full update in case -+ * selective fetch area calculation fails. To optimize this we -+ * should identify cases where this happens and fix the area -+ * calculation for those. -+ */ -+ if (pipe_clip.y1 == -1) { -+ drm_info_once(&dev_priv->drm, -+ "Selective fetch area calculation failed in pipe %c\n", -+ pipe_name(crtc->pipe)); -+ full_update = true; -+ } -+ - if (full_update) - goto skip_sel_fetch_set_loop; - --- -2.37.2 - diff --git a/0004-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch b/0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch index 9baac63..6b3bfd6 100644 --- a/0004-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch +++ b/0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch @@ -1,10 +1,10 @@ -From 9d77d1241d349911ea8cd269a1d1df9cc9c61644 Mon Sep 17 00:00:00 2001 +From f4a5411651f402b391dddccdebc43e3461e9f749 Mon Sep 17 00:00:00 2001 From: Johannes Weiner <hannes@cmpxchg.org> Date: Tue, 2 Aug 2022 12:28:11 -0400 -Subject: [PATCH 4/9] mm: vmscan: fix extreme overreclaim and swap floods +Subject: [PATCH 2/8] mm: vmscan: fix extreme overreclaim and swap floods -During proactive reclaim, we sometimes observe severe overreclaim, -with several thousand times more pages reclaimed than requested. +During proactive reclaim, we sometimes observe severe overreclaim, with +several thousand times more pages reclaimed than requested. This trace was obtained from shrink_lruvec() during such an instance: @@ -12,34 +12,33 @@ This trace was obtained from shrink_lruvec() during such an instance: nr_reclaimed:4387406 nr_to_reclaim:1047 (or_factor:4190) nr=[7161123 345 578 1111] -While he reclaimer requested 4M, vmscan reclaimed close to 16G, most -of it by swapping. These requests take over a minute, during which the -write() to memory.reclaim is unkillably stuck inside the kernel. +While he reclaimer requested 4M, vmscan reclaimed close to 16G, most of it +by swapping. These requests take over a minute, during which the write() +to memory.reclaim is unkillably stuck inside the kernel. Digging into the source, this is caused by the proportional reclaim -bailout logic. This code tries to resolve a fundamental conflict: to -reclaim roughly what was requested, while also aging all LRUs fairly -and in accordance to their size, swappiness, refault rates etc. The -way it attempts fairness is that once the reclaim goal has been -reached, it stops scanning the LRUs with the smaller remaining scan -targets, and adjusts the remainder of the bigger LRUs according to how -much of the smaller LRUs was scanned. It then finishes scanning that -remainder regardless of the reclaim goal. +bailout logic. This code tries to resolve a fundamental conflict: to +reclaim roughly what was requested, while also aging all LRUs fairly and +in accordance to their size, swappiness, refault rates etc. The way it +attempts fairness is that once the reclaim goal has been reached, it stops +scanning the LRUs with the smaller remaining scan targets, and adjusts the +remainder of the bigger LRUs according to how much of the smaller LRUs was +scanned. It then finishes scanning that remainder regardless of the +reclaim goal. This works fine if priority levels are low and the LRU lists are -comparable in size. However, in this instance, the cgroup that is -targeted by proactive reclaim has almost no files left - they've -already been squeezed out by proactive reclaim earlier - and the -remaining anon pages are hot. Anon rotations cause the priority level -to drop to 0, which results in reclaim targeting all of anon (a lot) -and all of file (almost nothing). By the time reclaim decides to bail, -it has scanned most or all of the file target, and therefor must also -scan most or all of the enormous anon target. This target is thousands -of times larger than the reclaim goal, thus causing the overreclaim. - -The bailout code hasn't changed in years, why is this failing now? -The most likely explanations are two other recent changes in anon -reclaim: +comparable in size. However, in this instance, the cgroup that is +targeted by proactive reclaim has almost no files left - they've already +been squeezed out by proactive reclaim earlier - and the remaining anon +pages are hot. Anon rotations cause the priority level to drop to 0, +which results in reclaim targeting all of anon (a lot) and all of file +(almost nothing). By the time reclaim decides to bail, it has scanned +most or all of the file target, and therefor must also scan most or all of +the enormous anon target. This target is thousands of times larger than +the reclaim goal, thus causing the overreclaim. + +The bailout code hasn't changed in years, why is this failing now? The +most likely explanations are two other recent changes in anon reclaim: 1. Before the series starting with commit 5df741963d52 ("mm: fix LRU balancing effect of new transparent huge pages"), the VM was @@ -63,31 +62,38 @@ reclaim: As a result, the VM is now more likely to actually finish large anon targets than before. -Change the code such that only one SWAP_CLUSTER_MAX-sized nudge toward -the larger LRU lists is made before bailing out on a met reclaim goal. +Change the code such that only one SWAP_CLUSTER_MAX-sized nudge toward the +larger LRU lists is made before bailing out on a met reclaim goal. This fixes the extreme overreclaim problem. -Fairness is more subtle and harder to evaluate. No obvious misbehavior -was observed on the test workload, in any case. Conceptually, fairness +Fairness is more subtle and harder to evaluate. No obvious misbehavior +was observed on the test workload, in any case. Conceptually, fairness should primarily be a cumulative effect from regular, lower priority -scans. Once the VM is in trouble and needs to escalate scan targets to -make forward progress, fairness needs to take a backseat. This is also -acknowledged by the myriad exceptions in get_scan_count(). This patch -makes fairness decrease gradually, as it keeps fairness work static -over increasing priority levels with growing scan targets. This should -make more sense - although we may have to re-visit the exact values. - +scans. Once the VM is in trouble and needs to escalate scan targets to +make forward progress, fairness needs to take a backseat. This is also +acknowledged by the myriad exceptions in get_scan_count(). This patch +makes fairness decrease gradually, as it keeps fairness work static over +increasing priority levels with growing scan targets. This should make +more sense - although we may have to re-visit the exact values. + +Link: https://lkml.kernel.org/r/20220802162811.39216-1-hannes@cmpxchg.org Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> +Reviewed-by: Rik van Riel <riel@surriel.com> +Acked-by: Mel Gorman <mgorman@techsingularity.net> +Cc: Hugh Dickins <hughd@google.com> +Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com> +Cc: <stable@vger.kernel.org> +Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- mm/vmscan.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c -index f7d9a683e3a7..1cc0c6666787 100644 +index 382dbe97329f..266eb8cfe93a 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -2897,8 +2897,8 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) +@@ -2955,8 +2955,8 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) enum lru_list lru; unsigned long nr_reclaimed = 0; unsigned long nr_to_reclaim = sc->nr_to_reclaim; @@ -97,7 +103,7 @@ index f7d9a683e3a7..1cc0c6666787 100644 get_scan_count(lruvec, sc, nr); -@@ -2916,8 +2916,8 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) +@@ -2974,8 +2974,8 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) * abort proportional reclaim if either the file or anon lru has already * dropped to zero at the first pass. */ @@ -108,7 +114,7 @@ index f7d9a683e3a7..1cc0c6666787 100644 blk_start_plug(&plug); while (nr[LRU_INACTIVE_ANON] || nr[LRU_ACTIVE_FILE] || -@@ -2937,7 +2937,7 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) +@@ -2995,7 +2995,7 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) cond_resched(); @@ -117,7 +123,7 @@ index f7d9a683e3a7..1cc0c6666787 100644 continue; /* -@@ -2988,8 +2988,6 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) +@@ -3046,8 +3046,6 @@ static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) nr_scanned = targets[lru] - nr[lru]; nr[lru] = targets[lru] * (100 - percentage) / 100; nr[lru] -= min(nr[lru], nr_scanned); @@ -127,5 +133,5 @@ index f7d9a683e3a7..1cc0c6666787 100644 blk_finish_plug(&plug); sc->nr_reclaimed += nr_reclaimed; -- -2.37.2 +2.38.1 diff --git a/0003-drm-i915-Ensure-damage-clip-area-is-within-pipe-area.patch b/0003-drm-i915-Ensure-damage-clip-area-is-within-pipe-area.patch deleted file mode 100644 index 29e2c3a..0000000 --- a/0003-drm-i915-Ensure-damage-clip-area-is-within-pipe-area.patch +++ /dev/null @@ -1,105 +0,0 @@ -From 05a080996060663c466061d348af4c67801c87d1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jouni=20H=C3=B6gander?= <jouni.hogander@intel.com> -Date: Fri, 13 May 2022 17:28:11 +0300 -Subject: [PATCH 3/9] drm/i915: Ensure damage clip area is within pipe area -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Current update area calculation is not handling situation where -e.g. cursor plane is fully or partially outside pipe area. - -Fix this by checking damage area against pipe_src area using -drm_rect_intersect. - -v2: Set x1 and x2 in damaged_area initialization -v3: Move drm_rect_intersect into clip_area_update -v4: draw_area -> pipe_src - -Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/5440 -Cc: José Roberto de Souza <jose.souza@intel.com> -Cc: Mika Kahola <mika.kahola@intel.com> - -Reviewed-by: José Roberto de Souza <jose.souza@intel.com> -Signed-off-by: Jouni Högander <jouni.hogander@intel.com> ---- - drivers/gpu/drm/i915/display/intel_psr.c | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - -diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c -index a0571c7249f1..7d61c55184e5 100644 ---- a/drivers/gpu/drm/i915/display/intel_psr.c -+++ b/drivers/gpu/drm/i915/display/intel_psr.c -@@ -1624,8 +1624,12 @@ static void psr2_man_trk_ctl_calc(struct intel_crtc_state *crtc_state, - } - - static void clip_area_update(struct drm_rect *overlap_damage_area, -- struct drm_rect *damage_area) -+ struct drm_rect *damage_area, -+ struct drm_rect *pipe_src) - { -+ if (!drm_rect_intersect(damage_area, pipe_src)) -+ return; -+ - if (overlap_damage_area->y1 == -1) { - overlap_damage_area->y1 = damage_area->y1; - overlap_damage_area->y2 = damage_area->y2; -@@ -1715,7 +1719,8 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state, - */ - for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state, - new_plane_state, i) { -- struct drm_rect src, damaged_area = { .y1 = -1 }; -+ struct drm_rect src, damaged_area = { .x1 = 0, .y1 = -1, -+ .x2 = INT_MAX }; - struct drm_atomic_helper_damage_iter iter; - struct drm_rect clip; - -@@ -1742,20 +1747,23 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state, - if (old_plane_state->uapi.visible) { - damaged_area.y1 = old_plane_state->uapi.dst.y1; - damaged_area.y2 = old_plane_state->uapi.dst.y2; -- clip_area_update(&pipe_clip, &damaged_area); -+ clip_area_update(&pipe_clip, &damaged_area, -+ &crtc_state->pipe_src); - } - - if (new_plane_state->uapi.visible) { - damaged_area.y1 = new_plane_state->uapi.dst.y1; - damaged_area.y2 = new_plane_state->uapi.dst.y2; -- clip_area_update(&pipe_clip, &damaged_area); -+ clip_area_update(&pipe_clip, &damaged_area, -+ &crtc_state->pipe_src); - } - continue; - } else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha) { - /* If alpha changed mark the whole plane area as damaged */ - damaged_area.y1 = new_plane_state->uapi.dst.y1; - damaged_area.y2 = new_plane_state->uapi.dst.y2; -- clip_area_update(&pipe_clip, &damaged_area); -+ clip_area_update(&pipe_clip, &damaged_area, -+ &crtc_state->pipe_src); - continue; - } - -@@ -1766,7 +1774,8 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state, - &new_plane_state->uapi); - drm_atomic_for_each_plane_damage(&iter, &clip) { - if (drm_rect_intersect(&clip, &src)) -- clip_area_update(&damaged_area, &clip); -+ clip_area_update(&damaged_area, &clip, -+ &crtc_state->pipe_src); - } - - if (damaged_area.y1 == -1) -@@ -1774,7 +1783,7 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state, - - damaged_area.y1 += new_plane_state->uapi.dst.y1 - src.y1; - damaged_area.y2 += new_plane_state->uapi.dst.y1 - src.y1; -- clip_area_update(&pipe_clip, &damaged_area); -+ clip_area_update(&pipe_clip, &damaged_area, &crtc_state->pipe_src); - } - - /* --- -2.37.2 - diff --git a/0003-soundwire-intel-Initialize-clock-stop-timeout.patch b/0003-soundwire-intel-Initialize-clock-stop-timeout.patch new file mode 100644 index 0000000..c00810e --- /dev/null +++ b/0003-soundwire-intel-Initialize-clock-stop-timeout.patch @@ -0,0 +1,38 @@ +From f4e799545c0fc46a5899853f60776adc8671776c Mon Sep 17 00:00:00 2001 +From: Sjoerd Simons <sjoerd@collabora.com> +Date: Sat, 8 Oct 2022 21:57:51 +0200 +Subject: [PATCH 3/8] soundwire: intel: Initialize clock stop timeout + +The bus->clk_stop_timeout member is only initialized to a non-zero value +during the codec driver probe. This can lead to corner cases where this +value remains pegged at zero when the bus suspends, which results in an +endless loop in sdw_bus_wait_for_clk_prep_deprep(). + +Corner cases include configurations with no codecs described in the +firmware, or delays in probing codec drivers. + +Initializing the default timeout to the smallest non-zero value avoid this +problem and allows for the existing logic to be preserved: the +bus->clk_stop_timeout is set as the maximum required by all codecs +connected on the bus. + +Signed-off-by: Sjoerd Simons <sjoerd@collabora.com> +--- + drivers/soundwire/intel.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c +index af6c1a93372d..002bc26b525e 100644 +--- a/drivers/soundwire/intel.c ++++ b/drivers/soundwire/intel.c +@@ -1307,6 +1307,7 @@ static int intel_link_probe(struct auxiliary_device *auxdev, + cdns->msg_count = 0; + + bus->link_id = auxdev->id; ++ bus->clk_stop_timeout = 1; + + sdw_cdns_probe(cdns); + +-- +2.38.1 + diff --git a/0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch b/0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch new file mode 100644 index 0000000..738c8e0 --- /dev/null +++ b/0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch @@ -0,0 +1,55 @@ +From 87336625589872206597baab173ae6014ddf1750 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Fri, 7 Oct 2022 09:51:13 +0200 +Subject: [PATCH 4/8] drm/sched: add DRM_SCHED_FENCE_DONT_PIPELINE flag +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Setting this flag on a scheduler fence prevents pipelining of jobs +depending on this fence. In other words we always insert a full CPU +round trip before dependen jobs are pushed to the pipeline. + +Signed-off-by: Christian König <christian.koenig@amd.com> +--- + drivers/gpu/drm/scheduler/sched_entity.c | 3 ++- + include/drm/gpu_scheduler.h | 9 +++++++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/scheduler/sched_entity.c b/drivers/gpu/drm/scheduler/sched_entity.c +index 6b25b2f4f5a3..6137537aaea4 100644 +--- a/drivers/gpu/drm/scheduler/sched_entity.c ++++ b/drivers/gpu/drm/scheduler/sched_entity.c +@@ -385,7 +385,8 @@ static bool drm_sched_entity_add_dependency_cb(struct drm_sched_entity *entity) + } + + s_fence = to_drm_sched_fence(fence); +- if (s_fence && s_fence->sched == sched) { ++ if (s_fence && s_fence->sched == sched && ++ !test_bit(DRM_SCHED_FENCE_DONT_PIPELINE, &fence->flags)) { + + /* + * Fence is from the same scheduler, only need to wait for +diff --git a/include/drm/gpu_scheduler.h b/include/drm/gpu_scheduler.h +index addb135eeea6..289a33e80639 100644 +--- a/include/drm/gpu_scheduler.h ++++ b/include/drm/gpu_scheduler.h +@@ -32,6 +32,15 @@ + + #define MAX_WAIT_SCHED_ENTITY_Q_EMPTY msecs_to_jiffies(1000) + ++/** ++ * DRM_SCHED_FENCE_DONT_PIPELINE - Prefent dependency pipelining ++ * ++ * Setting this flag on a scheduler fence prevents pipelining of jobs depending ++ * on this fence. In other words we always insert a full CPU round trip before ++ * dependen jobs are pushed to the hw queue. ++ */ ++#define DRM_SCHED_FENCE_DONT_PIPELINE DMA_FENCE_FLAG_USER_BITS ++ + struct drm_gem_object; + + struct drm_gpu_scheduler; +-- +2.38.1 + diff --git a/0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch b/0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch new file mode 100644 index 0000000..e27774e --- /dev/null +++ b/0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch @@ -0,0 +1,41 @@ +From 2b078fa1fdcbd43a042ff49ad70f6ab2a22dffb3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com> +Date: Fri, 7 Oct 2022 10:59:58 +0200 +Subject: [PATCH 5/8] drm/amdgpu: use DRM_SCHED_FENCE_DONT_PIPELINE for VM + updates +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Make sure that we always have a CPU round trip to let the submission +code correctly decide if a TLB flush is necessary or not. + +Signed-off-by: Christian König <christian.koenig@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c +index 718db7d98e5a..25ad3c7fa24b 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c +@@ -115,8 +115,15 @@ static int amdgpu_vm_sdma_commit(struct amdgpu_vm_update_params *p, + amdgpu_bo_fence(p->vm->root.bo, f, true); + } + +- if (fence && !p->immediate) ++ if (fence && !p->immediate) { ++ /* ++ * Most hw generations now have a separate queue for page table ++ * updates, but when the queue is shared with userspace we need ++ * the extra CPU round trip to correctly flush the TLB. ++ */ ++ set_bit(DRM_SCHED_FENCE_DONT_PIPELINE, &f->flags); + swap(*fence, f); ++ } + dma_fence_put(f); + return 0; + +-- +2.38.1 + diff --git a/0005-soundwire-intel-use-pm_runtime_resume-on-component-p.patch b/0005-soundwire-intel-use-pm_runtime_resume-on-component-p.patch deleted file mode 100644 index c8ba70e..0000000 --- a/0005-soundwire-intel-use-pm_runtime_resume-on-component-p.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 3d9b4e7b1383020f9b0c586017adbd9c3e0461ff Mon Sep 17 00:00:00 2001 -From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> -Date: Tue, 21 Jun 2022 17:56:40 -0500 -Subject: [PATCH 5/9] soundwire: intel: use pm_runtime_resume() on component - probe -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -During the card registration, transactions on the SoundWire bus can be -initiated. If the ALSA card is registered after the bus suspends, -timeouts can be seen while reading/writing codec registers. This is -extremely easy to reproduce in driver bind/unbind tests. - -In an initial experiment, the ASoC soc-component.c code was modified -to initiate a pm_runtime resume on a component probe. The results -showed this was too invasive. Instead this patch suggests resuming the -SoundWire component only. - -Because of the parent-child hierarchy enforced by the pm_runtime -framework, it can be argued that the codec component probe should be -enough to resume all necessary devices, and indeed the same resume -will be applied to SoundWire codecs used on Intel platforms. - -Calling pm_runtime_resume() on both the Intel and codec sides has the -benefit of resuming the bus without assuming any order during the card -registration. The first component on a dailink to be probed will -resume the bus. In addition, if a codec driver did not implement this -transition, the Intel component would still resume the bus and avoid -timeouts on card registration. - -BugLink: https://github.com/thesofproject/linux/issues/3651 -Reviewed-by: Rander Wang <rander.wang@intel.com> -Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> -Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com> -Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> -Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> -Link: https://lore.kernel.org/r/20220621225641.221170-4-pierre-louis.bossart@linux.intel.com -Signed-off-by: Vinod Koul <vkoul@kernel.org> ---- - drivers/soundwire/intel.c | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -diff --git a/drivers/soundwire/intel.c b/drivers/soundwire/intel.c -index 505c5ef061e3..95ce292994cc 100644 ---- a/drivers/soundwire/intel.c -+++ b/drivers/soundwire/intel.c -@@ -1043,6 +1043,23 @@ static int intel_trigger(struct snd_pcm_substream *substream, int cmd, struct sn - return ret; - } - -+static int intel_component_probe(struct snd_soc_component *component) -+{ -+ int ret; -+ -+ /* -+ * make sure the device is pm_runtime_active before initiating -+ * bus transactions during the card registration. -+ * We use pm_runtime_resume() here, without taking a reference -+ * and releasing it immediately. -+ */ -+ ret = pm_runtime_resume(component->dev); -+ if (ret < 0 && ret != -EACCES) -+ return ret; -+ -+ return 0; -+} -+ - static int intel_component_dais_suspend(struct snd_soc_component *component) - { - struct snd_soc_dai *dai; -@@ -1098,6 +1115,7 @@ static const struct snd_soc_dai_ops intel_pcm_dai_ops = { - - static const struct snd_soc_component_driver dai_component = { - .name = "soundwire", -+ .probe = intel_component_probe, - .suspend = intel_component_dais_suspend - }; - --- -2.37.2 - diff --git a/0006-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch b/0006-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch deleted file mode 100644 index 2bd9764..0000000 --- a/0006-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch +++ /dev/null @@ -1,231 +0,0 @@ -From f6cb7590fb92964a67da2d92920849f34d646326 Mon Sep 17 00:00:00 2001 -From: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com> -Date: Mon, 4 Oct 2021 14:07:34 -0400 -Subject: [PATCH 6/9] Bluetooth: fix deadlock for RFCOMM sk state change - -Syzbot reports the following task hang [1]: - -INFO: task syz-executor255:8499 blocked for more than 143 seconds. - Not tainted 5.14.0-rc7-syzkaller #0 - -Call Trace: - context_switch kernel/sched/core.c:4681 [inline] - __schedule+0x93a/0x26f0 kernel/sched/core.c:5938 - schedule+0xd3/0x270 kernel/sched/core.c:6017 - __lock_sock+0x13d/0x260 net/core/sock.c:2644 - lock_sock_nested+0xf6/0x120 net/core/sock.c:3185 - lock_sock include/net/sock.h:1612 [inline] - rfcomm_sk_state_change+0xb4/0x390 net/bluetooth/rfcomm/sock.c:73 - __rfcomm_dlc_close+0x1b6/0x8a0 net/bluetooth/rfcomm/core.c:489 - rfcomm_dlc_close+0x1ea/0x240 net/bluetooth/rfcomm/core.c:520 - __rfcomm_sock_close+0xac/0x260 net/bluetooth/rfcomm/sock.c:220 - rfcomm_sock_shutdown+0xe9/0x210 net/bluetooth/rfcomm/sock.c:931 - rfcomm_sock_release+0x5f/0x140 net/bluetooth/rfcomm/sock.c:951 - __sock_release+0xcd/0x280 net/socket.c:649 - sock_close+0x18/0x20 net/socket.c:1314 - __fput+0x288/0x920 fs/file_table.c:280 - task_work_run+0xdd/0x1a0 kernel/task_work.c:164 - exit_task_work include/linux/task_work.h:32 [inline] - do_exit+0xbd4/0x2a60 kernel/exit.c:825 - do_group_exit+0x125/0x310 kernel/exit.c:922 - get_signal+0x47f/0x2160 kernel/signal.c:2808 - arch_do_signal_or_restart+0x2a9/0x1c40 arch/x86/kernel/signal.c:865 - handle_signal_work kernel/entry/common.c:148 [inline] - exit_to_user_mode_loop kernel/entry/common.c:172 [inline] - exit_to_user_mode_prepare+0x17d/0x290 kernel/entry/common.c:209 - __syscall_exit_to_user_mode_work kernel/entry/common.c:291 [inline] - syscall_exit_to_user_mode+0x19/0x60 kernel/entry/common.c:302 - do_syscall_64+0x42/0xb0 arch/x86/entry/common.c:86 - entry_SYSCALL_64_after_hwframe+0x44/0xae - -Showing all locks held in the system: -1 lock held by khungtaskd/1653: - #0: ffffffff8b97c280 (rcu_read_lock){....}-{1:2}, at: - debug_show_all_locks+0x53/0x260 kernel/locking/lockdep.c:6446 -1 lock held by krfcommd/4781: - #0: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_process_sessions net/bluetooth/rfcomm/core.c:1979 [inline] - #0: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_run+0x2ed/0x4a20 net/bluetooth/rfcomm/core.c:2086 -2 locks held by in:imklog/8206: - #0: ffff8880182ce5f0 (&f->f_pos_lock){+.+.}-{3:3}, at: - __fdget_pos+0xe9/0x100 fs/file.c:974 - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: - raw_spin_rq_lock_nested kernel/sched/core.c:460 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: raw_spin_rq_lock - kernel/sched/sched.h:1307 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: rq_lock - kernel/sched/sched.h:1610 [inline] - #1: ffff8880b9c51a58 (&rq->__lock){-.-.}-{2:2}, at: - __schedule+0x233/0x26f0 kernel/sched/core.c:5852 -4 locks held by syz-executor255/8499: - #0: ffff888039a83690 (&sb->s_type->i_mutex_key#13){+.+.}-{3:3}, at: - inode_lock include/linux/fs.h:774 [inline] - #0: ffff888039a83690 (&sb->s_type->i_mutex_key#13){+.+.}-{3:3}, at: - __sock_release+0x86/0x280 net/socket.c:648 - #1: - ffff88802fa31120 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, - at: lock_sock include/net/sock.h:1612 [inline] - #1: - ffff88802fa31120 (sk_lock-AF_BLUETOOTH-BTPROTO_RFCOMM){+.+.}-{0:0}, - at: rfcomm_sock_shutdown+0x54/0x210 net/bluetooth/rfcomm/sock.c:928 - #2: ffffffff8d306528 (rfcomm_mutex){+.+.}-{3:3}, at: - rfcomm_dlc_close+0x34/0x240 net/bluetooth/rfcomm/core.c:507 - #3: ffff888141bd6d28 (&d->lock){+.+.}-{3:3}, at: - __rfcomm_dlc_close+0x162/0x8a0 net/bluetooth/rfcomm/core.c:487 -================================================================== - -The task hangs because of a deadlock that occurs when lock_sock() is -called in rfcomm_sk_state_change(). One such call stack is: - - rfcomm_sock_shutdown(): - lock_sock(); - __rfcomm_sock_close(): - rfcomm_dlc_close(): - __rfcomm_dlc_close(): - rfcomm_dlc_lock(); - rfcomm_sk_state_change(): - lock_sock(); - -lock_sock() has to be called when the sk state is changed because the -lock is not always held when rfcomm_sk_state_change() is -called. However, besides the recursive deadlock, there is also an -issue of a lock hierarchy inversion between rfcomm_dlc_lock() and -lock_sock() if the socket is locked in rfcomm_sk_state_change(). - -To avoid these issues, we can instead schedule the sk state change in -the global workqueue. This is already the implicit assumption about -how sk state changes happen. For example, in rfcomm_sock_shutdown(), -the call to __rfcomm_sock_close() is followed by -bt_sock_wait_state(). - -Additionally, the call to rfcomm_sock_kill() inside -rfcomm_sk_state_change() should be removed. The socket shouldn't be -killed here because only rfcomm_sock_release() calls sock_orphan(), -which it already follows up with a call to rfcomm_sock_kill(). - -Fixes: b7ce436a5d79 ("Bluetooth: switch to lock_sock in RFCOMM") -Link: https://syzkaller.appspot.com/bug?extid=7d51f807c81b190a127d [1] -Reported-by: syzbot+7d51f807c81b190a127d@syzkaller.appspotmail.com -Tested-by: syzbot+7d51f807c81b190a127d@syzkaller.appspotmail.com -Signed-off-by: Desmond Cheong Zhi Xi <desmondcheongzx@gmail.com> -Cc: Hillf Danton <hdanton@sina.com> ---- - include/net/bluetooth/rfcomm.h | 3 +++ - net/bluetooth/rfcomm/core.c | 2 ++ - net/bluetooth/rfcomm/sock.c | 34 ++++++++++++++++++++++------------ - 3 files changed, 27 insertions(+), 12 deletions(-) - -diff --git a/include/net/bluetooth/rfcomm.h b/include/net/bluetooth/rfcomm.h -index 99d26879b02a..a92799fc5e74 100644 ---- a/include/net/bluetooth/rfcomm.h -+++ b/include/net/bluetooth/rfcomm.h -@@ -171,6 +171,7 @@ struct rfcomm_dlc { - struct rfcomm_session *session; - struct sk_buff_head tx_queue; - struct timer_list timer; -+ struct work_struct state_change_work; - - struct mutex lock; - unsigned long state; -@@ -186,6 +187,7 @@ struct rfcomm_dlc { - u8 sec_level; - u8 role_switch; - u32 defer_setup; -+ int err; - - uint mtu; - uint cfc; -@@ -310,6 +312,7 @@ struct rfcomm_pinfo { - u8 role_switch; - }; - -+void __rfcomm_sk_state_change(struct work_struct *work); - int rfcomm_init_sockets(void); - void rfcomm_cleanup_sockets(void); - -diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c -index 7324764384b6..c6494e85cd68 100644 ---- a/net/bluetooth/rfcomm/core.c -+++ b/net/bluetooth/rfcomm/core.c -@@ -289,6 +289,7 @@ static void rfcomm_dlc_clear_state(struct rfcomm_dlc *d) - d->flags = 0; - d->mscex = 0; - d->sec_level = BT_SECURITY_LOW; -+ d->err = 0; - d->mtu = RFCOMM_DEFAULT_MTU; - d->v24_sig = RFCOMM_V24_RTC | RFCOMM_V24_RTR | RFCOMM_V24_DV; - -@@ -306,6 +307,7 @@ struct rfcomm_dlc *rfcomm_dlc_alloc(gfp_t prio) - timer_setup(&d->timer, rfcomm_dlc_timeout, 0); - - skb_queue_head_init(&d->tx_queue); -+ INIT_WORK(&d->state_change_work, __rfcomm_sk_state_change); - mutex_init(&d->lock); - refcount_set(&d->refcnt, 1); - -diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c -index 4bf4ea6cbb5e..4850dafbaa05 100644 ---- a/net/bluetooth/rfcomm/sock.c -+++ b/net/bluetooth/rfcomm/sock.c -@@ -61,19 +61,22 @@ static void rfcomm_sk_data_ready(struct rfcomm_dlc *d, struct sk_buff *skb) - rfcomm_dlc_throttle(d); - } - --static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) -+void __rfcomm_sk_state_change(struct work_struct *work) - { -+ struct rfcomm_dlc *d = container_of(work, struct rfcomm_dlc, -+ state_change_work); - struct sock *sk = d->owner, *parent; - - if (!sk) - return; - -- BT_DBG("dlc %p state %ld err %d", d, d->state, err); -- - lock_sock(sk); -+ rfcomm_dlc_lock(d); - -- if (err) -- sk->sk_err = err; -+ BT_DBG("dlc %p state %ld err %d", d, d->state, d->err); -+ -+ if (d->err) -+ sk->sk_err = d->err; - - sk->sk_state = d->state; - -@@ -91,15 +94,22 @@ static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) - sk->sk_state_change(sk); - } - -+ rfcomm_dlc_unlock(d); - release_sock(sk); -+ sock_put(sk); -+} - -- if (parent && sock_flag(sk, SOCK_ZAPPED)) { -- /* We have to drop DLC lock here, otherwise -- * rfcomm_sock_destruct() will dead lock. */ -- rfcomm_dlc_unlock(d); -- rfcomm_sock_kill(sk); -- rfcomm_dlc_lock(d); -- } -+static void rfcomm_sk_state_change(struct rfcomm_dlc *d, int err) -+{ -+ struct sock *sk = d->owner; -+ -+ if (!sk) -+ return; -+ -+ d->err = err; -+ sock_hold(sk); -+ if (!schedule_work(&d->state_change_work)) -+ sock_put(sk); - } - - /* ---- Socket functions ---- */ --- -2.37.2 - diff --git a/0006-drm-amdgpu-Fix-VRAM-BO-swap-issue.patch b/0006-drm-amdgpu-Fix-VRAM-BO-swap-issue.patch new file mode 100644 index 0000000..f58574f --- /dev/null +++ b/0006-drm-amdgpu-Fix-VRAM-BO-swap-issue.patch @@ -0,0 +1,68 @@ +From f2712d9d94e98733953cf567f32f7755800464ae Mon Sep 17 00:00:00 2001 +From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> +Date: Tue, 4 Oct 2022 07:33:39 -0700 +Subject: [PATCH 6/8] drm/amdgpu: Fix VRAM BO swap issue +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +DRM buddy manager allocates the contiguous memory requests in +a single block or multiple blocks. So for the ttm move operation +(incase of low vram memory) we should consider all the blocks to +compute the total memory size which compared with the struct +ttm_resource num_pages in order to verify that the blocks are +contiguous for the eviction process. + +v2: Added a Fixes tag +v3: Rewrite the code to save a bit of calculations and + variables (Christian) + +Fixes: c9cad937c0c5 ("drm/amdgpu: add drm buddy support to amdgpu") +Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> +Reviewed-by: Christian König <christian.koenig@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 17 ++++++++++++----- + 1 file changed, 12 insertions(+), 5 deletions(-) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +index 134575a3893c..794062ab57fc 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +@@ -424,8 +424,9 @@ static int amdgpu_move_blit(struct ttm_buffer_object *bo, + static bool amdgpu_mem_visible(struct amdgpu_device *adev, + struct ttm_resource *mem) + { +- uint64_t mem_size = (u64)mem->num_pages << PAGE_SHIFT; ++ u64 mem_size = (u64)mem->num_pages << PAGE_SHIFT; + struct amdgpu_res_cursor cursor; ++ u64 end; + + if (mem->mem_type == TTM_PL_SYSTEM || + mem->mem_type == TTM_PL_TT) +@@ -434,12 +435,18 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev, + return false; + + amdgpu_res_first(mem, 0, mem_size, &cursor); ++ end = cursor.start + cursor.size; ++ while (cursor.remaining) { ++ amdgpu_res_next(&cursor, cursor.size); + +- /* ttm_resource_ioremap only supports contiguous memory */ +- if (cursor.size != mem_size) +- return false; ++ /* ttm_resource_ioremap only supports contiguous memory */ ++ if (end != cursor.start) ++ return false; ++ ++ end = cursor.start + cursor.size; ++ } + +- return cursor.start + cursor.size <= adev->gmc.visible_vram_size; ++ return end <= adev->gmc.visible_vram_size; + } + + /* +-- +2.38.1 + diff --git a/0007-ASoC-Intel-sof_sdw-add-support-for-Dell-SKU-0AFF.patch b/0007-ASoC-Intel-sof_sdw-add-support-for-Dell-SKU-0AFF.patch deleted file mode 100644 index d6e8b9d..0000000 --- a/0007-ASoC-Intel-sof_sdw-add-support-for-Dell-SKU-0AFF.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 6baaafff07d5e0ddc546c97518d70b6533094513 Mon Sep 17 00:00:00 2001 -From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> -Date: Tue, 13 Sep 2022 10:10:36 +0200 -Subject: [PATCH 7/9] ASoC: Intel: sof_sdw: add support for Dell SKU 0AFF - -Yet another SKU that needs a quirk for jack detection and four-speaker -support. - -BugLink: https://github.com/thesofproject/linux/issues/3777 -Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> ---- - sound/soc/intel/boards/sof_sdw.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/sound/soc/intel/boards/sof_sdw.c b/sound/soc/intel/boards/sof_sdw.c -index ad826ad82d51..cfeef8994be3 100644 ---- a/sound/soc/intel/boards/sof_sdw.c -+++ b/sound/soc/intel/boards/sof_sdw.c -@@ -256,6 +256,16 @@ static const struct dmi_system_id sof_sdw_quirk_table[] = { - .driver_data = (void *)(SOF_SDW_TGL_HDMI | - SOF_SDW_FOUR_SPK), - }, -+ { -+ .callback = sof_sdw_quirk_cb, -+ .matches = { -+ DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), -+ DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0AFF") -+ }, -+ .driver_data = (void *)(SOF_SDW_TGL_HDMI | -+ RT711_JD2 | -+ SOF_SDW_FOUR_SPK), -+ }, - { - .callback = sof_sdw_quirk_cb, - .matches = { --- -2.37.2 - diff --git a/0007-drm-amdgpu-Fix-for-BO-move-issue.patch b/0007-drm-amdgpu-Fix-for-BO-move-issue.patch new file mode 100644 index 0000000..5543dc5 --- /dev/null +++ b/0007-drm-amdgpu-Fix-for-BO-move-issue.patch @@ -0,0 +1,30 @@ +From 75ff02c24828d71bf13730e1a0b499591a1a4cef Mon Sep 17 00:00:00 2001 +From: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> +Date: Mon, 17 Oct 2022 13:15:21 -0700 +Subject: [PATCH 7/8] drm/amdgpu: Fix for BO move issue + +If there are no blocks to compare then exit +the loop. + +Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> +--- + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +index 794062ab57fc..9e6c23266a1a 100644 +--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c ++++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +@@ -439,6 +439,9 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev, + while (cursor.remaining) { + amdgpu_res_next(&cursor, cursor.size); + ++ if (!cursor.remaining) ++ break; ++ + /* ttm_resource_ioremap only supports contiguous memory */ + if (end != cursor.start) + return false; +-- +2.38.1 + diff --git a/0008-ACPI-processor-idle-Practically-limit-Dummy-wait-wor.patch b/0008-ACPI-processor-idle-Practically-limit-Dummy-wait-wor.patch deleted file mode 100644 index 2e5ecaf..0000000 --- a/0008-ACPI-processor-idle-Practically-limit-Dummy-wait-wor.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 3003a9e309999c6417f2927fa3689ee8e45c9be2 Mon Sep 17 00:00:00 2001 -From: Dave Hansen <dave.hansen@intel.com> -Date: Thu, 22 Sep 2022 11:47:45 -0700 -Subject: [PATCH 8/9] ACPI: processor idle: Practically limit "Dummy wait" - workaround to old Intel systems - -Old, circa 2002 chipsets have a bug: they don't go idle when they are -supposed to. So, a workaround was added to slow the CPU down and -ensure that the CPU waits a bit for the chipset to actually go idle. -This workaround is ancient and has been in place in some form since -the original kernel ACPI implementation. - -But, this workaround is very painful on modern systems. The "inl()" -can take thousands of cycles (see Link: for some more detailed -numbers and some fun kernel archaeology). - -First and foremost, modern systems should not be using this code. -Typical Intel systems have not used it in over a decade because it is -horribly inferior to MWAIT-based idle. - -Despite this, people do seem to be tripping over this workaround on -AMD system today. - -Limit the "dummy wait" workaround to Intel systems. Keep Modern AMD -systems from tripping over the workaround. Remotely modern Intel -systems use intel_idle instead of this code and will, in practice, -remain unaffected by the dummy wait. - -Reported-by: K Prateek Nayak <kprateek.nayak@amd.com> -Suggested-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> -Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com> -Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> -Tested-by: K Prateek Nayak <kprateek.nayak@amd.com> -Link: https://lore.kernel.org/all/20220921063638.2489-1-kprateek.nayak@amd.com/ -Link: https://lkml.kernel.org/r/20220922184745.3252932-1-dave.hansen@intel.com ---- - drivers/acpi/processor_idle.c | 23 ++++++++++++++++++++--- - 1 file changed, 20 insertions(+), 3 deletions(-) - -diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c -index 13200969ccf3..5168b6624b42 100644 ---- a/drivers/acpi/processor_idle.c -+++ b/drivers/acpi/processor_idle.c -@@ -530,10 +530,27 @@ static void wait_for_freeze(void) - /* No delay is needed if we are in guest */ - if (boot_cpu_has(X86_FEATURE_HYPERVISOR)) - return; -+ /* -+ * Modern (>=Nehalem) Intel systems use ACPI via intel_idle, -+ * not this code. Assume that any Intel systems using this -+ * are ancient and may need the dummy wait. This also assumes -+ * that the motivating chipset issue was Intel-only. -+ */ -+ if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) -+ return; - #endif -- /* Dummy wait op - must do something useless after P_LVL2 read -- because chipsets cannot guarantee that STPCLK# signal -- gets asserted in time to freeze execution properly. */ -+ /* -+ * Dummy wait op - must do something useless after P_LVL2 read -+ * because chipsets cannot guarantee that STPCLK# signal gets -+ * asserted in time to freeze execution properly -+ * -+ * This workaround has been in place since the original ACPI -+ * implementation was merged, circa 2002. -+ * -+ * If a profile is pointing to this instruction, please first -+ * consider moving your system to a more modern idle -+ * mechanism. -+ */ - inl(acpi_gbl_FADT.xpm_timer_block.address); - } - --- -2.37.2 - @@ -17,9 +17,9 @@ _custom=0 pkgbase=linux -_supver=5 -_majver=19 -_minver=16 +_supver=6 +_majver=0 +_minver=6 _gccpatchver='20220315' _gccpatchker='5.17+' if [ "$_minver" == "0" ]; then @@ -43,13 +43,12 @@ source=( https://www.kernel.org/pub/linux/kernel/v${_supver}.x/${_srcname}.tar.{xz,sign} config # the main kernel config file 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - 0002-drm-i915-psr-Use-full-update-In-case-of-area-calcula.patch - 0003-drm-i915-Ensure-damage-clip-area-is-within-pipe-area.patch - 0004-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch - 0005-soundwire-intel-use-pm_runtime_resume-on-component-p.patch - 0006-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch - 0007-ASoC-Intel-sof_sdw-add-support-for-Dell-SKU-0AFF.patch - 0008-ACPI-processor-idle-Practically-limit-Dummy-wait-wor.patch + 0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch + 0003-soundwire-intel-Initialize-clock-stop-timeout.patch + 0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch + 0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch + 0006-drm-amdgpu-Fix-VRAM-BO-swap-issue.patch + 0007-drm-amdgpu-Fix-for-BO-move-issue.patch kernel_compiler_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_compiler_patch/archive/${_gccpatchver}.tar.gz ath9k-regdom-hack.patch raid6-default-algo.patch @@ -59,31 +58,29 @@ validpgpkeys=( '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) # https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc -sha256sums=('a1ebaf667e1059ae2d72aa6374a4d6e2febc0b8ccda6a124687acc2ea961e08d' +sha256sums=('864b05af2d869ba73d61a9c5959e4531a141ab2bd7b217483671f625f9747faa' 'SKIP' - '9c432835f1946ae193f59a2bb31fe1710fc3c19a155e076c61ce8d5c67716085' - '4b4443e95c64039fc98a2392fdab3e0df557c27b63581962543b3651346346b0' - 'd909326586744610423dbf2ac17728175b40c910a22dc5a0342adbc8b15b7f3a' - 'd3d1231ed81853f7d84db4e148bcc7febc8e98abdb588c798604daf56871a640' - '5bff39351bb5afab1c21b61c25a1b4cb133c34d3519620253418193bda98d010' - 'b97948d26d2d99d92b35493c49a27a0e4725fbb74a3b7ff46e349e88a292afbd' - '52d076504169cd96e01cffb5e4fd8880c618533ada1784dc965555a9a08860a4' - 'ffcb6b3a238f50ab3757a218d7ac5027aada8bfaf1be8a11aa74cc052337cf97' - '10ae1955e09d7298662c55ab58e4e6349a4ddba4dd6774452a717fb7226d0acb' + '6cae8edbfa8793f8f439b625eddac6c229b2703bb1ecb834da6339fb2b96cfbb' + 'f1aafd32cd42e9ebb3475597db05bf27561ae52a7b48ec5bc353be3ca50925a1' + '0a4ab2a5f7cf2cd78ca20678775f4ead39169bd7d7ba5e7ecae9053a9c94071b' + 'ef1e125fb021ab64aeeda696408d6ed8232a4261a0a2489afc560350fc7312bc' + 'feac2bd6fc4ee7c566975e09cb55bdc7be192988b037a0e79fd7e51f3f914221' + '76052ea5929bac6b4fccc77b321cb273d6fca64426b7584fca5ff36a470d6eb1' + 'e0e9dc4b1a0ea0fd1af0825c0b49844ea364e3163c4291b8712919f49914c4ef' + '1487f13aa32de66562fca3b61e8c97c45c6f8dc2362403b141be2db423fcc3e1' '5a29d172d442a3f31a402d7d306aaa292b0b5ea29139d05080a55e2425f48c5c' 'e9e0d289170b7fb598b572d9c892ae8d1420952034aa415e8b3334f20a58edcc' '6ab863c8cfe6e0dd53a9d6455872fd4391508a8b97ab92e3f13558a6617b12a6') -b2sums=('401e87fc4172c597228a3d58d95d89a8ce015662928a60bd527e2040786ab368b5b6d9d7f3dfa177f7608baea3b49f786c1d0efd93bb25d642d557b93f3d29c8' +b2sums=('af53568340db3d63e3bbe8c5f27fff1e285b332845b9af960ee230c116e0555cc50857b6617d1b54f56e8de6717a940ff443cae9bf7dd8cc81326fe15ec6da5f' 'SKIP' - 'db611718464698e8dcc5332d441e0a807b5d6bb42c609b453035a1230b05ee5d7a7cef36a3c3477e389527cf816f645d582f43a50442d66692fe3a5e8a410c69' - 'ba48cbf26b449bee0394f491849b929fd955df6aaa504b619d2a8ebbea7085717bc6a76b106eaefc54d981987793ca3e520b61aeb4e6d1357ffb0aca8aabc33d' - '50c44ad5880a477e43ca39954ebcbc24971c480aa1ecac7c8a2ce7c84857e11a7e59b39ecf8d63efe45fba5ebaf8987bb76952e4c0e6eb977d5fe82cc78be8f0' - '23c6e8ee7a7aca32411aef56f4d63c5a22934ffba7644ae3a3259388696c0e65df17ccc30a3f507742566773292412204c356e4d2afc0a332794c39549169b05' - 'aab9f39c76e174b4f441c25502d5154f992dccd555f29e3fff16272d3e6f3607fd3469d19b77b537973ec100b00629be4a8bc0d76fc2dcd5dd411d9a5bf3884b' - 'd41d495c99766c88d8efbe973d7fb8093d3277902eadb5d68c558729cb036d652a33a8cbadf5700eb5837122ada0353f27c0b5f267311e3531e11d311d926fac' - 'c5c66c6616300306592f0a8e0710c57ee836e76a3afe1816d71199eaad738c1b8c80a95f0c5b51f120ed9c9d7f4c26325400bac456c108590448759cb758b77b' - '8cd270a3446b8eb6079999582872c55642cacfb80cd1ad97aeb667c29df08960e2ef679e8b6e6ce650cb5fdf029d1772a71583acdd8b58a803397fb2d644dc83' - '8833a51dd07694078e8781852a8ba34fb81a21b3554d1f1f23778071877462464558426384024715348deec86c41ed20c86896dff4aa87e04b584a97162cbf46' + '45e471912f742b68bd445a2d7d9f4026147c8f315712831e12096bf98f8777404acaada639b6ffd52efbe14ec2661dc8b72464990d8c6efc83c2f4f91a01850c' + '8236310256459eb29f2f056972adc4e8cbcdfe034ac61c86d3931940f63e9d7c026020f7078cdb0445b8615c21f021400218f84cd583e2d13b6a6d6a23f08a18' + '34e940c9ff679522cc5d0df9777ad3b5eaca8bc875c314179aa882fd8b54754672dbc8250708011c1a89ec4021713a1a3e3ae8487d4217929ea02dbd757696a6' + '4d7cb398838de0d756c43a0c42dcd26eb88cc43a452e8f87bae665a10740f7d7743080d9112b8ac7dd4fd10fe51a7d90d5234302b795e8b5cc4a5105ee330570' + '3a7867e77dfacabfd96e89a84c81ae6ce3d573e6fd5cf9f1634be0b7e8d846c85e5fc6c3015f314774705b52b27ec480a82c63b342bbff8bbb28612936f95ec1' + 'ec3964044f303732abaf7cd804eeef0aa1d5c90fbbaebbe58479e4c0a1620f185e88181a4f877f1f3eb0d81c6e74058d5960f2933af1edc50cbb5d5ef4ca2220' + 'fa7d3d6c1b0ed25a5ecb3d024b3293a4b2989da590f2bac4be82714fa4cf14a3964a07567a86279d2f1c1a89af385d24b325b1c2bf300448ff46928dff7dc5df' + '1e6c45c4a5ea2846c3b311fb55eb8f869a2f39eef3fe00d02e77d3ceb8ade31cbbbb37edc796d2e690597c55fddfe5a42023b3d38d13f58d0fd9a0bd1ae18f29' '20674a8fcc0a85726e06460a7dbccfe731c46bf377cc3bf511b7591175e7df892f271bc1909e77d9a02913c753d241493502c5ab15d9f78e95f31aa4399c2c27' 'b6ef77035611139fa9a6d5b8d30570e2781bb4da483bb569884b0bd0129b62e0b82a5a6776fefe43fee801c70d39de1ea4d4c177f7cedd5ac135e3c64f7b895a' 'e94aa35d92cec92f4b0d487e0569790f3b712b9eaa5107f14a4200578e398ca740bf369f30f070c8beb56a72d1a6d0fc06beb650d798a64f44abe5e3af327728') @@ -106,13 +103,12 @@ prepare() { # Hotfixes echo "Applying hotfixes" patch -p1 -i ../0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - patch -p1 -i ../0002-drm-i915-psr-Use-full-update-In-case-of-area-calcula.patch - patch -p1 -i ../0003-drm-i915-Ensure-damage-clip-area-is-within-pipe-area.patch - patch -p1 -i ../0004-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch - patch -p1 -i ../0005-soundwire-intel-use-pm_runtime_resume-on-component-p.patch - patch -p1 -i ../0006-Bluetooth-fix-deadlock-for-RFCOMM-sk-state-change.patch - patch -p1 -i ../0007-ASoC-Intel-sof_sdw-add-support-for-Dell-SKU-0AFF.patch - patch -p1 -i ../0008-ACPI-processor-idle-Practically-limit-Dummy-wait-wor.patch + patch -p1 -i ../0002-mm-vmscan-fix-extreme-overreclaim-and-swap-floods.patch + patch -p1 -i ../0003-soundwire-intel-Initialize-clock-stop-timeout.patch + patch -p1 -i ../0004-drm-sched-add-DRM_SCHED_FENCE_DONT_PIPELINE-flag.patch + patch -p1 -i ../0005-drm-amdgpu-use-DRM_SCHED_FENCE_DONT_PIPELINE-for-VM-.patch + patch -p1 -i ../0006-drm-amdgpu-Fix-VRAM-BO-swap-issue.patch + patch -p1 -i ../0007-drm-amdgpu-Fix-for-BO-move-issue.patch # graysky gcc patch echo "Applying graysky gcc patch" @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.19.6 Kernel Configuration +# Linux/x86 6.0.6 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0" CONFIG_CC_IS_GCC=y @@ -13,12 +13,11 @@ CONFIG_LD_VERSION=23900 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y -CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y CONFIG_CC_HAS_ASM_INLINE=y CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y -CONFIG_PAHOLE_VERSION=123 +CONFIG_PAHOLE_VERSION=124 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -94,6 +93,8 @@ CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y # # Timers subsystem @@ -103,8 +104,8 @@ CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set # CONFIG_NO_HZ_IDLE is not set CONFIG_NO_HZ_FULL=y -CONFIG_CONTEXT_TRACKING=y -# CONFIG_CONTEXT_TRACKING_FORCE is not set +CONFIG_CONTEXT_TRACKING_USER=y +# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100 @@ -179,6 +180,8 @@ CONFIG_RCU_BOOST=y CONFIG_RCU_BOOST_DELAY=500 # CONFIG_RCU_EXP_KTHREAD is not set CONFIG_RCU_NOCB_CPU=y +# CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set +# CONFIG_RCU_NOCB_CPU_CB_BOOST is not set # CONFIG_TASKS_TRACE_RCU_READ_MB is not set # end of RCU Subsystem @@ -210,6 +213,7 @@ CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y +# CONFIG_CGROUP_FAVOR_DYNMODS is not set CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_KMEM=y @@ -511,7 +515,6 @@ CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=0 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y -CONFIG_ARCH_RANDOM=y CONFIG_X86_UMIP=y CONFIG_CC_HAS_IBT=y CONFIG_X86_KERNEL_IBT=y @@ -585,6 +588,7 @@ CONFIG_PM_STD_PARTITION="" CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y # CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_USERSPACE_AUTOSLEEP is not set # CONFIG_PM_WAKELOCKS is not set CONFIG_PM=y CONFIG_PM_DEBUG=y @@ -671,8 +675,8 @@ CONFIG_CHT_WC_PMIC_OPREGION=y CONFIG_CHT_DC_TI_PMIC_OPREGION=y CONFIG_TPS68470_PMIC_OPREGION=y CONFIG_ACPI_VIOT=y -CONFIG_X86_PM_TIMER=y CONFIG_ACPI_PRMT=y +CONFIG_X86_PM_TIMER=y # # CPU Frequency scaling @@ -852,8 +856,8 @@ CONFIG_ARCH_SUPPORTS_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_LTO_NONE=y CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y +CONFIG_HAVE_CONTEXT_TRACKING_USER=y +CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_MOVE_PUD=y @@ -868,6 +872,7 @@ CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y +CONFIG_SOFTIRQ_ON_OWN_STACK=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_HAVE_ARCH_MMAP_RND_BITS=y CONFIG_HAVE_EXIT_THREAD=y @@ -1113,7 +1118,6 @@ CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_ARCH_ENABLE_THP_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 @@ -1144,13 +1148,13 @@ CONFIG_PAGE_IDLE_FLAG=y CONFIG_IDLE_PAGE_TRACKING=y CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y -CONFIG_ARCH_HAS_VM_GET_PAGE_PROT=y CONFIG_ARCH_HAS_PTE_DEVMAP=y CONFIG_ARCH_HAS_ZONE_DMA_SET=y CONFIG_ZONE_DMA=y CONFIG_ZONE_DMA32=y CONFIG_ZONE_DEVICE=y CONFIG_HMM_MIRROR=y +CONFIG_GET_FREE_REGION=y CONFIG_DEVICE_PRIVATE=y CONFIG_VMAP_PFN=y CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y @@ -1177,6 +1181,7 @@ CONFIG_DAMON_PADDR=y CONFIG_DAMON_SYSFS=y CONFIG_DAMON_DBGFS=y CONFIG_DAMON_RECLAIM=y +CONFIG_DAMON_LRU_SORT=y # end of Data Access Monitoring # end of Memory Management options @@ -1404,6 +1409,7 @@ CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_REJECT_NETDEV=m CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m +CONFIG_NF_FLOW_TABLE_PROCFS=y CONFIG_NETFILTER_XTABLES=m CONFIG_NETFILTER_XTABLES_COMPAT=y @@ -1723,6 +1729,7 @@ CONFIG_NET_DSA_TAG_OCELOT_8021Q=m CONFIG_NET_DSA_TAG_QCA=m CONFIG_NET_DSA_TAG_RTL4_A=m CONFIG_NET_DSA_TAG_RTL8_4=m +CONFIG_NET_DSA_TAG_RZN1_A5PSW=m CONFIG_NET_DSA_TAG_LAN9303=m CONFIG_NET_DSA_TAG_SJA1105=m CONFIG_NET_DSA_TAG_TRAILER=m @@ -1947,71 +1954,6 @@ CONFIG_CAN_BCM=m CONFIG_CAN_GW=m CONFIG_CAN_J1939=m CONFIG_CAN_ISOTP=m - -# -# CAN Device Drivers -# -CONFIG_CAN_VCAN=m -CONFIG_CAN_VXCAN=m -CONFIG_CAN_SLCAN=m -CONFIG_CAN_DEV=m -CONFIG_CAN_CALC_BITTIMING=y -CONFIG_CAN_JANZ_ICAN3=m -CONFIG_CAN_KVASER_PCIEFD=m -CONFIG_CAN_C_CAN=m -CONFIG_CAN_C_CAN_PLATFORM=m -CONFIG_CAN_C_CAN_PCI=m -CONFIG_CAN_CC770=m -# CONFIG_CAN_CC770_ISA is not set -CONFIG_CAN_CC770_PLATFORM=m -CONFIG_CAN_CTUCANFD=m -CONFIG_CAN_CTUCANFD_PCI=m -CONFIG_CAN_IFI_CANFD=m -CONFIG_CAN_M_CAN=m -CONFIG_CAN_M_CAN_PCI=m -CONFIG_CAN_M_CAN_PLATFORM=m -CONFIG_CAN_M_CAN_TCAN4X5X=m -CONFIG_CAN_PEAK_PCIEFD=m -CONFIG_CAN_SJA1000=m -CONFIG_CAN_EMS_PCI=m -# CONFIG_CAN_EMS_PCMCIA is not set -CONFIG_CAN_F81601=m -CONFIG_CAN_KVASER_PCI=m -CONFIG_CAN_PEAK_PCI=m -CONFIG_CAN_PEAK_PCIEC=y -CONFIG_CAN_PEAK_PCMCIA=m -CONFIG_CAN_PLX_PCI=m -# CONFIG_CAN_SJA1000_ISA is not set -CONFIG_CAN_SJA1000_PLATFORM=m -CONFIG_CAN_SOFTING=m -CONFIG_CAN_SOFTING_CS=m - -# -# CAN SPI interfaces -# -CONFIG_CAN_HI311X=m -CONFIG_CAN_MCP251X=m -CONFIG_CAN_MCP251XFD=m -# CONFIG_CAN_MCP251XFD_SANITY is not set -# end of CAN SPI interfaces - -# -# CAN USB interfaces -# -CONFIG_CAN_8DEV_USB=m -CONFIG_CAN_EMS_USB=m -CONFIG_CAN_ESD_USB2=m -CONFIG_CAN_ETAS_ES58X=m -CONFIG_CAN_GS_USB=m -CONFIG_CAN_KVASER_USB=m -CONFIG_CAN_MCBA_USB=m -CONFIG_CAN_PEAK_USB=m -CONFIG_CAN_UCAN=m -# end of CAN USB interfaces - -# CONFIG_CAN_DEBUG_DEVICES is not set -# end of CAN Device Drivers - CONFIG_BT=m CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -2220,6 +2162,7 @@ CONFIG_PCI_STUB=y CONFIG_PCI_PF_STUB=m CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_PCI_ATS=y +CONFIG_PCI_DOE=y CONFIG_PCI_LOCKLESS_CONFIG=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y @@ -2289,6 +2232,7 @@ CONFIG_CXL_PMEM=m CONFIG_CXL_MEM=m CONFIG_CXL_PORT=m CONFIG_CXL_SUSPEND=y +CONFIG_CXL_REGION=y CONFIG_PCCARD=m CONFIG_PCMCIA=m CONFIG_PCMCIA_LOAD_CIS=y @@ -2405,7 +2349,6 @@ CONFIG_GOOGLE_VPD=m # # EFI (Extensible Firmware Interface) Support # -# CONFIG_EFI_VARS is not set CONFIG_EFI_ESRT=y CONFIG_EFI_VARS_PSTORE=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y @@ -2616,7 +2559,6 @@ CONFIG_BLK_DEV_LOOP_MIN_COUNT=0 CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_SX8=m CONFIG_BLK_DEV_RAM=m CONFIG_BLK_DEV_RAM_COUNT=16 CONFIG_BLK_DEV_RAM_SIZE=16384 @@ -2628,6 +2570,7 @@ CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_BLKDEV_BACKEND=m CONFIG_VIRTIO_BLK=m CONFIG_BLK_DEV_RBD=m +CONFIG_BLK_DEV_UBLK=m CONFIG_BLK_DEV_RNBD=y CONFIG_BLK_DEV_RNBD_CLIENT=m CONFIG_BLK_DEV_RNBD_SERVER=m @@ -2635,6 +2578,7 @@ CONFIG_BLK_DEV_RNBD_SERVER=m # # NVME Support # +CONFIG_NVME_COMMON=m CONFIG_NVME_CORE=m CONFIG_BLK_DEV_NVME=m CONFIG_NVME_MULTIPATH=y @@ -2644,6 +2588,7 @@ CONFIG_NVME_FABRICS=m CONFIG_NVME_RDMA=m CONFIG_NVME_FC=m CONFIG_NVME_TCP=m +CONFIG_NVME_AUTH=y CONFIG_NVME_TARGET=m CONFIG_NVME_TARGET_PASSTHRU=y CONFIG_NVME_TARGET_LOOP=m @@ -2651,6 +2596,7 @@ CONFIG_NVME_TARGET_RDMA=m CONFIG_NVME_TARGET_FC=m CONFIG_NVME_TARGET_FCLOOP=m CONFIG_NVME_TARGET_TCP=m +CONFIG_NVME_TARGET_AUTH=y # end of NVME Support # @@ -2803,7 +2749,6 @@ CONFIG_SCSI_MVSAS=m CONFIG_SCSI_MVSAS_DEBUG=y CONFIG_SCSI_MVSAS_TASKLET=y CONFIG_SCSI_MVUMI=m -CONFIG_SCSI_DPT_I2O=m CONFIG_SCSI_ADVANSYS=m CONFIG_SCSI_ARCMSR=m CONFIG_SCSI_ESAS2R=m @@ -3150,16 +3095,14 @@ CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m -CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m -CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m -CONFIG_NET_DSA_MICROCHIP_KSZ8795=m -CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ_SPI=m CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_MV88E6XXX_PTP=y CONFIG_NET_DSA_MSCC_SEVILLE=m CONFIG_NET_DSA_AR9331=m +CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_SJA1105=m CONFIG_NET_DSA_SJA1105_PTP=y CONFIG_NET_DSA_SJA1105_TAS=y @@ -3167,7 +3110,6 @@ CONFIG_NET_DSA_SJA1105_VL=y CONFIG_NET_DSA_XRS700X=m CONFIG_NET_DSA_XRS700X_I2C=m CONFIG_NET_DSA_XRS700X_MDIO=m -CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_REALTEK=m # CONFIG_NET_DSA_REALTEK_MDIO is not set # CONFIG_NET_DSA_REALTEK_SMI is not set @@ -3332,6 +3274,8 @@ CONFIG_ICE_SWITCHDEV=y CONFIG_ICE_HWTS=y CONFIG_FM10K=m CONFIG_IGC=m +CONFIG_NET_VENDOR_WANGXUN=y +CONFIG_TXGBE=m CONFIG_JME=m CONFIG_NET_VENDOR_LITEX=y CONFIG_NET_VENDOR_MARVELL=y @@ -3402,8 +3346,6 @@ CONFIG_NATSEMI=m CONFIG_NS83820=m CONFIG_NET_VENDOR_NETERION=y CONFIG_S2IO=m -CONFIG_VXGE=m -# CONFIG_VXGE_DEBUG_TRACE_ALL is not set CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m CONFIG_NFP_APP_FLOWER=y @@ -3549,6 +3491,7 @@ CONFIG_BCM7XXX_PHY=m CONFIG_BCM84881_PHY=m CONFIG_BCM87XX_PHY=m CONFIG_BCM_NET_PHYLIB=m +CONFIG_BCM_NET_PHYPTP=m CONFIG_CICADA_PHY=m CONFIG_CORTINA_PHY=m CONFIG_DAVICOM_PHY=m @@ -3586,6 +3529,68 @@ CONFIG_DP83TD510_PHY=m CONFIG_VITESSE_PHY=m CONFIG_XILINX_GMII2RGMII=m CONFIG_MICREL_KS8995MA=m +CONFIG_CAN_DEV=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m +CONFIG_CAN_NETLINK=y +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_RX_OFFLOAD=y +CONFIG_CAN_CAN327=m +CONFIG_CAN_JANZ_ICAN3=m +CONFIG_CAN_KVASER_PCIEFD=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PLATFORM=m +CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_CC770=m +# CONFIG_CAN_CC770_ISA is not set +CONFIG_CAN_CC770_PLATFORM=m +CONFIG_CAN_CTUCANFD=m +CONFIG_CAN_CTUCANFD_PCI=m +CONFIG_CAN_IFI_CANFD=m +CONFIG_CAN_M_CAN=m +CONFIG_CAN_M_CAN_PCI=m +CONFIG_CAN_M_CAN_PLATFORM=m +CONFIG_CAN_M_CAN_TCAN4X5X=m +CONFIG_CAN_PEAK_PCIEFD=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_EMS_PCI=m +# CONFIG_CAN_EMS_PCMCIA is not set +CONFIG_CAN_F81601=m +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCMCIA=m +CONFIG_CAN_PLX_PCI=m +# CONFIG_CAN_SJA1000_ISA is not set +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SOFTING=m +CONFIG_CAN_SOFTING_CS=m + +# +# CAN SPI interfaces +# +CONFIG_CAN_HI311X=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MCP251XFD=m +# CONFIG_CAN_MCP251XFD_SANITY is not set +# end of CAN SPI interfaces + +# +# CAN USB interfaces +# +CONFIG_CAN_8DEV_USB=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB=m +CONFIG_CAN_ETAS_ES58X=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_KVASER_USB=m +CONFIG_CAN_MCBA_USB=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_UCAN=m +# end of CAN USB interfaces + +# CONFIG_CAN_DEBUG_DEVICES is not set # # MCTP Device Drivers @@ -4305,6 +4310,7 @@ CONFIG_TOUCHSCREEN_SX8654=m CONFIG_TOUCHSCREEN_TPS6507X=m CONFIG_TOUCHSCREEN_ZET6223=m CONFIG_TOUCHSCREEN_ZFORCE=m +CONFIG_TOUCHSCREEN_COLIBRI_VF50=m CONFIG_TOUCHSCREEN_ROHM_BU21023=m CONFIG_TOUCHSCREEN_IQS5XX=m CONFIG_TOUCHSCREEN_ZINITIX=m @@ -4549,6 +4555,7 @@ CONFIG_TCG_TIS_CORE=m CONFIG_TCG_TIS=m CONFIG_TCG_TIS_SPI=m CONFIG_TCG_TIS_SPI_CR50=y +CONFIG_TCG_TIS_I2C=m CONFIG_TCG_TIS_I2C_CR50=m CONFIG_TCG_TIS_I2C_ATMEL=m CONFIG_TCG_TIS_I2C_INFINEON=m @@ -4706,6 +4713,7 @@ CONFIG_SPI_INTEL=m CONFIG_SPI_INTEL_PCI=m CONFIG_SPI_INTEL_PLATFORM=m CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_MICROCHIP_CORE=m # CONFIG_SPI_LANTIQ_SSC is not set CONFIG_SPI_OC_TINY=m CONFIG_SPI_PXA2XX=m @@ -4802,6 +4810,7 @@ CONFIG_PINCTRL_ICELAKE=y CONFIG_PINCTRL_JASPERLAKE=y CONFIG_PINCTRL_LAKEFIELD=y CONFIG_PINCTRL_LEWISBURG=y +CONFIG_PINCTRL_METEORLAKE=y CONFIG_PINCTRL_SUNRISEPOINT=y CONFIG_PINCTRL_TIGERLAKE=y # end of Intel pinctrl drivers @@ -5062,7 +5071,6 @@ CONFIG_SENSORS_ABITUGURU3=m CONFIG_SENSORS_AD7314=m CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m -CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m @@ -5141,7 +5149,6 @@ CONFIG_SENSORS_MAX31730=m CONFIG_SENSORS_MAX6620=m CONFIG_SENSORS_MAX6621=m CONFIG_SENSORS_MAX6639=m -CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_MAX31790=m @@ -5200,6 +5207,7 @@ CONFIG_SENSORS_IRPS5401=m CONFIG_SENSORS_ISL68137=m CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LM25066_REGULATOR=y +CONFIG_SENSORS_LT7182S=m CONFIG_SENSORS_LTC2978=m # CONFIG_SENSORS_LTC2978_REGULATOR is not set CONFIG_SENSORS_LTC3815=m @@ -5861,7 +5869,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_PWC_DEBUG is not set CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_S2255=m -CONFIG_USB_STKWEBCAM=m CONFIG_VIDEO_USBTV=m CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y @@ -6202,6 +6209,7 @@ CONFIG_VIDEO_IR_I2C=m # CONFIG_VIDEO_APTINA_PLL=m CONFIG_VIDEO_CCS_PLL=m +CONFIG_VIDEO_AR0521=m CONFIG_VIDEO_HI556=m CONFIG_VIDEO_HI846=m CONFIG_VIDEO_HI847=m @@ -6608,6 +6616,7 @@ CONFIG_DVB_DUMMY_FE=m # # Graphics support # +CONFIG_APERTURE_HELPERS=y CONFIG_AGP=y CONFIG_AGP_AMD64=m CONFIG_AGP_INTEL=m @@ -6949,10 +6958,12 @@ CONFIG_SND_MAX_CARDS=32 CONFIG_SND_PROC_FS=y CONFIG_SND_VERBOSE_PROCFS=y CONFIG_SND_VERBOSE_PRINTK=y +CONFIG_SND_CTL_FAST_LOOKUP=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_CTL_INPUT_VALIDATION=y +# CONFIG_SND_CTL_DEBUG is not set # CONFIG_SND_JACK_INJECTION_DEBUG is not set CONFIG_SND_VMASTER=y CONFIG_SND_DMA_SGBUF=y @@ -7069,6 +7080,7 @@ CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_SCODEC_CS35L41=m +CONFIG_SND_HDA_CS_DSP_CONTROLS=m CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m CONFIG_SND_HDA_CODEC_REALTEK=m @@ -7142,6 +7154,7 @@ CONFIG_SND_SOC_ADI_AXI_SPDIF=m CONFIG_SND_SOC_AMD_ACP=m CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m +CONFIG_SND_SOC_AMD_ST_ES8336_MACH=m CONFIG_SND_SOC_AMD_ACP3x=m CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m CONFIG_SND_SOC_AMD_RENOIR=m @@ -7157,9 +7170,11 @@ CONFIG_SND_SOC_AMD_ACP_I2S=m CONFIG_SND_SOC_AMD_ACP_PCM=m CONFIG_SND_SOC_AMD_ACP_PCI=m CONFIG_SND_AMD_ASOC_RENOIR=m +CONFIG_SND_AMD_ASOC_REMBRANDT=m CONFIG_SND_SOC_AMD_MACH_COMMON=m CONFIG_SND_SOC_AMD_LEGACY_MACH=m CONFIG_SND_SOC_AMD_SOF_MACH=m +CONFIG_SND_SOC_AMD_RPL_ACP6x=m CONFIG_SND_ATMEL_SOC=m # CONFIG_SND_BCM63XX_I2S_WHISTLER is not set CONFIG_SND_DESIGNWARE_I2S=m @@ -7213,6 +7228,28 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_AVS=m + +# +# Intel AVS Machine drivers +# + +# +# Available DSP configurations +# +CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219=m +CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC=m +CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO=m +CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST=m +CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A=m +CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98373=m +CONFIG_SND_SOC_INTEL_AVS_MACH_NAU8825=m +CONFIG_SND_SOC_INTEL_AVS_MACH_RT274=m +CONFIG_SND_SOC_INTEL_AVS_MACH_RT286=m +CONFIG_SND_SOC_INTEL_AVS_MACH_RT298=m +CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682=m +CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567=m +# end of Intel AVS Machine drivers + CONFIG_SND_SOC_INTEL_MACH=y CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m @@ -7272,6 +7309,8 @@ CONFIG_SND_SOC_SOF_CLIENT=m # CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set CONFIG_SND_SOC_SOF=m CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y +CONFIG_SND_SOC_SOF_IPC3=y +CONFIG_SND_SOC_SOF_INTEL_IPC4=y CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m CONFIG_SND_SOC_SOF_AMD_COMMON=m CONFIG_SND_SOC_SOF_AMD_RENOIR=m @@ -7296,6 +7335,8 @@ CONFIG_SND_SOC_SOF_INTEL_TGL=m CONFIG_SND_SOC_SOF_TIGERLAKE=m CONFIG_SND_SOC_SOF_ELKHARTLAKE=m CONFIG_SND_SOC_SOF_ALDERLAKE=m +CONFIG_SND_SOC_SOF_INTEL_MTL=m +CONFIG_SND_SOC_SOF_METEORLAKE=m CONFIG_SND_SOC_SOF_HDA_COMMON=m CONFIG_SND_SOC_SOF_HDA_LINK=y CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y @@ -7395,6 +7436,7 @@ CONFIG_SND_SOC_ES8328_SPI=m CONFIG_SND_SOC_GTM601=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_HDAC_HDA=m +CONFIG_SND_SOC_HDA=m CONFIG_SND_SOC_ICS43432=m CONFIG_SND_SOC_INNO_RK3036=m CONFIG_SND_SOC_MAX98088=m @@ -7433,6 +7475,7 @@ CONFIG_SND_SOC_PCM512x_SPI=m CONFIG_SND_SOC_RK3328=m CONFIG_SND_SOC_RL6231=m CONFIG_SND_SOC_RL6347A=m +CONFIG_SND_SOC_RT274=m CONFIG_SND_SOC_RT286=m CONFIG_SND_SOC_RT298=m CONFIG_SND_SOC_RT1011=m @@ -7490,6 +7533,7 @@ CONFIG_SND_SOC_TAS2552=m CONFIG_SND_SOC_TAS2562=m CONFIG_SND_SOC_TAS2764=m CONFIG_SND_SOC_TAS2770=m +CONFIG_SND_SOC_TAS2780=m CONFIG_SND_SOC_TAS5086=m CONFIG_SND_SOC_TAS571X=m CONFIG_SND_SOC_TAS5720=m @@ -7548,6 +7592,7 @@ CONFIG_SND_SOC_WM8974=m CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m CONFIG_SND_SOC_WSA881X=m +CONFIG_SND_SOC_WSA883X=m CONFIG_SND_SOC_ZL38060=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MT6351=m @@ -7698,6 +7743,7 @@ CONFIG_HID_SMARTJOYPLUS=m CONFIG_SMARTJOYPLUS_FF=y CONFIG_HID_TIVO=m CONFIG_HID_TOPSEED=m +CONFIG_HID_TOPRE=m CONFIG_HID_THINGM=m CONFIG_HID_THRUSTMASTER=m CONFIG_THRUSTMASTER_FF=y @@ -8149,7 +8195,9 @@ CONFIG_TYPEC_WCOVE=m CONFIG_TYPEC_UCSI=m CONFIG_UCSI_CCG=m CONFIG_UCSI_ACPI=m +CONFIG_UCSI_STM32G0=m CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_ANX7411=m CONFIG_TYPEC_RT1719=m CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_STUSB160X=m @@ -8258,7 +8306,6 @@ CONFIG_LEDS_LP3944=m CONFIG_LEDS_LP3952=m CONFIG_LEDS_LP50XX=m CONFIG_LEDS_LP8788=m -CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_PCA955X=m CONFIG_LEDS_PCA955X_GPIO=y CONFIG_LEDS_PCA963X=m @@ -8279,6 +8326,7 @@ CONFIG_LEDS_TLC591XX=m CONFIG_LEDS_MAX8997=m CONFIG_LEDS_LM355x=m CONFIG_LEDS_MENF21BMC=m +CONFIG_LEDS_IS31FL319X=m # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) @@ -8363,23 +8411,24 @@ CONFIG_INFINIBAND_ON_DEMAND_PAGING=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y CONFIG_INFINIBAND_VIRT_DMA=y -CONFIG_INFINIBAND_MTHCA=m -CONFIG_INFINIBAND_MTHCA_DEBUG=y -CONFIG_INFINIBAND_QIB=m -CONFIG_INFINIBAND_QIB_DCA=y +CONFIG_INFINIBAND_BNXT_RE=m CONFIG_INFINIBAND_CXGB4=m CONFIG_INFINIBAND_EFA=m +CONFIG_INFINIBAND_ERDMA=m +CONFIG_INFINIBAND_HFI1=m +# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set +# CONFIG_SDMA_VERBOSITY is not set CONFIG_INFINIBAND_IRDMA=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m +CONFIG_INFINIBAND_MTHCA=m +CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_OCRDMA=m -CONFIG_INFINIBAND_VMWARE_PVRDMA=m -CONFIG_INFINIBAND_USNIC=m -CONFIG_INFINIBAND_BNXT_RE=m -CONFIG_INFINIBAND_HFI1=m -# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set -# CONFIG_SDMA_VERBOSITY is not set CONFIG_INFINIBAND_QEDR=m +CONFIG_INFINIBAND_QIB=m +CONFIG_INFINIBAND_QIB_DCA=y +CONFIG_INFINIBAND_USNIC=m +CONFIG_INFINIBAND_VMWARE_PVRDMA=m CONFIG_INFINIBAND_RDMAVT=m CONFIG_RDMA_RXE=m CONFIG_RDMA_SIW=m @@ -8817,13 +8866,14 @@ CONFIG_VIDEO_ATOMISP_GC0310=m CONFIG_VIDEO_ATOMISP_OV2680=m CONFIG_VIDEO_ATOMISP_OV5693=m CONFIG_VIDEO_ATOMISP_LM3554=m -# CONFIG_VIDEO_ZORAN is not set -CONFIG_VIDEO_IPU3_IMGU=m CONFIG_DVB_AV7110_IR=y CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_SP8870=m +CONFIG_VIDEO_IPU3_IMGU=m +CONFIG_VIDEO_STKWEBCAM=m +# CONFIG_VIDEO_ZORAN is not set CONFIG_LTE_GDM724X=m CONFIG_FIREWIRE_SERIAL=m CONFIG_FWTTY_MAX_TOTAL_PORTS=64 @@ -8837,10 +8887,53 @@ CONFIG_KS7010=m CONFIG_PI433=m CONFIG_FIELDBUS_DEV=m CONFIG_QLGE=m - -# -# VME Device Drivers -# +# CONFIG_VME_BUS is not set +CONFIG_CHROME_PLATFORMS=y +CONFIG_CHROMEOS_ACPI=m +CONFIG_CHROMEOS_LAPTOP=m +CONFIG_CHROMEOS_PSTORE=m +CONFIG_CHROMEOS_TBMC=m +CONFIG_CROS_EC=m +CONFIG_CROS_EC_I2C=m +CONFIG_CROS_EC_ISHTP=m +CONFIG_CROS_EC_SPI=m +CONFIG_CROS_EC_LPC=m +CONFIG_CROS_EC_PROTO=y +CONFIG_CROS_KBD_LED_BACKLIGHT=m +CONFIG_CROS_EC_CHARDEV=m +CONFIG_CROS_EC_LIGHTBAR=m +CONFIG_CROS_EC_DEBUGFS=m +CONFIG_CROS_EC_SENSORHUB=m +CONFIG_CROS_EC_SYSFS=m +CONFIG_CROS_EC_TYPEC=m +CONFIG_CROS_USBPD_LOGGER=m +CONFIG_CROS_USBPD_NOTIFY=m +CONFIG_CHROMEOS_PRIVACY_SCREEN=m +CONFIG_WILCO_EC=m +CONFIG_WILCO_EC_DEBUGFS=m +CONFIG_WILCO_EC_EVENTS=m +CONFIG_WILCO_EC_TELEMETRY=m +CONFIG_MELLANOX_PLATFORM=y +CONFIG_MLXREG_HOTPLUG=m +CONFIG_MLXREG_IO=m +CONFIG_MLXREG_LC=m +CONFIG_NVSW_SN2201=m +CONFIG_SURFACE_PLATFORMS=y +CONFIG_SURFACE3_WMI=m +CONFIG_SURFACE_3_POWER_OPREGION=m +CONFIG_SURFACE_ACPI_NOTIFY=m +CONFIG_SURFACE_AGGREGATOR_CDEV=m +CONFIG_SURFACE_AGGREGATOR_HUB=m +CONFIG_SURFACE_AGGREGATOR_REGISTRY=m +CONFIG_SURFACE_AGGREGATOR_TABLET_SWITCH=m +CONFIG_SURFACE_DTX=m +CONFIG_SURFACE_GPE=m +CONFIG_SURFACE_HOTPLUG=m +CONFIG_SURFACE_PLATFORM_PROFILE=m +CONFIG_SURFACE_PRO3_BUTTON=m +CONFIG_SURFACE_AGGREGATOR=m +CONFIG_SURFACE_AGGREGATOR_BUS=y +# CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACPI_WMI=m CONFIG_WMI_BMOF=m @@ -8972,51 +9065,7 @@ CONFIG_INTEL_SCU_PLATFORM=m CONFIG_INTEL_SCU_IPC_UTIL=m CONFIG_SIEMENS_SIMATIC_IPC=m CONFIG_WINMATE_FM07_KEYS=m -CONFIG_PMC_ATOM=y -CONFIG_CHROME_PLATFORMS=y -CONFIG_CHROMEOS_ACPI=m -CONFIG_CHROMEOS_LAPTOP=m -CONFIG_CHROMEOS_PSTORE=m -CONFIG_CHROMEOS_TBMC=m -CONFIG_CROS_EC=m -CONFIG_CROS_EC_I2C=m -CONFIG_CROS_EC_ISHTP=m -CONFIG_CROS_EC_SPI=m -CONFIG_CROS_EC_LPC=m -CONFIG_CROS_EC_PROTO=y -CONFIG_CROS_KBD_LED_BACKLIGHT=m -CONFIG_CROS_EC_CHARDEV=m -CONFIG_CROS_EC_LIGHTBAR=m -CONFIG_CROS_EC_DEBUGFS=m -CONFIG_CROS_EC_SENSORHUB=m -CONFIG_CROS_EC_SYSFS=m -CONFIG_CROS_EC_TYPEC=m -CONFIG_CROS_USBPD_LOGGER=m -CONFIG_CROS_USBPD_NOTIFY=m -CONFIG_CHROMEOS_PRIVACY_SCREEN=m -CONFIG_WILCO_EC=m -CONFIG_WILCO_EC_DEBUGFS=m -CONFIG_WILCO_EC_EVENTS=m -CONFIG_WILCO_EC_TELEMETRY=m -CONFIG_MELLANOX_PLATFORM=y -CONFIG_MLXREG_HOTPLUG=m -CONFIG_MLXREG_IO=m -CONFIG_MLXREG_LC=m -CONFIG_NVSW_SN2201=m -CONFIG_SURFACE_PLATFORMS=y -CONFIG_SURFACE3_WMI=m -CONFIG_SURFACE_3_POWER_OPREGION=m -CONFIG_SURFACE_ACPI_NOTIFY=m -CONFIG_SURFACE_AGGREGATOR_CDEV=m -CONFIG_SURFACE_AGGREGATOR_REGISTRY=m -CONFIG_SURFACE_DTX=m -CONFIG_SURFACE_GPE=m -CONFIG_SURFACE_HOTPLUG=m -CONFIG_SURFACE_PLATFORM_PROFILE=m -CONFIG_SURFACE_PRO3_BUTTON=m -CONFIG_SURFACE_AGGREGATOR=m -CONFIG_SURFACE_AGGREGATOR_BUS=y -# CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set +CONFIG_P2SB=y CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -9124,6 +9173,11 @@ CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m # end of NXP/Freescale QorIQ SoC drivers # +# fujitsu SoC drivers +# +# end of fujitsu SoC drivers + +# # i.MX SoC drivers # # end of i.MX SoC drivers @@ -9293,6 +9347,7 @@ CONFIG_AXP288_ADC=m CONFIG_CC10001_ADC=m CONFIG_DA9150_GPADC=m CONFIG_DLN2_ADC=m +CONFIG_ENVELOPE_DETECTOR=m CONFIG_HI8435=m CONFIG_HX711=m CONFIG_INA2XX_ADC=m @@ -9316,6 +9371,7 @@ CONFIG_MEN_Z188_ADC=m CONFIG_MP2629_ADC=m CONFIG_NAU7802=m CONFIG_PALMAS_GPADC=m +CONFIG_SD_ADC_MODULATOR=m CONFIG_TI_ADC081C=m CONFIG_TI_ADC0832=m CONFIG_TI_ADC084S021=m @@ -9334,6 +9390,7 @@ CONFIG_TI_TLC4541=m CONFIG_TI_TSC2046=m CONFIG_TWL4030_MADC=m CONFIG_TWL6030_GPADC=m +CONFIG_VF610_ADC=m CONFIG_VIPERBOARD_ADC=m CONFIG_XILINX_XADC=m # end of Analog to digital converters @@ -9809,10 +9866,10 @@ CONFIG_NTB_SWITCHTEC=m # CONFIG_NTB_PERF is not set # CONFIG_NTB_MSI_TEST is not set CONFIG_NTB_TRANSPORT=m -# CONFIG_VME_BUS is not set CONFIG_PWM=y CONFIG_PWM_SYSFS=y # CONFIG_PWM_DEBUG is not set +CONFIG_PWM_CLK=m CONFIG_PWM_CRC=y CONFIG_PWM_CROS_EC=m CONFIG_PWM_DWC=m @@ -9836,6 +9893,7 @@ CONFIG_BOARD_TPCI200=m CONFIG_SERIAL_IPOCTAL=m CONFIG_RESET_CONTROLLER=y CONFIG_RESET_TI_SYSCON=m +CONFIG_RESET_TI_TPS380X=m # # PHY Subsystem @@ -9883,7 +9941,7 @@ CONFIG_USB4=m # # Android # -# CONFIG_ANDROID is not set +# CONFIG_ANDROID_BINDER_IPC is not set # end of Android CONFIG_LIBNVDIMM=y @@ -9943,6 +10001,8 @@ CONFIG_FPGA_DFL_FME_REGION=m CONFIG_FPGA_DFL_AFU=m CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m CONFIG_FPGA_DFL_PCI=m +CONFIG_FPGA_M10_BMC_SEC_UPDATE=m +CONFIG_FPGA_MGR_MICROCHIP_SPI=m # CONFIG_TEE is not set # CONFIG_AMDTEE is not set CONFIG_MULTIPLEXER=m @@ -10374,6 +10434,7 @@ CONFIG_NLS_MAC_ROMANIAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_DLM=m +# CONFIG_DLM_DEPRECATED_API is not set CONFIG_DLM_DEBUG=y CONFIG_UNICODE=y # CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set @@ -10426,9 +10487,12 @@ CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" # CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING is not set CONFIG_SECURITY_APPARMOR=y +# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y CONFIG_SECURITY_APPARMOR_HASH=y CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y -# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y +CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y CONFIG_SECURITY_LOADPIN=y CONFIG_SECURITY_LOADPIN_ENFORCE=y CONFIG_SECURITY_YAMA=y @@ -10452,6 +10516,7 @@ CONFIG_LSM="landlock,yama,bpf" # Memory initialization # CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y # CONFIG_INIT_STACK_NONE is not set # CONFIG_INIT_STACK_ALL_PATTERN is not set @@ -10546,12 +10611,14 @@ CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_LRW=m CONFIG_CRYPTO_OFB=m CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XCTR=m CONFIG_CRYPTO_XTS=m CONFIG_CRYPTO_KEYWRAP=m CONFIG_CRYPTO_NHPOLY1305=m CONFIG_CRYPTO_NHPOLY1305_SSE2=m CONFIG_CRYPTO_NHPOLY1305_AVX2=m CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_HCTR2=m CONFIG_CRYPTO_ESSIV=m # @@ -10576,6 +10643,8 @@ CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m CONFIG_CRYPTO_CRC64_ROCKSOFT=y CONFIG_CRYPTO_GHASH=m +CONFIG_CRYPTO_POLYVAL=m +CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_POLY1305_X86_64=m CONFIG_CRYPTO_MD4=m @@ -10619,6 +10688,7 @@ CONFIG_CRYPTO_DES3_EDE_X86_64=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_CHACHA20_X86_64=m +CONFIG_CRYPTO_ARIA=m CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m @@ -10760,6 +10830,7 @@ CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m CONFIG_CRYPTO_LIB_POLY1305=m CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y # end of Crypto library routines @@ -10886,7 +10957,6 @@ CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y CONFIG_ARCH_HAS_COPY_MC=y CONFIG_ARCH_STACKWALK=y CONFIG_STACKDEPOT=y -CONFIG_STACK_HASH_ORDER=20 CONFIG_SBITMAP=y CONFIG_PARMAN=m CONFIG_OBJAGG=m @@ -10894,6 +10964,7 @@ CONFIG_OBJAGG=m CONFIG_PLDMFW=y CONFIG_ASN1_ENCODER=m +CONFIG_POLYNOMIAL=m # # Kernel hacking @@ -10983,6 +11054,7 @@ CONFIG_GENERIC_PTDUMP=y CONFIG_PTDUMP_CORE=y # CONFIG_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_OBJECTS is not set +CONFIG_SHRINKER_DEBUG=y CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_STACK_USAGE is not set @@ -11170,6 +11242,7 @@ CONFIG_HIST_TRIGGERS=y # CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_HIST_TRIGGERS_DEBUG is not set +# CONFIG_RV is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y |