diff options
author | David P <megver83@parabola.nu> | 2023-01-15 18:03:50 -0300 |
---|---|---|
committer | David P <megver83@parabola.nu> | 2023-01-15 18:03:50 -0300 |
commit | f163a8b9e1177fca3edcc5c4079802487267cf24 (patch) | |
tree | e841bfd140223df9538e8493379dc809f3241286 | |
parent | 8538aeb0045cdb124d43f57f52a9d43adaa7c30d (diff) |
updpkg: libre/linux-libre 6.1.5-1
Signed-off-by: David P <megver83@parabola.nu>
8 files changed, 3679 insertions, 914 deletions
diff --git a/libre/linux-libre/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/libre/linux-libre/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index ba0d75381..669d7c0b6 100644 --- a/libre/linux-libre/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/libre/linux-libre/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,4 +1,4 @@ -From 63cec1d1efdb31caeef17411c7560e8b0f941073 Mon Sep 17 00:00:00 2001 +From c6b820ca21a933239b7929851c50aa40f515781d 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/3] ZEN: Add sysctl and CONFIG to disallow unprivileged @@ -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 33a4240e6a6f..82213f9c4c17 100644 +index 45f09bec02c4..87b20e2ee274 100644 --- a/include/linux/user_namespace.h +++ b/include/linux/user_namespace.h -@@ -139,6 +139,8 @@ static inline void set_rlimit_ucount_max(struct user_namespace *ns, +@@ -148,6 +148,8 @@ static inline void set_userns_rlimit_max(struct user_namespace *ns, #ifdef CONFIG_USER_NS @@ -26,7 +26,7 @@ index 33a4240e6a6f..82213f9c4c17 100644 static inline struct user_namespace *get_user_ns(struct user_namespace *ns) { if (ns) -@@ -172,6 +174,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns); +@@ -181,6 +183,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 33a4240e6a6f..82213f9c4c17 100644 { return &init_user_ns; diff --git a/init/Kconfig b/init/Kconfig -index fa63cc019ebf..5aa29feccae3 100644 +index 94125d3b6893..9f7139b536f6 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1249,6 +1249,22 @@ config USER_NS +@@ -1247,6 +1247,22 @@ config USER_NS If unsure, say N. @@ -63,12 +63,12 @@ index fa63cc019ebf..5aa29feccae3 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index 0d8abfb9e0f4..bd7c215e315f 100644 +index 844dfdc8c639..31d41db3f84d 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -99,6 +99,10 @@ +@@ -98,6 +98,10 @@ + #include <linux/io_uring.h> #include <linux/bpf.h> - #include <linux/sched/mm.h> +#ifdef CONFIG_USER_NS +#include <linux/user_namespace.h> @@ -77,7 +77,7 @@ index 0d8abfb9e0f4..bd7c215e315f 100644 #include <asm/pgalloc.h> #include <linux/uaccess.h> #include <asm/mmu_context.h> -@@ -1992,6 +1996,10 @@ static __latent_entropy struct task_struct *copy_process( +@@ -2011,6 +2015,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 0d8abfb9e0f4..bd7c215e315f 100644 /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -3128,6 +3136,12 @@ int ksys_unshare(unsigned long unshare_flags) +@@ -3171,6 +3179,12 @@ int ksys_unshare(unsigned long unshare_flags) if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; @@ -102,20 +102,20 @@ index 0d8abfb9e0f4..bd7c215e315f 100644 if (err) goto bad_unshare_out; diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index c42ba2d669dc..a6ddbf02a809 100644 +index c6d9dec11b74..9a4514ad481b 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c -@@ -91,6 +91,9 @@ - #if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_LOCK_STAT) - #include <linux/lockdep.h> +@@ -81,6 +81,9 @@ + #ifdef CONFIG_RT_MUTEXES + #include <linux/rtmutex.h> #endif +#ifdef CONFIG_USER_NS +#include <linux/user_namespace.h> +#endif - #if defined(CONFIG_SYSCTL) - -@@ -1806,6 +1809,15 @@ static struct ctl_table kern_table[] = { + /* shared constants to be used in various sysctls */ + const int sysctl_vals[] = { 0, 1, 2, 3, 4, 100, 200, 1000, 3000, INT_MAX, 65535, -1 }; +@@ -1659,6 +1662,15 @@ static struct ctl_table kern_table[] = { .mode = 0644, .proc_handler = proc_dointvec, }, @@ -132,10 +132,10 @@ index c42ba2d669dc..a6ddbf02a809 100644 { .procname = "tainted", diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c -index 5481ba44a8d6..423ab2563ad7 100644 +index 54211dbd516c..16ca0c151629 100644 --- a/kernel/user_namespace.c +++ b/kernel/user_namespace.c -@@ -21,6 +21,13 @@ +@@ -22,6 +22,13 @@ #include <linux/bsearch.h> #include <linux/sort.h> @@ -150,5 +150,5 @@ index 5481ba44a8d6..423ab2563ad7 100644 static DEFINE_MUTEX(userns_state_mutex); -- -2.37.1 +2.39.0 diff --git a/libre/linux-libre/0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch b/libre/linux-libre/0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch deleted file mode 100644 index 7212fe4a7..000000000 --- a/libre/linux-libre/0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 4b81eecd4c636d953aaf4ebafd8171716f4c61fe Mon Sep 17 00:00:00 2001 -From: Bryan Cain <bryancain3@gmail.com> -Date: Thu, 5 May 2022 13:12:21 -0600 -Subject: [PATCH 2/3] HID: apple: Properly handle function keys on Keychron - keyboards -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Keychron's C-series and K-series of keyboards copy the vendor and -product IDs of an Apple keyboard, but only behave like that device when -set to "Mac" mode. In "Windows" mode, the Fn key doesn't generate a -scancode, so it's impossible to use the F1-F12 keys when fnmode is set -to its default value of 1. - -To fix this, make fnmode default to the new value of 3, which behaves -like fnmode=2 for Keychron keyboards and like fnmode=1 for actual Apple -keyboards. This way, Keychron devices are fully usable in both "Windows" -and "Mac" modes, while behavior is unchanged for everything else. - -Signed-off-by: Bryan Cain <bryancain3@gmail.com> -Reviewed-by: Hans de Goede <hdegoede@redhat.com> -Tested-by: José Expósito <jose.exposito89@gmail.com> -Signed-off-by: Jiri Kosina <jkosina@suse.cz> ---- - drivers/hid/hid-apple.c | 22 ++++++++++++++++++---- - 1 file changed, 18 insertions(+), 4 deletions(-) - -diff --git a/drivers/hid/hid-apple.c b/drivers/hid/hid-apple.c -index 0cf35caee9fa..42a568902f49 100644 ---- a/drivers/hid/hid-apple.c -+++ b/drivers/hid/hid-apple.c -@@ -21,6 +21,7 @@ - #include <linux/module.h> - #include <linux/slab.h> - #include <linux/timer.h> -+#include <linux/string.h> - - #include "hid-ids.h" - -@@ -35,16 +36,17 @@ - #define APPLE_NUMLOCK_EMULATION BIT(8) - #define APPLE_RDESC_BATTERY BIT(9) - #define APPLE_BACKLIGHT_CTL BIT(10) -+#define APPLE_IS_KEYCHRON BIT(11) - - #define APPLE_FLAG_FKEY 0x01 - - #define HID_COUNTRY_INTERNATIONAL_ISO 13 - #define APPLE_BATTERY_TIMEOUT_MS 60000 - --static unsigned int fnmode = 1; -+static unsigned int fnmode = 3; - module_param(fnmode, uint, 0644); - MODULE_PARM_DESC(fnmode, "Mode of fn key on Apple keyboards (0 = disabled, " -- "[1] = fkeyslast, 2 = fkeysfirst)"); -+ "1 = fkeyslast, 2 = fkeysfirst, [3] = auto)"); - - static int iso_layout = -1; - module_param(iso_layout, int, 0644); -@@ -349,6 +351,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, - const struct apple_key_translation *trans, *table; - bool do_translate; - u16 code = 0; -+ unsigned int real_fnmode; - - u16 fn_keycode = (swap_fn_leftctrl) ? (KEY_LEFTCTRL) : (KEY_FN); - -@@ -359,7 +362,13 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, - return 1; - } - -- if (fnmode) { -+ if (fnmode == 3) { -+ real_fnmode = (asc->quirks & APPLE_IS_KEYCHRON) ? 2 : 1; -+ } else { -+ real_fnmode = fnmode; -+ } -+ -+ if (real_fnmode) { - if (hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO || - hid->product == USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS || -@@ -406,7 +415,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input, - - if (!code) { - if (trans->flags & APPLE_FLAG_FKEY) { -- switch (fnmode) { -+ switch (real_fnmode) { - case 1: - do_translate = !asc->fn_on; - break; -@@ -660,6 +669,11 @@ static int apple_input_configured(struct hid_device *hdev, - asc->quirks &= ~APPLE_HAS_FN; - } - -+ if (strncmp(hdev->name, "Keychron", 8) == 0) { -+ hid_info(hdev, "Keychron keyboard detected; function keys will default to fnmode=2 behavior\n"); -+ asc->quirks |= APPLE_IS_KEYCHRON; -+ } -+ - return 0; - } - --- -2.37.1 - diff --git a/libre/linux-libre/0002-docs-Fix-the-docs-build-with-Sphinx-6.0.patch b/libre/linux-libre/0002-docs-Fix-the-docs-build-with-Sphinx-6.0.patch new file mode 100644 index 000000000..270a6fe37 --- /dev/null +++ b/libre/linux-libre/0002-docs-Fix-the-docs-build-with-Sphinx-6.0.patch @@ -0,0 +1,48 @@ +From 99c3052ddb60947d4590052bd68b4893967537eb Mon Sep 17 00:00:00 2001 +From: Jonathan Corbet <corbet@lwn.net> +Date: Wed, 4 Jan 2023 13:45:35 -0700 +Subject: [PATCH 2/3] docs: Fix the docs build with Sphinx 6.0 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Sphinx 6.0 removed the execfile_() function, which we use as part of the +configuration process. They *did* warn us... Just open-code the +functionality as is done in Sphinx itself. + +Tested (using SPHINX_CONF, since this code is only executed with an +alternative config file) on various Sphinx versions from 2.5 through 6.0. + +Reported-by: Martin Liška <mliska@suse.cz> +Signed-off-by: Jonathan Corbet <corbet@lwn.net> +--- + Documentation/sphinx/load_config.py | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Documentation/sphinx/load_config.py b/Documentation/sphinx/load_config.py +index eeb394b39e2c..8b416bfd75ac 100644 +--- a/Documentation/sphinx/load_config.py ++++ b/Documentation/sphinx/load_config.py +@@ -3,7 +3,7 @@ + + import os + import sys +-from sphinx.util.pycompat import execfile_ ++from sphinx.util.osutil import fs_encoding + + # ------------------------------------------------------------------------------ + def loadConfig(namespace): +@@ -48,7 +48,9 @@ def loadConfig(namespace): + sys.stdout.write("load additional sphinx-config: %s\n" % config_file) + config = namespace.copy() + config['__file__'] = config_file +- execfile_(config_file, config) ++ with open(config_file, 'rb') as f: ++ code = compile(f.read(), fs_encoding, 'exec') ++ exec(code, config) + del config['__file__'] + namespace.update(config) + else: +-- +2.39.0 + diff --git a/libre/linux-libre/0003-Revert-drm-display-dp_mst-Move-all-payload-info-into.patch b/libre/linux-libre/0003-Revert-drm-display-dp_mst-Move-all-payload-info-into.patch new file mode 100644 index 000000000..f2796669f --- /dev/null +++ b/libre/linux-libre/0003-Revert-drm-display-dp_mst-Move-all-payload-info-into.patch @@ -0,0 +1,2478 @@ +From 7c4fed4d2afd27d7acb8835f8e79f49c99c03cdf Mon Sep 17 00:00:00 2001 +From: Wayne Lin <Wayne.Lin@amd.com> +Date: Thu, 12 Jan 2023 16:50:44 +0800 +Subject: [PATCH 3/3] Revert "drm/display/dp_mst: Move all payload info into + the atomic state" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This reverts commit 4d07b0bc403403438d9cf88450506240c5faf92f. + +[Why] +Changes cause regression on amdgpu mst. +E.g. +In fill_dc_mst_payload_table_from_drm(), amdgpu expects to add/remove payload +one by one and call fill_dc_mst_payload_table_from_drm() to update the HW +maintained payload table. But previous change tries to go through all the +payloads in mst_state and update amdpug hw maintained table in once everytime +driver only tries to add/remove a specific payload stream only. The newly +design idea conflicts with the implementation in amdgpu nowadays. + +[How] +Revert this patch first. After addressing all regression problems caused by +this previous patch, will add it back and adjust it. + +Signed-off-by: Wayne Lin <Wayne.Lin@amd.com> +Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2171 +Cc: stable@vger.kernel.org # 6.1 +Cc: Lyude Paul <lyude@redhat.com> +Cc: Harry Wentland <harry.wentland@amd.com> +Cc: Mario Limonciello <mario.limonciello@amd.com> +Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> +Cc: Ben Skeggs <bskeggs@redhat.com> +Cc: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> +Cc: Fangzhi Zuo <Jerry.Zuo@amd.com> +--- + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 53 +- + .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 104 ++- + .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 87 ++- + .../amd/display/include/link_service_types.h | 3 - + drivers/gpu/drm/display/drm_dp_mst_topology.c | 724 ++++++++++++------ + drivers/gpu/drm/i915/display/intel_dp_mst.c | 64 +- + drivers/gpu/drm/i915/display/intel_hdcp.c | 24 +- + drivers/gpu/drm/nouveau/dispnv50/disp.c | 169 ++-- + include/drm/display/drm_dp_mst_helper.h | 178 +++-- + 9 files changed, 876 insertions(+), 530 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 dacad8b85963..40defd664b49 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -6460,7 +6460,6 @@ static int dm_encoder_helper_atomic_check(struct drm_encoder *encoder, + const struct drm_display_mode *adjusted_mode = &crtc_state->adjusted_mode; + struct drm_dp_mst_topology_mgr *mst_mgr; + struct drm_dp_mst_port *mst_port; +- struct drm_dp_mst_topology_state *mst_state; + enum dc_color_depth color_depth; + int clock, bpp = 0; + bool is_y420 = false; +@@ -6474,13 +6473,6 @@ static int dm_encoder_helper_atomic_check(struct drm_encoder *encoder, + if (!crtc_state->connectors_changed && !crtc_state->mode_changed) + return 0; + +- mst_state = drm_atomic_get_mst_topology_state(state, mst_mgr); +- if (IS_ERR(mst_state)) +- return PTR_ERR(mst_state); +- +- if (!mst_state->pbn_div) +- mst_state->pbn_div = dm_mst_get_pbn_divider(aconnector->mst_port->dc_link); +- + if (!state->duplicated) { + int max_bpc = conn_state->max_requested_bpc; + is_y420 = drm_mode_is_420_also(&connector->display_info, adjusted_mode) && +@@ -6492,10 +6484,11 @@ static int dm_encoder_helper_atomic_check(struct drm_encoder *encoder, + clock = adjusted_mode->clock; + dm_new_connector_state->pbn = drm_dp_calc_pbn_mode(clock, bpp, false); + } +- +- dm_new_connector_state->vcpi_slots = +- drm_dp_atomic_find_time_slots(state, mst_mgr, mst_port, +- dm_new_connector_state->pbn); ++ dm_new_connector_state->vcpi_slots = drm_dp_atomic_find_time_slots(state, ++ mst_mgr, ++ mst_port, ++ dm_new_connector_state->pbn, ++ dm_mst_get_pbn_divider(aconnector->dc_link)); + if (dm_new_connector_state->vcpi_slots < 0) { + DRM_DEBUG_ATOMIC("failed finding vcpi slots: %d\n", (int)dm_new_connector_state->vcpi_slots); + return dm_new_connector_state->vcpi_slots; +@@ -6566,14 +6559,17 @@ static int dm_update_mst_vcpi_slots_for_dsc(struct drm_atomic_state *state, + dm_conn_state->vcpi_slots = slot_num; + + ret = drm_dp_mst_atomic_enable_dsc(state, aconnector->port, +- dm_conn_state->pbn, false); ++ dm_conn_state->pbn, 0, false); + if (ret < 0) + return ret; + + continue; + } + +- vcpi = drm_dp_mst_atomic_enable_dsc(state, aconnector->port, pbn, true); ++ vcpi = drm_dp_mst_atomic_enable_dsc(state, ++ aconnector->port, ++ pbn, pbn_div, ++ true); + if (vcpi < 0) + return vcpi; + +@@ -9407,6 +9403,8 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, + struct dm_crtc_state *dm_old_crtc_state, *dm_new_crtc_state; + #if defined(CONFIG_DRM_AMD_DC_DCN) + struct dsc_mst_fairness_vars vars[MAX_PIPES]; ++ struct drm_dp_mst_topology_state *mst_state; ++ struct drm_dp_mst_topology_mgr *mgr; + #endif + + trace_amdgpu_dm_atomic_check_begin(state); +@@ -9654,6 +9652,33 @@ static int amdgpu_dm_atomic_check(struct drm_device *dev, + lock_and_validation_needed = true; + } + ++#if defined(CONFIG_DRM_AMD_DC_DCN) ++ /* set the slot info for each mst_state based on the link encoding format */ ++ for_each_new_mst_mgr_in_state(state, mgr, mst_state, i) { ++ struct amdgpu_dm_connector *aconnector; ++ struct drm_connector *connector; ++ struct drm_connector_list_iter iter; ++ u8 link_coding_cap; ++ ++ if (!mgr->mst_state ) ++ continue; ++ ++ drm_connector_list_iter_begin(dev, &iter); ++ drm_for_each_connector_iter(connector, &iter) { ++ int id = connector->index; ++ ++ if (id == mst_state->mgr->conn_base_id) { ++ aconnector = to_amdgpu_dm_connector(connector); ++ link_coding_cap = dc_link_dp_mst_decide_link_encoding_format(aconnector->dc_link); ++ drm_dp_mst_update_slots(mst_state, link_coding_cap); ++ ++ break; ++ } ++ } ++ drm_connector_list_iter_end(&iter); ++ ++ } ++#endif + /** + * Streams and planes are reset when there are changes that affect + * bandwidth. Anything that affects bandwidth needs to go through +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +index f72c013d3a5b..c8f9d10fde17 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +@@ -27,7 +27,6 @@ + #include <linux/acpi.h> + #include <linux/i2c.h> + +-#include <drm/drm_atomic.h> + #include <drm/drm_probe_helper.h> + #include <drm/amdgpu_drm.h> + #include <drm/drm_edid.h> +@@ -120,27 +119,40 @@ enum dc_edid_status dm_helpers_parse_edid_caps( + } + + static void +-fill_dc_mst_payload_table_from_drm(struct drm_dp_mst_topology_state *mst_state, +- struct amdgpu_dm_connector *aconnector, +- struct dc_dp_mst_stream_allocation_table *table) ++fill_dc_mst_payload_table_from_drm(struct amdgpu_dm_connector *aconnector, ++ struct dc_dp_mst_stream_allocation_table *proposed_table) + { +- struct dc_dp_mst_stream_allocation_table new_table = { 0 }; +- struct dc_dp_mst_stream_allocation *sa; +- struct drm_dp_mst_atomic_payload *payload; +- +- /* Fill payload info*/ +- list_for_each_entry(payload, &mst_state->payloads, next) { +- if (payload->delete) +- continue; +- +- sa = &new_table.stream_allocations[new_table.stream_count]; +- sa->slot_count = payload->time_slots; +- sa->vcp_id = payload->vcpi; +- new_table.stream_count++; ++ int i; ++ struct drm_dp_mst_topology_mgr *mst_mgr = ++ &aconnector->mst_port->mst_mgr; ++ ++ mutex_lock(&mst_mgr->payload_lock); ++ ++ proposed_table->stream_count = 0; ++ ++ /* number of active streams */ ++ for (i = 0; i < mst_mgr->max_payloads; i++) { ++ if (mst_mgr->payloads[i].num_slots == 0) ++ break; /* end of vcp_id table */ ++ ++ ASSERT(mst_mgr->payloads[i].payload_state != ++ DP_PAYLOAD_DELETE_LOCAL); ++ ++ if (mst_mgr->payloads[i].payload_state == DP_PAYLOAD_LOCAL || ++ mst_mgr->payloads[i].payload_state == ++ DP_PAYLOAD_REMOTE) { ++ ++ struct dc_dp_mst_stream_allocation *sa = ++ &proposed_table->stream_allocations[ ++ proposed_table->stream_count]; ++ ++ sa->slot_count = mst_mgr->payloads[i].num_slots; ++ sa->vcp_id = mst_mgr->proposed_vcpis[i]->vcpi; ++ proposed_table->stream_count++; ++ } + } + +- /* Overwrite the old table */ +- *table = new_table; ++ mutex_unlock(&mst_mgr->payload_lock); + } + + void dm_helpers_dp_update_branch_info( +@@ -158,9 +170,11 @@ bool dm_helpers_dp_mst_write_payload_allocation_table( + bool enable) + { + struct amdgpu_dm_connector *aconnector; +- struct drm_dp_mst_topology_state *mst_state; +- struct drm_dp_mst_atomic_payload *payload; ++ struct dm_connector_state *dm_conn_state; + struct drm_dp_mst_topology_mgr *mst_mgr; ++ struct drm_dp_mst_port *mst_port; ++ bool ret; ++ u8 link_coding_cap = DP_8b_10b_ENCODING; + + aconnector = (struct amdgpu_dm_connector *)stream->dm_stream_context; + /* Accessing the connector state is required for vcpi_slots allocation +@@ -171,21 +185,40 @@ bool dm_helpers_dp_mst_write_payload_allocation_table( + if (!aconnector || !aconnector->mst_port) + return false; + ++ dm_conn_state = to_dm_connector_state(aconnector->base.state); ++ + mst_mgr = &aconnector->mst_port->mst_mgr; +- mst_state = to_drm_dp_mst_topology_state(mst_mgr->base.state); ++ ++ if (!mst_mgr->mst_state) ++ return false; ++ ++ mst_port = aconnector->port; ++ ++#if defined(CONFIG_DRM_AMD_DC_DCN) ++ link_coding_cap = dc_link_dp_mst_decide_link_encoding_format(aconnector->dc_link); ++#endif ++ ++ if (enable) { ++ ++ ret = drm_dp_mst_allocate_vcpi(mst_mgr, mst_port, ++ dm_conn_state->pbn, ++ dm_conn_state->vcpi_slots); ++ if (!ret) ++ return false; ++ ++ } else { ++ drm_dp_mst_reset_vcpi_slots(mst_mgr, mst_port); ++ } + + /* It's OK for this to fail */ +- payload = drm_atomic_get_mst_payload_state(mst_state, aconnector->port); +- if (enable) +- drm_dp_add_payload_part1(mst_mgr, mst_state, payload); +- else +- drm_dp_remove_payload(mst_mgr, mst_state, payload); ++ drm_dp_update_payload_part1(mst_mgr, (link_coding_cap == DP_CAP_ANSI_128B132B) ? 0:1); + + /* mst_mgr->->payloads are VC payload notify MST branch using DPCD or + * AUX message. The sequence is slot 1-63 allocated sequence for each + * stream. AMD ASIC stream slot allocation should follow the same + * sequence. copy DRM MST allocation to dc */ +- fill_dc_mst_payload_table_from_drm(mst_state, aconnector, proposed_table); ++ ++ fill_dc_mst_payload_table_from_drm(aconnector, proposed_table); + + return true; + } +@@ -242,9 +275,8 @@ bool dm_helpers_dp_mst_send_payload_allocation( + bool enable) + { + struct amdgpu_dm_connector *aconnector; +- struct drm_dp_mst_topology_state *mst_state; + struct drm_dp_mst_topology_mgr *mst_mgr; +- struct drm_dp_mst_atomic_payload *payload; ++ struct drm_dp_mst_port *mst_port; + enum mst_progress_status set_flag = MST_ALLOCATE_NEW_PAYLOAD; + enum mst_progress_status clr_flag = MST_CLEAR_ALLOCATED_PAYLOAD; + +@@ -253,16 +285,19 @@ bool dm_helpers_dp_mst_send_payload_allocation( + if (!aconnector || !aconnector->mst_port) + return false; + ++ mst_port = aconnector->port; ++ + mst_mgr = &aconnector->mst_port->mst_mgr; +- mst_state = to_drm_dp_mst_topology_state(mst_mgr->base.state); + +- payload = drm_atomic_get_mst_payload_state(mst_state, aconnector->port); ++ if (!mst_mgr->mst_state) ++ return false; ++ + if (!enable) { + set_flag = MST_CLEAR_ALLOCATED_PAYLOAD; + clr_flag = MST_ALLOCATE_NEW_PAYLOAD; + } + +- if (enable && drm_dp_add_payload_part2(mst_mgr, mst_state->base.state, payload)) { ++ if (drm_dp_update_payload_part2(mst_mgr)) { + amdgpu_dm_set_mst_status(&aconnector->mst_status, + set_flag, false); + } else { +@@ -272,6 +307,9 @@ bool dm_helpers_dp_mst_send_payload_allocation( + clr_flag, false); + } + ++ if (!enable) ++ drm_dp_mst_deallocate_vcpi(mst_mgr, mst_port); ++ + return true; + } + +diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +index 6483ba266893..d57f1528a295 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +@@ -598,8 +598,15 @@ void amdgpu_dm_initialize_dp_connector(struct amdgpu_display_manager *dm, + + dc_link_dp_get_max_link_enc_cap(aconnector->dc_link, &max_link_enc_cap); + aconnector->mst_mgr.cbs = &dm_mst_cbs; +- drm_dp_mst_topology_mgr_init(&aconnector->mst_mgr, adev_to_drm(dm->adev), +- &aconnector->dm_dp_aux.aux, 16, 4, aconnector->connector_id); ++ drm_dp_mst_topology_mgr_init( ++ &aconnector->mst_mgr, ++ adev_to_drm(dm->adev), ++ &aconnector->dm_dp_aux.aux, ++ 16, ++ 4, ++ max_link_enc_cap.lane_count, ++ drm_dp_bw_code_to_link_rate(max_link_enc_cap.link_rate), ++ aconnector->connector_id); + + drm_connector_attach_dp_subconnector_property(&aconnector->base); + } +@@ -703,13 +710,12 @@ static int bpp_x16_from_pbn(struct dsc_mst_fairness_params param, int pbn) + return dsc_config.bits_per_pixel; + } + +-static int increase_dsc_bpp(struct drm_atomic_state *state, +- struct drm_dp_mst_topology_state *mst_state, +- struct dc_link *dc_link, +- struct dsc_mst_fairness_params *params, +- struct dsc_mst_fairness_vars *vars, +- int count, +- int k) ++static bool increase_dsc_bpp(struct drm_atomic_state *state, ++ struct dc_link *dc_link, ++ struct dsc_mst_fairness_params *params, ++ struct dsc_mst_fairness_vars *vars, ++ int count, ++ int k) + { + int i; + bool bpp_increased[MAX_PIPES]; +@@ -717,10 +723,13 @@ static int increase_dsc_bpp(struct drm_atomic_state *state, + int min_initial_slack; + int next_index; + int remaining_to_increase = 0; ++ int pbn_per_timeslot; + int link_timeslots_used; + int fair_pbn_alloc; + int ret = 0; + ++ pbn_per_timeslot = dm_mst_get_pbn_divider(dc_link); ++ + for (i = 0; i < count; i++) { + if (vars[i + k].dsc_enabled) { + initial_slack[i] = +@@ -751,17 +760,18 @@ static int increase_dsc_bpp(struct drm_atomic_state *state, + link_timeslots_used = 0; + + for (i = 0; i < count; i++) +- link_timeslots_used += DIV_ROUND_UP(vars[i + k].pbn, mst_state->pbn_div); ++ link_timeslots_used += DIV_ROUND_UP(vars[i + k].pbn, pbn_per_timeslot); + +- fair_pbn_alloc = +- (63 - link_timeslots_used) / remaining_to_increase * mst_state->pbn_div; ++ fair_pbn_alloc = (63 - link_timeslots_used) / remaining_to_increase * pbn_per_timeslot; + + if (initial_slack[next_index] > fair_pbn_alloc) { + vars[next_index].pbn += fair_pbn_alloc; ++ + ret = drm_dp_atomic_find_time_slots(state, + params[next_index].port->mgr, + params[next_index].port, +- vars[next_index].pbn); ++ vars[next_index].pbn, ++ pbn_per_timeslot); + if (ret < 0) + return ret; + +@@ -773,7 +783,8 @@ static int increase_dsc_bpp(struct drm_atomic_state *state, + ret = drm_dp_atomic_find_time_slots(state, + params[next_index].port->mgr, + params[next_index].port, +- vars[next_index].pbn); ++ vars[next_index].pbn, ++ pbn_per_timeslot); + if (ret < 0) + return ret; + } +@@ -782,7 +793,8 @@ static int increase_dsc_bpp(struct drm_atomic_state *state, + ret = drm_dp_atomic_find_time_slots(state, + params[next_index].port->mgr, + params[next_index].port, +- vars[next_index].pbn); ++ vars[next_index].pbn, ++ pbn_per_timeslot); + if (ret < 0) + return ret; + +@@ -794,7 +806,8 @@ static int increase_dsc_bpp(struct drm_atomic_state *state, + ret = drm_dp_atomic_find_time_slots(state, + params[next_index].port->mgr, + params[next_index].port, +- vars[next_index].pbn); ++ vars[next_index].pbn, ++ pbn_per_timeslot); + if (ret < 0) + return ret; + } +@@ -850,10 +863,12 @@ static int try_disable_dsc(struct drm_atomic_state *state, + break; + + vars[next_index].pbn = kbps_to_peak_pbn(params[next_index].bw_range.stream_kbps); ++ + ret = drm_dp_atomic_find_time_slots(state, + params[next_index].port->mgr, + params[next_index].port, +- vars[next_index].pbn); ++ vars[next_index].pbn, ++ dm_mst_get_pbn_divider(dc_link)); + if (ret < 0) + return ret; + +@@ -863,10 +878,12 @@ static int try_disable_dsc(struct drm_atomic_state *state, + vars[next_index].bpp_x16 = 0; + } else { + vars[next_index].pbn = kbps_to_peak_pbn(params[next_index].bw_range.max_kbps); ++ + ret = drm_dp_atomic_find_time_slots(state, + params[next_index].port->mgr, + params[next_index].port, +- vars[next_index].pbn); ++ vars[next_index].pbn, ++ dm_mst_get_pbn_divider(dc_link)); + if (ret < 0) + return ret; + } +@@ -877,31 +894,21 @@ static int try_disable_dsc(struct drm_atomic_state *state, + return 0; + } + +-static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, +- struct dc_state *dc_state, +- struct dc_link *dc_link, +- struct dsc_mst_fairness_vars *vars, +- struct drm_dp_mst_topology_mgr *mgr, +- int *link_vars_start_index) ++static bool compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, ++ struct dc_state *dc_state, ++ struct dc_link *dc_link, ++ struct dsc_mst_fairness_vars *vars, ++ int *link_vars_start_index) + { ++ int i, k, ret; + struct dc_stream_state *stream; + struct dsc_mst_fairness_params params[MAX_PIPES]; + struct amdgpu_dm_connector *aconnector; +- struct drm_dp_mst_topology_state *mst_state = drm_atomic_get_mst_topology_state(state, mgr); + int count = 0; +- int i, k, ret; + bool debugfs_overwrite = false; + + memset(params, 0, sizeof(params)); + +- if (IS_ERR(mst_state)) +- return PTR_ERR(mst_state); +- +- mst_state->pbn_div = dm_mst_get_pbn_divider(dc_link); +-#if defined(CONFIG_DRM_AMD_DC_DCN) +- drm_dp_mst_update_slots(mst_state, dc_link_dp_mst_decide_link_encoding_format(dc_link)); +-#endif +- + /* Set up params */ + for (i = 0; i < dc_state->stream_count; i++) { + struct dc_dsc_policy dsc_policy = {0}; +@@ -961,7 +968,7 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, + vars[i + k].dsc_enabled = false; + vars[i + k].bpp_x16 = 0; + ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, params[i].port, +- vars[i + k].pbn); ++ vars[i + k].pbn, dm_mst_get_pbn_divider(dc_link)); + if (ret < 0) + return ret; + } +@@ -980,7 +987,7 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, + vars[i + k].dsc_enabled = true; + vars[i + k].bpp_x16 = params[i].bw_range.min_target_bpp_x16; + ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, +- params[i].port, vars[i + k].pbn); ++ params[i].port, vars[i + k].pbn, dm_mst_get_pbn_divider(dc_link)); + if (ret < 0) + return ret; + } else { +@@ -988,7 +995,7 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, + vars[i + k].dsc_enabled = false; + vars[i + k].bpp_x16 = 0; + ret = drm_dp_atomic_find_time_slots(state, params[i].port->mgr, +- params[i].port, vars[i + k].pbn); ++ params[i].port, vars[i + k].pbn, dm_mst_get_pbn_divider(dc_link)); + if (ret < 0) + return ret; + } +@@ -998,7 +1005,7 @@ static int compute_mst_dsc_configs_for_link(struct drm_atomic_state *state, + return ret; + + /* Optimize degree of compression */ +- ret = increase_dsc_bpp(state, mst_state, dc_link, params, vars, count, k); ++ ret = increase_dsc_bpp(state, dc_link, params, vars, count, k); + if (ret < 0) + return ret; + +@@ -1148,7 +1155,7 @@ int compute_mst_dsc_configs_for_state(struct drm_atomic_state *state, + continue; + + mst_mgr = aconnector->port->mgr; +- ret = compute_mst_dsc_configs_for_link(state, dc_state, stream->link, vars, mst_mgr, ++ ret = compute_mst_dsc_configs_for_link(state, dc_state, stream->link, vars, + &link_vars_start_index); + if (ret != 0) + return ret; +@@ -1206,7 +1213,7 @@ static int pre_compute_mst_dsc_configs_for_state(struct drm_atomic_state *state, + continue; + + mst_mgr = aconnector->port->mgr; +- ret = compute_mst_dsc_configs_for_link(state, dc_state, stream->link, vars, mst_mgr, ++ ret = compute_mst_dsc_configs_for_link(state, dc_state, stream->link, vars, + &link_vars_start_index); + if (ret != 0) + return ret; +diff --git a/drivers/gpu/drm/amd/display/include/link_service_types.h b/drivers/gpu/drm/amd/display/include/link_service_types.h +index d1e91d31d151..0889c2a86733 100644 +--- a/drivers/gpu/drm/amd/display/include/link_service_types.h ++++ b/drivers/gpu/drm/amd/display/include/link_service_types.h +@@ -252,9 +252,6 @@ union dpcd_training_lane_set { + * _ONLY_ be filled out from DM and then passed to DC, do NOT use these for _any_ kind of atomic + * state calculations in DM, or you will break something. + */ +- +-struct drm_dp_mst_port; +- + /* DP MST stream allocation (payload bandwidth number) */ + struct dc_dp_mst_stream_allocation { + uint8_t vcp_id; +diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c +index 51a46689cda7..95ff57d20216 100644 +--- a/drivers/gpu/drm/display/drm_dp_mst_topology.c ++++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c +@@ -68,7 +68,8 @@ static bool dump_dp_payload_table(struct drm_dp_mst_topology_mgr *mgr, + static void drm_dp_mst_topology_put_port(struct drm_dp_mst_port *port); + + static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, +- int id, u8 start_slot, u8 num_slots); ++ int id, ++ struct drm_dp_payload *payload); + + static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_port *port, +@@ -1234,6 +1235,57 @@ build_query_stream_enc_status(struct drm_dp_sideband_msg_tx *msg, u8 stream_id, + return 0; + } + ++static int drm_dp_mst_assign_payload_id(struct drm_dp_mst_topology_mgr *mgr, ++ struct drm_dp_vcpi *vcpi) ++{ ++ int ret, vcpi_ret; ++ ++ mutex_lock(&mgr->payload_lock); ++ ret = find_first_zero_bit(&mgr->payload_mask, mgr->max_payloads + 1); ++ if (ret > mgr->max_payloads) { ++ ret = -EINVAL; ++ drm_dbg_kms(mgr->dev, "out of payload ids %d\n", ret); ++ goto out_unlock; ++ } ++ ++ vcpi_ret = find_first_zero_bit(&mgr->vcpi_mask, mgr->max_payloads + 1); ++ if (vcpi_ret > mgr->max_payloads) { ++ ret = -EINVAL; ++ drm_dbg_kms(mgr->dev, "out of vcpi ids %d\n", ret); ++ goto out_unlock; ++ } ++ ++ set_bit(ret, &mgr->payload_mask); ++ set_bit(vcpi_ret, &mgr->vcpi_mask); ++ vcpi->vcpi = vcpi_ret + 1; ++ mgr->proposed_vcpis[ret - 1] = vcpi; ++out_unlock: ++ mutex_unlock(&mgr->payload_lock); ++ return ret; ++} ++ ++static void drm_dp_mst_put_payload_id(struct drm_dp_mst_topology_mgr *mgr, ++ int vcpi) ++{ ++ int i; ++ ++ if (vcpi == 0) ++ return; ++ ++ mutex_lock(&mgr->payload_lock); ++ drm_dbg_kms(mgr->dev, "putting payload %d\n", vcpi); ++ clear_bit(vcpi - 1, &mgr->vcpi_mask); ++ ++ for (i = 0; i < mgr->max_payloads; i++) { ++ if (mgr->proposed_vcpis[i] && ++ mgr->proposed_vcpis[i]->vcpi == vcpi) { ++ mgr->proposed_vcpis[i] = NULL; ++ clear_bit(i + 1, &mgr->payload_mask); ++ } ++ } ++ mutex_unlock(&mgr->payload_lock); ++} ++ + static bool check_txmsg_state(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_sideband_msg_tx *txmsg) + { +@@ -1686,7 +1738,7 @@ drm_dp_mst_dump_port_topology_history(struct drm_dp_mst_port *port) {} + #define save_port_topology_ref(port, type) + #endif + +-struct drm_dp_mst_atomic_payload * ++static struct drm_dp_mst_atomic_payload * + drm_atomic_get_mst_payload_state(struct drm_dp_mst_topology_state *state, + struct drm_dp_mst_port *port) + { +@@ -1698,7 +1750,6 @@ drm_atomic_get_mst_payload_state(struct drm_dp_mst_topology_state *state, + + return NULL; + } +-EXPORT_SYMBOL(drm_atomic_get_mst_payload_state); + + static void drm_dp_destroy_mst_branch_device(struct kref *kref) + { +@@ -3201,8 +3252,6 @@ int drm_dp_send_query_stream_enc_status(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_port *port, + struct drm_dp_query_stream_enc_status_ack_reply *status) + { +- struct drm_dp_mst_topology_state *state; +- struct drm_dp_mst_atomic_payload *payload; + struct drm_dp_sideband_msg_tx *txmsg; + u8 nonce[7]; + int ret; +@@ -3219,10 +3268,6 @@ int drm_dp_send_query_stream_enc_status(struct drm_dp_mst_topology_mgr *mgr, + + get_random_bytes(nonce, sizeof(nonce)); + +- drm_modeset_lock(&mgr->base.lock, NULL); +- state = to_drm_dp_mst_topology_state(mgr->base.state); +- payload = drm_atomic_get_mst_payload_state(state, port); +- + /* + * "Source device targets the QUERY_STREAM_ENCRYPTION_STATUS message + * transaction at the MST Branch device directly connected to the +@@ -3230,7 +3275,7 @@ int drm_dp_send_query_stream_enc_status(struct drm_dp_mst_topology_mgr *mgr, + */ + txmsg->dst = mgr->mst_primary; + +- build_query_stream_enc_status(txmsg, payload->vcpi, nonce); ++ build_query_stream_enc_status(txmsg, port->vcpi.vcpi, nonce); + + drm_dp_queue_down_tx(mgr, txmsg); + +@@ -3247,7 +3292,6 @@ int drm_dp_send_query_stream_enc_status(struct drm_dp_mst_topology_mgr *mgr, + memcpy(status, &txmsg->reply.u.enc_status, sizeof(*status)); + + out: +- drm_modeset_unlock(&mgr->base.lock); + drm_dp_mst_topology_put_port(port); + out_get_port: + kfree(txmsg); +@@ -3256,162 +3300,238 @@ int drm_dp_send_query_stream_enc_status(struct drm_dp_mst_topology_mgr *mgr, + EXPORT_SYMBOL(drm_dp_send_query_stream_enc_status); + + static int drm_dp_create_payload_step1(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_atomic_payload *payload) ++ int id, ++ struct drm_dp_payload *payload) + { +- return drm_dp_dpcd_write_payload(mgr, payload->vcpi, payload->vc_start_slot, +- payload->time_slots); ++ int ret; ++ ++ ret = drm_dp_dpcd_write_payload(mgr, id, payload); ++ if (ret < 0) { ++ payload->payload_state = 0; ++ return ret; ++ } ++ payload->payload_state = DP_PAYLOAD_LOCAL; ++ return 0; + } + + static int drm_dp_create_payload_step2(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_atomic_payload *payload) ++ struct drm_dp_mst_port *port, ++ int id, ++ struct drm_dp_payload *payload) + { + int ret; +- struct drm_dp_mst_port *port = drm_dp_mst_topology_get_port_validated(mgr, payload->port); +- +- if (!port) +- return -EIO; + +- ret = drm_dp_payload_send_msg(mgr, port, payload->vcpi, payload->pbn); +- drm_dp_mst_topology_put_port(port); ++ ret = drm_dp_payload_send_msg(mgr, port, id, port->vcpi.pbn); ++ if (ret < 0) ++ return ret; ++ payload->payload_state = DP_PAYLOAD_REMOTE; + return ret; + } + + static int drm_dp_destroy_payload_step1(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_topology_state *mst_state, +- struct drm_dp_mst_atomic_payload *payload) ++ struct drm_dp_mst_port *port, ++ int id, ++ struct drm_dp_payload *payload) + { + drm_dbg_kms(mgr->dev, "\n"); +- + /* it's okay for these to fail */ +- drm_dp_payload_send_msg(mgr, payload->port, payload->vcpi, 0); +- drm_dp_dpcd_write_payload(mgr, payload->vcpi, payload->vc_start_slot, 0); ++ if (port) { ++ drm_dp_payload_send_msg(mgr, port, id, 0); ++ } + ++ drm_dp_dpcd_write_payload(mgr, id, payload); ++ payload->payload_state = DP_PAYLOAD_DELETE_LOCAL; ++ return 0; ++} ++ ++static int drm_dp_destroy_payload_step2(struct drm_dp_mst_topology_mgr *mgr, ++ int id, ++ struct drm_dp_payload *payload) ++{ ++ payload->payload_state = 0; + return 0; + } + + /** +- * drm_dp_add_payload_part1() - Execute payload update part 1 +- * @mgr: Manager to use. +- * @mst_state: The MST atomic state +- * @payload: The payload to write ++ * drm_dp_update_payload_part1() - Execute payload update part 1 ++ * @mgr: manager to use. ++ * @start_slot: this is the cur slot ++ * ++ * NOTE: start_slot is a temporary workaround for non-atomic drivers, ++ * this will be removed when non-atomic mst helpers are moved out of the helper + * +- * Determines the starting time slot for the given payload, and programs the VCPI for this payload +- * into hardware. After calling this, the driver should generate ACT and payload packets. ++ * This iterates over all proposed virtual channels, and tries to ++ * allocate space in the link for them. For 0->slots transitions, ++ * this step just writes the VCPI to the MST device. For slots->0 ++ * transitions, this writes the updated VCPIs and removes the ++ * remote VC payloads. + * +- * Returns: 0 on success, error code on failure. In the event that this fails, +- * @payload.vc_start_slot will also be set to -1. ++ * after calling this the driver should generate ACT and payload ++ * packets. + */ +-int drm_dp_add_payload_part1(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_topology_state *mst_state, +- struct drm_dp_mst_atomic_payload *payload) ++int drm_dp_update_payload_part1(struct drm_dp_mst_topology_mgr *mgr, int start_slot) + { ++ struct drm_dp_payload req_payload; + struct drm_dp_mst_port *port; +- int ret; ++ int i, j; ++ int cur_slots = start_slot; ++ bool skip; + +- port = drm_dp_mst_topology_get_port_validated(mgr, payload->port); +- if (!port) +- return 0; ++ mutex_lock(&mgr->payload_lock); ++ for (i = 0; i < mgr->max_payloads; i++) { ++ struct drm_dp_vcpi *vcpi = mgr->proposed_vcpis[i]; ++ struct drm_dp_payload *payload = &mgr->payloads[i]; ++ bool put_port = false; + +- if (mgr->payload_count == 0) +- mgr->next_start_slot = mst_state->start_slot; ++ /* solve the current payloads - compare to the hw ones ++ - update the hw view */ ++ req_payload.start_slot = cur_slots; ++ if (vcpi) { ++ port = container_of(vcpi, struct drm_dp_mst_port, ++ vcpi); + +- payload->vc_start_slot = mgr->next_start_slot; ++ mutex_lock(&mgr->lock); ++ skip = !drm_dp_mst_port_downstream_of_branch(port, mgr->mst_primary); ++ mutex_unlock(&mgr->lock); + +- ret = drm_dp_create_payload_step1(mgr, payload); +- drm_dp_mst_topology_put_port(port); +- if (ret < 0) { +- drm_warn(mgr->dev, "Failed to create MST payload for port %p: %d\n", +- payload->port, ret); +- payload->vc_start_slot = -1; +- return ret; +- } ++ if (skip) { ++ drm_dbg_kms(mgr->dev, ++ "Virtual channel %d is not in current topology\n", ++ i); ++ continue; ++ } ++ /* Validated ports don't matter if we're releasing ++ * VCPI ++ */ ++ if (vcpi->num_slots) { ++ port = drm_dp_mst_topology_get_port_validated( ++ mgr, port); ++ if (!port) { ++ if (vcpi->num_slots == payload->num_slots) { ++ cur_slots += vcpi->num_slots; ++ payload->start_slot = req_payload.start_slot; ++ continue; ++ } else { ++ drm_dbg_kms(mgr->dev, ++ "Fail:set payload to invalid sink"); ++ mutex_unlock(&mgr->payload_lock); ++ return -EINVAL; ++ } ++ } ++ put_port = true; ++ } + +- mgr->payload_count++; +- mgr->next_start_slot += payload->time_slots; ++ req_payload.num_slots = vcpi->num_slots; ++ req_payload.vcpi = vcpi->vcpi; ++ } else { ++ port = NULL; ++ req_payload.num_slots = 0; ++ } + +- return 0; +-} +-EXPORT_SYMBOL(drm_dp_add_payload_part1); ++ payload->start_slot = req_payload.start_slot; ++ /* work out what is required to happen with this payload */ ++ if (payload->num_slots != req_payload.num_slots) { ++ ++ /* need to push an update for this payload */ ++ if (req_payload.num_slots) { ++ drm_dp_create_payload_step1(mgr, vcpi->vcpi, ++ &req_payload); ++ payload->num_slots = req_payload.num_slots; ++ payload->vcpi = req_payload.vcpi; ++ ++ } else if (payload->num_slots) { ++ payload->num_slots = 0; ++ drm_dp_destroy_payload_step1(mgr, port, ++ payload->vcpi, ++ payload); ++ req_payload.payload_state = ++ payload->payload_state; ++ payload->start_slot = 0; ++ } ++ payload->payload_state = req_payload.payload_state; ++ } ++ cur_slots += req_payload.num_slots; + +-/** +- * drm_dp_remove_payload() - Remove an MST payload +- * @mgr: Manager to use. +- * @mst_state: The MST atomic state +- * @payload: The payload to write +- * +- * Removes a payload from an MST topology if it was successfully assigned a start slot. Also updates +- * the starting time slots of all other payloads which would have been shifted towards the start of +- * the VC table as a result. After calling this, the driver should generate ACT and payload packets. +- */ +-void drm_dp_remove_payload(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_topology_state *mst_state, +- struct drm_dp_mst_atomic_payload *payload) +-{ +- struct drm_dp_mst_atomic_payload *pos; +- bool send_remove = false; ++ if (put_port) ++ drm_dp_mst_topology_put_port(port); ++ } + +- /* We failed to make the payload, so nothing to do */ +- if (payload->vc_start_slot == -1) +- return; ++ for (i = 0; i < mgr->max_payloads; /* do nothing */) { ++ if (mgr->payloads[i].payload_state != DP_PAYLOAD_DELETE_LOCAL) { ++ i++; ++ continue; ++ } + +- mutex_lock(&mgr->lock); +- send_remove = drm_dp_mst_port_downstream_of_branch(payload->port, mgr->mst_primary); +- mutex_unlock(&mgr->lock); ++ drm_dbg_kms(mgr->dev, "removing payload %d\n", i); ++ for (j = i; j < mgr->max_payloads - 1; j++) { ++ mgr->payloads[j] = mgr->payloads[j + 1]; ++ mgr->proposed_vcpis[j] = mgr->proposed_vcpis[j + 1]; + +- if (send_remove) +- drm_dp_destroy_payload_step1(mgr, mst_state, payload); +- else +- drm_dbg_kms(mgr->dev, "Payload for VCPI %d not in topology, not sending remove\n", +- payload->vcpi); ++ if (mgr->proposed_vcpis[j] && ++ mgr->proposed_vcpis[j]->num_slots) { ++ set_bit(j + 1, &mgr->payload_mask); ++ } else { ++ clear_bit(j + 1, &mgr->payload_mask); ++ } ++ } + +- list_for_each_entry(pos, &mst_state->payloads, next) { +- if (pos != payload && pos->vc_start_slot > payload->vc_start_slot) +- pos->vc_start_slot -= payload->time_slots; ++ memset(&mgr->payloads[mgr->max_payloads - 1], 0, ++ sizeof(struct drm_dp_payload)); ++ mgr->proposed_vcpis[mgr->max_payloads - 1] = NULL; ++ clear_bit(mgr->max_payloads, &mgr->payload_mask); + } +- payload->vc_start_slot = -1; ++ mutex_unlock(&mgr->payload_lock); + +- mgr->payload_count--; +- mgr->next_start_slot -= payload->time_slots; ++ return 0; + } +-EXPORT_SYMBOL(drm_dp_remove_payload); ++EXPORT_SYMBOL(drm_dp_update_payload_part1); + + /** +- * drm_dp_add_payload_part2() - Execute payload update part 2 +- * @mgr: Manager to use. +- * @state: The global atomic state +- * @payload: The payload to update +- * +- * If @payload was successfully assigned a starting time slot by drm_dp_add_payload_part1(), this +- * function will send the sideband messages to finish allocating this payload. ++ * drm_dp_update_payload_part2() - Execute payload update part 2 ++ * @mgr: manager to use. + * +- * Returns: 0 on success, negative error code on failure. ++ * This iterates over all proposed virtual channels, and tries to ++ * allocate space in the link for them. For 0->slots transitions, ++ * this step writes the remote VC payload commands. For slots->0 ++ * this just resets some internal state. + */ +-int drm_dp_add_payload_part2(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_atomic_state *state, +- struct drm_dp_mst_atomic_payload *payload) ++int drm_dp_update_payload_part2(struct drm_dp_mst_topology_mgr *mgr) + { ++ struct drm_dp_mst_port *port; ++ int i; + int ret = 0; ++ bool skip; + +- /* Skip failed payloads */ +- if (payload->vc_start_slot == -1) { +- drm_dbg_kms(state->dev, "Part 1 of payload creation for %s failed, skipping part 2\n", +- payload->port->connector->name); +- return -EIO; +- } ++ mutex_lock(&mgr->payload_lock); ++ for (i = 0; i < mgr->max_payloads; i++) { + +- ret = drm_dp_create_payload_step2(mgr, payload); +- if (ret < 0) { +- if (!payload->delete) +- drm_err(mgr->dev, "Step 2 of creating MST payload for %p failed: %d\n", +- payload->port, ret); +- else +- drm_dbg_kms(mgr->dev, "Step 2 of removing MST payload for %p failed: %d\n", +- payload->port, ret); +- } ++ if (!mgr->proposed_vcpis[i]) ++ continue; + +- return ret; ++ port = container_of(mgr->proposed_vcpis[i], struct drm_dp_mst_port, vcpi); ++ ++ mutex_lock(&mgr->lock); ++ skip = !drm_dp_mst_port_downstream_of_branch(port, mgr->mst_primary); ++ mutex_unlock(&mgr->lock); ++ ++ if (skip) ++ continue; ++ ++ drm_dbg_kms(mgr->dev, "payload %d %d\n", i, mgr->payloads[i].payload_state); ++ if (mgr->payloads[i].payload_state == DP_PAYLOAD_LOCAL) { ++ ret = drm_dp_create_payload_step2(mgr, port, mgr->proposed_vcpis[i]->vcpi, &mgr->payloads[i]); ++ } else if (mgr->payloads[i].payload_state == DP_PAYLOAD_DELETE_LOCAL) { ++ ret = drm_dp_destroy_payload_step2(mgr, mgr->proposed_vcpis[i]->vcpi, &mgr->payloads[i]); ++ } ++ if (ret) { ++ mutex_unlock(&mgr->payload_lock); ++ return ret; ++ } ++ } ++ mutex_unlock(&mgr->payload_lock); ++ return 0; + } +-EXPORT_SYMBOL(drm_dp_add_payload_part2); ++EXPORT_SYMBOL(drm_dp_update_payload_part2); + + static int drm_dp_send_dpcd_read(struct drm_dp_mst_topology_mgr *mgr, + struct drm_dp_mst_port *port, +@@ -3591,6 +3711,7 @@ int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool ms + int ret = 0; + struct drm_dp_mst_branch *mstb = NULL; + ++ mutex_lock(&mgr->payload_lock); + mutex_lock(&mgr->lock); + if (mst_state == mgr->mst_state) + goto out_unlock; +@@ -3598,6 +3719,10 @@ int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool ms + mgr->mst_state = mst_state; + /* set the device into MST mode */ + if (mst_state) { ++ struct drm_dp_payload reset_pay; ++ int lane_count; ++ int link_rate; ++ + WARN_ON(mgr->mst_primary); + + /* get dpcd info */ +@@ -3608,6 +3733,16 @@ int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool ms + goto out_unlock; + } + ++ lane_count = min_t(int, mgr->dpcd[2] & DP_MAX_LANE_COUNT_MASK, mgr->max_lane_count); ++ link_rate = min_t(int, drm_dp_bw_code_to_link_rate(mgr->dpcd[1]), mgr->max_link_rate); ++ mgr->pbn_div = drm_dp_get_vc_payload_bw(mgr, ++ link_rate, ++ lane_count); ++ if (mgr->pbn_div == 0) { ++ ret = -EINVAL; ++ goto out_unlock; ++ } ++ + /* add initial branch device at LCT 1 */ + mstb = drm_dp_add_mst_branch_device(1, NULL); + if (mstb == NULL) { +@@ -3627,8 +3762,9 @@ int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool ms + if (ret < 0) + goto out_unlock; + +- /* Write reset payload */ +- drm_dp_dpcd_write_payload(mgr, 0, 0, 0x3f); ++ reset_pay.start_slot = 0; ++ reset_pay.num_slots = 0x3f; ++ drm_dp_dpcd_write_payload(mgr, 0, &reset_pay); + + queue_work(system_long_wq, &mgr->work); + +@@ -3640,11 +3776,19 @@ int drm_dp_mst_topology_mgr_set_mst(struct drm_dp_mst_topology_mgr *mgr, bool ms + /* this can fail if the device is gone */ + drm_dp_dpcd_writeb(mgr->aux, DP_MSTM_CTRL, 0); + ret = 0; ++ memset(mgr->payloads, 0, ++ mgr->max_payloads * sizeof(mgr->payloads[0])); ++ memset(mgr->proposed_vcpis, 0, ++ mgr->max_payloads * sizeof(mgr->proposed_vcpis[0])); ++ mgr->payload_mask = 0; ++ set_bit(0, &mgr->payload_mask); ++ mgr->vcpi_mask = 0; + mgr->payload_id_table_cleared = false; + } + + out_unlock: + mutex_unlock(&mgr->lock); ++ mutex_unlock(&mgr->payload_lock); + if (mstb) + drm_dp_mst_topology_put_mstb(mstb); + return ret; +@@ -4163,18 +4307,62 @@ struct edid *drm_dp_mst_get_edid(struct drm_connector *connector, struct drm_dp_ + } + EXPORT_SYMBOL(drm_dp_mst_get_edid); + ++/** ++ * drm_dp_find_vcpi_slots() - Find time slots for this PBN value ++ * @mgr: manager to use ++ * @pbn: payload bandwidth to convert into slots. ++ * ++ * Calculate the number of time slots that will be required for the given PBN ++ * value. This function is deprecated, and should not be used in atomic ++ * drivers. ++ * ++ * RETURNS: ++ * The total slots required for this port, or error. ++ */ ++int drm_dp_find_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, ++ int pbn) ++{ ++ int num_slots; ++ ++ num_slots = DIV_ROUND_UP(pbn, mgr->pbn_div); ++ ++ /* max. time slots - one slot for MTP header */ ++ if (num_slots > 63) ++ return -ENOSPC; ++ return num_slots; ++} ++EXPORT_SYMBOL(drm_dp_find_vcpi_slots); ++ ++static int drm_dp_init_vcpi(struct drm_dp_mst_topology_mgr *mgr, ++ struct drm_dp_vcpi *vcpi, int pbn, int slots) ++{ ++ int ret; ++ ++ vcpi->pbn = pbn; ++ vcpi->aligned_pbn = slots * mgr->pbn_div; ++ vcpi->num_slots = slots; ++ ++ ret = drm_dp_mst_assign_payload_id(mgr, vcpi); ++ if (ret < 0) ++ return ret; ++ return 0; ++} ++ + /** + * drm_dp_atomic_find_time_slots() - Find and add time slots to the state + * @state: global atomic state + * @mgr: MST topology manager for the port + * @port: port to find time slots for + * @pbn: bandwidth required for the mode in PBN ++ * @pbn_div: divider for DSC mode that takes FEC into account + * +- * Allocates time slots to @port, replacing any previous time slot allocations it may +- * have had. Any atomic drivers which support MST must call this function in +- * their &drm_encoder_helper_funcs.atomic_check() callback unconditionally to +- * change the current time slot allocation for the new state, and ensure the MST +- * atomic state is added whenever the state of payloads in the topology changes. ++ * Allocates time slots to @port, replacing any previous timeslot allocations it ++ * may have had. Any atomic drivers which support MST must call this function ++ * in their &drm_encoder_helper_funcs.atomic_check() callback to change the ++ * current timeslot allocation for the new state, but only when ++ * &drm_crtc_state.mode_changed or &drm_crtc_state.connectors_changed is set ++ * to ensure compatibility with userspace applications that still use the ++ * legacy modesetting UAPI. + * + * Allocations set by this function are not checked against the bandwidth + * restraints of @mgr until the driver calls drm_dp_mst_atomic_check(). +@@ -4193,7 +4381,8 @@ EXPORT_SYMBOL(drm_dp_mst_get_edid); + */ + int drm_dp_atomic_find_time_slots(struct drm_atomic_state *state, + struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_port *port, int pbn) ++ struct drm_dp_mst_port *port, int pbn, ++ int pbn_div) + { + struct drm_dp_mst_topology_state *topology_state; + struct drm_dp_mst_atomic_payload *payload = NULL; +@@ -4226,7 +4415,10 @@ int drm_dp_atomic_find_time_slots(struct drm_atomic_state *state, + } + } + +- req_slots = DIV_ROUND_UP(pbn, topology_state->pbn_div); ++ if (pbn_div <= 0) ++ pbn_div = mgr->pbn_div; ++ ++ req_slots = DIV_ROUND_UP(pbn, pbn_div); + + drm_dbg_atomic(mgr->dev, "[CONNECTOR:%d:%s] [MST PORT:%p] TU %d -> %d\n", + port->connector->base.id, port->connector->name, +@@ -4235,7 +4427,7 @@ int drm_dp_atomic_find_time_slots(struct drm_atomic_state *state, + port->connector->base.id, port->connector->name, + port, prev_bw, pbn); + +- /* Add the new allocation to the state, note the VCPI isn't assigned until the end */ ++ /* Add the new allocation to the state */ + if (!payload) { + payload = kzalloc(sizeof(*payload), GFP_KERNEL); + if (!payload) +@@ -4243,7 +4435,6 @@ int drm_dp_atomic_find_time_slots(struct drm_atomic_state *state, + + drm_dp_mst_get_port_malloc(port); + payload->port = port; +- payload->vc_start_slot = -1; + list_add(&payload->next, &topology_state->payloads); + } + payload->time_slots = req_slots; +@@ -4260,12 +4451,10 @@ EXPORT_SYMBOL(drm_dp_atomic_find_time_slots); + * @port: The port to release the time slots from + * + * Releases any time slots that have been allocated to a port in the atomic +- * state. Any atomic drivers which support MST must call this function +- * unconditionally in their &drm_connector_helper_funcs.atomic_check() callback. +- * This helper will check whether time slots would be released by the new state and +- * respond accordingly, along with ensuring the MST state is always added to the +- * atomic state whenever a new state would modify the state of payloads on the +- * topology. ++ * state. Any atomic drivers which support MST must call this function in ++ * their &drm_connector_helper_funcs.atomic_check() callback when the ++ * connector will no longer have VCPI allocated (e.g. because its CRTC was ++ * removed) when it had VCPI allocated in the previous atomic state. + * + * It is OK to call this even if @port has been removed from the system. + * Additionally, it is OK to call this function multiple times on the same +@@ -4330,7 +4519,6 @@ int drm_dp_atomic_release_time_slots(struct drm_atomic_state *state, + drm_dp_mst_put_port_malloc(port); + payload->pbn = 0; + payload->delete = true; +- topology_state->payload_mask &= ~BIT(payload->vcpi - 1); + } + + return 0; +@@ -4381,8 +4569,7 @@ int drm_dp_mst_atomic_setup_commit(struct drm_atomic_state *state) + EXPORT_SYMBOL(drm_dp_mst_atomic_setup_commit); + + /** +- * drm_dp_mst_atomic_wait_for_dependencies() - Wait for all pending commits on MST topologies, +- * prepare new MST state for commit ++ * drm_dp_mst_atomic_wait_for_dependencies() - Wait for all pending commits on MST topologies + * @state: global atomic state + * + * Goes through any MST topologies in this atomic state, and waits for any pending commits which +@@ -4400,30 +4587,17 @@ EXPORT_SYMBOL(drm_dp_mst_atomic_setup_commit); + */ + void drm_dp_mst_atomic_wait_for_dependencies(struct drm_atomic_state *state) + { +- struct drm_dp_mst_topology_state *old_mst_state, *new_mst_state; ++ struct drm_dp_mst_topology_state *old_mst_state; + struct drm_dp_mst_topology_mgr *mgr; +- struct drm_dp_mst_atomic_payload *old_payload, *new_payload; + int i, j, ret; + +- for_each_oldnew_mst_mgr_in_state(state, mgr, old_mst_state, new_mst_state, i) { ++ for_each_old_mst_mgr_in_state(state, mgr, old_mst_state, i) { + for (j = 0; j < old_mst_state->num_commit_deps; j++) { + ret = drm_crtc_commit_wait(old_mst_state->commit_deps[j]); + if (ret < 0) + drm_err(state->dev, "Failed to wait for %s: %d\n", + old_mst_state->commit_deps[j]->crtc->name, ret); + } +- +- /* Now that previous state is committed, it's safe to copy over the start slot +- * assignments +- */ +- list_for_each_entry(old_payload, &old_mst_state->payloads, next) { +- if (old_payload->delete) +- continue; +- +- new_payload = drm_atomic_get_mst_payload_state(new_mst_state, +- old_payload->port); +- new_payload->vc_start_slot = old_payload->vc_start_slot; +- } + } + } + EXPORT_SYMBOL(drm_dp_mst_atomic_wait_for_dependencies); +@@ -4508,8 +4682,119 @@ void drm_dp_mst_update_slots(struct drm_dp_mst_topology_state *mst_state, uint8_ + } + EXPORT_SYMBOL(drm_dp_mst_update_slots); + ++/** ++ * drm_dp_mst_allocate_vcpi() - Allocate a virtual channel ++ * @mgr: manager for this port ++ * @port: port to allocate a virtual channel for. ++ * @pbn: payload bandwidth number to request ++ * @slots: returned number of slots for this PBN. ++ */ ++bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, ++ struct drm_dp_mst_port *port, int pbn, int slots) ++{ ++ int ret; ++ ++ if (slots < 0) ++ return false; ++ ++ port = drm_dp_mst_topology_get_port_validated(mgr, port); ++ if (!port) ++ return false; ++ ++ if (port->vcpi.vcpi > 0) { ++ drm_dbg_kms(mgr->dev, ++ "payload: vcpi %d already allocated for pbn %d - requested pbn %d\n", ++ port->vcpi.vcpi, port->vcpi.pbn, pbn); ++ if (pbn == port->vcpi.pbn) { ++ drm_dp_mst_topology_put_port(port); ++ return true; ++ } ++ } ++ ++ ret = drm_dp_init_vcpi(mgr, &port->vcpi, pbn, slots); ++ if (ret) { ++ drm_dbg_kms(mgr->dev, "failed to init time slots=%d ret=%d\n", ++ DIV_ROUND_UP(pbn, mgr->pbn_div), ret); ++ drm_dp_mst_topology_put_port(port); ++ goto out; ++ } ++ drm_dbg_kms(mgr->dev, "initing vcpi for pbn=%d slots=%d\n", pbn, port->vcpi.num_slots); ++ ++ /* Keep port allocated until its payload has been removed */ ++ drm_dp_mst_get_port_malloc(port); ++ drm_dp_mst_topology_put_port(port); ++ return true; ++out: ++ return false; ++} ++EXPORT_SYMBOL(drm_dp_mst_allocate_vcpi); ++ ++int drm_dp_mst_get_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port) ++{ ++ int slots = 0; ++ ++ port = drm_dp_mst_topology_get_port_validated(mgr, port); ++ if (!port) ++ return slots; ++ ++ slots = port->vcpi.num_slots; ++ drm_dp_mst_topology_put_port(port); ++ return slots; ++} ++EXPORT_SYMBOL(drm_dp_mst_get_vcpi_slots); ++ ++/** ++ * drm_dp_mst_reset_vcpi_slots() - Reset number of slots to 0 for VCPI ++ * @mgr: manager for this port ++ * @port: unverified pointer to a port. ++ * ++ * This just resets the number of slots for the ports VCPI for later programming. ++ */ ++void drm_dp_mst_reset_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port) ++{ ++ /* ++ * A port with VCPI will remain allocated until its VCPI is ++ * released, no verified ref needed ++ */ ++ ++ port->vcpi.num_slots = 0; ++} ++EXPORT_SYMBOL(drm_dp_mst_reset_vcpi_slots); ++ ++/** ++ * drm_dp_mst_deallocate_vcpi() - deallocate a VCPI ++ * @mgr: manager for this port ++ * @port: port to deallocate vcpi for ++ * ++ * This can be called unconditionally, regardless of whether ++ * drm_dp_mst_allocate_vcpi() succeeded or not. ++ */ ++void drm_dp_mst_deallocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, ++ struct drm_dp_mst_port *port) ++{ ++ bool skip; ++ ++ if (!port->vcpi.vcpi) ++ return; ++ ++ mutex_lock(&mgr->lock); ++ skip = !drm_dp_mst_port_downstream_of_branch(port, mgr->mst_primary); ++ mutex_unlock(&mgr->lock); ++ ++ if (skip) ++ return; ++ ++ drm_dp_mst_put_payload_id(mgr, port->vcpi.vcpi); ++ port->vcpi.num_slots = 0; ++ port->vcpi.pbn = 0; ++ port->vcpi.aligned_pbn = 0; ++ port->vcpi.vcpi = 0; ++ drm_dp_mst_put_port_malloc(port); ++} ++EXPORT_SYMBOL(drm_dp_mst_deallocate_vcpi); ++ + static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, +- int id, u8 start_slot, u8 num_slots) ++ int id, struct drm_dp_payload *payload) + { + u8 payload_alloc[3], status; + int ret; +@@ -4519,8 +4804,8 @@ static int drm_dp_dpcd_write_payload(struct drm_dp_mst_topology_mgr *mgr, + DP_PAYLOAD_TABLE_UPDATED); + + payload_alloc[0] = id; +- payload_alloc[1] = start_slot; +- payload_alloc[2] = num_slots; ++ payload_alloc[1] = payload->start_slot; ++ payload_alloc[2] = payload->num_slots; + + ret = drm_dp_dpcd_write(mgr->aux, DP_PAYLOAD_ALLOCATE_SET, payload_alloc, 3); + if (ret != 3) { +@@ -4735,9 +5020,8 @@ static void fetch_monitor_name(struct drm_dp_mst_topology_mgr *mgr, + void drm_dp_mst_dump_topology(struct seq_file *m, + struct drm_dp_mst_topology_mgr *mgr) + { +- struct drm_dp_mst_topology_state *state; +- struct drm_dp_mst_atomic_payload *payload; +- int i, ret; ++ int i; ++ struct drm_dp_mst_port *port; + + mutex_lock(&mgr->lock); + if (mgr->mst_primary) +@@ -4746,35 +5030,36 @@ void drm_dp_mst_dump_topology(struct seq_file *m, + /* dump VCPIs */ + mutex_unlock(&mgr->lock); + +- ret = drm_modeset_lock_single_interruptible(&mgr->base.lock); +- if (ret < 0) +- return; ++ mutex_lock(&mgr->payload_lock); ++ seq_printf(m, "\n*** VCPI Info ***\n"); ++ seq_printf(m, "payload_mask: %lx, vcpi_mask: %lx, max_payloads: %d\n", mgr->payload_mask, mgr->vcpi_mask, mgr->max_payloads); + +- state = to_drm_dp_mst_topology_state(mgr->base.state); +- seq_printf(m, "\n*** Atomic state info ***\n"); +- seq_printf(m, "payload_mask: %x, max_payloads: %d, start_slot: %u, pbn_div: %d\n", +- state->payload_mask, mgr->max_payloads, state->start_slot, state->pbn_div); +- +- seq_printf(m, "\n| idx | port | vcpi | slots | pbn | dsc | sink name |\n"); ++ seq_printf(m, "\n| idx | port # | vcp_id | # slots | sink name |\n"); + for (i = 0; i < mgr->max_payloads; i++) { +- list_for_each_entry(payload, &state->payloads, next) { ++ if (mgr->proposed_vcpis[i]) { + char name[14]; + +- if (payload->vcpi != i || payload->delete) +- continue; +- +- fetch_monitor_name(mgr, payload->port, name, sizeof(name)); +- seq_printf(m, " %5d %6d %6d %02d - %02d %5d %5s %19s\n", ++ port = container_of(mgr->proposed_vcpis[i], struct drm_dp_mst_port, vcpi); ++ fetch_monitor_name(mgr, port, name, sizeof(name)); ++ seq_printf(m, "%10d%10d%10d%10d%20s\n", + i, +- payload->port->port_num, +- payload->vcpi, +- payload->vc_start_slot, +- payload->vc_start_slot + payload->time_slots - 1, +- payload->pbn, +- payload->dsc_enabled ? "Y" : "N", ++ port->port_num, ++ port->vcpi.vcpi, ++ port->vcpi.num_slots, + (*name != 0) ? name : "Unknown"); +- } ++ } else ++ seq_printf(m, "%6d - Unused\n", i); ++ } ++ seq_printf(m, "\n*** Payload Info ***\n"); ++ seq_printf(m, "| idx | state | start slot | # slots |\n"); ++ for (i = 0; i < mgr->max_payloads; i++) { ++ seq_printf(m, "%10d%10d%15d%10d\n", ++ i, ++ mgr->payloads[i].payload_state, ++ mgr->payloads[i].start_slot, ++ mgr->payloads[i].num_slots); + } ++ mutex_unlock(&mgr->payload_lock); + + seq_printf(m, "\n*** DPCD Info ***\n"); + mutex_lock(&mgr->lock); +@@ -4820,7 +5105,7 @@ void drm_dp_mst_dump_topology(struct seq_file *m, + + out: + mutex_unlock(&mgr->lock); +- drm_modeset_unlock(&mgr->base.lock); ++ + } + EXPORT_SYMBOL(drm_dp_mst_dump_topology); + +@@ -5141,22 +5426,9 @@ drm_dp_mst_atomic_check_payload_alloc_limits(struct drm_dp_mst_topology_mgr *mgr + mgr, mst_state, mgr->max_payloads); + return -EINVAL; + } +- +- /* Assign a VCPI */ +- if (!payload->vcpi) { +- payload->vcpi = ffz(mst_state->payload_mask) + 1; +- drm_dbg_atomic(mgr->dev, "[MST PORT:%p] assigned VCPI #%d\n", +- payload->port, payload->vcpi); +- mst_state->payload_mask |= BIT(payload->vcpi - 1); +- } + } +- +- if (!payload_count) +- mst_state->pbn_div = 0; +- +- drm_dbg_atomic(mgr->dev, "[MST MGR:%p] mst state %p TU pbn_div=%d avail=%d used=%d\n", +- mgr, mst_state, mst_state->pbn_div, avail_slots, +- mst_state->total_avail_slots - avail_slots); ++ drm_dbg_atomic(mgr->dev, "[MST MGR:%p] mst state %p TU avail=%d used=%d\n", ++ mgr, mst_state, avail_slots, mst_state->total_avail_slots - avail_slots); + + return 0; + } +@@ -5227,6 +5499,7 @@ EXPORT_SYMBOL(drm_dp_mst_add_affected_dsc_crtcs); + * @state: Pointer to the new drm_atomic_state + * @port: Pointer to the affected MST Port + * @pbn: Newly recalculated bw required for link with DSC enabled ++ * @pbn_div: Divider to calculate correct number of pbn per slot + * @enable: Boolean flag to enable or disable DSC on the port + * + * This function enables DSC on the given Port +@@ -5237,7 +5510,8 @@ EXPORT_SYMBOL(drm_dp_mst_add_affected_dsc_crtcs); + */ + int drm_dp_mst_atomic_enable_dsc(struct drm_atomic_state *state, + struct drm_dp_mst_port *port, +- int pbn, bool enable) ++ int pbn, int pbn_div, ++ bool enable) + { + struct drm_dp_mst_topology_state *mst_state; + struct drm_dp_mst_atomic_payload *payload; +@@ -5263,7 +5537,7 @@ int drm_dp_mst_atomic_enable_dsc(struct drm_atomic_state *state, + } + + if (enable) { +- time_slots = drm_dp_atomic_find_time_slots(state, port->mgr, port, pbn); ++ time_slots = drm_dp_atomic_find_time_slots(state, port->mgr, port, pbn, pbn_div); + drm_dbg_atomic(state->dev, + "[MST PORT:%p] Enabling DSC flag, reallocating %d time slots on the port\n", + port, time_slots); +@@ -5276,7 +5550,6 @@ int drm_dp_mst_atomic_enable_dsc(struct drm_atomic_state *state, + return time_slots; + } + EXPORT_SYMBOL(drm_dp_mst_atomic_enable_dsc); +- + /** + * drm_dp_mst_atomic_check - Check that the new state of an MST topology in an + * atomic update is valid +@@ -5334,6 +5607,7 @@ EXPORT_SYMBOL(drm_dp_mst_topology_state_funcs); + + /** + * drm_atomic_get_mst_topology_state: get MST topology state ++ * + * @state: global atomic state + * @mgr: MST topology manager, also the private object in this case + * +@@ -5352,31 +5626,6 @@ struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_a + } + EXPORT_SYMBOL(drm_atomic_get_mst_topology_state); + +-/** +- * drm_atomic_get_new_mst_topology_state: get new MST topology state in atomic state, if any +- * @state: global atomic state +- * @mgr: MST topology manager, also the private object in this case +- * +- * This function wraps drm_atomic_get_priv_obj_state() passing in the MST atomic +- * state vtable so that the private object state returned is that of a MST +- * topology object. +- * +- * Returns: +- * +- * The MST topology state, or NULL if there's no topology state for this MST mgr +- * in the global atomic state +- */ +-struct drm_dp_mst_topology_state * +-drm_atomic_get_new_mst_topology_state(struct drm_atomic_state *state, +- struct drm_dp_mst_topology_mgr *mgr) +-{ +- struct drm_private_state *priv_state = +- drm_atomic_get_new_private_obj_state(state, &mgr->base); +- +- return priv_state ? to_dp_mst_topology_state(priv_state) : NULL; +-} +-EXPORT_SYMBOL(drm_atomic_get_new_mst_topology_state); +- + /** + * drm_dp_mst_topology_mgr_init - initialise a topology manager + * @mgr: manager struct to initialise +@@ -5384,6 +5633,8 @@ EXPORT_SYMBOL(drm_atomic_get_new_mst_topology_state); + * @aux: DP helper aux channel to talk to this device + * @max_dpcd_transaction_bytes: hw specific DPCD transaction limit + * @max_payloads: maximum number of payloads this GPU can source ++ * @max_lane_count: maximum number of lanes this GPU supports ++ * @max_link_rate: maximum link rate per lane this GPU supports in kHz + * @conn_base_id: the connector object ID the MST device is connected to. + * + * Return 0 for success, or negative error code on failure +@@ -5391,12 +5642,14 @@ EXPORT_SYMBOL(drm_atomic_get_new_mst_topology_state); + int drm_dp_mst_topology_mgr_init(struct drm_dp_mst_topology_mgr *mgr, + struct drm_device *dev, struct drm_dp_aux *aux, + int max_dpcd_transaction_bytes, int max_payloads, ++ int max_lane_count, int max_link_rate, + int conn_base_id) + { + struct drm_dp_mst_topology_state *mst_state; + + mutex_init(&mgr->lock); + mutex_init(&mgr->qlock); ++ mutex_init(&mgr->payload_lock); + mutex_init(&mgr->delayed_destroy_lock); + mutex_init(&mgr->up_req_lock); + mutex_init(&mgr->probe_lock); +@@ -5426,7 +5679,19 @@ int drm_dp_mst_topology_mgr_init(struct drm_dp_mst_topology_mgr *mgr, + mgr->aux = aux; + mgr->max_dpcd_transaction_bytes = max_dpcd_transaction_bytes; + mgr->max_payloads = max_payloads; ++ mgr->max_lane_count = max_lane_count; ++ mgr->max_link_rate = max_link_rate; + mgr->conn_base_id = conn_base_id; ++ if (max_payloads + 1 > sizeof(mgr->payload_mask) * 8 || ++ max_payloads + 1 > sizeof(mgr->vcpi_mask) * 8) ++ return -EINVAL; ++ mgr->payloads = kcalloc(max_payloads, sizeof(struct drm_dp_payload), GFP_KERNEL); ++ if (!mgr->payloads) ++ return -ENOMEM; ++ mgr->proposed_vcpis = kcalloc(max_payloads, sizeof(struct drm_dp_vcpi *), GFP_KERNEL); ++ if (!mgr->proposed_vcpis) ++ return -ENOMEM; ++ set_bit(0, &mgr->payload_mask); + + mst_state = kzalloc(sizeof(*mst_state), GFP_KERNEL); + if (mst_state == NULL) +@@ -5459,12 +5724,19 @@ void drm_dp_mst_topology_mgr_destroy(struct drm_dp_mst_topology_mgr *mgr) + destroy_workqueue(mgr->delayed_destroy_wq); + mgr->delayed_destroy_wq = NULL; + } ++ mutex_lock(&mgr->payload_lock); ++ kfree(mgr->payloads); ++ mgr->payloads = NULL; ++ kfree(mgr->proposed_vcpis); ++ mgr->proposed_vcpis = NULL; ++ mutex_unlock(&mgr->payload_lock); + mgr->dev = NULL; + mgr->aux = NULL; + drm_atomic_private_obj_fini(&mgr->base); + mgr->funcs = NULL; + + mutex_destroy(&mgr->delayed_destroy_lock); ++ mutex_destroy(&mgr->payload_lock); + mutex_destroy(&mgr->qlock); + mutex_destroy(&mgr->lock); + mutex_destroy(&mgr->up_req_lock); +diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c +index 03604a37931c..e01a40f35284 100644 +--- a/drivers/gpu/drm/i915/display/intel_dp_mst.c ++++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c +@@ -52,7 +52,6 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder, + struct drm_atomic_state *state = crtc_state->uapi.state; + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder); + struct intel_dp *intel_dp = &intel_mst->primary->dp; +- struct drm_dp_mst_topology_state *mst_state; + struct intel_connector *connector = + to_intel_connector(conn_state->connector); + struct drm_i915_private *i915 = to_i915(connector->base.dev); +@@ -60,28 +59,22 @@ static int intel_dp_mst_compute_link_config(struct intel_encoder *encoder, + &crtc_state->hw.adjusted_mode; + int bpp, slots = -EINVAL; + +- mst_state = drm_atomic_get_mst_topology_state(state, &intel_dp->mst_mgr); +- if (IS_ERR(mst_state)) +- return PTR_ERR(mst_state); +- + crtc_state->lane_count = limits->max_lane_count; + crtc_state->port_clock = limits->max_rate; + +- // TODO: Handle pbn_div changes by adding a new MST helper +- if (!mst_state->pbn_div) { +- mst_state->pbn_div = drm_dp_get_vc_payload_bw(&intel_dp->mst_mgr, +- limits->max_rate, +- limits->max_lane_count); +- } +- + for (bpp = limits->max_bpp; bpp >= limits->min_bpp; bpp -= 2 * 3) { ++ + crtc_state->pipe_bpp = bpp; + + crtc_state->pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, + crtc_state->pipe_bpp, + false); + slots = drm_dp_atomic_find_time_slots(state, &intel_dp->mst_mgr, +- connector->port, crtc_state->pbn); ++ connector->port, ++ crtc_state->pbn, ++ drm_dp_get_vc_payload_bw(&intel_dp->mst_mgr, ++ crtc_state->port_clock, ++ crtc_state->lane_count)); + if (slots == -EDEADLK) + return slots; + if (slots >= 0) +@@ -364,17 +357,21 @@ static void intel_mst_disable_dp(struct intel_atomic_state *state, + struct intel_dp *intel_dp = &dig_port->dp; + struct intel_connector *connector = + to_intel_connector(old_conn_state->connector); +- struct drm_dp_mst_topology_state *mst_state = +- drm_atomic_get_mst_topology_state(&state->base, &intel_dp->mst_mgr); + struct drm_i915_private *i915 = to_i915(connector->base.dev); ++ int start_slot = intel_dp_is_uhbr(old_crtc_state) ? 0 : 1; ++ int ret; + + drm_dbg_kms(&i915->drm, "active links %d\n", + intel_dp->active_mst_links); + + intel_hdcp_disable(intel_mst->connector); + +- drm_dp_remove_payload(&intel_dp->mst_mgr, mst_state, +- drm_atomic_get_mst_payload_state(mst_state, connector->port)); ++ drm_dp_mst_reset_vcpi_slots(&intel_dp->mst_mgr, connector->port); ++ ++ ret = drm_dp_update_payload_part1(&intel_dp->mst_mgr, start_slot); ++ if (ret) { ++ drm_dbg_kms(&i915->drm, "failed to update payload %d\n", ret); ++ } + + intel_audio_codec_disable(encoder, old_crtc_state, old_conn_state); + } +@@ -402,6 +399,8 @@ static void intel_mst_post_disable_dp(struct intel_atomic_state *state, + + intel_disable_transcoder(old_crtc_state); + ++ drm_dp_update_payload_part2(&intel_dp->mst_mgr); ++ + clear_act_sent(encoder, old_crtc_state); + + intel_de_rmw(dev_priv, TRANS_DDI_FUNC_CTL(old_crtc_state->cpu_transcoder), +@@ -409,6 +408,8 @@ static void intel_mst_post_disable_dp(struct intel_atomic_state *state, + + wait_for_act_sent(encoder, old_crtc_state); + ++ drm_dp_mst_deallocate_vcpi(&intel_dp->mst_mgr, connector->port); ++ + intel_ddi_disable_transcoder_func(old_crtc_state); + + if (DISPLAY_VER(dev_priv) >= 9) +@@ -475,8 +476,7 @@ static void intel_mst_pre_enable_dp(struct intel_atomic_state *state, + struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); + struct intel_connector *connector = + to_intel_connector(conn_state->connector); +- struct drm_dp_mst_topology_state *mst_state = +- drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst_mgr); ++ int start_slot = intel_dp_is_uhbr(pipe_config) ? 0 : 1; + int ret; + bool first_mst_stream; + +@@ -502,13 +502,16 @@ static void intel_mst_pre_enable_dp(struct intel_atomic_state *state, + dig_port->base.pre_enable(state, &dig_port->base, + pipe_config, NULL); + ++ ret = drm_dp_mst_allocate_vcpi(&intel_dp->mst_mgr, ++ connector->port, ++ pipe_config->pbn, ++ pipe_config->dp_m_n.tu); ++ if (!ret) ++ drm_err(&dev_priv->drm, "failed to allocate vcpi\n"); ++ + intel_dp->active_mst_links++; + +- ret = drm_dp_add_payload_part1(&intel_dp->mst_mgr, mst_state, +- drm_atomic_get_mst_payload_state(mst_state, connector->port)); +- if (ret < 0) +- drm_err(&dev_priv->drm, "Failed to create MST payload for %s: %d\n", +- connector->base.name, ret); ++ ret = drm_dp_update_payload_part1(&intel_dp->mst_mgr, start_slot); + + /* + * Before Gen 12 this is not done as part of +@@ -531,10 +534,7 @@ static void intel_mst_enable_dp(struct intel_atomic_state *state, + struct intel_dp_mst_encoder *intel_mst = enc_to_mst(encoder); + struct intel_digital_port *dig_port = intel_mst->primary; + struct intel_dp *intel_dp = &dig_port->dp; +- struct intel_connector *connector = to_intel_connector(conn_state->connector); + struct drm_i915_private *dev_priv = to_i915(encoder->base.dev); +- struct drm_dp_mst_topology_state *mst_state = +- drm_atomic_get_new_mst_topology_state(&state->base, &intel_dp->mst_mgr); + enum transcoder trans = pipe_config->cpu_transcoder; + + drm_WARN_ON(&dev_priv->drm, pipe_config->has_pch_encoder); +@@ -562,8 +562,7 @@ static void intel_mst_enable_dp(struct intel_atomic_state *state, + + wait_for_act_sent(encoder, pipe_config); + +- drm_dp_add_payload_part2(&intel_dp->mst_mgr, &state->base, +- drm_atomic_get_mst_payload_state(mst_state, connector->port)); ++ drm_dp_update_payload_part2(&intel_dp->mst_mgr); + + if (DISPLAY_VER(dev_priv) >= 14 && pipe_config->fec_enable) + intel_de_rmw(dev_priv, MTL_CHICKEN_TRANS(trans), 0, +@@ -950,6 +949,8 @@ intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_base_id) + struct intel_dp *intel_dp = &dig_port->dp; + enum port port = dig_port->base.port; + int ret; ++ int max_source_rate = ++ intel_dp->source_rates[intel_dp->num_source_rates - 1]; + + if (!HAS_DP_MST(i915) || intel_dp_is_edp(intel_dp)) + return 0; +@@ -965,7 +966,10 @@ intel_dp_mst_encoder_init(struct intel_digital_port *dig_port, int conn_base_id) + /* create encoders */ + intel_dp_create_fake_mst_encoders(dig_port); + ret = drm_dp_mst_topology_mgr_init(&intel_dp->mst_mgr, &i915->drm, +- &intel_dp->aux, 16, 3, conn_base_id); ++ &intel_dp->aux, 16, 3, ++ dig_port->max_lanes, ++ max_source_rate, ++ conn_base_id); + if (ret) { + intel_dp->mst_mgr.cbs = NULL; + return ret; +diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c +index 6406fd487ee5..987e02eea66a 100644 +--- a/drivers/gpu/drm/i915/display/intel_hdcp.c ++++ b/drivers/gpu/drm/i915/display/intel_hdcp.c +@@ -31,30 +31,8 @@ + + static int intel_conn_to_vcpi(struct intel_connector *connector) + { +- struct drm_dp_mst_topology_mgr *mgr; +- struct drm_dp_mst_atomic_payload *payload; +- struct drm_dp_mst_topology_state *mst_state; +- int vcpi = 0; +- + /* For HDMI this is forced to be 0x0. For DP SST also this is 0x0. */ +- if (!connector->port) +- return 0; +- mgr = connector->port->mgr; +- +- drm_modeset_lock(&mgr->base.lock, NULL); +- mst_state = to_drm_dp_mst_topology_state(mgr->base.state); +- payload = drm_atomic_get_mst_payload_state(mst_state, connector->port); +- if (drm_WARN_ON(mgr->dev, !payload)) +- goto out; +- +- vcpi = payload->vcpi; +- if (drm_WARN_ON(mgr->dev, vcpi < 0)) { +- vcpi = 0; +- goto out; +- } +-out: +- drm_modeset_unlock(&mgr->base.lock); +- return vcpi; ++ return connector->port ? connector->port->vcpi.vcpi : 0; + } + + /* +diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c +index 33c97d510999..8400a5d8ea6e 100644 +--- a/drivers/gpu/drm/nouveau/dispnv50/disp.c ++++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c +@@ -932,7 +932,6 @@ struct nv50_msto { + struct nv50_head *head; + struct nv50_mstc *mstc; + bool disabled; +- bool enabled; + }; + + struct nouveau_encoder *nv50_real_outp(struct drm_encoder *encoder) +@@ -949,36 +948,58 @@ struct nouveau_encoder *nv50_real_outp(struct drm_encoder *encoder) + } + + static void +-nv50_msto_cleanup(struct drm_atomic_state *state, +- struct drm_dp_mst_topology_state *mst_state, +- struct drm_dp_mst_topology_mgr *mgr, +- struct nv50_msto *msto) ++nv50_msto_cleanup(struct nv50_msto *msto) + { + struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); +- struct drm_dp_mst_atomic_payload *payload = +- drm_atomic_get_mst_payload_state(mst_state, msto->mstc->port); ++ ++ struct nv50_mstc *mstc = msto->mstc; ++ struct nv50_mstm *mstm = mstc->mstm; ++ ++ if (!msto->disabled) ++ return; + + NV_ATOMIC(drm, "%s: msto cleanup\n", msto->encoder.name); + +- if (msto->disabled) { +- msto->mstc = NULL; +- msto->disabled = false; +- } else if (msto->enabled) { +- drm_dp_add_payload_part2(mgr, state, payload); +- msto->enabled = false; ++ drm_dp_mst_deallocate_vcpi(&mstm->mgr, mstc->port); ++ ++ msto->mstc = NULL; ++ msto->disabled = false; ++} ++ ++static struct drm_dp_payload * ++nv50_msto_payload(struct nv50_msto *msto) ++{ ++ struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); ++ struct nv50_mstc *mstc = msto->mstc; ++ struct nv50_mstm *mstm = mstc->mstm; ++ int vcpi = mstc->port->vcpi.vcpi, i; ++ ++ WARN_ON(!mutex_is_locked(&mstm->mgr.payload_lock)); ++ ++ NV_ATOMIC(drm, "%s: vcpi %d\n", msto->encoder.name, vcpi); ++ for (i = 0; i < mstm->mgr.max_payloads; i++) { ++ struct drm_dp_payload *payload = &mstm->mgr.payloads[i]; ++ NV_ATOMIC(drm, "%s: %d: vcpi %d start 0x%02x slots 0x%02x\n", ++ mstm->outp->base.base.name, i, payload->vcpi, ++ payload->start_slot, payload->num_slots); ++ } ++ ++ for (i = 0; i < mstm->mgr.max_payloads; i++) { ++ struct drm_dp_payload *payload = &mstm->mgr.payloads[i]; ++ if (payload->vcpi == vcpi) ++ return payload; + } ++ ++ return NULL; + } + + static void +-nv50_msto_prepare(struct drm_atomic_state *state, +- struct drm_dp_mst_topology_state *mst_state, +- struct drm_dp_mst_topology_mgr *mgr, +- struct nv50_msto *msto) ++nv50_msto_prepare(struct nv50_msto *msto) + { + struct nouveau_drm *drm = nouveau_drm(msto->encoder.dev); + struct nv50_mstc *mstc = msto->mstc; + struct nv50_mstm *mstm = mstc->mstm; +- struct drm_dp_mst_atomic_payload *payload; ++ struct drm_dp_payload *payload = NULL; + struct { + struct nv50_disp_mthd_v1 base; + struct nv50_disp_sor_dp_mst_vcpi_v0 vcpi; +@@ -990,27 +1011,28 @@ nv50_msto_prepare(struct drm_atomic_state *state, + (0x0100 << msto->head->base.index), + }; + ++ mutex_lock(&mstm->mgr.payload_lock); ++ + NV_ATOMIC(drm, "%s: msto prepare\n", msto->encoder.name); + +- payload = drm_atomic_get_mst_payload_state(mst_state, mstc->port); ++ if (mstc->port->vcpi.vcpi > 0) ++ payload = nv50_msto_payload(msto); + +- // TODO: Figure out if we want to do a better job of handling VCPI allocation failures here? +- if (msto->disabled) { +- drm_dp_remove_payload(mgr, mst_state, payload); +- } else { +- if (msto->enabled) +- drm_dp_add_payload_part1(mgr, mst_state, payload); ++ if (payload) { ++ NV_ATOMIC(drm, "%s: %s: %02x %02x %04x %04x\n", ++ msto->encoder.name, msto->head->base.base.name, ++ payload->start_slot, payload->num_slots, ++ mstc->port->vcpi.pbn, mstc->port->vcpi.aligned_pbn); + +- args.vcpi.start_slot = payload->vc_start_slot; +- args.vcpi.num_slots = payload->time_slots; ++ args.vcpi.start_slot = payload->start_slot; ++ args.vcpi.num_slots = payload->num_slots; + args.vcpi.pbn = payload->pbn; +- args.vcpi.aligned_pbn = payload->time_slots * mst_state->pbn_div; +- } ++ } else { ++ NV_ATOMIC(drm, "%s: %s: %02x %02x %04x %04x\n", ++ msto->encoder.name, msto->head->base.base.name, 0, 0, 0, 0); ++ } + +- NV_ATOMIC(drm, "%s: %s: %02x %02x %04x %04x\n", +- msto->encoder.name, msto->head->base.base.name, +- args.vcpi.start_slot, args.vcpi.num_slots, +- args.vcpi.pbn, args.vcpi.aligned_pbn); ++ mutex_unlock(&mstm->mgr.payload_lock); + + nvif_mthd(&drm->display->disp.object, 0, &args, sizeof(args)); + } +@@ -1022,7 +1044,6 @@ nv50_msto_atomic_check(struct drm_encoder *encoder, + { + struct drm_atomic_state *state = crtc_state->state; + struct drm_connector *connector = conn_state->connector; +- struct drm_dp_mst_topology_state *mst_state; + struct nv50_mstc *mstc = nv50_mstc(connector); + struct nv50_mstm *mstm = mstc->mstm; + struct nv50_head_atom *asyh = nv50_head_atom(crtc_state); +@@ -1050,18 +1071,8 @@ nv50_msto_atomic_check(struct drm_encoder *encoder, + false); + } + +- mst_state = drm_atomic_get_mst_topology_state(state, &mstm->mgr); +- if (IS_ERR(mst_state)) +- return PTR_ERR(mst_state); +- +- if (!mst_state->pbn_div) { +- struct nouveau_encoder *outp = mstc->mstm->outp; +- +- mst_state->pbn_div = drm_dp_get_vc_payload_bw(&mstm->mgr, +- outp->dp.link_bw, outp->dp.link_nr); +- } +- +- slots = drm_dp_atomic_find_time_slots(state, &mstm->mgr, mstc->port, asyh->dp.pbn); ++ slots = drm_dp_atomic_find_time_slots(state, &mstm->mgr, mstc->port, ++ asyh->dp.pbn, 0); + if (slots < 0) + return slots; + +@@ -1093,6 +1104,7 @@ nv50_msto_atomic_enable(struct drm_encoder *encoder, struct drm_atomic_state *st + struct drm_connector *connector; + struct drm_connector_list_iter conn_iter; + u8 proto; ++ bool r; + + drm_connector_list_iter_begin(encoder->dev, &conn_iter); + drm_for_each_connector_iter(connector, &conn_iter) { +@@ -1107,6 +1119,10 @@ nv50_msto_atomic_enable(struct drm_encoder *encoder, struct drm_atomic_state *st + if (WARN_ON(!mstc)) + return; + ++ r = drm_dp_mst_allocate_vcpi(&mstm->mgr, mstc->port, asyh->dp.pbn, asyh->dp.tu); ++ if (!r) ++ DRM_DEBUG_KMS("Failed to allocate VCPI\n"); ++ + if (!mstm->links++) + nv50_outp_acquire(mstm->outp, false /*XXX: MST audio.*/); + +@@ -1119,7 +1135,6 @@ nv50_msto_atomic_enable(struct drm_encoder *encoder, struct drm_atomic_state *st + nv50_dp_bpc_to_depth(asyh->or.bpc)); + + msto->mstc = mstc; +- msto->enabled = true; + mstm->modified = true; + } + +@@ -1130,6 +1145,8 @@ nv50_msto_atomic_disable(struct drm_encoder *encoder, struct drm_atomic_state *s + struct nv50_mstc *mstc = msto->mstc; + struct nv50_mstm *mstm = mstc->mstm; + ++ drm_dp_mst_reset_vcpi_slots(&mstm->mgr, mstc->port); ++ + mstm->outp->update(mstm->outp, msto->head->base.index, NULL, 0, 0); + mstm->modified = true; + if (!--mstm->links) +@@ -1349,9 +1366,7 @@ nv50_mstc_new(struct nv50_mstm *mstm, struct drm_dp_mst_port *port, + } + + static void +-nv50_mstm_cleanup(struct drm_atomic_state *state, +- struct drm_dp_mst_topology_state *mst_state, +- struct nv50_mstm *mstm) ++nv50_mstm_cleanup(struct nv50_mstm *mstm) + { + struct nouveau_drm *drm = nouveau_drm(mstm->outp->base.base.dev); + struct drm_encoder *encoder; +@@ -1359,12 +1374,14 @@ nv50_mstm_cleanup(struct drm_atomic_state *state, + NV_ATOMIC(drm, "%s: mstm cleanup\n", mstm->outp->base.base.name); + drm_dp_check_act_status(&mstm->mgr); + ++ drm_dp_update_payload_part2(&mstm->mgr); ++ + drm_for_each_encoder(encoder, mstm->outp->base.base.dev) { + if (encoder->encoder_type == DRM_MODE_ENCODER_DPMST) { + struct nv50_msto *msto = nv50_msto(encoder); + struct nv50_mstc *mstc = msto->mstc; + if (mstc && mstc->mstm == mstm) +- nv50_msto_cleanup(state, mst_state, &mstm->mgr, msto); ++ nv50_msto_cleanup(msto); + } + } + +@@ -1372,34 +1389,20 @@ nv50_mstm_cleanup(struct drm_atomic_state *state, + } + + static void +-nv50_mstm_prepare(struct drm_atomic_state *state, +- struct drm_dp_mst_topology_state *mst_state, +- struct nv50_mstm *mstm) ++nv50_mstm_prepare(struct nv50_mstm *mstm) + { + struct nouveau_drm *drm = nouveau_drm(mstm->outp->base.base.dev); + struct drm_encoder *encoder; + + NV_ATOMIC(drm, "%s: mstm prepare\n", mstm->outp->base.base.name); ++ drm_dp_update_payload_part1(&mstm->mgr, 1); + +- /* Disable payloads first */ +- drm_for_each_encoder(encoder, mstm->outp->base.base.dev) { +- if (encoder->encoder_type == DRM_MODE_ENCODER_DPMST) { +- struct nv50_msto *msto = nv50_msto(encoder); +- struct nv50_mstc *mstc = msto->mstc; +- if (mstc && mstc->mstm == mstm && msto->disabled) +- nv50_msto_prepare(state, mst_state, &mstm->mgr, msto); +- } +- } +- +- /* Add payloads for new heads, while also updating the start slots of any unmodified (but +- * active) heads that may have had their VC slots shifted left after the previous step +- */ + drm_for_each_encoder(encoder, mstm->outp->base.base.dev) { + if (encoder->encoder_type == DRM_MODE_ENCODER_DPMST) { + struct nv50_msto *msto = nv50_msto(encoder); + struct nv50_mstc *mstc = msto->mstc; +- if (mstc && mstc->mstm == mstm && !msto->disabled) +- nv50_msto_prepare(state, mst_state, &mstm->mgr, msto); ++ if (mstc && mstc->mstm == mstm) ++ nv50_msto_prepare(msto); + } + } + +@@ -1596,7 +1599,9 @@ nv50_mstm_new(struct nouveau_encoder *outp, struct drm_dp_aux *aux, int aux_max, + mstm->mgr.cbs = &nv50_mstm; + + ret = drm_dp_mst_topology_mgr_init(&mstm->mgr, dev, aux, aux_max, +- max_payloads, conn_base_id); ++ max_payloads, outp->dcb->dpconf.link_nr, ++ drm_dp_bw_code_to_link_rate(outp->dcb->dpconf.link_bw), ++ conn_base_id); + if (ret) + return ret; + +@@ -2048,20 +2053,20 @@ nv50_pior_create(struct drm_connector *connector, struct dcb_output *dcbe) + static void + nv50_disp_atomic_commit_core(struct drm_atomic_state *state, u32 *interlock) + { +- struct drm_dp_mst_topology_mgr *mgr; +- struct drm_dp_mst_topology_state *mst_state; + struct nouveau_drm *drm = nouveau_drm(state->dev); + struct nv50_disp *disp = nv50_disp(drm->dev); + struct nv50_core *core = disp->core; + struct nv50_mstm *mstm; +- int i; ++ struct drm_encoder *encoder; + + NV_ATOMIC(drm, "commit core %08x\n", interlock[NV50_DISP_INTERLOCK_BASE]); + +- for_each_new_mst_mgr_in_state(state, mgr, mst_state, i) { +- mstm = nv50_mstm(mgr); +- if (mstm->modified) +- nv50_mstm_prepare(state, mst_state, mstm); ++ drm_for_each_encoder(encoder, drm->dev) { ++ if (encoder->encoder_type != DRM_MODE_ENCODER_DPMST) { ++ mstm = nouveau_encoder(encoder)->dp.mstm; ++ if (mstm && mstm->modified) ++ nv50_mstm_prepare(mstm); ++ } + } + + core->func->ntfy_init(disp->sync, NV50_DISP_CORE_NTFY); +@@ -2070,10 +2075,12 @@ nv50_disp_atomic_commit_core(struct drm_atomic_state *state, u32 *interlock) + disp->core->chan.base.device)) + NV_ERROR(drm, "core notifier timeout\n"); + +- for_each_new_mst_mgr_in_state(state, mgr, mst_state, i) { +- mstm = nv50_mstm(mgr); +- if (mstm->modified) +- nv50_mstm_cleanup(state, mst_state, mstm); ++ drm_for_each_encoder(encoder, drm->dev) { ++ if (encoder->encoder_type != DRM_MODE_ENCODER_DPMST) { ++ mstm = nouveau_encoder(encoder)->dp.mstm; ++ if (mstm && mstm->modified) ++ nv50_mstm_cleanup(mstm); ++ } + } + } + +diff --git a/include/drm/display/drm_dp_mst_helper.h b/include/drm/display/drm_dp_mst_helper.h +index 41fd8352ab65..1d2f77835de5 100644 +--- a/include/drm/display/drm_dp_mst_helper.h ++++ b/include/drm/display/drm_dp_mst_helper.h +@@ -48,6 +48,20 @@ struct drm_dp_mst_topology_ref_history { + + struct drm_dp_mst_branch; + ++/** ++ * struct drm_dp_vcpi - Virtual Channel Payload Identifier ++ * @vcpi: Virtual channel ID. ++ * @pbn: Payload Bandwidth Number for this channel ++ * @aligned_pbn: PBN aligned with slot size ++ * @num_slots: number of slots for this PBN ++ */ ++struct drm_dp_vcpi { ++ int vcpi; ++ int pbn; ++ int aligned_pbn; ++ int num_slots; ++}; ++ + /** + * struct drm_dp_mst_port - MST port + * @port_num: port number +@@ -131,6 +145,7 @@ struct drm_dp_mst_port { + struct drm_dp_aux *passthrough_aux; + struct drm_dp_mst_branch *parent; + ++ struct drm_dp_vcpi vcpi; + struct drm_connector *connector; + struct drm_dp_mst_topology_mgr *mgr; + +@@ -515,6 +530,20 @@ struct drm_dp_mst_topology_cbs { + void (*poll_hpd_irq)(struct drm_dp_mst_topology_mgr *mgr); + }; + ++#define DP_MAX_PAYLOAD (sizeof(unsigned long) * 8) ++ ++#define DP_PAYLOAD_LOCAL 1 ++#define DP_PAYLOAD_REMOTE 2 ++#define DP_PAYLOAD_DELETE_LOCAL 3 ++ ++struct drm_dp_payload { ++ int payload_state; ++ int start_slot; ++ int num_slots; ++ int vcpi; ++ int pbn; ++}; ++ + #define to_dp_mst_topology_state(x) container_of(x, struct drm_dp_mst_topology_state, base) + + /** +@@ -527,34 +556,6 @@ struct drm_dp_mst_atomic_payload { + /** @port: The MST port assigned to this payload */ + struct drm_dp_mst_port *port; + +- /** +- * @vc_start_slot: The time slot that this payload starts on. Because payload start slots +- * can't be determined ahead of time, the contents of this value are UNDEFINED at atomic +- * check time. This shouldn't usually matter, as the start slot should never be relevant for +- * atomic state computations. +- * +- * Since this value is determined at commit time instead of check time, this value is +- * protected by the MST helpers ensuring that async commits operating on the given topology +- * never run in parallel. In the event that a driver does need to read this value (e.g. to +- * inform hardware of the starting timeslot for a payload), the driver may either: +- * +- * * Read this field during the atomic commit after +- * drm_dp_mst_atomic_wait_for_dependencies() has been called, which will ensure the +- * previous MST states payload start slots have been copied over to the new state. Note +- * that a new start slot won't be assigned/removed from this payload until +- * drm_dp_add_payload_part1()/drm_dp_remove_payload() have been called. +- * * Acquire the MST modesetting lock, and then wait for any pending MST-related commits to +- * get committed to hardware by calling drm_crtc_commit_wait() on each of the +- * &drm_crtc_commit structs in &drm_dp_mst_topology_state.commit_deps. +- * +- * If neither of the two above solutions suffice (e.g. the driver needs to read the start +- * slot in the middle of an atomic commit without waiting for some reason), then drivers +- * should cache this value themselves after changing payloads. +- */ +- s8 vc_start_slot; +- +- /** @vcpi: The Virtual Channel Payload Identifier */ +- u8 vcpi; + /** + * @time_slots: + * The number of timeslots allocated to this payload from the source DP Tx to +@@ -582,6 +583,8 @@ struct drm_dp_mst_topology_state { + /** @base: Base private state for atomic */ + struct drm_private_state base; + ++ /** @payloads: The list of payloads being created/destroyed in this state */ ++ struct list_head payloads; + /** @mgr: The topology manager */ + struct drm_dp_mst_topology_mgr *mgr; + +@@ -598,21 +601,10 @@ struct drm_dp_mst_topology_state { + /** @num_commit_deps: The number of CRTC commits in @commit_deps */ + size_t num_commit_deps; + +- /** @payload_mask: A bitmask of allocated VCPIs, used for VCPI assignments */ +- u32 payload_mask; +- /** @payloads: The list of payloads being created/destroyed in this state */ +- struct list_head payloads; +- + /** @total_avail_slots: The total number of slots this topology can handle (63 or 64) */ + u8 total_avail_slots; + /** @start_slot: The first usable time slot in this topology (1 or 0) */ + u8 start_slot; +- +- /** +- * @pbn_div: The current PBN divisor for this topology. The driver is expected to fill this +- * out itself. +- */ +- int pbn_div; + }; + + #define to_dp_mst_topology_mgr(x) container_of(x, struct drm_dp_mst_topology_mgr, base) +@@ -652,6 +644,14 @@ struct drm_dp_mst_topology_mgr { + * @max_payloads: maximum number of payloads the GPU can generate. + */ + int max_payloads; ++ /** ++ * @max_lane_count: maximum number of lanes the GPU can drive. ++ */ ++ int max_lane_count; ++ /** ++ * @max_link_rate: maximum link rate per lane GPU can output, in kHz. ++ */ ++ int max_link_rate; + /** + * @conn_base_id: DRM connector ID this mgr is connected to. Only used + * to build the MST connector path value. +@@ -694,20 +694,6 @@ struct drm_dp_mst_topology_mgr { + */ + bool payload_id_table_cleared : 1; + +- /** +- * @payload_count: The number of currently active payloads in hardware. This value is only +- * intended to be used internally by MST helpers for payload tracking, and is only safe to +- * read/write from the atomic commit (not check) context. +- */ +- u8 payload_count; +- +- /** +- * @next_start_slot: The starting timeslot to use for new VC payloads. This value is used +- * internally by MST helpers for payload tracking, and is only safe to read/write from the +- * atomic commit (not check) context. +- */ +- u8 next_start_slot; +- + /** + * @mst_primary: Pointer to the primary/first branch device. + */ +@@ -721,6 +707,10 @@ struct drm_dp_mst_topology_mgr { + * @sink_count: Sink count from DEVICE_SERVICE_IRQ_VECTOR_ESI0. + */ + u8 sink_count; ++ /** ++ * @pbn_div: PBN to slots divisor. ++ */ ++ int pbn_div; + + /** + * @funcs: Atomic helper callbacks +@@ -737,6 +727,32 @@ struct drm_dp_mst_topology_mgr { + */ + struct list_head tx_msg_downq; + ++ /** ++ * @payload_lock: Protect payload information. ++ */ ++ struct mutex payload_lock; ++ /** ++ * @proposed_vcpis: Array of pointers for the new VCPI allocation. The ++ * VCPI structure itself is &drm_dp_mst_port.vcpi, and the size of ++ * this array is determined by @max_payloads. ++ */ ++ struct drm_dp_vcpi **proposed_vcpis; ++ /** ++ * @payloads: Array of payloads. The size of this array is determined ++ * by @max_payloads. ++ */ ++ struct drm_dp_payload *payloads; ++ /** ++ * @payload_mask: Elements of @payloads actually in use. Since ++ * reallocation of active outputs isn't possible gaps can be created by ++ * disabling outputs out of order compared to how they've been enabled. ++ */ ++ unsigned long payload_mask; ++ /** ++ * @vcpi_mask: Similar to @payload_mask, but for @proposed_vcpis. ++ */ ++ unsigned long vcpi_mask; ++ + /** + * @tx_waitq: Wait to queue stall for the tx worker. + */ +@@ -808,7 +824,9 @@ struct drm_dp_mst_topology_mgr { + int drm_dp_mst_topology_mgr_init(struct drm_dp_mst_topology_mgr *mgr, + struct drm_device *dev, struct drm_dp_aux *aux, + int max_dpcd_transaction_bytes, +- int max_payloads, int conn_base_id); ++ int max_payloads, ++ int max_lane_count, int max_link_rate, ++ int conn_base_id); + + void drm_dp_mst_topology_mgr_destroy(struct drm_dp_mst_topology_mgr *mgr); + +@@ -831,17 +849,28 @@ int drm_dp_get_vc_payload_bw(const struct drm_dp_mst_topology_mgr *mgr, + + int drm_dp_calc_pbn_mode(int clock, int bpp, bool dsc); + ++bool drm_dp_mst_allocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, ++ struct drm_dp_mst_port *port, int pbn, int slots); ++ ++int drm_dp_mst_get_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); ++ ++ ++void drm_dp_mst_reset_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port); ++ + void drm_dp_mst_update_slots(struct drm_dp_mst_topology_state *mst_state, uint8_t link_encoding_cap); + +-int drm_dp_add_payload_part1(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_topology_state *mst_state, +- struct drm_dp_mst_atomic_payload *payload); +-int drm_dp_add_payload_part2(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_atomic_state *state, +- struct drm_dp_mst_atomic_payload *payload); +-void drm_dp_remove_payload(struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_topology_state *mst_state, +- struct drm_dp_mst_atomic_payload *payload); ++void drm_dp_mst_deallocate_vcpi(struct drm_dp_mst_topology_mgr *mgr, ++ struct drm_dp_mst_port *port); ++ ++ ++int drm_dp_find_vcpi_slots(struct drm_dp_mst_topology_mgr *mgr, ++ int pbn); ++ ++ ++int drm_dp_update_payload_part1(struct drm_dp_mst_topology_mgr *mgr, int start_slot); ++ ++ ++int drm_dp_update_payload_part2(struct drm_dp_mst_topology_mgr *mgr); + + int drm_dp_check_act_status(struct drm_dp_mst_topology_mgr *mgr); + +@@ -863,22 +892,17 @@ int drm_dp_mst_connector_late_register(struct drm_connector *connector, + void drm_dp_mst_connector_early_unregister(struct drm_connector *connector, + struct drm_dp_mst_port *port); + +-struct drm_dp_mst_topology_state * +-drm_atomic_get_mst_topology_state(struct drm_atomic_state *state, +- struct drm_dp_mst_topology_mgr *mgr); +-struct drm_dp_mst_topology_state * +-drm_atomic_get_new_mst_topology_state(struct drm_atomic_state *state, +- struct drm_dp_mst_topology_mgr *mgr); +-struct drm_dp_mst_atomic_payload * +-drm_atomic_get_mst_payload_state(struct drm_dp_mst_topology_state *state, +- struct drm_dp_mst_port *port); ++struct drm_dp_mst_topology_state *drm_atomic_get_mst_topology_state(struct drm_atomic_state *state, ++ struct drm_dp_mst_topology_mgr *mgr); + int __must_check + drm_dp_atomic_find_time_slots(struct drm_atomic_state *state, + struct drm_dp_mst_topology_mgr *mgr, +- struct drm_dp_mst_port *port, int pbn); ++ struct drm_dp_mst_port *port, int pbn, ++ int pbn_div); + int drm_dp_mst_atomic_enable_dsc(struct drm_atomic_state *state, + struct drm_dp_mst_port *port, +- int pbn, bool enable); ++ int pbn, int pbn_div, ++ bool enable); + int __must_check + drm_dp_mst_add_affected_dsc_crtcs(struct drm_atomic_state *state, + struct drm_dp_mst_topology_mgr *mgr); +@@ -902,12 +926,6 @@ void drm_dp_mst_put_port_malloc(struct drm_dp_mst_port *port); + + struct drm_dp_aux *drm_dp_mst_dsc_aux_for_port(struct drm_dp_mst_port *port); + +-static inline struct drm_dp_mst_topology_state * +-to_drm_dp_mst_topology_state(struct drm_private_state *state) +-{ +- return container_of(state, struct drm_dp_mst_topology_state, base); +-} +- + extern const struct drm_private_state_funcs drm_dp_mst_topology_state_funcs; + + /** +-- +2.39.0 + diff --git a/libre/linux-libre/0003-soundwire-Raise-DEFAULT_PROBE_TIMEOUT-to-10000-ms.patch b/libre/linux-libre/0003-soundwire-Raise-DEFAULT_PROBE_TIMEOUT-to-10000-ms.patch deleted file mode 100644 index 606afbdaf..000000000 --- a/libre/linux-libre/0003-soundwire-Raise-DEFAULT_PROBE_TIMEOUT-to-10000-ms.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2da21cf28e573b84e5a5baecc1eda7372322375d Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org> -Date: Sat, 23 Jul 2022 11:14:46 +0200 -Subject: [PATCH 3/3] soundwire: Raise DEFAULT_PROBE_TIMEOUT to 10000 ms - -See: https://github.com/thesofproject/linux/issues/3777#issuecomment-1192655300 ---- - drivers/soundwire/bus.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/soundwire/bus.h b/drivers/soundwire/bus.h -index 7631ef5e71fb..d3ed828daac0 100644 ---- a/drivers/soundwire/bus.h -+++ b/drivers/soundwire/bus.h -@@ -5,7 +5,7 @@ - #define __SDW_BUS_H - - #define DEFAULT_BANK_SWITCH_TIMEOUT 3000 --#define DEFAULT_PROBE_TIMEOUT 2000 -+#define DEFAULT_PROBE_TIMEOUT 10000 - - u64 sdw_dmi_override_adr(struct sdw_bus *bus, u64 addr); - --- -2.37.1 - diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 42939874a..082a3a6f2 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -14,7 +14,7 @@ _replacesoldkernels=() # '%' gets replaced with kernel suffix _replacesoldmodules=() # '%' gets replaced with kernel suffix pkgbase=linux-libre -pkgver=5.18.14 +pkgver=6.1.5 pkgrel=1 pkgdesc='Linux-libre' rcnver=5.18.12 @@ -28,7 +28,7 @@ makedepends=( ) makedepends_armv7h=(uboot-tools vboot-utils dtc) # required by linux-libre-chromebook options=('!strip') -_srcname=linux-5.18 +_srcname=linux-6.1 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} @@ -46,8 +46,8 @@ source=( 0002-fix-Atmel-maXTouch-touchscreen-support.patch # Arch Linux patches 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - 0002-HID-apple-Properly-handle-function-keys-on-Keychron-.patch - 0003-soundwire-Raise-DEFAULT_PROBE_TIMEOUT-to-10000-ms.patch + 0002-docs-Fix-the-docs-build-with-Sphinx-6.0.patch + 0003-Revert-drm-display-dp_mst-Move-all-payload-info-into.patch ) source_i686=( # avoid using zstd compression in ultra mode (exhausts virtual memory) @@ -71,9 +71,9 @@ validpgpkeys=( '474402C8C582DAFBE389C427BCB7CF877E7D47A7' # Alexandre Oliva '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P. ) -sha512sums=('13be3762fffd74c63eeb23b0d34b994a3e5198bfdbda4f013b38f8d3edd24b9bbebe5a4bfde0f5191aa1cf2678e4517f3b5540a40b30ebc05da1f6708cbb98bb' +sha512sums=('1791227e4eef3be119fcbdbf3c8d441ae77badb6565c4b918130328fa24711b09128d4aabb26cd2adf453726bcb4b30b8c5199794114050835e3875bea169224' 'SKIP' - '9016e87060d3ddbf4bad5adee54f07cba3930a23a5c2a7ca32338a98d0c51676228f3d97405c624f2f48a67849f9b40a5dc670e10fbc02bc75cc4d47deab4c34' + '309ce36c543c30fe2211368ea566d143b6b6fc766e509c3c0e9884618e9e71428f22d532dd8448a73c54d741795194afe4a04e6b2a5fccfd7de1f7fd5ad89f9d' 'SKIP' '13cb5bc42542e7b8bb104d5f68253f6609e463b6799800418af33eb0272cc269aaa36163c3e6f0aacbdaaa1d05e2827a4a7c4a08a029238439ed08b89c564bb3' 'SKIP' @@ -81,8 +81,8 @@ sha512sums=('13be3762fffd74c63eeb23b0d34b994a3e5198bfdbda4f013b38f8d3edd24b9bbeb 'SKIP' '267295aa0cea65684968420c68b32f1a66a22d018b9d2b2c1ef14267bcf4cb68aaf7099d073cbfefe6c25c8608bdcbbd45f7ac8893fdcecbf1e621abdfe9ecc1' 'SKIP' - '9833a9caf788aa928b7c4fab85205259459cc65ccf2b1ef1af8f9dfecf8804829aa4c1f0571a1a0819c6e838ab3f32a5322df9ddb07a201bc43c66ad6c3b2f3b' - '9112373138102b14ca900156afc6292334fc2b9ee542f1f5264ff2b6dc82073f761e9caf35aff56fb47cb285fbc2c4421f6d89c1d417f823f38b1e3f287d9294' + '21c65d7466740b30f060863732e2e80bcb451b15a8d4005015eb0cab87522b5c267c71815ac5f7cdf0394f39157b16b6d223a13cd30df2b6ae7092efd4ba26bf' + '092654fbb1b9f6c6d4eb16ada303b0d34874c65f9ca845b1c1a7c741ee972573a5ec52848bd08969a82c9f74105af674707c8bb7c44b00d84b6413f5342c695a' '47d16ffc94510d4a8773146a46cfb35aca8cfdae38d17283334cd62d92de36250fbec90e9892357033398ecc7d970127b1a41b703a8372972422ca4af7c90c70' '53103bf55b957b657039510527df0df01279dec59cda115a4d6454e4135025d4546167fa30bdc99107f232561c1e096d8328609ab5a876cf7017176f92ad3e0b' 'f10af02f0cb2d31259d9633e1ba845f555f525789f750fc2ddc51bd18c5ff64fcdd242dae801623887f5ce5cdb5528bce890459f0fab9fd31a28868bb7f6bba5' @@ -90,9 +90,9 @@ sha512sums=('13be3762fffd74c63eeb23b0d34b994a3e5198bfdbda4f013b38f8d3edd24b9bbeb '143dea30c6da00e504c99984a98a0eb2411f558fcdd9dfa7f607d6c14e9e7dffff9cb00121d9317044b07e3e210808286598c785ee854084b993ec9cb14d8232' '02af4dd2a007e41db0c63822c8ab3b80b5d25646af1906dc85d0ad9bb8bbf5236f8e381d7f91cf99ed4b0978c50aee37cb9567cdeef65b7ec3d91b882852b1af' 'b8fe56e14006ab866970ddbd501c054ae37186ddc065bb869cf7d18db8c0d455118d5bda3255fb66a0dde38b544655cfe9040ffe46e41d19830b47959b2fb168' - '671ab29fb1858c3898792164ac49d57103ecdeff220d7b262efb0c74ee270a670cf40f746a76f400513019989d858326fb3da507a0159418215e0b645011c406' - '2fecb2fb31981af21e17ce08c8352236f8817e6000f7e542f7479eaa7300238c4581f992b4da4d49dd2657d3e3c038eb0369954559f233b2913c382ef25b5753' - '816ad9cb93a473376487234d4bf255f7d081c37186b1715e914c2c30dcdcfaee7b6db4eeb427969190d0cffa7499bc99c95ef58fb8c632d27e51d0350990f0ce') + '5640d6f9226ef6c172a4d0b74fd32f2e3ad5b3fca8c75d1f07fe83c083aadc7d59273823b77d9d75a5539ec16bb7d4aba32e58bda991144d2773a7fad6848841' + 'ab6bf4664911dbe526dc611d53f9d2ba1a84d96ddb38befaa1b3bfad60e4371c2229cb620612894b28af29562494eedf8e3f63a792d2a63e33a3b8cd0076b000' + 'f74f8c6a6a6fe4159fc03f0ae8f12f661ee39e918d8a3a1abbd6d35538bab6807b5413136f032ac617e2882a71db9969fb14fe23c31a20d236350825ddfb5876') sha512sums_i686=('bca15cc96f64c38adcd13a46752866b5b30555ac21e19b3f7afcd20fcb7ec585c9d990fe8f842f44d5f69d477d72867fe6a9102729f26f93f5a80b372e41ce85') sha512sums_armv7h=('94c6243d23bc995dec3edcb1dd5cc7d5e7d30fec70fc32b9be5f3e7d934da7035e9152fea3cce58a53b0f35f29060bdef2a3a2dac3c46f520adf1088897362f9' 'SKIP' @@ -185,7 +185,7 @@ _package() { depends=(coreutils kmod initramfs) optdepends=('wireless-regdb: to set the correct wireless channels of your country' 'linux-libre-firmware: firmware images needed for some devices') - provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) + provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE KSMBD-MODULE) replaces=(virtualbox-guest-modules-arch wireguard-arch) provides+=("${_replacesarchkernel[@]/%/=$pkgver}" "LINUX-ABI_VERSION=$pkgver") conflicts+=("${_replacesarchkernel[@]}" "${_replacesoldkernels[@]}" "${_replacesoldmodules[@]}") @@ -237,7 +237,7 @@ _package-headers() { localversion.* version vmlinux install -Dt "$builddir/kernel" -m644 kernel/Makefile install -Dt "$builddir/arch/$KARCH" -m644 arch/$KARCH/Makefile - if [ "$CARCH" = i686 ]; then + if [ "$CARCH" = "i686" ]; then install -Dt "$builddir/arch/$KARCH" -m644 arch/$KARCH/Makefile_32.cpu fi cp -t "$builddir" -a scripts @@ -257,18 +257,6 @@ _package-headers() { cp -t "$builddir/arch/$KARCH" -a arch/$KARCH/include install -Dt "$builddir/arch/$KARCH/kernel" -m644 arch/$KARCH/kernel/asm-offsets.s - # from linux-armv7 - if [ "$CARCH" = "armv7h" ]; then - for i in dove omap2; do - mkdir -p "$builddir/arch/$KARCH/mach-$i" - cp -t "$builddir/arch/$KARCH/mach-$i/" -a arch/$KARCH/mach-$i/include - done - for i in omap orion versatile; do - mkdir -p "$builddir/arch/$KARCH/plat-$i" - cp -t "$builddir/arch/$KARCH/plat-$i/" -a arch/$KARCH/plat-$i/include - done - fi - install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h @@ -306,7 +294,7 @@ _package-headers() { echo "Stripping build tools..." local file while read -rd '' file; do - case "$(file -bi "$file")" in + case "$(file -Sib "$file")" in application/x-sharedlib\;*) # Libraries (.so) strip -v $STRIP_SHARED "$file" ;; application/x-archive\;*) # Libraries (.a) @@ -380,7 +368,7 @@ _package-chromebook() { } pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs") -[ "$CARCH" = armv7h ] && pkgname+=("$pkgbase-chromebook") +[ "$CARCH" = "armv7h" ] && pkgname+=("$pkgbase-chromebook") for _p in "${pkgname[@]}"; do eval "package_$_p() { $(declare -f "_package${_p#$pkgbase}") diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686 index a23c25e10..e371f4888 100644 --- a/libre/linux-libre/config.i686 +++ b/libre/linux-libre/config.i686 @@ -1,24 +1,23 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.18.14-gnu Kernel Configuration +# Linux/x86 6.1.5-gnu Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.1.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=120100 +CONFIG_GCC_VERSION=120200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=23800 +CONFIG_AS_VERSION=23900 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=23800 +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 @@ -48,7 +47,6 @@ CONFIG_HAVE_KERNEL_ZSTD=y CONFIG_KERNEL_ZSTD=y CONFIG_DEFAULT_INIT="" CONFIG_DEFAULT_HOSTNAME="parabola" -CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y CONFIG_POSIX_MQUEUE=y @@ -94,6 +92,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 @@ -155,8 +155,11 @@ CONFIG_RCU_EXPERT=y CONFIG_SRCU=y CONFIG_TREE_SRCU=y CONFIG_TASKS_RCU_GENERIC=y +# CONFIG_FORCE_TASKS_RCU is not set CONFIG_TASKS_RCU=y +# CONFIG_FORCE_TASKS_RUDE_RCU is not set CONFIG_TASKS_RUDE_RCU=y +# CONFIG_FORCE_TASKS_TRACE_RCU is not set CONFIG_TASKS_TRACE_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y @@ -164,7 +167,10 @@ CONFIG_RCU_FANOUT=32 CONFIG_RCU_FANOUT_LEAF=16 CONFIG_RCU_BOOST=y CONFIG_RCU_BOOST_DELAY=500 -# CONFIG_RCU_NOCB_CPU is not set +# 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 @@ -191,8 +197,8 @@ CONFIG_GCC12_NO_ARRAY_BOUNDS=y CONFIG_CC_NO_ARRAY_BOUNDS=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 CONFIG_BLK_CGROUP=y CONFIG_CGROUP_WRITEBACK=y @@ -236,6 +242,8 @@ CONFIG_RD_LZO=y CONFIG_RD_LZ4=y CONFIG_RD_ZSTD=y CONFIG_BOOT_CONFIG=y +# CONFIG_BOOT_CONFIG_EMBED is not set +CONFIG_INITRAMFS_PRESERVE_MTIME=y CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_LD_ORPHAN_WARN=y @@ -269,7 +277,6 @@ CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_BASE_RELATIVE=y -# CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y CONFIG_RSEQ=y @@ -284,16 +291,6 @@ CONFIG_PERF_EVENTS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set # end of Kernel Performance Events And Counters -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLUB_DEBUG=y -# CONFIG_COMPAT_BRK is not set -# CONFIG_SLAB is not set -CONFIG_SLUB=y -CONFIG_SLAB_MERGE_DEFAULT=y -CONFIG_SLAB_FREELIST_RANDOM=y -CONFIG_SLAB_FREELIST_HARDENED=y -CONFIG_SHUFFLE_PAGE_ALLOCATOR=y -CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y @@ -401,6 +398,7 @@ CONFIG_CPU_SUP_VORTEX_32=y CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y +CONFIG_BOOT_VESA_SUPPORT=y CONFIG_NR_CPUS_RANGE_BEGIN=2 CONFIG_NR_CPUS_RANGE_END=64 CONFIG_NR_CPUS_DEFAULT=32 @@ -428,6 +426,7 @@ CONFIG_PERF_EVENTS_INTEL_RAPL=m CONFIG_PERF_EVENTS_INTEL_CSTATE=m CONFIG_PERF_EVENTS_AMD_POWER=m CONFIG_PERF_EVENTS_AMD_UNCORE=m +CONFIG_PERF_EVENTS_AMD_BRS=y # end of Performance monitoring # CONFIG_X86_LEGACY_VM86 is not set @@ -439,7 +438,7 @@ CONFIG_X86_REBOOTFIXUPS=y CONFIG_MICROCODE=y # CONFIG_MICROCODE_INTEL is not set # CONFIG_MICROCODE_AMD is not set -# CONFIG_MICROCODE_OLD_INTERFACE is not set +# CONFIG_MICROCODE_LATE_LOADING is not set CONFIG_X86_MSR=y CONFIG_X86_CPUID=y # CONFIG_NOHIGHMEM is not set @@ -461,8 +460,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_SMAP=y CONFIG_X86_UMIP=y CONFIG_CC_HAS_IBT=y # CONFIG_X86_INTEL_TSX_MODE_OFF is not set @@ -498,9 +495,6 @@ CONFIG_CC_HAS_RETURN_THUNK=y CONFIG_SPECULATION_MITIGATIONS=y CONFIG_RETPOLINE=y CONFIG_RETHUNK=y -CONFIG_CPU_UNRET_ENTRY=y -CONFIG_CPU_IBPB_ENTRY=y -CONFIG_CPU_IBRS_ENTRY=y CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y # @@ -516,6 +510,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 @@ -623,7 +618,8 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CONFIG_CPUFREQ_DT is not set CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=m -CONFIG_X86_AMD_PSTATE=m +CONFIG_X86_AMD_PSTATE=y +CONFIG_X86_AMD_PSTATE_UT=m CONFIG_X86_ACPI_CPUFREQ=m CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_POWERNOW_K6=m @@ -698,6 +694,8 @@ CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y CONFIG_HAVE_KVM_IRQ_ROUTING=y CONFIG_HAVE_KVM_DIRTY_RING=y +CONFIG_HAVE_KVM_DIRTY_RING_TSO=y +CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y CONFIG_HAVE_KVM_EVENTFD=y CONFIG_KVM_MMIO=y CONFIG_KVM_ASYNC_PF=y @@ -747,6 +745,7 @@ CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y CONFIG_HAVE_NMI=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y @@ -772,6 +771,7 @@ CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y CONFIG_MMU_GATHER_TABLE_FREE=y CONFIG_MMU_GATHER_RCU_TABLE_FREE=y +CONFIG_MMU_GATHER_MERGE_VMAS=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y @@ -798,6 +798,7 @@ CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_REL=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 @@ -839,7 +840,6 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_HAVE_GCC_PLUGINS=y CONFIG_GCC_PLUGINS=y # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set -# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set # end of General architecture-dependent options CONFIG_RT_MUTEXES=y @@ -849,6 +849,7 @@ CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODULE_UNLOAD_TAINT_TRACKING=y # CONFIG_MODVERSIONS is not set CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_MODULE_SIG=y @@ -964,6 +965,40 @@ CONFIG_COREDUMP=y # # Memory Management options # +CONFIG_ZPOOL=y +CONFIG_SWAP=y +CONFIG_ZSWAP=y +CONFIG_ZSWAP_DEFAULT_ON=y +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set +CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4" +# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set +CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y +# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set +CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold" +CONFIG_ZBUD=y +CONFIG_Z3FOLD=y +CONFIG_ZSMALLOC=y +# CONFIG_ZSMALLOC_STAT is not set + +# +# SLAB allocator options +# +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLAB_MERGE_DEFAULT=y +CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_FREELIST_HARDENED=y +# CONFIG_SLUB_STATS is not set +CONFIG_SLUB_CPU_PARTIAL=y +# end of SLAB allocator options + +CONFIG_SHUFFLE_PAGE_ALLOCATOR=y +# CONFIG_COMPAT_BRK is not set CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_SPARSEMEM_MANUAL is not set @@ -976,21 +1011,22 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_BOUNCE=y -CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y CONFIG_TRANSPARENT_HUGEPAGE=y # CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y -CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_READ_ONLY_THP_FOR_FS=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y @@ -1000,41 +1036,26 @@ CONFIG_CMA=y CONFIG_CMA_DEBUGFS=y CONFIG_CMA_SYSFS=y CONFIG_CMA_AREAS=7 -CONFIG_ZSWAP=y -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set -CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set -CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4" -# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set -CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y -# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set -CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold" -CONFIG_ZSWAP_DEFAULT_ON=y -CONFIG_ZPOOL=y -CONFIG_ZBUD=y -CONFIG_Z3FOLD=y -CONFIG_ZSMALLOC=y -# CONFIG_ZSMALLOC_STAT is not set CONFIG_GENERIC_EARLY_IOREMAP=y 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_FILTER_PGPROT=y CONFIG_ZONE_DMA=y CONFIG_HMM_MIRROR=y CONFIG_VMAP_PFN=y +CONFIG_VM_EVENT_COUNTERS=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_TEST is not set -CONFIG_READ_ONLY_THP_FOR_FS=y CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAPPING_DIRTY_HELPERS=y CONFIG_KMAP_LOCAL=y CONFIG_SECRETMEM=y CONFIG_ANON_VMA_NAME=y +# CONFIG_USERFAULTFD is not set +CONFIG_LRU_GEN=y +CONFIG_LRU_GEN_ENABLED=y +# CONFIG_LRU_GEN_STATS is not set # # Data Access Monitoring @@ -1107,6 +1128,7 @@ CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_ESPINTCP=y CONFIG_INET_IPCOMP=m +CONFIG_INET_TABLE_PERTURB_ORDER=16 CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_DIAG=m @@ -1264,6 +1286,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 # @@ -1582,6 +1605,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 @@ -1589,12 +1613,10 @@ CONFIG_NET_DSA_TAG_XRS700X=m CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y -# CONFIG_DECNET is not set CONFIG_LLC=m CONFIG_LLC2=m CONFIG_ATALK=m CONFIG_DEV_APPLETALK=m -# CONFIG_LTPC is not set # CONFIG_COPS is not set CONFIG_IPDDP=m CONFIG_IPDDP_ENCAP=y @@ -1811,73 +1833,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_FLEXCAN is not set -# CONFIG_CAN_GRCAN is not set -CONFIG_CAN_JANZ_ICAN3=m -CONFIG_CAN_KVASER_PCIEFD=m -CONFIG_PCH_CAN=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_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_TSCAN1 is not set -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 @@ -2084,6 +2039,7 @@ CONFIG_PCI_QUIRKS=y CONFIG_PCI_STUB=y # CONFIG_PCI_PF_STUB is not set CONFIG_PCI_ATS=y +CONFIG_PCI_DOE=y CONFIG_PCI_LOCKLESS_CONFIG=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y @@ -2151,6 +2107,7 @@ CONFIG_CXL_PCI=m CONFIG_CXL_ACPI=m CONFIG_CXL_MEM=m CONFIG_CXL_PORT=m +CONFIG_CXL_SUSPEND=y CONFIG_PCCARD=m CONFIG_PCMCIA=m CONFIG_PCMCIA_LOAD_CIS=y @@ -2189,10 +2146,14 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER=y CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_XZ=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y CONFIG_FW_CACHE=y +CONFIG_FW_UPLOAD=y # end of Firmware loader CONFIG_WANT_DEV_COREDUMP=y @@ -2226,6 +2187,7 @@ CONFIG_DMA_SHARED_BUFFER=y CONFIG_MHI_BUS=m # CONFIG_MHI_BUS_DEBUG is not set CONFIG_MHI_BUS_PCI_GENERIC=m +CONFIG_MHI_BUS_EP=m # end of Bus devices CONFIG_CONNECTOR=y @@ -2264,31 +2226,32 @@ 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 CONFIG_EFI_RUNTIME_MAP=y # CONFIG_EFI_FAKE_MEMMAP is not set +CONFIG_EFI_DXE_MEM_ATTRIBUTES=y CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_BOOTLOADER_CONTROL=m CONFIG_EFI_CAPSULE_LOADER=y CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y # CONFIG_EFI_TEST is not set +CONFIG_EFI_DEV_PATH_PARSER=y CONFIG_APPLE_PROPERTIES=y # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_EFI_RCI2_TABLE=y # CONFIG_EFI_DISABLE_PCI_DMA is not set +CONFIG_EFI_EARLYCON=y +CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y +# CONFIG_EFI_DISABLE_RUNTIME is not set +CONFIG_EFI_COCO_SECRET=y +CONFIG_EFI_EMBEDDED_FIRMWARE=y # end of EFI (Extensible Firmware Interface) Support -CONFIG_EFI_EMBEDDED_FIRMWARE=y CONFIG_UEFI_CPER=y CONFIG_UEFI_CPER_X86=y -CONFIG_EFI_DEV_PATH_PARSER=y -CONFIG_EFI_EARLYCON=y -CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y -# CONFIG_EFI_DISABLE_RUNTIME is not set # # Tegra firmware driver @@ -2486,7 +2449,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 @@ -2496,10 +2458,12 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8 CONFIG_ATA_OVER_ETH=m CONFIG_VIRTIO_BLK=m CONFIG_BLK_DEV_RBD=m +CONFIG_BLK_DEV_UBLK=m # # NVME Support # +CONFIG_NVME_COMMON=y CONFIG_NVME_CORE=y CONFIG_BLK_DEV_NVME=y CONFIG_NVME_MULTIPATH=y @@ -2509,6 +2473,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 @@ -2516,6 +2481,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 # @@ -2553,6 +2519,7 @@ CONFIG_PCI_ENDPOINT_TEST=m CONFIG_XILINX_SDFEC=m CONFIG_MISC_RTSX=m # CONFIG_HISI_HIKEY_USB is not set +# CONFIG_VCPU_STALL_DETECTOR is not set CONFIG_C2PORT=m CONFIG_C2PORT_DURAMAR_2150=m @@ -2584,6 +2551,7 @@ CONFIG_ALTERA_STAPL=m CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m # CONFIG_INTEL_MEI_TXE is not set +CONFIG_INTEL_MEI_GSC=m CONFIG_INTEL_MEI_HDCP=m CONFIG_INTEL_MEI_PXP=m CONFIG_VMWARE_VMCI=m @@ -2598,6 +2566,7 @@ CONFIG_UACCE=m CONFIG_PVPANIC=y CONFIG_PVPANIC_MMIO=m CONFIG_PVPANIC_PCI=m +CONFIG_GP_PCI1XXXX=m # end of Misc devices # @@ -2672,7 +2641,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 @@ -2687,15 +2655,6 @@ CONFIG_SCSI_MPT3SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS=m CONFIG_SCSI_MPI3MR=m CONFIG_SCSI_SMARTPQI=m -CONFIG_SCSI_UFSHCD=m -CONFIG_SCSI_UFSHCD_PCI=m -# CONFIG_SCSI_UFS_DWC_TC_PCI is not set -CONFIG_SCSI_UFSHCD_PLATFORM=m -CONFIG_SCSI_UFS_CDNS_PLATFORM=m -# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set -CONFIG_SCSI_UFS_BSG=y -CONFIG_SCSI_UFS_HPB=y -CONFIG_SCSI_UFS_HWMON=y CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y @@ -2780,6 +2739,7 @@ CONFIG_SATA_PMP=y CONFIG_SATA_AHCI=y CONFIG_SATA_MOBILE_LPM_POLICY=3 CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_AHCI_DWC=m # CONFIG_AHCI_CEVA is not set # CONFIG_AHCI_QORIQ is not set CONFIG_SATA_INIC162X=m @@ -2863,6 +2823,7 @@ CONFIG_PATA_MPIIX=m CONFIG_PATA_NS87410=m CONFIG_PATA_OPTI=m CONFIG_PATA_PCMCIA=m +# CONFIG_PATA_OF_PLATFORM is not set CONFIG_PATA_QDI=m CONFIG_PATA_RZ1000=m CONFIG_PATA_WINBOND_VLB=m @@ -2919,7 +2880,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_FLAKEY=m CONFIG_DM_VERITY=m CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y -# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is not set +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING=y CONFIG_DM_VERITY_FEC=y CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m @@ -3007,9 +2968,6 @@ CONFIG_ATM_LANAI=m CONFIG_ATM_ENI=m # CONFIG_ATM_ENI_DEBUG is not set # CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set CONFIG_ATM_NICSTAR=m # CONFIG_ATM_NICSTAR_USE_SUNI is not set # CONFIG_ATM_NICSTAR_USE_IDT77105 is not set @@ -3017,10 +2975,6 @@ CONFIG_ATM_IDT77252=m # CONFIG_ATM_IDT77252_DEBUG is not set # CONFIG_ATM_IDT77252_RCV_ALL is not set CONFIG_ATM_IDT77252_USE_SUNI=y -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set CONFIG_ATM_IA=m # CONFIG_ATM_IA_DEBUG is not set CONFIG_ATM_FORE200E=m @@ -3047,16 +3001,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 @@ -3064,7 +3016,6 @@ CONFIG_NET_DSA_SJA1105_TAS=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 is not set CONFIG_NET_DSA_SMSC_LAN9303=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m @@ -3100,7 +3051,6 @@ CONFIG_AMD8111_ETH=m CONFIG_LANCE=m CONFIG_PCNET32=m CONFIG_PCMCIA_NMCLAN=m -CONFIG_NI65=m CONFIG_AMD_XGBE=m CONFIG_AMD_XGBE_DCB=y CONFIG_AMD_XGBE_HAVE_ECC=y @@ -3169,7 +3119,6 @@ CONFIG_TULIP_MWI=y CONFIG_TULIP_MMIO=y CONFIG_TULIP_NAPI=y CONFIG_TULIP_NAPI_HW_MITIGATION=y -CONFIG_DE4X5=m CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m @@ -3223,7 +3172,12 @@ CONFIG_ICE_SWITCHDEV=y CONFIG_ICE_HWTS=y CONFIG_FM10K=m CONFIG_IGC=m +CONFIG_NET_VENDOR_WANGXUN=y +CONFIG_NGBE=m +CONFIG_TXGBE=m CONFIG_JME=m +CONFIG_NET_VENDOR_ADI=y +CONFIG_ADIN1110=m CONFIG_NET_VENDOR_LITEX=y # CONFIG_LITEX_LITEETH is not set CONFIG_NET_VENDOR_MARVELL=y @@ -3242,7 +3196,6 @@ CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y CONFIG_MLX4_CORE_GEN2=y CONFIG_MLX5_CORE=m -CONFIG_MLX5_ACCEL=y CONFIG_MLX5_FPGA=y CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_EN_ARFS=y @@ -3255,8 +3208,7 @@ CONFIG_MLX5_TC_CT=y CONFIG_MLX5_TC_SAMPLE=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_IPOIB=y -CONFIG_MLX5_FPGA_IPSEC=y -CONFIG_MLX5_IPSEC=y +CONFIG_MLX5_EN_MACSEC=y CONFIG_MLX5_EN_IPSEC=y CONFIG_MLX5_SW_STEERING=y CONFIG_MLX5_SF=y @@ -3295,8 +3247,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 @@ -3369,6 +3319,11 @@ CONFIG_SFC_SRIOV=y CONFIG_SFC_MCDI_LOGGING=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y +CONFIG_SFC_SIENA=m +CONFIG_SFC_SIENA_MTD=y +CONFIG_SFC_SIENA_MCDI_MON=y +CONFIG_SFC_SIENA_SRIOV=y +CONFIG_SFC_SIENA_MCDI_LOGGING=y CONFIG_NET_VENDOR_SMSC=y CONFIG_SMC9194=m CONFIG_PCMCIA_SMC91C92=m @@ -3435,6 +3390,7 @@ CONFIG_FIXED_PHY=m # CONFIG_AMD_PHY=m CONFIG_ADIN_PHY=m +CONFIG_ADIN1100_PHY=m CONFIG_AQUANTIA_PHY=m CONFIG_AX88796B_PHY=m CONFIG_BROADCOM_PHY=m @@ -3443,6 +3399,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 @@ -3476,9 +3433,79 @@ CONFIG_DP83822_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_DP83869_PHY=m +CONFIG_DP83TD510_PHY=m CONFIG_VITESSE_PHY=m CONFIG_XILINX_GMII2RGMII=m CONFIG_MICREL_KS8995MA=m +CONFIG_PSE_CONTROLLER=y +CONFIG_PSE_REGULATOR=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_FLEXCAN is not set +# CONFIG_CAN_GRCAN is not set +CONFIG_CAN_JANZ_ICAN3=m +CONFIG_CAN_KVASER_PCIEFD=m +CONFIG_CAN_SLCAN=m +CONFIG_PCH_CAN=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_CTUCANFD_PLATFORM is not set +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_TSCAN1 is not set +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 @@ -3514,6 +3541,7 @@ CONFIG_MDIO_MSCC_MIIM=m # CONFIG_PCS_XPCS=m CONFIG_PCS_LYNX=m +CONFIG_PCS_ALTERA_TSE=m # end of PCS device drivers CONFIG_PLIP=m @@ -3729,7 +3757,6 @@ CONFIG_IWLWIFI_DEBUGFS=y CONFIG_IWLWIFI_DEVICE_TRACING=y # end of Debugging Options -CONFIG_IWLMEI=m CONFIG_WLAN_VENDOR_INTERSIL=y CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y @@ -3800,6 +3827,8 @@ CONFIG_WILC1000=m CONFIG_WILC1000_SDIO=m CONFIG_WILC1000_SPI=m # CONFIG_WILC1000_HW_OOB_INTR is not set +CONFIG_WLAN_VENDOR_PURELIFI=y +CONFIG_PLFXLC=m CONFIG_WLAN_VENDOR_RALINK=y CONFIG_RT2X00=m CONFIG_RT2400PCI=m @@ -3869,7 +3898,9 @@ CONFIG_RTW89=m CONFIG_RTW89_CORE=m CONFIG_RTW89_PCI=m CONFIG_RTW89_8852A=m +CONFIG_RTW89_8852C=m CONFIG_RTW89_8852AE=m +CONFIG_RTW89_8852CE=m CONFIG_RTW89_DEBUG=y CONFIG_RTW89_DEBUGMSG=y CONFIG_RTW89_DEBUGFS=y @@ -3879,6 +3910,8 @@ CONFIG_RSI_DEBUGFS=y CONFIG_RSI_SDIO=m CONFIG_RSI_USB=m CONFIG_RSI_COEX=y +CONFIG_WLAN_VENDOR_SILABS=y +CONFIG_WFX=m CONFIG_WLAN_VENDOR_ST=y CONFIG_CW1200=m CONFIG_CW1200_WLAN_SDIO=m @@ -3909,7 +3942,6 @@ CONFIG_VIRT_WIFI=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_AT86RF230=m -# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_MRF24J40=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_ATUSB=m @@ -3929,6 +3961,7 @@ CONFIG_MHI_WWAN_CTRL=m CONFIG_MHI_WWAN_MBIM=m CONFIG_RPMSG_WWAN_CTRL=m CONFIG_IOSM=m +CONFIG_MTK_T7XX=m # end of Wireless WAN CONFIG_VMXNET3=m @@ -4009,6 +4042,7 @@ CONFIG_KEYBOARD_MCS=m CONFIG_KEYBOARD_MPR121=m CONFIG_KEYBOARD_NEWTON=m CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_PINEPHONE=m CONFIG_KEYBOARD_SAMSUNG=m CONFIG_KEYBOARD_STOWAWAY=m CONFIG_KEYBOARD_SUNKBD=m @@ -4091,6 +4125,7 @@ CONFIG_JOYSTICK_WALKERA0701=m CONFIG_JOYSTICK_PXRC=m CONFIG_JOYSTICK_QWIIC=m CONFIG_JOYSTICK_FSIA6B=m +CONFIG_JOYSTICK_SENSEHAT=m CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m CONFIG_TABLET_USB_AIPTEK=m @@ -4206,6 +4241,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 @@ -4260,9 +4296,11 @@ CONFIG_INPUT_PCAP=m CONFIG_INPUT_ADXL34X=m CONFIG_INPUT_ADXL34X_I2C=m CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_IBM_PANEL=m CONFIG_INPUT_IMS_PCU=m # CONFIG_INPUT_IQS269A is not set CONFIG_INPUT_IQS626A=m +CONFIG_INPUT_IQS7222=m CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_IDEAPAD_SLIDEBAR=m @@ -4271,6 +4309,7 @@ CONFIG_INPUT_DRV260X_HAPTICS=m CONFIG_INPUT_DRV2665_HAPTICS=m CONFIG_INPUT_DRV2667_HAPTICS=m CONFIG_INPUT_RAVE_SP_PWRBUTTON=m +CONFIG_INPUT_RT5120_PWRKEY=m CONFIG_RMI4_CORE=m CONFIG_RMI4_I2C=m CONFIG_RMI4_SPI=m @@ -4348,7 +4387,6 @@ CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_FOURPORT is not set # CONFIG_SERIAL_8250_ACCENT is not set -# CONFIG_SERIAL_8250_ASPEED_VUART is not set # CONFIG_SERIAL_8250_BOCA is not set # CONFIG_SERIAL_8250_EXAR_ST16C554 is not set # CONFIG_SERIAL_8250_HUB6 is not set @@ -4392,6 +4430,7 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_RP2=m CONFIG_SERIAL_RP2_NR_UARTS=32 CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LINFLEXUART=m # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_MEN_Z135=m @@ -4426,7 +4465,7 @@ CONFIG_IPMI_IPMB=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_IPMB_DEVICE_INTERFACE=m -CONFIG_HW_RANDOM=m +CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m @@ -4459,12 +4498,13 @@ CONFIG_DEVPORT=y CONFIG_HPET=y # CONFIG_HPET_MMAP is not set CONFIG_HANGCHECK_TIMER=m -CONFIG_TCG_TPM=m +CONFIG_TCG_TPM=y CONFIG_HW_RANDOM_TPM=y -CONFIG_TCG_TIS_CORE=m -CONFIG_TCG_TIS=m +CONFIG_TCG_TIS_CORE=y +CONFIG_TCG_TIS=y 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 @@ -4472,7 +4512,7 @@ CONFIG_TCG_TIS_I2C_NUVOTON=m CONFIG_TCG_NSC=m CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m -CONFIG_TCG_CRB=m +CONFIG_TCG_CRB=y CONFIG_TCG_VTPM_PROXY=m CONFIG_TCG_TIS_ST33ZP24=m CONFIG_TCG_TIS_ST33ZP24_I2C=m @@ -4580,6 +4620,7 @@ CONFIG_I2C_DIOLAN_U2C=m CONFIG_I2C_DLN2=m CONFIG_I2C_CP2615=m CONFIG_I2C_PARPORT=m +CONFIG_I2C_PCI1XXXX=m CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m CONFIG_I2C_TINY_USB=m @@ -4632,6 +4673,8 @@ CONFIG_SPI_GPIO=m # CONFIG_SPI_INTEL_PLATFORM is not set CONFIG_SPI_LM70_LLP=m # CONFIG_SPI_FSL_SPI is not set +CONFIG_SPI_MICROCHIP_CORE=m +CONFIG_SPI_MICROCHIP_CORE_QSPI=m # CONFIG_SPI_LANTIQ_SSC is not set CONFIG_SPI_OC_TINY=m CONFIG_SPI_PXA2XX=m @@ -4698,8 +4741,9 @@ CONFIG_PINMUX=y CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set -CONFIG_PINCTRL_AMD=m +CONFIG_PINCTRL_AMD=y # CONFIG_PINCTRL_AXP209 is not set +CONFIG_PINCTRL_CY8C95X0=m CONFIG_PINCTRL_DA9062=m # CONFIG_PINCTRL_EQUILIBRIUM is not set CONFIG_PINCTRL_MCP23S08_I2C=m @@ -4737,6 +4781,7 @@ CONFIG_PINCTRL_ICELAKE=y # CONFIG_PINCTRL_JASPERLAKE is not set 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 @@ -4774,7 +4819,6 @@ CONFIG_GPIO_ICH=m # CONFIG_GPIO_LOGICVC is not set CONFIG_GPIO_MB86S7X=m CONFIG_GPIO_MENZ127=m -# CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SIFIVE is not set CONFIG_GPIO_SIOX=m # CONFIG_GPIO_SYSCON is not set @@ -4798,7 +4842,6 @@ CONFIG_GPIO_WS16C48=m # # I2C GPIO expanders # -CONFIG_GPIO_ADP5588=m # CONFIG_GPIO_ADNP is not set # CONFIG_GPIO_GW_PLD is not set CONFIG_GPIO_MAX7300=m @@ -4989,6 +5032,7 @@ CONFIG_CHARGER_MAX77693=m CONFIG_CHARGER_MAX77976=m CONFIG_CHARGER_MAX8997=m CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_MT6370=m CONFIG_CHARGER_BQ2415X=m CONFIG_CHARGER_BQ24190=m CONFIG_CHARGER_BQ24257=m @@ -5023,7 +5067,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 @@ -5047,7 +5090,6 @@ CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_FAM15H_POWER=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m -CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_CORSAIR_CPRO=m CONFIG_SENSORS_CORSAIR_PSU=m @@ -5055,7 +5097,7 @@ CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DELL_SMM=m -# CONFIG_I8K is not set +CONFIG_I8K=y CONFIG_SENSORS_DA9052_ADC=m CONFIG_SENSORS_DA9055=m CONFIG_SENSORS_I5K_AMB=m @@ -5100,10 +5142,10 @@ CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m CONFIG_SENSORS_MAX31722=m CONFIG_SENSORS_MAX31730=m +CONFIG_SENSORS_MAX31760=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 @@ -5134,7 +5176,9 @@ CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_NCT6683=m +CONFIG_SENSORS_NCT6775_CORE=m CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT6775_I2C=m CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_NCT7904=m CONFIG_SENSORS_NPCM7XX=m @@ -5160,6 +5204,7 @@ CONFIG_SENSORS_IRPS5401=m CONFIG_SENSORS_ISL68137=m CONFIG_SENSORS_LM25066=m # CONFIG_SENSORS_LM25066_REGULATOR is not set +CONFIG_SENSORS_LT7182S=m CONFIG_SENSORS_LTC2978=m # CONFIG_SENSORS_LTC2978_REGULATOR is not set CONFIG_SENSORS_LTC3815=m @@ -5182,8 +5227,10 @@ CONFIG_SENSORS_Q54SJ108A2=m CONFIG_SENSORS_STPDDC60=m CONFIG_SENSORS_TPS40422=m CONFIG_SENSORS_TPS53679=m +CONFIG_SENSORS_TPS546D24=m CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_XDPE152=m CONFIG_SENSORS_XDPE122=m # CONFIG_SENSORS_XDPE122_REGULATOR is not set CONFIG_SENSORS_ZL6100=m @@ -5200,6 +5247,7 @@ CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_EMC1403=m CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC2305=m CONFIG_SENSORS_EMC6W201=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m @@ -5252,7 +5300,6 @@ CONFIG_SENSORS_INTEL_M10_BMC_HWMON=m CONFIG_SENSORS_ACPI_POWER=m CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ASUS_WMI=m -CONFIG_SENSORS_ASUS_WMI_EC=m # CONFIG_SENSORS_ASUS_EC is not set CONFIG_THERMAL=y CONFIG_THERMAL_NETLINK=y @@ -5344,6 +5391,7 @@ CONFIG_ADVANTECH_WDT=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m CONFIG_EBC_C384_WDT=m +CONFIG_EXAR_WDT=m CONFIG_F71808E_WDT=m CONFIG_SP5100_TCO=m CONFIG_GEODE_WDT=m @@ -5495,8 +5543,10 @@ CONFIG_MFD_MAX8925=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y # CONFIG_MFD_MT6360 is not set +CONFIG_MFD_MT6370=m CONFIG_MFD_MT6397=m CONFIG_MFD_MENF21BMC=m +CONFIG_MFD_OCELOT=m CONFIG_EZX_PCAP=y # CONFIG_MFD_CPCAP is not set CONFIG_MFD_VIPERBOARD=m @@ -5506,15 +5556,17 @@ CONFIG_MFD_PCF50633=m CONFIG_PCF50633_ADC=m CONFIG_PCF50633_GPIO=m CONFIG_UCB1400_CORE=m +CONFIG_MFD_SY7636A=m CONFIG_MFD_RDC321X=m CONFIG_MFD_RT4831=m CONFIG_MFD_RT5033=m +CONFIG_MFD_RT5120=m CONFIG_MFD_RC5T583=y # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_SEC_CORE is not set CONFIG_MFD_SI476X_CORE=m -# CONFIG_MFD_SIMPLE_MFD_I2C is not set +CONFIG_MFD_SIMPLE_MFD_I2C=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SKY81452=m @@ -5644,8 +5696,11 @@ CONFIG_REGULATOR_MP8859=m # CONFIG_REGULATOR_MPQ7920 is not set CONFIG_REGULATOR_MT6311=m CONFIG_REGULATOR_MT6323=m +CONFIG_REGULATOR_MT6331=m +CONFIG_REGULATOR_MT6332=m # CONFIG_REGULATOR_MT6358 is not set CONFIG_REGULATOR_MT6359=m +CONFIG_REGULATOR_MT6370=m CONFIG_REGULATOR_MT6397=m CONFIG_REGULATOR_PALMAS=m CONFIG_REGULATOR_PCA9450=m @@ -5662,7 +5717,9 @@ CONFIG_REGULATOR_RC5T583=m CONFIG_REGULATOR_RT4801=m CONFIG_REGULATOR_RT4831=m CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_RT5120=m # CONFIG_REGULATOR_RT5190A is not set +CONFIG_REGULATOR_RT5759=m CONFIG_REGULATOR_RT6160=m CONFIG_REGULATOR_RT6245=m CONFIG_REGULATOR_RTQ2134=m @@ -5735,7 +5792,7 @@ CONFIG_IR_WINBOND_CIR=m CONFIG_RC_ATI_REMOTE=m CONFIG_RC_LOOPBACK=m CONFIG_RC_XBOX_DVD=m -CONFIG_CEC_CORE=y +CONFIG_CEC_CORE=m CONFIG_CEC_NOTIFIER=y CONFIG_CEC_PIN=y @@ -5824,7 +5881,6 @@ CONFIG_MEDIA_USB_SUPPORT=y # # Webcam devices # -CONFIG_VIDEO_CPIA2=m CONFIG_USB_GSPCA=m CONFIG_USB_GSPCA_BENQ=m CONFIG_USB_GSPCA_CONEX=m @@ -5879,11 +5935,9 @@ 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 -CONFIG_USB_ZR364XX=m # # Analog TV USB devices @@ -5910,9 +5964,6 @@ CONFIG_VIDEO_CX231XX=m CONFIG_VIDEO_CX231XX_RC=y CONFIG_VIDEO_CX231XX_ALSA=m CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_VIDEO_TM6000=m -CONFIG_VIDEO_TM6000_ALSA=m -CONFIG_VIDEO_TM6000_DVB=m # # Digital TV USB devices @@ -5979,11 +6030,11 @@ CONFIG_MEDIA_PCI_SUPPORT=y # # Media capture support # -CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_SOLO6X10=m CONFIG_VIDEO_TW5864=m CONFIG_VIDEO_TW68=m CONFIG_VIDEO_TW686X=m +# CONFIG_VIDEO_ZORAN is not set # # Media capture/analog TV support @@ -5992,9 +6043,6 @@ CONFIG_VIDEO_DT3155=m CONFIG_VIDEO_IVTV=m CONFIG_VIDEO_IVTV_ALSA=m # CONFIG_VIDEO_FB_IVTV is not set -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_MXB=m # # Media capture/analog/hybrid TV support @@ -6038,10 +6086,6 @@ CONFIG_DVB_PLUTO2=m CONFIG_DVB_PT1=m CONFIG_DVB_PT3=m CONFIG_DVB_SMIPCIE=m -CONFIG_DVB_BUDGET_CORE=m -CONFIG_DVB_BUDGET=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_BUDGET_AV=m CONFIG_VIDEO_IPU3_CIO2=m CONFIG_CIO2_BRIDGE=y CONFIG_RADIO_ADAPTERS=m @@ -6156,6 +6200,10 @@ CONFIG_VIDEO_CAFE_CCIC=m # # +# Verisilicon media platform drivers +# + +# # VIA media platform drivers # # CONFIG_VIDEO_VIA_CAMERA is not set @@ -6194,8 +6242,6 @@ CONFIG_TTPCI_EEPROM=m CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m CONFIG_DVB_B2C2_FLEXCOP=m -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m CONFIG_SMS_SIANO_MDTV=m CONFIG_SMS_SIANO_RC=y # CONFIG_SMS_SIANO_DEBUGFS is not set @@ -6226,6 +6272,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 is not set @@ -6323,9 +6370,6 @@ CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_MSP3400=m CONFIG_VIDEO_SONY_BTF_MPX=m CONFIG_VIDEO_TDA7432=m -CONFIG_VIDEO_TDA9840=m -CONFIG_VIDEO_TEA6415C=m -CONFIG_VIDEO_TEA6420=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_UDA1342=m CONFIG_VIDEO_VP27SMPX=m @@ -6448,13 +6492,10 @@ CONFIG_DVB_STV6110=m CONFIG_DVB_TDA10071=m CONFIG_DVB_TDA10086=m CONFIG_DVB_TDA8083=m -CONFIG_DVB_TDA8261=m CONFIG_DVB_TDA826X=m CONFIG_DVB_TS2020=m -CONFIG_DVB_TUA6100=m CONFIG_DVB_TUNER_CX24113=m CONFIG_DVB_TUNER_ITD1000=m -CONFIG_DVB_VES1X93=m CONFIG_DVB_ZL10036=m CONFIG_DVB_ZL10039=m @@ -6474,7 +6515,6 @@ CONFIG_DVB_DIB7000P=m CONFIG_DVB_DRXD=m CONFIG_DVB_EC100=m CONFIG_DVB_GP8PSK_FE=m -CONFIG_DVB_L64781=m CONFIG_DVB_MT352=m CONFIG_DVB_NXT6000=m CONFIG_DVB_RTL2830=m @@ -6568,6 +6608,7 @@ CONFIG_DVB_DUMMY_FE=m # # Graphics support # +CONFIG_APERTURE_HELPERS=y CONFIG_AGP=y CONFIG_AGP_ALI=m CONFIG_AGP_ATI=m @@ -6584,20 +6625,23 @@ CONFIG_VGA_SWITCHEROO=y CONFIG_DRM=y CONFIG_DRM_MIPI_DBI=m CONFIG_DRM_MIPI_DSI=y -CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DEBUG_MM is not set -# CONFIG_DRM_DEBUG_SELFTEST is not set -CONFIG_DRM_DP_HELPER=m +CONFIG_DRM_USE_DYNAMIC_DEBUG=y CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_DISPLAY_HELPER=m +CONFIG_DRM_DISPLAY_DP_HELPER=y +CONFIG_DRM_DISPLAY_HDCP_HELPER=y +CONFIG_DRM_DISPLAY_HDMI_HELPER=y +CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DP_CEC=y CONFIG_DRM_TTM=m CONFIG_DRM_BUDDY=m CONFIG_DRM_VRAM_HELPER=m CONFIG_DRM_TTM_HELPER=m -CONFIG_DRM_GEM_CMA_HELPER=m +CONFIG_DRM_GEM_DMA_HELPER=m CONFIG_DRM_GEM_SHMEM_HELPER=y CONFIG_DRM_SCHED=m @@ -6671,7 +6715,7 @@ CONFIG_DRM_AST=m CONFIG_DRM_MGAG200=m # CONFIG_DRM_RCAR_DW_HDMI is not set # CONFIG_DRM_RCAR_USE_LVDS is not set -# CONFIG_DRM_RCAR_MIPI_DSI is not set +# CONFIG_DRM_RCAR_USE_MIPI_DSI is not set CONFIG_DRM_QXL=m CONFIG_DRM_VIRTIO_GPU=m CONFIG_DRM_PANEL=y @@ -6689,6 +6733,7 @@ CONFIG_DRM_PANEL=y # CONFIG_DRM_PANEL_LVDS is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_EDP is not set +# CONFIG_DRM_PANEL_EBBG_FT8719 is not set # CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set # CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set # CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set @@ -6707,6 +6752,7 @@ CONFIG_DRM_PANEL=y # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set # CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set # CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set # CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set @@ -6764,6 +6810,7 @@ CONFIG_DRM_PANEL_BRIDGE=y # CONFIG_DRM_DISPLAY_CONNECTOR is not set # CONFIG_DRM_ITE_IT6505 is not set # CONFIG_DRM_LONTIUM_LT8912B is not set +# CONFIG_DRM_LONTIUM_LT9211 is not set # CONFIG_DRM_LONTIUM_LT9611 is not set # CONFIG_DRM_LONTIUM_LT9611UXC is not set # CONFIG_DRM_ITE_IT66121 is not set @@ -6783,6 +6830,7 @@ CONFIG_DRM_PANEL_BRIDGE=y # CONFIG_DRM_TOSHIBA_TC358767 is not set # CONFIG_DRM_TOSHIBA_TC358768 is not set # CONFIG_DRM_TOSHIBA_TC358775 is not set +# CONFIG_DRM_TI_DLPC3433 is not set # CONFIG_DRM_TI_TFP410 is not set # CONFIG_DRM_TI_SN65DSI83 is not set # CONFIG_DRM_TI_SN65DSI86 is not set @@ -6796,7 +6844,9 @@ CONFIG_DRM_ANALOGIX_DP=m # end of Display Interface Bridges # CONFIG_DRM_ETNAVIV is not set +# CONFIG_DRM_LOGICVC is not set # CONFIG_DRM_MXSFB is not set +# CONFIG_DRM_IMX_LCDIF is not set # CONFIG_DRM_ARCPGU is not set CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m @@ -6835,7 +6885,6 @@ CONFIG_FB_NOTIFY=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set CONFIG_FB_DDC=m -CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y @@ -6967,6 +7016,7 @@ CONFIG_BACKLIGHT_LM3533=m CONFIG_BACKLIGHT_DA903X=m CONFIG_BACKLIGHT_DA9052=m CONFIG_BACKLIGHT_MAX8925=m +CONFIG_BACKLIGHT_MT6370=m CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_QCOM_WLED=m CONFIG_BACKLIGHT_RT4831=m @@ -7041,10 +7091,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=y +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 @@ -7072,6 +7124,7 @@ CONFIG_SND_VIRMIDI=m CONFIG_SND_MTPAV=m CONFIG_SND_MTS64=m CONFIG_SND_SERIAL_U16550=m +# CONFIG_SND_SERIAL_GENERIC is not set CONFIG_SND_MPU401=m CONFIG_SND_PORTMAN2X4=m CONFIG_SND_AC97_POWER_SAVE=y @@ -7204,6 +7257,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 @@ -7277,6 +7331,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 is not set @@ -7291,9 +7346,13 @@ CONFIG_SND_SOC_AMD_ACP_I2S=m CONFIG_SND_SOC_AMD_ACP_PCM=m # CONFIG_SND_SOC_AMD_ACP_PCI is not set 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_SOC_AMD_PS=m +CONFIG_SND_SOC_AMD_PS_MACH=m CONFIG_SND_ATMEL_SOC=m # CONFIG_SND_SOC_MIKROE_PROTO is not set # CONFIG_SND_BCM63XX_I2S_WHISTLER is not set @@ -7406,9 +7465,12 @@ CONFIG_SND_SOC_SOF_DEBUG_PROBES=m CONFIG_SND_SOC_SOF_CLIENT=m 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 +CONFIG_SND_SOC_SOF_AMD_REMBRANDT=m CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m @@ -7416,6 +7478,8 @@ CONFIG_SND_SOC_SOF_INTEL_COMMON=m CONFIG_SND_SOC_SOF_BAYTRAIL=m # CONFIG_SND_SOC_SOF_BROADWELL is not set CONFIG_SND_SOC_SOF_MERRIFIELD=m +# CONFIG_SND_SOC_SOF_SKYLAKE is not set +# CONFIG_SND_SOC_SOF_KABYLAKE is not set CONFIG_SND_SOC_SOF_INTEL_APL=m CONFIG_SND_SOC_SOF_APOLLOLAKE=m CONFIG_SND_SOC_SOF_GEMINILAKE=m @@ -7430,12 +7494,14 @@ 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 CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m CONFIG_SND_SOC_SOF_HDA=m -CONFIG_SND_SOC_SOF_HDA_PROBES=y +CONFIG_SND_SOC_SOF_HDA_PROBES=m CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m CONFIG_SND_SOC_SOF_XTENSA=m @@ -7493,12 +7559,18 @@ CONFIG_SND_SOC_CS35L41_LIB=m CONFIG_SND_SOC_CS35L41=m CONFIG_SND_SOC_CS35L41_SPI=m CONFIG_SND_SOC_CS35L41_I2C=m +CONFIG_SND_SOC_CS35L45_TABLES=m +CONFIG_SND_SOC_CS35L45=m +CONFIG_SND_SOC_CS35L45_SPI=m +CONFIG_SND_SOC_CS35L45_I2C=m +CONFIG_SND_SOC_CS42L42_CORE=m CONFIG_SND_SOC_CS42L42=m CONFIG_SND_SOC_CS42L51=m CONFIG_SND_SOC_CS42L51_I2C=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CS42L83=m CONFIG_SND_SOC_CS4234=m CONFIG_SND_SOC_CS4265=m CONFIG_SND_SOC_CS4270=m @@ -7519,12 +7591,14 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES7241=m CONFIG_SND_SOC_ES8316=m +CONFIG_SND_SOC_ES8326=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_I2C=m 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 @@ -7538,6 +7612,7 @@ CONFIG_SND_SOC_MAX98373=m CONFIG_SND_SOC_MAX98373_I2C=m CONFIG_SND_SOC_MAX98373_SDW=m CONFIG_SND_SOC_MAX98390=m +CONFIG_SND_SOC_MAX98396=m CONFIG_SND_SOC_MAX9860=m CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m CONFIG_SND_SOC_PCM1681=m @@ -7606,6 +7681,8 @@ CONFIG_SND_SOC_SIGMADSP_REGMAP=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m CONFIG_SND_SOC_SIMPLE_MUX=m CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SRC4XXX_I2C=m +CONFIG_SND_SOC_SRC4XXX=m # CONFIG_SND_SOC_SSM2305 is not set CONFIG_SND_SOC_SSM2518=m CONFIG_SND_SOC_SSM2602=m @@ -7619,6 +7696,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 @@ -7656,6 +7734,8 @@ CONFIG_SND_SOC_WM8580=m CONFIG_SND_SOC_WM8711=m CONFIG_SND_SOC_WM8728=m CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8731_I2C=m +CONFIG_SND_SOC_WM8731_SPI=m CONFIG_SND_SOC_WM8737=m CONFIG_SND_SOC_WM8741=m CONFIG_SND_SOC_WM8750=m @@ -7668,12 +7748,14 @@ CONFIG_SND_SOC_WM8804_I2C=m CONFIG_SND_SOC_WM8804_SPI=m CONFIG_SND_SOC_WM8903=m CONFIG_SND_SOC_WM8904=m +CONFIG_SND_SOC_WM8940=m CONFIG_SND_SOC_WM8960=m CONFIG_SND_SOC_WM8962=m CONFIG_SND_SOC_WM8974=m CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m CONFIG_SND_SOC_WSA881X=m +CONFIG_SND_SOC_WSA883X=m # CONFIG_SND_SOC_ZL38060 is not set CONFIG_SND_SOC_MAX9759=m # CONFIG_SND_SOC_MT6351 is not set @@ -7760,6 +7842,7 @@ CONFIG_HID_KYE=m CONFIG_HID_UCLOGIC=m CONFIG_HID_WALTOP=m CONFIG_HID_VIEWSONIC=m +CONFIG_HID_VRC2=m CONFIG_HID_XIAOMI=m CONFIG_HID_GYRATION=m CONFIG_HID_ICADE=m @@ -7781,6 +7864,7 @@ CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=m CONFIG_HID_MALTRON=m CONFIG_HID_MAYFLASH=m +CONFIG_HID_MEGAWORLD_FF=m # CONFIG_HID_REDRAGON is not set CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m @@ -7803,6 +7887,7 @@ CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m CONFIG_HID_PLAYSTATION=m CONFIG_PLAYSTATION_FF=y +CONFIG_HID_PXRC=m # CONFIG_HID_RAZER is not set CONFIG_HID_PRIMAX=m CONFIG_HID_RETRODE=m @@ -7825,6 +7910,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 @@ -7855,6 +7941,7 @@ CONFIG_USB_HIDDEV=y # CONFIG_I2C_HID_ACPI=m # CONFIG_I2C_HID_OF is not set +# CONFIG_I2C_HID_OF_ELAN is not set # CONFIG_I2C_HID_OF_GOODIX is not set # end of I2C HID support @@ -8121,6 +8208,7 @@ CONFIG_USB_HSIC_USB3503=m CONFIG_USB_HSIC_USB4604=m CONFIG_USB_LINK_LAYER_TEST=m CONFIG_USB_CHAOSKEY=m +# CONFIG_USB_ONBOARD_HUB is not set CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m @@ -8255,12 +8343,15 @@ CONFIG_TYPEC=m CONFIG_TYPEC_TCPM=m CONFIG_TYPEC_TCPCI=m # CONFIG_TYPEC_RT1711H is not set +CONFIG_TYPEC_TCPCI_MT6370=m CONFIG_TYPEC_TCPCI_MAXIM=m CONFIG_TYPEC_FUSB302=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 is not set CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_STUSB160X=m @@ -8269,6 +8360,7 @@ CONFIG_TYPEC_STUSB160X=m # # USB Type-C Multiplexer/DeMultiplexer Switch support # +CONFIG_TYPEC_MUX_FSA4480=m CONFIG_TYPEC_MUX_PI3USB30532=m # end of USB Type-C Multiplexer/DeMultiplexer Switch support @@ -8301,7 +8393,6 @@ CONFIG_MMC_RICOH_MMC=y CONFIG_MMC_SDHCI_ACPI=m CONFIG_MMC_SDHCI_PLTFM=m # CONFIG_MMC_SDHCI_OF_ARASAN is not set -# CONFIG_MMC_SDHCI_OF_ASPEED is not set # CONFIG_MMC_SDHCI_OF_AT91 is not set # CONFIG_MMC_SDHCI_OF_DWCMSHC is not set # CONFIG_MMC_SDHCI_CADENCE is not set @@ -8326,6 +8417,15 @@ CONFIG_MMC_MTK=m CONFIG_MMC_SDHCI_XENON=m # CONFIG_MMC_SDHCI_OMAP is not set # CONFIG_MMC_SDHCI_AM654 is not set +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_UFS_BSG=y +CONFIG_SCSI_UFS_HPB=y +CONFIG_SCSI_UFS_HWMON=y +CONFIG_SCSI_UFSHCD_PCI=m +# CONFIG_SCSI_UFS_DWC_TC_PCI is not set +CONFIG_SCSI_UFSHCD_PLATFORM=m +CONFIG_SCSI_UFS_CDNS_PLATFORM=m +# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set CONFIG_MEMSTICK=m # CONFIG_MEMSTICK_DEBUG is not set @@ -8376,7 +8476,6 @@ CONFIG_LEDS_LP50XX=m # CONFIG_LEDS_LP55XX_COMMON is not set CONFIG_LEDS_LP8788=m # CONFIG_LEDS_LP8860 is not set -CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_PCA955X=m CONFIG_LEDS_PCA955X_GPIO=y CONFIG_LEDS_PCA963X=m @@ -8398,7 +8497,7 @@ CONFIG_LEDS_MAX8997=m CONFIG_LEDS_LM355x=m CONFIG_LEDS_OT200=m CONFIG_LEDS_MENF21BMC=m -# CONFIG_LEDS_IS31FL319X is not set +CONFIG_LEDS_IS31FL319X=m # CONFIG_LEDS_IS31FL32XX is not set # @@ -8430,6 +8529,11 @@ CONFIG_LEDS_RT8515=m # CONFIG_LEDS_SGM3140 is not set # +# RGB LED drivers +# +CONFIG_LEDS_PWM_MULTICOLOR=m + +# # LED Triggers # CONFIG_LEDS_TRIGGERS=y @@ -8491,15 +8595,15 @@ CONFIG_INFINIBAND_USER_MEM=y CONFIG_INFINIBAND_ON_DEMAND_PAGING=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y -CONFIG_INFINIBAND_MTHCA=m -CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_CXGB4=m 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_VMWARE_PVRDMA=m CONFIG_INFINIBAND_IPOIB=m CONFIG_INFINIBAND_IPOIB_CM=y CONFIG_INFINIBAND_IPOIB_DEBUG=y @@ -8573,6 +8677,7 @@ CONFIG_RTC_DRV_MAX8907=m CONFIG_RTC_DRV_MAX8925=m CONFIG_RTC_DRV_MAX8998=m CONFIG_RTC_DRV_MAX8997=m +# CONFIG_RTC_DRV_NCT3018Y is not set CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m @@ -8759,6 +8864,7 @@ CONFIG_VIRT_DRIVERS=y CONFIG_VMGENID=y CONFIG_VBOXGUEST=m CONFIG_NITRO_ENCLAVES=m +CONFIG_VIRTIO_ANCHOR=y CONFIG_VIRTIO=y CONFIG_VIRTIO_PCI_LIB=m CONFIG_VIRTIO_PCI_LIB_LEGACY=m @@ -8804,7 +8910,6 @@ CONFIG_HYPERV_BALLOON=m # CONFIG_COMEDI is not set CONFIG_STAGING=y CONFIG_PRISM2_USB=m -CONFIG_FB_OLPC_DCON=m CONFIG_RTL8192U=m CONFIG_RTLLIB=m CONFIG_RTLLIB_CRYPTO_CCMP=m @@ -8844,12 +8949,6 @@ CONFIG_ADT7316_I2C=m # end of Analog digital bi-direction converters # -# Capacitance to digital converters -# -CONFIG_AD7746=m -# end of Capacitance to digital converters - -# # Direct Digital Synthesis # CONFIG_AD9832=m @@ -8880,21 +8979,11 @@ CONFIG_AD2S1210=m # CONFIG_FB_SM750 is not set CONFIG_STAGING_MEDIA=y # CONFIG_INTEL_ATOMISP is not set -# CONFIG_VIDEO_MAX96712 is not set -# 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_MAX96712 is not set +# CONFIG_STAGING_MEDIA_DEPRECATED is not set # CONFIG_STAGING_BOARD is not set CONFIG_LTE_GDM724X=m -CONFIG_FIREWIRE_SERIAL=m -CONFIG_FWTTY_MAX_TOTAL_PORTS=64 -CONFIG_FWTTY_MAX_CARD_PORTS=32 -CONFIG_UNISYSSPAR=y -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_FB_TFT is not set CONFIG_MOST_COMPONENTS=m CONFIG_MOST_NET=m @@ -8907,7 +8996,56 @@ CONFIG_PI433=m CONFIG_FIELDBUS_DEV=m # CONFIG_HMS_ANYBUSS_BUS is not set CONFIG_QLGE=m -CONFIG_WFX=m +# 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 is not set +CONFIG_CROS_EC=m +CONFIG_CROS_EC_I2C=m +# CONFIG_CROS_EC_RPMSG is not set +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_VBC=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 is not set +CONFIG_CROS_TYPEC_SWITCH=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_OLPC_EC=y +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 @@ -8921,6 +9059,7 @@ CONFIG_YOGABOOK_WMI=m CONFIG_ACERHDF=m CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m +CONFIG_AMD_PMF=m CONFIG_AMD_PMC=m CONFIG_ADV_SWBUTTON=m CONFIG_APPLE_GMUX=m @@ -9018,51 +9157,8 @@ CONFIG_INTEL_IPS=m # CONFIG_INTEL_SCU_PCI is not set # CONFIG_INTEL_SCU_PLATFORM is not set CONFIG_SIEMENS_SIMATIC_IPC=m -CONFIG_PMC_ATOM=y -CONFIG_CHROME_PLATFORMS=y -CONFIG_CHROMEOS_LAPTOP=m -CONFIG_CHROMEOS_PSTORE=m -# CONFIG_CHROMEOS_TBMC is not set -CONFIG_CROS_EC=m -CONFIG_CROS_EC_I2C=m -# CONFIG_CROS_EC_RPMSG is not set -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_VBC=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 is not set -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_OLPC_EC=y -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_WINMATE_FM07_KEYS=m +CONFIG_P2SB=y CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -9084,9 +9180,11 @@ CONFIG_COMMON_CLK_PALMAS=m CONFIG_COMMON_CLK_PWM=m # CONFIG_COMMON_CLK_RS9_PCIE is not set # CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_VC7 is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set # CONFIG_CLK_LGM_CGU is not set CONFIG_XILINX_VCU=m +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set CONFIG_HWSPINLOCK=y # @@ -9177,6 +9275,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 @@ -9283,7 +9386,7 @@ CONFIG_BMI088_ACCEL=m CONFIG_BMI088_ACCEL_SPI=m CONFIG_DA280=m CONFIG_DA311=m -# CONFIG_DMARD06 is not set +CONFIG_DMARD06=m CONFIG_DMARD09=m CONFIG_DMARD10=m CONFIG_FXLS8962AF=m @@ -9307,6 +9410,7 @@ CONFIG_MMA8452=m CONFIG_MMA9551_CORE=m CONFIG_MMA9551=m CONFIG_MMA9553=m +CONFIG_MSA311=m CONFIG_MXC4005=m CONFIG_MXC6255=m CONFIG_SCA3000=m @@ -9346,7 +9450,7 @@ CONFIG_AXP288_ADC=m CONFIG_CC10001_ADC=m CONFIG_DA9150_GPADC=m CONFIG_DLN2_ADC=m -# CONFIG_ENVELOPE_DETECTOR is not set +CONFIG_ENVELOPE_DETECTOR=m CONFIG_HI8435=m CONFIG_HX711=m CONFIG_INA2XX_ADC=m @@ -9358,6 +9462,7 @@ CONFIG_LTC2497=m CONFIG_MAX1027=m CONFIG_MAX11100=m CONFIG_MAX1118=m +CONFIG_MAX11205=m # CONFIG_MAX1241 is not set CONFIG_MAX1363=m CONFIG_MAX9611=m @@ -9367,7 +9472,8 @@ CONFIG_MCP3911=m CONFIG_MEN_Z188_ADC=m CONFIG_NAU7802=m CONFIG_PALMAS_GPADC=m -# CONFIG_SD_ADC_MODULATOR is not set +CONFIG_RICHTEK_RTQ6056=m +CONFIG_SD_ADC_MODULATOR=m CONFIG_TI_ADC081C=m CONFIG_TI_ADC0832=m CONFIG_TI_ADC084S021=m @@ -9386,7 +9492,7 @@ CONFIG_TI_TLC4541=m CONFIG_TI_TSC2046=m CONFIG_TWL4030_MADC=m CONFIG_TWL6030_GPADC=m -# CONFIG_VF610_ADC is not set +CONFIG_VF610_ADC=m CONFIG_VIPERBOARD_ADC=m CONFIG_XILINX_XADC=m # end of Analog to digital converters @@ -9400,7 +9506,7 @@ CONFIG_AD74413R=m # # Analog Front Ends # -# CONFIG_IIO_RESCALE is not set +CONFIG_IIO_RESCALE=m # end of Analog Front Ends # @@ -9415,6 +9521,7 @@ CONFIG_HMC425=m # Capacitance to digital converters # CONFIG_AD7150=m +CONFIG_AD7746=m # end of Capacitance to digital converters # @@ -9498,7 +9605,7 @@ CONFIG_AD5791=m CONFIG_AD7293=m CONFIG_AD7303=m CONFIG_AD8801=m -# CONFIG_DPOT_DAC is not set +CONFIG_DPOT_DAC=m CONFIG_DS4424=m CONFIG_LTC1660=m CONFIG_LTC2632=m @@ -9511,7 +9618,7 @@ CONFIG_TI_DAC082S085=m # CONFIG_TI_DAC5571 is not set CONFIG_TI_DAC7311=m CONFIG_TI_DAC7612=m -# CONFIG_VF610_DAC is not set +CONFIG_VF610_DAC=m # end of Digital to analog converters # @@ -9610,6 +9717,9 @@ CONFIG_ADIS16480=m CONFIG_BMI160=m CONFIG_BMI160_I2C=m CONFIG_BMI160_SPI=m +CONFIG_BOSCH_BNO055=m +CONFIG_BOSCH_BNO055_SERIAL=m +CONFIG_BOSCH_BNO055_I2C=m CONFIG_FXOS8700=m CONFIG_FXOS8700_I2C=m CONFIG_FXOS8700_SPI=m @@ -9647,7 +9757,7 @@ CONFIG_BH1780=m CONFIG_CM32181=m CONFIG_CM3232=m CONFIG_CM3323=m -# CONFIG_CM3605 is not set +CONFIG_CM3605=m CONFIG_CM36651=m CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_GP2AP002=m @@ -9662,6 +9772,7 @@ CONFIG_JSA1212=m CONFIG_RPR0521=m CONFIG_SENSORS_LM3533=m CONFIG_LTR501=m +CONFIG_LTRF216A=m CONFIG_LV0104CS=m CONFIG_MAX44000=m CONFIG_MAX44009=m @@ -9693,7 +9804,7 @@ CONFIG_ZOPT2201=m # # Magnetometer sensors # -# CONFIG_AK8974 is not set +CONFIG_AK8974=m CONFIG_AK8975=m CONFIG_AK09911=m CONFIG_BMC150_MAGN=m @@ -9717,7 +9828,7 @@ CONFIG_YAMAHA_YAS530=m # # Multiplexers # -# CONFIG_IIO_MUX is not set +CONFIG_IIO_MUX=m # end of Multiplexers # @@ -9856,11 +9967,11 @@ 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_ATMEL_TCB is not set +CONFIG_PWM_CLK=m CONFIG_PWM_CRC=y # CONFIG_PWM_CROS_EC is not set CONFIG_PWM_DWC=m @@ -9873,6 +9984,7 @@ CONFIG_PWM_LP3943=m CONFIG_PWM_PCA9685=m CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m +# CONFIG_PWM_XILINX is not set # # IRQ chip support @@ -9880,6 +9992,7 @@ CONFIG_PWM_TWL_LED=m CONFIG_IRQCHIP=y # CONFIG_AL_FIC is not set CONFIG_MADERA_IRQ=m +# CONFIG_XILINX_INTC is not set # end of IRQ chip support CONFIG_IPACK_BUS=m @@ -9888,6 +10001,7 @@ CONFIG_SERIAL_IPOCTAL=m CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_INTEL_GW is not set CONFIG_RESET_TI_SYSCON=m +CONFIG_RESET_TI_TPS380X=m # # PHY Subsystem @@ -9947,15 +10061,16 @@ CONFIG_USB4=m # # Android # -# CONFIG_ANDROID is not set +# CONFIG_ANDROID_BINDER_IPC is not set # end of Android CONFIG_DAX=y CONFIG_DEV_DAX=m CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y -# CONFIG_RAVE_SP_EEPROM is not set +CONFIG_NVMEM_RAVE_SP_EEPROM=m CONFIG_NVMEM_RMEM=m +# CONFIG_NVMEM_U_BOOT_ENV is not set # # HW tracing support @@ -9998,14 +10113,10 @@ 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_FSI is not set CONFIG_TEE=m - -# -# TEE drivers -# -# end of TEE drivers - CONFIG_MULTIPLEXER=m # @@ -10033,6 +10144,7 @@ CONFIG_MOST_USB_HDM=m CONFIG_MOST_CDEV=m CONFIG_MOST_SND=m # CONFIG_PECI is not set +CONFIG_HTE=y # end of Device Drivers # @@ -10147,6 +10259,7 @@ CONFIG_FSCACHE_STATS=y CONFIG_CACHEFILES=m # CONFIG_CACHEFILES_DEBUG is not set # CONFIG_CACHEFILES_ERROR_INJECTION is not set +CONFIG_CACHEFILES_ONDEMAND=y # end of Caches # @@ -10295,6 +10408,7 @@ CONFIG_EROFS_FS_POSIX_ACL=y CONFIG_EROFS_FS_SECURITY=y CONFIG_EROFS_FS_ZIP=y CONFIG_EROFS_FS_ZIP_LZMA=y +CONFIG_EROFS_FS_ONDEMAND=y CONFIG_VBOXSF_FS=m CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m @@ -10424,6 +10538,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 @@ -10437,6 +10552,8 @@ CONFIG_KEYS=y CONFIG_KEYS_REQUEST_CACHE=y CONFIG_PERSISTENT_KEYRINGS=y CONFIG_TRUSTED_KEYS=m +CONFIG_TRUSTED_KEYS_TPM=y +CONFIG_TRUSTED_KEYS_TEE=y CONFIG_ENCRYPTED_KEYS=m # CONFIG_USER_DECRYPTED_DATA is not set CONFIG_KEY_DH_OPERATIONS=y @@ -10473,9 +10590,12 @@ CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init" CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd" # 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 @@ -10513,6 +10633,7 @@ CONFIG_LSM="landlock,lockdown,yama,integrity,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=y # CONFIG_INIT_STACK_ALL_PATTERN is not set @@ -10523,6 +10644,10 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y CONFIG_ZERO_CALL_USED_REGS=y # end of Memory initialization + +CONFIG_RANDSTRUCT_NONE=y +# CONFIG_RANDSTRUCT_FULL is not set +# CONFIG_RANDSTRUCT_PERFORMANCE is not set # end of Kernel hardening options # end of Security options @@ -10566,102 +10691,109 @@ CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_SIMD=m CONFIG_CRYPTO_ENGINE=m +# end of Crypto core or helper # # Public-key cryptography # CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=y -# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y CONFIG_CRYPTO_ECC=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECDSA=y CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m +# end of Public-key cryptography # -# Authenticated Encryption with Associated Data +# Block ciphers # -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m -CONFIG_CRYPTO_CHACHA20POLY1305=m -# CONFIG_CRYPTO_AEGIS128 is not set -CONFIG_CRYPTO_SEQIV=m -CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_TI=m +CONFIG_CRYPTO_ARIA=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST_COMMON=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +# end of Block ciphers # -# Block modes +# Length-preserving ciphers and modes # +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_CFB=m CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_HCTR2=m +CONFIG_CRYPTO_KEYWRAP=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_ADIANTUM=m -CONFIG_CRYPTO_ESSIV=m +# end of Length-preserving ciphers and modes # -# Hash modes +# AEAD (authenticated encryption with associated data) ciphers # -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_VMAC=m +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_ESSIV=m +# end of AEAD (authenticated encryption with associated data) ciphers # -# Digest +# Hashes, digests, and MACs # -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_CRC32C_INTEL=m -CONFIG_CRYPTO_CRC32=m -CONFIG_CRYPTO_CRC32_PCLMUL=m -CONFIG_CRYPTO_XXHASH=m CONFIG_CRYPTO_BLAKE2B=m -CONFIG_CRYPTO_BLAKE2S=m -CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_CRC64_ROCKSOFT=y +CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_GHASH=m -CONFIG_CRYPTO_POLY1305=m +CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_POLYVAL=m +CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SM3=m +CONFIG_CRYPTO_SM3_GENERIC=m CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_VMAC=m CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XXHASH=m +# end of Hashes, digests, and MACs # -# Ciphers +# CRCs (cyclic redundancy checks) # -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_AES_NI_INTEL=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_BLOWFISH_COMMON=m -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAST_COMMON=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_FCRYPT=m -CONFIG_CRYPTO_CHACHA20=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_SERPENT_SSE2_586=m -CONFIG_CRYPTO_SM4=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_TWOFISH_COMMON=m -CONFIG_CRYPTO_TWOFISH_586=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRC64_ROCKSOFT=y +# end of CRCs (cyclic redundancy checks) # # Compression @@ -10672,9 +10804,10 @@ CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_LZ4HC=m CONFIG_CRYPTO_ZSTD=y +# end of Compression # -# Random Number Generation +# Random number generation # CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_DRBG_MENU=y @@ -10684,6 +10817,11 @@ CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_KDF800108_CTR=y +# end of Random number generation + +# +# Userspace interface +# CONFIG_CRYPTO_USER_API=m CONFIG_CRYPTO_USER_API_HASH=m CONFIG_CRYPTO_USER_API_SKCIPHER=m @@ -10692,7 +10830,20 @@ CONFIG_CRYPTO_USER_API_RNG=m CONFIG_CRYPTO_USER_API_AEAD=m # CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set CONFIG_CRYPTO_STATS=y +# end of Userspace interface + CONFIG_CRYPTO_HASH_INFO=y + +# +# Accelerated Cryptographic Algorithms for CPU (x86) +# +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_SERPENT_SSE2_586=m +CONFIG_CRYPTO_TWOFISH_586=m +CONFIG_CRYPTO_CRC32C_INTEL=m +CONFIG_CRYPTO_CRC32_PCLMUL=m +# end of Accelerated Cryptographic Algorithms for CPU (x86) + CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m @@ -10729,6 +10880,7 @@ CONFIG_PKCS8_PRIVATE_KEY_PARSER=m CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y +# CONFIG_FIPS_SIGNATURE_SELFTEST is not set # # Certificates for signature checking @@ -10744,6 +10896,7 @@ CONFIG_SYSTEM_BLACKLIST_KEYRING=y CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_REVOCATION_LIST=y CONFIG_SYSTEM_REVOCATION_KEYS="" +CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE=y # end of Certificates for signature checking CONFIG_BINARY_PRINTF=y @@ -10770,6 +10923,7 @@ CONFIG_ARCH_USE_SYM_ANNOTATIONS=y # # Crypto library routines # +CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=m CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y @@ -10782,12 +10936,10 @@ CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 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 -CONFIG_CRYPTO_LIB_SM3=m -CONFIG_CRYPTO_LIB_SM4=m # end of Crypto library routines -CONFIG_LIB_MEMNEQ=y CONFIG_CRC_CCITT=y CONFIG_CRC16=m CONFIG_CRC_T10DIF=y @@ -10816,6 +10968,7 @@ CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_COMPRESS=y CONFIG_LZ4HC_COMPRESS=m CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMMON=y CONFIG_ZSTD_COMPRESS=y CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y @@ -10871,6 +11024,7 @@ CONFIG_CMA_ALIGNMENT=8 # CONFIG_DMA_MAP_BENCHMARK is not set CONFIG_SGL_ALLOC=y CONFIG_CHECK_SIGNATURE=y +# CONFIG_FORCE_NR_CPUS is not set CONFIG_CPU_RMAP=y CONFIG_DQL=y CONFIG_GLOB=y @@ -10905,6 +11059,7 @@ CONFIG_FONT_TER16x32=y # CONFIG_FONT_6x8 is not set CONFIG_SG_POOL=y CONFIG_ARCH_STACKWALK=y +CONFIG_STACKDEPOT=y CONFIG_SBITMAP=y CONFIG_PARMAN=m CONFIG_OBJAGG=m @@ -10912,6 +11067,7 @@ CONFIG_OBJAGG=m CONFIG_PLDMFW=y CONFIG_ASN1_ENCODER=m +CONFIG_POLYNOMIAL=m # # Kernel hacking @@ -10940,6 +11096,7 @@ CONFIG_DEBUG_KERNEL=y # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y +CONFIG_AS_HAS_NON_CONST_LEB128=y # CONFIG_DEBUG_INFO_NONE is not set # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set CONFIG_DEBUG_INFO_DWARF4=y @@ -10985,6 +11142,7 @@ CONFIG_HAVE_KCSAN_COMPILER=y # # CONFIG_NET_DEV_REFCNT_TRACKER is not set # CONFIG_NET_NS_REFCNT_TRACKER is not set +# CONFIG_DEBUG_NET is not set # end of Networking Debugging # @@ -10992,6 +11150,8 @@ CONFIG_HAVE_KCSAN_COMPILER=y # CONFIG_PAGE_EXTENSION=y # CONFIG_DEBUG_PAGEALLOC is not set +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set # CONFIG_PAGE_OWNER is not set CONFIG_PAGE_POISONING=y # CONFIG_DEBUG_PAGE_REF is not set @@ -11002,8 +11162,7 @@ CONFIG_GENERIC_PTDUMP=y CONFIG_PTDUMP_CORE=y # CONFIG_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set +CONFIG_SHRINKER_DEBUG=y CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_STACK_USAGE is not set @@ -11042,15 +11201,12 @@ CONFIG_PANIC_TIMEOUT=0 CONFIG_LOCKUP_DETECTOR=y CONFIG_SOFTLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set -CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_HARDLOCKUP_DETECTOR_PERF=y CONFIG_HARDLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set -CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 CONFIG_DETECT_HUNG_TASK=y CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 # CONFIG_WQ_WATCHDOG is not set # CONFIG_TEST_LOCKUP is not set # end of Debug Oops, Lockups and Hangs @@ -11098,6 +11254,7 @@ CONFIG_DEBUG_LIST=y # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_DEBUG_MAPLE_TREE is not set # end of Debug kernel data structures # CONFIG_DEBUG_CREDENTIALS is not set @@ -11109,6 +11266,7 @@ CONFIG_DEBUG_LIST=y # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_REF_SCALE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 # CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set # end of RCU Debugging @@ -11125,6 +11283,7 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_FENTRY=y @@ -11188,6 +11347,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_ARCH_HAS_DEVMEM_IS_ALLOWED=y @@ -11197,7 +11357,6 @@ CONFIG_IO_STRICT_DEVMEM=y # # x86 Debugging # -CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y CONFIG_EARLY_PRINTK_USB=y # CONFIG_X86_VERBOSE_BOOTUP is not set CONFIG_EARLY_PRINTK=y @@ -11250,6 +11409,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set # CONFIG_TEST_XARRAY is not set +# CONFIG_TEST_MAPLE_TREE is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_SIPHASH is not set # CONFIG_TEST_IDA is not set @@ -11265,6 +11425,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set # CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_DYNAMIC_DEBUG is not set # CONFIG_TEST_KMOD is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_OBJAGG is not set @@ -11273,7 +11434,12 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_FPU is not set # CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set CONFIG_ARCH_USE_MEMTEST=y -# CONFIG_MEMTEST is not set +CONFIG_MEMTEST=y # CONFIG_HYPERV_TESTING is not set # end of Kernel Testing and Coverage + +# +# Rust hacking +# +# end of Rust hacking # end of Kernel hacking diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64 index c9190a5bb..abe5aeec0 100644 --- a/libre/linux-libre/config.x86_64 +++ b/libre/linux-libre/config.x86_64 @@ -1,24 +1,23 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.18.14-gnu Kernel Configuration +# Linux/x86 6.1.5-gnu Kernel Configuration # -CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.1.0" +CONFIG_CC_VERSION_TEXT="gcc (GCC) 12.2.0" CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=120100 +CONFIG_GCC_VERSION=120200 CONFIG_CLANG_VERSION=0 CONFIG_AS_IS_GNU=y -CONFIG_AS_VERSION=23800 +CONFIG_AS_VERSION=23900 CONFIG_LD_IS_BFD=y -CONFIG_LD_VERSION=23800 +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=0 +CONFIG_PAHOLE_VERSION=124 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -48,9 +47,9 @@ CONFIG_HAVE_KERNEL_ZSTD=y CONFIG_KERNEL_ZSTD=y CONFIG_DEFAULT_INIT="" CONFIG_DEFAULT_HOSTNAME="parabola" -CONFIG_SWAP=y CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSVIPC_COMPAT=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y CONFIG_WATCH_QUEUE=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 @@ -101,8 +102,10 @@ CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set -CONFIG_NO_HZ_IDLE=y -# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ_IDLE is not set +CONFIG_NO_HZ_FULL=y +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 @@ -138,8 +141,8 @@ CONFIG_SCHED_CORE=y # # CPU/Task time and stats accounting # -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_IRQ_TIME_ACCOUNTING=y CONFIG_HAVE_SCHED_AVG_IRQ=y CONFIG_BSD_PROCESS_ACCT=y @@ -163,8 +166,11 @@ CONFIG_RCU_EXPERT=y CONFIG_SRCU=y CONFIG_TREE_SRCU=y CONFIG_TASKS_RCU_GENERIC=y +# CONFIG_FORCE_TASKS_RCU is not set CONFIG_TASKS_RCU=y +# CONFIG_FORCE_TASKS_RUDE_RCU is not set CONFIG_TASKS_RUDE_RCU=y +# CONFIG_FORCE_TASKS_TRACE_RCU is not set CONFIG_TASKS_TRACE_RCU=y CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_NEED_SEGCBLIST=y @@ -172,7 +178,10 @@ CONFIG_RCU_FANOUT=64 CONFIG_RCU_FANOUT_LEAF=16 CONFIG_RCU_BOOST=y CONFIG_RCU_BOOST_DELAY=500 -# CONFIG_RCU_NOCB_CPU is not set +# 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 @@ -204,8 +213,8 @@ 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 CONFIG_BLK_CGROUP=y CONFIG_CGROUP_WRITEBACK=y @@ -249,6 +258,8 @@ CONFIG_RD_LZO=y CONFIG_RD_LZ4=y CONFIG_RD_ZSTD=y CONFIG_BOOT_CONFIG=y +# CONFIG_BOOT_CONFIG_EMBED is not set +CONFIG_INITRAMFS_PRESERVE_MTIME=y CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_LD_ORPHAN_WARN=y @@ -278,14 +289,11 @@ CONFIG_SHMEM=y CONFIG_AIO=y CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y -CONFIG_HAVE_ARCH_USERFAULTFD_WP=y -CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y CONFIG_KALLSYMS_BASE_RELATIVE=y -CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y CONFIG_RSEQ=y @@ -300,16 +308,6 @@ CONFIG_PERF_EVENTS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set # end of Kernel Performance Events And Counters -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLUB_DEBUG=y -# CONFIG_COMPAT_BRK is not set -# CONFIG_SLAB is not set -CONFIG_SLUB=y -CONFIG_SLAB_MERGE_DEFAULT=y -CONFIG_SLAB_FREELIST_RANDOM=y -CONFIG_SLAB_FREELIST_HARDENED=y -CONFIG_SHUFFLE_PAGE_ALLOCATOR=y -CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y @@ -379,6 +377,7 @@ CONFIG_XEN_SAVE_RESTORE=y # CONFIG_XEN_DEBUG_FS is not set CONFIG_XEN_PVH=y CONFIG_XEN_DOM0=y +CONFIG_XEN_PV_MSR_SAFE=y CONFIG_KVM_GUEST=y CONFIG_ARCH_CPUIDLE_HALTPOLL=y CONFIG_PVH=y @@ -386,6 +385,7 @@ CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT_CLOCK=y CONFIG_JAILHOUSE_GUEST=y CONFIG_ACRN_GUEST=y +CONFIG_INTEL_TDX_GUEST=y # CONFIG_MK8 is not set # CONFIG_MPSC is not set # CONFIG_MCORE2 is not set @@ -409,6 +409,7 @@ CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y CONFIG_DMI=y # CONFIG_GART_IOMMU is not set +CONFIG_BOOT_VESA_SUPPORT=y # CONFIG_MAXSMP is not set CONFIG_NR_CPUS_RANGE_BEGIN=2 CONFIG_NR_CPUS_RANGE_END=512 @@ -436,6 +437,7 @@ CONFIG_PERF_EVENTS_INTEL_RAPL=m CONFIG_PERF_EVENTS_INTEL_CSTATE=m CONFIG_PERF_EVENTS_AMD_POWER=m CONFIG_PERF_EVENTS_AMD_UNCORE=m +CONFIG_PERF_EVENTS_AMD_BRS=y # end of Performance monitoring CONFIG_X86_16BIT=y @@ -445,7 +447,7 @@ CONFIG_X86_IOPL_IOPERM=y CONFIG_MICROCODE=y # CONFIG_MICROCODE_INTEL is not set # CONFIG_MICROCODE_AMD is not set -# CONFIG_MICROCODE_OLD_INTERFACE is not set +# CONFIG_MICROCODE_LATE_LOADING is not set CONFIG_X86_MSR=y CONFIG_X86_CPUID=y CONFIG_X86_5LEVEL=y @@ -474,8 +476,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_SMAP=y CONFIG_X86_UMIP=y CONFIG_CC_HAS_IBT=y CONFIG_X86_KERNEL_IBT=y @@ -513,7 +513,6 @@ CONFIG_HOTPLUG_CPU=y # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set # CONFIG_DEBUG_HOTPLUG_CPU0 is not set # CONFIG_COMPAT_VDSO is not set -# CONFIG_LEGACY_VSYSCALL_EMULATE is not set CONFIG_LEGACY_VSYSCALL_XONLY=y # CONFIG_LEGACY_VSYSCALL_NONE is not set # CONFIG_CMDLINE_BOOL is not set @@ -549,6 +548,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 @@ -633,8 +633,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 @@ -659,7 +659,8 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=m -CONFIG_X86_AMD_PSTATE=m +CONFIG_X86_AMD_PSTATE=y +CONFIG_X86_AMD_PSTATE_UT=m CONFIG_X86_ACPI_CPUFREQ=m CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_POWERNOW_K8=m @@ -706,7 +707,6 @@ CONFIG_IA32_EMULATION=y CONFIG_COMPAT_32=y CONFIG_COMPAT=y CONFIG_COMPAT_FOR_U64_ALIGNMENT=y -CONFIG_SYSVIPC_COMPAT=y # end of Binary Emulations CONFIG_HAVE_KVM=y @@ -715,6 +715,8 @@ CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y CONFIG_HAVE_KVM_IRQ_ROUTING=y CONFIG_HAVE_KVM_DIRTY_RING=y +CONFIG_HAVE_KVM_DIRTY_RING_TSO=y +CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y CONFIG_HAVE_KVM_EVENTFD=y CONFIG_KVM_MMIO=y CONFIG_KVM_ASYNC_PF=y @@ -768,6 +770,7 @@ CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y CONFIG_HAVE_NMI=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y @@ -780,6 +783,7 @@ CONFIG_ARCH_WANTS_NO_INSTR=y CONFIG_HAVE_ASM_MODVERSIONS=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_RUST=y CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y @@ -792,6 +796,7 @@ CONFIG_HAVE_ARCH_JUMP_LABEL=y CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y CONFIG_MMU_GATHER_TABLE_FREE=y CONFIG_MMU_GATHER_RCU_TABLE_FREE=y +CONFIG_MMU_GATHER_MERGE_VMAS=y CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y CONFIG_HAVE_CMPXCHG_LOCAL=y @@ -810,9 +815,10 @@ CONFIG_STACKPROTECTOR_STRONG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_LTO_NONE=y +CONFIG_ARCH_SUPPORTS_CFI_CLANG=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 @@ -827,6 +833,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 @@ -836,6 +843,11 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y CONFIG_PAGE_SIZE_LESS_THAN_64KB=y CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_HAVE_OBJTOOL=y +CONFIG_HAVE_JUMP_LABEL_HACK=y +CONFIG_HAVE_NOINSTR_HACK=y +CONFIG_HAVE_NOINSTR_VALIDATION=y +CONFIG_HAVE_UACCESS_VALIDATION=y CONFIG_HAVE_STACK_VALIDATION=y CONFIG_HAVE_RELIABLE_STACKTRACE=y CONFIG_ISA_BUS_API=y @@ -867,6 +879,7 @@ CONFIG_ARCH_HAS_ELFCORE_COMPAT=y CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y CONFIG_DYNAMIC_SIGFRAME=y CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y +CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y # # GCOV-based kernel profiling @@ -878,7 +891,6 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_HAVE_GCC_PLUGINS=y CONFIG_GCC_PLUGINS=y # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set -# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set # end of General architecture-dependent options CONFIG_RT_MUTEXES=y @@ -888,6 +900,7 @@ CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODULE_UNLOAD_TAINT_TRACKING=y # CONFIG_MODVERSIONS is not set CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_MODULE_SIG=y @@ -1006,6 +1019,40 @@ CONFIG_COREDUMP=y # # Memory Management options # +CONFIG_ZPOOL=y +CONFIG_SWAP=y +CONFIG_ZSWAP=y +CONFIG_ZSWAP_DEFAULT_ON=y +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set +CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4" +# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set +CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y +# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set +CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold" +CONFIG_ZBUD=y +CONFIG_Z3FOLD=y +CONFIG_ZSMALLOC=y +# CONFIG_ZSMALLOC_STAT is not set + +# +# SLAB allocator options +# +# CONFIG_SLAB is not set +CONFIG_SLUB=y +CONFIG_SLAB_MERGE_DEFAULT=y +CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_FREELIST_HARDENED=y +# CONFIG_SLUB_STATS is not set +CONFIG_SLUB_CPU_PARTIAL=y +# end of SLAB allocator options + +CONFIG_SHUFFLE_PAGE_ALLOCATOR=y +# CONFIG_COMPAT_BRK is not set CONFIG_SPARSEMEM=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y @@ -1016,9 +1063,9 @@ CONFIG_MEMORY_ISOLATION=y CONFIG_EXCLUSIVE_SYSTEM_RAM=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y -CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_MHP_MEMMAP_ON_MEMORY=y CONFIG_SPLIT_PTLOCK_CPUS=4 @@ -1026,6 +1073,7 @@ CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y CONFIG_DEVICE_MIGRATION=y @@ -1033,19 +1081,19 @@ 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 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y CONFIG_MEMORY_FAILURE=y CONFIG_HWPOISON_INJECT=m +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_TRANSPARENT_HUGEPAGE=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set -CONFIG_ARCH_WANT_GENERAL_HUGETLB=y -CONFIG_ARCH_WANTS_THP_SWAP=y CONFIG_THP_SWAP=y +CONFIG_READ_ONLY_THP_FOR_FS=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_USE_PERCPU_NUMA_NODE_ID=y @@ -1057,47 +1105,37 @@ CONFIG_CMA_DEBUGFS=y CONFIG_CMA_SYSFS=y CONFIG_CMA_AREAS=7 CONFIG_MEM_SOFT_DIRTY=y -CONFIG_ZSWAP=y -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set -CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4=y -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set -# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set -CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lz4" -# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set -CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD=y -# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set -CONFIG_ZSWAP_ZPOOL_DEFAULT="z3fold" -CONFIG_ZSWAP_DEFAULT_ON=y -CONFIG_ZPOOL=y -CONFIG_ZBUD=y -CONFIG_Z3FOLD=y -CONFIG_ZSMALLOC=y -# CONFIG_ZSMALLOC_STAT is not set CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set 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_FILTER_PGPROT=y CONFIG_ARCH_HAS_PTE_DEVMAP=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 CONFIG_ARCH_HAS_PKEYS=y +CONFIG_VM_EVENT_COUNTERS=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_TEST is not set -CONFIG_READ_ONLY_THP_FOR_FS=y CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAPPING_DIRTY_HELPERS=y CONFIG_SECRETMEM=y CONFIG_ANON_VMA_NAME=y +CONFIG_USERFAULTFD=y +CONFIG_HAVE_ARCH_USERFAULTFD_WP=y +CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y +CONFIG_PTE_MARKER=y +CONFIG_PTE_MARKER_UFFD_WP=y +CONFIG_LRU_GEN=y +CONFIG_LRU_GEN_ENABLED=y +# CONFIG_LRU_GEN_STATS is not set # # Data Access Monitoring @@ -1108,6 +1146,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 @@ -1178,6 +1217,7 @@ CONFIG_INET_ESP=m CONFIG_INET_ESP_OFFLOAD=m CONFIG_INET_ESPINTCP=y CONFIG_INET_IPCOMP=m +CONFIG_INET_TABLE_PERTURB_ORDER=16 CONFIG_INET_XFRM_TUNNEL=m CONFIG_INET_TUNNEL=m CONFIG_INET_DIAG=m @@ -1335,6 +1375,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 @@ -1654,6 +1695,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 @@ -1661,7 +1703,6 @@ CONFIG_NET_DSA_TAG_XRS700X=m CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y -# CONFIG_DECNET is not set CONFIG_LLC=m CONFIG_LLC2=m CONFIG_ATALK=m @@ -1878,69 +1919,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_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 @@ -2151,6 +2129,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 @@ -2214,6 +2193,8 @@ CONFIG_CXL_ACPI=m 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 @@ -2249,10 +2230,14 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_FW_LOADER=y CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_XZ=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y CONFIG_FW_CACHE=y +CONFIG_FW_UPLOAD=y # end of Firmware loader CONFIG_WANT_DEV_COREDUMP=y @@ -2287,6 +2272,7 @@ CONFIG_DMA_SHARED_BUFFER=y CONFIG_MHI_BUS=m # CONFIG_MHI_BUS_DEBUG is not set CONFIG_MHI_BUS_PCI_GENERIC=m +CONFIG_MHI_BUS_EP=m # end of Bus devices CONFIG_CONNECTOR=y @@ -2325,31 +2311,32 @@ 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 CONFIG_EFI_RUNTIME_MAP=y # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_SOFT_RESERVE=y +CONFIG_EFI_DXE_MEM_ATTRIBUTES=y CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y CONFIG_EFI_BOOTLOADER_CONTROL=m CONFIG_EFI_CAPSULE_LOADER=m # CONFIG_EFI_TEST is not set +CONFIG_EFI_DEV_PATH_PARSER=y CONFIG_APPLE_PROPERTIES=y # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_EFI_RCI2_TABLE=y # CONFIG_EFI_DISABLE_PCI_DMA is not set +CONFIG_EFI_EARLYCON=y +CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y +# CONFIG_EFI_DISABLE_RUNTIME is not set +CONFIG_EFI_COCO_SECRET=y +CONFIG_EFI_EMBEDDED_FIRMWARE=y # end of EFI (Extensible Firmware Interface) Support -CONFIG_EFI_EMBEDDED_FIRMWARE=y CONFIG_UEFI_CPER=y CONFIG_UEFI_CPER_X86=y -CONFIG_EFI_DEV_PATH_PARSER=y -CONFIG_EFI_EARLYCON=y -CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y -# CONFIG_EFI_DISABLE_RUNTIME is not set # # Tegra firmware driver @@ -2534,7 +2521,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 @@ -2546,6 +2532,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 @@ -2553,6 +2540,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 @@ -2562,6 +2550,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 @@ -2569,6 +2558,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 # @@ -2632,6 +2622,7 @@ CONFIG_ALTERA_STAPL=m CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m # CONFIG_INTEL_MEI_TXE is not set +CONFIG_INTEL_MEI_GSC=m CONFIG_INTEL_MEI_HDCP=m CONFIG_INTEL_MEI_PXP=m CONFIG_VMWARE_VMCI=m @@ -2648,6 +2639,7 @@ CONFIG_UACCE=m CONFIG_PVPANIC=y CONFIG_PVPANIC_MMIO=m CONFIG_PVPANIC_PCI=m +CONFIG_GP_PCI1XXXX=m # end of Misc devices # @@ -2720,7 +2712,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 @@ -2735,16 +2726,6 @@ CONFIG_SCSI_MPT3SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS=m CONFIG_SCSI_MPI3MR=m CONFIG_SCSI_SMARTPQI=m -CONFIG_SCSI_UFSHCD=m -CONFIG_SCSI_UFSHCD_PCI=m -# CONFIG_SCSI_UFS_DWC_TC_PCI is not set -CONFIG_SCSI_UFSHCD_PLATFORM=m -CONFIG_SCSI_UFS_CDNS_PLATFORM=m -# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set -CONFIG_SCSI_UFS_BSG=y -CONFIG_SCSI_UFS_CRYPTO=y -CONFIG_SCSI_UFS_HPB=y -CONFIG_SCSI_UFS_HWMON=y CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y @@ -2825,6 +2806,7 @@ CONFIG_SATA_PMP=y CONFIG_SATA_AHCI=y CONFIG_SATA_MOBILE_LPM_POLICY=3 CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_AHCI_DWC=m CONFIG_SATA_INIC162X=m CONFIG_SATA_ACARD_AHCI=m CONFIG_SATA_SIL24=m @@ -2955,7 +2937,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_FLAKEY=m CONFIG_DM_VERITY=m CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y -# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is not set +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING=y CONFIG_DM_VERITY_FEC=y CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m @@ -3043,9 +3025,6 @@ CONFIG_ATM_LANAI=m CONFIG_ATM_ENI=m # CONFIG_ATM_ENI_DEBUG is not set # CONFIG_ATM_ENI_TUNE_BURST is not set -CONFIG_ATM_FIRESTREAM=m -CONFIG_ATM_ZATM=m -# CONFIG_ATM_ZATM_DEBUG is not set CONFIG_ATM_NICSTAR=m # CONFIG_ATM_NICSTAR_USE_SUNI is not set # CONFIG_ATM_NICSTAR_USE_IDT77105 is not set @@ -3053,10 +3032,6 @@ CONFIG_ATM_IDT77252=m # CONFIG_ATM_IDT77252_DEBUG is not set # CONFIG_ATM_IDT77252_RCV_ALL is not set CONFIG_ATM_IDT77252_USE_SUNI=y -CONFIG_ATM_AMBASSADOR=m -# CONFIG_ATM_AMBASSADOR_DEBUG is not set -CONFIG_ATM_HORIZON=m -# CONFIG_ATM_HORIZON_DEBUG is not set CONFIG_ATM_IA=m # CONFIG_ATM_IA_DEBUG is not set CONFIG_ATM_FORE200E=m @@ -3083,16 +3058,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 @@ -3100,7 +3073,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 @@ -3210,7 +3182,6 @@ CONFIG_TULIP_MWI=y CONFIG_TULIP_MMIO=y CONFIG_TULIP_NAPI=y CONFIG_TULIP_NAPI_HW_MITIGATION=y -CONFIG_DE4X5=m CONFIG_WINBOND_840=m CONFIG_DM9102=m CONFIG_ULI526X=m @@ -3266,7 +3237,12 @@ CONFIG_ICE_SWITCHDEV=y CONFIG_ICE_HWTS=y CONFIG_FM10K=m CONFIG_IGC=m +CONFIG_NET_VENDOR_WANGXUN=y +CONFIG_NGBE=m +CONFIG_TXGBE=m CONFIG_JME=m +CONFIG_NET_VENDOR_ADI=y +CONFIG_ADIN1110=m CONFIG_NET_VENDOR_LITEX=y CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m @@ -3275,6 +3251,7 @@ CONFIG_SKGE=m CONFIG_SKGE_GENESIS=y CONFIG_SKY2=m # CONFIG_SKY2_DEBUG is not set +CONFIG_OCTEON_EP=m CONFIG_PRESTERA=m CONFIG_PRESTERA_PCI=m CONFIG_NET_VENDOR_MELLANOX=y @@ -3284,7 +3261,6 @@ CONFIG_MLX4_CORE=m CONFIG_MLX4_DEBUG=y CONFIG_MLX4_CORE_GEN2=y CONFIG_MLX5_CORE=m -CONFIG_MLX5_ACCEL=y CONFIG_MLX5_FPGA=y CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_EN_ARFS=y @@ -3297,11 +3273,8 @@ CONFIG_MLX5_TC_CT=y CONFIG_MLX5_TC_SAMPLE=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_IPOIB=y -CONFIG_MLX5_FPGA_IPSEC=y -CONFIG_MLX5_IPSEC=y +CONFIG_MLX5_EN_MACSEC=y CONFIG_MLX5_EN_IPSEC=y -CONFIG_MLX5_FPGA_TLS=y -CONFIG_MLX5_TLS=y CONFIG_MLX5_EN_TLS=y CONFIG_MLX5_SW_STEERING=y CONFIG_MLX5_SF=y @@ -3340,8 +3313,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 @@ -3410,6 +3381,11 @@ CONFIG_SFC_SRIOV=y CONFIG_SFC_MCDI_LOGGING=y CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y +CONFIG_SFC_SIENA=m +CONFIG_SFC_SIENA_MTD=y +CONFIG_SFC_SIENA_MCDI_MON=y +CONFIG_SFC_SIENA_SRIOV=y +CONFIG_SFC_SIENA_MCDI_LOGGING=y CONFIG_NET_VENDOR_SMSC=y CONFIG_PCMCIA_SMC91C92=m CONFIG_EPIC100=m @@ -3473,6 +3449,7 @@ CONFIG_SFP=m # CONFIG_AMD_PHY=m CONFIG_ADIN_PHY=m +CONFIG_ADIN1100_PHY=m CONFIG_AQUANTIA_PHY=m CONFIG_AX88796B_PHY=m CONFIG_BROADCOM_PHY=m @@ -3481,6 +3458,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 @@ -3514,9 +3492,74 @@ CONFIG_DP83TC811_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m CONFIG_DP83869_PHY=m +CONFIG_DP83TD510_PHY=m CONFIG_VITESSE_PHY=m CONFIG_XILINX_GMII2RGMII=m CONFIG_MICREL_KS8995MA=m +CONFIG_PSE_CONTROLLER=y +CONFIG_PSE_REGULATOR=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 @@ -3548,6 +3591,7 @@ CONFIG_MDIO_THUNDER=m # CONFIG_PCS_XPCS=m CONFIG_PCS_LYNX=m +CONFIG_PCS_ALTERA_TSE=m # end of PCS device drivers CONFIG_PLIP=m @@ -3762,7 +3806,6 @@ CONFIG_IWLWIFI_DEBUGFS=y CONFIG_IWLWIFI_DEVICE_TRACING=y # end of Debugging Options -CONFIG_IWLMEI=m CONFIG_WLAN_VENDOR_INTERSIL=y CONFIG_HOSTAP=m CONFIG_HOSTAP_FIRMWARE=y @@ -3833,6 +3876,8 @@ CONFIG_WILC1000=m CONFIG_WILC1000_SDIO=m CONFIG_WILC1000_SPI=m # CONFIG_WILC1000_HW_OOB_INTR is not set +CONFIG_WLAN_VENDOR_PURELIFI=y +CONFIG_PLFXLC=m CONFIG_WLAN_VENDOR_RALINK=y CONFIG_RT2X00=m CONFIG_RT2400PCI=m @@ -3903,7 +3948,9 @@ CONFIG_RTW89=m CONFIG_RTW89_CORE=m CONFIG_RTW89_PCI=m CONFIG_RTW89_8852A=m +CONFIG_RTW89_8852C=m CONFIG_RTW89_8852AE=m +CONFIG_RTW89_8852CE=m CONFIG_RTW89_DEBUG=y CONFIG_RTW89_DEBUGMSG=y CONFIG_RTW89_DEBUGFS=y @@ -3913,6 +3960,8 @@ CONFIG_RSI_DEBUGFS=y CONFIG_RSI_SDIO=m CONFIG_RSI_USB=m CONFIG_RSI_COEX=y +CONFIG_WLAN_VENDOR_SILABS=y +CONFIG_WFX=m CONFIG_WLAN_VENDOR_ST=y CONFIG_CW1200=m CONFIG_CW1200_WLAN_SDIO=m @@ -3942,7 +3991,6 @@ CONFIG_VIRT_WIFI=m CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_AT86RF230=m -# CONFIG_IEEE802154_AT86RF230_DEBUGFS is not set CONFIG_IEEE802154_MRF24J40=m CONFIG_IEEE802154_CC2520=m CONFIG_IEEE802154_ATUSB=m @@ -3962,6 +4010,7 @@ CONFIG_MHI_WWAN_CTRL=m CONFIG_MHI_WWAN_MBIM=m CONFIG_RPMSG_WWAN_CTRL=m CONFIG_IOSM=m +CONFIG_MTK_T7XX=m # end of Wireless WAN CONFIG_XEN_NETDEV_FRONTEND=m @@ -4043,6 +4092,7 @@ CONFIG_KEYBOARD_MCS=m CONFIG_KEYBOARD_MPR121=m CONFIG_KEYBOARD_NEWTON=m CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_PINEPHONE=m CONFIG_KEYBOARD_SAMSUNG=m CONFIG_KEYBOARD_STOWAWAY=m CONFIG_KEYBOARD_SUNKBD=m @@ -4118,6 +4168,7 @@ CONFIG_JOYSTICK_PSXPAD_SPI_FF=y CONFIG_JOYSTICK_PXRC=m CONFIG_JOYSTICK_QWIIC=m CONFIG_JOYSTICK_FSIA6B=m +CONFIG_JOYSTICK_SENSEHAT=m CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m CONFIG_TABLET_USB_AIPTEK=m @@ -4228,6 +4279,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 @@ -4280,9 +4332,11 @@ CONFIG_INPUT_PCAP=m CONFIG_INPUT_ADXL34X=m CONFIG_INPUT_ADXL34X_I2C=m CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_IBM_PANEL=m CONFIG_INPUT_IMS_PCU=m CONFIG_INPUT_IQS269A=m CONFIG_INPUT_IQS626A=m +CONFIG_INPUT_IQS7222=m CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m @@ -4292,6 +4346,7 @@ CONFIG_INPUT_DRV260X_HAPTICS=m CONFIG_INPUT_DRV2665_HAPTICS=m CONFIG_INPUT_DRV2667_HAPTICS=m CONFIG_INPUT_RAVE_SP_PWRBUTTON=m +CONFIG_INPUT_RT5120_PWRKEY=m CONFIG_RMI4_CORE=m CONFIG_RMI4_I2C=m CONFIG_RMI4_SPI=m @@ -4401,6 +4456,7 @@ CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_RP2=m CONFIG_SERIAL_RP2_NR_UARTS=32 CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LINFLEXUART=m CONFIG_SERIAL_MEN_Z135=m CONFIG_SERIAL_SPRD=m @@ -4437,7 +4493,7 @@ CONFIG_IPMI_IPMB=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_IPMB_DEVICE_INTERFACE=m -CONFIG_HW_RANDOM=m +CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_TIMERIOMEM=m CONFIG_HW_RANDOM_INTEL=m CONFIG_HW_RANDOM_AMD=m @@ -4464,12 +4520,13 @@ CONFIG_DEVPORT=y CONFIG_HPET=y # CONFIG_HPET_MMAP is not set CONFIG_HANGCHECK_TIMER=m -CONFIG_TCG_TPM=m +CONFIG_TCG_TPM=y CONFIG_HW_RANDOM_TPM=y -CONFIG_TCG_TIS_CORE=m -CONFIG_TCG_TIS=m +CONFIG_TCG_TIS_CORE=y +CONFIG_TCG_TIS=y 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 @@ -4478,7 +4535,7 @@ CONFIG_TCG_NSC=m CONFIG_TCG_ATMEL=m CONFIG_TCG_INFINEON=m CONFIG_TCG_XEN=m -CONFIG_TCG_CRB=m +CONFIG_TCG_CRB=y CONFIG_TCG_VTPM_PROXY=m CONFIG_TCG_TIS_ST33ZP24=m CONFIG_TCG_TIS_ST33ZP24_I2C=m @@ -4578,6 +4635,7 @@ CONFIG_I2C_DIOLAN_U2C=m CONFIG_I2C_DLN2=m CONFIG_I2C_CP2615=m CONFIG_I2C_PARPORT=m +CONFIG_I2C_PCI1XXXX=m CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m CONFIG_I2C_TINY_USB=m @@ -4627,6 +4685,8 @@ 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_MICROCHIP_CORE_QSPI=m # CONFIG_SPI_LANTIQ_SSC is not set CONFIG_SPI_OC_TINY=m CONFIG_SPI_PXA2XX=m @@ -4691,7 +4751,8 @@ CONFIG_PINMUX=y CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set -CONFIG_PINCTRL_AMD=m +CONFIG_PINCTRL_AMD=y +CONFIG_PINCTRL_CY8C95X0=m CONFIG_PINCTRL_DA9062=m CONFIG_PINCTRL_MCP23S08_I2C=m CONFIG_PINCTRL_MCP23S08_SPI=m @@ -4723,6 +4784,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 @@ -4771,7 +4833,6 @@ CONFIG_GPIO_WS16C48=m # # I2C GPIO expanders # -CONFIG_GPIO_ADP5588=m CONFIG_GPIO_MAX7300=m CONFIG_GPIO_MAX732X=m CONFIG_GPIO_PCA953X=m @@ -4949,6 +5010,7 @@ CONFIG_CHARGER_MAX8997=m CONFIG_CHARGER_MAX8998=m CONFIG_CHARGER_MP2629=m CONFIG_CHARGER_MT6360=m +CONFIG_CHARGER_MT6370=m CONFIG_CHARGER_BQ2415X=m CONFIG_CHARGER_BQ24190=m CONFIG_CHARGER_BQ24257=m @@ -4982,7 +5044,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 @@ -5006,7 +5067,6 @@ CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_FAM15H_POWER=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m -CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_CORSAIR_CPRO=m CONFIG_SENSORS_CORSAIR_PSU=m @@ -5014,7 +5074,7 @@ CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DELL_SMM=m -# CONFIG_I8K is not set +CONFIG_I8K=y CONFIG_SENSORS_DA9052_ADC=m CONFIG_SENSORS_DA9055=m CONFIG_SENSORS_I5K_AMB=m @@ -5058,10 +5118,10 @@ CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m CONFIG_SENSORS_MAX31722=m CONFIG_SENSORS_MAX31730=m +CONFIG_SENSORS_MAX31760=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 @@ -5092,7 +5152,9 @@ CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_NCT6683=m +CONFIG_SENSORS_NCT6775_CORE=m CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT6775_I2C=m CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_NCT7904=m CONFIG_SENSORS_NPCM7XX=m @@ -5118,6 +5180,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 @@ -5141,8 +5204,10 @@ CONFIG_SENSORS_Q54SJ108A2=m CONFIG_SENSORS_STPDDC60=m CONFIG_SENSORS_TPS40422=m CONFIG_SENSORS_TPS53679=m +CONFIG_SENSORS_TPS546D24=m CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_XDPE152=m CONFIG_SENSORS_XDPE122=m CONFIG_SENSORS_XDPE122_REGULATOR=y CONFIG_SENSORS_ZL6100=m @@ -5158,6 +5223,7 @@ CONFIG_SENSORS_SY7636A=m CONFIG_SENSORS_DME1737=m CONFIG_SENSORS_EMC1403=m CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC2305=m CONFIG_SENSORS_EMC6W201=m CONFIG_SENSORS_SMSC47M1=m CONFIG_SENSORS_SMSC47M192=m @@ -5301,6 +5367,7 @@ CONFIG_ADVANTECH_WDT=m CONFIG_ALIM1535_WDT=m CONFIG_ALIM7101_WDT=m CONFIG_EBC_C384_WDT=m +CONFIG_EXAR_WDT=m CONFIG_F71808E_WDT=m CONFIG_SP5100_TCO=m CONFIG_SBC_FITPC2_WATCHDOG=m @@ -5434,8 +5501,10 @@ CONFIG_MFD_MAX8925=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y CONFIG_MFD_MT6360=m +CONFIG_MFD_MT6370=m CONFIG_MFD_MT6397=m CONFIG_MFD_MENF21BMC=m +CONFIG_MFD_OCELOT=m CONFIG_EZX_PCAP=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_RETU=m @@ -5443,9 +5512,11 @@ CONFIG_MFD_PCF50633=m CONFIG_PCF50633_ADC=m CONFIG_PCF50633_GPIO=m CONFIG_UCB1400_CORE=m +CONFIG_MFD_SY7636A=m CONFIG_MFD_RDC321X=m CONFIG_MFD_RT4831=m CONFIG_MFD_RT5033=m +CONFIG_MFD_RT5120=m CONFIG_MFD_RC5T583=y CONFIG_MFD_SI476X_CORE=m CONFIG_MFD_SIMPLE_MFD_I2C=m @@ -5553,9 +5624,12 @@ CONFIG_REGULATOR_MC13892=m CONFIG_REGULATOR_MP8859=m CONFIG_REGULATOR_MT6311=m CONFIG_REGULATOR_MT6323=m +CONFIG_REGULATOR_MT6331=m +CONFIG_REGULATOR_MT6332=m CONFIG_REGULATOR_MT6358=m CONFIG_REGULATOR_MT6359=m CONFIG_REGULATOR_MT6360=m +CONFIG_REGULATOR_MT6370=m CONFIG_REGULATOR_MT6397=m CONFIG_REGULATOR_PALMAS=m CONFIG_REGULATOR_PCA9450=m @@ -5569,7 +5643,9 @@ CONFIG_REGULATOR_RC5T583=m CONFIG_REGULATOR_RT4801=m CONFIG_REGULATOR_RT4831=m CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_RT5120=m CONFIG_REGULATOR_RT5190A=m +CONFIG_REGULATOR_RT5759=m CONFIG_REGULATOR_RT6160=m CONFIG_REGULATOR_RT6245=m CONFIG_REGULATOR_RTQ2134=m @@ -5632,7 +5708,7 @@ CONFIG_IR_WINBOND_CIR=m CONFIG_RC_ATI_REMOTE=m CONFIG_RC_LOOPBACK=m CONFIG_RC_XBOX_DVD=m -CONFIG_CEC_CORE=y +CONFIG_CEC_CORE=m CONFIG_CEC_NOTIFIER=y CONFIG_CEC_PIN=y @@ -5722,7 +5798,6 @@ CONFIG_MEDIA_USB_SUPPORT=y # # Webcam devices # -CONFIG_VIDEO_CPIA2=m CONFIG_USB_GSPCA=m CONFIG_USB_GSPCA_BENQ=m CONFIG_USB_GSPCA_CONEX=m @@ -5777,11 +5852,9 @@ 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 -CONFIG_USB_ZR364XX=m # # Analog TV USB devices @@ -5808,9 +5881,6 @@ CONFIG_VIDEO_CX231XX=m CONFIG_VIDEO_CX231XX_RC=y CONFIG_VIDEO_CX231XX_ALSA=m CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_VIDEO_TM6000=m -CONFIG_VIDEO_TM6000_ALSA=m -CONFIG_VIDEO_TM6000_DVB=m # # Digital TV USB devices @@ -5877,11 +5947,11 @@ CONFIG_MEDIA_PCI_SUPPORT=y # # Media capture support # -CONFIG_VIDEO_MEYE=m CONFIG_VIDEO_SOLO6X10=m CONFIG_VIDEO_TW5864=m CONFIG_VIDEO_TW68=m CONFIG_VIDEO_TW686X=m +# CONFIG_VIDEO_ZORAN is not set # # Media capture/analog TV support @@ -5890,9 +5960,6 @@ CONFIG_VIDEO_DT3155=m CONFIG_VIDEO_IVTV=m CONFIG_VIDEO_IVTV_ALSA=m # CONFIG_VIDEO_FB_IVTV is not set -CONFIG_VIDEO_HEXIUM_GEMINI=m -CONFIG_VIDEO_HEXIUM_ORION=m -CONFIG_VIDEO_MXB=m # # Media capture/analog/hybrid TV support @@ -5936,10 +6003,6 @@ CONFIG_DVB_PLUTO2=m CONFIG_DVB_PT1=m CONFIG_DVB_PT3=m CONFIG_DVB_SMIPCIE=m -CONFIG_DVB_BUDGET_CORE=m -CONFIG_DVB_BUDGET=m -CONFIG_DVB_BUDGET_CI=m -CONFIG_DVB_BUDGET_AV=m CONFIG_VIDEO_IPU3_CIO2=m CONFIG_CIO2_BRIDGE=y CONFIG_RADIO_ADAPTERS=m @@ -6052,6 +6115,10 @@ CONFIG_VIDEO_CAFE_CCIC=m # # +# Verisilicon media platform drivers +# + +# # VIA media platform drivers # @@ -6088,8 +6155,6 @@ CONFIG_TTPCI_EEPROM=m CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m CONFIG_DVB_B2C2_FLEXCOP=m -CONFIG_VIDEO_SAA7146=m -CONFIG_VIDEO_SAA7146_VV=m CONFIG_SMS_SIANO_MDTV=m CONFIG_SMS_SIANO_RC=y # CONFIG_SMS_SIANO_DEBUGFS is not set @@ -6120,6 +6185,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 @@ -6211,9 +6277,6 @@ CONFIG_VIDEO_CS53L32A=m CONFIG_VIDEO_MSP3400=m CONFIG_VIDEO_SONY_BTF_MPX=m CONFIG_VIDEO_TDA7432=m -CONFIG_VIDEO_TDA9840=m -CONFIG_VIDEO_TEA6415C=m -CONFIG_VIDEO_TEA6420=m CONFIG_VIDEO_TVAUDIO=m CONFIG_VIDEO_UDA1342=m CONFIG_VIDEO_VP27SMPX=m @@ -6336,13 +6399,10 @@ CONFIG_DVB_STV6110=m CONFIG_DVB_TDA10071=m CONFIG_DVB_TDA10086=m CONFIG_DVB_TDA8083=m -CONFIG_DVB_TDA8261=m CONFIG_DVB_TDA826X=m CONFIG_DVB_TS2020=m -CONFIG_DVB_TUA6100=m CONFIG_DVB_TUNER_CX24113=m CONFIG_DVB_TUNER_ITD1000=m -CONFIG_DVB_VES1X93=m CONFIG_DVB_ZL10036=m CONFIG_DVB_ZL10039=m @@ -6362,7 +6422,6 @@ CONFIG_DVB_DIB7000P=m CONFIG_DVB_DRXD=m CONFIG_DVB_EC100=m CONFIG_DVB_GP8PSK_FE=m -CONFIG_DVB_L64781=m CONFIG_DVB_MT352=m CONFIG_DVB_NXT6000=m CONFIG_DVB_RTL2830=m @@ -6456,6 +6515,7 @@ CONFIG_DVB_DUMMY_FE=m # # Graphics support # +CONFIG_APERTURE_HELPERS=y CONFIG_AGP=y CONFIG_AGP_AMD64=m CONFIG_AGP_INTEL=m @@ -6466,20 +6526,23 @@ CONFIG_VGA_SWITCHEROO=y CONFIG_DRM=y CONFIG_DRM_MIPI_DBI=m CONFIG_DRM_MIPI_DSI=y -CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DEBUG_MM is not set -# CONFIG_DRM_DEBUG_SELFTEST is not set -CONFIG_DRM_DP_HELPER=m +CONFIG_DRM_USE_DYNAMIC_DEBUG=y CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_DISPLAY_HELPER=m +CONFIG_DRM_DISPLAY_DP_HELPER=y +CONFIG_DRM_DISPLAY_HDCP_HELPER=y +CONFIG_DRM_DISPLAY_HDMI_HELPER=y +CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DP_CEC=y CONFIG_DRM_TTM=m CONFIG_DRM_BUDDY=m CONFIG_DRM_VRAM_HELPER=m CONFIG_DRM_TTM_HELPER=m -CONFIG_DRM_GEM_CMA_HELPER=m +CONFIG_DRM_GEM_DMA_HELPER=m CONFIG_DRM_GEM_SHMEM_HELPER=y CONFIG_DRM_SCHED=m @@ -6597,6 +6660,7 @@ CONFIG_DRM_VBOXVIDEO=m CONFIG_DRM_GUD=m CONFIG_DRM_SSD130X=m CONFIG_DRM_SSD130X_I2C=m +CONFIG_DRM_SSD130X_SPI=m CONFIG_DRM_HYPERV=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y @@ -6610,7 +6674,6 @@ CONFIG_FB_CMDLINE=y CONFIG_FB_NOTIFY=y CONFIG_FB=y # CONFIG_FIRMWARE_EDID is not set -CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y @@ -6697,6 +6760,7 @@ CONFIG_BACKLIGHT_PWM=m CONFIG_BACKLIGHT_DA903X=m CONFIG_BACKLIGHT_DA9052=m CONFIG_BACKLIGHT_MAX8925=m +CONFIG_BACKLIGHT_MT6370=m CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_QCOM_WLED=m CONFIG_BACKLIGHT_RT4831=m @@ -6769,10 +6833,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 @@ -6889,6 +6955,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 @@ -6962,6 +7029,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 @@ -6977,9 +7045,13 @@ 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_SOC_AMD_PS=m +CONFIG_SND_SOC_AMD_PS_MACH=m CONFIG_SND_ATMEL_SOC=m # CONFIG_SND_BCM63XX_I2S_WHISTLER is not set CONFIG_SND_DESIGNWARE_I2S=m @@ -7033,6 +7105,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 @@ -7091,9 +7185,12 @@ CONFIG_SND_SOC_SOF_DEBUG_PROBES=m CONFIG_SND_SOC_SOF_CLIENT=m 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 +CONFIG_SND_SOC_SOF_AMD_REMBRANDT=m CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m @@ -7101,6 +7198,8 @@ CONFIG_SND_SOC_SOF_INTEL_COMMON=m CONFIG_SND_SOC_SOF_BAYTRAIL=m # CONFIG_SND_SOC_SOF_BROADWELL is not set CONFIG_SND_SOC_SOF_MERRIFIELD=m +# CONFIG_SND_SOC_SOF_SKYLAKE is not set +# CONFIG_SND_SOC_SOF_KABYLAKE is not set CONFIG_SND_SOC_SOF_INTEL_APL=m CONFIG_SND_SOC_SOF_APOLLOLAKE=m CONFIG_SND_SOC_SOF_GEMINILAKE=m @@ -7115,12 +7214,14 @@ 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 CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m CONFIG_SND_SOC_SOF_HDA=m -CONFIG_SND_SOC_SOF_HDA_PROBES=y +CONFIG_SND_SOC_SOF_HDA_PROBES=m CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m CONFIG_SND_SOC_SOF_XTENSA=m @@ -7178,12 +7279,18 @@ CONFIG_SND_SOC_CS35L41_LIB=m CONFIG_SND_SOC_CS35L41=m CONFIG_SND_SOC_CS35L41_SPI=m CONFIG_SND_SOC_CS35L41_I2C=m +CONFIG_SND_SOC_CS35L45_TABLES=m +CONFIG_SND_SOC_CS35L45=m +CONFIG_SND_SOC_CS35L45_SPI=m +CONFIG_SND_SOC_CS35L45_I2C=m +CONFIG_SND_SOC_CS42L42_CORE=m CONFIG_SND_SOC_CS42L42=m CONFIG_SND_SOC_CS42L51=m CONFIG_SND_SOC_CS42L51_I2C=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CS42L83=m CONFIG_SND_SOC_CS4234=m CONFIG_SND_SOC_CS4265=m CONFIG_SND_SOC_CS4270=m @@ -7204,12 +7311,14 @@ CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ES7134=m CONFIG_SND_SOC_ES7241=m CONFIG_SND_SOC_ES8316=m +CONFIG_SND_SOC_ES8326=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_I2C=m 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 @@ -7223,6 +7332,7 @@ CONFIG_SND_SOC_MAX98373=m CONFIG_SND_SOC_MAX98373_I2C=m CONFIG_SND_SOC_MAX98373_SDW=m CONFIG_SND_SOC_MAX98390=m +CONFIG_SND_SOC_MAX98396=m CONFIG_SND_SOC_MAX9860=m CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m CONFIG_SND_SOC_PCM1681=m @@ -7247,6 +7357,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 @@ -7291,6 +7402,8 @@ CONFIG_SND_SOC_SIGMADSP_REGMAP=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m CONFIG_SND_SOC_SIMPLE_MUX=m CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SRC4XXX_I2C=m +CONFIG_SND_SOC_SRC4XXX=m CONFIG_SND_SOC_SSM2305=m CONFIG_SND_SOC_SSM2518=m CONFIG_SND_SOC_SSM2602=m @@ -7304,6 +7417,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 @@ -7341,6 +7455,8 @@ CONFIG_SND_SOC_WM8580=m CONFIG_SND_SOC_WM8711=m CONFIG_SND_SOC_WM8728=m CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8731_I2C=m +CONFIG_SND_SOC_WM8731_SPI=m CONFIG_SND_SOC_WM8737=m CONFIG_SND_SOC_WM8741=m CONFIG_SND_SOC_WM8750=m @@ -7353,12 +7469,14 @@ CONFIG_SND_SOC_WM8804_I2C=m CONFIG_SND_SOC_WM8804_SPI=m CONFIG_SND_SOC_WM8903=m CONFIG_SND_SOC_WM8904=m +CONFIG_SND_SOC_WM8940=m CONFIG_SND_SOC_WM8960=m CONFIG_SND_SOC_WM8962=m CONFIG_SND_SOC_WM8974=m CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m CONFIG_SND_SOC_WSA881X=m +CONFIG_SND_SOC_WSA883X=m CONFIG_SND_SOC_ZL38060=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MT6351=m @@ -7443,6 +7561,7 @@ CONFIG_HID_KYE=m CONFIG_HID_UCLOGIC=m CONFIG_HID_WALTOP=m CONFIG_HID_VIEWSONIC=m +CONFIG_HID_VRC2=m CONFIG_HID_XIAOMI=m CONFIG_HID_GYRATION=m CONFIG_HID_ICADE=m @@ -7464,6 +7583,7 @@ CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=m CONFIG_HID_MALTRON=m CONFIG_HID_MAYFLASH=m +CONFIG_HID_MEGAWORLD_FF=m CONFIG_HID_REDRAGON=m CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m @@ -7486,6 +7606,7 @@ CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m CONFIG_HID_PLAYSTATION=m CONFIG_PLAYSTATION_FF=y +CONFIG_HID_PXRC=m CONFIG_HID_RAZER=m CONFIG_HID_PRIMAX=m CONFIG_HID_RETRODE=m @@ -7508,6 +7629,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 @@ -7945,13 +8067,16 @@ CONFIG_TYPEC_TCPM=m CONFIG_TYPEC_TCPCI=m CONFIG_TYPEC_RT1711H=m CONFIG_TYPEC_MT6360=m +CONFIG_TYPEC_TCPCI_MT6370=m CONFIG_TYPEC_TCPCI_MAXIM=m CONFIG_TYPEC_FUSB302=m 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 @@ -7960,6 +8085,7 @@ CONFIG_TYPEC_WUSB3801=m # # USB Type-C Multiplexer/DeMultiplexer Switch support # +CONFIG_TYPEC_MUX_FSA4480=m CONFIG_TYPEC_MUX_PI3USB30532=m CONFIG_TYPEC_MUX_INTEL_PMC=m # end of USB Type-C Multiplexer/DeMultiplexer Switch support @@ -8008,6 +8134,16 @@ CONFIG_MMC_HSQ=m CONFIG_MMC_TOSHIBA_PCI=m CONFIG_MMC_MTK=m CONFIG_MMC_SDHCI_XENON=m +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_UFS_BSG=y +CONFIG_SCSI_UFS_CRYPTO=y +CONFIG_SCSI_UFS_HPB=y +CONFIG_SCSI_UFS_HWMON=y +CONFIG_SCSI_UFSHCD_PCI=m +# CONFIG_SCSI_UFS_DWC_TC_PCI is not set +CONFIG_SCSI_UFSHCD_PLATFORM=m +CONFIG_SCSI_UFS_CDNS_PLATFORM=m +# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set CONFIG_MEMSTICK=m # CONFIG_MEMSTICK_DEBUG is not set @@ -8049,7 +8185,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 @@ -8070,6 +8205,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) @@ -8092,6 +8228,11 @@ CONFIG_LEDS_RT8515=m CONFIG_LEDS_SGM3140=m # +# RGB LED drivers +# +CONFIG_LEDS_PWM_MULTICOLOR=m + +# # LED Triggers # CONFIG_LEDS_TRIGGERS=y @@ -8149,23 +8290,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 @@ -8429,8 +8571,10 @@ CONFIG_VMGENID=y CONFIG_VBOXGUEST=m CONFIG_NITRO_ENCLAVES=m CONFIG_ACRN_HSM=m +CONFIG_EFI_SECRET=m +CONFIG_SEV_GUEST=m +CONFIG_VIRTIO_ANCHOR=y CONFIG_VIRTIO=y -CONFIG_ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS=y CONFIG_VIRTIO_PCI_LIB=m CONFIG_VIRTIO_PCI_LIB_LEGACY=m CONFIG_VIRTIO_MENU=y @@ -8507,6 +8651,9 @@ CONFIG_XEN_SYMS=y CONFIG_XEN_HAVE_VPMU=y CONFIG_XEN_FRONT_PGDIR_SHBUF=m CONFIG_XEN_UNPOPULATED_ALLOC=y +CONFIG_XEN_GRANT_DMA_OPS=y +CONFIG_XEN_VIRTIO=y +# CONFIG_XEN_VIRTIO_FORCE_GRANT is not set # end of Xen driver support # CONFIG_GREYBUS is not set @@ -8552,12 +8699,6 @@ CONFIG_ADT7316_I2C=m # end of Analog digital bi-direction converters # -# Capacitance to digital converters -# -CONFIG_AD7746=m -# end of Capacitance to digital converters - -# # Direct Digital Synthesis # CONFIG_AD9832=m @@ -8598,21 +8739,9 @@ 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_STAGING_MEDIA_DEPRECATED is not set CONFIG_LTE_GDM724X=m -CONFIG_FIREWIRE_SERIAL=m -CONFIG_FWTTY_MAX_TOTAL_PORTS=64 -CONFIG_FWTTY_MAX_CARD_PORTS=32 -CONFIG_UNISYSSPAR=y -CONFIG_UNISYS_VISORNIC=m -CONFIG_UNISYS_VISORINPUT=m -CONFIG_UNISYS_VISORHBA=m # CONFIG_FB_TFT is not set CONFIG_MOST_COMPONENTS=m CONFIG_MOST_NET=m @@ -8622,7 +8751,54 @@ CONFIG_KS7010=m CONFIG_PI433=m CONFIG_FIELDBUS_DEV=m CONFIG_QLGE=m -CONFIG_WFX=m +# 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_CROS_TYPEC_SWITCH=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 @@ -8636,6 +8812,7 @@ CONFIG_YOGABOOK_WMI=m CONFIG_ACERHDF=m CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m +CONFIG_AMD_PMF=m CONFIG_AMD_PMC=m CONFIG_AMD_HSMP=m CONFIG_ADV_SWBUTTON=m @@ -8753,49 +8930,8 @@ CONFIG_INTEL_SCU_PCI=y CONFIG_INTEL_SCU_PLATFORM=m CONFIG_INTEL_SCU_IPC_UTIL=m CONFIG_SIEMENS_SIMATIC_IPC=m -CONFIG_PMC_ATOM=y -CONFIG_CHROME_PLATFORMS=y -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_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_WINMATE_FM07_KEYS=m +CONFIG_P2SB=y CONFIG_HAVE_CLK=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -8903,6 +9039,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 @@ -9010,6 +9151,7 @@ CONFIG_BMI088_ACCEL=m CONFIG_BMI088_ACCEL_SPI=m CONFIG_DA280=m CONFIG_DA311=m +CONFIG_DMARD06=m CONFIG_DMARD09=m CONFIG_DMARD10=m CONFIG_FXLS8962AF=m @@ -9033,6 +9175,7 @@ CONFIG_MMA8452=m CONFIG_MMA9551_CORE=m CONFIG_MMA9551=m CONFIG_MMA9553=m +CONFIG_MSA311=m CONFIG_MXC4005=m CONFIG_MXC6255=m CONFIG_SCA3000=m @@ -9071,6 +9214,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 @@ -9083,6 +9227,7 @@ CONFIG_LTC2497=m CONFIG_MAX1027=m CONFIG_MAX11100=m CONFIG_MAX1118=m +CONFIG_MAX11205=m CONFIG_MAX1241=m CONFIG_MAX1363=m CONFIG_MAX9611=m @@ -9094,6 +9239,8 @@ CONFIG_MEN_Z188_ADC=m CONFIG_MP2629_ADC=m CONFIG_NAU7802=m CONFIG_PALMAS_GPADC=m +CONFIG_RICHTEK_RTQ6056=m +CONFIG_SD_ADC_MODULATOR=m CONFIG_TI_ADC081C=m CONFIG_TI_ADC0832=m CONFIG_TI_ADC084S021=m @@ -9112,6 +9259,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 @@ -9125,6 +9273,7 @@ CONFIG_AD74413R=m # # Analog Front Ends # +CONFIG_IIO_RESCALE=m # end of Analog Front Ends # @@ -9139,6 +9288,7 @@ CONFIG_HMC425=m # Capacitance to digital converters # CONFIG_AD7150=m +CONFIG_AD7746=m # end of Capacitance to digital converters # @@ -9223,6 +9373,7 @@ CONFIG_AD5791=m CONFIG_AD7293=m CONFIG_AD7303=m CONFIG_AD8801=m +CONFIG_DPOT_DAC=m CONFIG_DS4424=m CONFIG_LTC1660=m CONFIG_LTC2632=m @@ -9235,6 +9386,7 @@ CONFIG_TI_DAC082S085=m CONFIG_TI_DAC5571=m CONFIG_TI_DAC7311=m CONFIG_TI_DAC7612=m +CONFIG_VF610_DAC=m # end of Digital to analog converters # @@ -9335,6 +9487,9 @@ CONFIG_ADIS16480=m CONFIG_BMI160=m CONFIG_BMI160_I2C=m CONFIG_BMI160_SPI=m +CONFIG_BOSCH_BNO055=m +CONFIG_BOSCH_BNO055_SERIAL=m +CONFIG_BOSCH_BNO055_I2C=m CONFIG_FXOS8700=m CONFIG_FXOS8700_I2C=m CONFIG_FXOS8700_SPI=m @@ -9372,6 +9527,7 @@ CONFIG_BH1780=m CONFIG_CM32181=m CONFIG_CM3232=m CONFIG_CM3323=m +CONFIG_CM3605=m CONFIG_CM36651=m CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_GP2AP002=m @@ -9386,6 +9542,7 @@ CONFIG_JSA1212=m CONFIG_RPR0521=m CONFIG_SENSORS_LM3533=m CONFIG_LTR501=m +CONFIG_LTRF216A=m CONFIG_LV0104CS=m CONFIG_MAX44000=m CONFIG_MAX44009=m @@ -9417,6 +9574,7 @@ CONFIG_ZOPT2201=m # # Magnetometer sensors # +CONFIG_AK8974=m CONFIG_AK8975=m CONFIG_AK09911=m CONFIG_BMC150_MAGN=m @@ -9440,6 +9598,7 @@ CONFIG_YAMAHA_YAS530=m # # Multiplexers # +CONFIG_IIO_MUX=m # end of Multiplexers # @@ -9581,10 +9740,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 @@ -9608,6 +9767,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 @@ -9655,7 +9815,7 @@ CONFIG_USB4=m # # Android # -# CONFIG_ANDROID is not set +# CONFIG_ANDROID_BINDER_IPC is not set # end of Android CONFIG_LIBNVDIMM=y @@ -9674,7 +9834,7 @@ CONFIG_DEV_DAX_HMEM_DEVICES=y CONFIG_DEV_DAX_KMEM=m CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y -CONFIG_RAVE_SP_EEPROM=m +CONFIG_NVMEM_RAVE_SP_EEPROM=m CONFIG_NVMEM_RMEM=m # @@ -9715,14 +9875,10 @@ 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=m - -# -# TEE drivers -# CONFIG_AMDTEE=m -# end of TEE drivers - CONFIG_MULTIPLEXER=m # @@ -9734,7 +9890,6 @@ CONFIG_MUX_GPIO=m # end of Multiplexer drivers CONFIG_PM_OPP=y -CONFIG_UNISYS_VISORBUS=m CONFIG_SIOX=m CONFIG_SIOX_BUS_GPIO=m CONFIG_SLIMBUS=m @@ -9748,6 +9903,7 @@ CONFIG_MOST_USB_HDM=m CONFIG_MOST_CDEV=m CONFIG_MOST_SND=m # CONFIG_PECI is not set +CONFIG_HTE=y # end of Device Drivers # @@ -9867,6 +10023,7 @@ CONFIG_FSCACHE_STATS=y CONFIG_CACHEFILES=m # CONFIG_CACHEFILES_DEBUG is not set # CONFIG_CACHEFILES_ERROR_INJECTION is not set +CONFIG_CACHEFILES_ONDEMAND=y # end of Caches # @@ -9916,8 +10073,9 @@ CONFIG_TMPFS_XATTR=y CONFIG_TMPFS_INODE64=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y -CONFIG_HUGETLB_PAGE_FREE_VMEMMAP=y -CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON=y +CONFIG_ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y +CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y +# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=y @@ -10020,6 +10178,7 @@ CONFIG_EROFS_FS_POSIX_ACL=y CONFIG_EROFS_FS_SECURITY=y CONFIG_EROFS_FS_ZIP=y CONFIG_EROFS_FS_ZIP_LZMA=y +CONFIG_EROFS_FS_ONDEMAND=y CONFIG_VBOXSF_FS=m CONFIG_NETWORK_FILESYSTEMS=y CONFIG_NFS_FS=m @@ -10149,6 +10308,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 @@ -10162,6 +10322,8 @@ CONFIG_KEYS=y CONFIG_KEYS_REQUEST_CACHE=y CONFIG_PERSISTENT_KEYRINGS=y CONFIG_TRUSTED_KEYS=m +CONFIG_TRUSTED_KEYS_TPM=y +CONFIG_TRUSTED_KEYS_TEE=y CONFIG_ENCRYPTED_KEYS=m # CONFIG_USER_DECRYPTED_DATA is not set CONFIG_KEY_DH_OPERATIONS=y @@ -10199,9 +10361,12 @@ CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/usr/bin/tomoyo-init" CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd" # 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 @@ -10239,6 +10404,7 @@ CONFIG_LSM="landlock,lockdown,yama,integrity,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 @@ -10249,6 +10415,10 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y # CONFIG_ZERO_CALL_USED_REGS is not set # end of Memory initialization + +CONFIG_RANDSTRUCT_NONE=y +# CONFIG_RANDSTRUCT_FULL is not set +# CONFIG_RANDSTRUCT_PERFORMANCE is not set # end of Kernel hardening options # end of Security options @@ -10292,6 +10462,7 @@ CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_SIMD=m CONFIG_CRYPTO_ENGINE=m +# end of Crypto core or helper # # Public-key cryptography @@ -10305,115 +10476,95 @@ CONFIG_CRYPTO_ECDSA=y CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m -CONFIG_CRYPTO_CURVE25519_X86=m +# end of Public-key cryptography # -# Authenticated Encryption with Associated Data +# Block ciphers # -CONFIG_CRYPTO_CCM=m -CONFIG_CRYPTO_GCM=m -CONFIG_CRYPTO_CHACHA20POLY1305=m -CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m -CONFIG_CRYPTO_SEQIV=m -CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_TI=m +CONFIG_CRYPTO_ARIA=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST_COMMON=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +# end of Block ciphers # -# Block modes +# Length-preserving ciphers and modes # +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_CBC=m CONFIG_CRYPTO_CFB=m CONFIG_CRYPTO_CTR=y CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_ECB=m +CONFIG_CRYPTO_HCTR2=m +CONFIG_CRYPTO_KEYWRAP=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_ESSIV=m +# end of Length-preserving ciphers and modes # -# Hash modes +# AEAD (authenticated encryption with associated data) ciphers # -CONFIG_CRYPTO_CMAC=m -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_XCBC=m -CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_GCM=m +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_ESSIV=m +# end of AEAD (authenticated encryption with associated data) ciphers # -# Digest +# Hashes, digests, and MACs # -CONFIG_CRYPTO_CRC32C=m -CONFIG_CRYPTO_CRC32C_INTEL=m -CONFIG_CRYPTO_CRC32=m -CONFIG_CRYPTO_CRC32_PCLMUL=m -CONFIG_CRYPTO_XXHASH=m CONFIG_CRYPTO_BLAKE2B=m -CONFIG_CRYPTO_BLAKE2S=m -CONFIG_CRYPTO_BLAKE2S_X86=m -CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m -CONFIG_CRYPTO_CRC64_ROCKSOFT=y +CONFIG_CRYPTO_CMAC=m CONFIG_CRYPTO_GHASH=m -CONFIG_CRYPTO_POLY1305=m -CONFIG_CRYPTO_POLY1305_X86_64=m +CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_POLYVAL=m +CONFIG_CRYPTO_POLY1305=m CONFIG_CRYPTO_RMD160=m CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA1_SSSE3=m -CONFIG_CRYPTO_SHA256_SSSE3=m -CONFIG_CRYPTO_SHA512_SSSE3=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SM3=m -CONFIG_CRYPTO_SM3_AVX_X86_64=m +CONFIG_CRYPTO_SM3_GENERIC=m CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_VMAC=m CONFIG_CRYPTO_WP512=m -CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XXHASH=m +# end of Hashes, digests, and MACs # -# Ciphers +# CRCs (cyclic redundancy checks) # -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_AES_NI_INTEL=m -CONFIG_CRYPTO_BLOWFISH=m -CONFIG_CRYPTO_BLOWFISH_COMMON=m -CONFIG_CRYPTO_BLOWFISH_X86_64=m -CONFIG_CRYPTO_CAMELLIA=m -CONFIG_CRYPTO_CAMELLIA_X86_64=m -CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m -CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m -CONFIG_CRYPTO_CAST_COMMON=m -CONFIG_CRYPTO_CAST5=m -CONFIG_CRYPTO_CAST5_AVX_X86_64=m -CONFIG_CRYPTO_CAST6=m -CONFIG_CRYPTO_CAST6_AVX_X86_64=m -CONFIG_CRYPTO_DES=m -CONFIG_CRYPTO_DES3_EDE_X86_64=m -CONFIG_CRYPTO_FCRYPT=m -CONFIG_CRYPTO_CHACHA20=m -CONFIG_CRYPTO_CHACHA20_X86_64=m -CONFIG_CRYPTO_SERPENT=m -CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m -CONFIG_CRYPTO_SERPENT_AVX_X86_64=m -CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m -CONFIG_CRYPTO_SM4=m -CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=m -CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=m -CONFIG_CRYPTO_TWOFISH=m -CONFIG_CRYPTO_TWOFISH_COMMON=m -CONFIG_CRYPTO_TWOFISH_X86_64=m -CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m -CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRC64_ROCKSOFT=y +# end of CRCs (cyclic redundancy checks) # # Compression @@ -10424,9 +10575,10 @@ CONFIG_CRYPTO_842=m CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_LZ4HC=m CONFIG_CRYPTO_ZSTD=y +# end of Compression # -# Random Number Generation +# Random number generation # CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_DRBG_MENU=y @@ -10436,6 +10588,11 @@ CONFIG_CRYPTO_DRBG_CTR=y CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y CONFIG_CRYPTO_KDF800108_CTR=y +# end of Random number generation + +# +# Userspace interface +# CONFIG_CRYPTO_USER_API=m CONFIG_CRYPTO_USER_API_HASH=m CONFIG_CRYPTO_USER_API_SKCIPHER=m @@ -10444,7 +10601,48 @@ CONFIG_CRYPTO_USER_API_RNG=m CONFIG_CRYPTO_USER_API_AEAD=m # CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set CONFIG_CRYPTO_STATS=y +# end of Userspace interface + CONFIG_CRYPTO_HASH_INFO=y + +# +# Accelerated Cryptographic Algorithms for CPU (x86) +# +CONFIG_CRYPTO_CURVE25519_X86=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_CAMELLIA_X86_64=m +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m +CONFIG_CRYPTO_CAST5_AVX_X86_64=m +CONFIG_CRYPTO_CAST6_AVX_X86_64=m +CONFIG_CRYPTO_DES3_EDE_X86_64=m +CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m +CONFIG_CRYPTO_SERPENT_AVX_X86_64=m +CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m +CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m +CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m +CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_CHACHA20_X86_64=m +CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m +CONFIG_CRYPTO_NHPOLY1305_SSE2=m +CONFIG_CRYPTO_NHPOLY1305_AVX2=m +CONFIG_CRYPTO_BLAKE2S_X86=y +CONFIG_CRYPTO_POLYVAL_CLMUL_NI=m +CONFIG_CRYPTO_POLY1305_X86_64=m +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256_SSSE3=m +CONFIG_CRYPTO_SHA512_SSSE3=m +CONFIG_CRYPTO_SM3_AVX_X86_64=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +CONFIG_CRYPTO_CRC32C_INTEL=m +CONFIG_CRYPTO_CRC32_PCLMUL=m +CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m +# end of Accelerated Cryptographic Algorithms for CPU (x86) + CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m @@ -10480,6 +10678,7 @@ CONFIG_PKCS8_PRIVATE_KEY_PARSER=m CONFIG_PKCS7_MESSAGE_PARSER=y # CONFIG_PKCS7_TEST_KEY is not set CONFIG_SIGNED_PE_FILE_VERIFICATION=y +# CONFIG_FIPS_SIGNATURE_SELFTEST is not set # # Certificates for signature checking @@ -10495,6 +10694,7 @@ CONFIG_SYSTEM_BLACKLIST_KEYRING=y CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" CONFIG_SYSTEM_REVOCATION_LIST=y CONFIG_SYSTEM_REVOCATION_KEYS="" +CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE=y # end of Certificates for signature checking CONFIG_BINARY_PRINTF=y @@ -10522,6 +10722,7 @@ CONFIG_ARCH_USE_SYM_ANNOTATIONS=y # # Crypto library routines # +CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=m CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y @@ -10538,12 +10739,10 @@ 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 -CONFIG_CRYPTO_LIB_SM3=m -CONFIG_CRYPTO_LIB_SM4=m # end of Crypto library routines -CONFIG_LIB_MEMNEQ=y CONFIG_CRC_CCITT=y CONFIG_CRC16=m CONFIG_CRC_T10DIF=y @@ -10571,6 +10770,7 @@ CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_COMPRESS=y CONFIG_LZ4HC_COMPRESS=m CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMMON=y CONFIG_ZSTD_COMPRESS=y CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y @@ -10629,6 +10829,7 @@ CONFIG_CMA_ALIGNMENT=8 # CONFIG_DMA_MAP_BENCHMARK is not set CONFIG_SGL_ALLOC=y CONFIG_CHECK_SIGNATURE=y +# CONFIG_FORCE_NR_CPUS is not set CONFIG_CPU_RMAP=y CONFIG_DQL=y CONFIG_GLOB=y @@ -10666,6 +10867,7 @@ CONFIG_MEMREGION=y CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y CONFIG_ARCH_HAS_COPY_MC=y CONFIG_ARCH_STACKWALK=y +CONFIG_STACKDEPOT=y CONFIG_SBITMAP=y CONFIG_PARMAN=m CONFIG_OBJAGG=m @@ -10673,6 +10875,7 @@ CONFIG_OBJAGG=m CONFIG_PLDMFW=y CONFIG_ASN1_ENCODER=m +CONFIG_POLYNOMIAL=m # # Kernel hacking @@ -10701,6 +10904,7 @@ CONFIG_DEBUG_KERNEL=y # Compile-time checks and compiler options # CONFIG_DEBUG_INFO=y +CONFIG_AS_HAS_NON_CONST_LEB128=y # CONFIG_DEBUG_INFO_NONE is not set # CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set # CONFIG_DEBUG_INFO_DWARF4 is not set @@ -10708,6 +10912,10 @@ CONFIG_DEBUG_INFO_DWARF5=y # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_COMPRESSED is not set # CONFIG_DEBUG_INFO_SPLIT is not set +CONFIG_DEBUG_INFO_BTF=y +CONFIG_PAHOLE_HAS_SPLIT_BTF=y +CONFIG_DEBUG_INFO_BTF_MODULES=y +# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set # CONFIG_GDB_SCRIPTS is not set CONFIG_FRAME_WARN=2048 CONFIG_STRIP_ASM_SYMS=y @@ -10715,7 +10923,7 @@ CONFIG_STRIP_ASM_SYMS=y # CONFIG_HEADERS_INSTALL is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y -CONFIG_STACK_VALIDATION=y +CONFIG_OBJTOOL=y # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # end of Compile-time checks and compiler options @@ -10744,6 +10952,7 @@ CONFIG_HAVE_KCSAN_COMPILER=y # # CONFIG_NET_DEV_REFCNT_TRACKER is not set # CONFIG_NET_NS_REFCNT_TRACKER is not set +# CONFIG_DEBUG_NET is not set # end of Networking Debugging # @@ -10751,6 +10960,8 @@ CONFIG_HAVE_KCSAN_COMPILER=y # # CONFIG_PAGE_EXTENSION is not set # CONFIG_DEBUG_PAGEALLOC is not set +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set # CONFIG_PAGE_OWNER is not set # CONFIG_PAGE_TABLE_CHECK is not set CONFIG_PAGE_POISONING=y @@ -10762,8 +10973,7 @@ CONFIG_GENERIC_PTDUMP=y CONFIG_PTDUMP_CORE=y # CONFIG_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set +CONFIG_SHRINKER_DEBUG=y CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_STACK_USAGE is not set @@ -10788,6 +10998,7 @@ CONFIG_KFENCE_SAMPLE_INTERVAL=100 CONFIG_KFENCE_NUM_OBJECTS=255 CONFIG_KFENCE_DEFERRABLE=y CONFIG_KFENCE_STRESS_TEST_FAULTS=0 +CONFIG_HAVE_ARCH_KMSAN=y # end of Memory Debugging CONFIG_DEBUG_SHIRQ=y @@ -10801,16 +11012,13 @@ CONFIG_PANIC_TIMEOUT=0 CONFIG_LOCKUP_DETECTOR=y CONFIG_SOFTLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set -CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 CONFIG_HARDLOCKUP_DETECTOR_PERF=y CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y CONFIG_HARDLOCKUP_DETECTOR=y # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set -CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 CONFIG_DETECT_HUNG_TASK=y CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set -CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 # CONFIG_WQ_WATCHDOG is not set # CONFIG_TEST_LOCKUP is not set # end of Debug Oops, Lockups and Hangs @@ -10859,6 +11067,7 @@ CONFIG_DEBUG_LIST=y # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_DEBUG_MAPLE_TREE is not set # end of Debug kernel data structures # CONFIG_DEBUG_CREDENTIALS is not set @@ -10870,6 +11079,7 @@ CONFIG_DEBUG_LIST=y # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_REF_SCALE_TEST is not set CONFIG_RCU_CPU_STALL_TIMEOUT=60 +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 # CONFIG_RCU_TRACE is not set # CONFIG_RCU_EQS_DEBUG is not set # end of RCU Debugging @@ -10887,6 +11097,7 @@ CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_FENTRY=y @@ -10952,6 +11163,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 @@ -10963,7 +11175,6 @@ CONFIG_IO_STRICT_DEVMEM=y # # x86 Debugging # -CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y CONFIG_EARLY_PRINTK_USB=y # CONFIG_X86_VERBOSE_BOOTUP is not set CONFIG_EARLY_PRINTK=y @@ -11019,6 +11230,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set # CONFIG_TEST_XARRAY is not set +# CONFIG_TEST_MAPLE_TREE is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_SIPHASH is not set # CONFIG_TEST_IDA is not set @@ -11034,6 +11246,7 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set # CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_DYNAMIC_DEBUG is not set # CONFIG_TEST_KMOD is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_OBJAGG is not set @@ -11043,7 +11256,12 @@ CONFIG_ASYNC_RAID6_TEST=m # CONFIG_TEST_FPU is not set # CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set CONFIG_ARCH_USE_MEMTEST=y -# CONFIG_MEMTEST is not set +CONFIG_MEMTEST=y # CONFIG_HYPERV_TESTING is not set # end of Kernel Testing and Coverage + +# +# Rust hacking +# +# end of Rust hacking # end of Kernel hacking |