diff options
author | Justin M. Forbes <jforbes@fedoraproject.org> | 2019-12-19 12:47:36 -0600 |
---|---|---|
committer | Justin M. Forbes <jforbes@fedoraproject.org> | 2019-12-19 12:47:36 -0600 |
commit | 3c560c6bd0fe1c6561acf5e95454dae04662a42b (patch) | |
tree | 0197d5d24f75f925a965764736b987b6ae5a712a | |
parent | 86e67ee11e59287bedf3e8373238a4b7fbbe823e (diff) | |
download | kernel-3c560c6bd0fe1c6561acf5e95454dae04662a42b.tar.gz kernel-3c560c6bd0fe1c6561acf5e95454dae04662a42b.tar.xz kernel-3c560c6bd0fe1c6561acf5e95454dae04662a42b.zip |
Linux v5.4.5 rebase
393 files changed, 17256 insertions, 5986 deletions
diff --git a/0001-ASoC-SOF-Fix-memory-leak-in-sof_dfsentry_write.patch b/0001-ASoC-SOF-Fix-memory-leak-in-sof_dfsentry_write.patch deleted file mode 100644 index 587a2acd1..000000000 --- a/0001-ASoC-SOF-Fix-memory-leak-in-sof_dfsentry_write.patch +++ /dev/null @@ -1,37 +0,0 @@ -From c0a333d842ef67ac04adc72ff79dc1ccc3dca4ed Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Sun, 27 Oct 2019 14:48:47 -0500 -Subject: [PATCH] ASoC: SOF: Fix memory leak in sof_dfsentry_write - -In the implementation of sof_dfsentry_write() memory allocated for -string is leaked in case of an error. Go to error handling path if the -d_name.name is not valid. - -Fixes: 091c12e1f50c ("ASoC: SOF: debug: add new debugfs entries for IPC flood test") -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Link: https://lore.kernel.org/r/20191027194856.4056-1-navid.emamdoost@gmail.com -Signed-off-by: Mark Brown <broonie@kernel.org> ---- - sound/soc/sof/debug.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/sound/soc/sof/debug.c b/sound/soc/sof/debug.c -index 54cd431faab7..5529e8eeca46 100644 ---- a/sound/soc/sof/debug.c -+++ b/sound/soc/sof/debug.c -@@ -152,8 +152,10 @@ static ssize_t sof_dfsentry_write(struct file *file, const char __user *buffer, - * in the debugfs entry. - */ - if (strcmp(dfse->dfsentry->d_name.name, "ipc_flood_count") && -- strcmp(dfse->dfsentry->d_name.name, "ipc_flood_duration_ms")) -- return -EINVAL; -+ strcmp(dfse->dfsentry->d_name.name, "ipc_flood_duration_ms")) { -+ ret = -EINVAL; -+ goto out; -+ } - - if (!strcmp(dfse->dfsentry->d_name.name, "ipc_flood_duration_ms")) - flood_duration_test = true; --- -2.23.0 - diff --git a/0001-RDMA-Fix-goto-target-to-release-the-allocated-memory.patch b/0001-RDMA-Fix-goto-target-to-release-the-allocated-memory.patch deleted file mode 100644 index 87f4b4db7..000000000 --- a/0001-RDMA-Fix-goto-target-to-release-the-allocated-memory.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 4a9d46a9fe14401f21df69cea97c62396d5fb053 Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Tue, 10 Sep 2019 17:21:19 -0500 -Subject: [PATCH] RDMA: Fix goto target to release the allocated memory - -In bnxt_re_create_srq(), when ib_copy_to_udata() fails allocated memory -should be released by goto fail. - -Fixes: 37cb11acf1f7 ("RDMA/bnxt_re: Add SRQ support for Broadcom adapters") -Link: https://lore.kernel.org/r/20190910222120.16517-1-navid.emamdoost@gmail.com -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Reviewed-by: Jason Gunthorpe <jgg@mellanox.com> -Signed-off-by: Jason Gunthorpe <jgg@mellanox.com> ---- - drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/infiniband/hw/bnxt_re/ib_verbs.c b/drivers/infiniband/hw/bnxt_re/ib_verbs.c -index f9e97d0cc459..b4149dc9e824 100644 ---- a/drivers/infiniband/hw/bnxt_re/ib_verbs.c -+++ b/drivers/infiniband/hw/bnxt_re/ib_verbs.c -@@ -1398,7 +1398,7 @@ int bnxt_re_create_srq(struct ib_srq *ib_srq, - dev_err(rdev_to_dev(rdev), "SRQ copy to udata failed!"); - bnxt_qplib_destroy_srq(&rdev->qplib_res, - &srq->qplib_srq); -- goto exit; -+ goto fail; - } - } - if (nq) --- -2.23.0 - diff --git a/0001-ath9k-release-allocated-buffer-if-timed-out.patch b/0001-ath9k-release-allocated-buffer-if-timed-out.patch deleted file mode 100644 index db71192a3..000000000 --- a/0001-ath9k-release-allocated-buffer-if-timed-out.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 728c1e2a05e4b5fc52fab3421dce772a806612a2 Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Fri, 6 Sep 2019 13:59:30 -0500 -Subject: [PATCH] ath9k: release allocated buffer if timed out - -In ath9k_wmi_cmd, the allocated network buffer needs to be released -if timeout happens. Otherwise memory will be leaked. - -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - drivers/net/wireless/ath/ath9k/wmi.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/net/wireless/ath/ath9k/wmi.c b/drivers/net/wireless/ath/ath9k/wmi.c -index d1f6710ca63b..cdc146091194 100644 ---- a/drivers/net/wireless/ath/ath9k/wmi.c -+++ b/drivers/net/wireless/ath/ath9k/wmi.c -@@ -336,6 +336,7 @@ int ath9k_wmi_cmd(struct wmi *wmi, enum wmi_cmd_id cmd_id, - ath_dbg(common, WMI, "Timeout waiting for WMI command: %s\n", - wmi_cmd_to_name(cmd_id)); - mutex_unlock(&wmi->op_mutex); -+ kfree_skb(skb); - return -ETIMEDOUT; - } - --- -2.23.0 - diff --git a/0001-ath9k_htc-release-allocated-buffer-if-timed-out.patch b/0001-ath9k_htc-release-allocated-buffer-if-timed-out.patch deleted file mode 100644 index 0d21d61c7..000000000 --- a/0001-ath9k_htc-release-allocated-buffer-if-timed-out.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 853acf7caf10b828102d92d05b5c101666a6142b Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Fri, 6 Sep 2019 13:26:03 -0500 -Subject: [PATCH] ath9k_htc: release allocated buffer if timed out - -In htc_config_pipe_credits, htc_setup_complete, and htc_connect_service -if time out happens, the allocated buffer needs to be released. -Otherwise there will be memory leak. - -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - drivers/net/wireless/ath/ath9k/htc_hst.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/net/wireless/ath/ath9k/htc_hst.c b/drivers/net/wireless/ath/ath9k/htc_hst.c -index 1bf63a4efb4c..d091c8ebdcf0 100644 ---- a/drivers/net/wireless/ath/ath9k/htc_hst.c -+++ b/drivers/net/wireless/ath/ath9k/htc_hst.c -@@ -170,6 +170,7 @@ static int htc_config_pipe_credits(struct htc_target *target) - time_left = wait_for_completion_timeout(&target->cmd_wait, HZ); - if (!time_left) { - dev_err(target->dev, "HTC credit config timeout\n"); -+ kfree_skb(skb); - return -ETIMEDOUT; - } - -@@ -205,6 +206,7 @@ static int htc_setup_complete(struct htc_target *target) - time_left = wait_for_completion_timeout(&target->cmd_wait, HZ); - if (!time_left) { - dev_err(target->dev, "HTC start timeout\n"); -+ kfree_skb(skb); - return -ETIMEDOUT; - } - -@@ -277,6 +279,7 @@ int htc_connect_service(struct htc_target *target, - if (!time_left) { - dev_err(target->dev, "Service connection timeout for: %d\n", - service_connreq->service_id); -+ kfree_skb(skb); - return -ETIMEDOUT; - } - --- -2.23.0 - diff --git a/0001-drm-amd-display-prevent-memory-leak.patch b/0001-drm-amd-display-prevent-memory-leak.patch deleted file mode 100644 index e74ad2913..000000000 --- a/0001-drm-amd-display-prevent-memory-leak.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 104c307147ad379617472dd91a5bcb368d72bd6d Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Tue, 24 Sep 2019 23:23:56 -0500 -Subject: [PATCH] drm/amd/display: prevent memory leak - -In dcn*_create_resource_pool the allocated memory should be released if -construct pool fails. - -Reviewed-by: Harry Wentland <harry.wentland@amd.com> -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Signed-off-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c | 1 + - drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c | 1 + - drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c | 1 + - drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c | 1 + - drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c | 1 + - 5 files changed, 5 insertions(+) - -diff --git a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c -index afc61055eca1..1787b9bf800a 100644 ---- a/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c -+++ b/drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c -@@ -1091,6 +1091,7 @@ struct resource_pool *dce100_create_resource_pool( - if (construct(num_virtual_links, dc, pool)) - return &pool->base; - -+ kfree(pool); - BREAK_TO_DEBUGGER(); - return NULL; - } -diff --git a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c -index c66fe170e1e8..318e9c2e2ca8 100644 ---- a/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c -+++ b/drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c -@@ -1462,6 +1462,7 @@ struct resource_pool *dce110_create_resource_pool( - if (construct(num_virtual_links, dc, pool, asic_id)) - return &pool->base; - -+ kfree(pool); - BREAK_TO_DEBUGGER(); - return NULL; - } -diff --git a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c -index 2b3a2917c168..83e1878161c9 100644 ---- a/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c -+++ b/drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c -@@ -1342,6 +1342,7 @@ struct resource_pool *dce112_create_resource_pool( - if (construct(num_virtual_links, dc, pool)) - return &pool->base; - -+ kfree(pool); - BREAK_TO_DEBUGGER(); - return NULL; - } -diff --git a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c -index 236c4c0324b1..8b85e5274bba 100644 ---- a/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c -+++ b/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c -@@ -1208,6 +1208,7 @@ struct resource_pool *dce120_create_resource_pool( - if (construct(num_virtual_links, dc, pool)) - return &pool->base; - -+ kfree(pool); - BREAK_TO_DEBUGGER(); - return NULL; - } -diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c -index 5a89e462e7cc..59305e411a66 100644 ---- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c -+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c -@@ -1570,6 +1570,7 @@ struct resource_pool *dcn10_create_resource_pool( - if (construct(init_data->num_virtual_links, dc, pool)) - return &pool->base; - -+ kfree(pool); - BREAK_TO_DEBUGGER(); - return NULL; - } --- -2.23.0 - diff --git a/0001-drm-nouveau-Move-the-declaration-of-struct-nouveau_c.patch b/0001-drm-nouveau-Move-the-declaration-of-struct-nouveau_c.patch new file mode 100644 index 000000000..548304eab --- /dev/null +++ b/0001-drm-nouveau-Move-the-declaration-of-struct-nouveau_c.patch @@ -0,0 +1,158 @@ +From 37a68eab4cd92b507c9e8afd760fdc18e4fecac6 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Thu, 24 Oct 2019 10:52:52 +0200 +Subject: [PATCH v2 1/2] drm/nouveau: Move the declaration of struct + nouveau_conn_atom up a bit + +Place the declaration of struct nouveau_conn_atom above that of +struct nouveau_connector. This commit makes no changes to the moved +block what so ever, it just moves it up a bit. + +This is a preparation patch to fix some issues with connector handling +on pre nv50 displays (which do not use atomic modesetting). + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +Reviewed-by: Lyude Paul <lyude@redhat.com> +Signed-off-by: Ben Skeggs <bskeggs@redhat.com> +--- + drivers/gpu/drm/nouveau/nouveau_connector.h | 110 ++++++++++---------- + 1 file changed, 55 insertions(+), 55 deletions(-) + +diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.h b/drivers/gpu/drm/nouveau/nouveau_connector.h +index f43a8d63aef8..de9588420884 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_connector.h ++++ b/drivers/gpu/drm/nouveau/nouveau_connector.h +@@ -29,6 +29,7 @@ + + #include <nvif/notify.h> + ++#include <drm/drm_crtc.h> + #include <drm/drm_edid.h> + #include <drm/drm_encoder.h> + #include <drm/drm_dp_helper.h> +@@ -44,6 +45,60 @@ struct dcb_output; + struct nouveau_backlight; + #endif + ++#define nouveau_conn_atom(p) \ ++ container_of((p), struct nouveau_conn_atom, state) ++ ++struct nouveau_conn_atom { ++ struct drm_connector_state state; ++ ++ struct { ++ /* The enum values specifically defined here match nv50/gf119 ++ * hw values, and the code relies on this. ++ */ ++ enum { ++ DITHERING_MODE_OFF = 0x00, ++ DITHERING_MODE_ON = 0x01, ++ DITHERING_MODE_DYNAMIC2X2 = 0x10 | DITHERING_MODE_ON, ++ DITHERING_MODE_STATIC2X2 = 0x18 | DITHERING_MODE_ON, ++ DITHERING_MODE_TEMPORAL = 0x20 | DITHERING_MODE_ON, ++ DITHERING_MODE_AUTO ++ } mode; ++ enum { ++ DITHERING_DEPTH_6BPC = 0x00, ++ DITHERING_DEPTH_8BPC = 0x02, ++ DITHERING_DEPTH_AUTO ++ } depth; ++ } dither; ++ ++ struct { ++ int mode; /* DRM_MODE_SCALE_* */ ++ struct { ++ enum { ++ UNDERSCAN_OFF, ++ UNDERSCAN_ON, ++ UNDERSCAN_AUTO, ++ } mode; ++ u32 hborder; ++ u32 vborder; ++ } underscan; ++ bool full; ++ } scaler; ++ ++ struct { ++ int color_vibrance; ++ int vibrant_hue; ++ } procamp; ++ ++ union { ++ struct { ++ bool dither:1; ++ bool scaler:1; ++ bool procamp:1; ++ }; ++ u8 mask; ++ } set; ++}; ++ + struct nouveau_connector { + struct drm_connector base; + enum dcb_connector_type type; +@@ -121,61 +176,6 @@ extern int nouveau_ignorelid; + extern int nouveau_duallink; + extern int nouveau_hdmimhz; + +-#include <drm/drm_crtc.h> +-#define nouveau_conn_atom(p) \ +- container_of((p), struct nouveau_conn_atom, state) +- +-struct nouveau_conn_atom { +- struct drm_connector_state state; +- +- struct { +- /* The enum values specifically defined here match nv50/gf119 +- * hw values, and the code relies on this. +- */ +- enum { +- DITHERING_MODE_OFF = 0x00, +- DITHERING_MODE_ON = 0x01, +- DITHERING_MODE_DYNAMIC2X2 = 0x10 | DITHERING_MODE_ON, +- DITHERING_MODE_STATIC2X2 = 0x18 | DITHERING_MODE_ON, +- DITHERING_MODE_TEMPORAL = 0x20 | DITHERING_MODE_ON, +- DITHERING_MODE_AUTO +- } mode; +- enum { +- DITHERING_DEPTH_6BPC = 0x00, +- DITHERING_DEPTH_8BPC = 0x02, +- DITHERING_DEPTH_AUTO +- } depth; +- } dither; +- +- struct { +- int mode; /* DRM_MODE_SCALE_* */ +- struct { +- enum { +- UNDERSCAN_OFF, +- UNDERSCAN_ON, +- UNDERSCAN_AUTO, +- } mode; +- u32 hborder; +- u32 vborder; +- } underscan; +- bool full; +- } scaler; +- +- struct { +- int color_vibrance; +- int vibrant_hue; +- } procamp; +- +- union { +- struct { +- bool dither:1; +- bool scaler:1; +- bool procamp:1; +- }; +- u8 mask; +- } set; +-}; +- + void nouveau_conn_attach_properties(struct drm_connector *); + void nouveau_conn_reset(struct drm_connector *); + struct drm_connector_state * +-- +2.23.0 + diff --git a/0001-iwlwifi-dbg_ini-fix-memory-leak-in-alloc_sgtable.patch b/0001-iwlwifi-dbg_ini-fix-memory-leak-in-alloc_sgtable.patch deleted file mode 100644 index d82c3f254..000000000 --- a/0001-iwlwifi-dbg_ini-fix-memory-leak-in-alloc_sgtable.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b4b814fec1a5a849383f7b3886b654a13abbda7d Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Thu, 12 Sep 2019 23:23:27 -0500 -Subject: [PATCH] iwlwifi: dbg_ini: fix memory leak in alloc_sgtable - -In alloc_sgtable if alloc_page fails, the alocated table should be -released. - -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Signed-off-by: Luca Coelho <luciano.coelho@intel.com> ---- - drivers/net/wireless/intel/iwlwifi/fw/dbg.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c -index 5c8602de9168..87421807e040 100644 ---- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c -+++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c -@@ -646,6 +646,7 @@ static struct scatterlist *alloc_sgtable(int size) - if (new_page) - __free_page(new_page); - } -+ kfree(table); - return NULL; - } - alloc_size = min_t(int, size, PAGE_SIZE); --- -2.23.0 - diff --git a/0001-iwlwifi-pcie-fix-memory-leaks-in-iwl_pcie_ctxt_info_.patch b/0001-iwlwifi-pcie-fix-memory-leaks-in-iwl_pcie_ctxt_info_.patch deleted file mode 100644 index a72e920bd..000000000 --- a/0001-iwlwifi-pcie-fix-memory-leaks-in-iwl_pcie_ctxt_info_.patch +++ /dev/null @@ -1,99 +0,0 @@ -From 0f4f199443faca715523b0659aa536251d8b978f Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Fri, 27 Sep 2019 15:56:04 -0500 -Subject: [PATCH] iwlwifi: pcie: fix memory leaks in - iwl_pcie_ctxt_info_gen3_init - -In iwl_pcie_ctxt_info_gen3_init there are cases that the allocated dma -memory is leaked in case of error. - -DMA memories prph_scratch, prph_info, and ctxt_info_gen3 are allocated -and initialized to be later assigned to trans_pcie. But in any error case -before such assignment the allocated memories should be released. - -First of such error cases happens when iwl_pcie_init_fw_sec fails. -Current implementation correctly releases prph_scratch. But in two -sunsequent error cases where dma_alloc_coherent may fail, such -releases are missing. - -This commit adds release for prph_scratch when allocation for -prph_info fails, and adds releases for prph_scratch and prph_info when -allocation for ctxt_info_gen3 fails. - -Fixes: 2ee824026288 ("iwlwifi: pcie: support context information for 22560 devices") -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Signed-off-by: Luca Coelho <luciano.coelho@intel.com> ---- - .../intel/iwlwifi/pcie/ctxt-info-gen3.c | 36 +++++++++++++------ - 1 file changed, 25 insertions(+), 11 deletions(-) - -diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c -index 75fa8a6aafee..74980382e64c 100644 ---- a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c -+++ b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-gen3.c -@@ -107,13 +107,9 @@ int iwl_pcie_ctxt_info_gen3_init(struct iwl_trans *trans, - - /* allocate ucode sections in dram and set addresses */ - ret = iwl_pcie_init_fw_sec(trans, fw, &prph_scratch->dram); -- if (ret) { -- dma_free_coherent(trans->dev, -- sizeof(*prph_scratch), -- prph_scratch, -- trans_pcie->prph_scratch_dma_addr); -- return ret; -- } -+ if (ret) -+ goto err_free_prph_scratch; -+ - - /* Allocate prph information - * currently we don't assign to the prph info anything, but it would get -@@ -121,16 +117,20 @@ int iwl_pcie_ctxt_info_gen3_init(struct iwl_trans *trans, - prph_info = dma_alloc_coherent(trans->dev, sizeof(*prph_info), - &trans_pcie->prph_info_dma_addr, - GFP_KERNEL); -- if (!prph_info) -- return -ENOMEM; -+ if (!prph_info) { -+ ret = -ENOMEM; -+ goto err_free_prph_scratch; -+ } - - /* Allocate context info */ - ctxt_info_gen3 = dma_alloc_coherent(trans->dev, - sizeof(*ctxt_info_gen3), - &trans_pcie->ctxt_info_dma_addr, - GFP_KERNEL); -- if (!ctxt_info_gen3) -- return -ENOMEM; -+ if (!ctxt_info_gen3) { -+ ret = -ENOMEM; -+ goto err_free_prph_info; -+ } - - ctxt_info_gen3->prph_info_base_addr = - cpu_to_le64(trans_pcie->prph_info_dma_addr); -@@ -186,6 +186,20 @@ int iwl_pcie_ctxt_info_gen3_init(struct iwl_trans *trans, - iwl_set_bit(trans, CSR_GP_CNTRL, CSR_AUTO_FUNC_INIT); - - return 0; -+ -+err_free_prph_info: -+ dma_free_coherent(trans->dev, -+ sizeof(*prph_info), -+ prph_info, -+ trans_pcie->prph_info_dma_addr); -+ -+err_free_prph_scratch: -+ dma_free_coherent(trans->dev, -+ sizeof(*prph_scratch), -+ prph_scratch, -+ trans_pcie->prph_scratch_dma_addr); -+ return ret; -+ - } - - void iwl_pcie_ctxt_info_gen3_free(struct iwl_trans *trans) --- -2.23.0 - diff --git a/0001-nl80211-fix-memory-leak-in-nl80211_get_ftm_responder.patch b/0001-nl80211-fix-memory-leak-in-nl80211_get_ftm_responder.patch deleted file mode 100644 index e72e53ebd..000000000 --- a/0001-nl80211-fix-memory-leak-in-nl80211_get_ftm_responder.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1399c59fa92984836db90538cf92397fe7caaa57 Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Fri, 4 Oct 2019 14:42:19 -0500 -Subject: [PATCH] nl80211: fix memory leak in nl80211_get_ftm_responder_stats - -In nl80211_get_ftm_responder_stats, a new skb is created via nlmsg_new -named msg. If nl80211hdr_put() fails, then msg should be released. The -return statement should be replace by goto to error handling code. - -Fixes: 81e54d08d9d8 ("cfg80211: support FTM responder configuration/statistics") -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Link: https://lore.kernel.org/r/20191004194220.19412-1-navid.emamdoost@gmail.com -Signed-off-by: Johannes Berg <johannes.berg@intel.com> ---- - net/wireless/nl80211.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c -index 141cdb171665..4453dd375de9 100644 ---- a/net/wireless/nl80211.c -+++ b/net/wireless/nl80211.c -@@ -13682,7 +13682,7 @@ static int nl80211_get_ftm_responder_stats(struct sk_buff *skb, - hdr = nl80211hdr_put(msg, info->snd_portid, info->snd_seq, 0, - NL80211_CMD_GET_FTM_RESPONDER_STATS); - if (!hdr) -- return -ENOBUFS; -+ goto nla_put_failure; - - if (nla_put_u32(msg, NL80211_ATTR_IFINDEX, dev->ifindex)) - goto nla_put_failure; --- -2.23.0 - diff --git a/0001-tracing-Have-error-path-in-predicate_parse-free-its-.patch b/0001-tracing-Have-error-path-in-predicate_parse-free-its-.patch deleted file mode 100644 index 42d4e176a..000000000 --- a/0001-tracing-Have-error-path-in-predicate_parse-free-its-.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 96c5c6e6a5b6db592acae039fed54b5c8844cd35 Mon Sep 17 00:00:00 2001 -From: Navid Emamdoost <navid.emamdoost@gmail.com> -Date: Fri, 20 Sep 2019 17:57:59 -0500 -Subject: [PATCH] tracing: Have error path in predicate_parse() free its - allocated memory - -In predicate_parse, there is an error path that is not going to -out_free instead it returns directly which leads to a memory leak. - -Link: http://lkml.kernel.org/r/20190920225800.3870-1-navid.emamdoost@gmail.com - -Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com> -Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> ---- - kernel/trace/trace_events_filter.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/kernel/trace/trace_events_filter.c b/kernel/trace/trace_events_filter.c -index c773b8fb270c..c9a74f82b14a 100644 ---- a/kernel/trace/trace_events_filter.c -+++ b/kernel/trace/trace_events_filter.c -@@ -452,8 +452,10 @@ predicate_parse(const char *str, int nr_parens, int nr_preds, - - switch (*next) { - case '(': /* #2 */ -- if (top - op_stack > nr_parens) -- return ERR_PTR(-EINVAL); -+ if (top - op_stack > nr_parens) { -+ ret = -EINVAL; -+ goto out_free; -+ } - *(++top) = invert; - continue; - case '!': /* #3 */ --- -2.23.0 - diff --git a/0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch b/0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch index 0844550b6..871105093 100644 --- a/0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch +++ b/0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch @@ -39,9 +39,9 @@ index 557a47829d0..e8f9c7d84e9 100644 --- a/drivers/firmware/efi/efi.c +++ b/drivers/firmware/efi/efi.c @@ -31,6 +31,7 @@ - #include <linux/acpi.h> #include <linux/ucs2_string.h> #include <linux/memblock.h> + #include <linux/security.h> +#include <linux/bsearch.h> #include <asm/early_ioremap.h> @@ -177,7 +177,7 @@ index 557a47829d0..e8f9c7d84e9 100644 + return found->description; } - bool efi_is_table_address(unsigned long phys_addr) + static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock); -- 2.15.0 diff --git a/0002-drm-nouveau-Fix-drm-core-using-atomic-code-paths-on-.patch b/0002-drm-nouveau-Fix-drm-core-using-atomic-code-paths-on-.patch new file mode 100644 index 000000000..077f391ca --- /dev/null +++ b/0002-drm-nouveau-Fix-drm-core-using-atomic-code-paths-on-.patch @@ -0,0 +1,115 @@ +From 64d17f25dcad518461ccf0c260544e1e379c5b35 Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Thu, 24 Oct 2019 10:52:53 +0200 +Subject: [PATCH v2 2/2] drm/nouveau: Fix drm-core using atomic code-paths on + pre-nv50 hardware + +We do not support atomic modesetting on pre-nv50 hardware, but until now +our connector code was setting drm_connector->state on pre-nv50 hardware. + +This causes the core to enter atomic modesetting paths in at least: + +1. drm_connector_get_encoder(), returning connector->state->best_encoder +which is always 0, causing us to always report 0 as encoder_id in +the drmModeConnector struct returned by drmModeGetConnector(). + +2. drm_encoder_get_crtc(), returning NULL because uses_atomic get set, +causing us to always report 0 as crtc_id in the drmModeEncoder struct +returned by drmModeGetEncoder() + +Which in turn confuses userspace, at least plymouth thinks that the pipe +has changed because of this and tries to reconfigure it unnecessarily. + +More in general we should not set drm_connector->state in the non-atomic +code as this violates the drm-core's expectations. + +This commit fixes this by using a nouveau_conn_atom struct embedded in the +nouveau_connector struct for property handling in the non-atomic case. + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1706557 +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +Signed-off-by: Ben Skeggs <bskeggs@redhat.com> +--- + drivers/gpu/drm/nouveau/nouveau_connector.c | 28 +++++++++++++++------ + drivers/gpu/drm/nouveau/nouveau_connector.h | 6 +++++ + 2 files changed, 27 insertions(+), 7 deletions(-) + +diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c +index 5b413588b823..9a9a7f5003d3 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_connector.c ++++ b/drivers/gpu/drm/nouveau/nouveau_connector.c +@@ -245,14 +245,22 @@ nouveau_conn_atomic_duplicate_state(struct drm_connector *connector) + void + nouveau_conn_reset(struct drm_connector *connector) + { ++ struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct nouveau_conn_atom *asyc; + +- if (WARN_ON(!(asyc = kzalloc(sizeof(*asyc), GFP_KERNEL)))) +- return; ++ if (drm_drv_uses_atomic_modeset(connector->dev)) { ++ if (WARN_ON(!(asyc = kzalloc(sizeof(*asyc), GFP_KERNEL)))) ++ return; ++ ++ if (connector->state) ++ nouveau_conn_atomic_destroy_state(connector, ++ connector->state); ++ ++ __drm_atomic_helper_connector_reset(connector, &asyc->state); ++ } else { ++ asyc = &nv_connector->properties_state; ++ } + +- if (connector->state) +- nouveau_conn_atomic_destroy_state(connector, connector->state); +- __drm_atomic_helper_connector_reset(connector, &asyc->state); + asyc->dither.mode = DITHERING_MODE_AUTO; + asyc->dither.depth = DITHERING_DEPTH_AUTO; + asyc->scaler.mode = DRM_MODE_SCALE_NONE; +@@ -276,8 +284,14 @@ void + nouveau_conn_attach_properties(struct drm_connector *connector) + { + struct drm_device *dev = connector->dev; +- struct nouveau_conn_atom *armc = nouveau_conn_atom(connector->state); + struct nouveau_display *disp = nouveau_display(dev); ++ struct nouveau_connector *nv_connector = nouveau_connector(connector); ++ struct nouveau_conn_atom *armc; ++ ++ if (drm_drv_uses_atomic_modeset(connector->dev)) ++ armc = nouveau_conn_atom(connector->state); ++ else ++ armc = &nv_connector->properties_state; + + /* Init DVI-I specific properties. */ + if (connector->connector_type == DRM_MODE_CONNECTOR_DVII) +@@ -748,9 +762,9 @@ static int + nouveau_connector_set_property(struct drm_connector *connector, + struct drm_property *property, uint64_t value) + { +- struct nouveau_conn_atom *asyc = nouveau_conn_atom(connector->state); + struct nouveau_connector *nv_connector = nouveau_connector(connector); + struct nouveau_encoder *nv_encoder = nv_connector->detected_encoder; ++ struct nouveau_conn_atom *asyc = &nv_connector->properties_state; + struct drm_encoder *encoder = to_drm_encoder(nv_encoder); + int ret; + +diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.h b/drivers/gpu/drm/nouveau/nouveau_connector.h +index de9588420884..de84fb4708c7 100644 +--- a/drivers/gpu/drm/nouveau/nouveau_connector.h ++++ b/drivers/gpu/drm/nouveau/nouveau_connector.h +@@ -118,6 +118,12 @@ struct nouveau_connector { + #ifdef CONFIG_DRM_NOUVEAU_BACKLIGHT + struct nouveau_backlight *backlight; + #endif ++ /* ++ * Our connector property code expects a nouveau_conn_atom struct ++ * even on pre-nv50 where we do not support atomic. This embedded ++ * version gets used in the non atomic modeset case. ++ */ ++ struct nouveau_conn_atom properties_state; + }; + + static inline struct nouveau_connector *nouveau_connector( +-- +2.23.0 + diff --git a/Input-synaptics-pin-3-touches-when-the-firmware-repo.patch b/Input-synaptics-pin-3-touches-when-the-firmware-repo.patch deleted file mode 100644 index e697968c7..000000000 --- a/Input-synaptics-pin-3-touches-when-the-firmware-repo.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Benjamin Tissoires <benjamin.tissoires@redhat.com> -Date: Thu, 16 Apr 2015 13:01:46 -0400 -Subject: [PATCH] Input - synaptics: pin 3 touches when the firmware reports 3 - fingers - -Synaptics PS/2 touchpad can send only 2 touches in a report. They can -detect 4 or 5 and this information is valuable. - -In commit 63c4fda (Input: synaptics - allocate 3 slots to keep stability -in image sensors), we allocate 3 slots, but we still continue to report -the 2 available fingers. That means that the client sees 2 used slots while -there is a total of 3 fingers advertised by BTN_TOOL_TRIPLETAP. - -For old kernels this is not a problem because max_slots was 2 and libinput/ -xorg-synaptics knew how to deal with that. Now that max_slot is 3, the -clients ignore BTN_TOOL_TRIPLETAP and count the actual used slots (so 2). -It then gets confused when receiving the BTN_TOOL_TRIPLETAP and DOUBLETAP -information, and goes wild. - -We can pin the 3 slots until we get a total number of fingers below 2. - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1212230 - -Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> ---- - drivers/input/mouse/synaptics.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c -index 3a32caf06bf1..58102970f94f 100644 ---- a/drivers/input/mouse/synaptics.c -+++ b/drivers/input/mouse/synaptics.c -@@ -940,6 +940,14 @@ static void synaptics_report_mt_data(struct psmouse *psmouse, - input_report_abs(dev, ABS_MT_PRESSURE, hw[i]->z); - } - -+ /* keep (slot count <= num_fingers) by pinning all slots */ -+ if (num_fingers >= 3) { -+ for (i = 0; i < 3; i++) { -+ input_mt_slot(dev, i); -+ input_mt_report_slot_state(dev, MT_TOOL_FINGER, true); -+ } -+ } -+ - input_mt_drop_unused(dev); - - /* Don't use active slot count to generate BTN_TOOL events. */ diff --git a/KEYS-Make-use-of-platform-keyring-for-module-signature.patch b/KEYS-Make-use-of-platform-keyring-for-module-signature.patch index a13dcdba5..7c2a0b68d 100644 --- a/KEYS-Make-use-of-platform-keyring-for-module-signature.patch +++ b/KEYS-Make-use-of-platform-keyring-for-module-signature.patch @@ -13,42 +13,31 @@ As such, kernel modules signed with keys from the MokList variable were not successfully verified. Signed-off-by: Robert Holmes <robeholmes@gmail.com> +Signed-off-by: Jeremy Cline <jcline@redhat.com> --- kernel/module_signing.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/kernel/module_signing.c b/kernel/module_signing.c -index 6b9a926fd86b..cf94220e9154 100644 +index 9d9fc678c91d..84ad75a53c83 100644 --- a/kernel/module_signing.c +++ b/kernel/module_signing.c -@@ -49,6 +49,7 @@ int mod_verify_sig(const void *mod, struct load_info *info) - { - struct module_signature ms; - size_t sig_len, modlen = info->len; -+ int ret; - - pr_devel("==>%s(,%zu)\n", __func__, modlen); - -@@ -82,8 +83,15 @@ int mod_verify_sig(const void *mod, struct load_info *info) - return -EBADMSG; - } +@@ -38,8 +38,15 @@ int mod_verify_sig(const void *mod, struct load_info *info) + modlen -= sig_len + sizeof(ms); + info->len = modlen; - return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, -- VERIFY_USE_SECONDARY_KEYRING, -- VERIFYING_MODULE_SIGNATURE, -- NULL, NULL); + ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, -+ VERIFY_USE_SECONDARY_KEYRING, -+ VERIFYING_MODULE_SIGNATURE, -+ NULL, NULL); + VERIFY_USE_SECONDARY_KEYRING, + VERIFYING_MODULE_SIGNATURE, + NULL, NULL); + if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) { + ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, -+ VERIFY_USE_PLATFORM_KEYRING, -+ VERIFYING_MODULE_SIGNATURE, -+ NULL, NULL); ++ VERIFY_USE_PLATFORM_KEYRING, ++ VERIFYING_MODULE_SIGNATURE, ++ NULL, NULL); + } + return ret; } -- 2.21.0 - diff --git a/Kbuild-Add-an-option-to-enable-GCC-VTA.patch b/Kbuild-Add-an-option-to-enable-GCC-VTA.patch deleted file mode 100644 index 6bbb0efdf..000000000 --- a/Kbuild-Add-an-option-to-enable-GCC-VTA.patch +++ /dev/null @@ -1,94 +0,0 @@ -From a446d2f94ce540689c7a46bf457d92409e9c4d7e Mon Sep 17 00:00:00 2001 -From: Josh Stone <jistone@redhat.com> -Date: Fri, 21 Nov 2014 10:40:00 -0800 -Subject: [PATCH] Kbuild: Add an option to enable GCC VTA -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Due to recent codegen issues, gcc -fvar-tracking-assignments was -unconditionally disabled in commit 2062afb4f804a ("Fix gcc-4.9.0 -miscompilation of load_balance() in scheduler"). However, this reduces -the debuginfo coverage for variable locations, especially in inline -functions. VTA is certainly not perfect either in those cases, but it -is much better than without. With compiler versions that have fixed the -codegen bugs, we would prefer to have the better details for SystemTap, -and surely other debuginfo consumers like perf will benefit as well. - -This patch simply makes CONFIG_DEBUG_INFO_VTA an option. I considered -Frank and Linus's discussion of a cc-option-like -fcompare-debug test, -but I'm convinced that a narrow test of an arch-specific codegen issue -is not really useful. GCC has their own regression tests for this, so -I'd suggest GCC_COMPARE_DEBUG=-fvar-tracking-assignments-toggle is more -useful for kernel developers to test confidence. - -In fact, I ran into a couple more issues when testing for this patch[1], -although neither of those had any codegen impact. - [1] https://bugzilla.redhat.com/show_bug.cgi?id=1140872 - -With gcc-4.9.2-1.fc22, I can now build v3.18-rc5 with Fedora's i686 and -x86_64 configs, and this is completely clean with GCC_COMPARE_DEBUG. - -Cc: Frank Ch. Eigler <fche@redhat.com> -Cc: Jakub Jelinek <jakub@redhat.com> -Cc: Josh Boyer <jwboyer@fedoraproject.org> -Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Cc: Linus Torvalds <torvalds@linux-foundation.org> -Cc: Andrew Morton <akpm@linux-foundation.org> -Cc: Markus Trippelsdorf <markus@trippelsdorf.de> -Cc: Michel Dänzer <michel@daenzer.net> -Signed-off-by: Josh Stone <jistone@redhat.com> -Signed-off-by: Jeremy Cline <jcline@redhat.com> ---- - Makefile | 4 ++++ - lib/Kconfig.debug | 18 +++++++++++++++++- - 2 files changed, 21 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index 9ef547fc7ffe..5777d902f8f3 100644 ---- a/Makefile -+++ b/Makefile -@@ -735,7 +735,11 @@ KBUILD_CFLAGS += -fomit-frame-pointer - KBUILD_CFLAGS += -ftrivial-auto-var-init=pattern - endif - -+ifdef CONFIG_DEBUG_INFO_VTA -+DEBUG_CFLAGS += $(call cc-option, -fvar-tracking-assignments) -+else - DEBUG_CFLAGS := $(call cc-option, -fno-var-tracking-assignments) -+endif - - ifdef CONFIG_DEBUG_INFO - ifdef CONFIG_DEBUG_INFO_SPLIT -diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug -index 0d9e81779e37..424206212931 100644 ---- a/lib/Kconfig.debug -+++ b/lib/Kconfig.debug -@@ -217,7 +217,23 @@ config DEBUG_INFO_DWARF4 - Generate dwarf4 debug info. This requires recent versions - of gcc and gdb. It makes the debug information larger. - But it significantly improves the success of resolving -- variables in gdb on optimized code. -+ variables in gdb on optimized code. The gcc docs also -+ recommend enabling -fvar-tracking-assignments for maximum -+ benefit. (see DEBUG_INFO_VTA) -+ -+config DEBUG_INFO_VTA -+ bool "Enable var-tracking-assignments for debuginfo" -+ depends on DEBUG_INFO -+ help -+ Enable gcc -fvar-tracking-assignments for improved debug -+ information on variable locations in optimized code. Per -+ gcc, DEBUG_INFO_DWARF4 is recommended for best use of VTA. -+ -+ VTA has been implicated in codegen bugs (gcc PR61801, -+ PR61904), so this may deserve some caution. One can set -+ GCC_COMPARE_DEBUG=-fvar-tracking-assignments-toggle in the -+ environment to automatically compile everything both ways, -+ generating an error if anything differs. - - config DEBUG_INFO_BTF - bool "Generate BTF typeinfo" --- -2.20.1 - diff --git a/Module.kabi_aarch64 b/Module.kabi_aarch64 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Module.kabi_aarch64 diff --git a/Module.kabi_dup_aarch64 b/Module.kabi_dup_aarch64 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Module.kabi_dup_aarch64 diff --git a/Module.kabi_dup_ppc64le b/Module.kabi_dup_ppc64le new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Module.kabi_dup_ppc64le diff --git a/Module.kabi_dup_s390x b/Module.kabi_dup_s390x new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Module.kabi_dup_s390x diff --git a/Module.kabi_dup_x86_64 b/Module.kabi_dup_x86_64 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Module.kabi_dup_x86_64 diff --git a/Module.kabi_ppc64le b/Module.kabi_ppc64le new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Module.kabi_ppc64le diff --git a/Module.kabi_s390x b/Module.kabi_s390x new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Module.kabi_s390x diff --git a/Module.kabi_x86_64 b/Module.kabi_x86_64 new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/Module.kabi_x86_64 diff --git a/Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch b/Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch deleted file mode 100644 index 8627b6087..000000000 --- a/Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch +++ /dev/null @@ -1,78 +0,0 @@ -From 9d1a8ad3c56f4e84a0ec46246b4c08a6d139f638 Mon Sep 17 00:00:00 2001 -From: Peter Robinson <pbrobinson@gmail.com> -Date: Sun, 13 Oct 2019 14:33:23 +0100 -Subject: [PATCH] Revert "ARM: bcm283x: Switch V3D over to using the PM driver - instead of firmware." - -Since release of the new BCM2835 PM driver there has been several reports -of V3D probing issues. This is caused by timeouts during powering-up the -GRAFX PM domain: - - bcm2835-power: Timeout waiting for grafx power OK - -I was able to reproduce this reliable on my Raspberry Pi 3B+ after setting -force_turbo=1 in the firmware configuration. Since there are no issues -using the firmware PM driver with the same setup, there must be an issue -in the BCM2835 PM driver. - -Unfortunately there hasn't been much progress in identifying the root cause -since June (mostly in the lack of documentation), so i decided to switch -back until the issue in the BCM2835 PM driver is fixed. - -Link: https://github.com/raspberrypi/linux/issues/3046 -Fixes: e1dc2b2e1bef (" ARM: bcm283x: Switch V3D over to using the PM driver instead of firmware.") -Cc: stable@vger.kernel.org -Signed-off-by: Stefan Wahren <wahrenst@gmx.net> -Acked-by: Eric Anholt <eric@anholt.net> ---- - a/arch/arm/boot/dts/bcm2835-rpi.dtsi | 4 ++++ - b/arch/arm/boot/dts/bcm283x.dtsi | 4 +--- - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi -index 715d50c64529..d136867c317f 100644 ---- a/arch/arm/boot/dts/bcm2835-rpi.dtsi -+++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi -@@ -90,6 +90,10 @@ - status = "okay"; - }; - -+&v3d { -+ power-domains = <&power RPI_POWER_DOMAIN_V3D>; -+}; -+ - &vec { - power-domains = <&power RPI_POWER_DOMAIN_VEC>; - status = "okay"; -diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 4b21ddb26aa5..0c6a6611f285 100644 ---- a/arch/arm/boot/dts/bcm283x.dtsi -+++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -3,7 +3,6 @@ - #include <dt-bindings/clock/bcm2835-aux.h> - #include <dt-bindings/gpio/gpio.h> - #include <dt-bindings/interrupt-controller/irq.h> --#include <dt-bindings/soc/bcm2835-pm.h> - - /* firmware-provided startup stubs live here, where the secondary CPUs are - * spinning. -@@ -121,7 +120,7 @@ - #interrupt-cells = <2>; - }; - -- pm: watchdog@7e100000 { -+ watchdog@7e100000 { - compatible = "brcm,bcm2835-pm", "brcm,bcm2835-pm-wdt"; - #power-domain-cells = <1>; - #reset-cells = <1>; -@@ -641,7 +640,6 @@ - compatible = "brcm,bcm2835-v3d"; - reg = <0x7ec00000 0x1000>; - interrupts = <1 10>; -- power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>; - }; - - vc4: gpu { --- -2.21.0 - diff --git a/alsa-5.5.patch b/alsa-5.5.patch new file mode 100644 index 000000000..e9eaa0bc6 --- /dev/null +++ b/alsa-5.5.patch @@ -0,0 +1,11957 @@ +From 0ac6b457d6e7f945aa84c26effe306b83bcf7ddb Mon Sep 17 00:00:00 2001 +From: Colin Ian King <colin.king@canonical.com> +Date: Sun, 25 Nov 2018 23:12:08 +0000 +Subject: [PATCH 001/130] ALSA: usb-audio: fix spelling mistake "Frequence" -> + "Frequency" + +There are spelling mistakes in equalizer name fields, fix them. + +Signed-off-by: Colin Ian King <colin.king@canonical.com> +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 940f457392e684bf0005628f6a155040648c5894) +Bugzilla: 1772498 +--- + sound/usb/mixer_us16x08.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sound/usb/mixer_us16x08.c b/sound/usb/mixer_us16x08.c +index f0e8e1539450..aea3b4ad7ded 100644 +--- a/sound/usb/mixer_us16x08.c ++++ b/sound/usb/mixer_us16x08.c +@@ -1109,7 +1109,7 @@ static const struct snd_us16x08_control_params eq_controls[] = { + .control_id = SND_US16X08_ID_EQLOWFREQ, + .type = USB_MIXER_U8, + .num_channels = 16, +- .name = "EQ Low Frequence", ++ .name = "EQ Low Frequency", + }, + { /* EQ mid low gain */ + .kcontrol_new = &snd_us16x08_eq_gain_ctl, +@@ -1123,7 +1123,7 @@ static const struct snd_us16x08_control_params eq_controls[] = { + .control_id = SND_US16X08_ID_EQLOWMIDFREQ, + .type = USB_MIXER_U8, + .num_channels = 16, +- .name = "EQ MidLow Frequence", ++ .name = "EQ MidLow Frequency", + }, + { /* EQ mid low Q */ + .kcontrol_new = &snd_us16x08_eq_mid_width_ctl, +@@ -1144,7 +1144,7 @@ static const struct snd_us16x08_control_params eq_controls[] = { + .control_id = SND_US16X08_ID_EQHIGHMIDFREQ, + .type = USB_MIXER_U8, + .num_channels = 16, +- .name = "EQ MidHigh Frequence", ++ .name = "EQ MidHigh Frequency", + }, + { /* EQ mid high Q */ + .kcontrol_new = &snd_us16x08_eq_mid_width_ctl, +@@ -1165,7 +1165,7 @@ static const struct snd_us16x08_control_params eq_controls[] = { + .control_id = SND_US16X08_ID_EQHIGHFREQ, + .type = USB_MIXER_U8, + .num_channels = 16, +- .name = "EQ High Frequence", ++ .name = "EQ High Frequency", + }, + }; + +-- +2.20.1 + + +From accf87200cc0d1411c40e577f7104c55caac01dc Mon Sep 17 00:00:00 2001 +From: Saurav Girepunje <saurav.girepunje@gmail.com> +Date: Tue, 29 Oct 2019 23:22:00 +0530 +Subject: [PATCH 002/130] ALSA: usb-audio: sound: usb: usb true/false for bool + return type + +Use true/false for bool type return in uac_clock_source_is_valid(). + +Signed-off-by: Saurav Girepunje <saurav.girepunje@gmail.com> +Link: https://lore.kernel.org/r/20191029175200.GA7320@saurav +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 1d4961d9eb1aaa498dfb44779b7e4b95d79112d0) +Bugzilla: 1772498 +--- + sound/usb/clock.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/sound/usb/clock.c b/sound/usb/clock.c +index 6b8c14f9b5d4..018b1ecb5404 100644 +--- a/sound/usb/clock.c ++++ b/sound/usb/clock.c +@@ -165,21 +165,21 @@ static bool uac_clock_source_is_valid(struct snd_usb_audio *chip, + snd_usb_find_clock_source_v3(chip->ctrl_intf, source_id); + + if (!cs_desc) +- return 0; ++ return false; + bmControls = le32_to_cpu(cs_desc->bmControls); + } else { /* UAC_VERSION_1/2 */ + struct uac_clock_source_descriptor *cs_desc = + snd_usb_find_clock_source(chip->ctrl_intf, source_id); + + if (!cs_desc) +- return 0; ++ return false; + bmControls = cs_desc->bmControls; + } + + /* If a clock source can't tell us whether it's valid, we assume it is */ + if (!uac_v2v3_control_is_readable(bmControls, + UAC2_CS_CONTROL_CLOCK_VALID)) +- return 1; ++ return true; + + err = snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), UAC2_CS_CUR, + USB_TYPE_CLASS | USB_RECIP_INTERFACE | USB_DIR_IN, +@@ -191,10 +191,10 @@ static bool uac_clock_source_is_valid(struct snd_usb_audio *chip, + dev_warn(&dev->dev, + "%s(): cannot get clock validity for id %d\n", + __func__, source_id); +- return 0; ++ return false; + } + +- return !!data; ++ return data ? true : false; + } + + static int __uac_clock_find_source(struct snd_usb_audio *chip, int entity_id, +-- +2.20.1 + + +From 50704a502a8b9b71ca96de1bd0da70394d9576b3 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Thu, 14 Nov 2019 17:56:13 +0100 +Subject: [PATCH 003/130] ALSA: usb-audio: Add skip_validation option + +The unit descriptor validation may lead to a probe error when the +device provides a buggy descriptor or the validator detected +incorrectly. For identifying such an error and band-aiding, give a +new module option, skip_validation. With this option, the driver +ignores the validation errors with the hexdump of the unit +descriptor, so we can check it in a bit more details. + +Link: https://lore.kernel.org/r/20191114165613.7422-2-tiwai@suse.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit f35ef592477c5347b8f780a5f0d4970671e22c61) +Bugzilla: 1772498 +--- + sound/usb/card.c | 3 +++ + sound/usb/usbaudio.h | 1 + + sound/usb/validate.c | 23 ++++++++++++++++++++--- + 3 files changed, 24 insertions(+), 3 deletions(-) + +diff --git a/sound/usb/card.c b/sound/usb/card.c +index db91dc76cc91..9f743ebae615 100644 +--- a/sound/usb/card.c ++++ b/sound/usb/card.c +@@ -74,6 +74,7 @@ static bool autoclock = true; + static char *quirk_alias[SNDRV_CARDS]; + + bool snd_usb_use_vmalloc = true; ++bool snd_usb_skip_validation; + + module_param_array(index, int, NULL, 0444); + MODULE_PARM_DESC(index, "Index value for the USB audio adapter."); +@@ -96,6 +97,8 @@ module_param_array(quirk_alias, charp, NULL, 0444); + MODULE_PARM_DESC(quirk_alias, "Quirk aliases, e.g. 0123abcd:5678beef."); + module_param_named(use_vmalloc, snd_usb_use_vmalloc, bool, 0444); + MODULE_PARM_DESC(use_vmalloc, "Use vmalloc for PCM intermediate buffers (default: yes)."); ++module_param_named(skip_validation, snd_usb_skip_validation, bool, 0444); ++MODULE_PARM_DESC(skip_validation, "Skip unit descriptor validation (default: no)."); + + /* + * we keep the snd_usb_audio_t instances by ourselves for merging +diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h +index feb30f9c1716..ff3cbf653de8 100644 +--- a/sound/usb/usbaudio.h ++++ b/sound/usb/usbaudio.h +@@ -120,5 +120,6 @@ int snd_usb_lock_shutdown(struct snd_usb_audio *chip); + void snd_usb_unlock_shutdown(struct snd_usb_audio *chip); + + extern bool snd_usb_use_vmalloc; ++extern bool snd_usb_skip_validation; + + #endif /* __USBAUDIO_H */ +diff --git a/sound/usb/validate.c b/sound/usb/validate.c +index 389e8657434a..36ae78c3da3d 100644 +--- a/sound/usb/validate.c ++++ b/sound/usb/validate.c +@@ -322,11 +322,28 @@ static bool validate_desc(unsigned char *hdr, int protocol, + + bool snd_usb_validate_audio_desc(void *p, int protocol) + { +- return validate_desc(p, protocol, audio_validators); ++ unsigned char *c = p; ++ bool valid; ++ ++ valid = validate_desc(p, protocol, audio_validators); ++ if (!valid && snd_usb_skip_validation) { ++ print_hex_dump(KERN_ERR, "USB-audio: buggy audio desc: ", ++ DUMP_PREFIX_NONE, 16, 1, c, c[0], true); ++ valid = true; ++ } ++ return valid; + } + + bool snd_usb_validate_midi_desc(void *p) + { +- return validate_desc(p, UAC_VERSION_1, midi_validators); ++ unsigned char *c = p; ++ bool valid; ++ ++ valid = validate_desc(p, UAC_VERSION_1, midi_validators); ++ if (!valid && snd_usb_skip_validation) { ++ print_hex_dump(KERN_ERR, "USB-audio: buggy midi desc: ", ++ DUMP_PREFIX_NONE, 16, 1, c, c[0], true); ++ valid = true; ++ } ++ return valid; + } +- +-- +2.20.1 + + +From fb285eb397d32ae1edbdc4e7ad82a0e2157b2454 Mon Sep 17 00:00:00 2001 +From: Kai-Heng Feng <kai.heng.feng@canonical.com> +Date: Fri, 18 Oct 2019 15:38:47 +0800 +Subject: [PATCH 004/130] PCI: Add a helper to check Power Resource + Requirements _PR3 existence + +A driver may want to know the existence of _PR3, to choose different +runtime suspend behavior. A user will be add in next patch. + +This is mostly the same as nouveau_pr3_present(). + +Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> +Acked-by: Bjorn Helgaas <bhelgaas@google.com> +Link: https://lore.kernel.org/r/20191018073848.14590-1-kai.heng.feng@canonical.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 52525b7a3cf82adec5c6cf0ecbd23ff228badc94) +Bugzilla: 1772498 +--- + drivers/pci/pci.c | 18 ++++++++++++++++++ + include/linux/pci.h | 2 ++ + 2 files changed, 20 insertions(+) + +diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c +index a97e2571a527..fcfaadc774ee 100644 +--- a/drivers/pci/pci.c ++++ b/drivers/pci/pci.c +@@ -5854,6 +5854,24 @@ int pci_set_vga_state(struct pci_dev *dev, bool decode, + return 0; + } + ++#ifdef CONFIG_ACPI ++bool pci_pr3_present(struct pci_dev *pdev) ++{ ++ struct acpi_device *adev; ++ ++ if (acpi_disabled) ++ return false; ++ ++ adev = ACPI_COMPANION(&pdev->dev); ++ if (!adev) ++ return false; ++ ++ return adev->power.flags.power_resources && ++ acpi_has_method(adev->handle, "_PR3"); ++} ++EXPORT_SYMBOL_GPL(pci_pr3_present); ++#endif ++ + /** + * pci_add_dma_alias - Add a DMA devfn alias for a device + * @dev: the PCI device for which alias is added +diff --git a/include/linux/pci.h b/include/linux/pci.h +index f9088c89a534..1d15c5d49cdd 100644 +--- a/include/linux/pci.h ++++ b/include/linux/pci.h +@@ -2310,9 +2310,11 @@ struct irq_domain *pci_host_bridge_acpi_msi_domain(struct pci_bus *bus); + + void + pci_msi_register_fwnode_provider(struct fwnode_handle *(*fn)(struct device *)); ++bool pci_pr3_present(struct pci_dev *pdev); + #else + static inline struct irq_domain * + pci_host_bridge_acpi_msi_domain(struct pci_bus *bus) { return NULL; } ++static bool pci_pr3_present(struct pci_dev *pdev) { return false; } + #endif + + #ifdef CONFIG_EEH +-- +2.20.1 + + +From 7fbcfac9bf68e2ccccafb3736287e1b1e021c2f3 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Mon, 21 Oct 2019 16:25:20 +0200 +Subject: [PATCH 005/130] PCI: Fix missing inline for pci_pr3_present() + +The inline prefix was missing in the dummy function pci_pr3_present() +definition. Fix it. + +Reported-by: kbuild test robot <lkp@intel.com> +Fixes: 52525b7a3cf8 ("PCI: Add a helper to check Power Resource Requirements _PR3 existence") +Link: https://lore.kernel.org/r/201910212111.qHm6OcWx%lkp@intel.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 46b4bff6572b0552b1ee062043621e4b252638d8) +Bugzilla: 1772498 +--- + include/linux/pci.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/linux/pci.h b/include/linux/pci.h +index 1d15c5d49cdd..be529d311122 100644 +--- a/include/linux/pci.h ++++ b/include/linux/pci.h +@@ -2314,7 +2314,7 @@ bool pci_pr3_present(struct pci_dev *pdev); + #else + static inline struct irq_domain * + pci_host_bridge_acpi_msi_domain(struct pci_bus *bus) { return NULL; } +-static bool pci_pr3_present(struct pci_dev *pdev) { return false; } ++static inline bool pci_pr3_present(struct pci_dev *pdev) { return false; } + #endif + + #ifdef CONFIG_EEH +-- +2.20.1 + + +From 6e6ea1a80e8b33f3908fdfa4ce45c3fa684cda75 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Tue, 22 Oct 2019 19:43:12 +0200 +Subject: [PATCH 006/130] ALSA: hda: add Intel DSP configuration / probe code + +For distributions, we need one place where we can decide +which driver will be activated for the auto-configation of the +Intel's HDA hardware with DSP. Actually, we cover three drivers: + +* Legacy HDA +* Intel SST +* Intel Sound Open Firmware (SOF) + +All those drivers registers similar PCI IDs, so the first +driver probed from the PCI stack can win. But... it is not +guaranteed that the correct driver wins. + +This commit changes Intel's NHLT ACPI module to a common +DSP probe module for the Intel's hardware. All above sound +drivers calls this code. The user can force another behaviour +using the module parameter 'dsp_driver' located in +the 'snd-intel-dspcfg' module. + +This change allows to add specific dmi checks for the specific +systems. The examples are taken from the pull request: + + https://github.com/thesofproject/linux/pull/927 + +Tested on Lenovo Carbon X1 7th gen. + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Tested-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191022174313.29087-1-perex@perex.cz +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 82d9d54a6c0ee8b12211fa4e59fd940a2da4e063) +Bugzilla: 1772498 +--- + include/sound/intel-dsp-config.h | 34 +++++ + sound/hda/Kconfig | 10 +- + sound/hda/Makefile | 5 +- + sound/hda/intel-dsp-config.c | 249 +++++++++++++++++++++++++++++++ + sound/hda/intel-nhlt.c | 3 - + sound/pci/hda/Kconfig | 11 +- + sound/pci/hda/hda_intel.c | 49 ++---- + sound/soc/intel/Kconfig | 2 +- + sound/soc/intel/skylake/skl.c | 19 +-- + sound/soc/sof/intel/Kconfig | 2 +- + sound/soc/sof/sof-pci-dev.c | 6 + + 11 files changed, 322 insertions(+), 68 deletions(-) + create mode 100644 include/sound/intel-dsp-config.h + create mode 100644 sound/hda/intel-dsp-config.c + +diff --git a/include/sound/intel-dsp-config.h b/include/sound/intel-dsp-config.h +new file mode 100644 +index 000000000000..c36622bee3f8 +--- /dev/null ++++ b/include/sound/intel-dsp-config.h +@@ -0,0 +1,34 @@ ++/* SPDX-License-Identifier: GPL-2.0-only */ ++/* ++ * intel-dsp-config.h - Intel DSP config ++ * ++ * Copyright (c) 2019 Jaroslav Kysela <perex@perex.cz> ++ */ ++ ++#ifndef __INTEL_DSP_CONFIG_H__ ++#define __INTEL_DSP_CONFIG_H__ ++ ++struct pci_dev; ++ ++enum { ++ SND_INTEL_DSP_DRIVER_ANY = 0, ++ SND_INTEL_DSP_DRIVER_LEGACY, ++ SND_INTEL_DSP_DRIVER_SST, ++ SND_INTEL_DSP_DRIVER_SOF, ++ SND_INTEL_DSP_DRIVER_LAST = SND_INTEL_DSP_DRIVER_SOF ++}; ++ ++#if IS_ENABLED(CONFIG_SND_INTEL_DSP_CONFIG) ++ ++int snd_intel_dsp_driver_probe(struct pci_dev *pci); ++ ++#else ++ ++static inline int snd_intel_dsp_driver_probe(struct pci_dev *pci) ++{ ++ return SND_INTEL_DSP_DRIVER_ANY; ++} ++ ++#endif ++ ++#endif +diff --git a/sound/hda/Kconfig b/sound/hda/Kconfig +index 3d33fc1757ba..b0c88fe040ee 100644 +--- a/sound/hda/Kconfig ++++ b/sound/hda/Kconfig +@@ -34,6 +34,12 @@ config SND_HDA_PREALLOC_SIZE + via a proc file (/proc/asound/card*/pcm*/sub*/prealloc), too. + + config SND_INTEL_NHLT +- tristate ++ bool + # this config should be selected only for Intel ACPI platforms. +- # A fallback is provided so that the code compiles in all cases. +\ No newline at end of file ++ # A fallback is provided so that the code compiles in all cases. ++ ++config SND_INTEL_DSP_CONFIG ++ tristate ++ select SND_INTEL_NHLT if ACPI ++ # this config should be selected only for Intel DSP platforms. ++ # A fallback is provided so that the code compiles in all cases. +diff --git a/sound/hda/Makefile b/sound/hda/Makefile +index 8560f6ef1b19..601e617918b8 100644 +--- a/sound/hda/Makefile ++++ b/sound/hda/Makefile +@@ -14,5 +14,6 @@ obj-$(CONFIG_SND_HDA_CORE) += snd-hda-core.o + #extended hda + obj-$(CONFIG_SND_HDA_EXT_CORE) += ext/ + +-snd-intel-nhlt-objs := intel-nhlt.o +-obj-$(CONFIG_SND_INTEL_NHLT) += snd-intel-nhlt.o ++snd-intel-dspcfg-objs := intel-dsp-config.o ++snd-intel-dspcfg-$(CONFIG_SND_INTEL_NHLT) += intel-nhlt.o ++obj-$(CONFIG_SND_INTEL_DSP_CONFIG) += snd-intel-dspcfg.o +diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c +new file mode 100644 +index 000000000000..d9f6d9e872b4 +--- /dev/null ++++ b/sound/hda/intel-dsp-config.c +@@ -0,0 +1,249 @@ ++// SPDX-License-Identifier: GPL-2.0 ++// Copyright (c) 2019 Jaroslav Kysela <perex@perex.cz> ++ ++#include <linux/bits.h> ++#include <linux/dmi.h> ++#include <linux/module.h> ++#include <linux/pci.h> ++#include <sound/core.h> ++#include <sound/intel-dsp-config.h> ++#include <sound/intel-nhlt.h> ++ ++static int dsp_driver; ++ ++module_param(dsp_driver, int, 0444); ++MODULE_PARM_DESC(dsp_driver, "Force the DSP driver for Intel DSP (0=auto, 1=legacy, 2=SST, 3=SOF)"); ++ ++#define FLAG_SST BIT(0) ++#define FLAG_SOF BIT(1) ++#define FLAG_SOF_ONLY_IF_DMIC BIT(16) ++ ++struct config_entry { ++ u32 flags; ++ u16 device; ++ const struct dmi_system_id *dmi_table; ++}; ++ ++/* ++ * configuration table ++ * - the order of similar PCI ID entries is important! ++ * - the first successful match will win ++ */ ++static const struct config_entry config_table[] = { ++/* Cometlake-LP */ ++#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_LP) ++ { ++ /* prefer SST */ ++ .flags = FLAG_SST, ++ .device = 0x02c8, ++ }, ++#elif IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP) ++ { ++ .flags = FLAG_SOF, ++ .device = 0x02c8, ++ }, ++#endif ++/* Cometlake-H */ ++#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_H) ++ { ++ .flags = FLAG_SST, ++ .device = 0x06c8, ++ }, ++#elif IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H) ++ { ++ .flags = FLAG_SOF, ++ .device = 0x06c8, ++ }, ++#endif ++/* Merrifield */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_MERRIFIELD) ++ { ++ .flags = FLAG_SOF, ++ .device = 0x119a, ++ }, ++#endif ++/* Broxton-T */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) ++ { ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0x1a98, ++ }, ++#endif ++/* Geminilake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_GEMINILAKE) ++ { ++ .flags = FLAG_SOF, ++ .device = 0x3198, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Google Chromebooks", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), ++ } ++ }, ++ {} ++ } ++ }, ++#endif ++#if IS_ENABLED(CONFIG_SND_SOC_INTEL_GLK) ++ { ++ .flags = FLAG_SST, ++ .device = 0x3198, ++ }, ++#endif ++/* Icelake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE) ++ { ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0x34c8, ++ }, ++#endif ++/* Elkhart Lake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_ELKHARTLAKE) ++ { ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0x4b55, ++ }, ++#endif ++/* Appololake (Broxton-P) */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) ++ { ++ .flags = FLAG_SOF, ++ .device = 0x5a98, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Up Squared", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "AAEON"), ++ DMI_MATCH(DMI_BOARD_NAME, "UP-APL01"), ++ } ++ }, ++ {} ++ } ++ }, ++#endif ++#if IS_ENABLED(CONFIG_SND_SOC_INTEL_APL) ++ { ++ .flags = FLAG_SST, ++ .device = 0x5a98, ++ }, ++#endif ++/* Cannonlake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_CANNONLAKE) ++ { ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0x9dc8, ++ }, ++#endif ++/* Sunrise Point-LP */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_SKYLAKE) ++ { ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0x9d70, ++ }, ++#endif ++/* Kabylake-LP */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_KABYLAKE) ++ { ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0x9d71, ++ }, ++#endif ++/* Tigerlake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_TIGERLAKE) ++ { ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0xa0c8, ++ }, ++#endif ++/* Coffelake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE) ++ { ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0xa348, ++ }, ++#endif ++}; ++ ++static const struct config_entry *snd_intel_dsp_find_config ++ (struct pci_dev *pci, const struct config_entry *table, u32 len) ++{ ++ u16 device; ++ ++ device = pci->device; ++ for (; len > 0; len--, table++) { ++ if (table->device != device) ++ continue; ++ if (table->dmi_table && !dmi_check_system(table->dmi_table)) ++ continue; ++ return table; ++ } ++ return NULL; ++} ++ ++static int snd_intel_dsp_check_dmic(struct pci_dev *pci) ++{ ++ struct nhlt_acpi_table *nhlt; ++ int ret = 0; ++ ++ nhlt = intel_nhlt_init(&pci->dev); ++ if (nhlt) { ++ if (intel_nhlt_get_dmic_geo(&pci->dev, nhlt)) ++ ret = 1; ++ intel_nhlt_free(nhlt); ++ } ++ return ret; ++} ++ ++int snd_intel_dsp_driver_probe(struct pci_dev *pci) ++{ ++ const struct config_entry *cfg; ++ ++ if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST) ++ return dsp_driver; ++ ++ /* Intel vendor only */ ++ if (snd_BUG_ON(pci->vendor != 0x8086)) ++ return SND_INTEL_DSP_DRIVER_ANY; ++ ++ /* ++ * detect DSP by checking class/subclass/prog-id information ++ * class=04 subclass 03 prog-if 00: no DSP, use legacy driver ++ * class=04 subclass 01 prog-if 00: DSP is present ++ * (and may be required e.g. for DMIC or SSP support) ++ * class=04 subclass 03 prog-if 80: use DSP or legacy mode ++ */ ++ if (pci->class == 0x040300) ++ return SND_INTEL_DSP_DRIVER_LEGACY; ++ if (pci->class != 0x040100 && pci->class != 0x040380) { ++ dev_err(&pci->dev, "Unknown PCI class/subclass/prog-if information (0x%06x) found, selecting HDA legacy driver\n", pci->class); ++ return SND_INTEL_DSP_DRIVER_LEGACY; ++ } ++ ++ dev_info(&pci->dev, "DSP detected with PCI class/subclass/prog-if info 0x%06x\n", pci->class); ++ ++ /* find the configuration for the specific device */ ++ cfg = snd_intel_dsp_find_config(pci, config_table, ARRAY_SIZE(config_table)); ++ if (!cfg) ++ return SND_INTEL_DSP_DRIVER_ANY; ++ ++ if (cfg->flags & FLAG_SOF) { ++ if (cfg->flags & FLAG_SOF_ONLY_IF_DMIC) { ++ if (snd_intel_dsp_check_dmic(pci)) { ++ dev_info(&pci->dev, "Digital mics found on Skylake+ platform, using SOF driver\n"); ++ return SND_INTEL_DSP_DRIVER_SOF; ++ } ++ } else { ++ return SND_INTEL_DSP_DRIVER_SOF; ++ } ++ } ++ ++ if (cfg->flags & FLAG_SST) ++ return SND_INTEL_DSP_DRIVER_SST; ++ ++ return SND_INTEL_DSP_DRIVER_LEGACY; ++} ++EXPORT_SYMBOL_GPL(snd_intel_dsp_driver_probe); ++ ++MODULE_LICENSE("GPL v2"); ++MODULE_DESCRIPTION("Intel DSP config driver"); +diff --git a/sound/hda/intel-nhlt.c b/sound/hda/intel-nhlt.c +index daede96f28ee..097ff6c10099 100644 +--- a/sound/hda/intel-nhlt.c ++++ b/sound/hda/intel-nhlt.c +@@ -102,6 +102,3 @@ int intel_nhlt_get_dmic_geo(struct device *dev, struct nhlt_acpi_table *nhlt) + return dmic_geo; + } + EXPORT_SYMBOL_GPL(intel_nhlt_get_dmic_geo); +- +-MODULE_LICENSE("GPL v2"); +-MODULE_DESCRIPTION("Intel NHLT driver"); +diff --git a/sound/pci/hda/Kconfig b/sound/pci/hda/Kconfig +index dae47a45b2b8..bd48335d09d7 100644 +--- a/sound/pci/hda/Kconfig ++++ b/sound/pci/hda/Kconfig +@@ -12,7 +12,7 @@ config SND_HDA_INTEL + tristate "HD Audio PCI" + depends on SND_PCI + select SND_HDA +- select SND_INTEL_NHLT if ACPI ++ select SND_INTEL_DSP_CONFIG + help + Say Y here to include support for Intel "High Definition + Audio" (Azalia) and its compatible devices. +@@ -23,15 +23,6 @@ config SND_HDA_INTEL + To compile this driver as a module, choose M here: the module + will be called snd-hda-intel. + +-config SND_HDA_INTEL_DETECT_DMIC +- bool "DMIC detection and probe abort" +- depends on SND_HDA_INTEL +- help +- Say Y to detect digital microphones on SKL+ devices. DMICs +- cannot be handled by the HDaudio legacy driver and are +- currently only supported by the SOF driver. +- If unsure say N. +- + config SND_HDA_TEGRA + tristate "NVIDIA Tegra HD Audio" + depends on ARCH_TEGRA +diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c +index c52419376c74..2e5742d095ff 100644 +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -46,7 +46,7 @@ + #include <sound/initval.h> + #include <sound/hdaudio.h> + #include <sound/hda_i915.h> +-#include <sound/intel-nhlt.h> ++#include <sound/intel-dsp-config.h> + #include <linux/vgaarb.h> + #include <linux/vga_switcheroo.h> + #include <linux/firmware.h> +@@ -124,7 +124,7 @@ static char *patch[SNDRV_CARDS]; + static bool beep_mode[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS-1)] = + CONFIG_SND_HDA_INPUT_BEEP_MODE}; + #endif +-static bool dmic_detect = IS_ENABLED(CONFIG_SND_HDA_INTEL_DETECT_DMIC); ++static bool dsp_driver = 1; + + module_param_array(index, int, NULL, 0444); + MODULE_PARM_DESC(index, "Index value for Intel HD audio interface."); +@@ -159,8 +159,9 @@ module_param_array(beep_mode, bool, NULL, 0444); + MODULE_PARM_DESC(beep_mode, "Select HDA Beep registration mode " + "(0=off, 1=on) (default=1)."); + #endif +-module_param(dmic_detect, bool, 0444); +-MODULE_PARM_DESC(dmic_detect, "DMIC detect on SKL+ platforms"); ++module_param(dsp_driver, bool, 0444); ++MODULE_PARM_DESC(dsp_driver, "Allow DSP driver selection (bypass this driver) " ++ "(0=off, 1=on) (default=1)"); + + #ifdef CONFIG_PM + static int param_set_xint(const char *val, const struct kernel_param *kp); +@@ -2020,25 +2021,6 @@ static const struct hda_controller_ops pci_hda_ops = { + .position_check = azx_position_check, + }; + +-static int azx_check_dmic(struct pci_dev *pci, struct azx *chip) +-{ +- struct nhlt_acpi_table *nhlt; +- int ret = 0; +- +- if (chip->driver_type == AZX_DRIVER_SKL && +- pci->class != 0x040300) { +- nhlt = intel_nhlt_init(&pci->dev); +- if (nhlt) { +- if (intel_nhlt_get_dmic_geo(&pci->dev, nhlt)) { +- ret = -ENODEV; +- dev_info(&pci->dev, "Digital mics found on Skylake+ platform, aborting probe\n"); +- } +- intel_nhlt_free(nhlt); +- } +- } +- return ret; +-} +- + static int azx_probe(struct pci_dev *pci, + const struct pci_device_id *pci_id) + { +@@ -2056,6 +2038,16 @@ static int azx_probe(struct pci_dev *pci, + return -ENOENT; + } + ++ /* ++ * stop probe if another Intel's DSP driver should be activated ++ */ ++ if (dsp_driver) { ++ err = snd_intel_dsp_driver_probe(pci); ++ if (err != SND_INTEL_DSP_DRIVER_ANY && ++ err != SND_INTEL_DSP_DRIVER_LEGACY) ++ return -ENODEV; ++ } ++ + err = snd_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE, + 0, &card); + if (err < 0) { +@@ -2069,17 +2061,6 @@ static int azx_probe(struct pci_dev *pci, + card->private_data = chip; + hda = container_of(chip, struct hda_intel, chip); + +- /* +- * stop probe if digital microphones detected on Skylake+ platform +- * with the DSP enabled. This is an opt-in behavior defined at build +- * time or at run-time with a module parameter +- */ +- if (dmic_detect) { +- err = azx_check_dmic(pci, chip); +- if (err < 0) +- goto out_free; +- } +- + pci_set_drvdata(pci, card); + + err = register_vga_switcheroo(chip); +diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig +index 01c99750212a..9ad89d56092b 100644 +--- a/sound/soc/intel/Kconfig ++++ b/sound/soc/intel/Kconfig +@@ -215,7 +215,7 @@ config SND_SOC_INTEL_SKYLAKE_COMMON + select SND_SOC_INTEL_SST + select SND_SOC_HDAC_HDA if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC + select SND_SOC_ACPI_INTEL_MATCH +- select SND_INTEL_NHLT if ACPI ++ select SND_INTEL_DSP_CONFIG + help + If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/ + GeminiLake or CannonLake platform with the DSP enabled in the BIOS +diff --git a/sound/soc/intel/skylake/skl.c b/sound/soc/intel/skylake/skl.c +index 141dbbf975ac..58ba3e9469ba 100644 +--- a/sound/soc/intel/skylake/skl.c ++++ b/sound/soc/intel/skylake/skl.c +@@ -27,6 +27,7 @@ + #include <sound/hda_i915.h> + #include <sound/hda_codec.h> + #include <sound/intel-nhlt.h> ++#include <sound/intel-dsp-config.h> + #include "skl.h" + #include "skl-sst-dsp.h" + #include "skl-sst-ipc.h" +@@ -987,22 +988,10 @@ static int skl_probe(struct pci_dev *pci, + + switch (skl_pci_binding) { + case SND_SKL_PCI_BIND_AUTO: +- /* +- * detect DSP by checking class/subclass/prog-id information +- * class=04 subclass 03 prog-if 00: no DSP, use legacy driver +- * class=04 subclass 01 prog-if 00: DSP is present +- * (and may be required e.g. for DMIC or SSP support) +- * class=04 subclass 03 prog-if 80: use DSP or legacy mode +- */ +- if (pci->class == 0x040300) { +- dev_info(&pci->dev, "The DSP is not enabled on this platform, aborting probe\n"); ++ err = snd_intel_dsp_driver_probe(pci); ++ if (err != SND_INTEL_DSP_DRIVER_ANY && ++ err != SND_INTEL_DSP_DRIVER_SST) + return -ENODEV; +- } +- if (pci->class != 0x040100 && pci->class != 0x040380) { +- dev_err(&pci->dev, "Unknown PCI class/subclass/prog-if information (0x%06x) found, aborting probe\n", pci->class); +- return -ENODEV; +- } +- dev_info(&pci->dev, "DSP detected with PCI class/subclass/prog-if info 0x%06x\n", pci->class); + break; + case SND_SKL_PCI_BIND_LEGACY: + dev_info(&pci->dev, "Module parameter forced binding with HDaudio legacy, aborting probe\n"); +diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig +index d62f51d33be1..1be28581c328 100644 +--- a/sound/soc/sof/intel/Kconfig ++++ b/sound/soc/sof/intel/Kconfig +@@ -296,7 +296,7 @@ config SND_SOC_SOF_HDA + tristate + select SND_HDA_EXT_CORE if SND_SOC_SOF_HDA_LINK + select SND_SOC_HDAC_HDA if SND_SOC_SOF_HDA_AUDIO_CODEC +- select SND_INTEL_NHLT if ACPI ++ select SND_INTEL_DSP_CONFIG + help + This option is not user-selectable but automagically handled by + 'select' statements at a higher level +diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c +index d66412a77873..3a9e0e2a150d 100644 +--- a/sound/soc/sof/sof-pci-dev.c ++++ b/sound/soc/sof/sof-pci-dev.c +@@ -12,6 +12,7 @@ + #include <linux/module.h> + #include <linux/pci.h> + #include <linux/pm_runtime.h> ++#include <sound/intel-dsp-config.h> + #include <sound/soc-acpi.h> + #include <sound/soc-acpi-intel-match.h> + #include <sound/sof.h> +@@ -277,6 +278,11 @@ static int sof_pci_probe(struct pci_dev *pci, + const struct snd_sof_dsp_ops *ops; + int ret; + ++ ret = snd_intel_dsp_driver_probe(pci); ++ if (ret != SND_INTEL_DSP_DRIVER_ANY && ++ ret != SND_INTEL_DSP_DRIVER_SOF) ++ return -ENODEV; ++ + dev_dbg(&pci->dev, "PCI DSP detected"); + + /* get ops for platform */ +-- +2.20.1 + + +From 8f609dd45d5598536e5a1a7a84fe19ff7c13559a Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Tue, 22 Oct 2019 19:43:13 +0200 +Subject: [PATCH 007/130] ALSA: hda: fix intel DSP config + +Reshuffle list of devices by historical order and add correct +information as needed. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Link: https://lore.kernel.org/r/20191022174313.29087-2-perex@perex.cz +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit cc8f81c7e625168a60843b2b39e3a327cf5170fe) +Bugzilla: 1772498 +--- + sound/hda/intel-dsp-config.c | 220 ++++++++++++++++++++++++++--------- + 1 file changed, 164 insertions(+), 56 deletions(-) + +diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c +index d9f6d9e872b4..0b2a7201a46a 100644 +--- a/sound/hda/intel-dsp-config.c ++++ b/sound/hda/intel-dsp-config.c +@@ -30,45 +30,98 @@ struct config_entry { + * - the first successful match will win + */ + static const struct config_entry config_table[] = { +-/* Cometlake-LP */ +-#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_LP) ++/* Merrifield */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_MERRIFIELD) + { +- /* prefer SST */ +- .flags = FLAG_SST, +- .device = 0x02c8, ++ .flags = FLAG_SOF, ++ .device = 0x119a, + }, +-#elif IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP) ++#endif ++/* Broxton-T */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) + { + .flags = FLAG_SOF, +- .device = 0x02c8, ++ .device = 0x1a98, + }, + #endif +-/* Cometlake-H */ +-#if IS_ENABLED(CONFIG_SND_SOC_INTEL_CML_H) ++/* ++ * Apollolake (Broxton-P) ++ * the legacy HDaudio driver is used except on Up Squared (SOF) and ++ * Chromebooks (SST) ++ */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) + { +- .flags = FLAG_SST, +- .device = 0x06c8, ++ .flags = FLAG_SOF, ++ .device = 0x5a98, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Up Squared", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "AAEON"), ++ DMI_MATCH(DMI_BOARD_NAME, "UP-APL01"), ++ } ++ }, ++ {} ++ } + }, +-#elif IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H) ++#endif ++#if IS_ENABLED(CONFIG_SND_SOC_INTEL_APL) + { +- .flags = FLAG_SOF, +- .device = 0x06c8, ++ .flags = FLAG_SST, ++ .device = 0x5a98, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Google Chromebooks", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), ++ } ++ }, ++ {} ++ } + }, + #endif +-/* Merrifield */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_MERRIFIELD) ++/* ++ * Skylake and Kabylake use legacy HDaudio driver except for Google ++ * Chromebooks (SST) ++ */ ++ ++/* Sunrise Point-LP */ ++#if IS_ENABLED(CONFIG_SND_SOC_INTEL_SKL) + { +- .flags = FLAG_SOF, +- .device = 0x119a, ++ .flags = FLAG_SST, ++ .device = 0x9d70, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Google Chromebooks", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), ++ } ++ }, ++ {} ++ } + }, + #endif +-/* Broxton-T */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) ++/* Kabylake-LP */ ++#if IS_ENABLED(CONFIG_SND_SOC_INTEL_KBL) + { +- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, +- .device = 0x1a98, ++ .flags = FLAG_SST, ++ .device = 0x9d71, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Google Chromebooks", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), ++ } ++ }, ++ {} ++ } + }, + #endif ++ ++/* ++ * Geminilake uses legacy HDaudio driver except for Google ++ * Chromebooks ++ */ + /* Geminilake */ + #if IS_ENABLED(CONFIG_SND_SOC_SOF_GEMINILAKE) + { +@@ -85,84 +138,139 @@ static const struct config_entry config_table[] = { + } + }, + #endif +-#if IS_ENABLED(CONFIG_SND_SOC_INTEL_GLK) ++ ++/* ++ * CoffeeLake, CannonLake, CometLake, IceLake, TigerLake use legacy ++ * HDaudio driver except for Google Chromebooks and when DMICs are ++ * present. Two cases are required since Coreboot does not expose NHLT ++ * tables. ++ * ++ * When the Chromebook quirk is not present, it's based on information ++ * that no such device exists. When the quirk is present, it could be ++ * either based on product information or a placeholder. ++ */ ++ ++/* Cannonlake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_CANNONLAKE) + { +- .flags = FLAG_SST, +- .device = 0x3198, ++ .flags = FLAG_SOF, ++ .device = 0x9dc8, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Google Chromebooks", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), ++ } ++ }, ++ {} ++ } + }, +-#endif +-/* Icelake */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE) + { + .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, +- .device = 0x34c8, ++ .device = 0x9dc8, + }, + #endif +-/* Elkhart Lake */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_ELKHARTLAKE) ++ ++/* Coffelake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE) ++ { ++ .flags = FLAG_SOF, ++ .device = 0xa348, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Google Chromebooks", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), ++ } ++ }, ++ {} ++ } ++ }, + { + .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, +- .device = 0x4b55, ++ .device = 0xa348, + }, + #endif +-/* Appololake (Broxton-P) */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) ++ ++/* Cometlake-LP */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP) + { + .flags = FLAG_SOF, +- .device = 0x5a98, ++ .device = 0x02c8, + .dmi_table = (const struct dmi_system_id []) { + { +- .ident = "Up Squared", ++ .ident = "Google Chromebooks", + .matches = { +- DMI_MATCH(DMI_SYS_VENDOR, "AAEON"), +- DMI_MATCH(DMI_BOARD_NAME, "UP-APL01"), ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), + } + }, + {} + } + }, +-#endif +-#if IS_ENABLED(CONFIG_SND_SOC_INTEL_APL) + { +- .flags = FLAG_SST, +- .device = 0x5a98, ++ .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, ++ .device = 0x02c8, + }, + #endif +-/* Cannonlake */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_CANNONLAKE) ++/* Cometlake-H */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H) + { + .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, +- .device = 0x9dc8, ++ .device = 0x06c8, + }, + #endif +-/* Sunrise Point-LP */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_SKYLAKE) ++ ++/* Icelake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE) + { +- .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, +- .device = 0x9d70, ++ .flags = FLAG_SOF, ++ .device = 0x34c8, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Google Chromebooks", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), ++ } ++ }, ++ {} ++ } + }, +-#endif +-/* Kabylake-LP */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_KABYLAKE) + { + .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, +- .device = 0x9d71, ++ .device = 0x34c8, + }, + #endif ++ + /* Tigerlake */ + #if IS_ENABLED(CONFIG_SND_SOC_SOF_TIGERLAKE) ++ { ++ .flags = FLAG_SOF, ++ .device = 0xa0c8, ++ .dmi_table = (const struct dmi_system_id []) { ++ { ++ .ident = "Google Chromebooks", ++ .matches = { ++ DMI_MATCH(DMI_SYS_VENDOR, "Google"), ++ } ++ }, ++ {} ++ } ++ }, ++ + { + .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, + .device = 0xa0c8, + }, + #endif +-/* Coffelake */ +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE) ++ ++/* Elkhart Lake */ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_ELKHARTLAKE) + { + .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC, +- .device = 0xa348, ++ .device = 0x4b55, + }, + #endif ++ + }; + + static const struct config_entry *snd_intel_dsp_find_config +-- +2.20.1 + + +From 56731f15b8cce801875906ab32fefecd7858ab1a Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Mon, 28 Oct 2019 17:46:24 +0100 +Subject: [PATCH 008/130] ASoC: intel - fix the card names + +Those strings are exposed to the user space as the +card name thus used in the GUIs. The common +standard is to avoid '_' here. The worst case +is 'sof-skl_hda_card' string. + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Cc: Mark Brown <broonie@kernel.org> +Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191028164624.14334-1-perex@perex.cz +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit d745cc1ab65945b2d17ec9c5652f38299c054649) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 2 +- + sound/soc/intel/boards/skl_hda_dsp_generic.c | 2 +- + sound/soc/intel/boards/sof_rt5682.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +index 74dda8784f1a..d14ca327c684 100644 +--- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c ++++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +@@ -623,7 +623,7 @@ static int kabylake_card_late_probe(struct snd_soc_card *card) + * kabylake audio machine driver for MAX98927 + RT5514 + RT5663 + */ + static struct snd_soc_card kabylake_audio_card = { +- .name = "kbl_r5514_5663_max", ++ .name = "kbl-r5514-5663-max", + .owner = THIS_MODULE, + .dai_link = kabylake_dais, + .num_links = ARRAY_SIZE(kabylake_dais), +diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c +index 1778acdc367c..e8d676c192f6 100644 +--- a/sound/soc/intel/boards/skl_hda_dsp_generic.c ++++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c +@@ -90,7 +90,7 @@ skl_hda_add_dai_link(struct snd_soc_card *card, struct snd_soc_dai_link *link) + } + + static struct snd_soc_card hda_soc_card = { +- .name = "skl_hda_card", ++ .name = "hda-dsp", + .owner = THIS_MODULE, + .dai_link = skl_hda_be_dai_links, + .dapm_widgets = skl_hda_widgets, +diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c +index 4f6e58c3954a..320a9b9273db 100644 +--- a/sound/soc/intel/boards/sof_rt5682.c ++++ b/sound/soc/intel/boards/sof_rt5682.c +@@ -370,7 +370,7 @@ static int dmic_init(struct snd_soc_pcm_runtime *rtd) + + /* sof audio machine driver for rt5682 codec */ + static struct snd_soc_card sof_audio_card_rt5682 = { +- .name = "sof_rt5682", ++ .name = "rt5682", /* the sof- prefix is added by the core */ + .owner = THIS_MODULE, + .controls = sof_controls, + .num_controls = ARRAY_SIZE(sof_controls), +-- +2.20.1 + + +From 63d4f97804a1ab4ad9e84843bdee307c2ab9e9b5 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Mon, 28 Oct 2019 14:06:34 +0100 +Subject: [PATCH 009/130] ALSA: hda: Allow non-Intel device probe gracefully + +The recent addition of snd_intel_dsp_driver_probe() check caused a +spurious kernel warning when the driver is loaded for a non-Intel +hardware due to snd_BUG_ON(). Moreover, for such a hardware, we +should always return SND_INTEL_DSP_DRIVER_ANY, not check the +dsp_driver option at all. + +This patch fixes these issues for non-Intel devices. + +Fixes: 82d9d54a6c0e ("ALSA: hda: add Intel DSP configuration / probe code") +Signed-off-by: Takashi Iwai <tiwai@suse.de> +Link: https://lore.kernel.org/r/20191028130634.3501-1-tiwai@suse.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 91636a82044a2821201b54faac4d1d2425260842) +Bugzilla: 1772498 +--- + sound/hda/intel-dsp-config.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sound/hda/intel-dsp-config.c b/sound/hda/intel-dsp-config.c +index 0b2a7201a46a..be1df80ed013 100644 +--- a/sound/hda/intel-dsp-config.c ++++ b/sound/hda/intel-dsp-config.c +@@ -307,13 +307,13 @@ int snd_intel_dsp_driver_probe(struct pci_dev *pci) + { + const struct config_entry *cfg; + +- if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST) +- return dsp_driver; +- + /* Intel vendor only */ +- if (snd_BUG_ON(pci->vendor != 0x8086)) ++ if (pci->vendor != 0x8086) + return SND_INTEL_DSP_DRIVER_ANY; + ++ if (dsp_driver > 0 && dsp_driver <= SND_INTEL_DSP_DRIVER_LAST) ++ return dsp_driver; ++ + /* + * detect DSP by checking class/subclass/prog-id information + * class=04 subclass 03 prog-if 00: no DSP, use legacy driver +-- +2.20.1 + + +From fddf95e9cd5e5768e35aa6f60a9686f21e690dc5 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Tue, 5 Nov 2019 09:18:06 +0100 +Subject: [PATCH 010/130] ALSA: hda: Disable regmap internal locking + +Since we apply the own mutex (bus->cmd_mutex) in HDA core side, the +internal locking in regmap is superfluous. This patch adds the flag +to indicate that. + +Also, an infamous side-effect by this change is that it disables the +regmap debugfs, too, and this is seen rather good; the regmap debugfs +isn't quite useful for HD-audio as it provides the very sparse +registers and its debugfs access tends to lead to the way too high +resource usages or sometimes hang up. So it'd be rather safe to +disable it altogether. + +Link: https://lore.kernel.org/r/2029139028.10333037.1572874551626.JavaMail.zimbra@redhat.com +Link: https://lore.kernel.org/r/20191105081806.4896-1-tiwai@suse.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 42ec336f1f9d54049811b749f729e9e01c152ade) +Bugzilla: 1772498 +--- + sound/hda/hdac_regmap.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/sound/hda/hdac_regmap.c b/sound/hda/hdac_regmap.c +index 286361ecd640..906b1e20bae0 100644 +--- a/sound/hda/hdac_regmap.c ++++ b/sound/hda/hdac_regmap.c +@@ -363,6 +363,7 @@ static const struct regmap_config hda_regmap_cfg = { + .reg_write = hda_reg_write, + .use_single_read = true, + .use_single_write = true, ++ .disable_locking = true, + }; + + /** +-- +2.20.1 + + +From b9f21867949f2ed530dbefed02d139c5a92e0621 Mon Sep 17 00:00:00 2001 +From: Kai-Heng Feng <kai.heng.feng@canonical.com> +Date: Fri, 18 Oct 2019 15:38:48 +0800 +Subject: [PATCH 011/130] ALSA: hda: Allow HDA to be runtime suspended when + dGPU is not bound to a driver + +Nvidia proprietary driver doesn't support runtime power management, so +when a user only wants to use the integrated GPU, it's a common practice +to let dGPU not to bind any driver, and let its upstream port to be +runtime suspended. At the end of runtime suspension the port uses +platform power management to disable power through _OFF method of power +resource, which is listed by _PR3. + +After commit b516ea586d71 ("PCI: Enable NVIDIA HDA controllers"), when +the dGPU comes with an HDA function, the HDA won't be suspended if the +dGPU is unbound, so the power resource can't be turned off by its +upstream port driver. + +Commit 37a3a98ef601 ("ALSA: hda - Enable runtime PM only for +discrete GPU") only allows HDA to be runtime suspended once GPU is +bound, to keep APU's HDA working. + +However, HDA on dGPU isn't that useful if dGPU is not bound to any +driver. So let's relax the runtime suspend requirement for dGPU's HDA +function, to disable the power source to save lots of power. + +BugLink: https://bugs.launchpad.net/bugs/1840835 +Fixes: b516ea586d71 ("PCI: Enable NVIDIA HDA controllers") +Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com> +Link: https://lore.kernel.org/r/20191018073848.14590-2-kai.heng.feng@canonical.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit bacd861452d2be86a4df341b12e32db7dac8021e) +Bugzilla: 1772498 +--- + sound/pci/hda/hda_intel.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c +index 2e5742d095ff..e0e9d4ee180d 100644 +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -1281,11 +1281,17 @@ static void init_vga_switcheroo(struct azx *chip) + { + struct hda_intel *hda = container_of(chip, struct hda_intel, chip); + struct pci_dev *p = get_bound_vga(chip->pci); ++ struct pci_dev *parent; + if (p) { + dev_info(chip->card->dev, + "Handle vga_switcheroo audio client\n"); + hda->use_vga_switcheroo = 1; +- chip->bus.keep_power = 1; /* cleared in either gpu_bound op or codec probe */ ++ ++ /* cleared in either gpu_bound op or codec probe, or when its ++ * upstream port has _PR3 (i.e. dGPU). ++ */ ++ parent = pci_upstream_bridge(p); ++ chip->bus.keep_power = parent ? !pci_pr3_present(parent) : 1; + chip->driver_caps |= AZX_DCAPS_PM_RUNTIME; + pci_dev_put(p); + } +-- +2.20.1 + + +From e3eb037a46c5b6771e9336bb493063dbffb90e04 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:09 +0200 +Subject: [PATCH 013/130] ALSA: hda/hdmi - implement mst_no_extra_pcms flag + +To support the DP-MST multiple streams via single connector feature, +the HDMI driver was extended with the concept of backup PCMs. See +commit 9152085defb6 ("ALSA: hda - add DP MST audio support"). + +This implementation works fine with snd_hda_intel.c as PCM topology +is fully managed within the single driver. + +When the HDA codec driver is used from ASoC components, the concept +of backup PCMs no longer fits. For ASoC topologies, the physical +HDMI converters are presented as backend DAIs and these should match +with hardware capabilities. The ASoC topology may define arbitrary +PCMs (i.e. frontend DAIs) and have processing elements before eventual +routing to the HDMI BE DAIs. With backup PCMs, the link between +FE and BE DAIs would become dynamic and change when monitors are +(un)plugged. This would lead to modifying the topology every time +hotplug events happen, which is not currently possible in ASoC and +there does not seem to be any obvious benefits from this design. + +To overcome above problems and enable the HDMI driver to be used +from ASoC, this patch adds a new mode (mst_no_extra_pcms flags) to +patch_hdmi.c. In this mode, the codec driver does not assume +the backup PCMs to be created. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-2-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 2a2edfbbfee47947dd05f5860c66c0e80ee5e09d) +Bugzilla: 1772498 +--- + include/sound/hda_codec.h | 1 + + sound/pci/hda/patch_hdmi.c | 19 ++++++++++++++----- + 2 files changed, 15 insertions(+), 5 deletions(-) + +diff --git a/include/sound/hda_codec.h b/include/sound/hda_codec.h +index 9a0393cf024c..ac18f428eda6 100644 +--- a/include/sound/hda_codec.h ++++ b/include/sound/hda_codec.h +@@ -254,6 +254,7 @@ struct hda_codec { + unsigned int force_pin_prefix:1; /* Add location prefix */ + unsigned int link_down_at_suspend:1; /* link down at runtime suspend */ + unsigned int relaxed_resume:1; /* don't resume forcibly for jack */ ++ unsigned int mst_no_extra_pcms:1; /* no backup PCMs for DP-MST */ + + #ifdef CONFIG_PM + unsigned long power_on_acct; +diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c +index d14f6684737d..b8579cd21809 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -2075,15 +2075,24 @@ static bool is_hdmi_pcm_attached(struct hdac_device *hdac, int pcm_idx) + static int generic_hdmi_build_pcms(struct hda_codec *codec) + { + struct hdmi_spec *spec = codec->spec; +- int idx; ++ int idx, pcm_num; + + /* + * for non-mst mode, pcm number is the same as before +- * for DP MST mode, pcm number is (nid number + dev_num - 1) +- * dev_num is the device entry number in a pin +- * ++ * for DP MST mode without extra PCM, pcm number is same ++ * for DP MST mode with extra PCMs, pcm number is ++ * (nid number + dev_num - 1) ++ * dev_num is the device entry number in a pin + */ +- for (idx = 0; idx < spec->num_nids + spec->dev_num - 1; idx++) { ++ ++ if (codec->mst_no_extra_pcms) ++ pcm_num = spec->num_nids; ++ else ++ pcm_num = spec->num_nids + spec->dev_num - 1; ++ ++ codec_dbg(codec, "hdmi: pcm_num set to %d\n", pcm_num); ++ ++ for (idx = 0; idx < pcm_num; idx++) { + struct hda_pcm *info; + struct hda_pcm_stream *pstr; + +-- +2.20.1 + + +From d396423ca770d10ab33a485f118e80a1a9f70516 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Mon, 11 Nov 2019 20:09:37 +0100 +Subject: [PATCH 014/130] ALSA: hda/hdmi - Clean up Intel platform-specific + fixup checks + +Introduce a new flag in hdmi_spec to indicate the Intel platform- +specific fixups so that we can get rid of the lengthy codec ID +checks. The flag is set in intel_hsw_common_init() commonly. + +Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Link: https://lore.kernel.org/r/20191111190937.19186-1-tiwai@suse.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit cb45722b289b54476b68883985c2824c69a7fba9) +Bugzilla: 1772498 +--- + sound/pci/hda/patch_hdmi.c | 27 +++++---------------------- + 1 file changed, 5 insertions(+), 22 deletions(-) + +diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c +index b8579cd21809..ee72d990cef3 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -37,25 +37,6 @@ static bool static_hdmi_pcm; + module_param(static_hdmi_pcm, bool, 0644); + MODULE_PARM_DESC(static_hdmi_pcm, "Don't restrict PCM parameters per ELD info"); + +-#define is_haswell(codec) ((codec)->core.vendor_id == 0x80862807) +-#define is_broadwell(codec) ((codec)->core.vendor_id == 0x80862808) +-#define is_skylake(codec) ((codec)->core.vendor_id == 0x80862809) +-#define is_broxton(codec) ((codec)->core.vendor_id == 0x8086280a) +-#define is_kabylake(codec) ((codec)->core.vendor_id == 0x8086280b) +-#define is_geminilake(codec) (((codec)->core.vendor_id == 0x8086280d) || \ +- ((codec)->core.vendor_id == 0x80862800)) +-#define is_cannonlake(codec) ((codec)->core.vendor_id == 0x8086280c) +-#define is_icelake(codec) ((codec)->core.vendor_id == 0x8086280f) +-#define is_tigerlake(codec) ((codec)->core.vendor_id == 0x80862812) +-#define is_haswell_plus(codec) (is_haswell(codec) || is_broadwell(codec) \ +- || is_skylake(codec) || is_broxton(codec) \ +- || is_kabylake(codec) || is_geminilake(codec) \ +- || is_cannonlake(codec) || is_icelake(codec) \ +- || is_tigerlake(codec)) +-#define is_valleyview(codec) ((codec)->core.vendor_id == 0x80862882) +-#define is_cherryview(codec) ((codec)->core.vendor_id == 0x80862883) +-#define is_valleyview_plus(codec) (is_valleyview(codec) || is_cherryview(codec)) +- + struct hdmi_spec_per_cvt { + hda_nid_t cvt_nid; + int assigned; +@@ -162,6 +143,7 @@ struct hdmi_spec { + + bool dyn_pin_out; + bool dyn_pcm_assign; ++ bool intel_hsw_fixup; /* apply Intel platform-specific fixups */ + /* + * Non-generic VIA/NVIDIA specific + */ +@@ -925,7 +907,7 @@ static int hdmi_setup_stream(struct hda_codec *codec, hda_nid_t cvt_nid, + return err; + } + +- if (is_haswell_plus(codec)) { ++ if (spec->intel_hsw_fixup) { + + /* + * on recent platforms IEC Coding Type is required for HBR +@@ -1709,7 +1691,7 @@ static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid) + * To simplify the implementation, malloc all + * the virtual pins in the initialization statically + */ +- if (is_haswell_plus(codec)) { ++ if (spec->intel_hsw_fixup) { + /* + * On Intel platforms, device entries number is + * changed dynamically. If there is a DP MST +@@ -1758,7 +1740,7 @@ static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid) + per_pin->dev_id = i; + per_pin->non_pcm = false; + snd_hda_set_dev_select(codec, pin_nid, i); +- if (is_haswell_plus(codec)) ++ if (spec->intel_hsw_fixup) + intel_haswell_fixup_connect_list(codec, pin_nid); + err = hdmi_read_pin_conn(codec, pin_idx); + if (err < 0) +@@ -2825,6 +2807,7 @@ static int intel_hsw_common_init(struct hda_codec *codec, hda_nid_t vendor_nid, + spec->vendor_nid = vendor_nid; + spec->port_map = port_map; + spec->port_num = port_num; ++ spec->intel_hsw_fixup = true; + + intel_haswell_enable_all_pins(codec, true); + intel_haswell_fixup_enable_dp12(codec); +-- +2.20.1 + + +From 3c8372547754addd020cc95c164508fd67cb53b8 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Fri, 15 Nov 2019 14:44:47 +0200 +Subject: [PATCH 015/130] ALSA: hda: hdmi - fix port numbering for ICL and TGL + platforms + +Semantics of port#0 differ between ICL and TGL: + + ICL port#0 -> never used for HDAudio + ICL port#1 -> should be mapped to first pin (0x04) + TGL port#0 -> typically not used, but HW has the support, + so should be mapped to first pin (0x04) + TGL port#1 -> should be mapped to 2nd pin (0x06) + +Refactor the port mapping logic to allow to take the above +differences into account. Fixes issues with HDAudio on some +TGL platforms. + +Co-developed-by: Pan Xiuli <xiuli.pan@linux.intel.com> +Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com> +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Link: https://lore.kernel.org/r/20191115124449.20512-2-kai.vehmanen@linux.intel.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit d577cf76fa3192f9e656bb101aa54d25a6a71347) +Bugzilla: 1772498 +--- + sound/pci/hda/patch_hdmi.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c +index ee72d990cef3..cc35a8569439 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -2664,7 +2664,7 @@ static int intel_pin2port(void *audio_ptr, int pin_nid) + */ + for (i = 0; i < spec->port_num; i++) { + if (pin_nid == spec->port_map[i]) +- return i + 1; ++ return i; + } + + /* return -1 if pin number exceeds our expectation */ +@@ -2684,9 +2684,9 @@ static int intel_port2pin(struct hda_codec *codec, int port) + return port + intel_base_nid(codec) - 1; + } + +- if (port < 1 || port > spec->port_num) ++ if (port < 0 || port >= spec->port_num) + return 0; +- return spec->port_map[port - 1]; ++ return spec->port_map[port]; + } + + static void intel_pin_eld_notify(void *audio_ptr, int port, int pipe) +@@ -2838,9 +2838,9 @@ static int patch_i915_icl_hdmi(struct hda_codec *codec) + { + /* + * pin to port mapping table where the value indicate the pin number and +- * the index indicate the port number with 1 base. ++ * the index indicate the port number. + */ +- static const int map[] = {0x4, 0x6, 0x8, 0xa, 0xb}; ++ static const int map[] = {0x0, 0x4, 0x6, 0x8, 0xa, 0xb}; + + return intel_hsw_common_init(codec, 0x02, map, ARRAY_SIZE(map)); + } +@@ -2849,7 +2849,7 @@ static int patch_i915_tgl_hdmi(struct hda_codec *codec) + { + /* + * pin to port mapping table where the value indicate the pin number and +- * the index indicate the port number with 1 base. ++ * the index indicate the port number. + */ + static const int map[] = {0x4, 0x6, 0x8, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf}; + +-- +2.20.1 + + +From 485ef81d2510635f707bec0fb461b199e0b6cb89 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Fri, 15 Nov 2019 14:44:48 +0200 +Subject: [PATCH 016/130] ALSA: hda: hdmi - remove redundant code comments + +Remove unnecessary comments related to pin mapping on +Intel platforms. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Link: https://lore.kernel.org/r/20191115124449.20512-3-kai.vehmanen@linux.intel.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit c8e3eb9be57f91751aeb9397118755390dbff9a4) +Bugzilla: 1772498 +--- + sound/pci/hda/patch_hdmi.c | 5 +---- + 1 file changed, 1 insertion(+), 4 deletions(-) + +diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c +index cc35a8569439..71848dce0025 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -2655,7 +2655,7 @@ static int intel_pin2port(void *audio_ptr, int pin_nid) + base_nid = intel_base_nid(codec); + if (WARN_ON(pin_nid < base_nid || pin_nid >= base_nid + 3)) + return -1; +- return pin_nid - base_nid + 1; /* intel port is 1-based */ ++ return pin_nid - base_nid + 1; + } + + /* +@@ -2667,7 +2667,6 @@ static int intel_pin2port(void *audio_ptr, int pin_nid) + return i; + } + +- /* return -1 if pin number exceeds our expectation */ + codec_info(codec, "Can't find the HDMI/DP port for pin %d\n", pin_nid); + return -1; + } +@@ -2680,7 +2679,6 @@ static int intel_port2pin(struct hda_codec *codec, int port) + /* we assume only from port-B to port-D */ + if (port < 1 || port > 3) + return 0; +- /* intel port is 1-based */ + return port + intel_base_nid(codec) - 1; + } + +@@ -2856,7 +2854,6 @@ static int patch_i915_tgl_hdmi(struct hda_codec *codec) + return intel_hsw_common_init(codec, 0x02, map, ARRAY_SIZE(map)); + } + +- + /* Intel Baytrail and Braswell; with eld notifier */ + static int patch_i915_byt_hdmi(struct hda_codec *codec) + { +-- +2.20.1 + + +From c581baec7a7479f1767335255a7b7de405bfc707 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Fri, 15 Nov 2019 14:44:49 +0200 +Subject: [PATCH 017/130] ALSA: hda - remove forced polling workaround for CFL + and CNL + +Remove the workarounds added in commit fa763f1b2858 ("ALSA: +hda - Force polling mode on CNL for fixing codec communication") +and commit a8d7bde23e71 ("ALSA: hda - Force polling mode on CFL +for fixing codec communication"). + +The workarounds are no longer needed after the more generic +change done in commit 2756d9143aa5 ("ALSA: hda - Fix intermittent +CORB/RIRB stall on Intel chips"). This change applies to a larger +set of hardware and covers CFL and CNL as well. + +Similar change was already done to SOF DSP HDA driver with +no regressions detected. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Link: https://lore.kernel.org/r/20191115124449.20512-4-kai.vehmanen@linux.intel.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit ee906c6b9c6e7e4ad749f5cfdf65768455f4bf43) +Bugzilla: 1772498 +--- + sound/pci/hda/hda_intel.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c +index 8981109e3565..e76a0bb6d3cf 100644 +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -369,8 +369,6 @@ enum { + ((pci)->device == 0x160c)) + + #define IS_BXT(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x5a98) +-#define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348) +-#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9dc8) + + static char *driver_short_names[] = { + [AZX_DRIVER_ICH] = "HDA Intel", +@@ -1763,10 +1761,6 @@ static int azx_create(struct snd_card *card, struct pci_dev *pci, + if (!azx_snoop(chip)) + azx_bus(chip)->dma_type = SNDRV_DMA_TYPE_DEV_UC; + +- /* Workaround for a communication error on CFL (bko#199007) and CNL */ +- if (IS_CFL(pci) || IS_CNL(pci)) +- azx_bus(chip)->polling_mode = 1; +- + if (chip->driver_type == AZX_DRIVER_NVIDIA) { + dev_dbg(chip->card->dev, "Enable delay in RIRB handling\n"); + chip->bus.needs_damn_long_delay = 1; +-- +2.20.1 + + +From 8de79a35aa53df66d5eec899cafff067a0908da4 Mon Sep 17 00:00:00 2001 +From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> +Date: Tue, 15 Oct 2019 14:44:09 +0900 +Subject: [PATCH 018/130] ASoC: sof: include types.h at header.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Content-Transfer-Encoding: 8bit + +Without <types.h> we will get these error + +linux/include/sound/sof/header.h:125:2: error: unknown type name ‘uint32_t’uint32_t size; +linux/include/sound/sof/header.h:136:2: error: unknown type name ‘uint32_t’uint32_t size; +linux/include/sound/sof/header.h:137:2: error: unknown type name ‘uint32_t’uint32_t cmd; +... +linux/include/sound/sof/dai-imx.h:18:2: error: unknown type name ‘uint16_t’uint16_t reserved1; +linux/include/sound/sof/dai-imx.h:30:2: error: unknown type name ‘uint16_t’uint16_t tdm_slot_width; +linux/include/sound/sof/dai-imx.h:31:2: error: unknown type name ‘uint16_t’uint16_t reserved2; + +Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> +Link: https://lore.kernel.org/r/87a7a24l7r.wl-kuninori.morimoto.gx@renesas.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 03048217624a9472c1c7a205c8ea9bf8d4026e59) +Bugzilla: 1772498 +--- + include/sound/sof/header.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/sound/sof/header.h b/include/sound/sof/header.h +index 10f00c08dbb7..332143ff7278 100644 +--- a/include/sound/sof/header.h ++++ b/include/sound/sof/header.h +@@ -9,6 +9,7 @@ + #ifndef __INCLUDE_SOUND_SOF_HEADER_H__ + #define __INCLUDE_SOUND_SOF_HEADER_H__ + ++#include <linux/types.h> + #include <uapi/sound/sof/abi.h> + + /** \addtogroup sof_uapi uAPI +-- +2.20.1 + + +From eeb591355d00f4e6e077745aca5ff5a2899eca2d Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 27 Sep 2019 15:05:28 -0500 +Subject: [PATCH 019/130] ASoC: SOF: trace: move to opt-in with Kconfig and + module parameter + +In a number of debug cases, the DMA-based trace can add problems +(e.g. with HDaudio channel allocation). It also generates additional +traffic on the bus and if the DMA handling is unreliable will prevent +audio use-cases from working normally. Using the trace also requires +tools to be installed on the target. + +The trace can be instead handled as dynamic debug. We can use a +Kconfig to force the trace to be enabled in all cases, or use a module +parameter to enable it on a need-basis, e.g. by setting "options +snd_sof sof_debug=0x1" in a /etc/modprobe.d file. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20190927200538.660-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 2ab4c50f6955514150f83b47b7aee3ba5fe3ac1d) +Bugzilla: 1772498 +--- + sound/soc/sof/Kconfig | 8 ++++++++ + sound/soc/sof/core.c | 25 +++++++++++++++++++------ + sound/soc/sof/sof-priv.h | 13 +++++++++---- + sound/soc/sof/trace.c | 17 ++++++++++++++++- + 4 files changed, 52 insertions(+), 11 deletions(-) + +diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig +index bb8036ae567e..cc592bcadae7 100644 +--- a/sound/soc/sof/Kconfig ++++ b/sound/soc/sof/Kconfig +@@ -142,6 +142,14 @@ config SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE + Say Y if you want to enable caching the memory windows. + If unsure, select "N". + ++config SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE ++ bool "SOF enable firmware trace" ++ help ++ The firmware trace can be enabled either at build-time with ++ this option, or dynamically by setting flags in the SOF core ++ module parameter (similar to dynamic debug) ++ If unsure, select "N". ++ + config SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST + bool "SOF enable IPC flood test" + help +diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c +index 81f28f7ff1a0..15167b8220ed 100644 +--- a/sound/soc/sof/core.c ++++ b/sound/soc/sof/core.c +@@ -16,6 +16,11 @@ + #include "sof-priv.h" + #include "ops.h" + ++/* see SOF_DBG_ flags */ ++int sof_core_debug; ++module_param_named(sof_debug, sof_core_debug, int, 0444); ++MODULE_PARM_DESC(sof_debug, "SOF core debug options (0x0 all off)"); ++ + /* SOF defaults if not provided by the platform in ms */ + #define TIMEOUT_DEFAULT_IPC_MS 500 + #define TIMEOUT_DEFAULT_BOOT_MS 2000 +@@ -350,12 +355,20 @@ static int sof_probe_continue(struct snd_sof_dev *sdev) + goto fw_run_err; + } + +- /* init DMA trace */ +- ret = snd_sof_init_trace(sdev); +- if (ret < 0) { +- /* non fatal */ +- dev_warn(sdev->dev, +- "warning: failed to initialize trace %d\n", ret); ++ if (IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE) || ++ (sof_core_debug & SOF_DBG_ENABLE_TRACE)) { ++ sdev->dtrace_is_supported = true; ++ ++ /* init DMA trace */ ++ ret = snd_sof_init_trace(sdev); ++ if (ret < 0) { ++ /* non fatal */ ++ dev_warn(sdev->dev, ++ "warning: failed to initialize trace %d\n", ++ ret); ++ } ++ } else { ++ dev_dbg(sdev->dev, "SOF firmware trace disabled\n"); + } + + /* hereafter all FW boot flows are for PM reasons */ +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 730f3259dd02..d5b1a4f895da 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -28,10 +28,14 @@ + #include <uapi/sound/sof/fw.h> + + /* debug flags */ +-#define SOF_DBG_REGS BIT(1) +-#define SOF_DBG_MBOX BIT(2) +-#define SOF_DBG_TEXT BIT(3) +-#define SOF_DBG_PCI BIT(4) ++#define SOF_DBG_ENABLE_TRACE BIT(0) ++#define SOF_DBG_REGS BIT(1) ++#define SOF_DBG_MBOX BIT(2) ++#define SOF_DBG_TEXT BIT(3) ++#define SOF_DBG_PCI BIT(4) ++ ++/* global debug state set by SOF_DBG_ flags */ ++extern int sof_core_debug; + + /* max BARs mmaped devices can use */ + #define SND_SOF_BARS 8 +@@ -434,6 +438,7 @@ struct snd_sof_dev { + int dma_trace_pages; + wait_queue_head_t trace_sleep; + u32 host_offset; ++ u32 dtrace_is_supported; /* set with Kconfig or module parameter */ + u32 dtrace_is_enabled; + u32 dtrace_error; + u32 dtrace_draining; +diff --git a/sound/soc/sof/trace.c b/sound/soc/sof/trace.c +index 4c3cff031fd6..b0e4556c8536 100644 +--- a/sound/soc/sof/trace.c ++++ b/sound/soc/sof/trace.c +@@ -162,6 +162,9 @@ int snd_sof_init_trace_ipc(struct snd_sof_dev *sdev) + struct sof_ipc_reply ipc_reply; + int ret; + ++ if (!sdev->dtrace_is_supported) ++ return 0; ++ + if (sdev->dtrace_is_enabled || !sdev->dma_trace_pages) + return -EINVAL; + +@@ -222,6 +225,9 @@ int snd_sof_init_trace(struct snd_sof_dev *sdev) + { + int ret; + ++ if (!sdev->dtrace_is_supported) ++ return 0; ++ + /* set false before start initialization */ + sdev->dtrace_is_enabled = false; + +@@ -277,6 +283,9 @@ EXPORT_SYMBOL(snd_sof_init_trace); + int snd_sof_trace_update_pos(struct snd_sof_dev *sdev, + struct sof_ipc_dma_trace_posn *posn) + { ++ if (!sdev->dtrace_is_supported) ++ return 0; ++ + if (sdev->dtrace_is_enabled && sdev->host_offset != posn->host_offset) { + sdev->host_offset = posn->host_offset; + wake_up(&sdev->trace_sleep); +@@ -293,6 +302,9 @@ int snd_sof_trace_update_pos(struct snd_sof_dev *sdev, + /* an error has occurred within the DSP that prevents further trace */ + void snd_sof_trace_notify_for_error(struct snd_sof_dev *sdev) + { ++ if (!sdev->dtrace_is_supported) ++ return; ++ + if (sdev->dtrace_is_enabled) { + dev_err(sdev->dev, "error: waking up any trace sleepers\n"); + sdev->dtrace_error = true; +@@ -305,7 +317,7 @@ void snd_sof_release_trace(struct snd_sof_dev *sdev) + { + int ret; + +- if (!sdev->dtrace_is_enabled) ++ if (!sdev->dtrace_is_supported || !sdev->dtrace_is_enabled) + return; + + ret = snd_sof_dma_trace_trigger(sdev, SNDRV_PCM_TRIGGER_STOP); +@@ -326,6 +338,9 @@ EXPORT_SYMBOL(snd_sof_release_trace); + + void snd_sof_free_trace(struct snd_sof_dev *sdev) + { ++ if (!sdev->dtrace_is_supported) ++ return; ++ + snd_sof_release_trace(sdev); + + snd_dma_free_pages(&sdev->dmatb); +-- +2.20.1 + + +From f1e8f5f928c09194078db704356af60ddaee6280 Mon Sep 17 00:00:00 2001 +From: Liam Girdwood <liam.r.girdwood@linux.intel.com> +Date: Fri, 27 Sep 2019 15:05:29 -0500 +Subject: [PATCH 020/130] ASoC: SOF: ipc: retain DSP context after FW + exception. + +Add config option to prevent DSP entering D3 after any FW exception. +This can then be used to dump FW context for debug. + +Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20190927200538.660-5-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 9a06508bf7824ba34f2e1e9e08df505ac14a44c2) +Bugzilla: 1772498 +--- + sound/soc/sof/Kconfig | 8 ++++++++ + sound/soc/sof/debug.c | 16 ++++++++++++++++ + sound/soc/sof/ipc.c | 4 +--- + sound/soc/sof/sof-priv.h | 2 ++ + 4 files changed, 27 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig +index cc592bcadae7..56a3ab66b46b 100644 +--- a/sound/soc/sof/Kconfig ++++ b/sound/soc/sof/Kconfig +@@ -158,6 +158,14 @@ config SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST + Say Y if you want to enable IPC flood test. + If unsure, select "N". + ++config SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT ++ bool "SOF retain DSP context on any FW exceptions" ++ help ++ This option keeps the DSP in D0 state so that firmware debug ++ information can be retained and dumped to userspace. ++ Say Y if you want to retain DSP context for FW exceptions. ++ If unsure, select "N". ++ + endif ## SND_SOC_SOF_DEBUG + + endif ## SND_SOC_SOF_OPTIONS +diff --git a/sound/soc/sof/debug.c b/sound/soc/sof/debug.c +index 5529e8eeca46..d2b3b99d3a20 100644 +--- a/sound/soc/sof/debug.c ++++ b/sound/soc/sof/debug.c +@@ -463,3 +463,19 @@ void snd_sof_free_debug(struct snd_sof_dev *sdev) + debugfs_remove_recursive(sdev->debugfs_root); + } + EXPORT_SYMBOL_GPL(snd_sof_free_debug); ++ ++void snd_sof_handle_fw_exception(struct snd_sof_dev *sdev) ++{ ++ if (IS_ENABLED(CONFIG_SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT) || ++ (sof_core_debug & SOF_DBG_RETAIN_CTX)) { ++ /* should we prevent DSP entering D3 ? */ ++ dev_info(sdev->dev, "info: preventing DSP entering D3 state to preserve context\n"); ++ pm_runtime_get_noresume(sdev->dev); ++ } ++ ++ /* dump vital information to the logs */ ++ snd_sof_dsp_dbg_dump(sdev, SOF_DBG_REGS | SOF_DBG_MBOX); ++ snd_sof_ipc_dump(sdev); ++ snd_sof_trace_notify_for_error(sdev); ++} ++EXPORT_SYMBOL(snd_sof_handle_fw_exception); +diff --git a/sound/soc/sof/ipc.c b/sound/soc/sof/ipc.c +index 086eeeab8679..3382a745ba5a 100644 +--- a/sound/soc/sof/ipc.c ++++ b/sound/soc/sof/ipc.c +@@ -210,9 +210,7 @@ static int tx_wait_done(struct snd_sof_ipc *ipc, struct snd_sof_ipc_msg *msg, + if (ret == 0) { + dev_err(sdev->dev, "error: ipc timed out for 0x%x size %d\n", + hdr->cmd, hdr->size); +- snd_sof_dsp_dbg_dump(ipc->sdev, SOF_DBG_REGS | SOF_DBG_MBOX); +- snd_sof_ipc_dump(ipc->sdev); +- snd_sof_trace_notify_for_error(ipc->sdev); ++ snd_sof_handle_fw_exception(ipc->sdev); + ret = -ETIMEDOUT; + } else { + /* copy the data returned from DSP */ +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index d5b1a4f895da..348759035dd0 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -33,6 +33,7 @@ + #define SOF_DBG_MBOX BIT(2) + #define SOF_DBG_TEXT BIT(3) + #define SOF_DBG_PCI BIT(4) ++#define SOF_DBG_RETAIN_CTX BIT(5) /* prevent DSP D3 on FW exception */ + + /* global debug state set by SOF_DBG_ flags */ + extern int sof_core_debug; +@@ -580,6 +581,7 @@ void snd_sof_get_status(struct snd_sof_dev *sdev, u32 panic_code, + struct sof_ipc_panic_info *panic_info, + void *stack, size_t stack_words); + int snd_sof_init_trace_ipc(struct snd_sof_dev *sdev); ++void snd_sof_handle_fw_exception(struct snd_sof_dev *sdev); + + /* + * Platform specific ops. +-- +2.20.1 + + +From 9de42cad7a0c02393de0999286b1c2cc2a3ea39f Mon Sep 17 00:00:00 2001 +From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Date: Fri, 27 Sep 2019 15:05:32 -0500 +Subject: [PATCH 021/130] ASoC: SOF: core: check for mandatory fw_ready op + during SOF probe + +fw_ready should be a mandatory op. Make sure fw_ready ops is set +during probe. + +Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20190927200538.660-8-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 8692d498d675e2e1433274c5f03b855824f3f35d) +Bugzilla: 1772498 +--- + sound/soc/sof/core.c | 3 ++- + sound/soc/sof/ipc.c | 6 ------ + sound/soc/sof/sof-priv.h | 2 +- + 3 files changed, 3 insertions(+), 8 deletions(-) + +diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c +index 15167b8220ed..5998861a9002 100644 +--- a/sound/soc/sof/core.c ++++ b/sound/soc/sof/core.c +@@ -466,7 +466,8 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data) + if (!sof_ops(sdev) || !sof_ops(sdev)->probe || !sof_ops(sdev)->run || + !sof_ops(sdev)->block_read || !sof_ops(sdev)->block_write || + !sof_ops(sdev)->send_msg || !sof_ops(sdev)->load_firmware || +- !sof_ops(sdev)->ipc_msg_data || !sof_ops(sdev)->ipc_pcm_params) ++ !sof_ops(sdev)->ipc_msg_data || !sof_ops(sdev)->ipc_pcm_params || ++ !sof_ops(sdev)->fw_ready) + return -EINVAL; + + INIT_LIST_HEAD(&sdev->pcm_list); +diff --git a/sound/soc/sof/ipc.c b/sound/soc/sof/ipc.c +index 3382a745ba5a..5994e1073364 100644 +--- a/sound/soc/sof/ipc.c ++++ b/sound/soc/sof/ipc.c +@@ -794,12 +794,6 @@ struct snd_sof_ipc *snd_sof_ipc_init(struct snd_sof_dev *sdev) + struct snd_sof_ipc *ipc; + struct snd_sof_ipc_msg *msg; + +- /* check if mandatory ops required for ipc are defined */ +- if (!sof_ops(sdev)->fw_ready) { +- dev_err(sdev->dev, "error: ipc mandatory ops not defined\n"); +- return NULL; +- } +- + ipc = devm_kzalloc(sdev->dev, sizeof(*ipc), GFP_KERNEL); + if (!ipc) + return NULL; +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 348759035dd0..44f789bf7fb0 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -133,7 +133,7 @@ struct snd_sof_dsp_ops { + * FW ready checks for ABI compatibility and creates + * memory windows at first boot + */ +- int (*fw_ready)(struct snd_sof_dev *sdev, u32 msg_id); /* optional */ ++ int (*fw_ready)(struct snd_sof_dev *sdev, u32 msg_id); /* mandatory */ + + /* connect pcm substream to a host stream */ + int (*pcm_open)(struct snd_sof_dev *sdev, +-- +2.20.1 + + +From 63398beda87ad3d6d43cc5fc90f173540b3fd1b3 Mon Sep 17 00:00:00 2001 +From: Marcin Rajwa <marcin.rajwa@linux.intel.com> +Date: Fri, 27 Sep 2019 15:05:33 -0500 +Subject: [PATCH 022/130] ASoC: SOF: ipc: introduce no_stream_position in + sof_ipc_stream_params struct + +The host period bytes value needs to be passed to firmware. +However current implementation uses this field for different +purpose - to indicate whether FW should send stream position +to the host. Therefore this patch introduces another field +"no_stream_position", a boolean value aimed to store information +about position tracking. This way host_period_bytes preserves its +original value. + +Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20190927200538.660-9-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit e3ebfd0ab5b4880bfb6a9f32614c2e389cc3da56) +Bugzilla: 1772498 +--- + include/sound/sof/stream.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/include/sound/sof/stream.h b/include/sound/sof/stream.h +index 0b71b381b952..7facefb541b3 100644 +--- a/include/sound/sof/stream.h ++++ b/include/sound/sof/stream.h +@@ -83,10 +83,10 @@ struct sof_ipc_stream_params { + uint16_t sample_valid_bytes; + uint16_t sample_container_bytes; + +- /* for notifying host period has completed - 0 means no period IRQ */ + uint32_t host_period_bytes; ++ uint16_t no_stream_position; /**< 1 means don't send stream position */ + +- uint32_t reserved[2]; ++ uint16_t reserved[3]; + uint16_t chmap[SOF_IPC_MAX_CHANNELS]; /**< channel map - SOF_CHMAP_ */ + } __packed; + +-- +2.20.1 + + +From 0a637a33ef7f532235b1d972ee54cf8b603730e5 Mon Sep 17 00:00:00 2001 +From: Marcin Rajwa <marcin.rajwa@linux.intel.com> +Date: Fri, 27 Sep 2019 15:05:34 -0500 +Subject: [PATCH 023/130] ASoC: SOF: Intel: hda: fix reset of host_period_bytes + +This patch prevents the reset of host period bytes +and uses no_stream_position to record requests +for stream position. + +Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20190927200538.660-10-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit f567ff6c76f7e9b317248fcab7a0eb3ef432dc9e) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-pcm.c | 15 ++++++++++++--- + 1 file changed, 12 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/sof/intel/hda-pcm.c b/sound/soc/sof/intel/hda-pcm.c +index 9b730f183529..575f5f5877d8 100644 +--- a/sound/soc/sof/intel/hda-pcm.c ++++ b/sound/soc/sof/intel/hda-pcm.c +@@ -89,6 +89,7 @@ int hda_dsp_pcm_hw_params(struct snd_sof_dev *sdev, + struct hdac_ext_stream *stream = stream_to_hdac_ext_stream(hstream); + struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; + struct snd_dma_buffer *dmab; ++ struct sof_ipc_fw_version *v = &sdev->fw_ready.version; + int ret; + u32 size, rate, bits; + +@@ -116,9 +117,17 @@ int hda_dsp_pcm_hw_params(struct snd_sof_dev *sdev, + /* disable SPIB, to enable buffer wrap for stream */ + hda_dsp_stream_spib_config(sdev, stream, HDA_DSP_SPIB_DISABLE, 0); + +- /* set host_period_bytes to 0 if no IPC position */ +- if (hda && hda->no_ipc_position) +- ipc_params->host_period_bytes = 0; ++ /* update no_stream_position flag for ipc params */ ++ if (hda && hda->no_ipc_position) { ++ /* For older ABIs set host_period_bytes to zero to inform ++ * FW we don't want position updates. Newer versions use ++ * no_stream_position for this purpose. ++ */ ++ if (v->abi_version < SOF_ABI_VER(3, 10, 0)) ++ ipc_params->host_period_bytes = 0; ++ else ++ ipc_params->no_stream_position = 1; ++ } + + ipc_params->stream_tag = hstream->stream_tag; + +-- +2.20.1 + + +From 7f89237bf642c6a090557db68be76c6d67658904 Mon Sep 17 00:00:00 2001 +From: Liam Girdwood <liam.r.girdwood@linux.intel.com> +Date: Fri, 27 Sep 2019 15:05:37 -0500 +Subject: [PATCH 024/130] ASoC: SOF: Intel: Add context data to any IPC + timeout. + +Helps with FW debug as it provides DSP IPC processing context. + +Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20190927200538.660-13-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 3a9e204d4e36904a464a2e53206b053a7ffc7bad) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/bdw.c | 22 +++++++++++++++++++++- + sound/soc/sof/intel/byt.c | 23 ++++++++++++++++++++++- + 2 files changed, 43 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c +index 80e2826fb447..f395d0638876 100644 +--- a/sound/soc/sof/intel/bdw.c ++++ b/sound/soc/sof/intel/bdw.c +@@ -247,7 +247,7 @@ static void bdw_dump(struct snd_sof_dev *sdev, u32 flags) + struct sof_ipc_dsp_oops_xtensa xoops; + struct sof_ipc_panic_info panic_info; + u32 stack[BDW_STACK_DUMP_SIZE]; +- u32 status, panic; ++ u32 status, panic, imrx, imrd; + + /* now try generic SOF status messages */ + status = snd_sof_dsp_read(sdev, BDW_DSP_BAR, SHIM_IPCD); +@@ -256,6 +256,26 @@ static void bdw_dump(struct snd_sof_dev *sdev, u32 flags) + BDW_STACK_DUMP_SIZE); + snd_sof_get_status(sdev, status, panic, &xoops, &panic_info, stack, + BDW_STACK_DUMP_SIZE); ++ ++ /* provide some context for firmware debug */ ++ imrx = snd_sof_dsp_read(sdev, BDW_DSP_BAR, SHIM_IMRX); ++ imrd = snd_sof_dsp_read(sdev, BDW_DSP_BAR, SHIM_IMRD); ++ dev_err(sdev->dev, ++ "error: ipc host -> DSP: pending %s complete %s raw 0x%8.8x\n", ++ panic & SHIM_IPCX_BUSY ? "yes" : "no", ++ panic & SHIM_IPCX_DONE ? "yes" : "no", panic); ++ dev_err(sdev->dev, ++ "error: mask host: pending %s complete %s raw 0x%8.8x\n", ++ imrx & SHIM_IMRX_BUSY ? "yes" : "no", ++ imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx); ++ dev_err(sdev->dev, ++ "error: ipc DSP -> host: pending %s complete %s raw 0x%8.8x\n", ++ status & SHIM_IPCD_BUSY ? "yes" : "no", ++ status & SHIM_IPCD_DONE ? "yes" : "no", status); ++ dev_err(sdev->dev, ++ "error: mask DSP: pending %s complete %s raw 0x%8.8x\n", ++ imrd & SHIM_IMRD_BUSY ? "yes" : "no", ++ imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd); + } + + /* +diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c +index a1e514f71739..b2597ecfdc1c 100644 +--- a/sound/soc/sof/intel/byt.c ++++ b/sound/soc/sof/intel/byt.c +@@ -145,7 +145,7 @@ static void byt_dump(struct snd_sof_dev *sdev, u32 flags) + struct sof_ipc_dsp_oops_xtensa xoops; + struct sof_ipc_panic_info panic_info; + u32 stack[BYT_STACK_DUMP_SIZE]; +- u32 status, panic; ++ u32 status, panic, imrd, imrx; + + /* now try generic SOF status messages */ + status = snd_sof_dsp_read(sdev, BYT_DSP_BAR, SHIM_IPCD); +@@ -154,6 +154,27 @@ static void byt_dump(struct snd_sof_dev *sdev, u32 flags) + BYT_STACK_DUMP_SIZE); + snd_sof_get_status(sdev, status, panic, &xoops, &panic_info, stack, + BYT_STACK_DUMP_SIZE); ++ ++ /* provide some context for firmware debug */ ++ imrx = snd_sof_dsp_read(sdev, BYT_DSP_BAR, SHIM_IMRX); ++ imrd = snd_sof_dsp_read(sdev, BYT_DSP_BAR, SHIM_IMRD); ++ dev_err(sdev->dev, ++ "error: ipc host -> DSP: pending %s complete %s raw 0x%8.8x\n", ++ panic & SHIM_IPCX_BUSY ? "yes" : "no", ++ panic & SHIM_IPCX_DONE ? "yes" : "no", panic); ++ dev_err(sdev->dev, ++ "error: mask host: pending %s complete %s raw 0x%8.8x\n", ++ imrx & SHIM_IMRX_BUSY ? "yes" : "no", ++ imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx); ++ dev_err(sdev->dev, ++ "error: ipc DSP -> host: pending %s complete %s raw 0x%8.8x\n", ++ status & SHIM_IPCD_BUSY ? "yes" : "no", ++ status & SHIM_IPCD_DONE ? "yes" : "no", status); ++ dev_err(sdev->dev, ++ "error: mask DSP: pending %s complete %s raw 0x%8.8x\n", ++ imrd & SHIM_IMRD_BUSY ? "yes" : "no", ++ imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd); ++ + } + + /* +-- +2.20.1 + + +From 5c2784a52e77957f4c7a677296369d1ef09413db Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 8 Oct 2019 11:44:35 -0500 +Subject: [PATCH 025/130] ASoC: SOF: enable sync_write in hdac_bus + +Align SOF HDA implementation with snd-hda-intel driver and enable +sync_write flag for all supported Intel platforms in SOF. When set, +a sync is issued after each verb write. + +Sync after write has helped to overcome intermittent delays in +system resume flow on Intel Coffee Lake systems, and most recently +probe errors related to the HDMI codec on Ice Lake systems. + +Matches the snd-hda-intel driver change done in commit 2756d9143aa5 +("ALSA: hda - Fix intermittent CORB/RIRB stall on Intel chips"). + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit f3416e7144f5d4ba0fc5dcef6ebfff891266c46a) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c +index 06e84679087b..5a5163eef2ef 100644 +--- a/sound/soc/sof/intel/hda.c ++++ b/sound/soc/sof/intel/hda.c +@@ -268,6 +268,7 @@ static int hda_init(struct snd_sof_dev *sdev) + + bus->use_posbuf = 1; + bus->bdl_pos_adj = 0; ++ bus->sync_write = 1; + + mutex_init(&hbus->prepare_mutex); + hbus->pci = pci; +-- +2.20.1 + + +From e1cc39fb37b304910435e08907d9bd3f29636b89 Mon Sep 17 00:00:00 2001 +From: Jaska Uimonen <jaska.uimonen@linux.intel.com> +Date: Tue, 8 Oct 2019 11:44:41 -0500 +Subject: [PATCH 026/130] ASoC: SOF: enable dual control for pga + +Currently sof pga element supports only 1 kcontrol and you can't create +for example a mixer element with combined volume slider and mute switch. +So enable sof pga to have more than 1 kcontrol associated with it. Also +check for possible NULL tlv pointer as switch element might not have it. + +Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-8-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit a68c6b6cc77b841dc37c17a5d9a7074e26801af5) +Bugzilla: 1772498 +--- + sound/soc/sof/topology.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index 4452594c2e17..32a70ffc149d 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -1581,7 +1581,7 @@ static int sof_widget_load_pga(struct snd_soc_component *scomp, int index, + if (!volume) + return -ENOMEM; + +- if (le32_to_cpu(tw->num_kcontrols) != 1) { ++ if (!le32_to_cpu(tw->num_kcontrols)) { + dev_err(sdev->dev, "error: invalid kcontrol count %d for volume\n", + tw->num_kcontrols); + ret = -EINVAL; +@@ -1618,7 +1618,8 @@ static int sof_widget_load_pga(struct snd_soc_component *scomp, int index, + swidget->private = volume; + + list_for_each_entry(scontrol, &sdev->kcontrol_list, list) { +- if (scontrol->comp_id == swidget->comp_id) { ++ if (scontrol->comp_id == swidget->comp_id && ++ scontrol->volume_table) { + min_step = scontrol->min_volume_step; + max_step = scontrol->max_volume_step; + volume->min_value = scontrol->volume_table[min_step]; +-- +2.20.1 + + +From 7e68f35584ab3b3242a91431037bc7ed5df568dd Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 8 Oct 2019 11:44:36 -0500 +Subject: [PATCH 027/130] Revert "ASoC: SOF: Force polling mode on CFL and CNL" + +This reverts commit 64ca9d9fcb3e3c86b1417e3d17a90b43dd660f81. + +The workaround is no longer needed after configuring HDAC +bus with sync_write=1. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 902fd492d5ea2c02666ddadc1da977ca94e6b52c) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda.c | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c +index 5a5163eef2ef..103f4273c4d3 100644 +--- a/sound/soc/sof/intel/hda.c ++++ b/sound/soc/sof/intel/hda.c +@@ -32,9 +32,6 @@ + /* platform specific devices */ + #include "shim.h" + +-#define IS_CFL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0xa348) +-#define IS_CNL(pci) ((pci)->vendor == 0x8086 && (pci)->device == 0x9dc8) +- + #define EXCEPT_MAX_HDR_SIZE 0x400 + + /* +@@ -262,10 +259,6 @@ static int hda_init(struct snd_sof_dev *sdev) + /* HDA bus init */ + sof_hda_bus_init(bus, &pci->dev); + +- /* Workaround for a communication error on CFL (bko#199007) and CNL */ +- if (IS_CFL(pci) || IS_CNL(pci)) +- bus->polling_mode = 1; +- + bus->use_posbuf = 1; + bus->bdl_pos_adj = 0; + bus->sync_write = 1; +-- +2.20.1 + + +From beea344394167f3c1f55422f06646a4faa72e697 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Tue, 8 Oct 2019 11:44:37 -0500 +Subject: [PATCH 028/130] ASoC: SOF: acpi: add debug module param + +Add debug parameter for snd-sof-acpi. + +One of the usages for this debug parameter to disable pm_runtime, +which can be useful for platform bringup, or keep the parent device +active while enabling pm_runtime for child devices (e.g. with +SoundWire or MFD). This can also be useful to measure suspend-resume +latencies or child devices. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 70b0c75ae1e3d35f829b5fe7ae5692efae63ca71) +Bugzilla: 1772498 +--- + sound/soc/sof/sof-acpi-dev.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/sof/sof-acpi-dev.c b/sound/soc/sof/sof-acpi-dev.c +index ea7b8b895412..df318f50dd0b 100644 +--- a/sound/soc/sof/sof-acpi-dev.c ++++ b/sound/soc/sof/sof-acpi-dev.c +@@ -29,6 +29,12 @@ static char *tplg_path; + module_param(tplg_path, charp, 0444); + MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology."); + ++static int sof_acpi_debug; ++module_param_named(sof_acpi_debug, sof_acpi_debug, int, 0444); ++MODULE_PARM_DESC(sof_acpi_debug, "SOF ACPI debug options (0x0 all off)"); ++ ++#define SOF_ACPI_DISABLE_PM_RUNTIME BIT(0) ++ + #if IS_ENABLED(CONFIG_SND_SOC_SOF_HASWELL) + static const struct sof_dev_desc sof_acpi_haswell_desc = { + .machines = snd_soc_acpi_intel_haswell_machines, +@@ -121,6 +127,9 @@ static const struct dev_pm_ops sof_acpi_pm = { + + static void sof_acpi_probe_complete(struct device *dev) + { ++ if (sof_acpi_debug & SOF_ACPI_DISABLE_PM_RUNTIME) ++ return; ++ + /* allow runtime_pm */ + pm_runtime_set_autosuspend_delay(dev, SND_SOF_SUSPEND_DELAY_MS); + pm_runtime_use_autosuspend(dev); +@@ -221,7 +230,8 @@ static int sof_acpi_probe(struct platform_device *pdev) + + static int sof_acpi_remove(struct platform_device *pdev) + { +- pm_runtime_disable(&pdev->dev); ++ if (!(sof_acpi_debug & SOF_ACPI_DISABLE_PM_RUNTIME)) ++ pm_runtime_disable(&pdev->dev); + + /* call sof helper for DSP hardware remove */ + snd_sof_device_remove(&pdev->dev); +-- +2.20.1 + + +From 34cbc5daae759efa7dd448def5beacd283386cc7 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Tue, 8 Oct 2019 11:44:38 -0500 +Subject: [PATCH 029/130] ASoC: SOF: pci: add debug module param + +Add debug parameter for snd-sof-pci. + +One of the usages for this debug parameter to disable pm_runtime, +which can be useful for platform bringup, or keep the parent device +active while enabling pm_runtime for child devices (e.g. with +SoundWire or MFD). This can also be useful to measure suspend-resume +latencies or child devices. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-5-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 8b160dc2a92c83a566b0596c79febb5933f9a6b5) +Bugzilla: 1772498 +--- + sound/soc/sof/sof-pci-dev.c | 12 +++++++++++- + 1 file changed, 11 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c +index 3a9e0e2a150d..be5a8da504c5 100644 +--- a/sound/soc/sof/sof-pci-dev.c ++++ b/sound/soc/sof/sof-pci-dev.c +@@ -30,6 +30,12 @@ static char *tplg_path; + module_param(tplg_path, charp, 0444); + MODULE_PARM_DESC(tplg_path, "alternate path for SOF topology."); + ++static int sof_pci_debug; ++module_param_named(sof_pci_debug, sof_pci_debug, int, 0444); ++MODULE_PARM_DESC(sof_pci_debug, "SOF PCI debug options (0x0 all off)"); ++ ++#define SOF_PCI_DISABLE_PM_RUNTIME BIT(0) ++ + #if IS_ENABLED(CONFIG_SND_SOC_SOF_APOLLOLAKE) + static const struct sof_dev_desc bxt_desc = { + .machines = snd_soc_acpi_intel_bxt_machines, +@@ -250,6 +256,9 @@ static void sof_pci_probe_complete(struct device *dev) + { + dev_dbg(dev, "Completing SOF PCI probe"); + ++ if (sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME) ++ return; ++ + /* allow runtime_pm */ + pm_runtime_set_autosuspend_delay(dev, SND_SOF_SUSPEND_DELAY_MS); + pm_runtime_use_autosuspend(dev); +@@ -376,7 +385,8 @@ static void sof_pci_remove(struct pci_dev *pci) + snd_sof_device_remove(&pci->dev); + + /* follow recommendation in pci-driver.c to increment usage counter */ +- pm_runtime_get_noresume(&pci->dev); ++ if (!(sof_pci_debug & SOF_PCI_DISABLE_PM_RUNTIME)) ++ pm_runtime_get_noresume(&pci->dev); + + /* release pci regions and disable device */ + pci_release_regions(pci); +-- +2.20.1 + + +From 39844b2b23b8746263988926996db159a3ebbea7 Mon Sep 17 00:00:00 2001 +From: Jaska Uimonen <jaska.uimonen@linux.intel.com> +Date: Tue, 8 Oct 2019 11:44:43 -0500 +Subject: [PATCH 030/130] ASoC: SOF: acpi led support for switch controls + +Currently sof doesn't support acpi leds with mute switches. So implement +acpi leds following quite shamelessly existing HDA implementation by +Takashi Iwai. + +Mute leds can be enabled in topology by adding led and direction token +in switch control private data. + +Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-10-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 5d43001ae43606dc525f55c482c545afba01bb55) +Bugzilla: 1772498 +--- + include/uapi/sound/sof/tokens.h | 4 ++++ + sound/soc/sof/control.c | 32 ++++++++++++++++++++++++++++++++ + sound/soc/sof/sof-priv.h | 9 +++++++++ + sound/soc/sof/topology.c | 13 +++++++++++++ + 4 files changed, 58 insertions(+) + +diff --git a/include/uapi/sound/sof/tokens.h b/include/uapi/sound/sof/tokens.h +index 8f996857fb24..28ef01a67765 100644 +--- a/include/uapi/sound/sof/tokens.h ++++ b/include/uapi/sound/sof/tokens.h +@@ -114,4 +114,8 @@ + #define SOF_TKN_IMX_ESAI_FIRST_TOKEN 1100 + /* TODO: Add ESAI tokens */ + ++/* Led control for mute switches */ ++#define SOF_TKN_MUTE_LED_USE 1300 ++#define SOF_TKN_MUTE_LED_DIRECTION 1301 ++ + #endif +diff --git a/sound/soc/sof/control.c b/sound/soc/sof/control.c +index 2b8711eda362..b73d4587c5da 100644 +--- a/sound/soc/sof/control.c ++++ b/sound/soc/sof/control.c +@@ -11,8 +11,37 @@ + /* Mixer Controls */ + + #include <linux/pm_runtime.h> ++#include <linux/leds.h> + #include "sof-priv.h" + ++static void update_mute_led(struct snd_sof_control *scontrol, ++ struct snd_kcontrol *kcontrol, ++ struct snd_ctl_elem_value *ucontrol) ++{ ++ unsigned int temp = 0; ++ unsigned int mask; ++ int i; ++ ++ mask = 1U << snd_ctl_get_ioffidx(kcontrol, &ucontrol->id); ++ ++ for (i = 0; i < scontrol->num_channels; i++) { ++ if (ucontrol->value.integer.value[i]) { ++ temp |= mask; ++ break; ++ } ++ } ++ ++ if (temp == scontrol->led_ctl.led_value) ++ return; ++ ++ scontrol->led_ctl.led_value = temp; ++ ++ if (!scontrol->led_ctl.direction) ++ ledtrig_audio_set(LED_AUDIO_MUTE, temp ? LED_OFF : LED_ON); ++ else ++ ledtrig_audio_set(LED_AUDIO_MICMUTE, temp ? LED_OFF : LED_ON); ++} ++ + static inline u32 mixer_to_ipc(unsigned int value, u32 *volume_map, int size) + { + if (value >= size) +@@ -118,6 +147,9 @@ int snd_sof_switch_put(struct snd_kcontrol *kcontrol, + cdata->chanv[i].value = value; + } + ++ if (scontrol->led_ctl.use_led) ++ update_mute_led(scontrol, kcontrol, ucontrol); ++ + /* notify DSP of mixer updates */ + if (pm_runtime_active(sdev->dev)) + snd_sof_ipc_set_get_comp_data(sdev->ipc, scontrol, +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 44f789bf7fb0..5a11a8517fa5 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -15,6 +15,7 @@ + + #include <sound/hdaudio.h> + #include <sound/soc.h> ++#include <sound/control.h> + + #include <sound/sof.h> + #include <sound/sof/stream.h> /* needs to be included before control.h */ +@@ -310,6 +311,12 @@ struct snd_sof_pcm { + bool prepared[2]; /* PCM_PARAMS set successfully */ + }; + ++struct snd_sof_led_control { ++ unsigned int use_led; ++ unsigned int direction; ++ unsigned int led_value; ++}; ++ + /* ALSA SOF Kcontrol device */ + struct snd_sof_control { + struct snd_sof_dev *sdev; +@@ -324,6 +331,8 @@ struct snd_sof_control { + u32 *volume_table; /* volume table computed from tlv data*/ + + struct list_head list; /* list in sdev control list */ ++ ++ struct snd_sof_led_control led_ctl; + }; + + /* ASoC SOF DAPM widget */ +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index 32a70ffc149d..e150f53d2124 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -494,6 +494,11 @@ static int sof_control_load_volume(struct snd_soc_component *scomp, + } + + out: ++ /* set up possible led control from mixer private data */ ++ ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, ++ ARRAY_SIZE(led_tokens), mc->priv.array, ++ le32_to_cpu(mc->priv.size)); ++ + dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n", + scontrol->comp_id, scontrol->num_channels); + +@@ -840,6 +845,14 @@ static const struct sof_topology_token dmic_pdm_tokens[] = { + static const struct sof_topology_token hda_tokens[] = { + }; + ++/* Leds */ ++static const struct sof_topology_token led_tokens[] = { ++ {SOF_TKN_MUTE_LED_USE, SND_SOC_TPLG_TUPLE_TYPE_WORD, get_token_u32, ++ offsetof(struct snd_sof_led_control, use_led), 0}, ++ {SOF_TKN_MUTE_LED_DIRECTION, SND_SOC_TPLG_TUPLE_TYPE_WORD, ++ get_token_u32, offsetof(struct snd_sof_led_control, direction), 0}, ++}; ++ + static void sof_parse_uuid_tokens(struct snd_soc_component *scomp, + void *object, + const struct sof_topology_token *tokens, +-- +2.20.1 + + +From 151d91920fd3e9626541fe9b3d2f6af16f765f8c Mon Sep 17 00:00:00 2001 +From: Daniel Baluta <daniel.baluta@nxp.com> +Date: Tue, 8 Oct 2019 11:44:39 -0500 +Subject: [PATCH 031/130] ASoC: SOF: imx: Describe ESAI parameters to be sent + to DSP + +Introduce sof_ipc_dai_esai_params to keep information that +we get from topology and we send to DSP FW. + +Also bump the ABI minor to reflect the changes on DSP FW. + +Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-6-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit b4be427683cf6debda331a5d6a4af34885851d19) +Bugzilla: 1772498 +--- + include/sound/sof/dai-imx.h | 34 +++++++++++++++++++++++++++++++++ + include/sound/sof/dai.h | 2 ++ + include/uapi/sound/sof/abi.h | 2 +- + include/uapi/sound/sof/tokens.h | 3 +-- + 4 files changed, 38 insertions(+), 3 deletions(-) + create mode 100644 include/sound/sof/dai-imx.h + +diff --git a/include/sound/sof/dai-imx.h b/include/sound/sof/dai-imx.h +new file mode 100644 +index 000000000000..e02fb0b0fae1 +--- /dev/null ++++ b/include/sound/sof/dai-imx.h +@@ -0,0 +1,34 @@ ++/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */ ++/* ++ * Copyright 2019 NXP ++ * ++ * Author: Daniel Baluta <daniel.baluta@nxp.com> ++ */ ++ ++#ifndef __INCLUDE_SOUND_SOF_DAI_IMX_H__ ++#define __INCLUDE_SOUND_SOF_DAI_IMX_H__ ++ ++#include <sound/sof/header.h> ++ ++/* ESAI Configuration Request - SOF_IPC_DAI_ESAI_CONFIG */ ++struct sof_ipc_dai_esai_params { ++ struct sof_ipc_hdr hdr; ++ ++ /* MCLK */ ++ uint16_t reserved1; ++ uint16_t mclk_id; ++ uint32_t mclk_direction; ++ ++ uint32_t mclk_rate; /* MCLK frequency in Hz */ ++ uint32_t fsync_rate; /* FSYNC frequency in Hz */ ++ uint32_t bclk_rate; /* BCLK frequency in Hz */ ++ ++ /* TDM */ ++ uint32_t tdm_slots; ++ uint32_t rx_slots; ++ uint32_t tx_slots; ++ uint16_t tdm_slot_width; ++ uint16_t reserved2; /* alignment */ ++} __packed; ++ ++#endif +diff --git a/include/sound/sof/dai.h b/include/sound/sof/dai.h +index 0f1235022146..c229565767e5 100644 +--- a/include/sound/sof/dai.h ++++ b/include/sound/sof/dai.h +@@ -11,6 +11,7 @@ + + #include <sound/sof/header.h> + #include <sound/sof/dai-intel.h> ++#include <sound/sof/dai-imx.h> + + /* + * DAI Configuration. +@@ -73,6 +74,7 @@ struct sof_ipc_dai_config { + struct sof_ipc_dai_dmic_params dmic; + struct sof_ipc_dai_hda_params hda; + struct sof_ipc_dai_alh_params alh; ++ struct sof_ipc_dai_esai_params esai; + }; + } __packed; + +diff --git a/include/uapi/sound/sof/abi.h b/include/uapi/sound/sof/abi.h +index a0fe0d4c4b66..ebfdc20ca081 100644 +--- a/include/uapi/sound/sof/abi.h ++++ b/include/uapi/sound/sof/abi.h +@@ -26,7 +26,7 @@ + + /* SOF ABI version major, minor and patch numbers */ + #define SOF_ABI_MAJOR 3 +-#define SOF_ABI_MINOR 10 ++#define SOF_ABI_MINOR 11 + #define SOF_ABI_PATCH 0 + + /* SOF ABI version number. Format within 32bit word is MMmmmppp */ +diff --git a/include/uapi/sound/sof/tokens.h b/include/uapi/sound/sof/tokens.h +index 28ef01a67765..d65406f34361 100644 +--- a/include/uapi/sound/sof/tokens.h ++++ b/include/uapi/sound/sof/tokens.h +@@ -111,8 +111,7 @@ + /* TODO: Add SAI tokens */ + + /* ESAI */ +-#define SOF_TKN_IMX_ESAI_FIRST_TOKEN 1100 +-/* TODO: Add ESAI tokens */ ++#define SOF_TKN_IMX_ESAI_MCLK_ID 1100 + + /* Led control for mute switches */ + #define SOF_TKN_MUTE_LED_USE 1300 +-- +2.20.1 + + +From 631932d09b78a4b8bbc939342d52631749b3e790 Mon Sep 17 00:00:00 2001 +From: Daniel Baluta <daniel.baluta@nxp.com> +Date: Tue, 8 Oct 2019 11:44:40 -0500 +Subject: [PATCH 032/130] ASoC: SOF: imx: Read ESAI parameters and send them to + DSP + +ESAI parameters are read for topology file, packed into +sof_ipc_dai_esai_parms struct and then sent to DSP. + +Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-7-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit a4eff5f86c9c5e7d07d880bd86ce8faad19d7063) +Bugzilla: 1772498 +--- + sound/soc/sof/pcm.c | 8 +++++ + sound/soc/sof/topology.c | 69 ++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 75 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c +index 2b876d497447..b0f4217433e5 100644 +--- a/sound/soc/sof/pcm.c ++++ b/sound/soc/sof/pcm.c +@@ -691,6 +691,14 @@ static int sof_pcm_dai_link_fixup(struct snd_soc_pcm_runtime *rtd, + case SOF_DAI_INTEL_ALH: + /* do nothing for ALH dai_link */ + break; ++ case SOF_DAI_IMX_ESAI: ++ channels->min = dai->dai_config->esai.tdm_slots; ++ channels->max = dai->dai_config->esai.tdm_slots; ++ ++ dev_dbg(sdev->dev, ++ "channels_min: %d channels_max: %d\n", ++ channels->min, channels->max); ++ break; + default: + dev_err(sdev->dev, "error: invalid DAI type %d\n", + dai->dai_config->type); +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index e150f53d2124..0adad3246652 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -804,6 +804,13 @@ static const struct sof_topology_token dmic_tokens[] = { + + }; + ++/* ESAI */ ++static const struct sof_topology_token esai_tokens[] = { ++ {SOF_TKN_IMX_ESAI_MCLK_ID, ++ SND_SOC_TPLG_TUPLE_TYPE_SHORT, get_token_u16, ++ offsetof(struct sof_ipc_dai_esai_params, mclk_id), 0}, ++}; ++ + /* + * DMIC PDM Tokens + * SOF_TKN_INTEL_DMIC_PDM_CTRL_ID should be the first token +@@ -2550,8 +2557,66 @@ static int sof_link_esai_load(struct snd_soc_component *scomp, int index, + struct snd_soc_tplg_hw_config *hw_config, + struct sof_ipc_dai_config *config) + { +- /*TODO: Add implementation */ +- return 0; ++ struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); ++ struct snd_soc_tplg_private *private = &cfg->priv; ++ struct sof_ipc_reply reply; ++ u32 size = sizeof(*config); ++ int ret; ++ ++ /* handle master/slave and inverted clocks */ ++ sof_dai_set_format(hw_config, config); ++ ++ /* init IPC */ ++ memset(&config->esai, 0, sizeof(struct sof_ipc_dai_esai_params)); ++ config->hdr.size = size; ++ ++ ret = sof_parse_tokens(scomp, &config->esai, esai_tokens, ++ ARRAY_SIZE(esai_tokens), private->array, ++ le32_to_cpu(private->size)); ++ if (ret != 0) { ++ dev_err(sdev->dev, "error: parse esai tokens failed %d\n", ++ le32_to_cpu(private->size)); ++ return ret; ++ } ++ ++ config->esai.mclk_rate = le32_to_cpu(hw_config->mclk_rate); ++ config->esai.bclk_rate = le32_to_cpu(hw_config->bclk_rate); ++ config->esai.fsync_rate = le32_to_cpu(hw_config->fsync_rate); ++ config->esai.mclk_direction = hw_config->mclk_direction; ++ config->esai.tdm_slots = le32_to_cpu(hw_config->tdm_slots); ++ config->esai.tdm_slot_width = le32_to_cpu(hw_config->tdm_slot_width); ++ config->esai.rx_slots = le32_to_cpu(hw_config->rx_slots); ++ config->esai.tx_slots = le32_to_cpu(hw_config->tx_slots); ++ ++ dev_info(sdev->dev, ++ "tplg: config ESAI%d fmt 0x%x mclk %d width %d slots %d mclk id %d\n", ++ config->dai_index, config->format, ++ config->esai.mclk_rate, config->esai.tdm_slot_width, ++ config->esai.tdm_slots, config->esai.mclk_id); ++ ++ if (config->esai.tdm_slots < 1 || config->esai.tdm_slots > 8) { ++ dev_err(sdev->dev, "error: invalid channel count for ESAI%d\n", ++ config->dai_index); ++ return -EINVAL; ++ } ++ ++ /* send message to DSP */ ++ ret = sof_ipc_tx_message(sdev->ipc, ++ config->hdr.cmd, config, size, &reply, ++ sizeof(reply)); ++ if (ret < 0) { ++ dev_err(sdev->dev, "error: failed to set DAI config for ESAI%d\n", ++ config->dai_index); ++ return ret; ++ } ++ ++ /* set config for all DAI's with name matching the link name */ ++ ret = sof_set_dai_config(sdev, size, link, config); ++ if (ret < 0) ++ dev_err(sdev->dev, "error: failed to save DAI config for ESAI%d\n", ++ config->dai_index); ++ ++ return ret; + } + + static int sof_link_dmic_load(struct snd_soc_component *scomp, int index, +-- +2.20.1 + + +From 78da07e36b7ae563f64def77a72dc02cf010cd8f Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 11 Oct 2019 11:43:09 -0500 +Subject: [PATCH 033/130] ASoC: SOF: Intel: byt: fix operator precedence + warnings + +Address cppcheck warnings + +sound/soc/sof/intel/byt.c:163:26: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + panic & SHIM_IPCX_BUSY ? "yes" : "no", + ^ + +sound/soc/sof/intel/byt.c:164:26: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + panic & SHIM_IPCX_DONE ? "yes" : "no", panic); + ^ + +sound/soc/sof/intel/byt.c:167:25: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + imrx & SHIM_IMRX_BUSY ? "yes" : "no", + ^ + +sound/soc/sof/intel/byt.c:168:25: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx); + ^ + +sound/soc/sof/intel/byt.c:171:27: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + status & SHIM_IPCD_BUSY ? "yes" : "no", + ^ + +sound/soc/sof/intel/byt.c:172:27: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + status & SHIM_IPCD_DONE ? "yes" : "no", status); + ^ + +sound/soc/sof/intel/byt.c:175:25: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + imrd & SHIM_IMRD_BUSY ? "yes" : "no", + ^ + +sound/soc/sof/intel/byt.c:176:25: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd); + ^ + +Fixes: 3a9e204d4e369 ("ASoC: SOF: Intel: Add context data to any IPC timeout.") +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191011164312.7988-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit f9f618e7128e834db3f54d290a926c4a71104e02) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/byt.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c +index b2597ecfdc1c..07e5efe4945c 100644 +--- a/sound/soc/sof/intel/byt.c ++++ b/sound/soc/sof/intel/byt.c +@@ -160,20 +160,20 @@ static void byt_dump(struct snd_sof_dev *sdev, u32 flags) + imrd = snd_sof_dsp_read(sdev, BYT_DSP_BAR, SHIM_IMRD); + dev_err(sdev->dev, + "error: ipc host -> DSP: pending %s complete %s raw 0x%8.8x\n", +- panic & SHIM_IPCX_BUSY ? "yes" : "no", +- panic & SHIM_IPCX_DONE ? "yes" : "no", panic); ++ (panic & SHIM_IPCX_BUSY) ? "yes" : "no", ++ (panic & SHIM_IPCX_DONE) ? "yes" : "no", panic); + dev_err(sdev->dev, + "error: mask host: pending %s complete %s raw 0x%8.8x\n", +- imrx & SHIM_IMRX_BUSY ? "yes" : "no", +- imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx); ++ (imrx & SHIM_IMRX_BUSY) ? "yes" : "no", ++ (imrx & SHIM_IMRX_DONE) ? "yes" : "no", imrx); + dev_err(sdev->dev, + "error: ipc DSP -> host: pending %s complete %s raw 0x%8.8x\n", +- status & SHIM_IPCD_BUSY ? "yes" : "no", +- status & SHIM_IPCD_DONE ? "yes" : "no", status); ++ (status & SHIM_IPCD_BUSY) ? "yes" : "no", ++ (status & SHIM_IPCD_DONE) ? "yes" : "no", status); + dev_err(sdev->dev, + "error: mask DSP: pending %s complete %s raw 0x%8.8x\n", +- imrd & SHIM_IMRD_BUSY ? "yes" : "no", +- imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd); ++ (imrd & SHIM_IMRD_BUSY) ? "yes" : "no", ++ (imrd & SHIM_IMRD_DONE) ? "yes" : "no", imrd); + + } + +-- +2.20.1 + + +From c1b2c6fecd44be2baa21f763e26a2a98d06708e6 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 11 Oct 2019 11:43:10 -0500 +Subject: [PATCH 034/130] ASoC: SOF: Intel: bdw: fix operator precedence + warnings + +Address cppcheck warnings + +sound/soc/sof/intel/bdw.c:265:26: style: Clarify calculation precedence +for '&' and '?'. [clarifyCalculation] + panic & SHIM_IPCX_BUSY ? "yes" : "no", + ^ + +sound/soc/sof/intel/bdw.c:266:26: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + panic & SHIM_IPCX_DONE ? "yes" : "no", panic); + ^ + +sound/soc/sof/intel/bdw.c:269:25: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + imrx & SHIM_IMRX_BUSY ? "yes" : "no", + ^ + +sound/soc/sof/intel/bdw.c:270:25: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx); + ^ + +sound/soc/sof/intel/bdw.c:273:27: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + status & SHIM_IPCD_BUSY ? "yes" : "no", + ^ + +sound/soc/sof/intel/bdw.c:274:27: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + status & SHIM_IPCD_DONE ? "yes" : "no", status); + ^ + +sound/soc/sof/intel/bdw.c:277:25: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + imrd & SHIM_IMRD_BUSY ? "yes" : "no", + ^ + +sound/soc/sof/intel/bdw.c:278:25: style: Clarify calculation +precedence for '&' and '?'. [clarifyCalculation] + imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd); + ^ + +Fixes: 3a9e204d4e369 ("ASoC: SOF: Intel: Add context data to any IPC timeout.") +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191011164312.7988-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 7ad03a2c848f6fb0a8dea656c9c161929696878e) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/bdw.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c +index f395d0638876..bf961a8798a7 100644 +--- a/sound/soc/sof/intel/bdw.c ++++ b/sound/soc/sof/intel/bdw.c +@@ -262,20 +262,20 @@ static void bdw_dump(struct snd_sof_dev *sdev, u32 flags) + imrd = snd_sof_dsp_read(sdev, BDW_DSP_BAR, SHIM_IMRD); + dev_err(sdev->dev, + "error: ipc host -> DSP: pending %s complete %s raw 0x%8.8x\n", +- panic & SHIM_IPCX_BUSY ? "yes" : "no", +- panic & SHIM_IPCX_DONE ? "yes" : "no", panic); ++ (panic & SHIM_IPCX_BUSY) ? "yes" : "no", ++ (panic & SHIM_IPCX_DONE) ? "yes" : "no", panic); + dev_err(sdev->dev, + "error: mask host: pending %s complete %s raw 0x%8.8x\n", +- imrx & SHIM_IMRX_BUSY ? "yes" : "no", +- imrx & SHIM_IMRX_DONE ? "yes" : "no", imrx); ++ (imrx & SHIM_IMRX_BUSY) ? "yes" : "no", ++ (imrx & SHIM_IMRX_DONE) ? "yes" : "no", imrx); + dev_err(sdev->dev, + "error: ipc DSP -> host: pending %s complete %s raw 0x%8.8x\n", +- status & SHIM_IPCD_BUSY ? "yes" : "no", +- status & SHIM_IPCD_DONE ? "yes" : "no", status); ++ (status & SHIM_IPCD_BUSY) ? "yes" : "no", ++ (status & SHIM_IPCD_DONE) ? "yes" : "no", status); + dev_err(sdev->dev, + "error: mask DSP: pending %s complete %s raw 0x%8.8x\n", +- imrd & SHIM_IMRD_BUSY ? "yes" : "no", +- imrd & SHIM_IMRD_DONE ? "yes" : "no", imrd); ++ (imrd & SHIM_IMRD_BUSY) ? "yes" : "no", ++ (imrd & SHIM_IMRD_DONE) ? "yes" : "no", imrd); + } + + /* +-- +2.20.1 + + +From 2a49b432e13f3820663d2a6210b1782ee17b0348 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 11 Oct 2019 11:43:11 -0500 +Subject: [PATCH 035/130] ASoC: SOF: topology: remove always-true redundant + test + +Address cppcheck warning: + +sound/soc/sof/topology.c:2322:6: style: Condition 'pcm' is always true +[knownConditionTrueFalse] + if (pcm) { + ^ + +sound/soc/sof/topology.c:2311:6: note: Assuming that condition '!pcm' +is not redundant + if (!pcm) + ^ + +sound/soc/sof/topology.c:2322:6: note: Condition 'pcm' is always true + if (pcm) { + ^ + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191011164312.7988-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 494e8f65da24d550a5e7c6a85b9433ffb181705c) +Bugzilla: 1772498 +--- + sound/soc/sof/topology.c | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index 0adad3246652..b451e8df77d3 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -2309,10 +2309,9 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index, + spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].comp_id = COMP_ID_UNASSIGNED; + spcm->stream[SNDRV_PCM_STREAM_CAPTURE].comp_id = COMP_ID_UNASSIGNED; + +- if (pcm) { +- spcm->pcm = *pcm; +- dev_dbg(sdev->dev, "tplg: load pcm %s\n", pcm->dai_name); +- } ++ spcm->pcm = *pcm; ++ dev_dbg(sdev->dev, "tplg: load pcm %s\n", pcm->dai_name); ++ + dai_drv->dobj.private = spcm; + list_add(&spcm->list, &sdev->pcm_list); + +-- +2.20.1 + + +From 3c7ba2805c8c4af4e61d2f40ca078fc0fdc9d17b Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 11 Oct 2019 11:43:12 -0500 +Subject: [PATCH 036/130] ASoC: SOF: topology: check errors when parsing LED + tokens + +sof_parse_tokens() returns a value that is checked on every call +except for LED tokens, fix with explicit test. + +Detected with cppcheck warning: + +sound/soc/sof/topology.c:973:6: style: Variable 'ret' is assigned a +value that is never used. [unreadVariable] + ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, + ^ + +Fixes: 5d43001ae4360 ("ASoC: SOF: acpi led support for switch controls") +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191011164312.7988-5-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 8a3ab38c36926ddbda3d2a3086c0a741fa175cff) +Bugzilla: 1772498 +--- + sound/soc/sof/topology.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index b451e8df77d3..8032bb8a709c 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -498,6 +498,11 @@ static int sof_control_load_volume(struct snd_soc_component *scomp, + ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, + ARRAY_SIZE(led_tokens), mc->priv.array, + le32_to_cpu(mc->priv.size)); ++ if (ret != 0) { ++ dev_err(sdev->dev, "error: parse led tokens failed %d\n", ++ le32_to_cpu(mc->priv.size)); ++ return ret; ++ } + + dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n", + scontrol->comp_id, scontrol->num_channels); +-- +2.20.1 + + +From 3450e41ea1124a2ee3a26849cc00a99ac8df8a67 Mon Sep 17 00:00:00 2001 +From: YueHaibing <yuehaibing@huawei.com> +Date: Mon, 14 Oct 2019 17:13:08 +0800 +Subject: [PATCH 037/130] ASoC: SOF: Fix randbuild error + +When LEDS_TRIGGER_AUDIO is m and SND_SOC_SOF is y, + +sound/soc/sof/control.o: In function `snd_sof_switch_put': +control.c:(.text+0x587): undefined reference to `ledtrig_audio_set' +control.c:(.text+0x593): undefined reference to `ledtrig_audio_set' + +Reported-by: Hulk Robot <hulkci@huawei.com> +Fixes: 5d43001ae436 ("ASoC: SOF: acpi led support for switch controls") +Signed-off-by: YueHaibing <yuehaibing@huawei.com> +Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191014091308.23688-1-yuehaibing@huawei.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 9899a7a869935c4c93247b290ac7a70e0deab202) +Bugzilla: 1772498 +--- + sound/soc/sof/control.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sound/soc/sof/control.c b/sound/soc/sof/control.c +index b73d4587c5da..7baf7f1507c3 100644 +--- a/sound/soc/sof/control.c ++++ b/sound/soc/sof/control.c +@@ -36,10 +36,12 @@ static void update_mute_led(struct snd_sof_control *scontrol, + + scontrol->led_ctl.led_value = temp; + ++#if IS_REACHABLE(CONFIG_LEDS_TRIGGER_AUDIO) + if (!scontrol->led_ctl.direction) + ledtrig_audio_set(LED_AUDIO_MUTE, temp ? LED_OFF : LED_ON); + else + ledtrig_audio_set(LED_AUDIO_MICMUTE, temp ? LED_OFF : LED_ON); ++#endif + } + + static inline u32 mixer_to_ipc(unsigned int value, u32 *volume_map, int size) +-- +2.20.1 + + +From 46c0429ba78df9619b0c845dd0377e812cc0ceca Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Tue, 22 Oct 2019 14:28:43 -0500 +Subject: [PATCH 038/130] ASoC: SOF: Intel: hda-loader: improve error handling + +If a ROM timeout is detected, we still stop the DMA but will return +the initial error should the DMA stop also fail. + +Likewise the cleanup is handled regardless of the status, but we +return the initial error. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191022192844.21022-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 76dc6a2b312d15c91ff4b4d171e98cdc73ba3745) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-loader.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c +index 65c2af3fcaab..7956dbf5be88 100644 +--- a/sound/soc/sof/intel/hda-loader.c ++++ b/sound/soc/sof/intel/hda-loader.c +@@ -253,10 +253,16 @@ static int cl_copy_fw(struct snd_sof_dev *sdev, struct hdac_ext_stream *stream) + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_BASEFW_TIMEOUT_US); + ++ /* ++ * even in case of errors we still need to stop the DMAs, ++ * but we return the initial error should the DMA stop also fail ++ */ ++ + ret = cl_trigger(sdev, stream, SNDRV_PCM_TRIGGER_STOP); + if (ret < 0) { + dev_err(sdev->dev, "error: DMA trigger stop failed\n"); +- return ret; ++ if (!status) ++ status = ret; + } + + return status; +@@ -341,13 +347,15 @@ int hda_dsp_cl_boot_firmware(struct snd_sof_dev *sdev) + /* + * Perform codeloader stream cleanup. + * This should be done even if firmware loading fails. ++ * If the cleanup also fails, we return the initial error + */ + ret1 = cl_cleanup(sdev, &sdev->dmab, stream); + if (ret1 < 0) { + dev_err(sdev->dev, "error: Code loader DSP cleanup failed\n"); + + /* set return value to indicate cleanup failure */ +- ret = ret1; ++ if (!ret) ++ ret = ret1; + } + + /* +-- +2.20.1 + + +From c2f63a4a75f4bd02ec46b58dee7468acc0771576 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Tue, 22 Oct 2019 14:28:44 -0500 +Subject: [PATCH 039/130] ASoC: SOF: Intel: hda: add dev_err() traces for + snd_sof_dsp_read_poll_timeout() + +Such traces should be extremely rare but extremely useful for debug. + +Report errors for all calls to sdn_sof_dsp_read_poll_timeout(), but +only on negative values for consistency. + +Add traces that enable each timeout to be uniquely identified. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191022192844.21022-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 6a414489e0f3309a221f26b3d11c19d1a96a3635) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-dsp.c | 30 +++++++++++++++++++++++++++--- + sound/soc/sof/intel/hda-loader.c | 13 ++++++++++++- + sound/soc/sof/intel/hda-stream.c | 24 ++++++++++++++++++++---- + 3 files changed, 59 insertions(+), 8 deletions(-) + +diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c +index fb55a3c5afd0..3ea401646e0c 100644 +--- a/sound/soc/sof/intel/hda-dsp.c ++++ b/sound/soc/sof/intel/hda-dsp.c +@@ -42,6 +42,12 @@ int hda_dsp_core_reset_enter(struct snd_sof_dev *sdev, unsigned int core_mask) + ((adspcs & reset) == reset), + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); ++ if (ret < 0) { ++ dev_err(sdev->dev, ++ "error: %s: timeout on HDA_DSP_REG_ADSPCS read\n", ++ __func__); ++ return ret; ++ } + + /* has core entered reset ? */ + adspcs = snd_sof_dsp_read(sdev, HDA_DSP_BAR, +@@ -77,6 +83,13 @@ int hda_dsp_core_reset_leave(struct snd_sof_dev *sdev, unsigned int core_mask) + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); + ++ if (ret < 0) { ++ dev_err(sdev->dev, ++ "error: %s: timeout on HDA_DSP_REG_ADSPCS read\n", ++ __func__); ++ return ret; ++ } ++ + /* has core left reset ? */ + adspcs = snd_sof_dsp_read(sdev, HDA_DSP_BAR, + HDA_DSP_REG_ADSPCS); +@@ -151,8 +164,12 @@ int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask) + (adspcs & cpa) == cpa, + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); +- if (ret < 0) +- dev_err(sdev->dev, "error: timeout on core powerup\n"); ++ if (ret < 0) { ++ dev_err(sdev->dev, ++ "error: %s: timeout on HDA_DSP_REG_ADSPCS read\n", ++ __func__); ++ return ret; ++ } + + /* did core power up ? */ + adspcs = snd_sof_dsp_read(sdev, HDA_DSP_BAR, +@@ -171,17 +188,24 @@ int hda_dsp_core_power_up(struct snd_sof_dev *sdev, unsigned int core_mask) + int hda_dsp_core_power_down(struct snd_sof_dev *sdev, unsigned int core_mask) + { + u32 adspcs; ++ int ret; + + /* update bits */ + snd_sof_dsp_update_bits_unlocked(sdev, HDA_DSP_BAR, + HDA_DSP_REG_ADSPCS, + HDA_DSP_ADSPCS_SPA_MASK(core_mask), 0); + +- return snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, ++ ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, + HDA_DSP_REG_ADSPCS, adspcs, + !(adspcs & HDA_DSP_ADSPCS_SPA_MASK(core_mask)), + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_PD_TIMEOUT * USEC_PER_MSEC); ++ if (ret < 0) ++ dev_err(sdev->dev, ++ "error: %s: timeout on HDA_DSP_REG_ADSPCS read\n", ++ __func__); ++ ++ return ret; + } + + bool hda_dsp_core_is_enabled(struct snd_sof_dev *sdev, +diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c +index 7956dbf5be88..b1783360fe10 100644 +--- a/sound/soc/sof/intel/hda-loader.c ++++ b/sound/soc/sof/intel/hda-loader.c +@@ -126,7 +126,8 @@ static int cl_dsp_init(struct snd_sof_dev *sdev, const void *fwdata, + HDA_DSP_INIT_TIMEOUT_US); + + if (ret < 0) { +- dev_err(sdev->dev, "error: waiting for HIPCIE done\n"); ++ dev_err(sdev->dev, "error: %s: timeout for HIPCIE done\n", ++ __func__); + goto err; + } + +@@ -152,6 +153,10 @@ static int cl_dsp_init(struct snd_sof_dev *sdev, const void *fwdata, + if (!ret) + return 0; + ++ dev_err(sdev->dev, ++ "error: %s: timeout HDA_DSP_SRAM_REG_ROM_STATUS read\n", ++ __func__); ++ + err: + hda_dsp_dump(sdev, SOF_DBG_REGS | SOF_DBG_PCI | SOF_DBG_MBOX); + hda_dsp_core_reset_power_down(sdev, chip->cores_mask); +@@ -258,6 +263,12 @@ static int cl_copy_fw(struct snd_sof_dev *sdev, struct hdac_ext_stream *stream) + * but we return the initial error should the DMA stop also fail + */ + ++ if (status < 0) { ++ dev_err(sdev->dev, ++ "error: %s: timeout HDA_DSP_SRAM_REG_ROM_STATUS read\n", ++ __func__); ++ } ++ + ret = cl_trigger(sdev, stream, SNDRV_PCM_TRIGGER_STOP); + if (ret < 0) { + dev_err(sdev->dev, "error: DMA trigger stop failed\n"); +diff --git a/sound/soc/sof/intel/hda-stream.c b/sound/soc/sof/intel/hda-stream.c +index 0c11fceb28a7..29ab43281670 100644 +--- a/sound/soc/sof/intel/hda-stream.c ++++ b/sound/soc/sof/intel/hda-stream.c +@@ -275,8 +275,12 @@ int hda_dsp_stream_trigger(struct snd_sof_dev *sdev, + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_STREAM_RUN_TIMEOUT); + +- if (ret) ++ if (ret < 0) { ++ dev_err(sdev->dev, ++ "error: %s: cmd %d: timeout on STREAM_SD_OFFSET read\n", ++ __func__, cmd); + return ret; ++ } + + hstream->running = true; + break; +@@ -294,8 +298,12 @@ int hda_dsp_stream_trigger(struct snd_sof_dev *sdev, + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_STREAM_RUN_TIMEOUT); + +- if (ret) ++ if (ret < 0) { ++ dev_err(sdev->dev, ++ "error: %s: cmd %d: timeout on STREAM_SD_OFFSET read\n", ++ __func__, cmd); + return ret; ++ } + + snd_sof_dsp_write(sdev, HDA_DSP_HDA_BAR, sd_offset + + SOF_HDA_ADSP_REG_CL_SD_STS, +@@ -356,8 +364,12 @@ int hda_dsp_stream_hw_params(struct snd_sof_dev *sdev, + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_STREAM_RUN_TIMEOUT); + +- if (ret) ++ if (ret < 0) { ++ dev_err(sdev->dev, ++ "error: %s: timeout on STREAM_SD_OFFSET read1\n", ++ __func__); + return ret; ++ } + + snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR, + sd_offset + SOF_HDA_ADSP_REG_CL_SD_STS, +@@ -418,8 +430,12 @@ int hda_dsp_stream_hw_params(struct snd_sof_dev *sdev, + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_STREAM_RUN_TIMEOUT); + +- if (ret) ++ if (ret < 0) { ++ dev_err(sdev->dev, ++ "error: %s: timeout on STREAM_SD_OFFSET read2\n", ++ __func__); + return ret; ++ } + + snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR, + sd_offset + SOF_HDA_ADSP_REG_CL_SD_STS, +-- +2.20.1 + + +From ae6f9d27eca6aa21c2f47b7d22dacc72bc6ff71d Mon Sep 17 00:00:00 2001 +From: Pan Xiuli <xiuli.pan@linux.intel.com> +Date: Tue, 22 Oct 2019 14:47:05 -0500 +Subject: [PATCH 040/130] ASoC: SOF: Intel: initial support to JasperLake. + +Add Kconfig, PCI ID and chip info for JSL platform. +The DSP only has 2 cores for this platform. + +Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191022194705.23347-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 6fd9903527bf103167004022a0199b8fac1b8b29) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/Kconfig | 16 ++++++++++++++++ + sound/soc/sof/intel/cnl.c | 17 +++++++++++++++++ + sound/soc/sof/intel/hda.h | 1 + + sound/soc/sof/sof-pci-dev.c | 22 ++++++++++++++++++++++ + 4 files changed, 56 insertions(+) + +diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig +index 1be28581c328..aac8d5deba3d 100644 +--- a/sound/soc/sof/intel/Kconfig ++++ b/sound/soc/sof/intel/Kconfig +@@ -29,6 +29,7 @@ config SND_SOC_SOF_INTEL_PCI + select SND_SOC_SOF_COMETLAKE_H if SND_SOC_SOF_COMETLAKE_H_SUPPORT + select SND_SOC_SOF_TIGERLAKE if SND_SOC_SOF_TIGERLAKE_SUPPORT + select SND_SOC_SOF_ELKHARTLAKE if SND_SOC_SOF_ELKHARTLAKE_SUPPORT ++ select SND_SOC_SOF_JASPERLAKE if SND_SOC_SOF_JASPERLAKE_SUPPORT + help + This option is not user-selectable but automagically handled by + 'select' statements at a higher level +@@ -244,6 +245,21 @@ config SND_SOC_SOF_ELKHARTLAKE + This option is not user-selectable but automagically handled by + 'select' statements at a higher level + ++config SND_SOC_SOF_JASPERLAKE_SUPPORT ++ bool "SOF support for JasperLake" ++ help ++ This adds support for Sound Open Firmware for Intel(R) platforms ++ using the JasperLake processors. ++ Say Y if you have such a device. ++ If unsure select "N". ++ ++config SND_SOC_SOF_JASPERLAKE ++ tristate ++ select SND_SOC_SOF_HDA_COMMON ++ help ++ This option is not user-selectable but automagically handled by ++ 'select' statements at a higher level ++ + config SND_SOC_SOF_HDA_COMMON + tristate + select SND_SOC_SOF_INTEL_COMMON +diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c +index 4ddd73762d81..5b97bdfba823 100644 +--- a/sound/soc/sof/intel/cnl.c ++++ b/sound/soc/sof/intel/cnl.c +@@ -327,3 +327,20 @@ const struct sof_intel_dsp_desc ehl_chip_info = { + .ssp_base_offset = CNL_SSP_BASE_OFFSET, + }; + EXPORT_SYMBOL(ehl_chip_info); ++ ++const struct sof_intel_dsp_desc jsl_chip_info = { ++ /* Jasperlake */ ++ .cores_num = 2, ++ .init_core_mask = 1, ++ .cores_mask = HDA_DSP_CORE_MASK(0) | ++ HDA_DSP_CORE_MASK(1), ++ .ipc_req = CNL_DSP_REG_HIPCIDR, ++ .ipc_req_mask = CNL_DSP_REG_HIPCIDR_BUSY, ++ .ipc_ack = CNL_DSP_REG_HIPCIDA, ++ .ipc_ack_mask = CNL_DSP_REG_HIPCIDA_DONE, ++ .ipc_ctl = CNL_DSP_REG_HIPCCTL, ++ .rom_init_timeout = 300, ++ .ssp_count = ICL_SSP_COUNT, ++ .ssp_base_offset = CNL_SSP_BASE_OFFSET, ++}; ++EXPORT_SYMBOL(jsl_chip_info); +diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h +index 23e430d3e056..ea02bf40cb25 100644 +--- a/sound/soc/sof/intel/hda.h ++++ b/sound/soc/sof/intel/hda.h +@@ -604,5 +604,6 @@ extern const struct sof_intel_dsp_desc skl_chip_info; + extern const struct sof_intel_dsp_desc icl_chip_info; + extern const struct sof_intel_dsp_desc tgl_chip_info; + extern const struct sof_intel_dsp_desc ehl_chip_info; ++extern const struct sof_intel_dsp_desc jsl_chip_info; + + #endif +diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c +index be5a8da504c5..e0b150f29e81 100644 +--- a/sound/soc/sof/sof-pci-dev.c ++++ b/sound/soc/sof/sof-pci-dev.c +@@ -246,6 +246,24 @@ static const struct sof_dev_desc ehl_desc = { + }; + #endif + ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_JASPERLAKE) ++static const struct sof_dev_desc jsl_desc = { ++ .machines = snd_soc_acpi_intel_jsl_machines, ++ .resindex_lpe_base = 0, ++ .resindex_pcicfg_base = -1, ++ .resindex_imr_base = -1, ++ .irqindex_host_ipc = -1, ++ .resindex_dma_base = -1, ++ .chip_info = &jsl_chip_info, ++ .default_fw_path = "intel/sof", ++ .default_tplg_path = "intel/sof-tplg", ++ .nocodec_fw_filename = "sof-jsl.ri", ++ .nocodec_tplg_filename = "sof-jsl-nocodec.tplg", ++ .ops = &sof_cnl_ops, ++ .arch_ops = &sof_xtensa_arch_ops ++}; ++#endif ++ + static const struct dev_pm_ops sof_pci_pm = { + SET_SYSTEM_SLEEP_PM_OPS(snd_sof_suspend, snd_sof_resume) + SET_RUNTIME_PM_OPS(snd_sof_runtime_suspend, snd_sof_runtime_resume, +@@ -429,6 +447,10 @@ static const struct pci_device_id sof_pci_ids[] = { + { PCI_DEVICE(0x8086, 0x34C8), + .driver_data = (unsigned long)&icl_desc}, + #endif ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_JASPERLAKE) ++ { PCI_DEVICE(0x8086, 0x38c8), ++ .driver_data = (unsigned long)&jsl_desc}, ++#endif + #if IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_LP) + { PCI_DEVICE(0x8086, 0x02c8), + .driver_data = (unsigned long)&cml_desc}, +-- +2.20.1 + + +From 7de4b3424a30b11a2ea4d63a6c6d57c9407bf771 Mon Sep 17 00:00:00 2001 +From: Pan Xiuli <xiuli.pan@linux.intel.com> +Date: Tue, 22 Oct 2019 14:47:04 -0500 +Subject: [PATCH 041/130] ASoC: Intel: common: add ACPI matching tables for JSL + +There are no upstream machine drivers just yet so just add dummy table +for compilation in nocodec-mode. + +Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com> +Link: https://lore.kernel.org/r/20191022194705.23347-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 4f0637eae56f02ef648de5ed839d572259d396e9) +Bugzilla: 1772498 +--- + include/sound/soc-acpi-intel-match.h | 1 + + sound/soc/intel/common/Makefile | 1 + + .../intel/common/soc-acpi-intel-jsl-match.c | 18 ++++++++++++++++++ + 3 files changed, 20 insertions(+) + create mode 100644 sound/soc/intel/common/soc-acpi-intel-jsl-match.c + +diff --git a/include/sound/soc-acpi-intel-match.h b/include/sound/soc-acpi-intel-match.h +index 6c9929abd90b..4e44782862df 100644 +--- a/include/sound/soc-acpi-intel-match.h ++++ b/include/sound/soc-acpi-intel-match.h +@@ -27,6 +27,7 @@ extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_icl_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_tgl_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_ehl_machines[]; ++extern struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[]; + + /* + * generic table used for HDA codec-based platforms, possibly with +diff --git a/sound/soc/intel/common/Makefile b/sound/soc/intel/common/Makefile +index 18d9630ae9a2..eafe95ead49b 100644 +--- a/sound/soc/intel/common/Makefile ++++ b/sound/soc/intel/common/Makefile +@@ -9,6 +9,7 @@ snd-soc-acpi-intel-match-objs := soc-acpi-intel-byt-match.o soc-acpi-intel-cht-m + soc-acpi-intel-bxt-match.o soc-acpi-intel-glk-match.o \ + soc-acpi-intel-cnl-match.o soc-acpi-intel-icl-match.o \ + soc-acpi-intel-tgl-match.o soc-acpi-intel-ehl-match.o \ ++ soc-acpi-intel-jsl-match.o \ + soc-acpi-intel-hda-match.o + + obj-$(CONFIG_SND_SOC_INTEL_SST) += snd-soc-sst-dsp.o snd-soc-sst-ipc.o +diff --git a/sound/soc/intel/common/soc-acpi-intel-jsl-match.c b/sound/soc/intel/common/soc-acpi-intel-jsl-match.c +new file mode 100644 +index 000000000000..1c68a04f0c6e +--- /dev/null ++++ b/sound/soc/intel/common/soc-acpi-intel-jsl-match.c +@@ -0,0 +1,18 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * soc-apci-intel-jsl-match.c - tables and support for JSL ACPI enumeration. ++ * ++ * Copyright (c) 2019, Intel Corporation. ++ * ++ */ ++ ++#include <sound/soc-acpi.h> ++#include <sound/soc-acpi-intel-match.h> ++ ++struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[] = { ++ {}, ++}; ++EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_jsl_machines); ++ ++MODULE_LICENSE("GPL v2"); ++MODULE_DESCRIPTION("Intel Common ACPI Match module"); +-- +2.20.1 + + +From a8fbd7629399a706abe19bbad51f2120a60f5f56 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Thu, 24 Oct 2019 16:03:17 -0500 +Subject: [PATCH 042/130] ASoC: SOF: define INFO_ flags in dsp_ops + +Currently the INFO_ flags such as PAUSE/NO_PERIOD_WAKEUP are defined +in the SOF PCM core, which doesn't scale. To account for platform +variations, these flags need to be set in DSP ops. + +This patch only moves the definitions and does not change any +functionality. + +Reviewed-by: Jaska Uimonen <jaska.uimonen@intel.com> +Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191024210318.30068-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 27e322fabd508ba73ced625fc41f0b7ceee26416) +Bugzilla: 1772498 +--- + sound/soc/sof/imx/imx8.c | 7 +++++++ + sound/soc/sof/intel/apl.c | 7 +++++++ + sound/soc/sof/intel/bdw.c | 9 ++++++++- + sound/soc/sof/intel/byt.c | 21 +++++++++++++++++++++ + sound/soc/sof/intel/cnl.c | 7 +++++++ + sound/soc/sof/pcm.c | 8 +++----- + sound/soc/sof/sof-priv.h | 3 +++ + 7 files changed, 56 insertions(+), 6 deletions(-) + +diff --git a/sound/soc/sof/imx/imx8.c b/sound/soc/sof/imx/imx8.c +index 2a22b18e5ec0..cfefcfd92798 100644 +--- a/sound/soc/sof/imx/imx8.c ++++ b/sound/soc/sof/imx/imx8.c +@@ -388,6 +388,13 @@ struct snd_sof_dsp_ops sof_imx8_ops = { + /* DAI drivers */ + .drv = imx8_dai, + .num_drv = 1, /* we have only 1 ESAI interface on i.MX8 */ ++ ++ /* ALSA HW info flags */ ++ .hw_info = SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_PAUSE | ++ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP + }; + EXPORT_SYMBOL(sof_imx8_ops); + +diff --git a/sound/soc/sof/intel/apl.c b/sound/soc/sof/intel/apl.c +index 8dc7a5558da4..15d26e8d90a9 100644 +--- a/sound/soc/sof/intel/apl.c ++++ b/sound/soc/sof/intel/apl.c +@@ -97,6 +97,13 @@ const struct snd_sof_dsp_ops sof_apl_ops = { + .runtime_resume = hda_dsp_runtime_resume, + .runtime_idle = hda_dsp_runtime_idle, + .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume, ++ ++ /* ALSA HW info flags */ ++ .hw_info = SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_PAUSE | ++ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, + }; + EXPORT_SYMBOL(sof_apl_ops); + +diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c +index bf961a8798a7..7b4cd1f456bf 100644 +--- a/sound/soc/sof/intel/bdw.c ++++ b/sound/soc/sof/intel/bdw.c +@@ -591,7 +591,14 @@ const struct snd_sof_dsp_ops sof_bdw_ops = { + + /* DAI drivers */ + .drv = bdw_dai, +- .num_drv = ARRAY_SIZE(bdw_dai) ++ .num_drv = ARRAY_SIZE(bdw_dai), ++ ++ /* ALSA HW info flags */ ++ .hw_info = SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_PAUSE | ++ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, + }; + EXPORT_SYMBOL(sof_bdw_ops); + +diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c +index 07e5efe4945c..62edb959f1fc 100644 +--- a/sound/soc/sof/intel/byt.c ++++ b/sound/soc/sof/intel/byt.c +@@ -532,6 +532,13 @@ const struct snd_sof_dsp_ops sof_tng_ops = { + /* DAI drivers */ + .drv = byt_dai, + .num_drv = 3, /* we have only 3 SSPs on byt*/ ++ ++ /* ALSA HW info flags */ ++ .hw_info = SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_PAUSE | ++ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, + }; + EXPORT_SYMBOL(sof_tng_ops); + +@@ -693,6 +700,13 @@ const struct snd_sof_dsp_ops sof_byt_ops = { + /* DAI drivers */ + .drv = byt_dai, + .num_drv = 3, /* we have only 3 SSPs on byt*/ ++ ++ /* ALSA HW info flags */ ++ .hw_info = SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_PAUSE | ++ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, + }; + EXPORT_SYMBOL(sof_byt_ops); + +@@ -753,6 +767,13 @@ const struct snd_sof_dsp_ops sof_cht_ops = { + .drv = byt_dai, + /* all 6 SSPs may be available for cherrytrail */ + .num_drv = ARRAY_SIZE(byt_dai), ++ ++ /* ALSA HW info flags */ ++ .hw_info = SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_PAUSE | ++ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, + }; + EXPORT_SYMBOL(sof_cht_ops); + +diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c +index 5b97bdfba823..e9cdcc040fb5 100644 +--- a/sound/soc/sof/intel/cnl.c ++++ b/sound/soc/sof/intel/cnl.c +@@ -255,6 +255,13 @@ const struct snd_sof_dsp_ops sof_cnl_ops = { + .runtime_resume = hda_dsp_runtime_resume, + .runtime_idle = hda_dsp_runtime_idle, + .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume, ++ ++ /* ALSA HW info flags */ ++ .hw_info = SNDRV_PCM_INFO_MMAP | ++ SNDRV_PCM_INFO_MMAP_VALID | ++ SNDRV_PCM_INFO_INTERLEAVED | ++ SNDRV_PCM_INFO_PAUSE | ++ SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, + }; + EXPORT_SYMBOL(sof_cnl_ops); + +diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c +index b0f4217433e5..b33928e1385b 100644 +--- a/sound/soc/sof/pcm.c ++++ b/sound/soc/sof/pcm.c +@@ -435,6 +435,7 @@ static int sof_pcm_open(struct snd_pcm_substream *substream) + struct snd_soc_component *component = + snd_soc_rtdcom_lookup(rtd, DRV_NAME); + struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(component); ++ const struct snd_sof_dsp_ops *ops = sof_ops(sdev); + struct snd_sof_pcm *spcm; + struct snd_soc_tplg_stream_caps *caps; + int ret; +@@ -464,11 +465,8 @@ static int sof_pcm_open(struct snd_pcm_substream *substream) + le32_to_cpu(caps->period_size_min)); + + /* set runtime config */ +- runtime->hw.info = SNDRV_PCM_INFO_MMAP | +- SNDRV_PCM_INFO_MMAP_VALID | +- SNDRV_PCM_INFO_INTERLEAVED | +- SNDRV_PCM_INFO_PAUSE | +- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP; ++ runtime->hw.info = ops->hw_info; /* platform-specific */ ++ + runtime->hw.formats = le64_to_cpu(caps->formats); + runtime->hw.period_bytes_min = le32_to_cpu(caps->period_size_min); + runtime->hw.period_bytes_max = le32_to_cpu(caps->period_size_max); +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 5a11a8517fa5..2d40de5ee285 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -211,6 +211,9 @@ struct snd_sof_dsp_ops { + /* DAI ops */ + struct snd_soc_dai_driver *drv; + int num_drv; ++ ++ /* ALSA HW info flags, will be stored in snd_pcm_runtime.hw.info */ ++ u32 hw_info; + }; + + /* DSP architecture specific callbacks for oops and stack dumps */ +-- +2.20.1 + + +From 67594879a9d4b17f5510ae384b2a7ed77e6d05cc Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Thu, 24 Oct 2019 16:03:18 -0500 +Subject: [PATCH 043/130] ASoC: SOF: Intel: only support INFO_BATCH for legacy + platforms + +The current position update is not precise enough for PulseAudio to +work reliably with the timer-based scheduling on Baytrail, +Cherrytrail, Broadwell. + +Disable the NO_PERIOD_WAKEUP capability and use BATCH to signal that +the position is only reliable and updated during period_elapsed +events. + +This will be reverted when the firmware provides a more accurate +position for those platforms. + +Reviewed-by: Jaska Uimonen <jaska.uimonen@intel.com> +Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191024210318.30068-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 4c02a7bd43e22f4de53ad55b94d24e4388f712f0) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/bdw.c | 2 +- + sound/soc/sof/intel/byt.c | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sound/soc/sof/intel/bdw.c b/sound/soc/sof/intel/bdw.c +index 7b4cd1f456bf..141dad554764 100644 +--- a/sound/soc/sof/intel/bdw.c ++++ b/sound/soc/sof/intel/bdw.c +@@ -598,7 +598,7 @@ const struct snd_sof_dsp_ops sof_bdw_ops = { + SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_PAUSE | +- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, ++ SNDRV_PCM_INFO_BATCH, + }; + EXPORT_SYMBOL(sof_bdw_ops); + +diff --git a/sound/soc/sof/intel/byt.c b/sound/soc/sof/intel/byt.c +index 62edb959f1fc..2abf80b3eb52 100644 +--- a/sound/soc/sof/intel/byt.c ++++ b/sound/soc/sof/intel/byt.c +@@ -538,7 +538,7 @@ const struct snd_sof_dsp_ops sof_tng_ops = { + SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_PAUSE | +- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, ++ SNDRV_PCM_INFO_BATCH, + }; + EXPORT_SYMBOL(sof_tng_ops); + +@@ -706,7 +706,7 @@ const struct snd_sof_dsp_ops sof_byt_ops = { + SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_PAUSE | +- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, ++ SNDRV_PCM_INFO_BATCH, + }; + EXPORT_SYMBOL(sof_byt_ops); + +@@ -773,7 +773,7 @@ const struct snd_sof_dsp_ops sof_cht_ops = { + SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_PAUSE | +- SNDRV_PCM_INFO_NO_PERIOD_WAKEUP, ++ SNDRV_PCM_INFO_BATCH, + }; + EXPORT_SYMBOL(sof_cht_ops); + +-- +2.20.1 + + +From af01764721df770ee773faae776429901a9614fe Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Mon, 28 Oct 2019 18:33:29 +0100 +Subject: [PATCH 044/130] ASoC: SOF - remove the dead code (skylake/kabylake) + +Appearently the CONFIG_SND_SOC_SOF_KABYLAKE and CONFIG_SND_SOC_SOF_SKYLAKE +options are not present in Kconfig and 'struct snd_sof_dsp_ops sof_skl_ops' +is not declared in the code, too. + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Cc: Mark Brown <broonie@kernel.org> +Link: https://lore.kernel.org/r/20191028173329.29538-1-perex@perex.cz +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit c3ad1092e1069f27d0ca110dcaada8a5435ea3e0) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda.h | 1 - + sound/soc/sof/sof-pci-dev.c | 44 ------------------------------------- + 2 files changed, 45 deletions(-) + +diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h +index ea02bf40cb25..8e03d876a0ac 100644 +--- a/sound/soc/sof/intel/hda.h ++++ b/sound/soc/sof/intel/hda.h +@@ -596,7 +596,6 @@ extern struct snd_soc_dai_driver skl_dai[]; + */ + extern const struct snd_sof_dsp_ops sof_apl_ops; + extern const struct snd_sof_dsp_ops sof_cnl_ops; +-extern const struct snd_sof_dsp_ops sof_skl_ops; + + extern const struct sof_intel_dsp_desc apl_chip_info; + extern const struct sof_intel_dsp_desc cnl_chip_info; +diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c +index e0b150f29e81..067acf389af7 100644 +--- a/sound/soc/sof/sof-pci-dev.c ++++ b/sound/soc/sof/sof-pci-dev.c +@@ -174,42 +174,6 @@ static const struct sof_dev_desc icl_desc = { + }; + #endif + +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_SKYLAKE) +-static const struct sof_dev_desc skl_desc = { +- .machines = snd_soc_acpi_intel_skl_machines, +- .resindex_lpe_base = 0, +- .resindex_pcicfg_base = -1, +- .resindex_imr_base = -1, +- .irqindex_host_ipc = -1, +- .resindex_dma_base = -1, +- .chip_info = &skl_chip_info, +- .default_fw_path = "intel/sof", +- .default_tplg_path = "intel/sof-tplg", +- .nocodec_fw_filename = "sof-skl.ri", +- .nocodec_tplg_filename = "sof-skl-nocodec.tplg", +- .ops = &sof_skl_ops, +- .arch_ops = &sof_xtensa_arch_ops +-}; +-#endif +- +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_KABYLAKE) +-static const struct sof_dev_desc kbl_desc = { +- .machines = snd_soc_acpi_intel_kbl_machines, +- .resindex_lpe_base = 0, +- .resindex_pcicfg_base = -1, +- .resindex_imr_base = -1, +- .irqindex_host_ipc = -1, +- .resindex_dma_base = -1, +- .chip_info = &skl_chip_info, +- .default_fw_path = "intel/sof", +- .default_tplg_path = "intel/sof-tplg", +- .nocodec_fw_filename = "sof-kbl.ri", +- .nocodec_tplg_filename = "sof-kbl-nocodec.tplg", +- .ops = &sof_skl_ops, +- .arch_ops = &sof_xtensa_arch_ops +-}; +-#endif +- + #if IS_ENABLED(CONFIG_SND_SOC_SOF_TIGERLAKE) + static const struct sof_dev_desc tgl_desc = { + .machines = snd_soc_acpi_intel_tgl_machines, +@@ -435,14 +399,6 @@ static const struct pci_device_id sof_pci_ids[] = { + { PCI_DEVICE(0x8086, 0xa348), + .driver_data = (unsigned long)&cfl_desc}, + #endif +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_KABYLAKE) +- { PCI_DEVICE(0x8086, 0x9d71), +- .driver_data = (unsigned long)&kbl_desc}, +-#endif +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_SKYLAKE) +- { PCI_DEVICE(0x8086, 0x9d70), +- .driver_data = (unsigned long)&skl_desc}, +-#endif + #if IS_ENABLED(CONFIG_SND_SOC_SOF_ICELAKE) + { PCI_DEVICE(0x8086, 0x34C8), + .driver_data = (unsigned long)&icl_desc}, +-- +2.20.1 + + +From d08a87dcaa98f79927dd564cf6313b6161e33f84 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:10 +0200 +Subject: [PATCH 045/130] ASoC: hdac_hda: add support for HDMI/DP as a HDA + codec + +Handle all HDA codecs using same logic, including HDMI/DP. + +Call to snd_hda_codec_build_controls() is delayed for HDMI/DP HDA +devices. This is needed to discover the PCM device numbers as +defined in topology. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-3-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 608b8c36c37114289e3ea328783161f542fdf71d) +Bugzilla: 1772498 +--- + sound/soc/codecs/hdac_hda.c | 114 ++++++++++++++++++++++++++++++++---- + sound/soc/codecs/hdac_hda.h | 13 +++- + 2 files changed, 114 insertions(+), 13 deletions(-) + +diff --git a/sound/soc/codecs/hdac_hda.c b/sound/soc/codecs/hdac_hda.c +index 4570f662fb48..6803d39e09a5 100644 +--- a/sound/soc/codecs/hdac_hda.c ++++ b/sound/soc/codecs/hdac_hda.c +@@ -14,13 +14,11 @@ + #include <sound/pcm_params.h> + #include <sound/soc.h> + #include <sound/hdaudio_ext.h> ++#include <sound/hda_i915.h> + #include <sound/hda_codec.h> + #include <sound/hda_register.h> +-#include "hdac_hda.h" + +-#define HDAC_ANALOG_DAI_ID 0 +-#define HDAC_DIGITAL_DAI_ID 1 +-#define HDAC_ALT_ANALOG_DAI_ID 2 ++#include "hdac_hda.h" + + #define STUB_FORMATS (SNDRV_PCM_FMTBIT_S8 | \ + SNDRV_PCM_FMTBIT_U8 | \ +@@ -32,6 +30,11 @@ + SNDRV_PCM_FMTBIT_U32_LE | \ + SNDRV_PCM_FMTBIT_IEC958_SUBFRAME_LE) + ++#define STUB_HDMI_RATES (SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 |\ ++ SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 |\ ++ SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 |\ ++ SNDRV_PCM_RATE_192000) ++ + static int hdac_hda_dai_open(struct snd_pcm_substream *substream, + struct snd_soc_dai *dai); + static void hdac_hda_dai_close(struct snd_pcm_substream *substream, +@@ -121,7 +124,46 @@ static struct snd_soc_dai_driver hdac_hda_dais[] = { + .formats = STUB_FORMATS, + .sig_bits = 24, + }, +-} ++}, ++{ ++ .id = HDAC_HDMI_0_DAI_ID, ++ .name = "intel-hdmi-hifi1", ++ .ops = &hdac_hda_dai_ops, ++ .playback = { ++ .stream_name = "hifi1", ++ .channels_min = 1, ++ .channels_max = 32, ++ .rates = STUB_HDMI_RATES, ++ .formats = STUB_FORMATS, ++ .sig_bits = 24, ++ }, ++}, ++{ ++ .id = HDAC_HDMI_1_DAI_ID, ++ .name = "intel-hdmi-hifi2", ++ .ops = &hdac_hda_dai_ops, ++ .playback = { ++ .stream_name = "hifi2", ++ .channels_min = 1, ++ .channels_max = 32, ++ .rates = STUB_HDMI_RATES, ++ .formats = STUB_FORMATS, ++ .sig_bits = 24, ++ }, ++}, ++{ ++ .id = HDAC_HDMI_2_DAI_ID, ++ .name = "intel-hdmi-hifi3", ++ .ops = &hdac_hda_dai_ops, ++ .playback = { ++ .stream_name = "hifi3", ++ .channels_min = 1, ++ .channels_max = 32, ++ .rates = STUB_HDMI_RATES, ++ .formats = STUB_FORMATS, ++ .sig_bits = 24, ++ }, ++}, + + }; + +@@ -135,10 +177,11 @@ static int hdac_hda_dai_set_tdm_slot(struct snd_soc_dai *dai, + + hda_pvt = snd_soc_component_get_drvdata(component); + pcm = &hda_pvt->pcm[dai->id]; ++ + if (tx_mask) +- pcm[dai->id].stream_tag[SNDRV_PCM_STREAM_PLAYBACK] = tx_mask; ++ pcm->stream_tag[SNDRV_PCM_STREAM_PLAYBACK] = tx_mask; + else +- pcm[dai->id].stream_tag[SNDRV_PCM_STREAM_CAPTURE] = rx_mask; ++ pcm->stream_tag[SNDRV_PCM_STREAM_CAPTURE] = rx_mask; + + return 0; + } +@@ -278,6 +321,12 @@ static struct hda_pcm *snd_soc_find_pcm_from_dai(struct hdac_hda_priv *hda_pvt, + struct hda_pcm *cpcm; + const char *pcm_name; + ++ /* ++ * map DAI ID to the closest matching PCM name, using the naming ++ * scheme used by hda-codec snd_hda_gen_build_pcms() and for ++ * HDMI in hda_codec patch_hdmi.c) ++ */ ++ + switch (dai->id) { + case HDAC_ANALOG_DAI_ID: + pcm_name = "Analog"; +@@ -288,13 +337,22 @@ static struct hda_pcm *snd_soc_find_pcm_from_dai(struct hdac_hda_priv *hda_pvt, + case HDAC_ALT_ANALOG_DAI_ID: + pcm_name = "Alt Analog"; + break; ++ case HDAC_HDMI_0_DAI_ID: ++ pcm_name = "HDMI 0"; ++ break; ++ case HDAC_HDMI_1_DAI_ID: ++ pcm_name = "HDMI 1"; ++ break; ++ case HDAC_HDMI_2_DAI_ID: ++ pcm_name = "HDMI 2"; ++ break; + default: + dev_err(&hcodec->core.dev, "invalid dai id %d\n", dai->id); + return NULL; + } + + list_for_each_entry(cpcm, &hcodec->pcm_list_head, list) { +- if (strpbrk(cpcm->name, pcm_name)) ++ if (strstr(cpcm->name, pcm_name)) + return cpcm; + } + +@@ -302,6 +360,18 @@ static struct hda_pcm *snd_soc_find_pcm_from_dai(struct hdac_hda_priv *hda_pvt, + return NULL; + } + ++static bool is_hdmi_codec(struct hda_codec *hcodec) ++{ ++ struct hda_pcm *cpcm; ++ ++ list_for_each_entry(cpcm, &hcodec->pcm_list_head, list) { ++ if (cpcm->pcm_type == HDA_PCM_TYPE_HDMI) ++ return true; ++ } ++ ++ return false; ++} ++ + static int hdac_hda_codec_probe(struct snd_soc_component *component) + { + struct hdac_hda_priv *hda_pvt = +@@ -322,6 +392,15 @@ static int hdac_hda_codec_probe(struct snd_soc_component *component) + + snd_hdac_ext_bus_link_get(hdev->bus, hlink); + ++ /* ++ * Ensure any HDA display is powered at codec probe. ++ * After snd_hda_codec_device_new(), display power is ++ * managed by runtime PM. ++ */ ++ if (hda_pvt->need_display_power) ++ snd_hdac_display_power(hdev->bus, ++ HDA_CODEC_IDX_CONTROLLER, true); ++ + ret = snd_hda_codec_device_new(hcodec->bus, component->card->snd_card, + hdev->addr, hcodec); + if (ret < 0) { +@@ -366,20 +445,31 @@ static int hdac_hda_codec_probe(struct snd_soc_component *component) + dev_dbg(&hdev->dev, "no patch file found\n"); + } + ++ /* configure codec for 1:1 PCM:DAI mapping */ ++ hcodec->mst_no_extra_pcms = 1; ++ + ret = snd_hda_codec_parse_pcms(hcodec); + if (ret < 0) { + dev_err(&hdev->dev, "unable to map pcms to dai %d\n", ret); + goto error; + } + +- ret = snd_hda_codec_build_controls(hcodec); +- if (ret < 0) { +- dev_err(&hdev->dev, "unable to create controls %d\n", ret); +- goto error; ++ /* HDMI controls need to be created in machine drivers */ ++ if (!is_hdmi_codec(hcodec)) { ++ ret = snd_hda_codec_build_controls(hcodec); ++ if (ret < 0) { ++ dev_err(&hdev->dev, "unable to create controls %d\n", ++ ret); ++ goto error; ++ } + } + + hcodec->core.lazy_cache = true; + ++ if (hda_pvt->need_display_power) ++ snd_hdac_display_power(hdev->bus, ++ HDA_CODEC_IDX_CONTROLLER, false); ++ + /* + * hdac_device core already sets the state to active and calls + * get_noresume. So enable runtime and set the device to suspend. +diff --git a/sound/soc/codecs/hdac_hda.h b/sound/soc/codecs/hdac_hda.h +index 6b1bd4f428e7..e145cec085b8 100644 +--- a/sound/soc/codecs/hdac_hda.h ++++ b/sound/soc/codecs/hdac_hda.h +@@ -6,6 +6,16 @@ + #ifndef __HDAC_HDA_H__ + #define __HDAC_HDA_H__ + ++enum { ++ HDAC_ANALOG_DAI_ID = 0, ++ HDAC_DIGITAL_DAI_ID, ++ HDAC_ALT_ANALOG_DAI_ID, ++ HDAC_HDMI_0_DAI_ID, ++ HDAC_HDMI_1_DAI_ID, ++ HDAC_HDMI_2_DAI_ID, ++ HDAC_LAST_DAI_ID = HDAC_HDMI_2_DAI_ID, ++}; ++ + struct hdac_hda_pcm { + int stream_tag[2]; + unsigned int format_val[2]; +@@ -13,7 +23,8 @@ struct hdac_hda_pcm { + + struct hdac_hda_priv { + struct hda_codec codec; +- struct hdac_hda_pcm pcm[2]; ++ struct hdac_hda_pcm pcm[HDAC_LAST_DAI_ID]; ++ bool need_display_power; + }; + + #define hdac_to_hda_priv(_hdac) \ +-- +2.20.1 + + +From 669fa4378c36f288936e3bdc52dfba7b245ea9fe Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:13 +0200 +Subject: [PATCH 046/130] ASoC: SOF: Intel: add support for snd-hda-codec-hdmi + +Add support to implement HDMI/DP audio by using the common +snd-hda-codec-hdmi driver. + +Change of codec driver affects user-space as the two +drivers expose different mixer controls. A new kernel +module option "use_common_hdmi" is added to user-space +to indicate which interface should be used. The default +driver can be selected via a Kconfig option. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-6-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 139c7febad1afa221c687f3314560284e482a1f4) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/Kconfig | 10 ++++++++++ + sound/soc/sof/intel/hda-codec.c | 22 ++++++++++++++++++---- + sound/soc/sof/intel/hda.c | 6 ++++++ + sound/soc/sof/intel/hda.h | 6 ++++-- + 4 files changed, 38 insertions(+), 6 deletions(-) + +diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig +index aac8d5deba3d..95a2d1708dd9 100644 +--- a/sound/soc/sof/intel/Kconfig ++++ b/sound/soc/sof/intel/Kconfig +@@ -299,6 +299,16 @@ config SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 + Say Y if you want to enable DMI Link L1 + If unsure, select "N". + ++config SND_SOC_SOF_HDA_COMMON_HDMI_CODEC ++ bool "SOF common HDA HDMI codec driver" ++ depends on SND_SOC_SOF_HDA_LINK ++ depends on SND_HDA_CODEC_HDMI ++ help ++ This adds support for HDMI audio by using the common HDA ++ HDMI/DisplayPort codec driver. ++ Say Y if you want to use the common codec driver with SOF. ++ If unsure select "Y". ++ + endif ## SND_SOC_SOF_HDA_COMMON + + config SND_SOC_SOF_HDA_LINK_BASELINE +diff --git a/sound/soc/sof/intel/hda-codec.c b/sound/soc/sof/intel/hda-codec.c +index 3ca6795a89ba..827f84a0722e 100644 +--- a/sound/soc/sof/intel/hda-codec.c ++++ b/sound/soc/sof/intel/hda-codec.c +@@ -84,6 +84,8 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address) + { + #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC) + struct hdac_hda_priv *hda_priv; ++ struct snd_soc_acpi_mach_params *mach_params = NULL; ++ struct snd_sof_pdata *pdata = sdev->pdata; + #endif + struct hda_bus *hbus = sof_to_hbus(sdev); + struct hdac_device *hdev; +@@ -113,8 +115,19 @@ static int hda_codec_probe(struct snd_sof_dev *sdev, int address) + if (ret < 0) + return ret; + +- /* use legacy bus only for HDA codecs, idisp uses ext bus */ +- if ((resp & 0xFFFF0000) != IDISP_VID_INTEL) { ++ if (pdata->machine) ++ mach_params = (struct snd_soc_acpi_mach_params *) ++ &pdata->machine->mach_params; ++ ++ if ((resp & 0xFFFF0000) == IDISP_VID_INTEL) ++ hda_priv->need_display_power = true; ++ ++ /* ++ * if common HDMI codec driver is not used, codec load ++ * is skipped here and hdac_hdmi is used instead ++ */ ++ if ((mach_params && mach_params->common_hdmi_codec_drv) || ++ (resp & 0xFFFF0000) != IDISP_VID_INTEL) { + hdev->type = HDA_DEV_LEGACY; + hda_codec_load_module(&hda_priv->codec); + } +@@ -155,7 +168,8 @@ int hda_codec_probe_bus(struct snd_sof_dev *sdev) + } + EXPORT_SYMBOL(hda_codec_probe_bus); + +-#if IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI) ++#if IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI) || \ ++ IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI) + + void hda_codec_i915_get(struct snd_sof_dev *sdev) + { +@@ -204,6 +218,6 @@ int hda_codec_i915_exit(struct snd_sof_dev *sdev) + } + EXPORT_SYMBOL(hda_codec_i915_exit); + +-#endif /* CONFIG_SND_SOC_HDAC_HDMI */ ++#endif + + MODULE_LICENSE("Dual BSD/GPL"); +diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c +index 103f4273c4d3..7dc0018dc4c3 100644 +--- a/sound/soc/sof/intel/hda.c ++++ b/sound/soc/sof/intel/hda.c +@@ -53,6 +53,11 @@ MODULE_PARM_DESC(use_msi, "SOF HDA use PCI MSI mode"); + static int hda_dmic_num = -1; + module_param_named(dmic_num, hda_dmic_num, int, 0444); + MODULE_PARM_DESC(dmic_num, "SOF HDA DMIC number"); ++ ++static bool hda_codec_use_common_hdmi = ++ IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC); ++module_param_named(use_common_hdmi, hda_codec_use_common_hdmi, bool, 0444); ++MODULE_PARM_DESC(use_common_hdmi, "SOF HDA use common HDMI codec driver"); + #endif + + static const struct hda_dsp_msg_code hda_dsp_rom_msg[] = { +@@ -459,6 +464,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) + &pdata->machine->mach_params; + mach_params->codec_mask = bus->codec_mask; + mach_params->platform = dev_name(sdev->dev); ++ mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi; + } + + /* create codec instances */ +diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h +index 8e03d876a0ac..d6ef657b8900 100644 +--- a/sound/soc/sof/intel/hda.h ++++ b/sound/soc/sof/intel/hda.h +@@ -565,7 +565,9 @@ void hda_codec_jack_check(struct snd_sof_dev *sdev); + + #endif /* CONFIG_SND_SOC_SOF_HDA */ + +-#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) && IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI) ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) && \ ++ (IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI) || \ ++ IS_ENABLED(CONFIG_SND_SOC_HDAC_HDMI)) + + void hda_codec_i915_get(struct snd_sof_dev *sdev); + void hda_codec_i915_put(struct snd_sof_dev *sdev); +@@ -579,7 +581,7 @@ static inline void hda_codec_i915_put(struct snd_sof_dev *sdev) { } + static inline int hda_codec_i915_init(struct snd_sof_dev *sdev) { return 0; } + static inline int hda_codec_i915_exit(struct snd_sof_dev *sdev) { return 0; } + +-#endif /* CONFIG_SND_SOC_SOF_HDA && CONFIG_SND_SOC_HDAC_HDMI */ ++#endif + + /* + * Trace Control. +-- +2.20.1 + + +From 480f07ccb82555912594c2b6d560fdeb35176b40 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:35 -0500 +Subject: [PATCH 047/130] ASoC: SOF: Intel: Baytrail: clarify mutual exclusion + with Atom/SST driver + +Some distros select all options blindly, which leads to confusion and +bug reports. Since SOF does not support Baytrail-CR for now, and +UCM/topology files are still being propagated to downstream distros, +make SOF on Baytrail an opt-in option that first require distros to +opt-out of existing defaults. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit df7257e544faf838c3e7ad6b4e89ffe59e87f5e1) +Bugzilla: 1772498 +--- + sound/soc/intel/Kconfig | 3 +++ + sound/soc/sof/intel/Kconfig | 10 +++++++++- + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig +index 9ad89d56092b..5fd4be74b7ea 100644 +--- a/sound/soc/intel/Kconfig ++++ b/sound/soc/intel/Kconfig +@@ -101,6 +101,9 @@ config SND_SST_ATOM_HIFI2_PLATFORM_ACPI + If you have a Intel Baytrail or Cherrytrail platform with an I2S + codec, then enable this option by saying Y or m. This is a + recommended option ++ This option is mutually exclusive with the SOF support on ++ Baytrail/Cherrytrail. If you want to enable SOF on ++ Baytrail/Cherrytrail, you need to deselect this option first. + + config SND_SOC_INTEL_SKYLAKE + tristate "All Skylake/SST Platforms" +diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig +index 95a2d1708dd9..b6b509151b34 100644 +--- a/sound/soc/sof/intel/Kconfig ++++ b/sound/soc/sof/intel/Kconfig +@@ -62,10 +62,18 @@ if SND_SOC_SOF_INTEL_ACPI + + config SND_SOC_SOF_BAYTRAIL_SUPPORT + bool "SOF support for Baytrail, Braswell and Cherrytrail" ++ depends on SND_SST_ATOM_HIFI2_PLATFORM_ACPI=n + help + This adds support for Sound Open Firmware for Intel(R) platforms + using the Baytrail, Braswell or Cherrytrail processors. +- Say Y if you have such a device. ++ This option is mutually exclusive with the Atom/SST and Baytrail ++ legacy drivers. If you want to enable SOF on Baytrail/Cherrytrail, ++ you need to deselect those options first. ++ SOF does not support Baytrail-CR for now, so this option is not ++ recommended for distros. At some point all legacy drivers will be ++ deprecated but not before all userspace firmware/topology/UCM files ++ are made available to downstream distros. ++ Say Y if you want to enable SOF on Baytrail/Cherrytrail + If unsure select "N". + + config SND_SOC_SOF_BAYTRAIL +-- +2.20.1 + + +From 8a391c34be3b2140c0498675df21523b8246ceb8 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:36 -0500 +Subject: [PATCH 048/130] ASoC: SOF: Intel: Broadwell: clarify mutual exclusion + with legacy driver + +Some distros select all options blindly, which leads to confusion and +bug reports. SOF does not fully support Broadwell due to firmware +dependencies, the machine drivers can only support one option, and +UCM/topology files are still being propagated to downstream distros, +so make SOF on Broadwell an opt-in option that first require distros +to opt-out of existing defaults. + +Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=204237 +Fixes: f35bf70f61d3 ('ASoC: Intel: Make sure BDW based machine drivers build for SOF') +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit a6955fe0e2309feeab5ec71e4b0dcbe498f4f497) +Bugzilla: 1772498 +--- + sound/soc/intel/Kconfig | 3 +++ + sound/soc/sof/intel/Kconfig | 10 +++++++++- + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig +index 5fd4be74b7ea..658eff2daf4e 100644 +--- a/sound/soc/intel/Kconfig ++++ b/sound/soc/intel/Kconfig +@@ -59,6 +59,9 @@ config SND_SOC_INTEL_HASWELL + If you have a Intel Haswell or Broadwell platform connected to + an I2S codec, then enable this option by saying Y or m. This is + typically used for Chromebooks. This is a recommended option. ++ This option is mutually exclusive with the SOF support on ++ Broadwell. If you want to enable SOF on Broadwell, you need to ++ deselect this option first. + + config SND_SOC_INTEL_BAYTRAIL + tristate "Baytrail (legacy) Platforms" +diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig +index b6b509151b34..0db9e80b7cef 100644 +--- a/sound/soc/sof/intel/Kconfig ++++ b/sound/soc/sof/intel/Kconfig +@@ -85,10 +85,18 @@ config SND_SOC_SOF_BAYTRAIL + + config SND_SOC_SOF_BROADWELL_SUPPORT + bool "SOF support for Broadwell" ++ depends on SND_SOC_INTEL_HASWELL=n + help + This adds support for Sound Open Firmware for Intel(R) platforms + using the Broadwell processors. +- Say Y if you have such a device. ++ This option is mutually exclusive with the Haswell/Broadwell legacy ++ driver. If you want to enable SOF on Broadwell you need to deselect ++ the legacy driver first. ++ SOF does fully support Broadwell yet, so this option is not ++ recommended for distros. At some point all legacy drivers will be ++ deprecated but not before all userspace firmware/topology/UCM files ++ are made available to downstream distros. ++ Say Y if you want to enable SOF on Broadwell + If unsure select "N". + + config SND_SOC_SOF_BROADWELL +-- +2.20.1 + + +From 95761516cf6f36ea1e2e23ca4470c756dc0acda3 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:38 -0500 +Subject: [PATCH 049/130] ASoC: SOF: Kconfig: add EXPERT dependency for + developer options, clarify help + +Some distros select all possible options, despite existing warnings to +be careful. This leads to e.g. user reports that the HDaudio codec and +DMIC are not handled by SOF. + +Add an explicit menu item to unlock developer options, and make them +dependent on CONFIG_EXPERT. Hopefully with this double-lock these +options will only be selected by developers. + +GitHub issue: https://github.com/thesofproject/sof/issues/1885 +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-5-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 70ae4eb540af32ee6a6260143ccae6054ebd433f) +Bugzilla: 1772498 +--- + sound/soc/sof/Kconfig | 25 ++++++++++++++++--------- + 1 file changed, 16 insertions(+), 9 deletions(-) + +diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig +index 56a3ab66b46b..6435eb531668 100644 +--- a/sound/soc/sof/Kconfig ++++ b/sound/soc/sof/Kconfig +@@ -14,7 +14,6 @@ config SND_SOC_SOF_PCI + depends on PCI + select SND_SOC_SOF + select SND_SOC_ACPI if ACPI +- select SND_SOC_SOF_OPTIONS + select SND_SOC_SOF_INTEL_PCI if SND_SOC_SOF_INTEL_TOPLEVEL + help + This adds support for PCI enumeration. This option is +@@ -27,7 +26,6 @@ config SND_SOC_SOF_ACPI + depends on ACPI || COMPILE_TEST + select SND_SOC_SOF + select SND_SOC_ACPI if ACPI +- select SND_SOC_SOF_OPTIONS + select SND_SOC_SOF_INTEL_ACPI if SND_SOC_SOF_INTEL_TOPLEVEL + select IOSF_MBI if X86 && PCI + help +@@ -40,19 +38,23 @@ config SND_SOC_SOF_OF + tristate "SOF OF enumeration support" + depends on OF || COMPILE_TEST + select SND_SOC_SOF +- select SND_SOC_SOF_OPTIONS + help + This adds support for Device Tree enumeration. This option is + required to enable i.MX8 devices. + Say Y if you need this option. If unsure select "N". + +-config SND_SOC_SOF_OPTIONS +- tristate ++config SND_SOC_SOF_DEVELOPER_SUPPORT ++ bool "SOF developer options support" ++ depends on EXPERT + help +- This option is not user-selectable but automagically handled by +- 'select' statements at a higher level ++ This option unlock SOF developer options for debug/performance/ ++ code hardening. ++ Distributions should not select this option, only SOF development ++ teams should select it. ++ Say Y if you are involved in SOF development and need this option ++ If not, select N + +-if SND_SOC_SOF_OPTIONS ++if SND_SOC_SOF_DEVELOPER_SUPPORT + + config SND_SOC_SOF_NOCODEC + tristate +@@ -64,6 +66,11 @@ config SND_SOC_SOF_NOCODEC_SUPPORT + option if no known codec is detected. This is typically only + enabled for developers or devices where the sound card is + controlled externally ++ This option is mutually exclusive with the Intel HDaudio support, ++ selecting it may have negative impacts and prevent e.g. microphone ++ functionality from being enabled on Intel CoffeeLake and later ++ platforms. ++ Distributions should not select this option! + Say Y if you need this nocodec fallback option + If unsure select "N". + +@@ -168,7 +175,7 @@ config SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT + + endif ## SND_SOC_SOF_DEBUG + +-endif ## SND_SOC_SOF_OPTIONS ++endif ## SND_SOC_SOF_DEVELOPER_SUPPORT + + config SND_SOC_SOF + tristate +-- +2.20.1 + + +From 34edfaf5c61574b5156daeb173476650be7b87a0 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:39 -0500 +Subject: [PATCH 050/130] ASoC: SOF: imx: fix reverse CONFIG_SND_SOC_SOF_OF + dependency + +updated solution to the problem reported with randconfig: + +CONFIG_SND_SOC_SOF_IMX depends on CONFIG_SND_SOC_SOF, but is in +turn referenced by the sof-of-dev driver. This creates a reverse +dependency that manifests in a link error when CONFIG_SND_SOC_SOF_OF +is built-in but CONFIG_SND_SOC_SOF_IMX=m: + +sound/soc/sof/sof-of-dev.o:(.data+0x118): undefined reference to `sof_imx8_ops' + +use def_trisate to propagate the right settings without select. + +Fixes: f4df4e4042b0 ("ASoC: SOF: imx8: Fix COMPILE_TEST error") +Fixes: 202acc565a1f ("ASoC: SOF: imx: Add i.MX8 HW support") +Suggested-by: Arnd Bergmann <arnd@arndb.de> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-6-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit f9ad75468453b019b92c5296e6a04bf7c37f49e4) +Bugzilla: 1772498 +--- + sound/soc/sof/imx/Kconfig | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/imx/Kconfig b/sound/soc/sof/imx/Kconfig +index 5acae75f5750..71f318bc2c74 100644 +--- a/sound/soc/sof/imx/Kconfig ++++ b/sound/soc/sof/imx/Kconfig +@@ -11,8 +11,8 @@ config SND_SOC_SOF_IMX_TOPLEVEL + + if SND_SOC_SOF_IMX_TOPLEVEL + +-config SND_SOC_SOF_IMX8 +- tristate "SOF support for i.MX8" ++config SND_SOC_SOF_IMX8_SUPPORT ++ bool "SOF support for i.MX8" + depends on IMX_SCU + depends on IMX_DSP + help +@@ -20,4 +20,8 @@ config SND_SOC_SOF_IMX8 + Say Y if you have such a device. + If unsure select "N". + ++config SND_SOC_SOF_IMX8 ++ def_tristate SND_SOC_SOF_OF ++ depends on SND_SOC_SOF_IMX8_SUPPORT ++ + endif ## SND_SOC_SOF_IMX_IMX_TOPLEVEL +-- +2.20.1 + + +From 5efd9ba11e644ef74a0c51d543145f116a886438 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:40 -0500 +Subject: [PATCH 051/130] ASoC: SOF: Intel: use def_tristate, avoid using + select + +So far we used select to use the relevant built-in/module options, but +this led to blurring layers between core and Intel Kconfigs. + +Use def_tristate works just as well and removes Intel stuff from the code. + +Suggested-by: Arnd Bergmann <arnd@arndb.de> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-7-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit b000135e5f272118e576e9720590e5979f0abe49) +Bugzilla: 1772498 +--- + sound/soc/sof/Kconfig | 2 -- + sound/soc/sof/intel/Kconfig | 4 ++-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/sound/soc/sof/Kconfig b/sound/soc/sof/Kconfig +index 6435eb531668..71a0fc075a63 100644 +--- a/sound/soc/sof/Kconfig ++++ b/sound/soc/sof/Kconfig +@@ -14,7 +14,6 @@ config SND_SOC_SOF_PCI + depends on PCI + select SND_SOC_SOF + select SND_SOC_ACPI if ACPI +- select SND_SOC_SOF_INTEL_PCI if SND_SOC_SOF_INTEL_TOPLEVEL + help + This adds support for PCI enumeration. This option is + required to enable Intel Skylake+ devices +@@ -26,7 +25,6 @@ config SND_SOC_SOF_ACPI + depends on ACPI || COMPILE_TEST + select SND_SOC_SOF + select SND_SOC_ACPI if ACPI +- select SND_SOC_SOF_INTEL_ACPI if SND_SOC_SOF_INTEL_TOPLEVEL + select IOSF_MBI if X86 && PCI + help + This adds support for ACPI enumeration. This option is required +diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig +index 0db9e80b7cef..f7c30a08ffbf 100644 +--- a/sound/soc/sof/intel/Kconfig ++++ b/sound/soc/sof/intel/Kconfig +@@ -10,7 +10,7 @@ config SND_SOC_SOF_INTEL_TOPLEVEL + if SND_SOC_SOF_INTEL_TOPLEVEL + + config SND_SOC_SOF_INTEL_ACPI +- tristate ++ def_tristate SND_SOC_SOF_ACPI + select SND_SOC_SOF_BAYTRAIL if SND_SOC_SOF_BAYTRAIL_SUPPORT + select SND_SOC_SOF_BROADWELL if SND_SOC_SOF_BROADWELL_SUPPORT + help +@@ -18,7 +18,7 @@ config SND_SOC_SOF_INTEL_ACPI + 'select' statements at a higher level + + config SND_SOC_SOF_INTEL_PCI +- tristate ++ def_tristate SND_SOC_SOF_PCI + select SND_SOC_SOF_MERRIFIELD if SND_SOC_SOF_MERRIFIELD_SUPPORT + select SND_SOC_SOF_APOLLOLAKE if SND_SOC_SOF_APOLLOLAKE_SUPPORT + select SND_SOC_SOF_GEMINILAKE if SND_SOC_SOF_GEMINILAKE_SUPPORT +-- +2.20.1 + + +From 19b52530d84901fdfb1924862f3f82458ad110bc Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski <krzk@kernel.org> +Date: Fri, 4 Oct 2019 16:49:31 +0200 +Subject: [PATCH 052/130] sound: Fix Kconfig indentation + +Adjust indentation from spaces to tab (+optional two spaces) as in +coding style with command like: + $ sed -e 's/^ /\t/' -i */Kconfig + +Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> +Acked-by: Mark Brown <broonie@kernel.org> +Link: https://lore.kernel.org/r/20191004144931.3851-1-krzk@kernel.org +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 82e8d723e9e6698572098bf2976223d5069b34b5) +Bugzilla: 1772498 +--- + sound/core/Kconfig | 28 ++++++++++---------- + sound/drivers/Kconfig | 20 +++++++------- + sound/firewire/Kconfig | 6 ++--- + sound/isa/Kconfig | 18 ++++++------- + sound/mips/Kconfig | 12 ++++----- + sound/pci/Kconfig | 2 +- + sound/soc/cirrus/Kconfig | 14 +++++----- + sound/soc/codecs/Kconfig | 32 +++++++++++------------ + sound/soc/intel/Kconfig | 2 +- + sound/soc/intel/boards/Kconfig | 48 +++++++++++++++++----------------- + sound/soc/pxa/Kconfig | 16 ++++++------ + sound/soc/qcom/Kconfig | 20 +++++++------- + sound/soc/samsung/Kconfig | 8 +++--- + sound/soc/sof/imx/Kconfig | 12 ++++----- + sound/soc/sof/intel/Kconfig | 22 ++++++++-------- + sound/soc/xilinx/Kconfig | 20 +++++++------- + sound/soc/zte/Kconfig | 12 ++++----- + sound/usb/Kconfig | 32 +++++++++++------------ + 18 files changed, 162 insertions(+), 162 deletions(-) + +diff --git a/sound/core/Kconfig b/sound/core/Kconfig +index 4ee79ad6ae22..4044c42d8595 100644 +--- a/sound/core/Kconfig ++++ b/sound/core/Kconfig +@@ -72,11 +72,11 @@ config SND_PCM_OSS + config SND_PCM_OSS_PLUGINS + bool "OSS PCM (digital audio) API - Include plugin system" + depends on SND_PCM_OSS +- default y ++ default y + help +- If you disable this option, the ALSA's OSS PCM API will not +- support conversion of channels, formats and rates. It will +- behave like most of new OSS/Free drivers in 2.4/2.6 kernels. ++ If you disable this option, the ALSA's OSS PCM API will not ++ support conversion of channels, formats and rates. It will ++ behave like most of new OSS/Free drivers in 2.4/2.6 kernels. + + config SND_PCM_TIMER + bool "PCM timer interface" if EXPERT +@@ -128,13 +128,13 @@ config SND_SUPPORT_OLD_API + or older). + + config SND_PROC_FS +- bool "Sound Proc FS Support" if EXPERT +- depends on PROC_FS +- default y +- help +- Say 'N' to disable Sound proc FS, which may reduce code size about +- 9KB on x86_64 platform. +- If unsure say Y. ++ bool "Sound Proc FS Support" if EXPERT ++ depends on PROC_FS ++ default y ++ help ++ Say 'N' to disable Sound proc FS, which may reduce code size about ++ 9KB on x86_64 platform. ++ If unsure say Y. + + config SND_VERBOSE_PROCFS + bool "Verbose procfs contents" +@@ -142,8 +142,8 @@ config SND_VERBOSE_PROCFS + default y + help + Say Y here to include code for verbose procfs contents (provides +- useful information to developers when a problem occurs). On the +- other side, it makes the ALSA subsystem larger. ++ useful information to developers when a problem occurs). On the ++ other side, it makes the ALSA subsystem larger. + + config SND_VERBOSE_PRINTK + bool "Verbose printk" +@@ -164,7 +164,7 @@ config SND_DEBUG_VERBOSE + depends on SND_DEBUG + help + Say Y here to enable extra-verbose debugging messages. +- ++ + Let me repeat: it enables EXTRA-VERBOSE DEBUGGING messages. + So, say Y only if you are ready to be annoyed. + +diff --git a/sound/drivers/Kconfig b/sound/drivers/Kconfig +index 09932cc98e9d..15d6d46acf9c 100644 +--- a/sound/drivers/Kconfig ++++ b/sound/drivers/Kconfig +@@ -1,7 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0-only + config SND_MPU401_UART +- tristate +- select SND_RAWMIDI ++ tristate ++ select SND_RAWMIDI + + config SND_OPL3_LIB + tristate +@@ -90,16 +90,16 @@ config SND_DUMMY + will be called snd-dummy. + + config SND_ALOOP +- tristate "Generic loopback driver (PCM)" +- select SND_PCM +- help +- Say 'Y' or 'M' to include support for the PCM loopback device. ++ tristate "Generic loopback driver (PCM)" ++ select SND_PCM ++ help ++ Say 'Y' or 'M' to include support for the PCM loopback device. + This module returns played samples back to the user space using + the standard ALSA PCM device. The devices are routed 0->1 and +- 1->0, where first number is the playback PCM device and second ++ 1->0, where first number is the playback PCM device and second + number is the capture device. Module creates two PCM devices and + configured number of substreams (see the pcm_substreams module +- parameter). ++ parameter). + + The loopback device allows time sychronization with an external + timing source using the time shift universal control (+-20% +@@ -142,12 +142,12 @@ config SND_MTS64 + select SND_RAWMIDI + help + The ESI Miditerminal 4140 is a 4 In 4 Out MIDI Interface with +- additional SMPTE Timecode capabilities for the parallel port. ++ additional SMPTE Timecode capabilities for the parallel port. + + Say 'Y' to include support for this device. + + To compile this driver as a module, chose 'M' here: the module +- will be called snd-mts64. ++ will be called snd-mts64. + + config SND_SERIAL_U16550 + tristate "UART16550 serial MIDI driver" +diff --git a/sound/firewire/Kconfig b/sound/firewire/Kconfig +index b0a904cdb932..995c2cefc222 100644 +--- a/sound/firewire/Kconfig ++++ b/sound/firewire/Kconfig +@@ -77,7 +77,7 @@ config SND_BEBOB + tristate "BridgeCo DM1000/DM1100/DM1500 with BeBoB firmware" + select SND_FIREWIRE_LIB + select SND_HWDEP +- help ++ help + Say Y here to include support for FireWire devices based + on BridgeCo DM1000/DM1100/DM1500 with BeBoB firmware: + * Edirol FA-66/FA-101 +@@ -111,8 +111,8 @@ config SND_BEBOB + * M-Audio FireWire 1814/ProjectMix IO + * Digidesign Mbox 2 Pro + +- To compile this driver as a module, choose M here: the module +- will be called snd-bebob. ++ To compile this driver as a module, choose M here: the module ++ will be called snd-bebob. + + config SND_FIREWIRE_DIGI00X + tristate "Digidesign Digi 002/003 family support" +diff --git a/sound/isa/Kconfig b/sound/isa/Kconfig +index b690ed937cbe..6ffa48dd5983 100644 +--- a/sound/isa/Kconfig ++++ b/sound/isa/Kconfig +@@ -2,22 +2,22 @@ + # ALSA ISA drivers + + config SND_WSS_LIB +- tristate +- select SND_PCM ++ tristate ++ select SND_PCM + select SND_TIMER + + config SND_SB_COMMON +- tristate ++ tristate + + config SND_SB8_DSP +- tristate +- select SND_PCM +- select SND_SB_COMMON ++ tristate ++ select SND_PCM ++ select SND_SB_COMMON + + config SND_SB16_DSP +- tristate +- select SND_PCM +- select SND_SB_COMMON ++ tristate ++ select SND_PCM ++ select SND_SB_COMMON + + menuconfig SND_ISA + bool "ISA sound devices" +diff --git a/sound/mips/Kconfig b/sound/mips/Kconfig +index 8a33402fd415..b497b803c834 100644 +--- a/sound/mips/Kconfig ++++ b/sound/mips/Kconfig +@@ -14,15 +14,15 @@ config SND_SGI_O2 + tristate "SGI O2 Audio" + depends on SGI_IP32 + select SND_PCM +- help +- Sound support for the SGI O2 Workstation. ++ help ++ Sound support for the SGI O2 Workstation. + + config SND_SGI_HAL2 +- tristate "SGI HAL2 Audio" +- depends on SGI_HAS_HAL2 ++ tristate "SGI HAL2 Audio" ++ depends on SGI_HAS_HAL2 + select SND_PCM +- help +- Sound support for the SGI Indy and Indigo2 Workstation. ++ help ++ Sound support for the SGI Indy and Indigo2 Workstation. + + endif # SND_MIPS + +diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig +index 7630f808d087..93bc9bef7641 100644 +--- a/sound/pci/Kconfig ++++ b/sound/pci/Kconfig +@@ -217,7 +217,7 @@ config SND_CMIPCI + will be called snd-cmipci. + + config SND_OXYGEN_LIB +- tristate ++ tristate + + config SND_OXYGEN + tristate "C-Media 8786, 8787, 8788 (Oxygen)" +diff --git a/sound/soc/cirrus/Kconfig b/sound/soc/cirrus/Kconfig +index 2333efac758a..8039a8febefa 100644 +--- a/sound/soc/cirrus/Kconfig ++++ b/sound/soc/cirrus/Kconfig +@@ -33,13 +33,13 @@ config SND_EP93XX_SOC_AC97 + select SND_SOC_AC97_BUS + + config SND_EP93XX_SOC_SNAPPERCL15 +- tristate "SoC Audio support for Bluewater Systems Snapper CL15 module" +- depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C +- select SND_EP93XX_SOC_I2S +- select SND_SOC_TLV320AIC23_I2C +- help +- Say Y or M here if you want to add support for I2S audio on the +- Bluewater Systems Snapper CL15 module. ++ tristate "SoC Audio support for Bluewater Systems Snapper CL15 module" ++ depends on SND_EP93XX_SOC && MACH_SNAPPER_CL15 && I2C ++ select SND_EP93XX_SOC_I2S ++ select SND_SOC_TLV320AIC23_I2C ++ help ++ Say Y or M here if you want to add support for I2S audio on the ++ Bluewater Systems Snapper CL15 module. + + config SND_EP93XX_SOC_SIMONE + tristate "SoC Audio support for Simplemachines Sim.One board" +diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig +index 229cc89f8c5a..ef9d73b89623 100644 +--- a/sound/soc/codecs/Kconfig ++++ b/sound/soc/codecs/Kconfig +@@ -257,16 +257,16 @@ config SND_SOC_ALL_CODECS + select SND_SOC_WM9705 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW) + select SND_SOC_WM9712 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW) + select SND_SOC_WM9713 if (SND_SOC_AC97_BUS || SND_SOC_AC97_BUS_NEW) +- help +- Normally ASoC codec drivers are only built if a machine driver which +- uses them is also built since they are only usable with a machine +- driver. Selecting this option will allow these drivers to be built +- without an explicit machine driver for test and development purposes. ++ help ++ Normally ASoC codec drivers are only built if a machine driver which ++ uses them is also built since they are only usable with a machine ++ driver. Selecting this option will allow these drivers to be built ++ without an explicit machine driver for test and development purposes. + + Support for the bus types used to access the codecs to be built must + be selected separately. + +- If unsure select "N". ++ If unsure select "N". + + config SND_SOC_88PM860X + tristate +@@ -570,8 +570,8 @@ config SND_SOC_CS42XX8_I2C + + # Cirrus Logic CS43130 HiFi DAC + config SND_SOC_CS43130 +- tristate "Cirrus Logic CS43130 CODEC" +- depends on I2C ++ tristate "Cirrus Logic CS43130 CODEC" ++ depends on I2C + + config SND_SOC_CS4341 + tristate "Cirrus Logic CS4341 CODEC" +@@ -643,19 +643,19 @@ config SND_SOC_L3 + tristate + + config SND_SOC_DA7210 +- tristate ++ tristate + + config SND_SOC_DA7213 +- tristate ++ tristate + + config SND_SOC_DA7218 + tristate + + config SND_SOC_DA7219 +- tristate ++ tristate + + config SND_SOC_DA732X +- tristate ++ tristate + + config SND_SOC_DA9055 + tristate +@@ -717,7 +717,7 @@ config SND_SOC_INNO_RK3036 + select REGMAP_MMIO + + config SND_SOC_ISABELLE +- tristate ++ tristate + + config SND_SOC_LM49453 + tristate +@@ -988,7 +988,7 @@ config SND_SOC_RT5640 + tristate + + config SND_SOC_RT5645 +- tristate ++ tristate + + config SND_SOC_RT5651 + tristate +@@ -1220,7 +1220,7 @@ config SND_SOC_UDA134X + tristate + + config SND_SOC_UDA1380 +- tristate ++ tristate + depends on I2C + + config SND_SOC_WCD9335 +@@ -1348,7 +1348,7 @@ config SND_SOC_WM8904 + depends on I2C + + config SND_SOC_WM8940 +- tristate ++ tristate + + config SND_SOC_WM8955 + tristate +diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig +index 658eff2daf4e..7e9feca333b7 100644 +--- a/sound/soc/intel/Kconfig ++++ b/sound/soc/intel/Kconfig +@@ -119,7 +119,7 @@ config SND_SOC_INTEL_SKYLAKE + select SND_SOC_INTEL_CNL + select SND_SOC_INTEL_CFL + help +- This is a backwards-compatible option to select all devices ++ This is a backwards-compatible option to select all devices + supported by the Intel SST/Skylake driver. This option is no + longer recommended and will be deprecated when the SOF + driver is introduced. Distributions should explicitly +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index 5c27f7ab4a5f..882ff36a7c9c 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -3,13 +3,13 @@ menuconfig SND_SOC_INTEL_MACH + bool "Intel Machine drivers" + depends on SND_SOC_INTEL_SST_TOPLEVEL || SND_SOC_SOF_INTEL_TOPLEVEL + help +- Intel ASoC Machine Drivers. If you have a Intel machine that +- has an audio controller with a DSP and I2S or DMIC port, then +- enable this option by saying Y ++ Intel ASoC Machine Drivers. If you have a Intel machine that ++ has an audio controller with a DSP and I2S or DMIC port, then ++ enable this option by saying Y + +- Note that the answer to this question doesn't directly affect the +- kernel: saying N will just cause the configurator to skip all +- the questions about Intel ASoC machine drivers. ++ Note that the answer to this question doesn't directly affect the ++ kernel: saying N will just cause the configurator to skip all ++ the questions about Intel ASoC machine drivers. + + if SND_SOC_INTEL_MACH + +@@ -114,11 +114,11 @@ config SND_SOC_INTEL_CHT_BSW_RT5672_MACH + depends on X86_INTEL_LPSS || COMPILE_TEST + select SND_SOC_ACPI + select SND_SOC_RT5670 +- help +- This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell +- platforms with RT5672 audio codec. +- Say Y or m if you have such a device. This is a recommended option. +- If unsure select "N". ++ help ++ This adds support for ASoC machine driver for Intel(R) Cherrytrail & Braswell ++ platforms with RT5672 audio codec. ++ Say Y or m if you have such a device. This is a recommended option. ++ If unsure select "N". + + config SND_SOC_INTEL_CHT_BSW_RT5645_MACH + tristate "Cherrytrail & Braswell with RT5645/5650 codec" +@@ -311,20 +311,20 @@ config SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH + If unsure select "N". + + config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH +- tristate "KBL with RT5663, RT5514 and MAX98927 in I2S Mode" ++ tristate "KBL with RT5663, RT5514 and MAX98927 in I2S Mode" + depends on I2C && ACPI + depends on MFD_INTEL_LPSS || COMPILE_TEST +- depends on SPI +- select SND_SOC_RT5663 +- select SND_SOC_RT5514 +- select SND_SOC_RT5514_SPI +- select SND_SOC_MAX98927 +- select SND_SOC_HDAC_HDMI +- help +- This adds support for ASoC Onboard Codec I2S machine driver. This will +- create an alsa sound card for RT5663 + RT5514 + MAX98927. +- Say Y or m if you have such a device. This is a recommended option. +- If unsure select "N". ++ depends on SPI ++ select SND_SOC_RT5663 ++ select SND_SOC_RT5514 ++ select SND_SOC_RT5514_SPI ++ select SND_SOC_MAX98927 ++ select SND_SOC_HDAC_HDMI ++ help ++ This adds support for ASoC Onboard Codec I2S machine driver. This will ++ create an alsa sound card for RT5663 + RT5514 + MAX98927. ++ Say Y or m if you have such a device. This is a recommended option. ++ If unsure select "N". + + config SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH + tristate "KBL with DA7219 and MAX98357A in I2S Mode" +@@ -393,7 +393,7 @@ config SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH + help + This adds support for ASoC machine driver for Intel platforms + SKL/KBL/BXT/APL with iDisp, HDA audio codecs. +- Say Y or m if you have such a device. This is a recommended option. ++ Say Y or m if you have such a device. This is a recommended option. + If unsure select "N". + + endif ## SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC +diff --git a/sound/soc/pxa/Kconfig b/sound/soc/pxa/Kconfig +index 213d4dab0346..295cfffa4646 100644 +--- a/sound/soc/pxa/Kconfig ++++ b/sound/soc/pxa/Kconfig +@@ -190,14 +190,14 @@ config SND_PXA2XX_SOC_MAGICIAN + HTC Magician. + + config SND_PXA2XX_SOC_MIOA701 +- tristate "SoC Audio support for MIO A701" +- depends on SND_PXA2XX_SOC && MACH_MIOA701 ++ tristate "SoC Audio support for MIO A701" ++ depends on SND_PXA2XX_SOC && MACH_MIOA701 + depends on AC97_BUS=n +- select SND_PXA2XX_SOC_AC97 +- select SND_SOC_WM9713 +- help +- Say Y if you want to add support for SoC audio on the +- MIO A701. ++ select SND_PXA2XX_SOC_AC97 ++ select SND_SOC_WM9713 ++ help ++ Say Y if you want to add support for SoC audio on the ++ MIO A701. + + config SND_PXA2XX_SOC_IMOTE2 + tristate "SoC Audio support for IMote 2" +@@ -205,7 +205,7 @@ config SND_PXA2XX_SOC_IMOTE2 + select SND_PXA2XX_SOC_I2S + select SND_SOC_WM8940 + help +- Say Y if you want to add support for SoC audio on the ++ Say Y if you want to add support for SoC audio on the + IMote 2. + + config SND_MMP_SOC_BROWNSTONE +diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig +index 60086858e920..6530d2462a9e 100644 +--- a/sound/soc/qcom/Kconfig ++++ b/sound/soc/qcom/Kconfig +@@ -3,8 +3,8 @@ config SND_SOC_QCOM + tristate "ASoC support for QCOM platforms" + depends on ARCH_QCOM || COMPILE_TEST + help +- Say Y or M if you want to add support to use audio devices +- in Qualcomm Technologies SOC-based platforms. ++ Say Y or M if you want to add support to use audio devices ++ in Qualcomm Technologies SOC-based platforms. + + config SND_SOC_LPASS_CPU + tristate +@@ -30,17 +30,17 @@ config SND_SOC_STORM + select SND_SOC_LPASS_IPQ806X + select SND_SOC_MAX98357A + help +- Say Y or M if you want add support for SoC audio on the +- Qualcomm Technologies IPQ806X-based Storm board. ++ Say Y or M if you want add support for SoC audio on the ++ Qualcomm Technologies IPQ806X-based Storm board. + + config SND_SOC_APQ8016_SBC + tristate "SoC Audio support for APQ8016 SBC platforms" + depends on SND_SOC_QCOM + select SND_SOC_LPASS_APQ8016 + help +- Support for Qualcomm Technologies LPASS audio block in +- APQ8016 SOC-based systems. +- Say Y if you want to use audio devices on MI2S. ++ Support for Qualcomm Technologies LPASS audio block in ++ APQ8016 SOC-based systems. ++ Say Y if you want to use audio devices on MI2S. + + config SND_SOC_QCOM_COMMON + tristate +@@ -93,9 +93,9 @@ config SND_SOC_MSM8996 + select SND_SOC_QDSP6 + select SND_SOC_QCOM_COMMON + help +- Support for Qualcomm Technologies LPASS audio block in +- APQ8096 SoC-based systems. +- Say Y if you want to use audio device on this SoCs ++ Support for Qualcomm Technologies LPASS audio block in ++ APQ8096 SoC-based systems. ++ Say Y if you want to use audio device on this SoCs + + config SND_SOC_SDM845 + tristate "SoC Machine driver for SDM845 boards" +diff --git a/sound/soc/samsung/Kconfig b/sound/soc/samsung/Kconfig +index 638983123d8f..9304177de78a 100644 +--- a/sound/soc/samsung/Kconfig ++++ b/sound/soc/samsung/Kconfig +@@ -195,10 +195,10 @@ config SND_SOC_ODROID + Say Y here to enable audio support for the Odroid XU3/XU4. + + config SND_SOC_ARNDALE_RT5631_ALC5631 +- tristate "Audio support for RT5631(ALC5631) on Arndale Board" +- depends on I2C +- select SND_SAMSUNG_I2S +- select SND_SOC_RT5631 ++ tristate "Audio support for RT5631(ALC5631) on Arndale Board" ++ depends on I2C ++ select SND_SAMSUNG_I2S ++ select SND_SOC_RT5631 + + config SND_SOC_SAMSUNG_TM2_WM5110 + tristate "SoC I2S Audio support for WM5110 on TM2 board" +diff --git a/sound/soc/sof/imx/Kconfig b/sound/soc/sof/imx/Kconfig +index 71f318bc2c74..bae4f7bf5f75 100644 +--- a/sound/soc/sof/imx/Kconfig ++++ b/sound/soc/sof/imx/Kconfig +@@ -5,9 +5,9 @@ config SND_SOC_SOF_IMX_TOPLEVEL + depends on ARM64|| COMPILE_TEST + depends on SND_SOC_SOF_OF + help +- This adds support for Sound Open Firmware for NXP i.MX platforms. +- Say Y if you have such a device. +- If unsure select "N". ++ This adds support for Sound Open Firmware for NXP i.MX platforms. ++ Say Y if you have such a device. ++ If unsure select "N". + + if SND_SOC_SOF_IMX_TOPLEVEL + +@@ -16,9 +16,9 @@ config SND_SOC_SOF_IMX8_SUPPORT + depends on IMX_SCU + depends on IMX_DSP + help +- This adds support for Sound Open Firmware for NXP i.MX8 platforms +- Say Y if you have such a device. +- If unsure select "N". ++ This adds support for Sound Open Firmware for NXP i.MX8 platforms ++ Say Y if you have such a device. ++ If unsure select "N". + + config SND_SOC_SOF_IMX8 + def_tristate SND_SOC_SOF_OF +diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig +index f7c30a08ffbf..b27fd3fdf335 100644 +--- a/sound/soc/sof/intel/Kconfig ++++ b/sound/soc/sof/intel/Kconfig +@@ -37,7 +37,7 @@ config SND_SOC_SOF_INTEL_PCI + config SND_SOC_SOF_INTEL_HIFI_EP_IPC + tristate + help +- This option is not user-selectable but automagically handled by ++ This option is not user-selectable but automagically handled by + 'select' statements at a higher level + + config SND_SOC_SOF_INTEL_ATOM_HIFI_EP +@@ -234,31 +234,31 @@ config SND_SOC_SOF_COMETLAKE_H_SUPPORT + config SND_SOC_SOF_TIGERLAKE_SUPPORT + bool "SOF support for Tigerlake" + help +- This adds support for Sound Open Firmware for Intel(R) platforms +- using the Tigerlake processors. +- Say Y if you have such a device. +- If unsure select "N". ++ This adds support for Sound Open Firmware for Intel(R) platforms ++ using the Tigerlake processors. ++ Say Y if you have such a device. ++ If unsure select "N". + + config SND_SOC_SOF_TIGERLAKE + tristate + select SND_SOC_SOF_HDA_COMMON + help +- This option is not user-selectable but automagically handled by ++ This option is not user-selectable but automagically handled by + 'select' statements at a higher level + + config SND_SOC_SOF_ELKHARTLAKE_SUPPORT + bool "SOF support for ElkhartLake" + help +- This adds support for Sound Open Firmware for Intel(R) platforms +- using the ElkhartLake processors. +- Say Y if you have such a device. +- If unsure select "N". ++ This adds support for Sound Open Firmware for Intel(R) platforms ++ using the ElkhartLake processors. ++ Say Y if you have such a device. ++ If unsure select "N". + + config SND_SOC_SOF_ELKHARTLAKE + tristate + select SND_SOC_SOF_HDA_COMMON + help +- This option is not user-selectable but automagically handled by ++ This option is not user-selectable but automagically handled by + 'select' statements at a higher level + + config SND_SOC_SOF_JASPERLAKE_SUPPORT +diff --git a/sound/soc/xilinx/Kconfig b/sound/soc/xilinx/Kconfig +index 69973179ef15..1d3586b68db7 100644 +--- a/sound/soc/xilinx/Kconfig ++++ b/sound/soc/xilinx/Kconfig +@@ -9,15 +9,15 @@ config SND_SOC_XILINX_I2S + encapsulates PCM in AES format and sends AES data. + + config SND_SOC_XILINX_AUDIO_FORMATTER +- tristate "Audio support for the the Xilinx audio formatter" +- help +- Select this option to enable Xilinx audio formatter +- support. This provides DMA platform device support for +- audio functionality. ++ tristate "Audio support for the the Xilinx audio formatter" ++ help ++ Select this option to enable Xilinx audio formatter ++ support. This provides DMA platform device support for ++ audio functionality. + + config SND_SOC_XILINX_SPDIF +- tristate "Audio support for the the Xilinx SPDIF" +- help +- Select this option to enable Xilinx SPDIF Audio. +- This provides playback and capture of SPDIF audio in +- AES format. ++ tristate "Audio support for the the Xilinx SPDIF" ++ help ++ Select this option to enable Xilinx SPDIF Audio. ++ This provides playback and capture of SPDIF audio in ++ AES format. +diff --git a/sound/soc/zte/Kconfig b/sound/soc/zte/Kconfig +index a7842e4b791c..a23d4f13ca19 100644 +--- a/sound/soc/zte/Kconfig ++++ b/sound/soc/zte/Kconfig +@@ -18,9 +18,9 @@ config ZX_I2S + ZTE ZX I2S interface + + config ZX_TDM +- tristate "ZTE ZX TDM Driver Support" +- depends on COMMON_CLK +- select SND_SOC_GENERIC_DMAENGINE_PCM +- help +- Say Y or M if you want to add support for codecs attached to the +- ZTE ZX TDM interface ++ tristate "ZTE ZX TDM Driver Support" ++ depends on COMMON_CLK ++ select SND_SOC_GENERIC_DMAENGINE_PCM ++ help ++ Say Y or M if you want to add support for codecs attached to the ++ ZTE ZX TDM interface +diff --git a/sound/usb/Kconfig b/sound/usb/Kconfig +index e2c53a0841da..059242f15d75 100644 +--- a/sound/usb/Kconfig ++++ b/sound/usb/Kconfig +@@ -107,24 +107,24 @@ config SND_USB_US122L + will be called snd-usb-us122l. + + config SND_USB_6FIRE +- tristate "TerraTec DMX 6Fire USB" +- select FW_LOADER +- select BITREVERSE +- select SND_RAWMIDI +- select SND_PCM +- select SND_VMASTER +- help +- Say Y here to include support for TerraTec 6fire DMX USB interface. +- +- You will need firmware files in order to be able to use the device +- after it has been coldstarted. An install script for the firmware +- and further help can be found at +- http://sixfireusb.sourceforge.net ++ tristate "TerraTec DMX 6Fire USB" ++ select FW_LOADER ++ select BITREVERSE ++ select SND_RAWMIDI ++ select SND_PCM ++ select SND_VMASTER ++ help ++ Say Y here to include support for TerraTec 6fire DMX USB interface. ++ ++ You will need firmware files in order to be able to use the device ++ after it has been coldstarted. An install script for the firmware ++ and further help can be found at ++ http://sixfireusb.sourceforge.net + + config SND_USB_HIFACE +- tristate "M2Tech hiFace USB-SPDIF driver" +- select SND_PCM +- help ++ tristate "M2Tech hiFace USB-SPDIF driver" ++ select SND_PCM ++ help + Select this option to include support for M2Tech hiFace USB-SPDIF + interface. + +-- +2.20.1 + + +From d04677b943723aa40149b14f28e02a51cdf68080 Mon Sep 17 00:00:00 2001 +From: Sam McNally <sammc@chromium.org> +Date: Tue, 17 Sep 2019 15:49:33 +1000 +Subject: [PATCH 053/130] ASoC: Intel: cht_bsw_rt5645: Add quirk for boards + using pmc_plt_clk_0 + +As of commit 648e921888ad ("clk: x86: Stop marking clocks as +CLK_IS_CRITICAL"), the cht_bsw_rt5645 driver needs to enable the clock +it's using for the codec's mclk. It does this from commit 7735bce05a9c +("ASoC: Intel: boards: use devm_clk_get() unconditionally"), enabling +pmc_plt_clk_3. However, Strago family Chromebooks use pmc_plt_clk_0 for +the codec mclk, resulting in white noise with some digital microphones. +Add a DMI-based quirk for Strago family Chromebooks to use pmc_plt_clk_0 +instead - mirroring the changes made to cht_bsw_max98090_ti in +commit a182ecd3809c ("ASoC: intel: cht_bsw_max98090_ti: Add quirk for +boards using pmc_plt_clk_0") and making use of the existing +dmi_check_system() call and related infrastructure added in +commit 22af29114eb4 ("ASoC: Intel: cht-bsw-rt5645: add quirks for +SSP0/AIF1/AIF2 routing"). + +Signed-off-by: Sam McNally <sammc@chromium.org> +Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20190917054933.209335-1-sammc@chromium.org +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit adebb11139029ddf1fba6f796c4a476f17eacddc) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/cht_bsw_rt5645.c | 26 +++++++++++++++++++------ + 1 file changed, 20 insertions(+), 6 deletions(-) + +diff --git a/sound/soc/intel/boards/cht_bsw_rt5645.c b/sound/soc/intel/boards/cht_bsw_rt5645.c +index 8879c3be29d5..c68a5b85a4a0 100644 +--- a/sound/soc/intel/boards/cht_bsw_rt5645.c ++++ b/sound/soc/intel/boards/cht_bsw_rt5645.c +@@ -48,6 +48,7 @@ struct cht_mc_private { + #define CHT_RT5645_SSP2_AIF2 BIT(16) /* default is using AIF1 */ + #define CHT_RT5645_SSP0_AIF1 BIT(17) + #define CHT_RT5645_SSP0_AIF2 BIT(18) ++#define CHT_RT5645_PMC_PLT_CLK_0 BIT(19) + + static unsigned long cht_rt5645_quirk = 0; + +@@ -59,6 +60,8 @@ static void log_quirks(struct device *dev) + dev_info(dev, "quirk SSP0_AIF1 enabled"); + if (cht_rt5645_quirk & CHT_RT5645_SSP0_AIF2) + dev_info(dev, "quirk SSP0_AIF2 enabled"); ++ if (cht_rt5645_quirk & CHT_RT5645_PMC_PLT_CLK_0) ++ dev_info(dev, "quirk PMC_PLT_CLK_0 enabled"); + } + + static int platform_clock_control(struct snd_soc_dapm_widget *w, +@@ -226,15 +229,21 @@ static int cht_aif1_hw_params(struct snd_pcm_substream *substream, + return 0; + } + +-/* uncomment when we have a real quirk + static int cht_rt5645_quirk_cb(const struct dmi_system_id *id) + { + cht_rt5645_quirk = (unsigned long)id->driver_data; + return 1; + } +-*/ + + static const struct dmi_system_id cht_rt5645_quirk_table[] = { ++ { ++ /* Strago family Chromebooks */ ++ .callback = cht_rt5645_quirk_cb, ++ .matches = { ++ DMI_MATCH(DMI_PRODUCT_FAMILY, "Intel_Strago"), ++ }, ++ .driver_data = (void *)CHT_RT5645_PMC_PLT_CLK_0, ++ }, + { + }, + }; +@@ -526,6 +535,7 @@ static int snd_cht_mc_probe(struct platform_device *pdev) + int dai_index = 0; + int ret_val = 0; + int i; ++ const char *mclk_name; + + drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_KERNEL); + if (!drv) +@@ -662,11 +672,15 @@ static int snd_cht_mc_probe(struct platform_device *pdev) + if (ret_val) + return ret_val; + +- drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3"); ++ if (cht_rt5645_quirk & CHT_RT5645_PMC_PLT_CLK_0) ++ mclk_name = "pmc_plt_clk_0"; ++ else ++ mclk_name = "pmc_plt_clk_3"; ++ ++ drv->mclk = devm_clk_get(&pdev->dev, mclk_name); + if (IS_ERR(drv->mclk)) { +- dev_err(&pdev->dev, +- "Failed to get MCLK from pmc_plt_clk_3: %ld\n", +- PTR_ERR(drv->mclk)); ++ dev_err(&pdev->dev, "Failed to get MCLK from %s: %ld\n", ++ mclk_name, PTR_ERR(drv->mclk)); + return PTR_ERR(drv->mclk); + } + +-- +2.20.1 + + +From 83c22d6aef225035385971716098b753ea2d145e Mon Sep 17 00:00:00 2001 +From: Naveen M <naveen.m@intel.com> +Date: Tue, 15 Oct 2019 00:28:00 +0800 +Subject: [PATCH 054/130] ASoC: Intel: eve: Enable mclk and ssp sclk early + +rt5663 and rt5514 needs mclk/sclk early to synchronize its internal +clocks. + +Signed-off-by: Naveen M <naveen.m@intel.com> +Signed-off-by: Harsha Priya <harshapriya.n@intel.com> +Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com> +Signed-off-by: Brent Lu <brent.lu@intel.com> +Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/1571070480-25666-1-git-send-email-brent.lu@intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 47cbea21628187c32efad562867aa2b6760d83cc) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Kconfig | 1 + + .../intel/boards/kbl_rt5663_rt5514_max98927.c | 94 +++++++++++++++++++ + 2 files changed, 95 insertions(+) + +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index 882ff36a7c9c..778422d36e61 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -320,6 +320,7 @@ config SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH + select SND_SOC_RT5514_SPI + select SND_SOC_MAX98927 + select SND_SOC_HDAC_HDMI ++ select SND_SOC_INTEL_SKYLAKE_SSP_CLK + help + This adds support for ASoC Onboard Codec I2S machine driver. This will + create an alsa sound card for RT5663 + RT5514 + MAX98927. +diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +index d14ca327c684..ea0005d7d3c8 100644 +--- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c ++++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +@@ -22,6 +22,9 @@ + #include "../../codecs/rt5514.h" + #include "../../codecs/rt5663.h" + #include "../../codecs/hdac_hdmi.h" ++#include <linux/clk.h> ++#include <linux/clk-provider.h> ++#include <linux/clkdev.h> + + #define KBL_REALTEK_CODEC_DAI "rt5663-aif" + #define KBL_REALTEK_DMIC_CODEC_DAI "rt5514-aif1" +@@ -50,6 +53,8 @@ struct kbl_codec_private { + struct snd_soc_jack kabylake_headset; + struct list_head hdmi_pcm_list; + struct snd_soc_jack kabylake_hdmi[2]; ++ struct clk *mclk; ++ struct clk *sclk; + }; + + enum { +@@ -71,6 +76,61 @@ static const struct snd_kcontrol_new kabylake_controls[] = { + SOC_DAPM_PIN_SWITCH("DMIC"), + }; + ++static int platform_clock_control(struct snd_soc_dapm_widget *w, ++ struct snd_kcontrol *k, int event) ++{ ++ struct snd_soc_dapm_context *dapm = w->dapm; ++ struct snd_soc_card *card = dapm->card; ++ struct kbl_codec_private *priv = snd_soc_card_get_drvdata(card); ++ int ret = 0; ++ ++ /* ++ * MCLK/SCLK need to be ON early for a successful synchronization of ++ * codec internal clock. And the clocks are turned off during ++ * POST_PMD after the stream is stopped. ++ */ ++ switch (event) { ++ case SND_SOC_DAPM_PRE_PMU: ++ /* Enable MCLK */ ++ ret = clk_set_rate(priv->mclk, 24000000); ++ if (ret < 0) { ++ dev_err(card->dev, "Can't set rate for mclk, err: %d\n", ++ ret); ++ return ret; ++ } ++ ++ ret = clk_prepare_enable(priv->mclk); ++ if (ret < 0) { ++ dev_err(card->dev, "Can't enable mclk, err: %d\n", ret); ++ return ret; ++ } ++ ++ /* Enable SCLK */ ++ ret = clk_set_rate(priv->sclk, 3072000); ++ if (ret < 0) { ++ dev_err(card->dev, "Can't set rate for sclk, err: %d\n", ++ ret); ++ clk_disable_unprepare(priv->mclk); ++ return ret; ++ } ++ ++ ret = clk_prepare_enable(priv->sclk); ++ if (ret < 0) { ++ dev_err(card->dev, "Can't enable sclk, err: %d\n", ret); ++ clk_disable_unprepare(priv->mclk); ++ } ++ break; ++ case SND_SOC_DAPM_POST_PMD: ++ clk_disable_unprepare(priv->mclk); ++ clk_disable_unprepare(priv->sclk); ++ break; ++ default: ++ return 0; ++ } ++ ++ return 0; ++} ++ + static const struct snd_soc_dapm_widget kabylake_widgets[] = { + SND_SOC_DAPM_HP("Headphone Jack", NULL), + SND_SOC_DAPM_MIC("Headset Mic", NULL), +@@ -79,11 +139,15 @@ static const struct snd_soc_dapm_widget kabylake_widgets[] = { + SND_SOC_DAPM_MIC("DMIC", NULL), + SND_SOC_DAPM_SPK("HDMI1", NULL), + SND_SOC_DAPM_SPK("HDMI2", NULL), ++ SND_SOC_DAPM_SUPPLY("Platform Clock", SND_SOC_NOPM, 0, 0, ++ platform_clock_control, SND_SOC_DAPM_PRE_PMU | ++ SND_SOC_DAPM_POST_PMD), + + }; + + static const struct snd_soc_dapm_route kabylake_map[] = { + /* Headphones */ ++ { "Headphone Jack", NULL, "Platform Clock" }, + { "Headphone Jack", NULL, "HPOL" }, + { "Headphone Jack", NULL, "HPOR" }, + +@@ -92,6 +156,7 @@ static const struct snd_soc_dapm_route kabylake_map[] = { + { "Right Spk", NULL, "Right BE_OUT" }, + + /* other jacks */ ++ { "Headset Mic", NULL, "Platform Clock" }, + { "IN1P", NULL, "Headset Mic" }, + { "IN1N", NULL, "Headset Mic" }, + +@@ -643,6 +708,7 @@ static int kabylake_audio_probe(struct platform_device *pdev) + { + struct kbl_codec_private *ctx; + struct snd_soc_acpi_mach *mach; ++ int ret = 0; + + ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL); + if (!ctx) +@@ -658,6 +724,34 @@ static int kabylake_audio_probe(struct platform_device *pdev) + dmic_constraints = mach->mach_params.dmic_num == 2 ? + &constraints_dmic_2ch : &constraints_dmic_channels; + ++ ctx->mclk = devm_clk_get(&pdev->dev, "ssp1_mclk"); ++ if (IS_ERR(ctx->mclk)) { ++ ret = PTR_ERR(ctx->mclk); ++ if (ret == -ENOENT) { ++ dev_info(&pdev->dev, ++ "Failed to get ssp1_mclk, defer probe\n"); ++ return -EPROBE_DEFER; ++ } ++ ++ dev_err(&pdev->dev, "Failed to get ssp1_mclk with err:%d\n", ++ ret); ++ return ret; ++ } ++ ++ ctx->sclk = devm_clk_get(&pdev->dev, "ssp1_sclk"); ++ if (IS_ERR(ctx->sclk)) { ++ ret = PTR_ERR(ctx->sclk); ++ if (ret == -ENOENT) { ++ dev_info(&pdev->dev, ++ "Failed to get ssp1_sclk, defer probe\n"); ++ return -EPROBE_DEFER; ++ } ++ ++ dev_err(&pdev->dev, "Failed to get ssp1_sclk with err:%d\n", ++ ret); ++ return ret; ++ } ++ + return devm_snd_soc_register_card(&pdev->dev, &kabylake_audio_card); + } + +-- +2.20.1 + + +From f80cddbefe9bca88b832b053587286c56a35a6fc Mon Sep 17 00:00:00 2001 +From: Brent Lu <brent.lu@intel.com> +Date: Fri, 25 Oct 2019 17:11:31 +0800 +Subject: [PATCH 055/130] ASoC: eve: implement set_bias_level function for + rt5514 + +The first DMIC capture always fail (zero sequence data from PCM port) +after using DSP hotwording function (i.e. Google assistant). + +This rt5514 codec requires to control mclk directly in the set_bias_level +function. Implement this function in machine driver to control the +ssp1_mclk clock explicitly could fix this issue. + +Signed-off-by: Brent Lu <brent.lu@intel.com> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/1571994691-20199-1-git-send-email-brent.lu@intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 15747a80207585fe942416025540c0ff34e2aef8) +Bugzilla: 1772498 +--- + .../intel/boards/kbl_rt5663_rt5514_max98927.c | 50 +++++++++++++++++++ + 1 file changed, 50 insertions(+) + +diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +index ea0005d7d3c8..a1056cda3dd7 100644 +--- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c ++++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +@@ -653,6 +653,55 @@ static struct snd_soc_dai_link kabylake_dais[] = { + }, + }; + ++static int kabylake_set_bias_level(struct snd_soc_card *card, ++ struct snd_soc_dapm_context *dapm, enum snd_soc_bias_level level) ++{ ++ struct snd_soc_component *component = dapm->component; ++ struct kbl_codec_private *priv = snd_soc_card_get_drvdata(card); ++ int ret = 0; ++ ++ if (!component || strcmp(component->name, RT5514_DEV_NAME)) ++ return 0; ++ ++ if (IS_ERR(priv->mclk)) ++ return 0; ++ ++ /* ++ * It's required to control mclk directly in the set_bias_level ++ * function for rt5514 codec or the recording function could ++ * break. ++ */ ++ switch (level) { ++ case SND_SOC_BIAS_PREPARE: ++ if (dapm->bias_level == SND_SOC_BIAS_ON) { ++ dev_dbg(card->dev, "Disable mclk"); ++ clk_disable_unprepare(priv->mclk); ++ } else { ++ dev_dbg(card->dev, "Enable mclk"); ++ ret = clk_set_rate(priv->mclk, 24000000); ++ if (ret) { ++ dev_err(card->dev, "Can't set rate for mclk, err: %d\n", ++ ret); ++ return ret; ++ } ++ ++ ret = clk_prepare_enable(priv->mclk); ++ if (ret) { ++ dev_err(card->dev, "Can't enable mclk, err: %d\n", ++ ret); ++ ++ /* mclk is already enabled in FW */ ++ ret = 0; ++ } ++ } ++ break; ++ default: ++ break; ++ } ++ ++ return ret; ++} ++ + static int kabylake_card_late_probe(struct snd_soc_card *card) + { + struct kbl_codec_private *ctx = snd_soc_card_get_drvdata(card); +@@ -692,6 +741,7 @@ static struct snd_soc_card kabylake_audio_card = { + .owner = THIS_MODULE, + .dai_link = kabylake_dais, + .num_links = ARRAY_SIZE(kabylake_dais), ++ .set_bias_level = kabylake_set_bias_level, + .controls = kabylake_controls, + .num_controls = ARRAY_SIZE(kabylake_controls), + .dapm_widgets = kabylake_widgets, +-- +2.20.1 + + +From 1b41ab23dfde6f139695afbb1cef0846453a8070 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:11 +0200 +Subject: [PATCH 056/130] ASoC: Intel: skl-hda-dsp-generic: use + snd-hda-codec-hdmi + +Add support for using snd-hda-codec-hdmi driver for HDMI/DP +instead of ASoC hdac-hdmi. This is aligned with how other +HDA codecs are already handled. + +When snd-hda-codec-hdmi is used, the PCM device numbers are +parsed from card topology and passed to the codec driver. +This needs to be done at runtime as topology changes may +affect PCM device allocation. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-4-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 7de9a47c8971bdec07cc9a62e948382003c5908f) +Bugzilla: 1772498 +--- + include/sound/soc-acpi.h | 2 + + sound/soc/intel/boards/Makefile | 2 +- + sound/soc/intel/boards/hda_dsp_common.c | 85 ++++++++++++++++++++ + sound/soc/intel/boards/hda_dsp_common.h | 32 ++++++++ + sound/soc/intel/boards/skl_hda_dsp_common.c | 6 ++ + sound/soc/intel/boards/skl_hda_dsp_common.h | 23 ++++++ + sound/soc/intel/boards/skl_hda_dsp_generic.c | 1 + + 7 files changed, 150 insertions(+), 1 deletion(-) + create mode 100644 sound/soc/intel/boards/hda_dsp_common.c + create mode 100644 sound/soc/intel/boards/hda_dsp_common.h + +diff --git a/include/sound/soc-acpi.h b/include/sound/soc-acpi.h +index 35b38e41e5b2..26d57bc9a91e 100644 +--- a/include/sound/soc-acpi.h ++++ b/include/sound/soc-acpi.h +@@ -60,12 +60,14 @@ static inline struct snd_soc_acpi_mach *snd_soc_acpi_codec_list(void *arg) + * @acpi_ipc_irq_index: used for BYT-CR detection + * @platform: string used for HDaudio codec support + * @codec_mask: used for HDAudio support ++ * @common_hdmi_codec_drv: use commom HDAudio HDMI codec driver + */ + struct snd_soc_acpi_mach_params { + u32 acpi_ipc_irq_index; + const char *platform; + u32 codec_mask; + u32 dmic_num; ++ bool common_hdmi_codec_drv; + }; + + /** +diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile +index 6445f90ea542..52e990b16b0d 100644 +--- a/sound/soc/intel/boards/Makefile ++++ b/sound/soc/intel/boards/Makefile +@@ -24,7 +24,7 @@ snd-soc-kbl_rt5663_max98927-objs := kbl_rt5663_max98927.o + snd-soc-kbl_rt5663_rt5514_max98927-objs := kbl_rt5663_rt5514_max98927.o + snd-soc-kbl_rt5660-objs := kbl_rt5660.o + snd-soc-skl_rt286-objs := skl_rt286.o +-snd-soc-skl_hda_dsp-objs := skl_hda_dsp_generic.o skl_hda_dsp_common.o ++snd-soc-skl_hda_dsp-objs := skl_hda_dsp_generic.o skl_hda_dsp_common.o hda_dsp_common.o + snd-skl_nau88l25_max98357a-objs := skl_nau88l25_max98357a.o + snd-soc-skl_nau88l25_ssm4567-objs := skl_nau88l25_ssm4567.o + +diff --git a/sound/soc/intel/boards/hda_dsp_common.c b/sound/soc/intel/boards/hda_dsp_common.c +new file mode 100644 +index 000000000000..ed36b68d6705 +--- /dev/null ++++ b/sound/soc/intel/boards/hda_dsp_common.c +@@ -0,0 +1,85 @@ ++// SPDX-License-Identifier: GPL-2.0 ++// ++// Copyright(c) 2019 Intel Corporation. All rights reserved. ++ ++#include <sound/pcm.h> ++#include <sound/soc.h> ++#include <sound/hda_codec.h> ++#include <sound/hda_i915.h> ++#include "../../codecs/hdac_hda.h" ++ ++#include "hda_dsp_common.h" ++ ++/* ++ * Search card topology and return PCM device number ++ * matching Nth HDMI device (zero-based index). ++ */ ++struct snd_pcm *hda_dsp_hdmi_pcm_handle(struct snd_soc_card *card, ++ int hdmi_idx) ++{ ++ struct snd_soc_pcm_runtime *rtd; ++ struct snd_pcm *spcm; ++ int i = 0; ++ ++ for_each_card_rtds(card, rtd) { ++ spcm = rtd->pcm ? ++ rtd->pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].pcm : NULL; ++ if (spcm && strstr(spcm->id, "HDMI")) { ++ if (i == hdmi_idx) ++ return rtd->pcm; ++ ++i; ++ } ++ } ++ ++ return NULL; ++} ++ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC) ++/* ++ * Search card topology and register HDMI PCM related controls ++ * to codec driver. ++ */ ++int hda_dsp_hdmi_build_controls(struct snd_soc_card *card, ++ struct snd_soc_component *comp) ++{ ++ struct hdac_hda_priv *hda_pvt; ++ struct hda_codec *hcodec; ++ struct snd_pcm *spcm; ++ struct hda_pcm *hpcm; ++ int err = 0, i = 0; ++ ++ if (!comp) ++ return -EINVAL; ++ ++ hda_pvt = snd_soc_component_get_drvdata(comp); ++ hcodec = &hda_pvt->codec; ++ ++ list_for_each_entry(hpcm, &hcodec->pcm_list_head, list) { ++ spcm = hda_dsp_hdmi_pcm_handle(card, i); ++ if (spcm) { ++ hpcm->pcm = spcm; ++ hpcm->device = spcm->device; ++ dev_dbg(card->dev, ++ "%s: mapping HDMI converter %d to PCM %d (%p)\n", ++ __func__, i, hpcm->device, spcm); ++ } else { ++ hpcm->pcm = 0; ++ hpcm->device = SNDRV_PCM_INVALID_DEVICE; ++ dev_warn(card->dev, ++ "%s: no PCM in topology for HDMI converter %d\n\n", ++ __func__, i); ++ } ++ i++; ++ } ++ snd_hdac_display_power(hcodec->core.bus, ++ HDA_CODEC_IDX_CONTROLLER, true); ++ err = snd_hda_codec_build_controls(hcodec); ++ if (err < 0) ++ dev_err(card->dev, "unable to create controls %d\n", err); ++ snd_hdac_display_power(hcodec->core.bus, ++ HDA_CODEC_IDX_CONTROLLER, false); ++ ++ return err; ++} ++ ++#endif +diff --git a/sound/soc/intel/boards/hda_dsp_common.h b/sound/soc/intel/boards/hda_dsp_common.h +new file mode 100644 +index 000000000000..431f7f09dccb +--- /dev/null ++++ b/sound/soc/intel/boards/hda_dsp_common.h +@@ -0,0 +1,32 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++/* ++ * Copyright(c) 2019 Intel Corporation. ++ */ ++ ++/* ++ * This file defines helper functions used by multiple ++ * Intel HDA based machine drivers. ++ */ ++ ++#ifndef __HDA_DSP_COMMON_H ++#define __HDA_DSP_COMMON_H ++ ++#include <sound/hda_codec.h> ++#include <sound/hda_i915.h> ++#include "../../codecs/hdac_hda.h" ++ ++struct snd_pcm *hda_dsp_hdmi_pcm_handle(struct snd_soc_card *card, ++ int hdmi_idx); ++ ++#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC) ++int hda_dsp_hdmi_build_controls(struct snd_soc_card *card, ++ struct snd_soc_component *comp); ++#else ++static inline int hda_dsp_hdmi_build_controls(struct snd_soc_card *card, ++ struct snd_soc_component *comp) ++{ ++ return -EINVAL; ++} ++#endif ++ ++#endif /* __HDA_DSP_COMMON_H */ +diff --git a/sound/soc/intel/boards/skl_hda_dsp_common.c b/sound/soc/intel/boards/skl_hda_dsp_common.c +index 58409b6e476e..eb419e1ec42b 100644 +--- a/sound/soc/intel/boards/skl_hda_dsp_common.c ++++ b/sound/soc/intel/boards/skl_hda_dsp_common.c +@@ -14,6 +14,9 @@ + #include "../../codecs/hdac_hdmi.h" + #include "skl_hda_dsp_common.h" + ++#include <sound/hda_codec.h> ++#include "../../codecs/hdac_hda.h" ++ + #define NAME_SIZE 32 + + int skl_hda_hdmi_add_pcm(struct snd_soc_card *card, int device) +@@ -136,6 +139,9 @@ int skl_hda_hdmi_jack_init(struct snd_soc_card *card) + char jack_name[NAME_SIZE]; + int err; + ++ if (ctx->common_hdmi_codec_drv) ++ return skl_hda_hdmi_build_controls(card); ++ + list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) { + component = pcm->codec_dai->component; + snprintf(jack_name, sizeof(jack_name), +diff --git a/sound/soc/intel/boards/skl_hda_dsp_common.h b/sound/soc/intel/boards/skl_hda_dsp_common.h +index daa582e513b2..bbe6e2acfda3 100644 +--- a/sound/soc/intel/boards/skl_hda_dsp_common.h ++++ b/sound/soc/intel/boards/skl_hda_dsp_common.h +@@ -14,6 +14,9 @@ + #include <linux/platform_device.h> + #include <sound/core.h> + #include <sound/jack.h> ++#include <sound/hda_codec.h> ++#include "../../codecs/hdac_hda.h" ++#include "hda_dsp_common.h" + + #define HDA_DSP_MAX_BE_DAI_LINKS 7 + +@@ -29,10 +32,30 @@ struct skl_hda_private { + int pcm_count; + int dai_index; + const char *platform_name; ++ bool common_hdmi_codec_drv; + }; + + extern struct snd_soc_dai_link skl_hda_be_dai_links[HDA_DSP_MAX_BE_DAI_LINKS]; + int skl_hda_hdmi_jack_init(struct snd_soc_card *card); + int skl_hda_hdmi_add_pcm(struct snd_soc_card *card, int device); + ++/* ++ * Search card topology and register HDMI PCM related controls ++ * to codec driver. ++ */ ++static inline int skl_hda_hdmi_build_controls(struct snd_soc_card *card) ++{ ++ struct skl_hda_private *ctx = snd_soc_card_get_drvdata(card); ++ struct snd_soc_component *component; ++ struct skl_hda_hdmi_pcm *pcm; ++ ++ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct skl_hda_hdmi_pcm, ++ head); ++ component = pcm->codec_dai->component; ++ if (!component) ++ return -EINVAL; ++ ++ return hda_dsp_hdmi_build_controls(card, component); ++} ++ + #endif /* __SOUND_SOC_HDA_DSP_COMMON_H */ +diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c +index e8d676c192f6..4e45901e3a2f 100644 +--- a/sound/soc/intel/boards/skl_hda_dsp_generic.c ++++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c +@@ -178,6 +178,7 @@ static int skl_hda_audio_probe(struct platform_device *pdev) + ctx->pcm_count = hda_soc_card.num_links; + ctx->dai_index = 1; /* hdmi codec dai name starts from index 1 */ + ctx->platform_name = mach->mach_params.platform; ++ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv; + + hda_soc_card.dev = &pdev->dev; + snd_soc_card_set_drvdata(&hda_soc_card, ctx); +-- +2.20.1 + + +From b07481ef39cfbbf0caadac6432121bd4d49bd69f Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:12 +0200 +Subject: [PATCH 057/130] ASoC: Intel: skl-hda-dsp-generic: fix include guard + name + +Match the include guard define to actual filename. The source +directory now has an actual hda_dsp_common.h header, so the old +include guard may cause confusion. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-5-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 0f163110256ac91aee562da149838fcb8a39d518) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/skl_hda_dsp_common.h | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/intel/boards/skl_hda_dsp_common.h b/sound/soc/intel/boards/skl_hda_dsp_common.h +index bbe6e2acfda3..d6150670ca05 100644 +--- a/sound/soc/intel/boards/skl_hda_dsp_common.h ++++ b/sound/soc/intel/boards/skl_hda_dsp_common.h +@@ -8,8 +8,8 @@ + * platforms with HDA Codecs. + */ + +-#ifndef __SOUND_SOC_HDA_DSP_COMMON_H +-#define __SOUND_SOC_HDA_DSP_COMMON_H ++#ifndef __SKL_HDA_DSP_COMMON_H ++#define __SKL_HDA_DSP_COMMON_H + #include <linux/module.h> + #include <linux/platform_device.h> + #include <sound/core.h> +-- +2.20.1 + + +From 33d568ce43c1a625611c9680c932607183716854 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:14 +0200 +Subject: [PATCH 058/130] ASoC: Intel: bxt-da7219-max98357a: common hdmi codec + support + +Add support for using snd-hda-codec-hdmi driver for HDMI/DP +instead of ASoC hdac-hdmi. This is aligned with how other +HDA codecs are already handled. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-7-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 57ad18906f24278893b128967551fe7fa0996129) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Makefile | 2 +- + sound/soc/intel/boards/bxt_da7219_max98357a.c | 11 +++++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile +index 52e990b16b0d..0cf4a984f083 100644 +--- a/sound/soc/intel/boards/Makefile ++++ b/sound/soc/intel/boards/Makefile +@@ -4,7 +4,7 @@ snd-soc-sst-byt-rt5640-mach-objs := byt-rt5640.o + snd-soc-sst-byt-max98090-mach-objs := byt-max98090.o + snd-soc-sst-bdw-rt5677-mach-objs := bdw-rt5677.o + snd-soc-sst-broadwell-objs := broadwell.o +-snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o ++snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o hda_dsp_common.o + snd-soc-sst-bxt-rt298-objs := bxt_rt298.o + snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o + snd-soc-sst-bytcr-rt5640-objs := bytcr_rt5640.o +diff --git a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c +index ac1dea5f9d11..5873abb46441 100644 +--- a/sound/soc/intel/boards/bxt_da7219_max98357a.c ++++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c +@@ -21,6 +21,7 @@ + #include "../../codecs/da7219.h" + #include "../../codecs/da7219-aad.h" + #include "../common/soc-intel-quirks.h" ++#include "hda_dsp_common.h" + + #define BXT_DIALOG_CODEC_DAI "da7219-hifi" + #define BXT_MAXIM_CODEC_DAI "HiFi" +@@ -38,6 +39,7 @@ struct bxt_hdmi_pcm { + + struct bxt_card_private { + struct list_head hdmi_pcm_list; ++ bool common_hdmi_codec_drv; + }; + + enum { +@@ -615,6 +617,13 @@ static int bxt_card_late_probe(struct snd_soc_card *card) + snd_soc_dapm_add_routes(&card->dapm, broxton_map, + ARRAY_SIZE(broxton_map)); + ++ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct bxt_hdmi_pcm, ++ head); ++ component = pcm->codec_dai->component; ++ ++ if (ctx->common_hdmi_codec_drv) ++ return hda_dsp_hdmi_build_controls(card, component); ++ + list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) { + component = pcm->codec_dai->component; + snprintf(jack_name, sizeof(jack_name), +@@ -720,6 +729,8 @@ static int broxton_audio_probe(struct platform_device *pdev) + if (ret) + return ret; + ++ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv; ++ + return devm_snd_soc_register_card(&pdev->dev, &broxton_audio_card); + } + +-- +2.20.1 + + +From 555533e73e096583395ce632a80116c059ce97d5 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:15 +0200 +Subject: [PATCH 059/130] ASoC: Intel: glk_rt5682_max98357a: common hdmi codec + support + +Add support for using snd-hda-codec-hdmi driver for HDMI/DP +instead of ASoC hdac-hdmi. This is aligned with how other +HDA codecs are already handled. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-8-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit dfe87aa86cd92d21603d64f4035fecae19c92e7a) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Makefile | 2 +- + sound/soc/intel/boards/glk_rt5682_max98357a.c | 11 +++++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile +index 0cf4a984f083..b36f44906c91 100644 +--- a/sound/soc/intel/boards/Makefile ++++ b/sound/soc/intel/boards/Makefile +@@ -6,7 +6,7 @@ snd-soc-sst-bdw-rt5677-mach-objs := bdw-rt5677.o + snd-soc-sst-broadwell-objs := broadwell.o + snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o hda_dsp_common.o + snd-soc-sst-bxt-rt298-objs := bxt_rt298.o +-snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o ++snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o hda_dsp_common.o + snd-soc-sst-bytcr-rt5640-objs := bytcr_rt5640.o + snd-soc-sst-bytcr-rt5651-objs := bytcr_rt5651.o + snd-soc-sst-cht-bsw-rt5672-objs := cht_bsw_rt5672.o +diff --git a/sound/soc/intel/boards/glk_rt5682_max98357a.c b/sound/soc/intel/boards/glk_rt5682_max98357a.c +index bd2d371f2acd..b36264d1d1cd 100644 +--- a/sound/soc/intel/boards/glk_rt5682_max98357a.c ++++ b/sound/soc/intel/boards/glk_rt5682_max98357a.c +@@ -19,6 +19,7 @@ + #include <sound/soc-acpi.h> + #include "../../codecs/rt5682.h" + #include "../../codecs/hdac_hdmi.h" ++#include "hda_dsp_common.h" + + /* The platform clock outputs 19.2Mhz clock to codec as I2S MCLK */ + #define GLK_PLAT_CLK_FREQ 19200000 +@@ -41,6 +42,7 @@ struct glk_hdmi_pcm { + struct glk_card_private { + struct snd_soc_jack geminilake_headset; + struct list_head hdmi_pcm_list; ++ bool common_hdmi_codec_drv; + }; + + enum { +@@ -545,6 +547,13 @@ static int glk_card_late_probe(struct snd_soc_card *card) + int err = 0; + int i = 0; + ++ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct glk_hdmi_pcm, ++ head); ++ component = pcm->codec_dai->component; ++ ++ if (ctx->common_hdmi_codec_drv) ++ return hda_dsp_hdmi_build_controls(card, component); ++ + list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) { + component = pcm->codec_dai->component; + snprintf(jack_name, sizeof(jack_name), +@@ -612,6 +621,8 @@ static int geminilake_audio_probe(struct platform_device *pdev) + if (ret) + return ret; + ++ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv; ++ + return devm_snd_soc_register_card(&pdev->dev, card); + } + +-- +2.20.1 + + +From d186922c20154420654a00b8b6186df7c0a9f4f3 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:16 +0200 +Subject: [PATCH 060/130] ASoC: intel: sof_rt5682: common hdmi codec support + +Add support for using snd-hda-codec-hdmi driver for HDMI/DP +instead of ASoC hdac-hdmi. This is aligned with how other +HDA codecs are already handled. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-9-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 59bbd703ea2eae7c2766713135e4742c07fbbad7) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Makefile | 2 +- + sound/soc/intel/boards/sof_rt5682.c | 11 +++++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile +index b36f44906c91..255cee8c7906 100644 +--- a/sound/soc/intel/boards/Makefile ++++ b/sound/soc/intel/boards/Makefile +@@ -17,7 +17,7 @@ snd-soc-sst-byt-cht-cx2072x-objs := bytcht_cx2072x.o + snd-soc-sst-byt-cht-da7213-objs := bytcht_da7213.o + snd-soc-sst-byt-cht-es8316-objs := bytcht_es8316.o + snd-soc-sst-byt-cht-nocodec-objs := bytcht_nocodec.o +-snd-soc-sof_rt5682-objs := sof_rt5682.o ++snd-soc-sof_rt5682-objs := sof_rt5682.o hda_dsp_common.o + snd-soc-kbl_da7219_max98357a-objs := kbl_da7219_max98357a.o + snd-soc-kbl_da7219_max98927-objs := kbl_da7219_max98927.o + snd-soc-kbl_rt5663_max98927-objs := kbl_rt5663_max98927.o +diff --git a/sound/soc/intel/boards/sof_rt5682.c b/sound/soc/intel/boards/sof_rt5682.c +index 320a9b9273db..751b8ea6ae1f 100644 +--- a/sound/soc/intel/boards/sof_rt5682.c ++++ b/sound/soc/intel/boards/sof_rt5682.c +@@ -21,6 +21,7 @@ + #include "../../codecs/rt5682.h" + #include "../../codecs/hdac_hdmi.h" + #include "../common/soc-intel-quirks.h" ++#include "hda_dsp_common.h" + + #define NAME_SIZE 32 + +@@ -53,6 +54,7 @@ struct sof_card_private { + struct clk *mclk; + struct snd_soc_jack sof_headset; + struct list_head hdmi_pcm_list; ++ bool common_hdmi_codec_drv; + }; + + static int sof_rt5682_quirk_cb(const struct dmi_system_id *id) +@@ -274,6 +276,13 @@ static int sof_card_late_probe(struct snd_soc_card *card) + if (is_legacy_cpu) + return 0; + ++ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct sof_hdmi_pcm, ++ head); ++ component = pcm->codec_dai->component; ++ ++ if (ctx->common_hdmi_codec_drv) ++ return hda_dsp_hdmi_build_controls(card, component); ++ + list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) { + component = pcm->codec_dai->component; + snprintf(jack_name, sizeof(jack_name), +@@ -651,6 +660,8 @@ static int sof_audio_probe(struct platform_device *pdev) + if (ret) + return ret; + ++ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv; ++ + snd_soc_card_set_drvdata(&sof_audio_card_rt5682, ctx); + + return devm_snd_soc_register_card(&pdev->dev, +-- +2.20.1 + + +From 3f4711fbc1d93be2c68d2eff99baef5d1ae7bb54 Mon Sep 17 00:00:00 2001 +From: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Date: Tue, 29 Oct 2019 15:40:17 +0200 +Subject: [PATCH 061/130] ASoC: Intel: bxt_rt298: common hdmi codec support + +Add support for using snd-hda-codec-hdmi driver for HDMI/DP +instead of ASoC hdac-hdmi. This is aligned with how other +HDA codecs are already handled. + +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191029134017.18901-10-kai.vehmanen@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 7d2ae58376658a3ca0d8f9a53f6f065df126c432) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Makefile | 2 +- + sound/soc/intel/boards/bxt_rt298.c | 11 +++++++++++ + 2 files changed, 12 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile +index 255cee8c7906..8bddf379cef1 100644 +--- a/sound/soc/intel/boards/Makefile ++++ b/sound/soc/intel/boards/Makefile +@@ -5,7 +5,7 @@ snd-soc-sst-byt-max98090-mach-objs := byt-max98090.o + snd-soc-sst-bdw-rt5677-mach-objs := bdw-rt5677.o + snd-soc-sst-broadwell-objs := broadwell.o + snd-soc-sst-bxt-da7219_max98357a-objs := bxt_da7219_max98357a.o hda_dsp_common.o +-snd-soc-sst-bxt-rt298-objs := bxt_rt298.o ++snd-soc-sst-bxt-rt298-objs := bxt_rt298.o hda_dsp_common.o + snd-soc-sst-glk-rt5682_max98357a-objs := glk_rt5682_max98357a.o hda_dsp_common.o + snd-soc-sst-bytcr-rt5640-objs := bytcr_rt5640.o + snd-soc-sst-bytcr-rt5651-objs := bytcr_rt5651.o +diff --git a/sound/soc/intel/boards/bxt_rt298.c b/sound/soc/intel/boards/bxt_rt298.c +index adf416a49b48..eabf9d8468ae 100644 +--- a/sound/soc/intel/boards/bxt_rt298.c ++++ b/sound/soc/intel/boards/bxt_rt298.c +@@ -18,6 +18,7 @@ + #include <sound/pcm_params.h> + #include "../../codecs/hdac_hdmi.h" + #include "../../codecs/rt298.h" ++#include "hda_dsp_common.h" + + /* Headset jack detection DAPM pins */ + static struct snd_soc_jack broxton_headset; +@@ -31,6 +32,7 @@ struct bxt_hdmi_pcm { + + struct bxt_rt286_private { + struct list_head hdmi_pcm_list; ++ bool common_hdmi_codec_drv; + }; + + enum { +@@ -527,6 +529,13 @@ static int bxt_card_late_probe(struct snd_soc_card *card) + int err, i = 0; + char jack_name[NAME_SIZE]; + ++ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct bxt_hdmi_pcm, ++ head); ++ component = pcm->codec_dai->component; ++ ++ if (ctx->common_hdmi_codec_drv) ++ return hda_dsp_hdmi_build_controls(card, component); ++ + list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) { + component = pcm->codec_dai->component; + snprintf(jack_name, sizeof(jack_name), +@@ -626,6 +635,8 @@ static int broxton_audio_probe(struct platform_device *pdev) + if (ret) + return ret; + ++ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv; ++ + return devm_snd_soc_register_card(&pdev->dev, card); + } + +-- +2.20.1 + + +From 03a37d6f2b29db4c976ede85c9a605471ea405b3 Mon Sep 17 00:00:00 2001 +From: Naveen Manohar <naveen.m@intel.com> +Date: Fri, 1 Nov 2019 12:18:46 -0500 +Subject: [PATCH 062/130] ASoC: Intel: Add acpi match for rt1011 based m/c + driver + +Add match for CML m/c with RT1011 and RT5682 + +Signed-off-by: Naveen Manohar <naveen.m@intel.com> +Signed-off-by: Sathya Prakash M R <sathya.prakash.m.r@intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101171847.26767-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit f95ce1355944189c26e4182c813d7f018b434dbd) +Bugzilla: 1772498 +--- + sound/soc/intel/common/soc-acpi-intel-cnl-match.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/sound/soc/intel/common/soc-acpi-intel-cnl-match.c b/sound/soc/intel/common/soc-acpi-intel-cnl-match.c +index 985aa366c9e8..16d0bae8b316 100644 +--- a/sound/soc/intel/common/soc-acpi-intel-cnl-match.c ++++ b/sound/soc/intel/common/soc-acpi-intel-cnl-match.c +@@ -47,6 +47,13 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = { + .sof_fw_filename = "sof-cnl.ri", + .sof_tplg_filename = "sof-cml-rt5682-max98357a.tplg", + }, ++ { ++ .id = "10EC1011", ++ .drv_name = "cml_rt1011_rt5682", ++ .quirk_data = &cml_codecs, ++ .sof_fw_filename = "sof-cnl.ri", ++ .sof_tplg_filename = "sof-cml-rt1011-rt5682.tplg", ++ }, + { + .id = "10EC5682", + .drv_name = "sof_rt5682", +-- +2.20.1 + + +From 90dad5c0eeccbe941c5afaca1f60339a5bb31984 Mon Sep 17 00:00:00 2001 +From: Naveen Manohar <naveen.m@intel.com> +Date: Fri, 1 Nov 2019 12:18:47 -0500 +Subject: [PATCH 063/130] ASoC: Intel: boards: Add CML m/c using RT1011 and + RT5682 + +Machine driver to enable +RT5682 on SSP0, DMIC, HDMI and +RT1011 AMP on SSP1 with +2 CH / 24 bit TDM Playback over 4 individual codecs and +4 CH / 24 bit Capture to provide feedback. + +Signed-off-by: Naveen Manohar <naveen.m@intel.com> +Signed-off-by: Sathya Prakash M R <sathya.prakash.m.r@intel.com> +Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101171847.26767-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 17fe95d6df9320409015e5114309a3c05e31b736) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Kconfig | 14 + + sound/soc/intel/boards/Makefile | 2 + + sound/soc/intel/boards/cml_rt1011_rt5682.c | 487 +++++++++++++++++++++ + 3 files changed, 503 insertions(+) + create mode 100644 sound/soc/intel/boards/cml_rt1011_rt5682.c + +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index 778422d36e61..ef40f83e0a3b 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -423,6 +423,20 @@ config SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH + depends on MFD_INTEL_LPSS || COMPILE_TEST + select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC + ++config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH ++ tristate "CML with RT1011 and RT5682 in I2S Mode" ++ depends on I2C && ACPI ++ depends on MFD_INTEL_LPSS || COMPILE_TEST ++ select SND_SOC_RT1011 ++ select SND_SOC_RT5682 ++ select SND_SOC_DMIC ++ select SND_SOC_HDAC_HDMI ++ help ++ This adds support for ASoC machine driver for SOF platform with ++ RT1011 + RT5682 I2S codec. ++ Say Y if you have such a device. ++ If unsure select "N". ++ + endif ## SND_SOC_SOF_COMETLAKE_LP && SND_SOC_SOF_HDA_LINK + + endif ## SND_SOC_INTEL_MACH +diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile +index 8bddf379cef1..9ae6544c6f3b 100644 +--- a/sound/soc/intel/boards/Makefile ++++ b/sound/soc/intel/boards/Makefile +@@ -18,6 +18,7 @@ snd-soc-sst-byt-cht-da7213-objs := bytcht_da7213.o + snd-soc-sst-byt-cht-es8316-objs := bytcht_es8316.o + snd-soc-sst-byt-cht-nocodec-objs := bytcht_nocodec.o + snd-soc-sof_rt5682-objs := sof_rt5682.o hda_dsp_common.o ++snd-soc-cml_rt1011_rt5682-objs := cml_rt1011_rt5682.o hda_dsp_common.o + snd-soc-kbl_da7219_max98357a-objs := kbl_da7219_max98357a.o + snd-soc-kbl_da7219_max98927-objs := kbl_da7219_max98927.o + snd-soc-kbl_rt5663_max98927-objs := kbl_rt5663_max98927.o +@@ -47,6 +48,7 @@ obj-$(CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH) += snd-soc-sst-byt-cht-cx2072x. + obj-$(CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH) += snd-soc-sst-byt-cht-da7213.o + obj-$(CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH) += snd-soc-sst-byt-cht-es8316.o + obj-$(CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH) += snd-soc-sst-byt-cht-nocodec.o ++obj-$(CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH) += snd-soc-cml_rt1011_rt5682.o + obj-$(CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH) += snd-soc-kbl_da7219_max98357a.o + obj-$(CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH) += snd-soc-kbl_da7219_max98927.o + obj-$(CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH) += snd-soc-kbl_rt5663_max98927.o +diff --git a/sound/soc/intel/boards/cml_rt1011_rt5682.c b/sound/soc/intel/boards/cml_rt1011_rt5682.c +new file mode 100644 +index 000000000000..a22f97234201 +--- /dev/null ++++ b/sound/soc/intel/boards/cml_rt1011_rt5682.c +@@ -0,0 +1,487 @@ ++// SPDX-License-Identifier: GPL-2.0 ++// Copyright(c) 2019 Intel Corporation. ++ ++/* ++ * Intel Cometlake I2S Machine driver for RT1011 + RT5682 codec ++ */ ++ ++#include <linux/input.h> ++#include <linux/module.h> ++#include <linux/platform_device.h> ++#include <linux/clk.h> ++#include <linux/dmi.h> ++#include <linux/slab.h> ++#include <asm/cpu_device_id.h> ++#include <linux/acpi.h> ++#include <sound/core.h> ++#include <sound/jack.h> ++#include <sound/pcm.h> ++#include <sound/pcm_params.h> ++#include <sound/soc.h> ++#include <sound/rt5682.h> ++#include <sound/soc-acpi.h> ++#include "../../codecs/rt1011.h" ++#include "../../codecs/rt5682.h" ++#include "../../codecs/hdac_hdmi.h" ++#include "hda_dsp_common.h" ++ ++/* The platform clock outputs 24Mhz clock to codec as I2S MCLK */ ++#define CML_PLAT_CLK 24000000 ++#define CML_RT1011_CODEC_DAI "rt1011-aif" ++#define CML_RT5682_CODEC_DAI "rt5682-aif1" ++#define NAME_SIZE 32 ++ ++static struct snd_soc_jack hdmi_jack[3]; ++ ++struct hdmi_pcm { ++ struct list_head head; ++ struct snd_soc_dai *codec_dai; ++ int device; ++}; ++ ++struct card_private { ++ char codec_name[SND_ACPI_I2C_ID_LEN]; ++ struct snd_soc_jack headset; ++ struct list_head hdmi_pcm_list; ++ bool common_hdmi_codec_drv; ++}; ++ ++static const struct snd_kcontrol_new cml_controls[] = { ++ SOC_DAPM_PIN_SWITCH("Headphone Jack"), ++ SOC_DAPM_PIN_SWITCH("Headset Mic"), ++ SOC_DAPM_PIN_SWITCH("TL Ext Spk"), ++ SOC_DAPM_PIN_SWITCH("TR Ext Spk"), ++ SOC_DAPM_PIN_SWITCH("WL Ext Spk"), ++ SOC_DAPM_PIN_SWITCH("WR Ext Spk"), ++}; ++ ++static const struct snd_soc_dapm_widget cml_rt1011_rt5682_widgets[] = { ++ SND_SOC_DAPM_SPK("TL Ext Spk", NULL), ++ SND_SOC_DAPM_SPK("TR Ext Spk", NULL), ++ SND_SOC_DAPM_SPK("WL Ext Spk", NULL), ++ SND_SOC_DAPM_SPK("WR Ext Spk", NULL), ++ SND_SOC_DAPM_HP("Headphone Jack", NULL), ++ SND_SOC_DAPM_MIC("Headset Mic", NULL), ++ SND_SOC_DAPM_MIC("SoC DMIC", NULL), ++}; ++ ++static const struct snd_soc_dapm_route cml_rt1011_rt5682_map[] = { ++ /*speaker*/ ++ {"TL Ext Spk", NULL, "TL SPO"}, ++ {"TR Ext Spk", NULL, "TR SPO"}, ++ {"WL Ext Spk", NULL, "WL SPO"}, ++ {"WR Ext Spk", NULL, "WR SPO"}, ++ ++ /* HP jack connectors - unknown if we have jack detection */ ++ { "Headphone Jack", NULL, "HPOL" }, ++ { "Headphone Jack", NULL, "HPOR" }, ++ ++ /* other jacks */ ++ { "IN1P", NULL, "Headset Mic" }, ++ ++ /* DMIC */ ++ {"DMic", NULL, "SoC DMIC"}, ++}; ++ ++static int cml_rt5682_codec_init(struct snd_soc_pcm_runtime *rtd) ++{ ++ struct card_private *ctx = snd_soc_card_get_drvdata(rtd->card); ++ struct snd_soc_component *component = rtd->codec_dai->component; ++ struct snd_soc_jack *jack; ++ int ret; ++ ++ /* need to enable ASRC function for 24MHz mclk rate */ ++ rt5682_sel_asrc_clk_src(component, RT5682_DA_STEREO1_FILTER | ++ RT5682_AD_STEREO1_FILTER, ++ RT5682_CLK_SEL_I2S1_ASRC); ++ ++ /* ++ * Headset buttons map to the google Reference headset. ++ * These can be configured by userspace. ++ */ ++ ret = snd_soc_card_jack_new(rtd->card, "Headset Jack", ++ SND_JACK_HEADSET | SND_JACK_BTN_0 | ++ SND_JACK_BTN_1 | SND_JACK_BTN_2 | ++ SND_JACK_BTN_3, ++ &ctx->headset, NULL, 0); ++ if (ret) { ++ dev_err(rtd->dev, "Headset Jack creation failed: %d\n", ret); ++ return ret; ++ } ++ ++ jack = &ctx->headset; ++ ++ snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); ++ snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); ++ snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); ++ snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); ++ ret = snd_soc_component_set_jack(component, jack, NULL); ++ if (ret) ++ dev_err(rtd->dev, "Headset Jack call-back failed: %d\n", ret); ++ ++ return ret; ++}; ++ ++static int cml_rt5682_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_dai *codec_dai = rtd->codec_dai; ++ int clk_id, clk_freq, pll_out, ret; ++ ++ clk_id = RT5682_PLL1_S_MCLK; ++ clk_freq = CML_PLAT_CLK; ++ ++ pll_out = params_rate(params) * 512; ++ ++ ret = snd_soc_dai_set_pll(codec_dai, 0, clk_id, clk_freq, pll_out); ++ if (ret < 0) ++ dev_warn(rtd->dev, "snd_soc_dai_set_pll err = %d\n", ret); ++ ++ /* Configure sysclk for codec */ ++ ret = snd_soc_dai_set_sysclk(codec_dai, RT5682_SCLK_S_PLL1, ++ pll_out, SND_SOC_CLOCK_IN); ++ if (ret < 0) ++ dev_warn(rtd->dev, "snd_soc_dai_set_sysclk err = %d\n", ret); ++ ++ /* ++ * slot_width should be equal or large than data length, set them ++ * be the same ++ */ ++ ret = snd_soc_dai_set_tdm_slot(codec_dai, 0x0, 0x0, 2, ++ params_width(params)); ++ if (ret < 0) ++ dev_warn(rtd->dev, "set TDM slot err:%d\n", ret); ++ return ret; ++} ++ ++static int cml_rt1011_hw_params(struct snd_pcm_substream *substream, ++ struct snd_pcm_hw_params *params) ++{ ++ struct snd_soc_pcm_runtime *rtd = substream->private_data; ++ struct snd_soc_dai *codec_dai; ++ struct snd_soc_card *card = rtd->card; ++ int srate, i, ret = 0; ++ ++ srate = params_rate(params); ++ ++ for (i = 0; i < rtd->num_codecs; i++) { ++ codec_dai = rtd->codec_dais[i]; ++ ++ /* 100 Fs to drive 24 bit data */ ++ ret = snd_soc_dai_set_pll(codec_dai, 0, RT1011_PLL1_S_BCLK, ++ 100 * srate, 256 * srate); ++ if (ret < 0) { ++ dev_err(card->dev, "codec_dai clock not set\n"); ++ return ret; ++ } ++ ++ ret = snd_soc_dai_set_sysclk(codec_dai, ++ RT1011_FS_SYS_PRE_S_PLL1, ++ 256 * srate, SND_SOC_CLOCK_IN); ++ if (ret < 0) { ++ dev_err(card->dev, "codec_dai clock not set\n"); ++ return ret; ++ } ++ ++ /* ++ * Codec TDM is configured as 24 bit capture/ playback. ++ * 2 CH PB is done over 4 codecs - 2 Woofers and 2 Tweeters. ++ * The Left woofer and tweeter plays the Left playback data ++ * and similar by the Right. ++ * Hence 2 codecs (1 T and 1 W pair) share same Rx slot. ++ * The feedback is captured for each codec individually. ++ * Hence all 4 codecs use 1 Tx slot each for feedback. ++ */ ++ if (!strcmp(codec_dai->component->name, "i2c-10EC1011:00")) { ++ ret = snd_soc_dai_set_tdm_slot(codec_dai, ++ 0x4, 0x1, 4, 24); ++ if (ret < 0) ++ break; ++ } ++ if (!strcmp(codec_dai->component->name, "i2c-10EC1011:02")) { ++ ret = snd_soc_dai_set_tdm_slot(codec_dai, ++ 0x1, 0x1, 4, 24); ++ if (ret < 0) ++ break; ++ } ++ /* TDM Rx slot 2 is used for Right Woofer & Tweeters pair */ ++ if (!strcmp(codec_dai->component->name, "i2c-10EC1011:01")) { ++ ret = snd_soc_dai_set_tdm_slot(codec_dai, ++ 0x8, 0x2, 4, 24); ++ if (ret < 0) ++ break; ++ } ++ if (!strcmp(codec_dai->component->name, "i2c-10EC1011:03")) { ++ ret = snd_soc_dai_set_tdm_slot(codec_dai, ++ 0x2, 0x2, 4, 24); ++ if (ret < 0) ++ break; ++ } ++ } ++ if (ret < 0) ++ dev_err(rtd->dev, ++ "set codec TDM slot for %s failed with error %d\n", ++ codec_dai->component->name, ret); ++ return ret; ++} ++ ++static struct snd_soc_ops cml_rt5682_ops = { ++ .hw_params = cml_rt5682_hw_params, ++}; ++ ++static const struct snd_soc_ops cml_rt1011_ops = { ++ .hw_params = cml_rt1011_hw_params, ++}; ++ ++static int sof_card_late_probe(struct snd_soc_card *card) ++{ ++ struct card_private *ctx = snd_soc_card_get_drvdata(card); ++ struct snd_soc_component *component = NULL; ++ char jack_name[NAME_SIZE]; ++ struct hdmi_pcm *pcm; ++ int ret, i = 0; ++ ++ pcm = list_first_entry(&ctx->hdmi_pcm_list, struct hdmi_pcm, ++ head); ++ component = pcm->codec_dai->component; ++ ++ if (ctx->common_hdmi_codec_drv) ++ return hda_dsp_hdmi_build_controls(card, component); ++ ++ list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) { ++ component = pcm->codec_dai->component; ++ snprintf(jack_name, sizeof(jack_name), ++ "HDMI/DP, pcm=%d Jack", pcm->device); ++ ret = snd_soc_card_jack_new(card, jack_name, ++ SND_JACK_AVOUT, &hdmi_jack[i], ++ NULL, 0); ++ if (ret) ++ return ret; ++ ++ ret = hdac_hdmi_jack_init(pcm->codec_dai, pcm->device, ++ &hdmi_jack[i]); ++ if (ret < 0) ++ return ret; ++ ++ i++; ++ } ++ if (!component) ++ return -EINVAL; ++ ++ return hdac_hdmi_jack_port_init(component, &card->dapm); ++} ++ ++static int hdmi_init(struct snd_soc_pcm_runtime *rtd) ++{ ++ struct card_private *ctx = snd_soc_card_get_drvdata(rtd->card); ++ struct snd_soc_dai *dai = rtd->codec_dai; ++ struct hdmi_pcm *pcm; ++ ++ pcm = devm_kzalloc(rtd->card->dev, sizeof(*pcm), GFP_KERNEL); ++ if (!pcm) ++ return -ENOMEM; ++ ++ pcm->device = dai->id; ++ pcm->codec_dai = dai; ++ ++ list_add_tail(&pcm->head, &ctx->hdmi_pcm_list); ++ ++ return 0; ++} ++ ++/* Cometlake digital audio interface glue - connects codec <--> CPU */ ++ ++SND_SOC_DAILINK_DEF(ssp0_pin, ++ DAILINK_COMP_ARRAY(COMP_CPU("SSP0 Pin"))); ++SND_SOC_DAILINK_DEF(ssp0_codec, ++ DAILINK_COMP_ARRAY(COMP_CODEC("i2c-10EC5682:00", ++ CML_RT5682_CODEC_DAI))); ++ ++SND_SOC_DAILINK_DEF(ssp1_pin, ++ DAILINK_COMP_ARRAY(COMP_CPU("SSP1 Pin"))); ++SND_SOC_DAILINK_DEF(ssp1_codec, ++ DAILINK_COMP_ARRAY( ++ /* WL */ COMP_CODEC("i2c-10EC1011:00", CML_RT1011_CODEC_DAI), ++ /* WR */ COMP_CODEC("i2c-10EC1011:01", CML_RT1011_CODEC_DAI), ++ /* TL */ COMP_CODEC("i2c-10EC1011:02", CML_RT1011_CODEC_DAI), ++ /* TR */ COMP_CODEC("i2c-10EC1011:03", CML_RT1011_CODEC_DAI))); ++ ++SND_SOC_DAILINK_DEF(dmic_pin, ++ DAILINK_COMP_ARRAY(COMP_CPU("DMIC01 Pin"))); ++ ++SND_SOC_DAILINK_DEF(dmic16k_pin, ++ DAILINK_COMP_ARRAY(COMP_CPU("DMIC16k Pin"))); ++ ++SND_SOC_DAILINK_DEF(dmic_codec, ++ DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec", "dmic-hifi"))); ++ ++SND_SOC_DAILINK_DEF(idisp1_pin, ++ DAILINK_COMP_ARRAY(COMP_CPU("iDisp1 Pin"))); ++SND_SOC_DAILINK_DEF(idisp1_codec, ++ DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi1"))); ++ ++SND_SOC_DAILINK_DEF(idisp2_pin, ++ DAILINK_COMP_ARRAY(COMP_CPU("iDisp2 Pin"))); ++SND_SOC_DAILINK_DEF(idisp2_codec, ++ DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi2"))); ++ ++SND_SOC_DAILINK_DEF(idisp3_pin, ++ DAILINK_COMP_ARRAY(COMP_CPU("iDisp3 Pin"))); ++SND_SOC_DAILINK_DEF(idisp3_codec, ++ DAILINK_COMP_ARRAY(COMP_CODEC("ehdaudio0D2", "intel-hdmi-hifi3"))); ++ ++SND_SOC_DAILINK_DEF(platform, ++ DAILINK_COMP_ARRAY(COMP_PLATFORM("0000:00:1f.3"))); ++ ++static struct snd_soc_dai_link cml_rt1011_rt5682_dailink[] = { ++ /* Back End DAI links */ ++ { ++ /* SSP0 - Codec */ ++ .name = "SSP0-Codec", ++ .id = 0, ++ .init = cml_rt5682_codec_init, ++ .ignore_pmdown_time = 1, ++ .ops = &cml_rt5682_ops, ++ .dpcm_playback = 1, ++ .dpcm_capture = 1, ++ .no_pcm = 1, ++ SND_SOC_DAILINK_REG(ssp0_pin, ssp0_codec, platform), ++ }, ++ { ++ .name = "dmic01", ++ .id = 1, ++ .ignore_suspend = 1, ++ .dpcm_capture = 1, ++ .no_pcm = 1, ++ SND_SOC_DAILINK_REG(dmic_pin, dmic_codec, platform), ++ }, ++ { ++ .name = "dmic16k", ++ .id = 2, ++ .ignore_suspend = 1, ++ .dpcm_capture = 1, ++ .no_pcm = 1, ++ SND_SOC_DAILINK_REG(dmic16k_pin, dmic_codec, platform), ++ }, ++ { ++ .name = "iDisp1", ++ .id = 3, ++ .init = hdmi_init, ++ .dpcm_playback = 1, ++ .no_pcm = 1, ++ SND_SOC_DAILINK_REG(idisp1_pin, idisp1_codec, platform), ++ }, ++ { ++ .name = "iDisp2", ++ .id = 4, ++ .init = hdmi_init, ++ .dpcm_playback = 1, ++ .no_pcm = 1, ++ SND_SOC_DAILINK_REG(idisp2_pin, idisp2_codec, platform), ++ }, ++ { ++ .name = "iDisp3", ++ .id = 5, ++ .init = hdmi_init, ++ .dpcm_playback = 1, ++ .no_pcm = 1, ++ SND_SOC_DAILINK_REG(idisp3_pin, idisp3_codec, platform), ++ }, ++ { ++ /* ++ * SSP1 - Codec : added to end of list ensuring ++ * reuse of common topologies for other end points ++ * and changing only SSP1's codec ++ */ ++ .name = "SSP1-Codec", ++ .id = 6, ++ .dpcm_playback = 1, ++ .dpcm_capture = 1, /* Capture stream provides Feedback */ ++ .no_pcm = 1, ++ .ops = &cml_rt1011_ops, ++ SND_SOC_DAILINK_REG(ssp1_pin, ssp1_codec, platform), ++ }, ++}; ++ ++static struct snd_soc_codec_conf rt1011_conf[] = { ++ { ++ .dev_name = "i2c-10EC1011:00", ++ .name_prefix = "WL", ++ }, ++ { ++ .dev_name = "i2c-10EC1011:01", ++ .name_prefix = "WR", ++ }, ++ { ++ .dev_name = "i2c-10EC1011:02", ++ .name_prefix = "TL", ++ }, ++ { ++ .dev_name = "i2c-10EC1011:03", ++ .name_prefix = "TR", ++ }, ++}; ++ ++/* Cometlake audio machine driver for RT1011 and RT5682 */ ++static struct snd_soc_card snd_soc_card_cml = { ++ .name = "cml_rt1011_rt5682", ++ .dai_link = cml_rt1011_rt5682_dailink, ++ .num_links = ARRAY_SIZE(cml_rt1011_rt5682_dailink), ++ .codec_conf = rt1011_conf, ++ .num_configs = ARRAY_SIZE(rt1011_conf), ++ .dapm_widgets = cml_rt1011_rt5682_widgets, ++ .num_dapm_widgets = ARRAY_SIZE(cml_rt1011_rt5682_widgets), ++ .dapm_routes = cml_rt1011_rt5682_map, ++ .num_dapm_routes = ARRAY_SIZE(cml_rt1011_rt5682_map), ++ .controls = cml_controls, ++ .num_controls = ARRAY_SIZE(cml_controls), ++ .fully_routed = true, ++ .late_probe = sof_card_late_probe, ++}; ++ ++static int snd_cml_rt1011_probe(struct platform_device *pdev) ++{ ++ struct card_private *ctx; ++ struct snd_soc_acpi_mach *mach; ++ const char *platform_name; ++ int ret; ++ ++ ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_ATOMIC); ++ if (!ctx) ++ return -ENOMEM; ++ ++ INIT_LIST_HEAD(&ctx->hdmi_pcm_list); ++ mach = (&pdev->dev)->platform_data; ++ snd_soc_card_cml.dev = &pdev->dev; ++ platform_name = mach->mach_params.platform; ++ ++ /* set platform name for each dailink */ ++ ret = snd_soc_fixup_dai_links_platform_name(&snd_soc_card_cml, ++ platform_name); ++ if (ret) ++ return ret; ++ ++ ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv; ++ ++ snd_soc_card_set_drvdata(&snd_soc_card_cml, ctx); ++ ++ return devm_snd_soc_register_card(&pdev->dev, &snd_soc_card_cml); ++} ++ ++static struct platform_driver snd_cml_rt1011_rt5682_driver = { ++ .probe = snd_cml_rt1011_probe, ++ .driver = { ++ .name = "cml_rt1011_rt5682", ++ .pm = &snd_soc_pm_ops, ++ }, ++}; ++module_platform_driver(snd_cml_rt1011_rt5682_driver); ++ ++/* Module information */ ++MODULE_DESCRIPTION("Cometlake Audio Machine driver - RT1011 and RT5682 in I2S mode"); ++MODULE_AUTHOR("Naveen Manohar <naveen.m@intel.com>"); ++MODULE_AUTHOR("Sathya Prakash M R <sathya.prakash.m.r@intel.com>"); ++MODULE_AUTHOR("Shuming Fan <shumingf@realtek.com>"); ++MODULE_LICENSE("GPL v2"); ++MODULE_ALIAS("platform:cml_rt1011_rt5682"); +-- +2.20.1 + + +From 0ce85d8a56990759d10305784278be01bb32633b Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:37 -0500 +Subject: [PATCH 064/130] ASoC: Intel: add mutual exclusion between SOF and + legacy Baytrail driver + +This legacy driver is already deprecated, let's make sure there is no +conflict with SOF. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 280393b712b7e338addc2f7f60b4e4da787ba19b) +Bugzilla: 1772498 +--- + sound/soc/intel/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig +index 7e9feca333b7..d6c5c68b7499 100644 +--- a/sound/soc/intel/Kconfig ++++ b/sound/soc/intel/Kconfig +@@ -65,7 +65,7 @@ config SND_SOC_INTEL_HASWELL + + config SND_SOC_INTEL_BAYTRAIL + tristate "Baytrail (legacy) Platforms" +- depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n ++ depends on DMADEVICES && ACPI && SND_SST_ATOM_HIFI2_PLATFORM=n && SND_SOC_SOF_BAYTRAIL=n + select SND_SOC_INTEL_SST + select SND_SOC_INTEL_SST_ACPI + select SND_SOC_INTEL_SST_FIRMWARE +-- +2.20.1 + + +From 5626167a66bddb85e0a33735c85dfb45781f4bce Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:41 -0500 +Subject: [PATCH 065/130] ASoC: Intel: Skylake: mark HDAudio codec support as + deprecated. + +This option famously broke audio on Linus' laptop and the problem have +not been fixed. + +Mark as DEPRECATED to avoid any ambiguity with distros. + +Use SOF if you need HDaudio support w/ the DSP enabled, e.g. for DMIC +capture. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-8-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 02701b909c2fab4b49f9c9545ab921c9b2c7a768) +Bugzilla: 1772498 +--- + sound/soc/intel/Kconfig | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/intel/Kconfig b/sound/soc/intel/Kconfig +index d6c5c68b7499..c8de0bb5bed9 100644 +--- a/sound/soc/intel/Kconfig ++++ b/sound/soc/intel/Kconfig +@@ -209,9 +209,12 @@ config SND_SOC_INTEL_SKYLAKE_SSP_CLK + config SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC + bool "HDAudio codec support" + help +- If you have a Intel Skylake/Broxton/ApolloLake/KabyLake/ +- GeminiLake or CannonLake platform with an HDaudio codec +- then enable this option by saying Y ++ This option broke audio on Linus' Skylake laptop in December 2018 ++ and the race conditions during the probe were not fixed since. ++ This option is DEPRECATED, all HDaudio codec support needs ++ to be handled by the SOF driver. ++ Distributions should not enable this option and there are no known ++ users of this capability. + + config SND_SOC_INTEL_SKYLAKE_COMMON + tristate +-- +2.20.1 + + +From 61e12eb73831fdc01c8b251a41ba4851a57c0370 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:42 -0500 +Subject: [PATCH 066/130] ASoC: Intel: boards: remove select SND_HDA_DSP_LOADER + +This option is only required with the Skylake platform driver, there +is no reason to have this option in machine drivers. This is +e.g. useless for SOF-based solutions. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-9-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 9e7301762f6df44bb4a452b6aecbe0f322b370ee) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Kconfig | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index ef40f83e0a3b..91952ffc0b67 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -270,7 +270,6 @@ config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH + depends on I2C && ACPI + depends on MFD_INTEL_LPSS || COMPILE_TEST + select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC +- select SND_HDA_DSP_LOADER + help + This adds support for ASoC machine driver for Broxton-P platforms + with DA7219 + MAX98357A I2S audio codec. +@@ -284,7 +283,6 @@ config SND_SOC_INTEL_BXT_RT298_MACH + select SND_SOC_RT298 + select SND_SOC_DMIC + select SND_SOC_HDAC_HDMI +- select SND_HDA_DSP_LOADER + help + This adds support for ASoC machine driver for Broxton platforms + with RT286 I2S audio codec. +@@ -375,7 +373,6 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH + select SND_SOC_MAX98357A + select SND_SOC_DMIC + select SND_SOC_HDAC_HDMI +- select SND_HDA_DSP_LOADER + help + This adds support for ASoC machine driver for Geminilake platforms + with RT5682 + MAX98357A I2S audio codec. +-- +2.20.1 + + +From 299b13ab242eba943e1d2b54ac43e7148470d435 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:43 -0500 +Subject: [PATCH 067/130] ASoC: Intel: boards: fix configs for + bxt-da7219-max98057a + +The same driver is reused for 3 different configurations, but the +driver will only be build if ApolloLake is selected. + +Fix and make sure each device can work without dependencies on others +(useful for minimal configurations). + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-10-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit c4a09f9a523e674ef9a046e05d99c90f2c9513b1) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Kconfig | 24 ++++++++++++++++++++++-- + sound/soc/intel/boards/Makefile | 2 +- + 2 files changed, 23 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index 91952ffc0b67..826694ecfdbf 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -263,13 +263,17 @@ config SND_SOC_INTEL_DA7219_MAX98357A_GENERIC + select SND_SOC_DMIC + select SND_SOC_HDAC_HDMI + ++config SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON ++ tristate ++ select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC ++ + if SND_SOC_INTEL_APL + + config SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH + tristate "Broxton with DA7219 and MAX98357A in I2S Mode" + depends on I2C && ACPI + depends on MFD_INTEL_LPSS || COMPILE_TEST +- select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC ++ select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON + help + This adds support for ASoC machine driver for Broxton-P platforms + with DA7219 + MAX98357A I2S audio codec. +@@ -365,6 +369,17 @@ endif ## SND_SOC_INTEL_KBL + + if SND_SOC_INTEL_GLK || (SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK) + ++config SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH ++ tristate "GLK with DA7219 and MAX98357A in I2S Mode" ++ depends on I2C && ACPI ++ depends on MFD_INTEL_LPSS || COMPILE_TEST ++ select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON ++ help ++ This adds support for ASoC machine driver for Geminilake platforms ++ with DA7219 + MAX98357A I2S audio codec. ++ Say Y or m if you have such a device. This is a recommended option. ++ If unsure select "N". ++ + config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH + tristate "GLK with RT5682 and MAX98357A in I2S Mode" + depends on I2C && ACPI +@@ -418,7 +433,12 @@ config SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH + tristate "CML_LP with DA7219 and MAX98357A in I2S Mode" + depends on I2C && ACPI + depends on MFD_INTEL_LPSS || COMPILE_TEST +- select SND_SOC_INTEL_DA7219_MAX98357A_GENERIC ++ select SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON ++ help ++ This adds support for ASoC machine driver for Cometlake platforms ++ with DA7219 + MAX98357A I2S audio codec. ++ Say Y or m if you have such a device. This is a recommended option. ++ If unsure select "N". + + config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH + tristate "CML with RT1011 and RT5682 in I2S Mode" +diff --git a/sound/soc/intel/boards/Makefile b/sound/soc/intel/boards/Makefile +index 9ae6544c6f3b..ba1aa89db09d 100644 +--- a/sound/soc/intel/boards/Makefile ++++ b/sound/soc/intel/boards/Makefile +@@ -33,7 +33,7 @@ obj-$(CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH) += snd-soc-sof_rt5682.o + obj-$(CONFIG_SND_SOC_INTEL_HASWELL_MACH) += snd-soc-sst-haswell.o + obj-$(CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH) += snd-soc-sst-byt-rt5640-mach.o + obj-$(CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH) += snd-soc-sst-byt-max98090-mach.o +-obj-$(CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH) += snd-soc-sst-bxt-da7219_max98357a.o ++obj-$(CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON) += snd-soc-sst-bxt-da7219_max98357a.o + obj-$(CONFIG_SND_SOC_INTEL_BXT_RT298_MACH) += snd-soc-sst-bxt-rt298.o + obj-$(CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH) += snd-soc-sst-glk-rt5682_max98357a.o + obj-$(CONFIG_SND_SOC_INTEL_BROADWELL_MACH) += snd-soc-sst-broadwell.o +-- +2.20.1 + + +From 39c98691a7108dbaeb9bab734553207553111ca5 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:44 -0500 +Subject: [PATCH 068/130] ASoC: Intel: boards: Geminilake is only supported by + SOF + +Geminilake machine drivers are only tested and recommended with SOF. + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-11-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 3315e5b40f59d1aab6543773d99b1f19c3ea1848) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Kconfig | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index 826694ecfdbf..76d1e6ab30b5 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -367,7 +367,7 @@ config SND_SOC_INTEL_KBL_RT5660_MACH + + endif ## SND_SOC_INTEL_KBL + +-if SND_SOC_INTEL_GLK || (SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK) ++if SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK + + config SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH + tristate "GLK with DA7219 and MAX98357A in I2S Mode" +@@ -394,7 +394,7 @@ config SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH + Say Y if you have such a device. + If unsure select "N". + +-endif ## SND_SOC_INTEL_GLK || (SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK) ++endif ## SND_SOC_SOF_GEMINILAKE && SND_SOC_SOF_HDA_LINK + + if SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC + +-- +2.20.1 + + +From 7b646af780bfa2e42b8e89856172469a540e7186 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Fri, 1 Nov 2019 12:30:45 -0500 +Subject: [PATCH 069/130] ASoC: Intel: boards: sof_rt5682: use dependency on + SOF_HDA_LINK + +The wrong dependency is used and the build can be broken + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101173045.27099-12-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 8039105987fcd8dda39074df013cfdf0025dd297) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Kconfig | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index 76d1e6ab30b5..2702aefee775 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -411,11 +411,11 @@ config SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH + + endif ## SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC || SND_SOC_SOF_HDA_AUDIO_CODEC + +-if SND_SOC_SOF_HDA_COMMON || SND_SOC_SOF_BAYTRAIL ++if SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL + config SND_SOC_INTEL_SOF_RT5682_MACH + tristate "SOF with rt5682 codec in I2S Mode" + depends on I2C && ACPI +- depends on (SND_SOC_SOF_HDA_COMMON && (MFD_INTEL_LPSS || COMPILE_TEST)) ||\ ++ depends on (SND_SOC_SOF_HDA_LINK && (MFD_INTEL_LPSS || COMPILE_TEST)) ||\ + (SND_SOC_SOF_BAYTRAIL && (X86_INTEL_LPSS || COMPILE_TEST)) + select SND_SOC_RT5682 + select SND_SOC_DMIC +@@ -425,7 +425,7 @@ config SND_SOC_INTEL_SOF_RT5682_MACH + with rt5682 codec. + Say Y if you have such a device. + If unsure select "N". +-endif ## SND_SOC_SOF_HDA_COMMON || SND_SOC_SOF_BAYTRAIL ++endif ## SND_SOC_SOF_HDA_LINK || SND_SOC_SOF_BAYTRAIL + + if (SND_SOC_SOF_COMETLAKE_LP && SND_SOC_SOF_HDA_LINK) + +-- +2.20.1 + + +From 02f03f3b08ed85cb5c0b1c270eb91bc714721641 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Fri, 8 Nov 2019 10:46:37 +0100 +Subject: [PATCH 070/130] ASoC: intel: Avoid non-standard macro usage + +Pass the device pointer from the PCI pointer directly, instead of a +non-standard macro. The macro didn't give any better readability. + +Acked-by: Mark Brown <broonie@kernel.org> +Link: https://lore.kernel.org/r/20191108094641.20086-5-tiwai@suse.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 6420c24a30006e2fdbc292f88d37db56ca28f6e8) +Bugzilla: 1772498 +--- + sound/soc/intel/skylake/skl-pcm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c +index 7f287424af9b..07bc047f077e 100644 +--- a/sound/soc/intel/skylake/skl-pcm.c ++++ b/sound/soc/intel/skylake/skl-pcm.c +@@ -1310,7 +1310,7 @@ static int skl_pcm_new(struct snd_soc_pcm_runtime *rtd) + size = MAX_PREALLOC_SIZE; + snd_pcm_lib_preallocate_pages_for_all(pcm, + SNDRV_DMA_TYPE_DEV_SG, +- snd_dma_pci_data(skl->pci), ++ &skl->pci->dev, + size, MAX_PREALLOC_SIZE); + } + +-- +2.20.1 + + +From 3541bd9bf269e2df13150125f7e417632967e292 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:09 -0500 +Subject: [PATCH 071/130] ASoC: SOF: ipc: introduce message for DSP power + gating + +Add new ipc messages which will be sent from driver to FW, to ask FW to +enter specific power saving state. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-14-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 10992004e1e960c7e256ec70c7ab22895a7003d7) +Bugzilla: 1772498 +--- + include/sound/sof/header.h | 1 + + include/sound/sof/pm.h | 8 ++++++++ + 2 files changed, 9 insertions(+) + +diff --git a/include/sound/sof/header.h b/include/sound/sof/header.h +index 332143ff7278..bf3edd9c08b4 100644 +--- a/include/sound/sof/header.h ++++ b/include/sound/sof/header.h +@@ -75,6 +75,7 @@ + #define SOF_IPC_PM_CLK_GET SOF_CMD_TYPE(0x005) + #define SOF_IPC_PM_CLK_REQ SOF_CMD_TYPE(0x006) + #define SOF_IPC_PM_CORE_ENABLE SOF_CMD_TYPE(0x007) ++#define SOF_IPC_PM_GATE SOF_CMD_TYPE(0x008) + + /* component runtime config - multiple different types */ + #define SOF_IPC_COMP_SET_VALUE SOF_CMD_TYPE(0x001) +diff --git a/include/sound/sof/pm.h b/include/sound/sof/pm.h +index 003879401d63..3cf2e0f39d94 100644 +--- a/include/sound/sof/pm.h ++++ b/include/sound/sof/pm.h +@@ -45,4 +45,12 @@ struct sof_ipc_pm_core_config { + uint32_t enable_mask; + } __packed; + ++struct sof_ipc_pm_gate { ++ struct sof_ipc_cmd_hdr hdr; ++ uint32_t flags; /* platform specific */ ++ ++ /* reserved for future use */ ++ uint32_t reserved[5]; ++} __packed; ++ + #endif +-- +2.20.1 + + +From 145c89d929bcdf53b50c6528997bfc2595883513 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:40:57 -0500 +Subject: [PATCH 072/130] ASoC: SOF: add a field to store the current D0 + substate of DSP + +Add field d0_substate to struct snd_sof_dev to store the current DSP +D0 sub-state(only meaningful when DSP in D0), which could be D0I0 or +D0I3. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 4c19030c511fd6eab029bae838f736256d2f43cd) +Bugzilla: 1772498 +--- + sound/soc/sof/sof-priv.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 2d40de5ee285..481dfe4ee2d0 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -68,6 +68,12 @@ extern int sof_core_debug; + + #define DMA_CHAN_INVALID 0xFFFFFFFF + ++/* DSP D0ix sub-state */ ++enum sof_d0_substate { ++ SOF_DSP_D0I0 = 0, /* DSP default D0 substate */ ++ SOF_DSP_D0I3, /* DSP D0i3(low power) substate*/ ++}; ++ + struct snd_sof_dev; + struct snd_sof_ipc_msg; + struct snd_sof_ipc; +@@ -387,6 +393,9 @@ struct snd_sof_dev { + */ + struct snd_soc_component_driver plat_drv; + ++ /* power states related */ ++ enum sof_d0_substate d0_substate; ++ + /* DSP firmware boot */ + wait_queue_head_t boot_wait; + u32 boot_complete; +-- +2.20.1 + + +From b5d42bad1c65b0b71c7a1115a9d50f25a24c2351 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:40:58 -0500 +Subject: [PATCH 073/130] ASoC: SOF: reset default d0_substate at probe() and + resume() + +We initialize/reset d0_substate to default d0i0 value when doing +transition D3-->D0, e.g. at success of probing and resuming. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 09fe6b528886c0d07ce539b837749edcc46618d0) +Bugzilla: 1772498 +--- + sound/soc/sof/core.c | 3 +++ + sound/soc/sof/pm.c | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c +index 5998861a9002..8661c2cca76b 100644 +--- a/sound/soc/sof/core.c ++++ b/sound/soc/sof/core.c +@@ -458,6 +458,9 @@ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data) + /* initialize sof device */ + sdev->dev = dev; + ++ /* initialize default D0 sub-state */ ++ sdev->d0_substate = SOF_DSP_D0I0; ++ + sdev->pdata = plat_data; + sdev->first_boot = true; + dev_set_drvdata(dev, sdev); +diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c +index e23beaeefe00..81e623dfc7e5 100644 +--- a/sound/soc/sof/pm.c ++++ b/sound/soc/sof/pm.c +@@ -326,6 +326,9 @@ static int sof_resume(struct device *dev, bool runtime_resume) + "error: ctx_restore ipc error during resume %d\n", + ret); + ++ /* initialize default D0 sub-state */ ++ sdev->d0_substate = SOF_DSP_D0I0; ++ + return ret; + } + +-- +2.20.1 + + +From 3cf1bbbb4506efc80e8066c4d40e92264f26eec7 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:40:59 -0500 +Subject: [PATCH 074/130] ASoC: SOF: add set_power_state() to dsp_ops for power + state update + +D0i3 is a platform-defined substate of D0, so we need a +platform-specific callback in dsp_ops to handle the relevant +configurations. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit e8f112d8c29f44ded83f97828c104bf0904871ec) +Bugzilla: 1772498 +--- + sound/soc/sof/ops.h | 9 +++++++++ + sound/soc/sof/sof-priv.h | 2 ++ + 2 files changed, 11 insertions(+) + +diff --git a/sound/soc/sof/ops.h b/sound/soc/sof/ops.h +index 824d36fe59fd..d7c8fc06f961 100644 +--- a/sound/soc/sof/ops.h ++++ b/sound/soc/sof/ops.h +@@ -193,6 +193,15 @@ static inline int snd_sof_dsp_set_clk(struct snd_sof_dev *sdev, u32 freq) + return 0; + } + ++static inline int snd_sof_dsp_set_power_state(struct snd_sof_dev *sdev, ++ enum sof_d0_substate substate) ++{ ++ if (sof_ops(sdev)->set_power_state) ++ return sof_ops(sdev)->set_power_state(sdev, substate); ++ ++ return 0; ++} ++ + /* debug */ + static inline void snd_sof_dsp_dbg_dump(struct snd_sof_dev *sdev, u32 flags) + { +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 481dfe4ee2d0..e9902e4e8e55 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -189,6 +189,8 @@ struct snd_sof_dsp_ops { + int (*runtime_resume)(struct snd_sof_dev *sof_dev); /* optional */ + int (*runtime_idle)(struct snd_sof_dev *sof_dev); /* optional */ + int (*set_hw_params_upon_resume)(struct snd_sof_dev *sdev); /* optional */ ++ int (*set_power_state)(struct snd_sof_dev *sdev, ++ enum sof_d0_substate d0_substate); /* optional */ + + /* DSP clocking */ + int (*set_clk)(struct snd_sof_dev *sof_dev, u32 freq); /* optional */ +-- +2.20.1 + + +From 00b28b09cc4fb52852651219ac1369041484770d Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:00 -0500 +Subject: [PATCH 075/130] ASoC: SOF: Intel: hda-dsp: Add helper for setting DSP + D0ix substate + +Adding helper to implement setting dsp to d0i3 or d0i0 status, this will +be needed for driver D0ix support. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-5-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 62f8f76604623980d41cf73691ca45288871efd9) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-dsp.c | 46 +++++++++++++++++++++++++++++++++++ + sound/soc/sof/intel/hda.h | 10 ++++++++ + 2 files changed, 56 insertions(+) + +diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c +index 3ea401646e0c..fa2f1f66c72c 100644 +--- a/sound/soc/sof/intel/hda-dsp.c ++++ b/sound/soc/sof/intel/hda-dsp.c +@@ -306,6 +306,52 @@ void hda_dsp_ipc_int_disable(struct snd_sof_dev *sdev) + HDA_DSP_REG_HIPCCTL_BUSY | HDA_DSP_REG_HIPCCTL_DONE, 0); + } + ++static int hda_dsp_wait_d0i3c_done(struct snd_sof_dev *sdev, int retry) ++{ ++ struct hdac_bus *bus = sof_to_bus(sdev); ++ ++ while (snd_hdac_chip_readb(bus, VS_D0I3C) & SOF_HDA_VS_D0I3C_CIP) { ++ if (!retry--) ++ return -ETIMEDOUT; ++ usleep_range(10, 15); ++ } ++ ++ return 0; ++} ++ ++int hda_dsp_set_power_state(struct snd_sof_dev *sdev, ++ enum sof_d0_substate d0_substate) ++{ ++ struct hdac_bus *bus = sof_to_bus(sdev); ++ int retry = 50; ++ int ret; ++ u8 value; ++ ++ /* Write to D0I3C after Command-In-Progress bit is cleared */ ++ ret = hda_dsp_wait_d0i3c_done(sdev, retry); ++ if (ret < 0) { ++ dev_err(bus->dev, "CIP timeout before update D0I3C!\n"); ++ return ret; ++ } ++ ++ /* Update D0I3C register */ ++ value = d0_substate == SOF_DSP_D0I3 ? SOF_HDA_VS_D0I3C_I3 : 0; ++ snd_hdac_chip_updateb(bus, VS_D0I3C, SOF_HDA_VS_D0I3C_I3, value); ++ ++ /* Wait for cmd in progress to be cleared before exiting the function */ ++ retry = 50; ++ ret = hda_dsp_wait_d0i3c_done(sdev, retry); ++ if (ret < 0) { ++ dev_err(bus->dev, "CIP timeout after D0I3C updated!\n"); ++ return ret; ++ } ++ ++ dev_vdbg(bus->dev, "D0I3C updated, register = 0x%x\n", ++ snd_hdac_chip_readb(bus, VS_D0I3C)); ++ ++ return 0; ++} ++ + static int hda_suspend(struct snd_sof_dev *sdev, bool runtime_suspend) + { + struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; +diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h +index d6ef657b8900..21b0e180017a 100644 +--- a/sound/soc/sof/intel/hda.h ++++ b/sound/soc/sof/intel/hda.h +@@ -64,6 +64,13 @@ + #define SOF_HDA_PPCTL_PIE BIT(31) + #define SOF_HDA_PPCTL_GPROCEN BIT(30) + ++/*Vendor Specific Registers*/ ++#define SOF_HDA_VS_D0I3C 0x104A ++ ++/* D0I3C Register fields */ ++#define SOF_HDA_VS_D0I3C_CIP BIT(0) /* Command-In-Progress */ ++#define SOF_HDA_VS_D0I3C_I3 BIT(2) /* D0i3 enable bit */ ++ + /* DPIB entry size: 8 Bytes = 2 DWords */ + #define SOF_HDA_DPIB_ENTRY_SIZE 0x8 + +@@ -455,6 +462,9 @@ int hda_dsp_core_reset_power_down(struct snd_sof_dev *sdev, + void hda_dsp_ipc_int_enable(struct snd_sof_dev *sdev); + void hda_dsp_ipc_int_disable(struct snd_sof_dev *sdev); + ++int hda_dsp_set_power_state(struct snd_sof_dev *sdev, ++ enum sof_d0_substate d0_substate); ++ + int hda_dsp_suspend(struct snd_sof_dev *sdev); + int hda_dsp_resume(struct snd_sof_dev *sdev); + int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev); +-- +2.20.1 + + +From d2b397a84c59634c88d3750db429f5be2e3a77ae Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:01 -0500 +Subject: [PATCH 076/130] ASoC: SOF: Intel: CNL: add set_power_state() ops + +Using hda_dsp_set_power_state() as set_power_state() ops for cnl to do +d0ix platform configuration updates. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-6-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 73b51957122dc47a40325a5359b44ef337cbf217) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/cnl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c +index e9cdcc040fb5..982b81a0b13a 100644 +--- a/sound/soc/sof/intel/cnl.c ++++ b/sound/soc/sof/intel/cnl.c +@@ -255,6 +255,7 @@ const struct snd_sof_dsp_ops sof_cnl_ops = { + .runtime_resume = hda_dsp_runtime_resume, + .runtime_idle = hda_dsp_runtime_idle, + .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume, ++ .set_power_state = hda_dsp_set_power_state, + + /* ALSA HW info flags */ + .hw_info = SNDRV_PCM_INFO_MMAP | +-- +2.20.1 + + +From 7cb0adf614bc8d756f22dddd17f9eda4d48d6ee7 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:02 -0500 +Subject: [PATCH 077/130] ASoC: SOF: Intel: APL: add set_power_state() ops + +Using hda_dsp_set_power_state() as set_power_state() ops for apl to do +d0ix platform configuration updates. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-7-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 35c930ba6025964ac71f041065ae212a0fcc7cca) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/apl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/sound/soc/sof/intel/apl.c b/sound/soc/sof/intel/apl.c +index 15d26e8d90a9..7daa8eb456c8 100644 +--- a/sound/soc/sof/intel/apl.c ++++ b/sound/soc/sof/intel/apl.c +@@ -97,6 +97,7 @@ const struct snd_sof_dsp_ops sof_apl_ops = { + .runtime_resume = hda_dsp_runtime_resume, + .runtime_idle = hda_dsp_runtime_idle, + .set_hw_params_upon_resume = hda_dsp_set_hw_params_upon_resume, ++ .set_power_state = hda_dsp_set_power_state, + + /* ALSA HW info flags */ + .hw_info = SNDRV_PCM_INFO_MMAP | +-- +2.20.1 + + +From e1f3cdb3b898b881acc9465773ff534a26f37cd9 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:03 -0500 +Subject: [PATCH 078/130] ASoC: SOF: add flag to snd_sof_pcm_stream for D0i3 + compatible stream + +Add flag d0i3_compatible to struct snd_sof_pcm_stream to denote if the +stream can tolerate a transition to the D0i3 substate while opened (thus +seen as 'active' by pm_runtime). + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-8-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit e5c97e88084b8dca6850eba5d2937716b88306c1) +Bugzilla: 1772498 +--- + sound/soc/sof/sof-priv.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index e9902e4e8e55..7a21a45d3635 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -310,6 +310,7 @@ struct snd_sof_pcm_stream { + struct sof_ipc_stream_posn posn; + struct snd_pcm_substream *substream; + struct work_struct period_elapsed_work; ++ bool d0i3_compatible; /* DSP can be in D0I3 when this pcm is opened */ + }; + + /* ALSA SOF PCM device */ +-- +2.20.1 + + +From 84bac6cfab76bb8e71b50054d9576aacb6e4c0d2 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:04 -0500 +Subject: [PATCH 079/130] ASoC: SOF: token: add tokens for PCM compatible with + D0i3 substate + +Add stream token SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 and +SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 to denote if the stream can be +opened at low power d0i3 status or not. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-9-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 4a94940988cc44adeb383401dea0beeac4abbe63) +Bugzilla: 1772498 +--- + include/uapi/sound/sof/tokens.h | 4 ++++ + sound/soc/sof/topology.c | 10 ++++++++++ + 2 files changed, 14 insertions(+) + +diff --git a/include/uapi/sound/sof/tokens.h b/include/uapi/sound/sof/tokens.h +index d65406f34361..76883e6fb750 100644 +--- a/include/uapi/sound/sof/tokens.h ++++ b/include/uapi/sound/sof/tokens.h +@@ -113,6 +113,10 @@ + /* ESAI */ + #define SOF_TKN_IMX_ESAI_MCLK_ID 1100 + ++/* Stream */ ++#define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200 ++#define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 1201 ++ + /* Led control for mute switches */ + #define SOF_TKN_MUTE_LED_USE 1300 + #define SOF_TKN_MUTE_LED_DIRECTION 1301 +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index 8032bb8a709c..c4bc23163497 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -735,6 +735,16 @@ static const struct sof_topology_token pcm_tokens[] = { + offsetof(struct sof_ipc_comp_host, dmac_config), 0}, + }; + ++/* PCM */ ++static const struct sof_topology_token stream_tokens[] = { ++ {SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3, ++ SND_SOC_TPLG_TUPLE_TYPE_BOOL, get_token_u16, ++ offsetof(struct snd_sof_pcm, stream[0].d0i3_compatible), 0}, ++ {SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3, ++ SND_SOC_TPLG_TUPLE_TYPE_BOOL, get_token_u16, ++ offsetof(struct snd_sof_pcm, stream[1].d0i3_compatible), 0}, ++}; ++ + /* Generic components */ + static const struct sof_topology_token comp_tokens[] = { + {SOF_TKN_COMP_PERIOD_SINK_COUNT, +-- +2.20.1 + + +From 178524d176b58f1c218cf1ddf701cfa7fa7a9a04 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:05 -0500 +Subject: [PATCH 080/130] ASoC: SOF: topology: parse and store d0i3_compatible + flag + +Parses the token from tplg file and store it to snd_sof_pcm_stream +d0i3_compatible flag, which can be used later for d0ix transition +management. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-10-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit c5232c0171428f005a3204e1c264231fb5999b28) +Bugzilla: 1772498 +--- + sound/soc/sof/topology.c | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index c4bc23163497..9e3996125d03 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -2308,6 +2308,7 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index, + { + struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); + struct snd_soc_tplg_stream_caps *caps; ++ struct snd_soc_tplg_private *private = &pcm->priv; + struct snd_sof_pcm *spcm; + int stream = SNDRV_PCM_STREAM_PLAYBACK; + int ret = 0; +@@ -2330,10 +2331,22 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index, + dai_drv->dobj.private = spcm; + list_add(&spcm->list, &sdev->pcm_list); + ++ ret = sof_parse_tokens(scomp, spcm, stream_tokens, ++ ARRAY_SIZE(stream_tokens), private->array, ++ le32_to_cpu(private->size)); ++ if (ret) { ++ dev_err(sdev->dev, "error: parse stream tokens failed %d\n", ++ le32_to_cpu(private->size)); ++ return ret; ++ } ++ + /* do we need to allocate playback PCM DMA pages */ + if (!spcm->pcm.playback) + goto capture; + ++ dev_vdbg(sdev->dev, "tplg: pcm %s stream tokens: playback d0i3:%d\n", ++ spcm->pcm.pcm_name, spcm->stream[0].d0i3_compatible); ++ + caps = &spcm->pcm.caps[stream]; + + /* allocate playback page table buffer */ +@@ -2361,6 +2374,9 @@ static int sof_dai_load(struct snd_soc_component *scomp, int index, + if (!spcm->pcm.capture) + return ret; + ++ dev_vdbg(sdev->dev, "tplg: pcm %s stream tokens: capture d0i3:%d\n", ++ spcm->pcm.pcm_name, spcm->stream[1].d0i3_compatible); ++ + caps = &spcm->pcm.caps[stream]; + + /* allocate capture page table buffer */ +-- +2.20.1 + + +From 99f21fd84280a7fc9a6f33f8f82b757306db97e7 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:06 -0500 +Subject: [PATCH 081/130] ASoC: SOF: Intel: hda-dsp: align the comments for + D0I3C update + +Align the logs for CIP timeout at D0I3C.I3 updating. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-11-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit aae7c82d01219bf568a7b12f5839d7ca52b17d59) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-dsp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c +index fa2f1f66c72c..74805a066183 100644 +--- a/sound/soc/sof/intel/hda-dsp.c ++++ b/sound/soc/sof/intel/hda-dsp.c +@@ -330,7 +330,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev, + /* Write to D0I3C after Command-In-Progress bit is cleared */ + ret = hda_dsp_wait_d0i3c_done(sdev, retry); + if (ret < 0) { +- dev_err(bus->dev, "CIP timeout before update D0I3C!\n"); ++ dev_err(bus->dev, "CIP timeout before D0I3C update!\n"); + return ret; + } + +@@ -342,7 +342,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev, + retry = 50; + ret = hda_dsp_wait_d0i3c_done(sdev, retry); + if (ret < 0) { +- dev_err(bus->dev, "CIP timeout after D0I3C updated!\n"); ++ dev_err(bus->dev, "CIP timeout after D0I3C update!\n"); + return ret; + } + +-- +2.20.1 + + +From f672aa4a4452ca0d79a8f6b44c76c0139f6f99ec Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:07 -0500 +Subject: [PATCH 082/130] ASoC: SOF: Intel: HDA: use macro for register polling + retry count + +Define macro and use it for the register polling retry count. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-12-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 92f4beb718d76e93b76343a3ba872df6cb210672) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-dsp.c | 6 ++---- + sound/soc/sof/intel/hda.h | 1 + + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c +index 74805a066183..936361bd25e9 100644 +--- a/sound/soc/sof/intel/hda-dsp.c ++++ b/sound/soc/sof/intel/hda-dsp.c +@@ -323,12 +323,11 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev, + enum sof_d0_substate d0_substate) + { + struct hdac_bus *bus = sof_to_bus(sdev); +- int retry = 50; + int ret; + u8 value; + + /* Write to D0I3C after Command-In-Progress bit is cleared */ +- ret = hda_dsp_wait_d0i3c_done(sdev, retry); ++ ret = hda_dsp_wait_d0i3c_done(sdev, HDA_DSP_REG_POLL_RETRY_COUNT); + if (ret < 0) { + dev_err(bus->dev, "CIP timeout before D0I3C update!\n"); + return ret; +@@ -339,8 +338,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev, + snd_hdac_chip_updateb(bus, VS_D0I3C, SOF_HDA_VS_D0I3C_I3, value); + + /* Wait for cmd in progress to be cleared before exiting the function */ +- retry = 50; +- ret = hda_dsp_wait_d0i3c_done(sdev, retry); ++ ret = hda_dsp_wait_d0i3c_done(sdev, HDA_DSP_REG_POLL_RETRY_COUNT); + if (ret < 0) { + dev_err(bus->dev, "CIP timeout after D0I3C update!\n"); + return ret; +diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h +index 21b0e180017a..5a089efc0e4c 100644 +--- a/sound/soc/sof/intel/hda.h ++++ b/sound/soc/sof/intel/hda.h +@@ -214,6 +214,7 @@ + #define HDA_DSP_CTRL_RESET_TIMEOUT 100 + #define HDA_DSP_WAIT_TIMEOUT 500 /* 500 msec */ + #define HDA_DSP_REG_POLL_INTERVAL_US 500 /* 0.5 msec */ ++#define HDA_DSP_REG_POLL_RETRY_COUNT 50 + + #define HDA_DSP_ADSPIC_IPC 1 + #define HDA_DSP_ADSPIS_IPC 1 +-- +2.20.1 + + +From e21c6caf57e71006a145a73c117305e0fe2ea512 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:08 -0500 +Subject: [PATCH 083/130] ASoC: SOF: PM: rename sof_send_pm_ipc to + sof_send_pm_ctx_ipc + +The helper sof_send_pm_ipc() is only suitable for context save/restore +IPCs' sending, so rename it to sof_send_pm_ctx_ipc here. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-13-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 7c7eba2402c11137d1fa1d3fb964a2c6fc1ded3e) +Bugzilla: 1772498 +--- + sound/soc/sof/pm.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c +index 81e623dfc7e5..ac900fb3379e 100644 +--- a/sound/soc/sof/pm.c ++++ b/sound/soc/sof/pm.c +@@ -197,7 +197,7 @@ static int sof_restore_pipelines(struct snd_sof_dev *sdev) + return ret; + } + +-static int sof_send_pm_ipc(struct snd_sof_dev *sdev, int cmd) ++static int sof_send_pm_ctx_ipc(struct snd_sof_dev *sdev, int cmd) + { + struct sof_ipc_pm_ctx pm_ctx; + struct sof_ipc_reply reply; +@@ -320,7 +320,7 @@ static int sof_resume(struct device *dev, bool runtime_resume) + } + + /* notify DSP of system resume */ +- ret = sof_send_pm_ipc(sdev, SOF_IPC_PM_CTX_RESTORE); ++ ret = sof_send_pm_ctx_ipc(sdev, SOF_IPC_PM_CTX_RESTORE); + if (ret < 0) + dev_err(sdev->dev, + "error: ctx_restore ipc error during resume %d\n", +@@ -361,7 +361,7 @@ static int sof_suspend(struct device *dev, bool runtime_suspend) + sof_cache_debugfs(sdev); + #endif + /* notify DSP of upcoming power down */ +- ret = sof_send_pm_ipc(sdev, SOF_IPC_PM_CTX_SAVE); ++ ret = sof_send_pm_ctx_ipc(sdev, SOF_IPC_PM_CTX_SAVE); + if (ret == -EBUSY || ret == -EAGAIN) { + /* + * runtime PM has logic to handle -EBUSY/-EAGAIN so +-- +2.20.1 + + +From 0852a87eb392f8a9d735b60d3a151332da158519 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:10 -0500 +Subject: [PATCH 084/130] ASoC: SOF: Intel: hda-ipc: Don't read mailbox for + PM_GATE reply + +Memory windows could be powered off before receiving PM_GATE IPC reply +from FW, we can't read the mailbox to get reply. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-15-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 463fbf6dc03aff41e973602bbad6cb135fa6d48a) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-ipc.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/intel/hda-ipc.c b/sound/soc/sof/intel/hda-ipc.c +index 6aae6f18b3dc..0fd2153c1769 100644 +--- a/sound/soc/sof/intel/hda-ipc.c ++++ b/sound/soc/sof/intel/hda-ipc.c +@@ -83,10 +83,12 @@ void hda_dsp_ipc_get_reply(struct snd_sof_dev *sdev) + } + + hdr = msg->msg_data; +- if (hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_CTX_SAVE)) { ++ if (hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_CTX_SAVE) || ++ hdr->cmd == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_GATE)) { + /* + * memory windows are powered off before sending IPC reply, +- * so we can't read the mailbox for CTX_SAVE reply. ++ * so we can't read the mailbox for CTX_SAVE and PM_GATE ++ * replies. + */ + reply.error = 0; + reply.hdr.cmd = SOF_IPC_GLB_REPLY; +-- +2.20.1 + + +From eee9b23d3c152581249c19f492cf21bd1e023a24 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:11 -0500 +Subject: [PATCH 085/130] ASoC: SOF: Intel: HDA: add cAVS specific compact IPC + header file + +On cAVS platforms, some IPCs are required to be sent via IPC registers +only(e.g. when in D0i3, mailbox is unaccessible), add hda-ipc.h to hold +definition of those compact IPCs. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-16-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 5056193d4d1a8b73087145add21141c46027d6a2) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-ipc.h | 51 +++++++++++++++++++++++++++++++++++ + 1 file changed, 51 insertions(+) + create mode 100644 sound/soc/sof/intel/hda-ipc.h + +diff --git a/sound/soc/sof/intel/hda-ipc.h b/sound/soc/sof/intel/hda-ipc.h +new file mode 100644 +index 000000000000..aef0ceac9803 +--- /dev/null ++++ b/sound/soc/sof/intel/hda-ipc.h +@@ -0,0 +1,51 @@ ++/* SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause) */ ++/* ++ * This file is provided under a dual BSD/GPLv2 license. When using or ++ * redistributing this file, you may do so under either license. ++ * ++ * Copyright(c) 2019 Intel Corporation. All rights reserved. ++ * ++ * Author: Keyon Jie <yang.jie@linux.intel.com> ++ */ ++ ++#ifndef __SOF_INTEL_HDA_IPC_H ++#define __SOF_INTEL_HDA_IPC_H ++ ++/* ++ * Primary register, mapped to ++ * - DIPCTDR (HIPCIDR) in sideband IPC (cAVS 1.8+) ++ * - DIPCT in cAVS 1.5 IPC ++ * ++ * Secondary register, mapped to: ++ * - DIPCTDD (HIPCIDD) in sideband IPC (cAVS 1.8+) ++ * - DIPCTE in cAVS 1.5 IPC ++ */ ++ ++/* Common bits in primary register */ ++ ++/* Reserved for doorbell */ ++#define HDA_IPC_RSVD_31 BIT(31) ++/* Target, 0 - normal message, 1 - compact message(cAVS compatible) */ ++#define HDA_IPC_MSG_COMPACT BIT(30) ++/* Direction, 0 - request, 1 - response */ ++#define HDA_IPC_RSP BIT(29) ++ ++#define HDA_IPC_TYPE_SHIFT 24 ++#define HDA_IPC_TYPE_MASK GENMASK(28, 24) ++#define HDA_IPC_TYPE(x) ((x) << HDA_IPC_TYPE_SHIFT) ++ ++#define HDA_IPC_PM_GATE HDA_IPC_TYPE(0x8U) ++ ++/* Command specific payload bits in secondary register */ ++ ++/* Disable DMA tracing (0 - keep tracing, 1 - to disable DMA trace) */ ++#define HDA_PM_NO_DMA_TRACE BIT(4) ++/* Prevent clock gating (0 - cg allowed, 1 - DSP clock always on) */ ++#define HDA_PM_PCG BIT(3) ++/* Prevent power gating (0 - deep power state transitions allowed) */ ++#define HDA_PM_PPG BIT(2) ++/* Indicates whether streaming is active */ ++#define HDA_PM_PG_STREAMING BIT(1) ++#define HDA_PM_PG_RSVD BIT(0) ++ ++#endif +-- +2.20.1 + + +From 325dfda7c31d247932c0ec20eda966bf0ca24512 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:12 -0500 +Subject: [PATCH 086/130] ASoC: SOF: configure D0ix IPC flags in + set_power_state + +The configuration for D0ix in FW is platform specific, let's do this and +send IPC in the platform set_power_state() ops. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-17-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 534037fddd34b58be86a826d449a5a6635ecdbf5) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-dsp.c | 32 +++++++++++++++++++++++++++++++- + 1 file changed, 31 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c +index 936361bd25e9..b5070409a5e3 100644 +--- a/sound/soc/sof/intel/hda-dsp.c ++++ b/sound/soc/sof/intel/hda-dsp.c +@@ -19,6 +19,7 @@ + #include <sound/hda_register.h> + #include "../ops.h" + #include "hda.h" ++#include "hda-ipc.h" + + /* + * DSP Core control. +@@ -319,10 +320,28 @@ static int hda_dsp_wait_d0i3c_done(struct snd_sof_dev *sdev, int retry) + return 0; + } + ++static int hda_dsp_send_pm_gate_ipc(struct snd_sof_dev *sdev, u32 flags) ++{ ++ struct sof_ipc_pm_gate pm_gate; ++ struct sof_ipc_reply reply; ++ ++ memset(&pm_gate, 0, sizeof(pm_gate)); ++ ++ /* configure pm_gate ipc message */ ++ pm_gate.hdr.size = sizeof(pm_gate); ++ pm_gate.hdr.cmd = SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_GATE; ++ pm_gate.flags = flags; ++ ++ /* send pm_gate ipc to dsp */ ++ return sof_ipc_tx_message(sdev->ipc, pm_gate.hdr.cmd, &pm_gate, ++ sizeof(pm_gate), &reply, sizeof(reply)); ++} ++ + int hda_dsp_set_power_state(struct snd_sof_dev *sdev, + enum sof_d0_substate d0_substate) + { + struct hdac_bus *bus = sof_to_bus(sdev); ++ u32 flags; + int ret; + u8 value; + +@@ -347,7 +366,18 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev, + dev_vdbg(bus->dev, "D0I3C updated, register = 0x%x\n", + snd_hdac_chip_readb(bus, VS_D0I3C)); + +- return 0; ++ if (d0_substate == SOF_DSP_D0I0) ++ flags = HDA_PM_PPG;/* prevent power gating in D0 */ ++ else ++ flags = HDA_PM_NO_DMA_TRACE;/* disable DMA trace in D0I3*/ ++ ++ /* sending pm_gate IPC */ ++ ret = hda_dsp_send_pm_gate_ipc(sdev, flags); ++ if (ret < 0) ++ dev_err(sdev->dev, ++ "error: PM_GATE ipc error %d\n", ret); ++ ++ return ret; + } + + static int hda_suspend(struct snd_sof_dev *sdev, bool runtime_suspend) +-- +2.20.1 + + +From 9ade30b8b3cf0e8d73a89b9ded857c50aeb91a37 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:13 -0500 +Subject: [PATCH 087/130] ASoC: SOF: PM: add helpers for setting D0 substate + for ADSP + +Add snd_sof_set_d0_substate() helper for setting ADSP to a specific D0 +substate, it will call into the platform specific implementation, and +update the d0_substate at success. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-18-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 601252869f50af6f5ab377e7f4846d7b09cc66c0) +Bugzilla: 1772498 +--- + sound/soc/sof/pm.c | 17 +++++++++++++++++ + sound/soc/sof/sof-priv.h | 2 ++ + 2 files changed, 19 insertions(+) + +diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c +index ac900fb3379e..584241e9734a 100644 +--- a/sound/soc/sof/pm.c ++++ b/sound/soc/sof/pm.c +@@ -411,6 +411,23 @@ int snd_sof_runtime_resume(struct device *dev) + } + EXPORT_SYMBOL(snd_sof_runtime_resume); + ++int snd_sof_set_d0_substate(struct snd_sof_dev *sdev, ++ enum sof_d0_substate d0_substate) ++{ ++ int ret; ++ ++ /* do platform specific set_state */ ++ ret = snd_sof_dsp_set_power_state(sdev, d0_substate); ++ if (ret < 0) ++ return ret; ++ ++ /* update dsp D0 sub-state */ ++ sdev->d0_substate = d0_substate; ++ ++ return 0; ++} ++EXPORT_SYMBOL(snd_sof_set_d0_substate); ++ + int snd_sof_resume(struct device *dev) + { + return sof_resume(dev, false); +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 7a21a45d3635..2231c673c678 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -485,6 +485,8 @@ int snd_sof_runtime_resume(struct device *dev); + int snd_sof_runtime_idle(struct device *dev); + int snd_sof_resume(struct device *dev); + int snd_sof_suspend(struct device *dev); ++int snd_sof_set_d0_substate(struct snd_sof_dev *sdev, ++ enum sof_d0_substate d0_substate); + + void snd_sof_new_platform_drv(struct snd_sof_dev *sdev); + +-- +2.20.1 + + +From cd303b2a36cdc4dd2228147f9a9518da71d88215 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:14 -0500 +Subject: [PATCH 088/130] ASoC: SOF: Intel: CNL: add support for sending + compact IPC + +For compact IPCs, we will send the IPC header/command via the HIPCIDR +register and the first 32bit payload via the HIPCIDD register, no +mailbox will be used. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-19-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 0267de58acfe5059ace739741f1533dd605ed22f) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/cnl.c | 42 ++++++++++++++++++++++++++++++++++----- + sound/soc/sof/intel/hda.h | 1 + + 2 files changed, 38 insertions(+), 5 deletions(-) + +diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c +index 982b81a0b13a..0e1e265f3f3b 100644 +--- a/sound/soc/sof/intel/cnl.c ++++ b/sound/soc/sof/intel/cnl.c +@@ -17,6 +17,7 @@ + + #include "../ops.h" + #include "hda.h" ++#include "hda-ipc.h" + + static const struct snd_sof_debugfs_map cnl_dsp_debugfs[] = { + {"hda", HDA_DSP_HDA_BAR, 0, 0x4000, SOF_DEBUGFS_ACCESS_ALWAYS}, +@@ -150,14 +151,45 @@ static void cnl_ipc_dsp_done(struct snd_sof_dev *sdev) + CNL_DSP_REG_HIPCCTL_DONE); + } + ++static bool cnl_compact_ipc_compress(struct snd_sof_ipc_msg *msg, ++ u32 *dr, u32 *dd) ++{ ++ struct sof_ipc_pm_gate *pm_gate; ++ ++ if (msg->header == (SOF_IPC_GLB_PM_MSG | SOF_IPC_PM_GATE)) { ++ pm_gate = msg->msg_data; ++ ++ /* send the compact message via the primary register */ ++ *dr = HDA_IPC_MSG_COMPACT | HDA_IPC_PM_GATE; ++ ++ /* send payload via the extended data register */ ++ *dd = pm_gate->flags; ++ ++ return true; ++ } ++ ++ return false; ++} ++ + static int cnl_ipc_send_msg(struct snd_sof_dev *sdev, + struct snd_sof_ipc_msg *msg) + { +- /* send the message */ +- sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data, +- msg->msg_size); +- snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR, +- CNL_DSP_REG_HIPCIDR_BUSY); ++ u32 dr = 0; ++ u32 dd = 0; ++ ++ if (cnl_compact_ipc_compress(msg, &dr, &dd)) { ++ /* send the message via IPC registers */ ++ snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDD, ++ dd); ++ snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR, ++ CNL_DSP_REG_HIPCIDR_BUSY | dr); ++ } else { ++ /* send the message via mailbox */ ++ sof_mailbox_write(sdev, sdev->host_box.offset, msg->msg_data, ++ msg->msg_size); ++ snd_sof_dsp_write(sdev, HDA_DSP_BAR, CNL_DSP_REG_HIPCIDR, ++ CNL_DSP_REG_HIPCIDR_BUSY); ++ } + + return 0; + } +diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h +index 5a089efc0e4c..5ad73a34b09c 100644 +--- a/sound/soc/sof/intel/hda.h ++++ b/sound/soc/sof/intel/hda.h +@@ -312,6 +312,7 @@ + #define CNL_DSP_REG_HIPCTDD (CNL_DSP_IPC_BASE + 0x08) + #define CNL_DSP_REG_HIPCIDR (CNL_DSP_IPC_BASE + 0x10) + #define CNL_DSP_REG_HIPCIDA (CNL_DSP_IPC_BASE + 0x14) ++#define CNL_DSP_REG_HIPCIDD (CNL_DSP_IPC_BASE + 0x18) + #define CNL_DSP_REG_HIPCCTL (CNL_DSP_IPC_BASE + 0x28) + + /* HIPCI */ +-- +2.20.1 + + +From 8bb4306ead5641b1f9e7d97d0db0d5705b193e79 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:15 -0500 +Subject: [PATCH 089/130] ASoC: SOF: add a flag to indicate the system suspend + target + +Add flag 's0_suspend' to indicate if the system is entering S0ix or +not. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-20-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 7367d3096b1443e55a2c730d1966f423b15d5cad) +Bugzilla: 1772498 +--- + sound/soc/sof/sof-priv.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 2231c673c678..e715673f20e5 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -398,6 +398,8 @@ struct snd_sof_dev { + + /* power states related */ + enum sof_d0_substate d0_substate; ++ /* flag to track if the intended power target of suspend is S0ix */ ++ bool s0_suspend; + + /* DSP firmware boot */ + wait_queue_head_t boot_wait; +-- +2.20.1 + + +From 8d8d925e7051604e82ef12a2dbddf5d77e02e40d Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:16 -0500 +Subject: [PATCH 090/130] ASoC: SOF: add a flag suspend_ignored for sof stream + +Add a suspend_ignored flag to snd_sof_pcm_stream that will be used to +decide if the corresponding FW pipeline should be kept active to perform +always on tasks when the system is entering the S0ix state. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-21-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 4cd933abd4820da7eefe672ff439b32d199a07be) +Bugzilla: 1772498 +--- + sound/soc/sof/sof-priv.h | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index e715673f20e5..c2541d020bde 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -311,6 +311,11 @@ struct snd_sof_pcm_stream { + struct snd_pcm_substream *substream; + struct work_struct period_elapsed_work; + bool d0i3_compatible; /* DSP can be in D0I3 when this pcm is opened */ ++ /* ++ * flag to indicate that the DSP pipelines should be kept ++ * active or not while suspending the stream ++ */ ++ bool suspend_ignored; + }; + + /* ALSA SOF PCM device */ +-- +2.20.1 + + +From 3b92b523982d92ab8944be6c739da55889e44878 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:17 -0500 +Subject: [PATCH 091/130] ASoC: SOF: PM: implement prepare/complete callbacks + +Implement the prepare() and complete() callbacks for power management, +initialize s0_suspend flag at prepare(), and reset it at complete(). + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-22-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 0b50b3b1c3bc2a2c9eeab418b3de3e60e0530cf4) +Bugzilla: 1772498 +--- + sound/soc/sof/pm.c | 23 +++++++++++++++++++++++ + sound/soc/sof/sof-priv.h | 2 ++ + 2 files changed, 25 insertions(+) + +diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c +index 584241e9734a..99e4e6ffff74 100644 +--- a/sound/soc/sof/pm.c ++++ b/sound/soc/sof/pm.c +@@ -439,3 +439,26 @@ int snd_sof_suspend(struct device *dev) + return sof_suspend(dev, false); + } + EXPORT_SYMBOL(snd_sof_suspend); ++ ++int snd_sof_prepare(struct device *dev) ++{ ++ struct snd_sof_dev *sdev = dev_get_drvdata(dev); ++ ++#if defined(CONFIG_ACPI) ++ sdev->s0_suspend = acpi_target_system_state() == ACPI_STATE_S0; ++#else ++ /* will suspend to S3 by default */ ++ sdev->s0_suspend = false; ++#endif ++ ++ return 0; ++} ++EXPORT_SYMBOL(snd_sof_prepare); ++ ++void snd_sof_complete(struct device *dev) ++{ ++ struct snd_sof_dev *sdev = dev_get_drvdata(dev); ++ ++ sdev->s0_suspend = false; ++} ++EXPORT_SYMBOL(snd_sof_complete); +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index c2541d020bde..6408ac88a3e5 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -492,6 +492,8 @@ int snd_sof_runtime_resume(struct device *dev); + int snd_sof_runtime_idle(struct device *dev); + int snd_sof_resume(struct device *dev); + int snd_sof_suspend(struct device *dev); ++int snd_sof_prepare(struct device *dev); ++void snd_sof_complete(struct device *dev); + int snd_sof_set_d0_substate(struct snd_sof_dev *sdev, + enum sof_d0_substate d0_substate); + +-- +2.20.1 + + +From a8161368f38eb802d5bfc2601420a94076b3527f Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:18 -0500 +Subject: [PATCH 092/130] ASoC: SOF: ignore suspend/resume for D0ix compatible + streams + +During system suspend, the PM framework will freeze all applications and +the ALSA/ASoC core will suspend all RUNNING PCM streams. + +However, D0ix-compatible PCM streams should keep the related pipelines +active in the DSP when the system is entering S0ix. The TRIGGER_SUSPEND +event is trapped in such cases to prevent the pipelines from being +stopped. Likewise, the TRIGGER_RESUME/START events should not affect the +pipeline state. + +The SOF driver also triggers some DSP Firmware pipelines based on the +DAPM widgets power events. In such cases, we also ignore PRE_PMU and +POST_PMD events to keep the pipelines active. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-23-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit ac8c046f19f94ec419c60d7a073af75a71386e97) +Bugzilla: 1772498 +--- + sound/soc/sof/pcm.c | 31 +++++++++++++++++++++++++++++++ + sound/soc/sof/topology.c | 17 ++++++++++++++++- + 2 files changed, 47 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c +index b33928e1385b..927b197c2c8d 100644 +--- a/sound/soc/sof/pcm.c ++++ b/sound/soc/sof/pcm.c +@@ -350,6 +350,16 @@ static int sof_pcm_trigger(struct snd_pcm_substream *substream, int cmd) + stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_RELEASE; + break; + case SNDRV_PCM_TRIGGER_RESUME: ++ if (spcm->stream[substream->stream].suspend_ignored) { ++ /* ++ * this case will be triggered when INFO_RESUME is ++ * supported, no need to resume streams that remained ++ * enabled in D0ix. ++ */ ++ spcm->stream[substream->stream].suspend_ignored = false; ++ return 0; ++ } ++ + /* set up hw_params */ + ret = sof_pcm_prepare(substream); + if (ret < 0) { +@@ -360,9 +370,30 @@ static int sof_pcm_trigger(struct snd_pcm_substream *substream, int cmd) + + /* fallthrough */ + case SNDRV_PCM_TRIGGER_START: ++ if (spcm->stream[substream->stream].suspend_ignored) { ++ /* ++ * This case will be triggered when INFO_RESUME is ++ * not supported, no need to re-start streams that ++ * remained enabled in D0ix. ++ */ ++ spcm->stream[substream->stream].suspend_ignored = false; ++ return 0; ++ } + stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_START; + break; + case SNDRV_PCM_TRIGGER_SUSPEND: ++ if (sdev->s0_suspend && ++ spcm->stream[substream->stream].d0i3_compatible) { ++ /* ++ * trap the event, not sending trigger stop to ++ * prevent the FW pipelines from being stopped, ++ * and mark the flag to ignore the upcoming DAPM ++ * PM events. ++ */ ++ spcm->stream[substream->stream].suspend_ignored = true; ++ return 0; ++ } ++ /* fallthrough */ + case SNDRV_PCM_TRIGGER_STOP: + stream.hdr.cmd |= SOF_IPC_STREAM_TRIG_STOP; + ipc_first = true; +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index 9e3996125d03..ad798fb3bb32 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -135,7 +135,9 @@ static int sof_keyword_dapm_event(struct snd_soc_dapm_widget *w, + struct snd_kcontrol *k, int event) + { + struct snd_sof_widget *swidget = w->dobj.private; ++ int stream = SNDRV_PCM_STREAM_CAPTURE; + struct snd_sof_dev *sdev; ++ struct snd_sof_pcm *spcm; + int ret = 0; + + if (!swidget) +@@ -146,11 +148,19 @@ static int sof_keyword_dapm_event(struct snd_soc_dapm_widget *w, + dev_dbg(sdev->dev, "received event %d for widget %s\n", + event, w->name); + ++ /* get runtime PCM params using widget's stream name */ ++ spcm = snd_sof_find_spcm_name(sdev, swidget->widget->sname); ++ + /* process events */ + switch (event) { + case SND_SOC_DAPM_PRE_PMU: ++ if (spcm->stream[stream].suspend_ignored) { ++ dev_dbg(sdev->dev, "PRE_PMU event ignored, KWD pipeline is already RUNNING\n"); ++ return 0; ++ } ++ + /* set pcm params */ +- ret = ipc_pcm_params(swidget, SOF_IPC_STREAM_CAPTURE); ++ ret = ipc_pcm_params(swidget, stream); + if (ret < 0) { + dev_err(sdev->dev, + "error: failed to set pcm params for widget %s\n", +@@ -166,6 +176,11 @@ static int sof_keyword_dapm_event(struct snd_soc_dapm_widget *w, + swidget->widget->name); + break; + case SND_SOC_DAPM_POST_PMD: ++ if (spcm->stream[stream].suspend_ignored) { ++ dev_dbg(sdev->dev, "POST_PMD even ignored, KWD pipeline will remain RUNNING\n"); ++ return 0; ++ } ++ + /* stop trigger */ + ret = ipc_trigger(swidget, SOF_IPC_STREAM_TRIG_STOP); + if (ret < 0) +-- +2.20.1 + + +From 95a260712df9014813aaeb2e8bf3149bcf82572c Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:19 -0500 +Subject: [PATCH 093/130] ASoC: SOF: Intel: hda-dsp: implement suspend/resume + for S0ix<->S0 transition + +Enable system wake up via IPC interrupt from DSP when the system is +suspending to the S0ix state, and disable it in the corresponding +resuming. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-24-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 66e40876ddc325d892c493a6d83574bbba5770ce) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-dsp.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c +index b5070409a5e3..d23573d9e9c4 100644 +--- a/sound/soc/sof/intel/hda-dsp.c ++++ b/sound/soc/sof/intel/hda-dsp.c +@@ -477,6 +477,15 @@ static int hda_resume(struct snd_sof_dev *sdev, bool runtime_resume) + + int hda_dsp_resume(struct snd_sof_dev *sdev) + { ++ struct pci_dev *pci = to_pci_dev(sdev->dev); ++ ++ if (sdev->s0_suspend) { ++ /* restore and disable the system wakeup */ ++ pci_restore_state(pci); ++ disable_irq_wake(pci->irq); ++ return 0; ++ } ++ + /* init hda controller. DSP cores will be powered up during fw boot */ + return hda_resume(sdev, false); + } +@@ -509,8 +518,16 @@ int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev) + int hda_dsp_suspend(struct snd_sof_dev *sdev) + { + struct hdac_bus *bus = sof_to_bus(sdev); ++ struct pci_dev *pci = to_pci_dev(sdev->dev); + int ret; + ++ if (sdev->s0_suspend) { ++ /* enable the system waking up via IPC IRQ */ ++ enable_irq_wake(pci->irq); ++ pci_save_state(pci); ++ return 0; ++ } ++ + /* stop hda controller and power dsp off */ + ret = hda_suspend(sdev, false); + if (ret < 0) { +-- +2.20.1 + + +From fb1833ed7540f40d3c82371bea470e2802fee2a6 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:20 -0500 +Subject: [PATCH 094/130] ASoC: SOF: return -ENOTSUPP if D0I3 is not supported + +No set_power_state ops means that the platform doesn't support D0i3, +return -ENOTSUPP for the case. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-25-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 5655ce660a6d3eec4a3ad37feb99fb228540d1a9) +Bugzilla: 1772498 +--- + sound/soc/sof/ops.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/sof/ops.h b/sound/soc/sof/ops.h +index d7c8fc06f961..93512dcbaacd 100644 +--- a/sound/soc/sof/ops.h ++++ b/sound/soc/sof/ops.h +@@ -199,7 +199,8 @@ static inline int snd_sof_dsp_set_power_state(struct snd_sof_dev *sdev, + if (sof_ops(sdev)->set_power_state) + return sof_ops(sdev)->set_power_state(sdev, substate); + +- return 0; ++ /* D0 substate is not supported */ ++ return -ENOTSUPP; + } + + /* debug */ +-- +2.20.1 + + +From a9ff8edc56014d193031b94c32da8d1ca4cd9181 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:21 -0500 +Subject: [PATCH 095/130] ASoC: SOF: PM: Add support for DSP D0i3 state when + entering S0ix + +When system is entering into S0ix, the PCI device may transition to the +D0i3 substate instead of D3. In D0i3, some always-on functionality can +be enabled, such as acoustic event detection, voice activity detection +or hotwording. When an event is detected, the DSP firmware can wake-up +the device for a transition to D0 with an interrupt. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-26-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit c470fc3f61b25e955f8ba90fc9dc554881e4e72c) +Bugzilla: 1772498 +--- + sound/soc/sof/pm.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c +index 99e4e6ffff74..560a937e0484 100644 +--- a/sound/soc/sof/pm.c ++++ b/sound/soc/sof/pm.c +@@ -430,12 +430,58 @@ EXPORT_SYMBOL(snd_sof_set_d0_substate); + + int snd_sof_resume(struct device *dev) + { ++ struct snd_sof_dev *sdev = dev_get_drvdata(dev); ++ int ret; ++ ++ if (sdev->s0_suspend) { ++ /* resume from D0I3 */ ++ dev_dbg(sdev->dev, "DSP will exit from D0i3...\n"); ++ ret = snd_sof_set_d0_substate(sdev, SOF_DSP_D0I0); ++ if (ret == -ENOTSUPP) { ++ /* fallback to resume from D3 */ ++ dev_dbg(sdev->dev, "D0i3 not supported, fall back to resume from D3...\n"); ++ goto d3_resume; ++ } else if (ret < 0) { ++ dev_err(sdev->dev, "error: failed to exit from D0I3 %d\n", ++ ret); ++ return ret; ++ } ++ ++ /* platform-specific resume from D0i3 */ ++ return snd_sof_dsp_resume(sdev); ++ } ++ ++d3_resume: ++ /* resume from D3 */ + return sof_resume(dev, false); + } + EXPORT_SYMBOL(snd_sof_resume); + + int snd_sof_suspend(struct device *dev) + { ++ struct snd_sof_dev *sdev = dev_get_drvdata(dev); ++ int ret; ++ ++ if (sdev->s0_suspend) { ++ /* suspend to D0i3 */ ++ dev_dbg(sdev->dev, "DSP is trying to enter D0i3...\n"); ++ ret = snd_sof_set_d0_substate(sdev, SOF_DSP_D0I3); ++ if (ret == -ENOTSUPP) { ++ /* fallback to D3 suspend */ ++ dev_dbg(sdev->dev, "D0i3 not supported, fall back to D3...\n"); ++ goto d3_suspend; ++ } else if (ret < 0) { ++ dev_err(sdev->dev, "error: failed to enter D0I3, %d\n", ++ ret); ++ return ret; ++ } ++ ++ /* platform-specific suspend to D0i3 */ ++ return snd_sof_dsp_suspend(sdev); ++ } ++ ++d3_suspend: ++ /* suspend to D3 */ + return sof_suspend(dev, false); + } + EXPORT_SYMBOL(snd_sof_suspend); +-- +2.20.1 + + +From 57fa7b6018c8497dbc676a7ed19580ce413c1f93 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 25 Oct 2019 17:41:22 -0500 +Subject: [PATCH 096/130] ASoC: SOF: pci: Add prepare/complete PM callbacks + +Use the new implemented snd_sof_prepare() and snd_sof_complete() as the +power management callbacks for pci probing platforms. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191025224122.7718-27-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 6d407a39cc9619d0088b44333c6526924be00f8d) +Bugzilla: 1772498 +--- + sound/soc/sof/sof-pci-dev.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c +index 067acf389af7..3b58b91e7b9e 100644 +--- a/sound/soc/sof/sof-pci-dev.c ++++ b/sound/soc/sof/sof-pci-dev.c +@@ -229,6 +229,8 @@ static const struct sof_dev_desc jsl_desc = { + #endif + + static const struct dev_pm_ops sof_pci_pm = { ++ .prepare = snd_sof_prepare, ++ .complete = snd_sof_complete, + SET_SYSTEM_SLEEP_PM_OPS(snd_sof_suspend, snd_sof_resume) + SET_RUNTIME_PM_OPS(snd_sof_runtime_suspend, snd_sof_runtime_resume, + snd_sof_runtime_idle) +-- +2.20.1 + + +From 275c9af318fdb56701f9c336ecfdcaf8d05e7b03 Mon Sep 17 00:00:00 2001 +From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Date: Fri, 1 Nov 2019 12:09:16 -0500 +Subject: [PATCH 097/130] ASoC: SOF: Intel: hda: Simplify the + hda_dsp_wait_d0i3c_done() function + +Remove the retry argument for the hda_dsp_wait_d0i3c_done() +function and use the HDA_DSP_REG_POLL_RETRY_COUNT macro +directly. + +Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101170916.26517-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 65c56f5dccc87ca2993a50672e144c7378189f2c) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-dsp.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c +index d23573d9e9c4..8cd5ecc01b62 100644 +--- a/sound/soc/sof/intel/hda-dsp.c ++++ b/sound/soc/sof/intel/hda-dsp.c +@@ -307,9 +307,10 @@ void hda_dsp_ipc_int_disable(struct snd_sof_dev *sdev) + HDA_DSP_REG_HIPCCTL_BUSY | HDA_DSP_REG_HIPCCTL_DONE, 0); + } + +-static int hda_dsp_wait_d0i3c_done(struct snd_sof_dev *sdev, int retry) ++static int hda_dsp_wait_d0i3c_done(struct snd_sof_dev *sdev) + { + struct hdac_bus *bus = sof_to_bus(sdev); ++ int retry = HDA_DSP_REG_POLL_RETRY_COUNT; + + while (snd_hdac_chip_readb(bus, VS_D0I3C) & SOF_HDA_VS_D0I3C_CIP) { + if (!retry--) +@@ -346,7 +347,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev, + u8 value; + + /* Write to D0I3C after Command-In-Progress bit is cleared */ +- ret = hda_dsp_wait_d0i3c_done(sdev, HDA_DSP_REG_POLL_RETRY_COUNT); ++ ret = hda_dsp_wait_d0i3c_done(sdev); + if (ret < 0) { + dev_err(bus->dev, "CIP timeout before D0I3C update!\n"); + return ret; +@@ -357,7 +358,7 @@ int hda_dsp_set_power_state(struct snd_sof_dev *sdev, + snd_hdac_chip_updateb(bus, VS_D0I3C, SOF_HDA_VS_D0I3C_I3, value); + + /* Wait for cmd in progress to be cleared before exiting the function */ +- ret = hda_dsp_wait_d0i3c_done(sdev, HDA_DSP_REG_POLL_RETRY_COUNT); ++ ret = hda_dsp_wait_d0i3c_done(sdev); + if (ret < 0) { + dev_err(bus->dev, "CIP timeout after D0I3C update!\n"); + return ret; +-- +2.20.1 + + +From a547d2de50bd9993d6b1723ece45ad954c042bb5 Mon Sep 17 00:00:00 2001 +From: Jaska Uimonen <jaska.uimonen@linux.intel.com> +Date: Tue, 8 Oct 2019 11:44:42 -0500 +Subject: [PATCH 098/130] AsoC: SOF: refactor control load code + +Move code around to enable token parsing in control load. + +Signed-off-by: Jaska Uimonen <jaska.uimonen@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191008164443.1358-9-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit acf1b71cb693263c7c9373296e872a8fa61a5cf3) +Bugzilla: 1772498 +--- + sound/soc/sof/topology.c | 336 +++++++++++++++++++-------------------- + 1 file changed, 168 insertions(+), 168 deletions(-) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index ad798fb3bb32..d4aea5422ea8 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -447,174 +447,6 @@ static enum sof_comp_type find_process_comp_type(enum sof_ipc_process_type type) + return SOF_COMP_NONE; + } + +-/* +- * Standard Kcontrols. +- */ +- +-static int sof_control_load_volume(struct snd_soc_component *scomp, +- struct snd_sof_control *scontrol, +- struct snd_kcontrol_new *kc, +- struct snd_soc_tplg_ctl_hdr *hdr) +-{ +- struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); +- struct snd_soc_tplg_mixer_control *mc = +- container_of(hdr, struct snd_soc_tplg_mixer_control, hdr); +- struct sof_ipc_ctrl_data *cdata; +- int tlv[TLV_ITEMS]; +- unsigned int i; +- int ret; +- +- /* validate topology data */ +- if (le32_to_cpu(mc->num_channels) > SND_SOC_TPLG_MAX_CHAN) +- return -EINVAL; +- +- /* init the volume get/put data */ +- scontrol->size = struct_size(scontrol->control_data, chanv, +- le32_to_cpu(mc->num_channels)); +- scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL); +- if (!scontrol->control_data) +- return -ENOMEM; +- +- scontrol->comp_id = sdev->next_comp_id; +- scontrol->min_volume_step = le32_to_cpu(mc->min); +- scontrol->max_volume_step = le32_to_cpu(mc->max); +- scontrol->num_channels = le32_to_cpu(mc->num_channels); +- +- /* set cmd for mixer control */ +- if (le32_to_cpu(mc->max) == 1) { +- scontrol->cmd = SOF_CTRL_CMD_SWITCH; +- goto out; +- } +- +- scontrol->cmd = SOF_CTRL_CMD_VOLUME; +- +- /* extract tlv data */ +- if (get_tlv_data(kc->tlv.p, tlv) < 0) { +- dev_err(sdev->dev, "error: invalid TLV data\n"); +- return -EINVAL; +- } +- +- /* set up volume table */ +- ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1); +- if (ret < 0) { +- dev_err(sdev->dev, "error: setting up volume table\n"); +- return ret; +- } +- +- /* set default volume values to 0dB in control */ +- cdata = scontrol->control_data; +- for (i = 0; i < scontrol->num_channels; i++) { +- cdata->chanv[i].channel = i; +- cdata->chanv[i].value = VOL_ZERO_DB; +- } +- +-out: +- /* set up possible led control from mixer private data */ +- ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, +- ARRAY_SIZE(led_tokens), mc->priv.array, +- le32_to_cpu(mc->priv.size)); +- if (ret != 0) { +- dev_err(sdev->dev, "error: parse led tokens failed %d\n", +- le32_to_cpu(mc->priv.size)); +- return ret; +- } +- +- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n", +- scontrol->comp_id, scontrol->num_channels); +- +- return 0; +-} +- +-static int sof_control_load_enum(struct snd_soc_component *scomp, +- struct snd_sof_control *scontrol, +- struct snd_kcontrol_new *kc, +- struct snd_soc_tplg_ctl_hdr *hdr) +-{ +- struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); +- struct snd_soc_tplg_enum_control *ec = +- container_of(hdr, struct snd_soc_tplg_enum_control, hdr); +- +- /* validate topology data */ +- if (le32_to_cpu(ec->num_channels) > SND_SOC_TPLG_MAX_CHAN) +- return -EINVAL; +- +- /* init the enum get/put data */ +- scontrol->size = struct_size(scontrol->control_data, chanv, +- le32_to_cpu(ec->num_channels)); +- scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL); +- if (!scontrol->control_data) +- return -ENOMEM; +- +- scontrol->comp_id = sdev->next_comp_id; +- scontrol->num_channels = le32_to_cpu(ec->num_channels); +- +- scontrol->cmd = SOF_CTRL_CMD_ENUM; +- +- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d comp_id %d\n", +- scontrol->comp_id, scontrol->num_channels, scontrol->comp_id); +- +- return 0; +-} +- +-static int sof_control_load_bytes(struct snd_soc_component *scomp, +- struct snd_sof_control *scontrol, +- struct snd_kcontrol_new *kc, +- struct snd_soc_tplg_ctl_hdr *hdr) +-{ +- struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); +- struct sof_ipc_ctrl_data *cdata; +- struct snd_soc_tplg_bytes_control *control = +- container_of(hdr, struct snd_soc_tplg_bytes_control, hdr); +- struct soc_bytes_ext *sbe = (struct soc_bytes_ext *)kc->private_value; +- int max_size = sbe->max; +- +- /* init the get/put bytes data */ +- scontrol->size = sizeof(struct sof_ipc_ctrl_data) + +- le32_to_cpu(control->priv.size); +- +- if (scontrol->size > max_size) { +- dev_err(sdev->dev, "err: bytes data size %d exceeds max %d.\n", +- scontrol->size, max_size); +- return -EINVAL; +- } +- +- scontrol->control_data = kzalloc(max_size, GFP_KERNEL); +- cdata = scontrol->control_data; +- if (!scontrol->control_data) +- return -ENOMEM; +- +- scontrol->comp_id = sdev->next_comp_id; +- scontrol->cmd = SOF_CTRL_CMD_BINARY; +- +- dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n", +- scontrol->comp_id, scontrol->num_channels); +- +- if (le32_to_cpu(control->priv.size) > 0) { +- memcpy(cdata->data, control->priv.data, +- le32_to_cpu(control->priv.size)); +- +- if (cdata->data->magic != SOF_ABI_MAGIC) { +- dev_err(sdev->dev, "error: Wrong ABI magic 0x%08x.\n", +- cdata->data->magic); +- return -EINVAL; +- } +- if (SOF_ABI_VERSION_INCOMPATIBLE(SOF_ABI_VERSION, +- cdata->data->abi)) { +- dev_err(sdev->dev, +- "error: Incompatible ABI version 0x%08x.\n", +- cdata->data->abi); +- return -EINVAL; +- } +- if (cdata->data->size + sizeof(const struct sof_abi_hdr) != +- le32_to_cpu(control->priv.size)) { +- dev_err(sdev->dev, +- "error: Conflict in bytes vs. priv size.\n"); +- return -EINVAL; +- } +- } +- return 0; +-} +- + /* + * Topology Token Parsing. + * New tokens should be added to headers and parsing tables below. +@@ -1090,6 +922,174 @@ static void sof_dbg_comp_config(struct snd_soc_component *scomp, + config->frame_fmt); + } + ++/* ++ * Standard Kcontrols. ++ */ ++ ++static int sof_control_load_volume(struct snd_soc_component *scomp, ++ struct snd_sof_control *scontrol, ++ struct snd_kcontrol_new *kc, ++ struct snd_soc_tplg_ctl_hdr *hdr) ++{ ++ struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); ++ struct snd_soc_tplg_mixer_control *mc = ++ container_of(hdr, struct snd_soc_tplg_mixer_control, hdr); ++ struct sof_ipc_ctrl_data *cdata; ++ int tlv[TLV_ITEMS]; ++ unsigned int i; ++ int ret; ++ ++ /* validate topology data */ ++ if (le32_to_cpu(mc->num_channels) > SND_SOC_TPLG_MAX_CHAN) ++ return -EINVAL; ++ ++ /* init the volume get/put data */ ++ scontrol->size = struct_size(scontrol->control_data, chanv, ++ le32_to_cpu(mc->num_channels)); ++ scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL); ++ if (!scontrol->control_data) ++ return -ENOMEM; ++ ++ scontrol->comp_id = sdev->next_comp_id; ++ scontrol->min_volume_step = le32_to_cpu(mc->min); ++ scontrol->max_volume_step = le32_to_cpu(mc->max); ++ scontrol->num_channels = le32_to_cpu(mc->num_channels); ++ ++ /* set cmd for mixer control */ ++ if (le32_to_cpu(mc->max) == 1) { ++ scontrol->cmd = SOF_CTRL_CMD_SWITCH; ++ goto out; ++ } ++ ++ scontrol->cmd = SOF_CTRL_CMD_VOLUME; ++ ++ /* extract tlv data */ ++ if (get_tlv_data(kc->tlv.p, tlv) < 0) { ++ dev_err(sdev->dev, "error: invalid TLV data\n"); ++ return -EINVAL; ++ } ++ ++ /* set up volume table */ ++ ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1); ++ if (ret < 0) { ++ dev_err(sdev->dev, "error: setting up volume table\n"); ++ return ret; ++ } ++ ++ /* set default volume values to 0dB in control */ ++ cdata = scontrol->control_data; ++ for (i = 0; i < scontrol->num_channels; i++) { ++ cdata->chanv[i].channel = i; ++ cdata->chanv[i].value = VOL_ZERO_DB; ++ } ++ ++out: ++ /* set up possible led control from mixer private data */ ++ ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, ++ ARRAY_SIZE(led_tokens), mc->priv.array, ++ le32_to_cpu(mc->priv.size)); ++ if (ret != 0) { ++ dev_err(sdev->dev, "error: parse led tokens failed %d\n", ++ le32_to_cpu(mc->priv.size)); ++ return ret; ++ } ++ ++ dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n", ++ scontrol->comp_id, scontrol->num_channels); ++ ++ return 0; ++} ++ ++static int sof_control_load_enum(struct snd_soc_component *scomp, ++ struct snd_sof_control *scontrol, ++ struct snd_kcontrol_new *kc, ++ struct snd_soc_tplg_ctl_hdr *hdr) ++{ ++ struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); ++ struct snd_soc_tplg_enum_control *ec = ++ container_of(hdr, struct snd_soc_tplg_enum_control, hdr); ++ ++ /* validate topology data */ ++ if (le32_to_cpu(ec->num_channels) > SND_SOC_TPLG_MAX_CHAN) ++ return -EINVAL; ++ ++ /* init the enum get/put data */ ++ scontrol->size = struct_size(scontrol->control_data, chanv, ++ le32_to_cpu(ec->num_channels)); ++ scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL); ++ if (!scontrol->control_data) ++ return -ENOMEM; ++ ++ scontrol->comp_id = sdev->next_comp_id; ++ scontrol->num_channels = le32_to_cpu(ec->num_channels); ++ ++ scontrol->cmd = SOF_CTRL_CMD_ENUM; ++ ++ dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d comp_id %d\n", ++ scontrol->comp_id, scontrol->num_channels, scontrol->comp_id); ++ ++ return 0; ++} ++ ++static int sof_control_load_bytes(struct snd_soc_component *scomp, ++ struct snd_sof_control *scontrol, ++ struct snd_kcontrol_new *kc, ++ struct snd_soc_tplg_ctl_hdr *hdr) ++{ ++ struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); ++ struct sof_ipc_ctrl_data *cdata; ++ struct snd_soc_tplg_bytes_control *control = ++ container_of(hdr, struct snd_soc_tplg_bytes_control, hdr); ++ struct soc_bytes_ext *sbe = (struct soc_bytes_ext *)kc->private_value; ++ int max_size = sbe->max; ++ ++ /* init the get/put bytes data */ ++ scontrol->size = sizeof(struct sof_ipc_ctrl_data) + ++ le32_to_cpu(control->priv.size); ++ ++ if (scontrol->size > max_size) { ++ dev_err(sdev->dev, "err: bytes data size %d exceeds max %d.\n", ++ scontrol->size, max_size); ++ return -EINVAL; ++ } ++ ++ scontrol->control_data = kzalloc(max_size, GFP_KERNEL); ++ cdata = scontrol->control_data; ++ if (!scontrol->control_data) ++ return -ENOMEM; ++ ++ scontrol->comp_id = sdev->next_comp_id; ++ scontrol->cmd = SOF_CTRL_CMD_BINARY; ++ ++ dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n", ++ scontrol->comp_id, scontrol->num_channels); ++ ++ if (le32_to_cpu(control->priv.size) > 0) { ++ memcpy(cdata->data, control->priv.data, ++ le32_to_cpu(control->priv.size)); ++ ++ if (cdata->data->magic != SOF_ABI_MAGIC) { ++ dev_err(sdev->dev, "error: Wrong ABI magic 0x%08x.\n", ++ cdata->data->magic); ++ return -EINVAL; ++ } ++ if (SOF_ABI_VERSION_INCOMPATIBLE(SOF_ABI_VERSION, ++ cdata->data->abi)) { ++ dev_err(sdev->dev, ++ "error: Incompatible ABI version 0x%08x.\n", ++ cdata->data->abi); ++ return -EINVAL; ++ } ++ if (cdata->data->size + sizeof(const struct sof_abi_hdr) != ++ le32_to_cpu(control->priv.size)) { ++ dev_err(sdev->dev, ++ "error: Conflict in bytes vs. priv size.\n"); ++ return -EINVAL; ++ } ++ } ++ return 0; ++} ++ + /* external kcontrol init - used for any driver specific init */ + static int sof_control_load(struct snd_soc_component *scomp, int index, + struct snd_kcontrol_new *kc, +-- +2.20.1 + + +From b0ba4b0be937405c5982db296e5d9e57a9239c5a Mon Sep 17 00:00:00 2001 +From: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Date: Mon, 4 Nov 2019 14:48:12 -0800 +Subject: [PATCH 099/130] ASoC: SOF: topology: set trigger order for FE DAI + link + +Set trigger order for FE DAI links to SND_SOC_DPCM_TRIGGER_POST +to trigger the BE DAI's before the FE DAI's. This prevents the +xruns seen on playback pipelines using the link DMA. + +Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191104224812.3393-3-ranjani.sridharan@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 5eee2b3f60065a2530d13f28e771be48b989eb4c) +Bugzilla: 1772498 +--- + sound/soc/sof/topology.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index d4aea5422ea8..143b8259a70a 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -2952,6 +2952,10 @@ static int sof_link_load(struct snd_soc_component *scomp, int index, + if (!link->no_pcm) { + link->nonatomic = true; + ++ /* set trigger order */ ++ link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST; ++ link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST; ++ + /* nothing more to do for FE dai links */ + return 0; + } +-- +2.20.1 + + +From 00e0accc297d44a65b09af38a2d6813467f5b8e9 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Tue, 19 Nov 2019 18:49:32 +0100 +Subject: [PATCH 100/130] ASoC: add control components management + +This ASCII string can carry additional information about +soundcard components or configuration. Add the possibility +to set this string via the ASoC card. + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Cc: Mark Brown <broonie@kernel.org> +Link: https://lore.kernel.org/r/20191119174933.25526-1-perex@perex.cz +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit dc73d73aa7145f55412611f3eead1e85ae026785) +Bugzilla: 1772498 +--- + include/sound/soc.h | 1 + + sound/soc/soc-core.c | 13 +++++++++++++ + 2 files changed, 14 insertions(+) + +diff --git a/include/sound/soc.h b/include/sound/soc.h +index f264c6509f00..efc5fb8f3d64 100644 +--- a/include/sound/soc.h ++++ b/include/sound/soc.h +@@ -978,6 +978,7 @@ struct snd_soc_card { + const char *name; + const char *long_name; + const char *driver_name; ++ const char *components; + char dmi_longname[80]; + char topology_shortname[32]; + +diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c +index 88978a3036c4..fff910fd933e 100644 +--- a/sound/soc/soc-core.c ++++ b/sound/soc/soc-core.c +@@ -2095,6 +2095,19 @@ static int snd_soc_instantiate_card(struct snd_soc_card *card) + } + } + ++ if (card->components) { ++ /* the current implementation of snd_component_add() accepts */ ++ /* multiple components in the string separated by space, */ ++ /* but the string collision (identical string) check might */ ++ /* not work correctly */ ++ ret = snd_component_add(card->snd_card, card->components); ++ if (ret < 0) { ++ dev_err(card->dev, "ASoC: %s snd_component_add() failed: %d\n", ++ card->name, ret); ++ goto probe_end; ++ } ++ } ++ + if (card->late_probe) { + ret = card->late_probe(card); + if (ret < 0) { +-- +2.20.1 + + +From 15b3f8b52655f2e8eafb5c209c829cd09650ae1f Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Wed, 20 Nov 2019 18:44:34 +0100 +Subject: [PATCH 101/130] ASoC: improve the DMI long card code in asoc-core + +Add append_dmi_string() function and make the code more readable. + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191120174435.30920-1-perex@perex.cz +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 4e01e5dbba96f731119f3f1a6bf51b54c98c5940) +Bugzilla: 1772498 +--- + sound/soc/soc-core.c | 66 +++++++++++++++++--------------------------- + 1 file changed, 25 insertions(+), 41 deletions(-) + +diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c +index fff910fd933e..2cbd9796a25f 100644 +--- a/sound/soc/soc-core.c ++++ b/sound/soc/soc-core.c +@@ -1729,6 +1729,23 @@ static int is_dmi_valid(const char *field) + return 1; + } + ++/* ++ * Append a string to card->dmi_longname with character cleanups. ++ */ ++static void append_dmi_string(struct snd_soc_card *card, const char *str) ++{ ++ char *dst = card->dmi_longname; ++ size_t dst_len = sizeof(card->dmi_longname); ++ size_t len; ++ ++ len = strlen(dst); ++ snprintf(dst + len, dst_len - len, "-%s", str); ++ ++ len++; /* skip the separator "-" */ ++ if (len < dst_len) ++ cleanup_dmi_name(dst + len); ++} ++ + /** + * snd_soc_set_dmi_name() - Register DMI names to card + * @card: The card to register DMI names +@@ -1763,61 +1780,36 @@ static int is_dmi_valid(const char *field) + int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour) + { + const char *vendor, *product, *product_version, *board; +- size_t longname_buf_size = sizeof(card->snd_card->longname); +- size_t len; + + if (card->long_name) + return 0; /* long name already set by driver or from DMI */ + +- /* make up dmi long name as: vendor.product.version.board */ ++ /* make up dmi long name as: vendor-product-version-board */ + vendor = dmi_get_system_info(DMI_BOARD_VENDOR); + if (!vendor || !is_dmi_valid(vendor)) { + dev_warn(card->dev, "ASoC: no DMI vendor name!\n"); + return 0; + } + +- snprintf(card->dmi_longname, sizeof(card->snd_card->longname), +- "%s", vendor); ++ snprintf(card->dmi_longname, sizeof(card->dmi_longname), "%s", vendor); + cleanup_dmi_name(card->dmi_longname); + + product = dmi_get_system_info(DMI_PRODUCT_NAME); + if (product && is_dmi_valid(product)) { +- len = strlen(card->dmi_longname); +- snprintf(card->dmi_longname + len, +- longname_buf_size - len, +- "-%s", product); +- +- len++; /* skip the separator "-" */ +- if (len < longname_buf_size) +- cleanup_dmi_name(card->dmi_longname + len); ++ append_dmi_string(card, product); + + /* + * some vendors like Lenovo may only put a self-explanatory + * name in the product version field + */ + product_version = dmi_get_system_info(DMI_PRODUCT_VERSION); +- if (product_version && is_dmi_valid(product_version)) { +- len = strlen(card->dmi_longname); +- snprintf(card->dmi_longname + len, +- longname_buf_size - len, +- "-%s", product_version); +- +- len++; +- if (len < longname_buf_size) +- cleanup_dmi_name(card->dmi_longname + len); +- } ++ if (product_version && is_dmi_valid(product_version)) ++ append_dmi_string(card, product_version); + } + + board = dmi_get_system_info(DMI_BOARD_NAME); + if (board && is_dmi_valid(board)) { +- len = strlen(card->dmi_longname); +- snprintf(card->dmi_longname + len, +- longname_buf_size - len, +- "-%s", board); +- +- len++; +- if (len < longname_buf_size) +- cleanup_dmi_name(card->dmi_longname + len); ++ append_dmi_string(card, board); + } else if (!product) { + /* fall back to using legacy name */ + dev_warn(card->dev, "ASoC: no DMI board/product name!\n"); +@@ -1825,16 +1817,8 @@ int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour) + } + + /* Add flavour to dmi long name */ +- if (flavour) { +- len = strlen(card->dmi_longname); +- snprintf(card->dmi_longname + len, +- longname_buf_size - len, +- "-%s", flavour); +- +- len++; +- if (len < longname_buf_size) +- cleanup_dmi_name(card->dmi_longname + len); +- } ++ if (flavour) ++ append_dmi_string(card, flavour); + + /* set the card long name */ + card->long_name = card->dmi_longname; +-- +2.20.1 + + +From f77607883b4040fdb1791e4e81402e452a97d1d0 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Wed, 20 Nov 2019 18:44:35 +0100 +Subject: [PATCH 102/130] ASoC: DMI long name - avoid to add board name if + matches with product name + +Current code: + + LENOVO-20QE000VMC-ThinkPadX1Carbon7th-20QE000VMC + +With the patch: + + LENOVO-20QE000VMC-ThinkPadX1Carbon7th + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Link: https://lore.kernel.org/r/20191120174435.30920-2-perex@perex.cz +Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 39870b0dec68ed7dd814beb697e541670975c7d8) +Bugzilla: 1772498 +--- + sound/soc/soc-core.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c +index 2cbd9796a25f..d42924ff13f1 100644 +--- a/sound/soc/soc-core.c ++++ b/sound/soc/soc-core.c +@@ -1809,7 +1809,8 @@ int snd_soc_set_dmi_name(struct snd_soc_card *card, const char *flavour) + + board = dmi_get_system_info(DMI_BOARD_NAME); + if (board && is_dmi_valid(board)) { +- append_dmi_string(card, board); ++ if (!product || strcasecmp(board, product)) ++ append_dmi_string(card, board); + } else if (!product) { + /* fall back to using legacy name */ + dev_warn(card->dev, "ASoC: no DMI board/product name!\n"); +-- +2.20.1 + + +From acab1a3016c11ce7262f08ee5f978ba0fd650d81 Mon Sep 17 00:00:00 2001 +From: Hui Wang <hui.wang@canonical.com> +Date: Thu, 21 Nov 2019 10:26:43 +0800 +Subject: [PATCH 103/130] ALSA: hda/realtek - Move some alc256 pintbls to + fallback table + +We have a new Dell machine which needs to apply the quirk +ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, try to use the fallback table +to fix it this time. And we could remove all pintbls of alc256 +for applying DELL1_MIC_NO_PRESENCE on Dell machines. + +Signed-off-by: Hui Wang <hui.wang@canonical.com> +Link: https://lore.kernel.org/r/20191121022644.8078-1-hui.wang@canonical.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit aed8c7f40882015aad45088256231babcbc24482) +Bugzilla: 1772498 +--- + sound/pci/hda/patch_realtek.c | 35 +++-------------------------------- + 1 file changed, 3 insertions(+), 32 deletions(-) + +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index 80f66ba85f87..4c83ed4b0d5c 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -7608,38 +7608,6 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = { + SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, + {0x1b, 0x01011020}, + {0x21, 0x02211010}), +- SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0x90a60130}, +- {0x14, 0x90170110}, +- {0x1b, 0x01011020}, +- {0x21, 0x0221101f}), +- SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0x90a60160}, +- {0x14, 0x90170120}, +- {0x21, 0x02211030}), +- SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0x90a60170}, +- {0x14, 0x90170120}, +- {0x21, 0x02211030}), +- SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell Inspiron 5468", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0x90a60180}, +- {0x14, 0x90170120}, +- {0x21, 0x02211030}), +- SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0xb7a60130}, +- {0x14, 0x90170110}, +- {0x21, 0x02211020}), +- SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0x90a60130}, +- {0x14, 0x90170110}, +- {0x14, 0x01011020}, +- {0x21, 0x0221101f}), +- SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- ALC256_STANDARD_PINS), +- SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x14, 0x90170110}, +- {0x1b, 0x01011020}, +- {0x21, 0x0221101f}), + SND_HDA_PIN_QUIRK(0x10ec0256, 0x1043, "ASUS", ALC256_FIXUP_ASUS_MIC, + {0x14, 0x90170110}, + {0x1b, 0x90a70130}, +@@ -7852,6 +7820,9 @@ static const struct snd_hda_pin_quirk alc269_fallback_pin_fixup_tbl[] = { + SND_HDA_PIN_QUIRK(0x10ec0274, 0x1028, "Dell", ALC274_FIXUP_DELL_AIO_LINEOUT_VERB, + {0x19, 0x40000000}, + {0x1a, 0x40000000}), ++ SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, ++ {0x19, 0x40000000}, ++ {0x1a, 0x40000000}), + {} + }; + +-- +2.20.1 + + +From 0ea4ea7f506846d630b9c31bcc9668c34e6f0555 Mon Sep 17 00:00:00 2001 +From: Hui Wang <hui.wang@canonical.com> +Date: Thu, 21 Nov 2019 10:26:44 +0800 +Subject: [PATCH 104/130] ALSA: hda/realtek - Move some alc236 pintbls to + fallback table + +We have a new Dell machine which needs to apply the quirk +ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, try to use the fallback table +to fix it this time. And we could remove all pintbls of alc236 +for applying DELL1_MIC_NO_PRESENCE on Dell machines. + +Signed-off-by: Hui Wang <hui.wang@canonical.com> +Link: https://lore.kernel.org/r/20191121022644.8078-2-hui.wang@canonical.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit d64ebdbfd4f71406f58210f5ccb16977b4cd31d2) +Bugzilla: 1772498 +--- + sound/pci/hda/patch_realtek.c | 17 +++-------------- + 1 file changed, 3 insertions(+), 14 deletions(-) + +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index 4c83ed4b0d5c..4ebe104cb592 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -7512,20 +7512,6 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = { + {0x19, 0x02a11020}, + {0x1a, 0x02a11030}, + {0x21, 0x0221101f}), +- SND_HDA_PIN_QUIRK(0x10ec0236, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0x90a60140}, +- {0x14, 0x90170110}, +- {0x21, 0x02211020}), +- SND_HDA_PIN_QUIRK(0x10ec0236, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0x90a60140}, +- {0x14, 0x90170150}, +- {0x21, 0x02211020}), +- SND_HDA_PIN_QUIRK(0x10ec0236, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x21, 0x02211020}), +- SND_HDA_PIN_QUIRK(0x10ec0236, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, +- {0x12, 0x40000000}, +- {0x14, 0x90170110}, +- {0x21, 0x02211020}), + SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE, + {0x14, 0x90170110}, + {0x21, 0x02211020}), +@@ -7823,6 +7809,9 @@ static const struct snd_hda_pin_quirk alc269_fallback_pin_fixup_tbl[] = { + SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, + {0x19, 0x40000000}, + {0x1a, 0x40000000}), ++ SND_HDA_PIN_QUIRK(0x10ec0236, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, ++ {0x19, 0x40000000}, ++ {0x1a, 0x40000000}), + {} + }; + +-- +2.20.1 + + +From 268e8ce52ad4278f6b94792483d3f8510b435b3e Mon Sep 17 00:00:00 2001 +From: Jens Verwiebe <info@jensverwiebe.de> +Date: Sun, 24 Nov 2019 13:35:44 +0100 +Subject: [PATCH 107/130] ALSA: usb-audio: Fix Focusrite Scarlett 6i6 gen1 - + input handling + +The Scarlett 6i6 has no padding on rear inputs 3/4 but a gainstage. +This patch introduces this functionality as to be seen in the mac +or windows scarlett control. + +The correct address could already be found in the dump info, but was +never used. Without this patch inputs 3/4 are quite unusable else. + +Signed-off-by: Jens Verwiebe <info@jensverwiebe.de> +Link: https://lore.kernel.org/r/384d65cd-5e87-91eb-9fc3-e57226f534c6@jensverwiebe.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit bf2aa5cadd1c7bb91af4b5b1218e643cfffb5c9a) +Bugzilla: 1772498 +--- + sound/usb/mixer_scarlett.c | 23 +++++++++++++++++++++-- + 1 file changed, 21 insertions(+), 2 deletions(-) + +diff --git a/sound/usb/mixer_scarlett.c b/sound/usb/mixer_scarlett.c +index 83715fd8dfd6..9d10cbf1b5ed 100644 +--- a/sound/usb/mixer_scarlett.c ++++ b/sound/usb/mixer_scarlett.c +@@ -142,6 +142,7 @@ enum { + SCARLETT_OUTPUTS, + SCARLETT_SWITCH_IMPEDANCE, + SCARLETT_SWITCH_PAD, ++ SCARLETT_SWITCH_GAIN, + }; + + enum { +@@ -192,6 +193,15 @@ static const struct scarlett_mixer_elem_enum_info opt_pad = { + } + }; + ++static const struct scarlett_mixer_elem_enum_info opt_gain = { ++ .start = 0, ++ .len = 2, ++ .offsets = {}, ++ .names = (char const * const []){ ++ "Lo", "Hi" ++ } ++}; ++ + static const struct scarlett_mixer_elem_enum_info opt_impedance = { + .start = 0, + .len = 2, +@@ -652,8 +662,8 @@ static struct scarlett_device_info s6i6_info = { + { .num = 1, .type = SCARLETT_SWITCH_PAD, .name = NULL}, + { .num = 2, .type = SCARLETT_SWITCH_IMPEDANCE, .name = NULL}, + { .num = 2, .type = SCARLETT_SWITCH_PAD, .name = NULL}, +- { .num = 3, .type = SCARLETT_SWITCH_PAD, .name = NULL}, +- { .num = 4, .type = SCARLETT_SWITCH_PAD, .name = NULL}, ++ { .num = 3, .type = SCARLETT_SWITCH_GAIN, .name = NULL}, ++ { .num = 4, .type = SCARLETT_SWITCH_GAIN, .name = NULL}, + }, + + .matrix_mux_init = { +@@ -883,6 +893,15 @@ static int scarlett_controls_create_generic(struct usb_mixer_interface *mixer, + if (err < 0) + return err; + break; ++ case SCARLETT_SWITCH_GAIN: ++ sprintf(mx, "Input %d Gain Switch", ctl->num); ++ err = add_new_ctl(mixer, &usb_scarlett_ctl_enum, ++ scarlett_ctl_enum_resume, 0x01, ++ 0x08, ctl->num, USB_MIXER_S16, 1, mx, ++ &opt_gain, &elem); ++ if (err < 0) ++ return err; ++ break; + } + } + +-- +2.20.1 + + +From 98db14f3c44954a5da1239328f4677808d5a3acf Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 1 Nov 2019 12:09:14 -0500 +Subject: [PATCH 108/130] ASoC: SOF: topology: fix missing NULL pointer check + +Add check to avoid possible NULL pointer dereference issue. + +This issue was reported by static analysis tools, we didn't face this +issue but we can't rule it out either as a false positive. + +Reported-by: Keqiao Zhang <keqiao.zhang@intel.com> +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101170916.26517-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 8cd73ce7ba6381feb9df763240dee3a6d4aff1ca) +Bugzilla: 1772498 +--- + sound/soc/sof/topology.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index 143b8259a70a..6096731e89ce 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -150,6 +150,11 @@ static int sof_keyword_dapm_event(struct snd_soc_dapm_widget *w, + + /* get runtime PCM params using widget's stream name */ + spcm = snd_sof_find_spcm_name(sdev, swidget->widget->sname); ++ if (!spcm) { ++ dev_err(sdev->dev, "error: cannot find PCM for %s\n", ++ swidget->widget->name); ++ return -EINVAL; ++ } + + /* process events */ + switch (event) { +-- +2.20.1 + + +From d00288a4c998c445288666abb202808ea2d0dd8b Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Fri, 1 Nov 2019 12:09:15 -0500 +Subject: [PATCH 109/130] ASoC: SOF: Intel: hda: set L1SEN on S0ix suspend + +Set L1SEN to make sure the system can enter S0ix, and restore it on +resume. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191101170916.26517-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 16299326a0cbbc88d4d6491a8ceebbfca81064c5) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda-dsp.c | 15 +++++++++++++++ + sound/soc/sof/intel/hda.h | 3 +++ + 2 files changed, 18 insertions(+) + +diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c +index 8cd5ecc01b62..4a4d318f97ff 100644 +--- a/sound/soc/sof/intel/hda-dsp.c ++++ b/sound/soc/sof/intel/hda-dsp.c +@@ -478,9 +478,16 @@ static int hda_resume(struct snd_sof_dev *sdev, bool runtime_resume) + + int hda_dsp_resume(struct snd_sof_dev *sdev) + { ++ struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; + struct pci_dev *pci = to_pci_dev(sdev->dev); + + if (sdev->s0_suspend) { ++ /* restore L1SEN bit */ ++ if (hda->l1_support_changed) ++ snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR, ++ HDA_VS_INTEL_EM2, ++ HDA_VS_INTEL_EM2_L1SEN, 0); ++ + /* restore and disable the system wakeup */ + pci_restore_state(pci); + disable_irq_wake(pci->irq); +@@ -518,11 +525,19 @@ int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev) + + int hda_dsp_suspend(struct snd_sof_dev *sdev) + { ++ struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; + struct hdac_bus *bus = sof_to_bus(sdev); + struct pci_dev *pci = to_pci_dev(sdev->dev); + int ret; + + if (sdev->s0_suspend) { ++ /* enable L1SEN to make sure the system can enter S0Ix */ ++ hda->l1_support_changed = ++ snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR, ++ HDA_VS_INTEL_EM2, ++ HDA_VS_INTEL_EM2_L1SEN, ++ HDA_VS_INTEL_EM2_L1SEN); ++ + /* enable the system waking up via IPC IRQ */ + enable_irq_wake(pci->irq); + pci_save_state(pci); +diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h +index 5ad73a34b09c..18d7e72bf9b7 100644 +--- a/sound/soc/sof/intel/hda.h ++++ b/sound/soc/sof/intel/hda.h +@@ -408,6 +408,9 @@ struct sof_intel_hda_dev { + + int irq; + ++ /* PM related */ ++ bool l1_support_changed;/* during suspend, is L1SEN changed or not */ ++ + /* DMIC device */ + struct platform_device *dmic_dev; + }; +-- +2.20.1 + + +From d1475f9cebf57b062ca025e4d87ecaa8f0955f8e Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Mon, 11 Nov 2019 16:29:01 -0600 +Subject: [PATCH 110/130] ASoC: SOF: Intel: hda: use fallback for firmware name + +We have platforms such as CFL with no known I2S codec being used, and +the ACPI tables are currently empty, so fall-back to using the +firmware filename used in nocodec mode + +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191111222901.19892-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 0af237d51a4e734db959a158185f79019f022f59) +Bugzilla: 1772498 +--- + sound/soc/sof/intel/hda.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c +index 7dc0018dc4c3..91bd88fddac7 100644 +--- a/sound/soc/sof/intel/hda.c ++++ b/sound/soc/sof/intel/hda.c +@@ -415,9 +415,16 @@ static int hda_init_caps(struct snd_sof_dev *sdev) + pdata->tplg_filename = + hda_mach->sof_tplg_filename; + +- /* firmware: pick the first in machine list */ ++ /* ++ * firmware: pick the first in machine list, ++ * or use nocodec firmware name if list is empty ++ */ + mach = pdata->desc->machines; +- pdata->fw_filename = mach->sof_fw_filename; ++ if (mach->id[0]) ++ pdata->fw_filename = mach->sof_fw_filename; ++ else ++ pdata->fw_filename = ++ pdata->desc->nocodec_fw_filename; + + dev_info(bus->dev, "using HDA machine driver %s now\n", + hda_mach->drv_name); +-- +2.20.1 + + +From 15f2f0826db2cd13a243fde28d9b7a6fd4b0428e Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Mon, 11 Nov 2019 16:33:40 -0600 +Subject: [PATCH 111/130] ASoC: SOF: PM: add state machine to comments + +Add Audio DSP state machine with comments. Note that the +'D0<-->runtime D0I3' part is not implemented yet. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191111223343.19986-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 74b4dd04b19cc03e1cc369d9c371cf4206367df4) +Bugzilla: 1772498 +--- + sound/soc/sof/pm.c | 32 ++++++++++++++++++++++++++++++++ + 1 file changed, 32 insertions(+) + +diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c +index 560a937e0484..3204c92f0e7d 100644 +--- a/sound/soc/sof/pm.c ++++ b/sound/soc/sof/pm.c +@@ -428,6 +428,38 @@ int snd_sof_set_d0_substate(struct snd_sof_dev *sdev, + } + EXPORT_SYMBOL(snd_sof_set_d0_substate); + ++/* ++ * Audio DSP states may transform as below:- ++ * ++ * D0I3 compatible stream ++ * Runtime +---------------------+ opened only, timeout ++ * suspend | +--------------------+ ++ * +------------+ D0(active) | | ++ * | | <---------------+ | ++ * | +--------> | | | ++ * | |Runtime +--^--+---------^--+--+ The last | | ++ * | |resume | | | | opened D0I3 | | ++ * | | | | | | compatible | | ++ * | | resume| | | | stream closed | | ++ * | | from | | D3 | | | | ++ * | | D3 | |suspend | | d0i3 | | ++ * | | | | | |suspend | | ++ * | | | | | | | | ++ * | | | | | | | | ++ * +-v---+-----------+--v-------+ | | +------+----v----+ ++ * | | | +-----------> | ++ * | D3 (suspended) | | | D0I3 +-----+ ++ * | | +--------------+ | | ++ * | | resume from | | | ++ * +-------------------^--------+ d0i3 suspend +----------------+ | ++ * | | ++ * | D3 suspend | ++ * +------------------------------------------------+ ++ * ++ * d0i3_suspend = s0_suspend && D0I3 stream opened, ++ * D3 suspend = !d0i3_suspend, ++ */ ++ + int snd_sof_resume(struct device *dev) + { + struct snd_sof_dev *sdev = dev_get_drvdata(dev); +-- +2.20.1 + + +From a42c0c91a4bb7e180473b81bf98c56384149bd1c Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Mon, 11 Nov 2019 16:33:41 -0600 +Subject: [PATCH 112/130] ASoC: SOF: PM: add check before setting d0_substate + +Add check before seeting d0_substate and return success if Audio DSP is +already in the target substate. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191111223343.19986-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 58a972efd21bb5adadd97f2546693ec64bfc99b9) +Bugzilla: 1772498 +--- + sound/soc/sof/pm.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c +index 3204c92f0e7d..b89810bf3230 100644 +--- a/sound/soc/sof/pm.c ++++ b/sound/soc/sof/pm.c +@@ -416,6 +416,9 @@ int snd_sof_set_d0_substate(struct snd_sof_dev *sdev, + { + int ret; + ++ if (sdev->d0_substate == d0_substate) ++ return 0; ++ + /* do platform specific set_state */ + ret = snd_sof_dsp_set_power_state(sdev, d0_substate); + if (ret < 0) +-- +2.20.1 + + +From bba0301fd9f218213736d2db9368bbc09346cbb5 Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Mon, 11 Nov 2019 16:33:42 -0600 +Subject: [PATCH 113/130] ASoC: SOF: add helper to check if we should enter + d0i3 suspend + +Add helper to check if the DSP should be put in D0i3. This function +returns true if a stream has ignored the SUSPEND trigger to keep the +pipelines running in the DSP. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191111223343.19986-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit a77e5d573f847d2f984c38eb711351326bc55258) +Bugzilla: 1772498 +--- + sound/soc/sof/core.c | 13 +++++++++++++ + sound/soc/sof/sof-priv.h | 2 ++ + 2 files changed, 15 insertions(+) + +diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c +index 8661c2cca76b..805918d3bcc0 100644 +--- a/sound/soc/sof/core.c ++++ b/sound/soc/sof/core.c +@@ -132,6 +132,19 @@ struct snd_sof_dai *snd_sof_find_dai(struct snd_sof_dev *sdev, + return NULL; + } + ++bool snd_sof_dsp_d0i3_on_suspend(struct snd_sof_dev *sdev) ++{ ++ struct snd_sof_pcm *spcm; ++ ++ list_for_each_entry(spcm, &sdev->pcm_list, list) { ++ if (spcm->stream[SNDRV_PCM_STREAM_PLAYBACK].suspend_ignored || ++ spcm->stream[SNDRV_PCM_STREAM_CAPTURE].suspend_ignored) ++ return true; ++ } ++ ++ return false; ++} ++ + /* + * FW Panic/fault handling. + */ +diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h +index 6408ac88a3e5..c7c2c70ee4d0 100644 +--- a/sound/soc/sof/sof-priv.h ++++ b/sound/soc/sof/sof-priv.h +@@ -553,6 +553,8 @@ struct snd_sof_pcm *snd_sof_find_spcm_dai(struct snd_sof_dev *sdev, + return NULL; + } + ++bool snd_sof_dsp_d0i3_on_suspend(struct snd_sof_dev *sdev); ++ + struct snd_sof_pcm *snd_sof_find_spcm_name(struct snd_sof_dev *sdev, + const char *name); + struct snd_sof_pcm *snd_sof_find_spcm_comp(struct snd_sof_dev *sdev, +-- +2.20.1 + + +From 37c30238887254ea800b5913475bd444fe0ba46d Mon Sep 17 00:00:00 2001 +From: Keyon Jie <yang.jie@linux.intel.com> +Date: Mon, 11 Nov 2019 16:33:43 -0600 +Subject: [PATCH 114/130] ASoC: SOF: PM: only suspend to D0I3 when needed + +We should suspend audio to D3 by default, for the sake of power saving, +change the condition of D0I3 suspending here to that when there is +stream with suspend_ignored specified. + +Signed-off-by: Keyon Jie <yang.jie@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191111223343.19986-5-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 5e35d5f4224adb24c2bfa814b9fb562050aba3ea) +Bugzilla: 1772498 +--- + sound/soc/sof/pm.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sound/soc/sof/pm.c b/sound/soc/sof/pm.c +index b89810bf3230..0fd5567237a8 100644 +--- a/sound/soc/sof/pm.c ++++ b/sound/soc/sof/pm.c +@@ -468,7 +468,7 @@ int snd_sof_resume(struct device *dev) + struct snd_sof_dev *sdev = dev_get_drvdata(dev); + int ret; + +- if (sdev->s0_suspend) { ++ if (snd_sof_dsp_d0i3_on_suspend(sdev)) { + /* resume from D0I3 */ + dev_dbg(sdev->dev, "DSP will exit from D0i3...\n"); + ret = snd_sof_set_d0_substate(sdev, SOF_DSP_D0I0); +@@ -497,7 +497,7 @@ int snd_sof_suspend(struct device *dev) + struct snd_sof_dev *sdev = dev_get_drvdata(dev); + int ret; + +- if (sdev->s0_suspend) { ++ if (snd_sof_dsp_d0i3_on_suspend(sdev)) { + /* suspend to D0i3 */ + dev_dbg(sdev->dev, "DSP is trying to enter D0i3...\n"); + ret = snd_sof_set_d0_substate(sdev, SOF_DSP_D0I3); +-- +2.20.1 + + +From 21fa58950c58b8b75e38f4cffac87e6058f0f01f Mon Sep 17 00:00:00 2001 +From: Dragos Tarcatu <dragos_tarcatu@mentor.com> +Date: Mon, 11 Nov 2019 16:20:38 -0600 +Subject: [PATCH 115/130] ASoC: SOF: topology: free kcontrol memory on error + +The volume and bytes kcontrols are currently not freeing their +memory on initialization failures. When an error occurs, all the +widgets loaded so far are unloaded via sof_widget_unload(). +But this only happens for the widgets that got successfully loaded. + +Fix that by kfree()-ing the allocated memory on load error. + +Fixes: 311ce4fe7637d ("ASoC: SOF: Add support for loading topologies") +Reviewed-by: Paul Olaru <paul.olaru@nxp.com> +Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Signed-off-by: Dragos Tarcatu <dragos_tarcatu@mentor.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191111222039.19651-1-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 1b4efdaf6d6053c8944cee0edba0969dc1be7d4b) +Bugzilla: 1772498 +--- + sound/soc/sof/topology.c | 67 +++++++++++++++++++++++++++++----------- + 1 file changed, 49 insertions(+), 18 deletions(-) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index 6096731e89ce..d82ab981e840 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -942,18 +942,22 @@ static int sof_control_load_volume(struct snd_soc_component *scomp, + struct sof_ipc_ctrl_data *cdata; + int tlv[TLV_ITEMS]; + unsigned int i; +- int ret; ++ int ret = 0; + + /* validate topology data */ +- if (le32_to_cpu(mc->num_channels) > SND_SOC_TPLG_MAX_CHAN) +- return -EINVAL; ++ if (le32_to_cpu(mc->num_channels) > SND_SOC_TPLG_MAX_CHAN) { ++ ret = -EINVAL; ++ goto out; ++ } + + /* init the volume get/put data */ + scontrol->size = struct_size(scontrol->control_data, chanv, + le32_to_cpu(mc->num_channels)); + scontrol->control_data = kzalloc(scontrol->size, GFP_KERNEL); +- if (!scontrol->control_data) +- return -ENOMEM; ++ if (!scontrol->control_data) { ++ ret = -ENOMEM; ++ goto out; ++ } + + scontrol->comp_id = sdev->next_comp_id; + scontrol->min_volume_step = le32_to_cpu(mc->min); +@@ -963,7 +967,7 @@ static int sof_control_load_volume(struct snd_soc_component *scomp, + /* set cmd for mixer control */ + if (le32_to_cpu(mc->max) == 1) { + scontrol->cmd = SOF_CTRL_CMD_SWITCH; +- goto out; ++ goto skip; + } + + scontrol->cmd = SOF_CTRL_CMD_VOLUME; +@@ -971,14 +975,15 @@ static int sof_control_load_volume(struct snd_soc_component *scomp, + /* extract tlv data */ + if (get_tlv_data(kc->tlv.p, tlv) < 0) { + dev_err(sdev->dev, "error: invalid TLV data\n"); +- return -EINVAL; ++ ret = -EINVAL; ++ goto out_free; + } + + /* set up volume table */ + ret = set_up_volume_table(scontrol, tlv, le32_to_cpu(mc->max) + 1); + if (ret < 0) { + dev_err(sdev->dev, "error: setting up volume table\n"); +- return ret; ++ goto out_free; + } + + /* set default volume values to 0dB in control */ +@@ -988,7 +993,7 @@ static int sof_control_load_volume(struct snd_soc_component *scomp, + cdata->chanv[i].value = VOL_ZERO_DB; + } + +-out: ++skip: + /* set up possible led control from mixer private data */ + ret = sof_parse_tokens(scomp, &scontrol->led_ctl, led_tokens, + ARRAY_SIZE(led_tokens), mc->priv.array, +@@ -996,13 +1001,21 @@ static int sof_control_load_volume(struct snd_soc_component *scomp, + if (ret != 0) { + dev_err(sdev->dev, "error: parse led tokens failed %d\n", + le32_to_cpu(mc->priv.size)); +- return ret; ++ goto out_free_table; + } + + dev_dbg(sdev->dev, "tplg: load kcontrol index %d chans %d\n", + scontrol->comp_id, scontrol->num_channels); + +- return 0; ++ return ret; ++ ++out_free_table: ++ if (le32_to_cpu(mc->max) > 1) ++ kfree(scontrol->volume_table); ++out_free: ++ kfree(scontrol->control_data); ++out: ++ return ret; + } + + static int sof_control_load_enum(struct snd_soc_component *scomp, +@@ -1047,6 +1060,7 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp, + container_of(hdr, struct snd_soc_tplg_bytes_control, hdr); + struct soc_bytes_ext *sbe = (struct soc_bytes_ext *)kc->private_value; + int max_size = sbe->max; ++ int ret = 0; + + /* init the get/put bytes data */ + scontrol->size = sizeof(struct sof_ipc_ctrl_data) + +@@ -1055,13 +1069,16 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp, + if (scontrol->size > max_size) { + dev_err(sdev->dev, "err: bytes data size %d exceeds max %d.\n", + scontrol->size, max_size); +- return -EINVAL; ++ ret = -EINVAL; ++ goto out; + } + + scontrol->control_data = kzalloc(max_size, GFP_KERNEL); + cdata = scontrol->control_data; +- if (!scontrol->control_data) +- return -ENOMEM; ++ if (!scontrol->control_data) { ++ ret = -ENOMEM; ++ goto out; ++ } + + scontrol->comp_id = sdev->next_comp_id; + scontrol->cmd = SOF_CTRL_CMD_BINARY; +@@ -1076,23 +1093,32 @@ static int sof_control_load_bytes(struct snd_soc_component *scomp, + if (cdata->data->magic != SOF_ABI_MAGIC) { + dev_err(sdev->dev, "error: Wrong ABI magic 0x%08x.\n", + cdata->data->magic); +- return -EINVAL; ++ ret = -EINVAL; ++ goto out_free; + } + if (SOF_ABI_VERSION_INCOMPATIBLE(SOF_ABI_VERSION, + cdata->data->abi)) { + dev_err(sdev->dev, + "error: Incompatible ABI version 0x%08x.\n", + cdata->data->abi); +- return -EINVAL; ++ ret = -EINVAL; ++ goto out_free; + } + if (cdata->data->size + sizeof(const struct sof_abi_hdr) != + le32_to_cpu(control->priv.size)) { + dev_err(sdev->dev, + "error: Conflict in bytes vs. priv size.\n"); +- return -EINVAL; ++ ret = -EINVAL; ++ goto out_free; + } + } +- return 0; ++ ++ return ret; ++ ++out_free: ++ kfree(scontrol->control_data); ++out: ++ return ret; + } + + /* external kcontrol init - used for any driver specific init */ +@@ -1150,6 +1176,11 @@ static int sof_control_load(struct snd_soc_component *scomp, int index, + return 0; + } + ++ if (ret < 0) { ++ kfree(scontrol); ++ return ret; ++ } ++ + dobj->private = scontrol; + list_add(&scontrol->list, &sdev->kcontrol_list); + return ret; +-- +2.20.1 + + +From 165ac3fd39d420dc48ff9e05142a6e07dbc249e0 Mon Sep 17 00:00:00 2001 +From: Liam Girdwood <liam.r.girdwood@linux.intel.com> +Date: Mon, 11 Nov 2019 16:29:00 -0600 +Subject: [PATCH 116/130] ASoC: SOF: Intel: Fix CFL and CML FW nocodec binary + names. + +The manifest information is different between CNL, CML and CFL platforms +hence we need to load different files. + +Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191111222901.19892-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 653c28afa76b45c570370c3c3a89975c68c5fc8e) +Bugzilla: 1772498 +--- + sound/soc/sof/sof-pci-dev.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c +index 3b58b91e7b9e..bbeffd932de7 100644 +--- a/sound/soc/sof/sof-pci-dev.c ++++ b/sound/soc/sof/sof-pci-dev.c +@@ -120,7 +120,7 @@ static const struct sof_dev_desc cnl_desc = { + + #if IS_ENABLED(CONFIG_SND_SOC_SOF_COFFEELAKE) + static const struct sof_dev_desc cfl_desc = { +- .machines = snd_soc_acpi_intel_cnl_machines, ++ .machines = snd_soc_acpi_intel_cfl_machines, + .resindex_lpe_base = 0, + .resindex_pcicfg_base = -1, + .resindex_imr_base = -1, +@@ -129,7 +129,7 @@ static const struct sof_dev_desc cfl_desc = { + .chip_info = &cnl_chip_info, + .default_fw_path = "intel/sof", + .default_tplg_path = "intel/sof-tplg", +- .nocodec_fw_filename = "sof-cnl.ri", ++ .nocodec_fw_filename = "sof-cfl.ri", + .nocodec_tplg_filename = "sof-cnl-nocodec.tplg", + .ops = &sof_cnl_ops, + .arch_ops = &sof_xtensa_arch_ops +@@ -140,7 +140,7 @@ static const struct sof_dev_desc cfl_desc = { + IS_ENABLED(CONFIG_SND_SOC_SOF_COMETLAKE_H) + + static const struct sof_dev_desc cml_desc = { +- .machines = snd_soc_acpi_intel_cnl_machines, ++ .machines = snd_soc_acpi_intel_cml_machines, + .resindex_lpe_base = 0, + .resindex_pcicfg_base = -1, + .resindex_imr_base = -1, +@@ -149,7 +149,7 @@ static const struct sof_dev_desc cml_desc = { + .chip_info = &cnl_chip_info, + .default_fw_path = "intel/sof", + .default_tplg_path = "intel/sof-tplg", +- .nocodec_fw_filename = "sof-cnl.ri", ++ .nocodec_fw_filename = "sof-cml.ri", + .nocodec_tplg_filename = "sof-cnl-nocodec.tplg", + .ops = &sof_cnl_ops, + .arch_ops = &sof_xtensa_arch_ops +-- +2.20.1 + + +From 6f3f161ac71319c1997170719e119f315a2251f6 Mon Sep 17 00:00:00 2001 +From: Krzysztof Kozlowski <krzk@kernel.org> +Date: Wed, 20 Nov 2019 21:32:52 +0800 +Subject: [PATCH 117/130] ASoC: Fix Kconfig indentation + +Adjust indentation from spaces to tab (+optional two spaces) as in +coding style with command like: + $ sed -e 's/^ /\t/' -i */Kconfig + +Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> +Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191120133252.6365-1-krzk@kernel.org +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 3efd72330543da44e82e9371dfb639802c886f6c) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Kconfig | 24 ++++++++++++------------ + sound/soc/sof/intel/Kconfig | 10 +++++----- + 2 files changed, 17 insertions(+), 17 deletions(-) + +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index 2702aefee775..ef20316e83d1 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -441,18 +441,18 @@ config SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH + If unsure select "N". + + config SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH +- tristate "CML with RT1011 and RT5682 in I2S Mode" +- depends on I2C && ACPI +- depends on MFD_INTEL_LPSS || COMPILE_TEST +- select SND_SOC_RT1011 +- select SND_SOC_RT5682 +- select SND_SOC_DMIC +- select SND_SOC_HDAC_HDMI +- help +- This adds support for ASoC machine driver for SOF platform with +- RT1011 + RT5682 I2S codec. +- Say Y if you have such a device. +- If unsure select "N". ++ tristate "CML with RT1011 and RT5682 in I2S Mode" ++ depends on I2C && ACPI ++ depends on MFD_INTEL_LPSS || COMPILE_TEST ++ select SND_SOC_RT1011 ++ select SND_SOC_RT5682 ++ select SND_SOC_DMIC ++ select SND_SOC_HDAC_HDMI ++ help ++ This adds support for ASoC machine driver for SOF platform with ++ RT1011 + RT5682 I2S codec. ++ Say Y if you have such a device. ++ If unsure select "N". + + endif ## SND_SOC_SOF_COMETLAKE_LP && SND_SOC_SOF_HDA_LINK + +diff --git a/sound/soc/sof/intel/Kconfig b/sound/soc/sof/intel/Kconfig +index b27fd3fdf335..cc09bb606f7d 100644 +--- a/sound/soc/sof/intel/Kconfig ++++ b/sound/soc/sof/intel/Kconfig +@@ -264,16 +264,16 @@ config SND_SOC_SOF_ELKHARTLAKE + config SND_SOC_SOF_JASPERLAKE_SUPPORT + bool "SOF support for JasperLake" + help +- This adds support for Sound Open Firmware for Intel(R) platforms +- using the JasperLake processors. +- Say Y if you have such a device. +- If unsure select "N". ++ This adds support for Sound Open Firmware for Intel(R) platforms ++ using the JasperLake processors. ++ Say Y if you have such a device. ++ If unsure select "N". + + config SND_SOC_SOF_JASPERLAKE + tristate + select SND_SOC_SOF_HDA_COMMON + help +- This option is not user-selectable but automagically handled by ++ This option is not user-selectable but automagically handled by + 'select' statements at a higher level + + config SND_SOC_SOF_HDA_COMMON +-- +2.20.1 + + +From 716051e31d6ac7c9c195f9f36e9b2d0bb7c1ee39 Mon Sep 17 00:00:00 2001 +From: Ben Zhang <benzh@chromium.org> +Date: Tue, 5 Nov 2019 17:13:27 -0800 +Subject: [PATCH 118/130] ASoC: bdw-rt5677: Add a DAI link for rt5677 SPI PCM + device + +This link is needed for the RT5677 DSP to do hotwording + +Signed-off-by: Ben Zhang <benzh@chromium.org> +Signed-off-by: Curtis Malainey <cujomalainey@chromium.org> +Link: https://lore.kernel.org/r/20191106011335.223061-3-cujomalainey@chromium.org +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 157b006f6be46be833b2941856b86e0a9d8bfb0e) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/bdw-rt5677.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/sound/soc/intel/boards/bdw-rt5677.c b/sound/soc/intel/boards/bdw-rt5677.c +index 4a4d3353e26d..eeb9a11e4e14 100644 +--- a/sound/soc/intel/boards/bdw-rt5677.c ++++ b/sound/soc/intel/boards/bdw-rt5677.c +@@ -74,6 +74,7 @@ static const struct snd_soc_dapm_route bdw_rt5677_map[] = { + /* CODEC BE connections */ + {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, + {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, ++ {"DSP Capture", NULL, "DSP Buffer"}, + }; + + static const struct snd_kcontrol_new bdw_rt5677_controls[] = { +@@ -258,6 +259,12 @@ SND_SOC_DAILINK_DEF(platform, + SND_SOC_DAILINK_DEF(be, + DAILINK_COMP_ARRAY(COMP_CODEC("i2c-RT5677CE:00", "rt5677-aif1"))); + ++/* Wake on voice interface */ ++SND_SOC_DAILINK_DEFS(dsp, ++ DAILINK_COMP_ARRAY(COMP_CPU("spi-RT5677AA:00")), ++ DAILINK_COMP_ARRAY(COMP_CODEC("i2c-RT5677CE:00", "rt5677-dspbuffer")), ++ DAILINK_COMP_ARRAY(COMP_PLATFORM("spi-RT5677AA:00"))); ++ + static struct snd_soc_dai_link bdw_rt5677_dais[] = { + /* Front End DAI links */ + { +@@ -276,6 +283,13 @@ static struct snd_soc_dai_link bdw_rt5677_dais[] = { + SND_SOC_DAILINK_REG(fe, dummy, platform), + }, + ++ /* Non-DPCM links */ ++ { ++ .name = "Codec DSP", ++ .stream_name = "Wake on Voice", ++ SND_SOC_DAILINK_REG(dsp), ++ }, ++ + /* Back End DAI links */ + { + /* SSP0 - Codec */ +-- +2.20.1 + + +From 0509dabb0d84b34fe4632eabc8aae3bf699dffb4 Mon Sep 17 00:00:00 2001 +From: Curtis Malainey <cujomalainey@chromium.org> +Date: Tue, 5 Nov 2019 17:13:34 -0800 +Subject: [PATCH 119/130] ASoC: bdw-rt5677: Turn on MCLK1 for DSP via DAPM + +The RT5677 DSP needs the I2S MCLK1 to run its DSP. Add a dapm route to +SSP0 CODEC IN so the clock is turned on automatically when the DSP is +turned on. + +Signed-off-by: Curtis Malainey <cujomalainey@chromium.org> +Link: https://lore.kernel.org/r/20191106011335.223061-10-cujomalainey@chromium.org +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 55229597a94531726878229ccfcd3fe4ec572dc3) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/bdw-rt5677.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/sound/soc/intel/boards/bdw-rt5677.c b/sound/soc/intel/boards/bdw-rt5677.c +index eeb9a11e4e14..b2475e3eff7b 100644 +--- a/sound/soc/intel/boards/bdw-rt5677.c ++++ b/sound/soc/intel/boards/bdw-rt5677.c +@@ -75,6 +75,10 @@ static const struct snd_soc_dapm_route bdw_rt5677_map[] = { + {"SSP0 CODEC IN", NULL, "AIF1 Capture"}, + {"AIF1 Playback", NULL, "SSP0 CODEC OUT"}, + {"DSP Capture", NULL, "DSP Buffer"}, ++ ++ /* DSP Clock Connections */ ++ { "DSP Buffer", NULL, "SSP0 CODEC IN" }, ++ { "SSP0 CODEC IN", NULL, "DSPTX" }, + }; + + static const struct snd_kcontrol_new bdw_rt5677_controls[] = { +-- +2.20.1 + + +From 4ed26c72c431638378a523c30aea7842a84b48d7 Mon Sep 17 00:00:00 2001 +From: Yu-Hsuan Hsu <yuhsuan@chromium.org> +Date: Tue, 24 Sep 2019 00:29:40 +0800 +Subject: [PATCH 120/130] ASoC: Intel: kbl_rt5663_rt5514_max98927: Add dmic + format constraint + +On KBL platform, the microphone is attached to external codec(rt5514) +instead of PCH. However, TDM slot between PCH and codec is 16 bits only. +In order to avoid setting wrong format, we should add a constraint to +force to use 16 bits format forever. + +Signed-off-by: Yu-Hsuan Hsu <yuhsuan@chromium.org> +Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20190923162940.199580-1-yuhsuan@chromium.org +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit e2db787bdcb4f2722ecf410168f0583764634e45) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +index a1056cda3dd7..3e5f6bead229 100644 +--- a/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c ++++ b/sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c +@@ -465,6 +465,9 @@ static int kabylake_dmic_startup(struct snd_pcm_substream *substream) + snd_pcm_hw_constraint_list(runtime, 0, SNDRV_PCM_HW_PARAM_CHANNELS, + dmic_constraints); + ++ runtime->hw.formats = SNDRV_PCM_FMTBIT_S16_LE; ++ snd_pcm_hw_constraint_msbits(runtime, 0, 16, 16); ++ + return snd_pcm_hw_constraint_list(substream->runtime, 0, + SNDRV_PCM_HW_PARAM_RATE, &constraints_rates); + } +-- +2.20.1 + + +From 0305b5a5db77305fc43a76efd39aed84c5561f96 Mon Sep 17 00:00:00 2001 +From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Date: Mon, 11 Nov 2019 16:28:59 -0600 +Subject: [PATCH 121/130] ASoC: Intel: acpi-match: split CNL tables in three + +Due to firmware manifest/signature differences, we have to use +different firmware names, so split CNL machine table in three (CNL, +CFL, CML). + +The CFL table is currently empty since all known platforms use +HDaudio, but let's plan ahead. + +Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191111222901.19892-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 1f24d93c4f4ec0bb0b73c5b020060aa2d9faa756) +Bugzilla: 1772498 +--- + include/sound/soc-acpi-intel-match.h | 2 + + sound/soc/intel/common/Makefile | 3 +- + .../intel/common/soc-acpi-intel-cfl-match.c | 18 ++++++ + .../intel/common/soc-acpi-intel-cml-match.c | 56 +++++++++++++++++++ + .../intel/common/soc-acpi-intel-cnl-match.c | 38 ------------- + 5 files changed, 78 insertions(+), 39 deletions(-) + create mode 100644 sound/soc/intel/common/soc-acpi-intel-cfl-match.c + create mode 100644 sound/soc/intel/common/soc-acpi-intel-cml-match.c + +diff --git a/include/sound/soc-acpi-intel-match.h b/include/sound/soc-acpi-intel-match.h +index 4e44782862df..20c0bee3b959 100644 +--- a/include/sound/soc-acpi-intel-match.h ++++ b/include/sound/soc-acpi-intel-match.h +@@ -24,6 +24,8 @@ extern struct snd_soc_acpi_mach snd_soc_acpi_intel_kbl_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_bxt_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_glk_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[]; ++extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cfl_machines[]; ++extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cml_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_icl_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_tgl_machines[]; + extern struct snd_soc_acpi_mach snd_soc_acpi_intel_ehl_machines[]; +diff --git a/sound/soc/intel/common/Makefile b/sound/soc/intel/common/Makefile +index eafe95ead49b..bd352878f89a 100644 +--- a/sound/soc/intel/common/Makefile ++++ b/sound/soc/intel/common/Makefile +@@ -7,7 +7,8 @@ snd-soc-acpi-intel-match-objs := soc-acpi-intel-byt-match.o soc-acpi-intel-cht-m + soc-acpi-intel-hsw-bdw-match.o \ + soc-acpi-intel-skl-match.o soc-acpi-intel-kbl-match.o \ + soc-acpi-intel-bxt-match.o soc-acpi-intel-glk-match.o \ +- soc-acpi-intel-cnl-match.o soc-acpi-intel-icl-match.o \ ++ soc-acpi-intel-cnl-match.o soc-acpi-intel-cfl-match.o \ ++ soc-acpi-intel-cml-match.o soc-acpi-intel-icl-match.o \ + soc-acpi-intel-tgl-match.o soc-acpi-intel-ehl-match.o \ + soc-acpi-intel-jsl-match.o \ + soc-acpi-intel-hda-match.o +diff --git a/sound/soc/intel/common/soc-acpi-intel-cfl-match.c b/sound/soc/intel/common/soc-acpi-intel-cfl-match.c +new file mode 100644 +index 000000000000..d6fd2026d0b8 +--- /dev/null ++++ b/sound/soc/intel/common/soc-acpi-intel-cfl-match.c +@@ -0,0 +1,18 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * soc-apci-intel-cfl-match.c - tables and support for CFL ACPI enumeration. ++ * ++ * Copyright (c) 2019, Intel Corporation. ++ * ++ */ ++ ++#include <sound/soc-acpi.h> ++#include <sound/soc-acpi-intel-match.h> ++ ++struct snd_soc_acpi_mach snd_soc_acpi_intel_cfl_machines[] = { ++ {}, ++}; ++EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cfl_machines); ++ ++MODULE_LICENSE("GPL v2"); ++MODULE_DESCRIPTION("Intel Common ACPI Match module"); +diff --git a/sound/soc/intel/common/soc-acpi-intel-cml-match.c b/sound/soc/intel/common/soc-acpi-intel-cml-match.c +new file mode 100644 +index 000000000000..5d08ae066738 +--- /dev/null ++++ b/sound/soc/intel/common/soc-acpi-intel-cml-match.c +@@ -0,0 +1,56 @@ ++// SPDX-License-Identifier: GPL-2.0 ++/* ++ * soc-acpi-intel-cml-match.c - tables and support for CML ACPI enumeration. ++ * ++ * Copyright (c) 2019, Intel Corporation. ++ * ++ */ ++ ++#include <sound/soc-acpi.h> ++#include <sound/soc-acpi-intel-match.h> ++ ++static struct snd_soc_acpi_codecs cml_codecs = { ++ .num_codecs = 1, ++ .codecs = {"10EC5682"} ++}; ++ ++static struct snd_soc_acpi_codecs cml_spk_codecs = { ++ .num_codecs = 1, ++ .codecs = {"MX98357A"} ++}; ++ ++struct snd_soc_acpi_mach snd_soc_acpi_intel_cml_machines[] = { ++ { ++ .id = "DLGS7219", ++ .drv_name = "cml_da7219_max98357a", ++ .quirk_data = &cml_spk_codecs, ++ .sof_fw_filename = "sof-cml.ri", ++ .sof_tplg_filename = "sof-cml-da7219-max98357a.tplg", ++ }, ++ { ++ .id = "MX98357A", ++ .drv_name = "sof_rt5682", ++ .quirk_data = &cml_codecs, ++ .sof_fw_filename = "sof-cml.ri", ++ .sof_tplg_filename = "sof-cml-rt5682-max98357a.tplg", ++ }, ++ { ++ .id = "10EC1011", ++ .drv_name = "cml_rt1011_rt5682", ++ .quirk_data = &cml_codecs, ++ .sof_fw_filename = "sof-cml.ri", ++ .sof_tplg_filename = "sof-cml-rt1011-rt5682.tplg", ++ }, ++ { ++ .id = "10EC5682", ++ .drv_name = "sof_rt5682", ++ .sof_fw_filename = "sof-cml.ri", ++ .sof_tplg_filename = "sof-cml-rt5682.tplg", ++ }, ++ ++ {}, ++}; ++EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cml_machines); ++ ++MODULE_LICENSE("GPL v2"); ++MODULE_DESCRIPTION("Intel Common ACPI Match module"); +diff --git a/sound/soc/intel/common/soc-acpi-intel-cnl-match.c b/sound/soc/intel/common/soc-acpi-intel-cnl-match.c +index 16d0bae8b316..27588841c8b0 100644 +--- a/sound/soc/intel/common/soc-acpi-intel-cnl-match.c ++++ b/sound/soc/intel/common/soc-acpi-intel-cnl-match.c +@@ -14,16 +14,6 @@ static struct skl_machine_pdata cnl_pdata = { + .use_tplg_pcm = true, + }; + +-static struct snd_soc_acpi_codecs cml_codecs = { +- .num_codecs = 1, +- .codecs = {"10EC5682"} +-}; +- +-static struct snd_soc_acpi_codecs cml_spk_codecs = { +- .num_codecs = 1, +- .codecs = {"MX98357A"} +-}; +- + struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = { + { + .id = "INT34C2", +@@ -33,34 +23,6 @@ struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_machines[] = { + .sof_fw_filename = "sof-cnl.ri", + .sof_tplg_filename = "sof-cnl-rt274.tplg", + }, +- { +- .id = "DLGS7219", +- .drv_name = "cml_da7219_max98357a", +- .quirk_data = &cml_spk_codecs, +- .sof_fw_filename = "sof-cnl.ri", +- .sof_tplg_filename = "sof-cml-da7219-max98357a.tplg", +- }, +- { +- .id = "MX98357A", +- .drv_name = "sof_rt5682", +- .quirk_data = &cml_codecs, +- .sof_fw_filename = "sof-cnl.ri", +- .sof_tplg_filename = "sof-cml-rt5682-max98357a.tplg", +- }, +- { +- .id = "10EC1011", +- .drv_name = "cml_rt1011_rt5682", +- .quirk_data = &cml_codecs, +- .sof_fw_filename = "sof-cnl.ri", +- .sof_tplg_filename = "sof-cml-rt1011-rt5682.tplg", +- }, +- { +- .id = "10EC5682", +- .drv_name = "sof_rt5682", +- .sof_fw_filename = "sof-cnl.ri", +- .sof_tplg_filename = "sof-cml-rt5682.tplg", +- }, +- + {}, + }; + EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_cnl_machines); +-- +2.20.1 + + +From 5013754204158edfa1252330c1120226af2dca7f Mon Sep 17 00:00:00 2001 +From: Hans de Goede <hdegoede@redhat.com> +Date: Tue, 19 Nov 2019 15:51:38 +0100 +Subject: [PATCH 122/130] ASoC: Intel: bytcr_rt5640: Update quirk for Acer + Switch 10 SW5-012 2-in-1 + +When the Acer Switch 10 SW5-012 quirk was added we did not have +jack-detection support yet; and the builtin microphone selection of +the original quirk is wrong too. + +Fix the microphone-input quirk and add jack-detection info so that the +internal-microphone and headphone/set jack on the Switch 10 work properly. + +Signed-off-by: Hans de Goede <hdegoede@redhat.com> +Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> +Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Link: https://lore.kernel.org/r/20191119145138.59162-1-hdegoede@redhat.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 0bb887709eb16bdc4b5baddd8337abf3de72917f) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/bytcr_rt5640.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c +index 9c1aa4ec9cba..dd2b5ad08659 100644 +--- a/sound/soc/intel/boards/bytcr_rt5640.c ++++ b/sound/soc/intel/boards/bytcr_rt5640.c +@@ -405,10 +405,12 @@ static const struct dmi_system_id byt_rt5640_quirk_table[] = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "Aspire SW5-012"), + }, +- .driver_data = (void *)(BYT_RT5640_IN1_MAP | +- BYT_RT5640_MCLK_EN | +- BYT_RT5640_SSP0_AIF1), +- ++ .driver_data = (void *)(BYT_RT5640_DMIC1_MAP | ++ BYT_RT5640_JD_SRC_JD2_IN4N | ++ BYT_RT5640_OVCD_TH_2000UA | ++ BYT_RT5640_OVCD_SF_0P75 | ++ BYT_RT5640_SSP0_AIF1 | ++ BYT_RT5640_MCLK_EN), + }, + { + .matches = { +-- +2.20.1 + + +From 418156f40c1686839ff690363a6174049cebf3e8 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Fri, 29 Nov 2019 15:40:27 +0100 +Subject: [PATCH 124/130] ALSA: hda - fixup for the bass speaker on Lenovo + Carbon X1 7th gen + +The auto-parser assigns the bass speaker to DAC3 (NID 0x06) which +is without the volume control. I do not see a reason to use DAC2, +because the shared output to all speakers produces the sufficient +and well balanced sound. The stereo support is enough for this +purpose (laptop). + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Link: https://lore.kernel.org/r/20191129144027.14765-1-perex@perex.cz +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit d2cd795c4ece1a24fda170c35eeb4f17d9826cbb) +Bugzilla: 1772498 +--- + sound/pci/hda/patch_realtek.c | 17 +++++++++++++++++ + 1 file changed, 17 insertions(+) + +diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c +index d2bf70a1d2fd..a596790d4245 100644 +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -5544,6 +5544,16 @@ static void alc295_fixup_disable_dac3(struct hda_codec *codec, + } + } + ++/* force NID 0x17 (Bass Speaker) to DAC1 to share it with the main speaker */ ++static void alc285_fixup_speaker2_to_dac1(struct hda_codec *codec, ++ const struct hda_fixup *fix, int action) ++{ ++ if (action == HDA_FIXUP_ACT_PRE_PROBE) { ++ hda_nid_t conn[1] = { 0x02 }; ++ snd_hda_override_conn_list(codec, 0x17, 1, conn); ++ } ++} ++ + /* Hook to update amp GPIO4 for automute */ + static void alc280_hp_gpio4_automute_hook(struct hda_codec *codec, + struct hda_jack_callback *jack) +@@ -5846,6 +5856,7 @@ enum { + ALC225_FIXUP_DISABLE_MIC_VREF, + ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, + ALC295_FIXUP_DISABLE_DAC3, ++ ALC285_FIXUP_SPEAKER2_TO_DAC1, + ALC280_FIXUP_HP_HEADSET_MIC, + ALC221_FIXUP_HP_FRONT_MIC, + ALC292_FIXUP_TPT460, +@@ -6646,6 +6657,10 @@ static const struct hda_fixup alc269_fixups[] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc295_fixup_disable_dac3, + }, ++ [ALC285_FIXUP_SPEAKER2_TO_DAC1] = { ++ .type = HDA_FIXUP_FUNC, ++ .v.func = alc285_fixup_speaker2_to_dac1, ++ }, + [ALC256_FIXUP_DELL_INSPIRON_7559_SUBWOOFER] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { +@@ -7221,6 +7236,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { + SND_PCI_QUIRK(0x17aa, 0x224c, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), + SND_PCI_QUIRK(0x17aa, 0x224d, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), + SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), ++ SND_PCI_QUIRK(0x17aa, 0x2293, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_SPEAKER2_TO_DAC1), + SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), + SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY), + SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION), +@@ -7405,6 +7421,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = { + {.id = ALC255_FIXUP_DELL_SPK_NOISE, .name = "dell-spk-noise"}, + {.id = ALC225_FIXUP_DELL1_MIC_NO_PRESENCE, .name = "alc225-dell1"}, + {.id = ALC295_FIXUP_DISABLE_DAC3, .name = "alc295-disable-dac3"}, ++ {.id = ALC285_FIXUP_SPEAKER2_TO_DAC1, .name = "alc285-speaker2-to-dac1"}, + {.id = ALC280_FIXUP_HP_HEADSET_MIC, .name = "alc280-hp-headset"}, + {.id = ALC221_FIXUP_HP_FRONT_MIC, .name = "alc221-hp-mic"}, + {.id = ALC298_FIXUP_SPK_VOLUME, .name = "alc298-spk-volume"}, +-- +2.20.1 + + +From a7ff4a018897902cb76e6946162f452e99747a0b Mon Sep 17 00:00:00 2001 +From: Takashi Iwai <tiwai@suse.de> +Date: Fri, 22 Nov 2019 14:26:24 +0100 +Subject: [PATCH 125/130] ALSA: hda/hdmi - Clear codec->relaxed_resume flag at + unbinding + +The HDMI codec may leave codec->relaxed_resume flag set even after +unbinding. Clear it unconditionally. + +It's very unlikely that this actually matters in the real use case, +so just a fix for consistency. + +Fixes: ade49db337a9 ("ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI") +Link: https://lore.kernel.org/r/20191122132624.5482-1-tiwai@suse.de +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 10a9594563415855bd99678ea4f91dea792e5499) +Bugzilla: 1772498 +--- + sound/pci/hda/patch_hdmi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c +index b35652cae616..5393da45b250 100644 +--- a/sound/pci/hda/patch_hdmi.c ++++ b/sound/pci/hda/patch_hdmi.c +@@ -2311,8 +2311,8 @@ static void generic_hdmi_free(struct hda_codec *codec) + snd_hdac_acomp_exit(&codec->bus->core); + } else if (codec_has_acomp(codec)) { + snd_hdac_acomp_register_notifier(&codec->bus->core, NULL); +- codec->relaxed_resume = 0; + } ++ codec->relaxed_resume = 0; + + for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) { + struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx); +-- +2.20.1 + + +From 396bdfdd1a2a119b724148d1e6911c6c1f76722b Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Fri, 22 Nov 2019 16:43:50 -0500 +Subject: [PATCH 126/130] ALSA: hda/hdmi - fix vgaswitcheroo detection for AMD + +Only enable the vga_switcheroo logic on systems with the +ATPX ACPI method. This logic is not needed for asics +that are not part of a PX (PowerXpress)/HG (Hybrid Graphics) +platform. + +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Acked-by: Evan Quan <evan.quan@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +Link: https://lore.kernel.org/r/20191122214353.582899-2-alexander.deucher@amd.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 586bc4aab878efcf672536f0cdec3d04b6990c94) +Bugzilla: 1772498 +--- + sound/pci/hda/hda_intel.c | 45 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 45 insertions(+) + +diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c +index e76a0bb6d3cf..ff098957e30f 100644 +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -35,6 +35,7 @@ + #include <linux/clocksource.h> + #include <linux/time.h> + #include <linux/completion.h> ++#include <linux/acpi.h> + + #ifdef CONFIG_X86 + /* for snoop control */ +@@ -1401,6 +1402,34 @@ static int azx_dev_free(struct snd_device *device) + } + + #ifdef SUPPORT_VGA_SWITCHEROO ++#ifdef CONFIG_ACPI ++/* ATPX is in the integrated GPU's namespace */ ++static bool atpx_present(void) ++{ ++ struct pci_dev *pdev = NULL; ++ acpi_handle dhandle, atpx_handle; ++ acpi_status status; ++ ++ while ((pdev = pci_get_class(PCI_BASE_CLASS_DISPLAY << 16, pdev)) != NULL) { ++ dhandle = ACPI_HANDLE(&pdev->dev); ++ if (dhandle) { ++ status = acpi_get_handle(dhandle, "ATPX", &atpx_handle); ++ if (!ACPI_FAILURE(status)) { ++ pci_dev_put(pdev); ++ return true; ++ } ++ } ++ pci_dev_put(pdev); ++ } ++ return false; ++} ++#else ++static bool atpx_present(void) ++{ ++ return false; ++} ++#endif ++ + /* + * Check of disabled HDMI controller by vga_switcheroo + */ +@@ -1412,6 +1441,22 @@ static struct pci_dev *get_bound_vga(struct pci_dev *pci) + switch (pci->vendor) { + case PCI_VENDOR_ID_ATI: + case PCI_VENDOR_ID_AMD: ++ if (pci->devfn == 1) { ++ p = pci_get_domain_bus_and_slot(pci_domain_nr(pci->bus), ++ pci->bus->number, 0); ++ if (p) { ++ /* ATPX is in the integrated GPU's ACPI namespace ++ * rather than the dGPU's namespace. However, ++ * the dGPU is the one who is involved in ++ * vgaswitcheroo. ++ */ ++ if (((p->class >> 16) == PCI_BASE_CLASS_DISPLAY) && ++ atpx_present()) ++ return p; ++ pci_dev_put(p); ++ } ++ } ++ break; + case PCI_VENDOR_ID_NVIDIA: + if (pci->devfn == 1) { + p = pci_get_domain_bus_and_slot(pci_domain_nr(pci->bus), +-- +2.20.1 + + +From a7347cade76e5cf325b36b01fd40fc8471c770a4 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Fri, 22 Nov 2019 16:43:51 -0500 +Subject: [PATCH 127/130] ALSA: hda/hdmi - Add new pci ids for AMD GPU display + audio + +These are needed so we can enable runtime pm in a subsequent +patch. + +Reviewed-by: Takashi Iwai <tiwai@suse.de> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +Link: https://lore.kernel.org/r/20191122214353.582899-3-alexander.deucher@amd.com +Signed-off-by: Takashi Iwai <tiwai@suse.de> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 8d68a87244a812323ce3f7d5022f9deda9db54b5) +Bugzilla: 1772498 +--- + sound/pci/hda/hda_intel.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c +index ff098957e30f..bc64d1565868 100644 +--- a/sound/pci/hda/hda_intel.c ++++ b/sound/pci/hda/hda_intel.c +@@ -2599,6 +2599,20 @@ static const struct pci_device_id azx_ids[] = { + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, + { PCI_DEVICE(0x1002, 0xaaf0), + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, ++ { PCI_DEVICE(0x1002, 0xaaf8), ++ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, ++ { PCI_DEVICE(0x1002, 0xab00), ++ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, ++ { PCI_DEVICE(0x1002, 0xab08), ++ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, ++ { PCI_DEVICE(0x1002, 0xab10), ++ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, ++ { PCI_DEVICE(0x1002, 0xab18), ++ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, ++ { PCI_DEVICE(0x1002, 0xab20), ++ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, ++ { PCI_DEVICE(0x1002, 0xab38), ++ .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS }, + /* VIA VT8251/VT8237A */ + { PCI_DEVICE(0x1106, 0x3288), .driver_data = AZX_DRIVER_VIA }, + /* VIA GFX VT7122/VX900 */ +-- +2.20.1 diff --git a/alsa-5.6.patch b/alsa-5.6.patch new file mode 100644 index 000000000..b128cc7e6 --- /dev/null +++ b/alsa-5.6.patch @@ -0,0 +1,390 @@ +From 4ef91c45a5a283dc8899402bc68adfe0aa9a026d Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Wed, 4 Dec 2019 15:15:44 -0600 +Subject: [PATCH 1/4] ASoC: intel/skl/hda - export number of digital + microphones via control components + +It is required for the auto-detection in the user space (for UCM). + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Cc: Mark Brown <broonie@kernel.org> +Link: https://lore.kernel.org/r/20191204211556.12671-2-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 8cd9956f61c65022209ce6d1e55ed12aea12357d) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/skl_hda_dsp_generic.c | 8 ++++++++ + sound/soc/sof/intel/hda.c | 3 ++- + 2 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/sound/soc/intel/boards/skl_hda_dsp_generic.c b/sound/soc/intel/boards/skl_hda_dsp_generic.c +index 4e45901e3a2f..11eaee9ae41f 100644 +--- a/sound/soc/intel/boards/skl_hda_dsp_generic.c ++++ b/sound/soc/intel/boards/skl_hda_dsp_generic.c +@@ -100,6 +100,8 @@ static struct snd_soc_card hda_soc_card = { + .late_probe = skl_hda_card_late_probe, + }; + ++static char hda_soc_components[30]; ++ + #define IDISP_DAI_COUNT 3 + #define HDAC_DAI_COUNT 2 + #define DMIC_DAI_COUNT 2 +@@ -183,6 +185,12 @@ static int skl_hda_audio_probe(struct platform_device *pdev) + hda_soc_card.dev = &pdev->dev; + snd_soc_card_set_drvdata(&hda_soc_card, ctx); + ++ if (mach->mach_params.dmic_num > 0) { ++ snprintf(hda_soc_components, sizeof(hda_soc_components), ++ "cfg-dmics:%d", mach->mach_params.dmic_num); ++ hda_soc_card.components = hda_soc_components; ++ } ++ + return devm_snd_soc_register_card(&pdev->dev, &hda_soc_card); + } + +diff --git a/sound/soc/sof/intel/hda.c b/sound/soc/sof/intel/hda.c +index 91bd88fddac7..eea01f75d23d 100644 +--- a/sound/soc/sof/intel/hda.c ++++ b/sound/soc/sof/intel/hda.c +@@ -351,7 +351,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) + const char *tplg_filename; + const char *idisp_str; + const char *dmic_str; +- int dmic_num; ++ int dmic_num = 0; + int codec_num = 0; + int i; + #endif +@@ -472,6 +472,7 @@ static int hda_init_caps(struct snd_sof_dev *sdev) + mach_params->codec_mask = bus->codec_mask; + mach_params->platform = dev_name(sdev->dev); + mach_params->common_hdmi_codec_drv = hda_codec_use_common_hdmi; ++ mach_params->dmic_num = dmic_num; + } + + /* create codec instances */ +-- +2.20.1 + + +From 89be5f69889f7e9aeab05279869bba3e9e0d2002 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Wed, 4 Dec 2019 15:15:45 -0600 +Subject: [PATCH 2/4] ASoC: Intel - use control components to describe card + config + +Use the control interface (field 'components' in the info structure) +to pass the I/O configuration details. The goal is to replace +the card long name with this. + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Cc: Mark Brown <broonie@kernel.org> +Link: https://lore.kernel.org/r/20191204211556.12671-3-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit 0d5c8187562848b619a35f2ffc5e18ce703e9f3d) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/bytcht_es8316.c | 9 ++++++++- + sound/soc/intel/boards/bytcr_rt5640.c | 6 ++++++ + sound/soc/intel/boards/bytcr_rt5651.c | 18 +++++++++++------- + 3 files changed, 25 insertions(+), 8 deletions(-) + +diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c +index 46612331f5ea..efa33f30dcac 100644 +--- a/sound/soc/intel/boards/bytcht_es8316.c ++++ b/sound/soc/intel/boards/bytcht_es8316.c +@@ -361,6 +361,7 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = { + /* SoC card */ + static char codec_name[SND_ACPI_I2C_ID_LEN]; + static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */ ++static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */ + + static int byt_cht_es8316_suspend(struct snd_soc_card *card) + { +@@ -572,11 +573,17 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev) + } + } + +- /* register the soc card */ ++ snprintf(components_string, sizeof(components_string), ++ "cfg-spk:%s cfg-mic:%s", ++ (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2", ++ mic_name[BYT_CHT_ES8316_MAP(quirk)]); ++ byt_cht_es8316_card.components = components_string; + snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic", + (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo", + mic_name[BYT_CHT_ES8316_MAP(quirk)]); + byt_cht_es8316_card.long_name = long_name; ++ ++ /* register the soc card */ + snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv); + + ret = devm_snd_soc_register_card(dev, &byt_cht_es8316_card); +diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c +index dd2b5ad08659..7bc6d3cec94c 100644 +--- a/sound/soc/intel/boards/bytcr_rt5640.c ++++ b/sound/soc/intel/boards/bytcr_rt5640.c +@@ -1083,6 +1083,7 @@ static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN]; + static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */ + static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */ + static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */ ++static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */ + + static int byt_rt5640_suspend(struct snd_soc_card *card) + { +@@ -1305,6 +1306,11 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev) + } + } + ++ snprintf(byt_rt5640_components, sizeof(byt_rt5640_components), ++ "cfg-spk:%s cfg-mic:%s", ++ (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2", ++ map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]); ++ byt_rt5640_card.components = byt_rt5640_components; + snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name), + "bytcr-rt5640-%s-spk-%s-mic", + (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? +diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c +index 4606f6f582d6..80a5674ddb1b 100644 +--- a/sound/soc/intel/boards/bytcr_rt5651.c ++++ b/sound/soc/intel/boards/bytcr_rt5651.c +@@ -798,6 +798,7 @@ static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN]; + static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */ + static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */ + static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */ ++static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */ + + static int byt_rt5651_suspend(struct snd_soc_card *card) + { +@@ -876,7 +877,6 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) + const char *platform_name; + struct acpi_device *adev; + struct device *codec_dev; +- const char *hp_swapped; + bool is_bytcr = false; + int ret_val = 0; + int dai_index = 0; +@@ -1080,16 +1080,20 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) + } + } + +- if (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) +- hp_swapped = "-hp-swapped"; +- else +- hp_swapped = ""; +- ++ snprintf(byt_rt5651_components, sizeof(byt_rt5651_components), ++ "cfg-spk:%s cfg-mic:%s%s", ++ (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? "1" : "2", ++ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], ++ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ? ++ " cfg-hp:lrswap" : ""); ++ byt_rt5651_card.components = byt_rt5651_components; + snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name), + "bytcr-rt5651-%s-spk-%s-mic%s", + (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? + "mono" : "stereo", +- mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], hp_swapped); ++ mic_name[BYT_RT5651_MAP(byt_rt5651_quirk)], ++ (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ? ++ "-hp-swapped" : ""); + byt_rt5651_card.long_name = byt_rt5651_long_name; + + /* override plaform name, if required */ +-- +2.20.1 + + +From 36c175e19e9cbb685708519d41e27cd803206737 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Wed, 4 Dec 2019 15:15:46 -0600 +Subject: [PATCH 3/4] ASoC: Intel - do not describe I/O configuration in the + long card name + +The long card name might be used in GUI. This information should be hidden. + +Add CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES configuration option. + +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> +Cc: Mark Brown <broonie@kernel.org> +Link: https://lore.kernel.org/r/20191204211556.12671-4-pierre-louis.bossart@linux.intel.com +Signed-off-by: Mark Brown <broonie@kernel.org> + +Signed-off-by: Jaroslav Kysela <jkysela@redhat.com> +(cherry picked from commit b5706f8ec29fb461571d25e3e813ede121fe31cd) +Bugzilla: 1772498 +--- + sound/soc/intel/boards/Kconfig | 13 +++++++++++++ + sound/soc/intel/boards/bytcht_es8316.c | 4 ++++ + sound/soc/intel/boards/bytcr_rt5640.c | 4 ++++ + sound/soc/intel/boards/bytcr_rt5651.c | 4 ++++ + 4 files changed, 25 insertions(+) + +diff --git a/sound/soc/intel/boards/Kconfig b/sound/soc/intel/boards/Kconfig +index ef20316e83d1..145eb55bd691 100644 +--- a/sound/soc/intel/boards/Kconfig ++++ b/sound/soc/intel/boards/Kconfig +@@ -13,6 +13,19 @@ menuconfig SND_SOC_INTEL_MACH + + if SND_SOC_INTEL_MACH + ++config SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES ++ bool "Use more user friendly long card names" ++ help ++ Some drivers report the I/O configuration to userspace through the ++ soundcard's long card name in the control user space AP. An unfortunate ++ side effect is that this long name may also be used by the GUI, ++ confusing users with information they don't need. ++ This option prevents the long name from being modified, and the I/O ++ configuration will be provided through a different component interface. ++ Select Y if userspace like UCM (Use Case Manager) uses the component ++ interface. ++ If unsure select N. ++ + if SND_SOC_INTEL_HASWELL + + config SND_SOC_INTEL_HASWELL_MACH +diff --git a/sound/soc/intel/boards/bytcht_es8316.c b/sound/soc/intel/boards/bytcht_es8316.c +index efa33f30dcac..12a1c5255484 100644 +--- a/sound/soc/intel/boards/bytcht_es8316.c ++++ b/sound/soc/intel/boards/bytcht_es8316.c +@@ -360,7 +360,9 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = { + + /* SoC card */ + static char codec_name[SND_ACPI_I2C_ID_LEN]; ++#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) + static char long_name[50]; /* = "bytcht-es8316-*-spk-*-mic" */ ++#endif + static char components_string[32]; /* = "cfg-spk:* cfg-mic:* */ + + static int byt_cht_es8316_suspend(struct snd_soc_card *card) +@@ -578,10 +580,12 @@ static int snd_byt_cht_es8316_mc_probe(struct platform_device *pdev) + (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "1" : "2", + mic_name[BYT_CHT_ES8316_MAP(quirk)]); + byt_cht_es8316_card.components = components_string; ++#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) + snprintf(long_name, sizeof(long_name), "bytcht-es8316-%s-spk-%s-mic", + (quirk & BYT_CHT_ES8316_MONO_SPEAKER) ? "mono" : "stereo", + mic_name[BYT_CHT_ES8316_MAP(quirk)]); + byt_cht_es8316_card.long_name = long_name; ++#endif + + /* register the soc card */ + snd_soc_card_set_drvdata(&byt_cht_es8316_card, priv); +diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c +index 7bc6d3cec94c..648fcc1d07b5 100644 +--- a/sound/soc/intel/boards/bytcr_rt5640.c ++++ b/sound/soc/intel/boards/bytcr_rt5640.c +@@ -1082,7 +1082,9 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = { + static char byt_rt5640_codec_name[SND_ACPI_I2C_ID_LEN]; + static char byt_rt5640_codec_aif_name[12]; /* = "rt5640-aif[1|2]" */ + static char byt_rt5640_cpu_dai_name[10]; /* = "ssp[0|2]-port" */ ++#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) + static char byt_rt5640_long_name[40]; /* = "bytcr-rt5640-*-spk-*-mic" */ ++#endif + static char byt_rt5640_components[32]; /* = "cfg-spk:* cfg-mic:*" */ + + static int byt_rt5640_suspend(struct snd_soc_card *card) +@@ -1311,12 +1313,14 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev) + (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? "1" : "2", + map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]); + byt_rt5640_card.components = byt_rt5640_components; ++#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) + snprintf(byt_rt5640_long_name, sizeof(byt_rt5640_long_name), + "bytcr-rt5640-%s-spk-%s-mic", + (byt_rt5640_quirk & BYT_RT5640_MONO_SPEAKER) ? + "mono" : "stereo", + map_name[BYT_RT5640_MAP(byt_rt5640_quirk)]); + byt_rt5640_card.long_name = byt_rt5640_long_name; ++#endif + + /* override plaform name, if required */ + platform_name = mach->mach_params.platform; +diff --git a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c +index 80a5674ddb1b..c0d322a859f7 100644 +--- a/sound/soc/intel/boards/bytcr_rt5651.c ++++ b/sound/soc/intel/boards/bytcr_rt5651.c +@@ -797,7 +797,9 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = { + static char byt_rt5651_codec_name[SND_ACPI_I2C_ID_LEN]; + static char byt_rt5651_codec_aif_name[12]; /* = "rt5651-aif[1|2]" */ + static char byt_rt5651_cpu_dai_name[10]; /* = "ssp[0|2]-port" */ ++#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) + static char byt_rt5651_long_name[50]; /* = "bytcr-rt5651-*-spk-*-mic[-swapped-hp]" */ ++#endif + static char byt_rt5651_components[50]; /* = "cfg-spk:* cfg-mic:*" */ + + static int byt_rt5651_suspend(struct snd_soc_card *card) +@@ -1087,6 +1089,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) + (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ? + " cfg-hp:lrswap" : ""); + byt_rt5651_card.components = byt_rt5651_components; ++#if !IS_ENABLED(CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES) + snprintf(byt_rt5651_long_name, sizeof(byt_rt5651_long_name), + "bytcr-rt5651-%s-spk-%s-mic%s", + (byt_rt5651_quirk & BYT_RT5651_MONO_SPEAKER) ? +@@ -1095,6 +1098,7 @@ static int snd_byt_rt5651_mc_probe(struct platform_device *pdev) + (byt_rt5651_quirk & BYT_RT5651_HP_LR_SWAPPED) ? + "-hp-swapped" : ""); + byt_rt5651_card.long_name = byt_rt5651_long_name; ++#endif + + /* override plaform name, if required */ + platform_name = mach->mach_params.platform; +-- +2.20.1 + + +From 9aa9b367e35494f2d02112ca440a78908f645a04 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela <perex@perex.cz> +Date: Fri, 22 Nov 2019 09:31:03 +0100 +Subject: [PATCH 4/4] ASoC: SOF - topology - do not change the link triger + order for old firmare + +This is patch for SOF v1.3 firmware. The DSP firmware will crash +without this patch. The 1.4.1 firmare has this issue fixed. + +BugLink: https://github.com/thesofproject/sof/issues/2102 +Signed-off-by: Jaroslav Kysela <perex@perex.cz> +--- + sound/soc/sof/topology.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c +index d82ab981e840..cbbbf96416ef 100644 +--- a/sound/soc/sof/topology.c ++++ b/sound/soc/sof/topology.c +@@ -2971,6 +2971,7 @@ static int sof_link_load(struct snd_soc_component *scomp, int index, + struct snd_soc_tplg_private *private = &cfg->priv; + struct sof_ipc_dai_config config; + struct snd_soc_tplg_hw_config *hw_config; ++ struct sof_ipc_fw_version *v = &sdev->fw_ready.version; + int num_hw_configs; + int ret; + int i = 0; +@@ -2988,9 +2989,12 @@ static int sof_link_load(struct snd_soc_component *scomp, int index, + if (!link->no_pcm) { + link->nonatomic = true; + +- /* set trigger order */ +- link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST; +- link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST; ++ /* this causes DSP panic on firmware v1.3 */ ++ if (SOF_ABI_VER(v->major, v->minor, v->micro) > SOF_ABI_VER(3, 7, 0)) { ++ /* set trigger order */ ++ link->trigger[0] = SND_SOC_DPCM_TRIGGER_POST; ++ link->trigger[1] = SND_SOC_DPCM_TRIGGER_POST; ++ } + + /* nothing more to do for FE dai links */ + return 0; +-- +2.20.1 + diff --git a/arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch b/arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch deleted file mode 100644 index f823a810b..000000000 --- a/arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch +++ /dev/null @@ -1,623 +0,0 @@ -From patchwork Thu Sep 5 14:51:12 2019 -Content-Type: text/plain; charset="utf-8" -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -X-Patchwork-Submitter: Lee Jones <lee.jones@linaro.org> -X-Patchwork-Id: 11133293 -Return-Path: - <SRS0=FLD0=XA=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org> -Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org - [172.30.200.123]) - by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EF29913BD - for <patchwork-linux-arm@patchwork.kernel.org>; - Thu, 5 Sep 2019 14:51:26 +0000 (UTC) -Received: from bombadil.infradead.org (bombadil.infradead.org - [198.137.202.133]) - (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) - (No client certificate requested) - by mail.kernel.org (Postfix) with ESMTPS id 1997020820 - for <patchwork-linux-arm@patchwork.kernel.org>; - Thu, 5 Sep 2019 14:51:27 +0000 (UTC) -Authentication-Results: mail.kernel.org; - dkim=pass (2048-bit key) header.d=lists.infradead.org - header.i=@lists.infradead.org header.b="QcCmRfwJ"; - dkim=fail reason="signature verification failed" (2048-bit key) - header.d=linaro.org header.i=@linaro.org header.b="UUIx2S2a" -DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1997020820 -Authentication-Results: mail.kernel.org; - dmarc=fail (p=none dis=none) header.from=linaro.org -Authentication-Results: mail.kernel.org; - spf=none - smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org -DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; - d=lists.infradead.org; s=bombadil.20170209; h=Sender: - Content-Transfer-Encoding:Content-Type:MIME-Version:Cc:List-Subscribe: - List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: - Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: - Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To: - References:List-Owner; bh=RFMjkhfiAb3mDQJcei/M3ErXIrcuIvXho1uY3CGaFs8=; b=QcC - mRfwJTEzsniFc2PQTDfopo/phWmprscia3e6OqRIHx0I6F8qNt3pLneLcx7MATAHPJHeD2Bfz/d1W - vk/w8leYRcdrNca/SkMK3grqwTP3XueqwIC3W59cpisOR1/MTcmZZ05pTYnppFox5HNzWRfOL6Z6r - CZvdTV7DVN0DYpv+NU1GnegQ3L8w/B1BaXGHVCPJjH/dHMLJ4OqBor2LD0dBQpYwROMamQbE3enrN - WGMNjdb3YYZU47m5stsgoivzulIOlOF5PKp+VY75IwHxck1S07mqhqxB9cmIvdEke7S9T1EpoIOJs - 2cu8v9rxofEpJNocOcSJeYiEpGj6qIA==; -Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) - by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) - id 1i5t6X-0000ra-3X; Thu, 05 Sep 2019 14:51:21 +0000 -Received: from mail-wm1-x343.google.com ([2a00:1450:4864:20::343]) - by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) - id 1i5t6S-0000r9-W3 - for linux-arm-kernel@lists.infradead.org; Thu, 05 Sep 2019 14:51:18 +0000 -Received: by mail-wm1-x343.google.com with SMTP id n10so3441823wmj.0 - for <linux-arm-kernel@lists.infradead.org>; - Thu, 05 Sep 2019 07:51:16 -0700 (PDT) -DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; - h=from:to:cc:subject:date:message-id; - bh=hP6dTKrGhmI4Li1vYBwvA5G00RWYLdiehRQLahBt/08=; - b=UUIx2S2a1OTzLYcxsOGi8vjYvnpXjIXXfjjInQmQhJrOoLVMUI4bMk0pP8K4hv5+v1 - bC+ahF3FezFlzFIlypiny7EYPPxM79sdZHZnnpe6qgrTfl/6guRvEmNJy8vpPadhocR8 - IW0JAJGxuc7RH4bWScdjpjBLvTYEo3MLTNDGuJOCB05O5AH8D6gSDZPqwaUWbITmdboy - JTOLJ37XUMxPF83r7F6BQwynpfcnLc9Ytv9w1tMp0R82MmO52QP457mar3d7PWPJu/Rw - YJb6IDjcjSjZJrr3aGvnJVnETp/zGeRsmeTgNtJe37OYQ5blm4tzTlx1dRxuMiRRs6DS - rUaA== -X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; - d=1e100.net; s=20161025; - h=x-gm-message-state:from:to:cc:subject:date:message-id; - bh=hP6dTKrGhmI4Li1vYBwvA5G00RWYLdiehRQLahBt/08=; - b=d2RovY2av4Dyx8Ou6LJ+nAvLFVrruV6de3b6OWCOF5mnVZA2T2tJEcsrZEGXSSpkiz - 1YxSkV7YgJJElZhqlfudvkyyxth7A1ZDQnU4x3QyppMQ5lWeHg/xT9+q+h7orxiRjQeX - 2J+SRG4WqZwcpbUSe95Wy2tPFVB5GYv1eyARjCARCpYOECeprtSl1ckDVyBJ/3G4AVLm - kB1xk3Ua101/bad3LA8IW1Zo0ld7x7u42jPYO7kJhPH8Ec/l0mrAVSIJn54PKoLu/DhW - yH6q+kD4LffmAtpj4ICo/rQdtmjV7msTJZ/Dcos9IpUPi5KoXbxWdP+NoUyaVleKhEIl - IYMA== -X-Gm-Message-State: APjAAAUQgezKycPxaZ7DvJWRiVy/0dp867xlik7J0fXQ60D99YKcuW0q - aRR9aWXTADWPSkrcTkd0a071Qw== -X-Google-Smtp-Source: - APXvYqybUDyw7bzKyC0JJlkse2i6lXau2tHY0+7iUxCwZcbyfwIDTqmYWXxNn26wfhgBAKudt68zBQ== -X-Received: by 2002:a1c:a404:: with SMTP id n4mr3206745wme.137.1567695075383; - Thu, 05 Sep 2019 07:51:15 -0700 (PDT) -Received: from localhost.localdomain ([95.147.198.36]) - by smtp.gmail.com with ESMTPSA id g201sm4376858wmg.34.2019.09.05.07.51.14 - (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); - Thu, 05 Sep 2019 07:51:14 -0700 (PDT) -From: Lee Jones <lee.jones@linaro.org> -To: agross@kernel.org, robh+dt@kernel.org, mark.rutland@arm.com, - bjorn.andersson@linaro.org, arnd@arndb.de -Subject: [PATCH v4 1/1] arm64: dts: qcom: Add Lenovo Yoga C630 -Date: Thu, 5 Sep 2019 15:51:12 +0100 -Message-Id: <20190905145112.7366-1-lee.jones@linaro.org> -X-Mailer: git-send-email 2.17.1 -X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 -X-CRM114-CacheID: sfid-20190905_075117_040430_5C619449 -X-CRM114-Status: GOOD ( 14.05 ) -X-Spam-Score: -0.2 (/) -X-Spam-Report: SpamAssassin version 3.4.2 on bombadil.infradead.org summary: - Content analysis details: (-0.2 points) - pts rule name description - ---- ---------------------- - -------------------------------------------------- - -0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/, - no trust [2a00:1450:4864:20:0:0:0:343 listed in] - [list.dnswl.org] - -0.0 SPF_PASS SPF: sender matches SPF record - 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record - -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from - envelope-from domain - -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from - author's domain - 0.1 DKIM_SIGNED Message has a DKIM or DK signature, - not necessarily - valid - -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -X-BeenThere: linux-arm-kernel@lists.infradead.org -X-Mailman-Version: 2.1.29 -Precedence: list -List-Id: <linux-arm-kernel.lists.infradead.org> -List-Unsubscribe: - <http://lists.infradead.org/mailman/options/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe> -List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/> -List-Post: <mailto:linux-arm-kernel@lists.infradead.org> -List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help> -List-Subscribe: - <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>, - <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe> -Cc: devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, - linux-kernel@vger.kernel.org, soc@kernel.org, - Lee Jones <lee.jones@linaro.org>, - linux-arm-kernel@lists.infradead.org -MIME-Version: 1.0 -Content-Type: text/plain; charset="us-ascii" -Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org> -Errors-To: - linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org - -From: Bjorn Andersson <bjorn.andersson@linaro.org> - -The Lenovo Yoga C630 is built on the SDM850 from Qualcomm, but this seem -to be similar enough to the SDM845 that we can reuse the sdm845.dtsi. - -Supported by this patch is: keyboard, battery monitoring, UFS storage, -USB host and Bluetooth. - -Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> -Reviewed-by: Vinod Koul <vkoul@kernel.org> -Acked-by: Sudeep Holla <sudeep.holla@arm.com> -[Lee] Reorder, change licence, remove non-upstream device node -Signed-off-by: Lee Jones <lee.jones@linaro.org> ---- - -Changelog: - * Reorder nodes alphabetically - * Remove superfluous node for driver not yet upstream - * Add (then remove) 'no-dma' property - * Change licence to BSD - -arch/arm64/boot/dts/qcom/Makefile | 1 + - .../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 446 ++++++++++++++++++ - 2 files changed, 447 insertions(+) - create mode 100644 arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts - -diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile -index 0a7e5dfce6f7..670c6c65f9e9 100644 ---- a/arch/arm64/boot/dts/qcom/Makefile -+++ b/arch/arm64/boot/dts/qcom/Makefile -@@ -12,5 +12,6 @@ dtb-$(CONFIG_ARCH_QCOM) += sdm845-cheza-r2.dtb - dtb-$(CONFIG_ARCH_QCOM) += sdm845-cheza-r3.dtb - dtb-$(CONFIG_ARCH_QCOM) += sdm845-db845c.dtb - dtb-$(CONFIG_ARCH_QCOM) += sdm845-mtp.dtb -+dtb-$(CONFIG_ARCH_QCOM) += sdm850-lenovo-yoga-c630.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-1000.dtb - dtb-$(CONFIG_ARCH_QCOM) += qcs404-evb-4000.dtb -diff --git a/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts -new file mode 100644 -index 000000000000..ded120d3aef5 ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts -@@ -0,0 +1,446 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Lenovo Yoga C630 -+ * -+ * Copyright (c) 2019, Linaro Ltd. -+ */ -+ -+/dts-v1/; -+ -+#include <dt-bindings/regulator/qcom,rpmh-regulator.h> -+#include "sdm845.dtsi" -+#include "pm8998.dtsi" -+ -+/ { -+ model = "Lenovo Yoga C630"; -+ compatible = "lenovo,yoga-c630", "qcom,sdm845"; -+ -+ aliases { -+ hsuart0 = &uart6; -+ }; -+}; -+ -+&apps_rsc { -+ pm8998-rpmh-regulators { -+ compatible = "qcom,pm8998-rpmh-regulators"; -+ qcom,pmic-id = "a"; -+ -+ vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; -+ vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; -+ -+ vreg_s2a_1p125: smps2 { -+ }; -+ -+ vreg_s3a_1p35: smps3 { -+ regulator-min-microvolt = <1352000>; -+ regulator-max-microvolt = <1352000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_s4a_1p8: smps4 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_s5a_2p04: smps5 { -+ regulator-min-microvolt = <2040000>; -+ regulator-max-microvolt = <2040000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_s7a_1p025: smps7 { -+ }; -+ -+ vdd_qusb_hs0: -+ vdda_hp_pcie_core: -+ vdda_mipi_csi0_0p9: -+ vdda_mipi_csi1_0p9: -+ vdda_mipi_csi2_0p9: -+ vdda_mipi_dsi0_pll: -+ vdda_mipi_dsi1_pll: -+ vdda_qlink_lv: -+ vdda_qlink_lv_ck: -+ vdda_qrefs_0p875: -+ vdda_pcie_core: -+ vdda_pll_cc_ebi01: -+ vdda_pll_cc_ebi23: -+ vdda_sp_sensor: -+ vdda_ufs1_core: -+ vdda_ufs2_core: -+ vdda_usb1_ss_core: -+ vdda_usb2_ss_core: -+ vreg_l1a_0p875: ldo1 { -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <880000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vddpx_10: -+ vreg_l2a_1p2: ldo2 { -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ regulator-always-on; -+ }; -+ -+ vreg_l3a_1p0: ldo3 { -+ }; -+ -+ vdd_wcss_cx: -+ vdd_wcss_mx: -+ vdda_wcss_pll: -+ vreg_l5a_0p8: ldo5 { -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <800000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vddpx_13: -+ vreg_l6a_1p8: ldo6 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_l7a_1p8: ldo7 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_l8a_1p2: ldo8 { -+ }; -+ -+ vreg_l9a_1p8: ldo9 { -+ }; -+ -+ vreg_l10a_1p8: ldo10 { -+ }; -+ -+ vreg_l11a_1p0: ldo11 { -+ }; -+ -+ vdd_qfprom: -+ vdd_qfprom_sp: -+ vdda_apc1_cs_1p8: -+ vdda_gfx_cs_1p8: -+ vdda_qrefs_1p8: -+ vdda_qusb_hs0_1p8: -+ vddpx_11: -+ vreg_l12a_1p8: ldo12 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vddpx_2: -+ vreg_l13a_2p95: ldo13 { -+ }; -+ -+ vreg_l14a_1p88: ldo14 { -+ regulator-min-microvolt = <1880000>; -+ regulator-max-microvolt = <1880000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ regulator-always-on; -+ }; -+ -+ vreg_l15a_1p8: ldo15 { -+ }; -+ -+ vreg_l16a_2p7: ldo16 { -+ }; -+ -+ vreg_l17a_1p3: ldo17 { -+ regulator-min-microvolt = <1304000>; -+ regulator-max-microvolt = <1304000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_l18a_2p7: ldo18 { -+ }; -+ -+ vreg_l19a_3p0: ldo19 { -+ regulator-min-microvolt = <3100000>; -+ regulator-max-microvolt = <3108000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_l20a_2p95: ldo20 { -+ regulator-min-microvolt = <2960000>; -+ regulator-max-microvolt = <2960000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_l21a_2p95: ldo21 { -+ }; -+ -+ vreg_l22a_2p85: ldo22 { -+ }; -+ -+ vreg_l23a_3p3: ldo23 { -+ }; -+ -+ vdda_qusb_hs0_3p1: -+ vreg_l24a_3p075: ldo24 { -+ regulator-min-microvolt = <3075000>; -+ regulator-max-microvolt = <3083000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_l25a_3p3: ldo25 { -+ regulator-min-microvolt = <3104000>; -+ regulator-max-microvolt = <3112000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vdda_hp_pcie_1p2: -+ vdda_hv_ebi0: -+ vdda_hv_ebi1: -+ vdda_hv_ebi2: -+ vdda_hv_ebi3: -+ vdda_mipi_csi_1p25: -+ vdda_mipi_dsi0_1p2: -+ vdda_mipi_dsi1_1p2: -+ vdda_pcie_1p2: -+ vdda_ufs1_1p2: -+ vdda_ufs2_1p2: -+ vdda_usb1_ss_1p2: -+ vdda_usb2_ss_1p2: -+ vreg_l26a_1p2: ldo26 { -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1208000>; -+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; -+ }; -+ -+ vreg_l28a_3p0: ldo28 { -+ }; -+ -+ vreg_lvs1a_1p8: lvs1 { -+ }; -+ -+ vreg_lvs2a_1p8: lvs2 { -+ }; -+ }; -+}; -+ -+&apps_smmu { -+ /* TODO: Figure out how to survive booting with this enabled */ -+ status = "disabled"; -+}; -+ -+&gcc { -+ protected-clocks = <GCC_QSPI_CORE_CLK>, -+ <GCC_QSPI_CORE_CLK_SRC>, -+ <GCC_QSPI_CNOC_PERIPH_AHB_CLK>; -+}; -+ -+&i2c1 { -+ status = "okay"; -+ clock-frequency = <400000>; -+}; -+ -+&i2c3 { -+ status = "okay"; -+ clock-frequency = <400000>; -+ -+ hid@15 { -+ compatible = "hid-over-i2c"; -+ reg = <0x15>; -+ hid-descr-addr = <0x1>; -+ -+ interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>; -+ }; -+ -+ hid@2c { -+ compatible = "hid-over-i2c"; -+ reg = <0x2c>; -+ hid-descr-addr = <0x20>; -+ -+ interrupts-extended = <&tlmm 37 IRQ_TYPE_EDGE_RISING>; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c2_hid_active>; -+ }; -+}; -+ -+&i2c5 { -+ status = "okay"; -+ clock-frequency = <400000>; -+ -+ hid@10 { -+ compatible = "hid-over-i2c"; -+ reg = <0x10>; -+ hid-descr-addr = <0x1>; -+ -+ interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c6_hid_active>; -+ }; -+}; -+ -+&i2c11 { -+ status = "okay"; -+ clock-frequency = <400000>; -+ -+ hid@5c { -+ compatible = "hid-over-i2c"; -+ reg = <0x5c>; -+ hid-descr-addr = <0x1>; -+ -+ interrupts-extended = <&tlmm 92 IRQ_TYPE_LEVEL_LOW>; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c12_hid_active>; -+ }; -+}; -+ -+&qup_i2c12_default { -+ drive-strength = <2>; -+ bias-disable; -+}; -+ -+&qup_uart6_default { -+ pinmux { -+ pins = "gpio45", "gpio46", "gpio47", "gpio48"; -+ function = "qup6"; -+ }; -+ -+ cts { -+ pins = "gpio45"; -+ bias-pull-down; -+ }; -+ -+ rts-tx { -+ pins = "gpio46", "gpio47"; -+ drive-strength = <2>; -+ bias-disable; -+ }; -+ -+ rx { -+ pins = "gpio48"; -+ bias-pull-up; -+ }; -+}; -+ -+&qupv3_id_0 { -+ status = "okay"; -+}; -+ -+&qupv3_id_1 { -+ status = "okay"; -+}; -+ -+&tlmm { -+ gpio-reserved-ranges = <0 4>, <81 4>; -+ -+ i2c2_hid_active: i2c2-hid-active { -+ pins = <37>; -+ function = "gpio"; -+ -+ input-enable; -+ bias-pull-up; -+ drive-strength = <2>; -+ }; -+ -+ i2c6_hid_active: i2c6-hid-active { -+ pins = <125>; -+ function = "gpio"; -+ -+ input-enable; -+ bias-pull-up; -+ drive-strength = <2>; -+ }; -+ -+ i2c12_hid_active: i2c12-hid-active { -+ pins = <92>; -+ function = "gpio"; -+ -+ input-enable; -+ bias-pull-up; -+ drive-strength = <2>; -+ }; -+}; -+ -+&uart6 { -+ status = "okay"; -+ -+ bluetooth { -+ compatible = "qcom,wcn3990-bt"; -+ -+ vddio-supply = <&vreg_s4a_1p8>; -+ vddxo-supply = <&vreg_l7a_1p8>; -+ vddrf-supply = <&vreg_l17a_1p3>; -+ vddch0-supply = <&vreg_l25a_3p3>; -+ max-speed = <3200000>; -+ }; -+}; -+ -+&ufs_mem_hc { -+ status = "okay"; -+ -+ vcc-supply = <&vreg_l20a_2p95>; -+ vcc-max-microamp = <600000>; -+}; -+ -+&ufs_mem_phy { -+ status = "okay"; -+ -+ vdda-phy-supply = <&vdda_ufs1_core>; -+ vdda-pll-supply = <&vdda_ufs1_1p2>; -+}; -+ -+&usb_1 { -+ status = "okay"; -+}; -+ -+&usb_1_dwc3 { -+ dr_mode = "host"; -+}; -+ -+&usb_1_hsphy { -+ status = "okay"; -+ -+ vdd-supply = <&vdda_usb1_ss_core>; -+ vdda-pll-supply = <&vdda_qusb_hs0_1p8>; -+ vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; -+ -+ qcom,imp-res-offset-value = <8>; -+ qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; -+ qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; -+ qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; -+}; -+ -+&usb_1_qmpphy { -+ status = "okay"; -+ -+ vdda-phy-supply = <&vdda_usb1_ss_1p2>; -+ vdda-pll-supply = <&vdda_usb1_ss_core>; -+}; -+ -+&usb_2 { -+ status = "okay"; -+}; -+ -+&usb_2_dwc3 { -+ dr_mode = "host"; -+}; -+ -+&usb_2_hsphy { -+ status = "okay"; -+ -+ vdd-supply = <&vdda_usb2_ss_core>; -+ vdda-pll-supply = <&vdda_qusb_hs0_1p8>; -+ vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; -+ -+ qcom,imp-res-offset-value = <8>; -+ qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_22_8_MA>; -+}; -+ -+&usb_2_qmpphy { -+ status = "okay"; -+ -+ vdda-phy-supply = <&vdda_usb2_ss_1p2>; -+ vdda-pll-supply = <&vdda_usb2_ss_core>; -+}; diff --git a/ath9k-rx-dma-stop-check.patch b/ath9k-rx-dma-stop-check.patch deleted file mode 100644 index 40cbafc7b..000000000 --- a/ath9k-rx-dma-stop-check.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: "kernel-team@fedoraproject.org" <kernel-team@fedoraproject.org> -Date: Wed, 6 Feb 2013 09:57:47 -0500 -Subject: [PATCH] ath9k: rx dma stop check - ---- - drivers/net/wireless/ath/ath9k/mac.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c -index bba85d1a6cd1..ebbee8f17130 100644 ---- a/drivers/net/wireless/ath/ath9k/mac.c -+++ b/drivers/net/wireless/ath/ath9k/mac.c -@@ -693,7 +693,7 @@ bool ath9k_hw_stopdmarecv(struct ath_hw *ah, bool *reset) - { - #define AH_RX_STOP_DMA_TIMEOUT 10000 /* usec */ - struct ath_common *common = ath9k_hw_common(ah); -- u32 mac_status, last_mac_status = 0; -+ u32 mac_status = 0, last_mac_status = 0; - int i; - - /* Enable access to the DMA observation bus */ -@@ -723,6 +723,16 @@ bool ath9k_hw_stopdmarecv(struct ath_hw *ah, bool *reset) - } - - if (i == 0) { -+ if (!AR_SREV_9300_20_OR_LATER(ah) && -+ (mac_status & 0x700) == 0) { -+ /* -+ * DMA is idle but the MAC is still stuck -+ * processing events -+ */ -+ *reset = true; -+ return true; -+ } -+ - ath_err(common, - "DMA failed to stop in %d ms AR_CR=0x%08x AR_DIAG_SW=0x%08x DMADBG_7=0x%08x\n", - AH_RX_STOP_DMA_TIMEOUT / 1000, diff --git a/check-kabi b/check-kabi new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/check-kabi diff --git a/configs/build_configs.sh b/configs/build_configs.sh index 61c3c0455..4ccb0dc2e 100755 --- a/configs/build_configs.sh +++ b/configs/build_configs.sh @@ -19,8 +19,6 @@ cd $SCRIPT_DIR set errexit set nounset -control_file="config_generation" - cleanup() { rm -f config-* @@ -52,7 +50,9 @@ function merge_configs() arch=$(echo "$archvar" | cut -f1 -d"-") configs=$2 order=$3 - name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar.config + flavor=$4 + + name=$OUTPUT_DIR/$PACKAGE_NAME-$archvar-$flavor.config echo -n "Building $name ... " touch config-merging config-merged @@ -95,33 +95,55 @@ function merge_configs() echo "done" } -while read line -do - if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then - continue - elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then - continue - elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then - order=$(echo "$line" | cut -f2 -d"=") - for o in $order - do - glist=$(find $o -type d) - for d in $glist +function build_flavor() +{ + flavor=$1 + control_file="priority".$flavor + while read line + do + if [ $(echo "$line" | grep -c "^#") -ne 0 ]; then + continue + elif [ $(echo "$line" | grep -c "^$") -ne 0 ]; then + continue + elif [ $(echo "$line" | grep -c "^EMPTY") -ne 0 ]; then + empty=$(echo "$line" | cut -f2 -d"=") + for a in $empty + do + echo "# EMPTY" > $OUTPUT_DIR/$PACKAGE_NAME-$a-$flavor.config + + done + elif [ $(echo "$line" | grep -c "^ORDER") -ne 0 ]; then + order=$(echo "$line" | cut -f2 -d"=") + for o in $order do - combine_config_layer $d + glist=$(find $o -type d) + for d in $glist + do + combine_config_layer $d + done done - done - else - arch=$(echo "$line" | cut -f1 -d"=") - configs=$(echo "$line" | cut -f2 -d"=") + else + arch=$(echo "$line" | cut -f1 -d"=") + configs=$(echo "$line" | cut -f2 -d"=") + + if [ -n "$SUBARCH" ]; then + case $arch in + $SUBARCH*) + ;; + *) + continue + esac + fi - if [ -n "$SUBARCH" -a "$SUBARCH" != "$arch" ]; then - continue + merge_configs $arch $configs "$order" $flavor fi + done < $control_file +} - merge_configs $arch $configs "$order" - fi -done < $control_file +while read line +do + build_flavor $line +done < flavors # A passed in kernel version implies copy to final location # otherwise defer to another script diff --git a/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE b/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE deleted file mode 100644 index 48732e524..000000000 --- a/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 diff --git a/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE b/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE new file mode 100644 index 000000000..fbfa0f399 --- /dev/null +++ b/configs/fedora/debug/CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE @@ -0,0 +1 @@ +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000 diff --git a/configs/fedora/debug/x86/x86_64/CONFIG_NR_CPUS b/configs/fedora/debug/x86/x86_64/CONFIG_NR_CPUS deleted file mode 100644 index 441191641..000000000 --- a/configs/fedora/debug/x86/x86_64/CONFIG_NR_CPUS +++ /dev/null @@ -1 +0,0 @@ -CONFIG_NR_CPUS=8192 diff --git a/configs/fedora/debug/x86/x86_64/README b/configs/fedora/debug/x86/x86_64/README new file mode 100644 index 000000000..fa1c296db --- /dev/null +++ b/configs/fedora/debug/x86/x86_64/README @@ -0,0 +1,2 @@ +Place config options in this directory that you want applied to x86_64 +debug kernel variant. diff --git a/configs/fedora/generic/CONFIG_ADIN_PHY b/configs/fedora/generic/CONFIG_ADIN_PHY new file mode 100644 index 000000000..7fc6478a5 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ADIN_PHY @@ -0,0 +1 @@ +CONFIG_ADIN_PHY=m diff --git a/configs/fedora/generic/CONFIG_ADIS16460 b/configs/fedora/generic/CONFIG_ADIS16460 new file mode 100644 index 000000000..e3f206072 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ADIS16460 @@ -0,0 +1 @@ +# CONFIG_ADIS16460 is not set diff --git a/configs/fedora/generic/CONFIG_AMD_XGBE b/configs/fedora/generic/CONFIG_AMD_XGBE deleted file mode 100644 index bc3c626e4..000000000 --- a/configs/fedora/generic/CONFIG_AMD_XGBE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_AMD_XGBE is not set diff --git a/configs/fedora/generic/CONFIG_ARCH_IOP13XX b/configs/fedora/generic/CONFIG_ARCH_IOP13XX deleted file mode 100644 index afcc30683..000000000 --- a/configs/fedora/generic/CONFIG_ARCH_IOP13XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_IOP13XX is not set diff --git a/configs/fedora/generic/CONFIG_ARCH_IOP33X b/configs/fedora/generic/CONFIG_ARCH_IOP33X deleted file mode 100644 index 810b89131..000000000 --- a/configs/fedora/generic/CONFIG_ARCH_IOP33X +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_IOP33X is not set diff --git a/configs/fedora/generic/CONFIG_ARCH_KS8695 b/configs/fedora/generic/CONFIG_ARCH_KS8695 deleted file mode 100644 index 065baadb5..000000000 --- a/configs/fedora/generic/CONFIG_ARCH_KS8695 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_KS8695 is not set diff --git a/configs/fedora/generic/CONFIG_ARCH_LPC32XX b/configs/fedora/generic/CONFIG_ARCH_LPC32XX deleted file mode 100644 index 309e5f041..000000000 --- a/configs/fedora/generic/CONFIG_ARCH_LPC32XX +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_LPC32XX is not set diff --git a/configs/fedora/generic/CONFIG_ARCH_W90X900 b/configs/fedora/generic/CONFIG_ARCH_W90X900 deleted file mode 100644 index cf8f40c7e..000000000 --- a/configs/fedora/generic/CONFIG_ARCH_W90X900 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_ARCH_W90X900 is not set diff --git a/configs/fedora/generic/CONFIG_ATH9K_PCI_NO_EEPROM b/configs/fedora/generic/CONFIG_ATH9K_PCI_NO_EEPROM new file mode 100644 index 000000000..941b59840 --- /dev/null +++ b/configs/fedora/generic/CONFIG_ATH9K_PCI_NO_EEPROM @@ -0,0 +1 @@ +CONFIG_ATH9K_PCI_NO_EEPROM=m diff --git a/configs/fedora/generic/CONFIG_BLK_CGROUP_IOCOST b/configs/fedora/generic/CONFIG_BLK_CGROUP_IOCOST new file mode 100644 index 000000000..b5de16173 --- /dev/null +++ b/configs/fedora/generic/CONFIG_BLK_CGROUP_IOCOST @@ -0,0 +1 @@ +CONFIG_BLK_CGROUP_IOCOST=y diff --git a/configs/fedora/generic/CONFIG_CAN_F81601 b/configs/fedora/generic/CONFIG_CAN_F81601 new file mode 100644 index 000000000..b24d08ba4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CAN_F81601 @@ -0,0 +1 @@ +# CONFIG_CAN_F81601 is not set diff --git a/configs/fedora/generic/CONFIG_CAN_J1939 b/configs/fedora/generic/CONFIG_CAN_J1939 new file mode 100644 index 000000000..388031677 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CAN_J1939 @@ -0,0 +1 @@ +# CONFIG_CAN_J1939 is not set diff --git a/configs/fedora/generic/CONFIG_CAN_KVASER_PCIEFD b/configs/fedora/generic/CONFIG_CAN_KVASER_PCIEFD new file mode 100644 index 000000000..d5191aa13 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CAN_KVASER_PCIEFD @@ -0,0 +1 @@ +# CONFIG_CAN_KVASER_PCIEFD is not set diff --git a/configs/fedora/generic/CONFIG_CAN_M_CAN_PLATFORM b/configs/fedora/generic/CONFIG_CAN_M_CAN_PLATFORM new file mode 100644 index 000000000..fe2b43c10 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CAN_M_CAN_PLATFORM @@ -0,0 +1 @@ +# CONFIG_CAN_M_CAN_PLATFORM is not set diff --git a/configs/fedora/generic/CONFIG_CAN_M_CAN_TCAN4X5X b/configs/fedora/generic/CONFIG_CAN_M_CAN_TCAN4X5X new file mode 100644 index 000000000..90e108828 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CAN_M_CAN_TCAN4X5X @@ -0,0 +1 @@ +# CONFIG_CAN_M_CAN_TCAN4X5X is not set diff --git a/configs/fedora/generic/CONFIG_CPU_IDLE_GOV_HALTPOLL b/configs/fedora/generic/CONFIG_CPU_IDLE_GOV_HALTPOLL new file mode 100644 index 000000000..0d4e80f4d --- /dev/null +++ b/configs/fedora/generic/CONFIG_CPU_IDLE_GOV_HALTPOLL @@ -0,0 +1 @@ +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set diff --git a/configs/fedora/generic/CONFIG_CRASH b/configs/fedora/generic/CONFIG_CRASH deleted file mode 100644 index 98a38fe93..000000000 --- a/configs/fedora/generic/CONFIG_CRASH +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRASH=m diff --git a/configs/fedora/generic/CONFIG_CROS_EC b/configs/fedora/generic/CONFIG_CROS_EC new file mode 100644 index 000000000..bd6dd449b --- /dev/null +++ b/configs/fedora/generic/CONFIG_CROS_EC @@ -0,0 +1 @@ +# CONFIG_CROS_EC is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_AEGIS128L b/configs/fedora/generic/CONFIG_CRYPTO_AEGIS128L deleted file mode 100644 index 332f8d41c..000000000 --- a/configs/fedora/generic/CONFIG_CRYPTO_AEGIS128L +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_AEGIS128L=m diff --git a/configs/fedora/generic/CONFIG_CRYPTO_AEGIS256 b/configs/fedora/generic/CONFIG_CRYPTO_AEGIS256 deleted file mode 100644 index 505f92cb2..000000000 --- a/configs/fedora/generic/CONFIG_CRYPTO_AEGIS256 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_AEGIS256=m diff --git a/configs/fedora/generic/CONFIG_CRYPTO_DEV_CCP_DEBUGFS b/configs/fedora/generic/CONFIG_CRYPTO_DEV_CCP_DEBUGFS new file mode 100644 index 000000000..fe46585da --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_DEV_CCP_DEBUGFS @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_DEV_SAFEXCEL b/configs/fedora/generic/CONFIG_CRYPTO_DEV_SAFEXCEL new file mode 100644 index 000000000..6bd1d5baa --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_DEV_SAFEXCEL @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set diff --git a/configs/fedora/generic/CONFIG_CRYPTO_ESSIV b/configs/fedora/generic/CONFIG_CRYPTO_ESSIV new file mode 100644 index 000000000..9c914d446 --- /dev/null +++ b/configs/fedora/generic/CONFIG_CRYPTO_ESSIV @@ -0,0 +1 @@ +CONFIG_CRYPTO_ESSIV=m diff --git a/configs/fedora/generic/CONFIG_CRYPTO_MORUS1280 b/configs/fedora/generic/CONFIG_CRYPTO_MORUS1280 deleted file mode 100644 index 631ee59ba..000000000 --- a/configs/fedora/generic/CONFIG_CRYPTO_MORUS1280 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_MORUS1280=m diff --git a/configs/fedora/generic/CONFIG_CRYPTO_MORUS640 b/configs/fedora/generic/CONFIG_CRYPTO_MORUS640 deleted file mode 100644 index 774f20fc6..000000000 --- a/configs/fedora/generic/CONFIG_CRYPTO_MORUS640 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_MORUS640=m diff --git a/configs/fedora/generic/CONFIG_CRYPTO_SHA512 b/configs/fedora/generic/CONFIG_CRYPTO_SHA512 index 29ce3726b..5c25197e5 100644 --- a/configs/fedora/generic/CONFIG_CRYPTO_SHA512 +++ b/configs/fedora/generic/CONFIG_CRYPTO_SHA512 @@ -1 +1 @@ -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y diff --git a/configs/fedora/generic/CONFIG_DEBUG_INFO_BTF b/configs/fedora/generic/CONFIG_DEBUG_INFO_BTF index 3b5ac748f..39227b451 100644 --- a/configs/fedora/generic/CONFIG_DEBUG_INFO_BTF +++ b/configs/fedora/generic/CONFIG_DEBUG_INFO_BTF @@ -1 +1 @@ -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y diff --git a/configs/fedora/generic/CONFIG_DEBUG_INFO_VTA b/configs/fedora/generic/CONFIG_DEBUG_INFO_VTA deleted file mode 100644 index 593de8069..000000000 --- a/configs/fedora/generic/CONFIG_DEBUG_INFO_VTA +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DEBUG_INFO_VTA=y diff --git a/configs/fedora/generic/CONFIG_DMABUF_SELFTESTS b/configs/fedora/generic/CONFIG_DMABUF_SELFTESTS new file mode 100644 index 000000000..6943ce41c --- /dev/null +++ b/configs/fedora/generic/CONFIG_DMABUF_SELFTESTS @@ -0,0 +1 @@ +# CONFIG_DMABUF_SELFTESTS is not set diff --git a/configs/fedora/generic/CONFIG_DM_CLONE b/configs/fedora/generic/CONFIG_DM_CLONE new file mode 100644 index 000000000..03f992664 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DM_CLONE @@ -0,0 +1 @@ +# CONFIG_DM_CLONE is not set diff --git a/configs/fedora/generic/CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG b/configs/fedora/generic/CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG new file mode 100644 index 000000000..4d2da6ce4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG @@ -0,0 +1 @@ +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set diff --git a/configs/fedora/generic/CONFIG_DRM_GM12U320 b/configs/fedora/generic/CONFIG_DRM_GM12U320 new file mode 100644 index 000000000..f8f5101cc --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_GM12U320 @@ -0,0 +1 @@ +CONFIG_DRM_GM12U320=m diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_LG_LB035Q02 b/configs/fedora/generic/CONFIG_DRM_PANEL_LG_LB035Q02 new file mode 100644 index 000000000..fe60a1992 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_LG_LB035Q02 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_NEC_NL8048HL11 b/configs/fedora/generic/CONFIG_DRM_PANEL_NEC_NL8048HL11 new file mode 100644 index 000000000..339ff848f --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_NEC_NL8048HL11 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_NOVATEK_NT39016 b/configs/fedora/generic/CONFIG_DRM_PANEL_NOVATEK_NT39016 new file mode 100644 index 000000000..edce22723 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_NOVATEK_NT39016 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_RAYDIUM_RM67191 b/configs/fedora/generic/CONFIG_DRM_PANEL_RAYDIUM_RM67191 new file mode 100644 index 000000000..085f3b0bb --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_RAYDIUM_RM67191 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_SHARP_LS037V7DW01 b/configs/fedora/generic/CONFIG_DRM_PANEL_SHARP_LS037V7DW01 new file mode 100644 index 000000000..26cceaa22 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_SHARP_LS037V7DW01 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX565AKM b/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX565AKM new file mode 100644 index 000000000..de1d34f6b --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_SONY_ACX565AKM @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_TPO_TD028TTEC1 b/configs/fedora/generic/CONFIG_DRM_PANEL_TPO_TD028TTEC1 new file mode 100644 index 000000000..8c0af5fb4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_TPO_TD028TTEC1 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_PANEL_TPO_TD043MTEA1 b/configs/fedora/generic/CONFIG_DRM_PANEL_TPO_TD043MTEA1 new file mode 100644 index 000000000..4494ef96f --- /dev/null +++ b/configs/fedora/generic/CONFIG_DRM_PANEL_TPO_TD043MTEA1 @@ -0,0 +1 @@ +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set diff --git a/configs/fedora/generic/CONFIG_DRM_TDFX b/configs/fedora/generic/CONFIG_DRM_TDFX index 698169953..36f8ba1f9 100644 --- a/configs/fedora/generic/CONFIG_DRM_TDFX +++ b/configs/fedora/generic/CONFIG_DRM_TDFX @@ -1 +1 @@ -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set diff --git a/configs/fedora/generic/CONFIG_DRM_TINYDRM b/configs/fedora/generic/CONFIG_DRM_TINYDRM deleted file mode 100644 index be104b06c..000000000 --- a/configs/fedora/generic/CONFIG_DRM_TINYDRM +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_DRM_TINYDRM is not set diff --git a/configs/fedora/generic/CONFIG_EFI_RCI2_TABLE b/configs/fedora/generic/CONFIG_EFI_RCI2_TABLE new file mode 100644 index 000000000..9d1af7ab4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_EFI_RCI2_TABLE @@ -0,0 +1 @@ +# CONFIG_EFI_RCI2_TABLE is not set diff --git a/configs/fedora/generic/CONFIG_EFI_TEST b/configs/fedora/generic/CONFIG_EFI_TEST index 455eb3061..09ff10ce7 100644 --- a/configs/fedora/generic/CONFIG_EFI_TEST +++ b/configs/fedora/generic/CONFIG_EFI_TEST @@ -1 +1 @@ -# CONFIG_EFI_TEST is not set +CONFIG_EFI_TEST=m diff --git a/configs/fedora/generic/CONFIG_EXFAT_FS b/configs/fedora/generic/CONFIG_EXFAT_FS new file mode 100644 index 000000000..2113d8106 --- /dev/null +++ b/configs/fedora/generic/CONFIG_EXFAT_FS @@ -0,0 +1 @@ +# CONFIG_EXFAT_FS is not set diff --git a/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO b/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO new file mode 100644 index 000000000..9ae6245d1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_FSL_ENETC_MDIO @@ -0,0 +1 @@ +# CONFIG_FSL_ENETC_MDIO is not set diff --git a/configs/fedora/generic/CONFIG_FS_VERITY b/configs/fedora/generic/CONFIG_FS_VERITY new file mode 100644 index 000000000..962866cac --- /dev/null +++ b/configs/fedora/generic/CONFIG_FS_VERITY @@ -0,0 +1 @@ +CONFIG_FS_VERITY=y diff --git a/configs/fedora/generic/CONFIG_FS_VERITY_BUILTIN_SIGNATURES b/configs/fedora/generic/CONFIG_FS_VERITY_BUILTIN_SIGNATURES new file mode 100644 index 000000000..a9cb95904 --- /dev/null +++ b/configs/fedora/generic/CONFIG_FS_VERITY_BUILTIN_SIGNATURES @@ -0,0 +1 @@ +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set diff --git a/configs/fedora/generic/CONFIG_FS_VERITY_DEBUG b/configs/fedora/generic/CONFIG_FS_VERITY_DEBUG new file mode 100644 index 000000000..5d654c77b --- /dev/null +++ b/configs/fedora/generic/CONFIG_FS_VERITY_DEBUG @@ -0,0 +1 @@ +# CONFIG_FS_VERITY_DEBUG is not set diff --git a/configs/fedora/generic/CONFIG_HEADERS_INSTALL b/configs/fedora/generic/CONFIG_HEADERS_INSTALL index 5b3057511..3400dd672 100644 --- a/configs/fedora/generic/CONFIG_HEADERS_INSTALL +++ b/configs/fedora/generic/CONFIG_HEADERS_INSTALL @@ -1 +1 @@ -# CONFIG_HEADERS_INSTALL is not set +CONFIG_HEADERS_INSTALL=y diff --git a/configs/fedora/generic/CONFIG_HEADER_TEST b/configs/fedora/generic/CONFIG_HEADER_TEST index 2d55c1445..bcdd8b485 100644 --- a/configs/fedora/generic/CONFIG_HEADER_TEST +++ b/configs/fedora/generic/CONFIG_HEADER_TEST @@ -1 +1 @@ -# CONFIG_HEADER_TEST is not set +CONFIG_HEADER_TEST=y diff --git a/configs/fedora/generic/CONFIG_HID_CREATIVE_SB0540 b/configs/fedora/generic/CONFIG_HID_CREATIVE_SB0540 new file mode 100644 index 000000000..ce52dd6a4 --- /dev/null +++ b/configs/fedora/generic/CONFIG_HID_CREATIVE_SB0540 @@ -0,0 +1 @@ +# CONFIG_HID_CREATIVE_SB0540 is not set diff --git a/configs/fedora/generic/CONFIG_I2C_BCM2048 b/configs/fedora/generic/CONFIG_I2C_BCM2048 deleted file mode 100644 index 65ce228bc..000000000 --- a/configs/fedora/generic/CONFIG_I2C_BCM2048 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_I2C_BCM2048 is not set diff --git a/configs/fedora/generic/CONFIG_IMA_APPRAISE_MODSIG b/configs/fedora/generic/CONFIG_IMA_APPRAISE_MODSIG new file mode 100644 index 000000000..e2c2e3e15 --- /dev/null +++ b/configs/fedora/generic/CONFIG_IMA_APPRAISE_MODSIG @@ -0,0 +1 @@ +CONFIG_IMA_APPRAISE_MODSIG=y diff --git a/configs/fedora/generic/CONFIG_IMA_DEFAULT_HASH_SHA512 b/configs/fedora/generic/CONFIG_IMA_DEFAULT_HASH_SHA512 new file mode 100644 index 000000000..63c785685 --- /dev/null +++ b/configs/fedora/generic/CONFIG_IMA_DEFAULT_HASH_SHA512 @@ -0,0 +1 @@ +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set diff --git a/configs/fedora/generic/CONFIG_INPUT_PWM_BEEPER b/configs/fedora/generic/CONFIG_INPUT_PWM_BEEPER index 9ac1c7b31..59fdb225d 100644 --- a/configs/fedora/generic/CONFIG_INPUT_PWM_BEEPER +++ b/configs/fedora/generic/CONFIG_INPUT_PWM_BEEPER @@ -1 +1 @@ -# CONFIG_INPUT_PWM_BEEPER is not set +CONFIG_INPUT_PWM_BEEPER=m diff --git a/configs/fedora/generic/CONFIG_IONIC b/configs/fedora/generic/CONFIG_IONIC new file mode 100644 index 000000000..389ea4bb6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_IONIC @@ -0,0 +1 @@ +CONFIG_IONIC=m diff --git a/configs/fedora/generic/CONFIG_JOYSTICK_FSIA6B b/configs/fedora/generic/CONFIG_JOYSTICK_FSIA6B new file mode 100644 index 000000000..76957fd33 --- /dev/null +++ b/configs/fedora/generic/CONFIG_JOYSTICK_FSIA6B @@ -0,0 +1 @@ +# CONFIG_JOYSTICK_FSIA6B is not set diff --git a/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST b/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST new file mode 100644 index 000000000..040d0b830 --- /dev/null +++ b/configs/fedora/generic/CONFIG_KERNEL_HEADER_TEST @@ -0,0 +1 @@ +CONFIG_KERNEL_HEADER_TEST=y diff --git a/configs/fedora/generic/CONFIG_LIVEPATCH b/configs/fedora/generic/CONFIG_LIVEPATCH index 6f147cf26..1b05d0d1a 100644 --- a/configs/fedora/generic/CONFIG_LIVEPATCH +++ b/configs/fedora/generic/CONFIG_LIVEPATCH @@ -1 +1 @@ -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y diff --git a/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL b/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL deleted file mode 100644 index c22c35ff2..000000000 --- a/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_LOCK_DOWN_KERNEL is not set diff --git a/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY b/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY new file mode 100644 index 000000000..97079e8b0 --- /dev/null +++ b/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY @@ -0,0 +1 @@ +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set diff --git a/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY b/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY new file mode 100644 index 000000000..895927de3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY @@ -0,0 +1 @@ +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set diff --git a/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE b/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE new file mode 100644 index 000000000..9c975c314 --- /dev/null +++ b/configs/fedora/generic/CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE @@ -0,0 +1 @@ +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y diff --git a/configs/fedora/generic/CONFIG_MAX5432 b/configs/fedora/generic/CONFIG_MAX5432 new file mode 100644 index 000000000..b6ea28de1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MAX5432 @@ -0,0 +1 @@ +# CONFIG_MAX5432 is not set diff --git a/configs/fedora/generic/CONFIG_MLX5_SW_STEERING b/configs/fedora/generic/CONFIG_MLX5_SW_STEERING new file mode 100644 index 000000000..28a9bc46a --- /dev/null +++ b/configs/fedora/generic/CONFIG_MLX5_SW_STEERING @@ -0,0 +1 @@ +CONFIG_MLX5_SW_STEERING=y diff --git a/configs/fedora/generic/CONFIG_MLX5_TLS b/configs/fedora/generic/CONFIG_MLX5_TLS new file mode 100644 index 000000000..ca3633796 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MLX5_TLS @@ -0,0 +1 @@ +# CONFIG_MLX5_TLS is not set diff --git a/configs/fedora/generic/CONFIG_MMC_SDHCI_OF_ASPEED b/configs/fedora/generic/CONFIG_MMC_SDHCI_OF_ASPEED new file mode 100644 index 000000000..1c72970c1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MMC_SDHCI_OF_ASPEED @@ -0,0 +1 @@ +# CONFIG_MMC_SDHCI_OF_ASPEED is not set diff --git a/configs/fedora/generic/CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS b/configs/fedora/generic/CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS new file mode 100644 index 000000000..35c9fe219 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS @@ -0,0 +1 @@ +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set diff --git a/configs/fedora/generic/CONFIG_MOXTET b/configs/fedora/generic/CONFIG_MOXTET new file mode 100644 index 000000000..d141565b6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MOXTET @@ -0,0 +1 @@ +# CONFIG_MOXTET is not set diff --git a/configs/fedora/generic/CONFIG_MTD_NAND_MXIC b/configs/fedora/generic/CONFIG_MTD_NAND_MXIC new file mode 100644 index 000000000..6a2310167 --- /dev/null +++ b/configs/fedora/generic/CONFIG_MTD_NAND_MXIC @@ -0,0 +1 @@ +# CONFIG_MTD_NAND_MXIC is not set diff --git a/configs/fedora/generic/CONFIG_NETDEVSIM b/configs/fedora/generic/CONFIG_NETDEVSIM index f7666c533..96004592a 100644 --- a/configs/fedora/generic/CONFIG_NETDEVSIM +++ b/configs/fedora/generic/CONFIG_NETDEVSIM @@ -1 +1 @@ -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m diff --git a/configs/fedora/generic/CONFIG_NET_DSA_MICROCHIP_KSZ8795 b/configs/fedora/generic/CONFIG_NET_DSA_MICROCHIP_KSZ8795 new file mode 100644 index 000000000..37fb020d6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_DSA_MICROCHIP_KSZ8795 @@ -0,0 +1 @@ +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set diff --git a/configs/fedora/generic/CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C b/configs/fedora/generic/CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C new file mode 100644 index 000000000..e12e72f0a --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C @@ -0,0 +1 @@ +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set diff --git a/configs/fedora/generic/CONFIG_NET_TC_SKB_EXT b/configs/fedora/generic/CONFIG_NET_TC_SKB_EXT new file mode 100644 index 000000000..3290f992f --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_TC_SKB_EXT @@ -0,0 +1 @@ +CONFIG_NET_TC_SKB_EXT=y diff --git a/configs/fedora/generic/CONFIG_NET_VENDOR_PENSANDO b/configs/fedora/generic/CONFIG_NET_VENDOR_PENSANDO new file mode 100644 index 000000000..aba7e5839 --- /dev/null +++ b/configs/fedora/generic/CONFIG_NET_VENDOR_PENSANDO @@ -0,0 +1 @@ +CONFIG_NET_VENDOR_PENSANDO=y diff --git a/configs/fedora/generic/CONFIG_NFT_SOCKET b/configs/fedora/generic/CONFIG_NFT_SOCKET index d28a66d0a..84aa8fd92 100644 --- a/configs/fedora/generic/CONFIG_NFT_SOCKET +++ b/configs/fedora/generic/CONFIG_NFT_SOCKET @@ -1 +1 @@ -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m diff --git a/configs/fedora/generic/CONFIG_NFT_TPROXY b/configs/fedora/generic/CONFIG_NFT_TPROXY index e8288ff55..d43e8c5f4 100644 --- a/configs/fedora/generic/CONFIG_NFT_TPROXY +++ b/configs/fedora/generic/CONFIG_NFT_TPROXY @@ -1 +1 @@ -# CONFIG_NFT_TPROXY is not set +CONFIG_NFT_TPROXY=m diff --git a/configs/fedora/generic/CONFIG_NFT_TUNNEL b/configs/fedora/generic/CONFIG_NFT_TUNNEL index a6c2fa49d..30f2b484f 100644 --- a/configs/fedora/generic/CONFIG_NFT_TUNNEL +++ b/configs/fedora/generic/CONFIG_NFT_TUNNEL @@ -1 +1 @@ -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TUNNEL=m diff --git a/configs/fedora/generic/CONFIG_NOA1305 b/configs/fedora/generic/CONFIG_NOA1305 new file mode 100644 index 000000000..2d1dd8731 --- /dev/null +++ b/configs/fedora/generic/CONFIG_NOA1305 @@ -0,0 +1 @@ +# CONFIG_NOA1305 is not set diff --git a/configs/fedora/generic/CONFIG_OPTIMIZE_INLINING b/configs/fedora/generic/CONFIG_OPTIMIZE_INLINING index b7e716809..6991e6d3f 100644 --- a/configs/fedora/generic/CONFIG_OPTIMIZE_INLINING +++ b/configs/fedora/generic/CONFIG_OPTIMIZE_INLINING @@ -1 +1 @@ -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y diff --git a/configs/fedora/generic/CONFIG_PINCTRL_SC7180 b/configs/fedora/generic/CONFIG_PINCTRL_SC7180 new file mode 100644 index 000000000..797cd04fb --- /dev/null +++ b/configs/fedora/generic/CONFIG_PINCTRL_SC7180 @@ -0,0 +1 @@ +# CONFIG_PINCTRL_SC7180 is not set diff --git a/configs/fedora/generic/CONFIG_PREEMPT_LL b/configs/fedora/generic/CONFIG_PREEMPT_LL deleted file mode 100644 index 513294a39..000000000 --- a/configs/fedora/generic/CONFIG_PREEMPT_LL +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_PREEMPT_LL is not set diff --git a/configs/fedora/generic/CONFIG_RANDOM_TRUST_BOOTLOADER b/configs/fedora/generic/CONFIG_RANDOM_TRUST_BOOTLOADER new file mode 100644 index 000000000..5597038dd --- /dev/null +++ b/configs/fedora/generic/CONFIG_RANDOM_TRUST_BOOTLOADER @@ -0,0 +1 @@ +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set diff --git a/configs/fedora/generic/CONFIG_RDMA_SIW b/configs/fedora/generic/CONFIG_RDMA_SIW index 67d1735af..3bc1ec48a 100644 --- a/configs/fedora/generic/CONFIG_RDMA_SIW +++ b/configs/fedora/generic/CONFIG_RDMA_SIW @@ -1 +1 @@ -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m diff --git a/configs/fedora/generic/CONFIG_READ_ONLY_THP_FOR_FS b/configs/fedora/generic/CONFIG_READ_ONLY_THP_FOR_FS new file mode 100644 index 000000000..5aceef7ad --- /dev/null +++ b/configs/fedora/generic/CONFIG_READ_ONLY_THP_FOR_FS @@ -0,0 +1 @@ +# CONFIG_READ_ONLY_THP_FOR_FS is not set diff --git a/configs/fedora/generic/CONFIG_REGULATOR_SY8824X b/configs/fedora/generic/CONFIG_REGULATOR_SY8824X new file mode 100644 index 000000000..42053ce4c --- /dev/null +++ b/configs/fedora/generic/CONFIG_REGULATOR_SY8824X @@ -0,0 +1 @@ +# CONFIG_REGULATOR_SY8824X is not set diff --git a/configs/fedora/generic/CONFIG_REMOTEPROC b/configs/fedora/generic/CONFIG_REMOTEPROC index 5a1f9df99..a5c237d2f 100644 --- a/configs/fedora/generic/CONFIG_REMOTEPROC +++ b/configs/fedora/generic/CONFIG_REMOTEPROC @@ -1 +1 @@ -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y diff --git a/configs/fedora/generic/CONFIG_SECURITY_LOCKDOWN_LSM b/configs/fedora/generic/CONFIG_SECURITY_LOCKDOWN_LSM new file mode 100644 index 000000000..4a55be3bb --- /dev/null +++ b/configs/fedora/generic/CONFIG_SECURITY_LOCKDOWN_LSM @@ -0,0 +1 @@ +CONFIG_SECURITY_LOCKDOWN_LSM=y diff --git a/configs/fedora/generic/CONFIG_SECURITY_LOCKDOWN_LSM_EARLY b/configs/fedora/generic/CONFIG_SECURITY_LOCKDOWN_LSM_EARLY new file mode 100644 index 000000000..edb6d0007 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SECURITY_LOCKDOWN_LSM_EARLY @@ -0,0 +1 @@ +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y diff --git a/configs/fedora/generic/CONFIG_SENSORS_ADS1015 b/configs/fedora/generic/CONFIG_SENSORS_ADS1015 deleted file mode 100644 index 928b4f25f..000000000 --- a/configs/fedora/generic/CONFIG_SENSORS_ADS1015 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SENSORS_ADS1015 is not set diff --git a/configs/fedora/generic/CONFIG_SENSORS_AS370 b/configs/fedora/generic/CONFIG_SENSORS_AS370 new file mode 100644 index 000000000..f76a8def3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_AS370 @@ -0,0 +1 @@ +# CONFIG_SENSORS_AS370 is not set diff --git a/configs/fedora/generic/CONFIG_SENSORS_INSPUR_IPSPS b/configs/fedora/generic/CONFIG_SENSORS_INSPUR_IPSPS new file mode 100644 index 000000000..ac589f45a --- /dev/null +++ b/configs/fedora/generic/CONFIG_SENSORS_INSPUR_IPSPS @@ -0,0 +1 @@ +# CONFIG_SENSORS_INSPUR_IPSPS is not set diff --git a/configs/fedora/generic/CONFIG_SERIAL_8250_MOXA b/configs/fedora/generic/CONFIG_SERIAL_8250_MOXA deleted file mode 100644 index 5fe7e1175..000000000 --- a/configs/fedora/generic/CONFIG_SERIAL_8250_MOXA +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SERIAL_8250_MOXA=m diff --git a/configs/fedora/generic/CONFIG_SERIAL_FSL_LINFLEXUART b/configs/fedora/generic/CONFIG_SERIAL_FSL_LINFLEXUART new file mode 100644 index 000000000..68d716e9d --- /dev/null +++ b/configs/fedora/generic/CONFIG_SERIAL_FSL_LINFLEXUART @@ -0,0 +1 @@ +# CONFIG_SERIAL_FSL_LINFLEXUART is not set diff --git a/configs/fedora/generic/CONFIG_SGI_IOC4 b/configs/fedora/generic/CONFIG_SGI_IOC4 deleted file mode 100644 index 0d104aafd..000000000 --- a/configs/fedora/generic/CONFIG_SGI_IOC4 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_SGI_IOC4 is not set diff --git a/configs/fedora/generic/CONFIG_SND_HDA_INTEL b/configs/fedora/generic/CONFIG_SND_HDA_INTEL index dfe74ea98..6f057ecfe 100644 --- a/configs/fedora/generic/CONFIG_SND_HDA_INTEL +++ b/configs/fedora/generic/CONFIG_SND_HDA_INTEL @@ -1 +1 @@ -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL is not set diff --git a/configs/fedora/generic/CONFIG_SND_HDA_INTEL_DETECT_DMIC b/configs/fedora/generic/CONFIG_SND_HDA_INTEL_DETECT_DMIC new file mode 100644 index 000000000..501f523b0 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_HDA_INTEL_DETECT_DMIC @@ -0,0 +1 @@ +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_SOF_OF b/configs/fedora/generic/CONFIG_SND_SOC_SOF_OF new file mode 100644 index 000000000..54729e3fa --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_SOF_OF @@ -0,0 +1 @@ +# CONFIG_SND_SOC_SOF_OF is not set diff --git a/configs/fedora/generic/CONFIG_SND_SOC_UDA1334 b/configs/fedora/generic/CONFIG_SND_SOC_UDA1334 new file mode 100644 index 000000000..ab138d8d8 --- /dev/null +++ b/configs/fedora/generic/CONFIG_SND_SOC_UDA1334 @@ -0,0 +1 @@ +# CONFIG_SND_SOC_UDA1334 is not set diff --git a/configs/fedora/generic/CONFIG_SOUNDWIRE_BUS b/configs/fedora/generic/CONFIG_SOUNDWIRE_BUS deleted file mode 100644 index dd3714b7c..000000000 --- a/configs/fedora/generic/CONFIG_SOUNDWIRE_BUS +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SOUNDWIRE_BUS=m diff --git a/configs/fedora/generic/CONFIG_TEST_LIVEPATCH b/configs/fedora/generic/CONFIG_TEST_LIVEPATCH new file mode 100644 index 000000000..38a780283 --- /dev/null +++ b/configs/fedora/generic/CONFIG_TEST_LIVEPATCH @@ -0,0 +1 @@ +# CONFIG_TEST_LIVEPATCH is not set diff --git a/configs/fedora/generic/CONFIG_TINYDRM_HX8357D b/configs/fedora/generic/CONFIG_TINYDRM_HX8357D new file mode 100644 index 000000000..b6034f2f3 --- /dev/null +++ b/configs/fedora/generic/CONFIG_TINYDRM_HX8357D @@ -0,0 +1 @@ +# CONFIG_TINYDRM_HX8357D is not set diff --git a/configs/fedora/generic/CONFIG_TINYDRM_ILI9225 b/configs/fedora/generic/CONFIG_TINYDRM_ILI9225 new file mode 100644 index 000000000..1371c3f6e --- /dev/null +++ b/configs/fedora/generic/CONFIG_TINYDRM_ILI9225 @@ -0,0 +1 @@ +# CONFIG_TINYDRM_ILI9225 is not set diff --git a/configs/fedora/generic/CONFIG_TINYDRM_ILI9341 b/configs/fedora/generic/CONFIG_TINYDRM_ILI9341 new file mode 100644 index 000000000..d0fdddaeb --- /dev/null +++ b/configs/fedora/generic/CONFIG_TINYDRM_ILI9341 @@ -0,0 +1 @@ +# CONFIG_TINYDRM_ILI9341 is not set diff --git a/configs/fedora/generic/CONFIG_TINYDRM_MI0283QT b/configs/fedora/generic/CONFIG_TINYDRM_MI0283QT new file mode 100644 index 000000000..fb0b5f045 --- /dev/null +++ b/configs/fedora/generic/CONFIG_TINYDRM_MI0283QT @@ -0,0 +1 @@ +# CONFIG_TINYDRM_MI0283QT is not set diff --git a/configs/fedora/generic/CONFIG_TINYDRM_REPAPER b/configs/fedora/generic/CONFIG_TINYDRM_REPAPER new file mode 100644 index 000000000..c4d2874fa --- /dev/null +++ b/configs/fedora/generic/CONFIG_TINYDRM_REPAPER @@ -0,0 +1 @@ +# CONFIG_TINYDRM_REPAPER is not set diff --git a/configs/fedora/generic/CONFIG_TINYDRM_ST7586 b/configs/fedora/generic/CONFIG_TINYDRM_ST7586 new file mode 100644 index 000000000..2b9e29f63 --- /dev/null +++ b/configs/fedora/generic/CONFIG_TINYDRM_ST7586 @@ -0,0 +1 @@ +# CONFIG_TINYDRM_ST7586 is not set diff --git a/configs/fedora/generic/CONFIG_TINYDRM_ST7735R b/configs/fedora/generic/CONFIG_TINYDRM_ST7735R new file mode 100644 index 000000000..365910ba1 --- /dev/null +++ b/configs/fedora/generic/CONFIG_TINYDRM_ST7735R @@ -0,0 +1 @@ +# CONFIG_TINYDRM_ST7735R is not set diff --git a/configs/fedora/generic/CONFIG_TLS_DEVICE b/configs/fedora/generic/CONFIG_TLS_DEVICE index 1d436b4a8..7a19aef6a 100644 --- a/configs/fedora/generic/CONFIG_TLS_DEVICE +++ b/configs/fedora/generic/CONFIG_TLS_DEVICE @@ -1 +1 @@ -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y diff --git a/configs/fedora/generic/CONFIG_UAPI_HEADER_TEST b/configs/fedora/generic/CONFIG_UAPI_HEADER_TEST new file mode 100644 index 000000000..b42b04505 --- /dev/null +++ b/configs/fedora/generic/CONFIG_UAPI_HEADER_TEST @@ -0,0 +1 @@ +CONFIG_UAPI_HEADER_TEST=y diff --git a/configs/fedora/generic/CONFIG_USB_CDNS3 b/configs/fedora/generic/CONFIG_USB_CDNS3 new file mode 100644 index 000000000..7f19f1a47 --- /dev/null +++ b/configs/fedora/generic/CONFIG_USB_CDNS3 @@ -0,0 +1 @@ +# CONFIG_USB_CDNS3 is not set diff --git a/configs/fedora/generic/CONFIG_USB_CONN_GPIO b/configs/fedora/generic/CONFIG_USB_CONN_GPIO new file mode 100644 index 000000000..e91343881 --- /dev/null +++ b/configs/fedora/generic/CONFIG_USB_CONN_GPIO @@ -0,0 +1 @@ +# CONFIG_USB_CONN_GPIO is not set diff --git a/configs/fedora/generic/CONFIG_USB_OHCI_HCD_SSB b/configs/fedora/generic/CONFIG_USB_OHCI_HCD_SSB new file mode 100644 index 000000000..eb3e84ce6 --- /dev/null +++ b/configs/fedora/generic/CONFIG_USB_OHCI_HCD_SSB @@ -0,0 +1 @@ +# CONFIG_USB_OHCI_HCD_SSB is not set diff --git a/configs/fedora/generic/CONFIG_USB_RIO500 b/configs/fedora/generic/CONFIG_USB_RIO500 deleted file mode 100644 index 961c7e67f..000000000 --- a/configs/fedora/generic/CONFIG_USB_RIO500 +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_USB_RIO500 is not set diff --git a/configs/fedora/generic/CONFIG_VIRTIO_FS b/configs/fedora/generic/CONFIG_VIRTIO_FS new file mode 100644 index 000000000..9fe646616 --- /dev/null +++ b/configs/fedora/generic/CONFIG_VIRTIO_FS @@ -0,0 +1 @@ +CONFIG_VIRTIO_FS=m diff --git a/configs/fedora/generic/CONFIG_W1_MASTER_SGI b/configs/fedora/generic/CONFIG_W1_MASTER_SGI new file mode 100644 index 000000000..8360af649 --- /dev/null +++ b/configs/fedora/generic/CONFIG_W1_MASTER_SGI @@ -0,0 +1 @@ +# CONFIG_W1_MASTER_SGI is not set diff --git a/configs/fedora/generic/CONFIG_W1_SLAVE_DS250X b/configs/fedora/generic/CONFIG_W1_SLAVE_DS250X new file mode 100644 index 000000000..fbab0ea85 --- /dev/null +++ b/configs/fedora/generic/CONFIG_W1_SLAVE_DS250X @@ -0,0 +1 @@ +# CONFIG_W1_SLAVE_DS250X is not set diff --git a/configs/fedora/generic/arm/CONFIG_APDS9960 b/configs/fedora/generic/arm/CONFIG_APDS9960 new file mode 100644 index 000000000..d8df5d41a --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_APDS9960 @@ -0,0 +1 @@ +CONFIG_APDS9960=m diff --git a/configs/fedora/generic/arm/CONFIG_ARCH_ASPEED b/configs/fedora/generic/arm/CONFIG_ARCH_ASPEED new file mode 100644 index 000000000..067532b38 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_ARCH_ASPEED @@ -0,0 +1 @@ +# CONFIG_ARCH_ASPEED is not set diff --git a/configs/fedora/generic/arm/CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM b/configs/fedora/generic/arm/CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM new file mode 100644 index 000000000..23c1c90c7 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM @@ -0,0 +1 @@ +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m diff --git a/configs/fedora/generic/arm/CONFIG_ARM_PSCI_CPUIDLE b/configs/fedora/generic/arm/CONFIG_ARM_PSCI_CPUIDLE new file mode 100644 index 000000000..29843b961 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_ARM_PSCI_CPUIDLE @@ -0,0 +1 @@ +CONFIG_ARM_PSCI_CPUIDLE=y diff --git a/configs/fedora/generic/arm/CONFIG_ARM_PSCI_FW b/configs/fedora/generic/arm/CONFIG_ARM_PSCI_FW new file mode 100644 index 000000000..8f3a93575 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_ARM_PSCI_FW @@ -0,0 +1 @@ +CONFIG_ARM_PSCI_FW=y diff --git a/configs/fedora/generic/arm/CONFIG_ARM_QCOM_CPUFREQ_KRYO b/configs/fedora/generic/arm/CONFIG_ARM_QCOM_CPUFREQ_KRYO deleted file mode 100644 index 3b9e5e47f..000000000 --- a/configs/fedora/generic/arm/CONFIG_ARM_QCOM_CPUFREQ_KRYO +++ /dev/null @@ -1 +0,0 @@ -CONFIG_ARM_QCOM_CPUFREQ_KRYO=m diff --git a/configs/fedora/generic/arm/CONFIG_BATTERY_GAUGE_LTC2941 b/configs/fedora/generic/arm/CONFIG_BATTERY_GAUGE_LTC2941 new file mode 100644 index 000000000..232f4909b --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_BATTERY_GAUGE_LTC2941 @@ -0,0 +1 @@ +CONFIG_BATTERY_GAUGE_LTC2941=m diff --git a/configs/fedora/generic/arm/CONFIG_BATTERY_MAX17040 b/configs/fedora/generic/arm/CONFIG_BATTERY_MAX17040 new file mode 100644 index 000000000..e9e3fab08 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_BATTERY_MAX17040 @@ -0,0 +1 @@ +CONFIG_BATTERY_MAX17040=m diff --git a/configs/fedora/generic/arm/CONFIG_CAN_MCP251X b/configs/fedora/generic/arm/CONFIG_CAN_MCP251X new file mode 100644 index 000000000..861e26b17 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_CAN_MCP251X @@ -0,0 +1 @@ +CONFIG_CAN_MCP251X=m diff --git a/configs/fedora/generic/arm/CONFIG_CROS_EC b/configs/fedora/generic/arm/CONFIG_CROS_EC new file mode 100644 index 000000000..1ad522e6a --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_CROS_EC @@ -0,0 +1 @@ +CONFIG_CROS_EC=m diff --git a/configs/fedora/generic/arm/CONFIG_CROS_EC_CHARDEV b/configs/fedora/generic/arm/CONFIG_CROS_EC_CHARDEV new file mode 100644 index 000000000..a3df83240 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_CROS_EC_CHARDEV @@ -0,0 +1 @@ +CONFIG_CROS_EC_CHARDEV=m diff --git a/configs/fedora/generic/arm/CONFIG_CRYPTO_AEGIS128_SIMD b/configs/fedora/generic/arm/CONFIG_CRYPTO_AEGIS128_SIMD new file mode 100644 index 000000000..0fa737a1d --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_CRYPTO_AEGIS128_SIMD @@ -0,0 +1 @@ +CONFIG_CRYPTO_AEGIS128_SIMD=y diff --git a/configs/fedora/generic/arm/CONFIG_DRM_TINYDRM b/configs/fedora/generic/arm/CONFIG_DRM_TINYDRM deleted file mode 100644 index 4e6e01bfe..000000000 --- a/configs/fedora/generic/arm/CONFIG_DRM_TINYDRM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_TINYDRM=m diff --git a/configs/fedora/generic/arm/CONFIG_GPIO_MOXTET b/configs/fedora/generic/arm/CONFIG_GPIO_MOXTET new file mode 100644 index 000000000..14a747e37 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_GPIO_MOXTET @@ -0,0 +1 @@ +CONFIG_GPIO_MOXTET=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_GPIO_TPS6586X b/configs/fedora/generic/arm/CONFIG_GPIO_TPS6586X index c8f2da811..c8f2da811 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_GPIO_TPS6586X +++ b/configs/fedora/generic/arm/CONFIG_GPIO_TPS6586X diff --git a/configs/fedora/generic/arm/CONFIG_HDC100X b/configs/fedora/generic/arm/CONFIG_HDC100X new file mode 100644 index 000000000..01ce4e667 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_HDC100X @@ -0,0 +1 @@ +CONFIG_HDC100X=m diff --git a/configs/fedora/generic/arm/CONFIG_HTU21 b/configs/fedora/generic/arm/CONFIG_HTU21 new file mode 100644 index 000000000..9508d6609 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_HTU21 @@ -0,0 +1 @@ +CONFIG_HTU21=m diff --git a/configs/fedora/generic/arm/CONFIG_IMX7ULP_WDT b/configs/fedora/generic/arm/CONFIG_IMX7ULP_WDT new file mode 100644 index 000000000..fc7a20637 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_IMX7ULP_WDT @@ -0,0 +1 @@ +# CONFIG_IMX7ULP_WDT is not set diff --git a/configs/fedora/generic/arm/CONFIG_IMX_DSP b/configs/fedora/generic/arm/CONFIG_IMX_DSP new file mode 100644 index 000000000..e7d6b097b --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_IMX_DSP @@ -0,0 +1 @@ +CONFIG_IMX_DSP=y diff --git a/configs/fedora/generic/arm/CONFIG_INPUT_PWM_BEEPER b/configs/fedora/generic/arm/CONFIG_INPUT_PWM_BEEPER deleted file mode 100644 index 59fdb225d..000000000 --- a/configs/fedora/generic/arm/CONFIG_INPUT_PWM_BEEPER +++ /dev/null @@ -1 +0,0 @@ -CONFIG_INPUT_PWM_BEEPER=m diff --git a/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_QCS404 b/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_QCS404 new file mode 100644 index 000000000..5b700e166 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_INTERCONNECT_QCOM_QCS404 @@ -0,0 +1 @@ +# CONFIG_INTERCONNECT_QCOM_QCS404 is not set diff --git a/configs/fedora/generic/arm/CONFIG_LEDS_PCA963X b/configs/fedora/generic/arm/CONFIG_LEDS_PCA963X new file mode 100644 index 000000000..42b62ab96 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_LEDS_PCA963X @@ -0,0 +1 @@ +CONFIG_LEDS_PCA963X=m diff --git a/configs/fedora/generic/arm/CONFIG_MAG3110 b/configs/fedora/generic/arm/CONFIG_MAG3110 new file mode 100644 index 000000000..029f5c044 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MAG3110 @@ -0,0 +1 @@ +CONFIG_MAG3110=m diff --git a/configs/fedora/generic/arm/CONFIG_MCP320X b/configs/fedora/generic/arm/CONFIG_MCP320X new file mode 100644 index 000000000..072c95cb0 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MCP320X @@ -0,0 +1 @@ +CONFIG_MCP320X=m diff --git a/configs/fedora/generic/arm/CONFIG_MCP3422 b/configs/fedora/generic/arm/CONFIG_MCP3422 new file mode 100644 index 000000000..213f87aa8 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MCP3422 @@ -0,0 +1 @@ +CONFIG_MCP3422=m diff --git a/configs/fedora/generic/arm/CONFIG_MESON_EE_PM_DOMAINS b/configs/fedora/generic/arm/CONFIG_MESON_EE_PM_DOMAINS new file mode 100644 index 000000000..29e8d77d7 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MESON_EE_PM_DOMAINS @@ -0,0 +1 @@ +CONFIG_MESON_EE_PM_DOMAINS=y diff --git a/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC b/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC deleted file mode 100644 index 3600231f6..000000000 --- a/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_CROS_EC=m diff --git a/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC_CHARDEV b/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC_CHARDEV deleted file mode 100644 index fc68f1d89..000000000 --- a/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC_CHARDEV +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_CROS_EC_CHARDEV=m diff --git a/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC_DEV b/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC_DEV new file mode 100644 index 000000000..a4fd1512e --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MFD_CROS_EC_DEV @@ -0,0 +1 @@ +CONFIG_MFD_CROS_EC_DEV=m diff --git a/configs/fedora/generic/arm/CONFIG_MOXTET b/configs/fedora/generic/arm/CONFIG_MOXTET new file mode 100644 index 000000000..29810388f --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_MOXTET @@ -0,0 +1 @@ +CONFIG_MOXTET=m diff --git a/configs/fedora/generic/arm/CONFIG_PWM_PCA9685 b/configs/fedora/generic/arm/CONFIG_PWM_PCA9685 new file mode 100644 index 000000000..822677184 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_PWM_PCA9685 @@ -0,0 +1 @@ +CONFIG_PWM_PCA9685=m diff --git a/configs/fedora/generic/arm/CONFIG_QCOM_SOCINFO b/configs/fedora/generic/arm/CONFIG_QCOM_SOCINFO new file mode 100644 index 000000000..c98f36a71 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_QCOM_SOCINFO @@ -0,0 +1 @@ +CONFIG_QCOM_SOCINFO=m diff --git a/configs/fedora/generic/arm/CONFIG_RESET_SCMI b/configs/fedora/generic/arm/CONFIG_RESET_SCMI new file mode 100644 index 000000000..510ea209c --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_RESET_SCMI @@ -0,0 +1 @@ +CONFIG_RESET_SCMI=y diff --git a/configs/fedora/generic/arm/CONFIG_RTC_DRV_MESON_VRTC b/configs/fedora/generic/arm/CONFIG_RTC_DRV_MESON_VRTC new file mode 100644 index 000000000..4ae0ab82f --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_RTC_DRV_MESON_VRTC @@ -0,0 +1 @@ +CONFIG_RTC_DRV_MESON_VRTC=m diff --git a/configs/fedora/generic/arm/armv7/CONFIG_SENSORS_GPIO_FAN b/configs/fedora/generic/arm/CONFIG_SENSORS_GPIO_FAN index 9331ff3d7..9331ff3d7 100644 --- a/configs/fedora/generic/arm/armv7/CONFIG_SENSORS_GPIO_FAN +++ b/configs/fedora/generic/arm/CONFIG_SENSORS_GPIO_FAN diff --git a/configs/fedora/generic/arm/armv7/CONFIG_SI7020 b/configs/fedora/generic/arm/CONFIG_SI7020 index 57cab28ab..57cab28ab 100644 --- a/configs/fedora/generic/arm/armv7/CONFIG_SI7020 +++ b/configs/fedora/generic/arm/CONFIG_SI7020 diff --git a/configs/fedora/generic/arm/CONFIG_SM_GCC_8150 b/configs/fedora/generic/arm/CONFIG_SM_GCC_8150 new file mode 100644 index 000000000..70de2f2e1 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SM_GCC_8150 @@ -0,0 +1 @@ +# CONFIG_SM_GCC_8150 is not set diff --git a/configs/fedora/generic/arm/CONFIG_SND_SOC_ADAU1977_I2C b/configs/fedora/generic/arm/CONFIG_SND_SOC_ADAU1977_I2C new file mode 100644 index 000000000..9665f5229 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_ADAU1977_I2C @@ -0,0 +1 @@ +CONFIG_SND_SOC_ADAU1977_I2C=m diff --git a/configs/fedora/generic/arm/CONFIG_SND_SOC_CS4265 b/configs/fedora/generic/arm/CONFIG_SND_SOC_CS4265 new file mode 100644 index 000000000..3c8bc686b --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_CS4265 @@ -0,0 +1 @@ +CONFIG_SND_SOC_CS4265=m diff --git a/configs/fedora/generic/arm/CONFIG_SND_SOC_CS4271_I2C b/configs/fedora/generic/arm/CONFIG_SND_SOC_CS4271_I2C new file mode 100644 index 000000000..3408b3502 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_CS4271_I2C @@ -0,0 +1 @@ +CONFIG_SND_SOC_CS4271_I2C=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_CS42XX8_I2C b/configs/fedora/generic/arm/CONFIG_SND_SOC_CS42XX8_I2C index f5db15237..f5db15237 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_CS42XX8_I2C +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_CS42XX8_I2C diff --git a/configs/fedora/generic/arm/CONFIG_SND_SOC_DA7213 b/configs/fedora/generic/arm/CONFIG_SND_SOC_DA7213 new file mode 100644 index 000000000..e7f8eecca --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_DA7213 @@ -0,0 +1 @@ +CONFIG_SND_SOC_DA7213=m diff --git a/configs/fedora/generic/arm/CONFIG_SND_SOC_ICS43432 b/configs/fedora/generic/arm/CONFIG_SND_SOC_ICS43432 new file mode 100644 index 000000000..be2f8fc33 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_ICS43432 @@ -0,0 +1 @@ +CONFIG_SND_SOC_ICS43432=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SND_SOC_MAX98357A b/configs/fedora/generic/arm/CONFIG_SND_SOC_MAX98357A index bcf5b6da4..bcf5b6da4 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_SND_SOC_MAX98357A +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_MAX98357A diff --git a/configs/fedora/generic/arm/CONFIG_SND_SOC_PCM5102A b/configs/fedora/generic/arm/CONFIG_SND_SOC_PCM5102A new file mode 100644 index 000000000..b5aa6251d --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_PCM5102A @@ -0,0 +1 @@ +CONFIG_SND_SOC_PCM5102A=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SND_SOC_SGTL5000 b/configs/fedora/generic/arm/CONFIG_SND_SOC_SGTL5000 index ea71dece1..ea71dece1 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_SND_SOC_SGTL5000 +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_SGTL5000 diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_TLV320AIC23 b/configs/fedora/generic/arm/CONFIG_SND_SOC_TLV320AIC23 index 6f39daa7e..6f39daa7e 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_TLV320AIC23 +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_TLV320AIC23 diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_TLV320AIC23_I2C b/configs/fedora/generic/arm/CONFIG_SND_SOC_TLV320AIC23_I2C index f131b6f76..f131b6f76 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_TLV320AIC23_I2C +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_TLV320AIC23_I2C diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_TLV320AIC23_SPI b/configs/fedora/generic/arm/CONFIG_SND_SOC_TLV320AIC23_SPI index 312955e99..312955e99 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_TLV320AIC23_SPI +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_TLV320AIC23_SPI diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_WM8731 b/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8731 index be7329279..be7329279 100644 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_SND_SOC_WM8731 +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8731 diff --git a/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8741 b/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8741 new file mode 100644 index 000000000..58adc551f --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_SND_SOC_WM8741 @@ -0,0 +1 @@ +CONFIG_SND_SOC_WM8741=m diff --git a/configs/fedora/generic/arm/CONFIG_TCG_FTPM_TEE b/configs/fedora/generic/arm/CONFIG_TCG_FTPM_TEE new file mode 100644 index 000000000..f84ad6543 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_TCG_FTPM_TEE @@ -0,0 +1 @@ +CONFIG_TCG_FTPM_TEE=m diff --git a/configs/fedora/generic/arm/CONFIG_TINYDRM_MIPI_DBI b/configs/fedora/generic/arm/CONFIG_TINYDRM_MIPI_DBI deleted file mode 100644 index bb0235842..000000000 --- a/configs/fedora/generic/arm/CONFIG_TINYDRM_MIPI_DBI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_TINYDRM_MIPI_DBI=m diff --git a/configs/fedora/generic/arm/armv7/CONFIG_TOUCHSCREEN_ADS7846 b/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_ADS7846 index 739ad5dee..739ad5dee 100644 --- a/configs/fedora/generic/arm/armv7/CONFIG_TOUCHSCREEN_ADS7846 +++ b/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_ADS7846 diff --git a/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_EXC3000 b/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_EXC3000 new file mode 100644 index 000000000..9211c830e --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_EXC3000 @@ -0,0 +1 @@ +CONFIG_TOUCHSCREEN_EXC3000=m diff --git a/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_GOODIX b/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_GOODIX new file mode 100644 index 000000000..ad45d6831 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_TOUCHSCREEN_GOODIX @@ -0,0 +1 @@ +CONFIG_TOUCHSCREEN_GOODIX=m diff --git a/configs/fedora/generic/arm/CONFIG_TSL4531 b/configs/fedora/generic/arm/CONFIG_TSL4531 new file mode 100644 index 000000000..82759bc16 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_TSL4531 @@ -0,0 +1 @@ +CONFIG_TSL4531=m diff --git a/configs/fedora/generic/arm/CONFIG_TURRIS_MOX_RWTM b/configs/fedora/generic/arm/CONFIG_TURRIS_MOX_RWTM new file mode 100644 index 000000000..5dcb7dbb9 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_TURRIS_MOX_RWTM @@ -0,0 +1 @@ +CONFIG_TURRIS_MOX_RWTM=m diff --git a/configs/fedora/generic/arm/CONFIG_USB_CONN_GPIO b/configs/fedora/generic/arm/CONFIG_USB_CONN_GPIO new file mode 100644 index 000000000..4113924f9 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_USB_CONN_GPIO @@ -0,0 +1 @@ +CONFIG_USB_CONN_GPIO=m diff --git a/configs/fedora/generic/arm/CONFIG_USB_OHCI_HCD b/configs/fedora/generic/arm/CONFIG_USB_OHCI_HCD new file mode 100644 index 000000000..b57227638 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_USB_OHCI_HCD @@ -0,0 +1 @@ +CONFIG_USB_OHCI_HCD=m diff --git a/configs/fedora/generic/arm/CONFIG_VEML6070 b/configs/fedora/generic/arm/CONFIG_VEML6070 new file mode 100644 index 000000000..b714b90a3 --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_VEML6070 @@ -0,0 +1 @@ +CONFIG_VEML6070=m diff --git a/configs/fedora/generic/arm/CONFIG_VIDEO_SUN4I_CSI b/configs/fedora/generic/arm/CONFIG_VIDEO_SUN4I_CSI new file mode 100644 index 000000000..890d5e0bc --- /dev/null +++ b/configs/fedora/generic/arm/CONFIG_VIDEO_SUN4I_CSI @@ -0,0 +1 @@ +CONFIG_VIDEO_SUN4I_CSI=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_TAGGED_ADDR_ABI b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_TAGGED_ADDR_ABI new file mode 100644 index 000000000..478c311de --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_TAGGED_ADDR_ABI @@ -0,0 +1 @@ +CONFIG_ARM64_TAGGED_ADDR_ABI=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_VA_BITS_52 b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_VA_BITS_52 new file mode 100644 index 000000000..3e4b995e9 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM64_VA_BITS_52 @@ -0,0 +1 @@ +# CONFIG_ARM64_VA_BITS_52 is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_ARM_QCOM_CPUFREQ_NVMEM b/configs/fedora/generic/arm/aarch64/CONFIG_ARM_QCOM_CPUFREQ_NVMEM new file mode 100644 index 000000000..b50af990b --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_ARM_QCOM_CPUFREQ_NVMEM @@ -0,0 +1 @@ +CONFIG_ARM_QCOM_CPUFREQ_NVMEM=m diff --git a/configs/fedora/generic/arm/CONFIG_CAVIUM_TX2_ERRATUM_219 b/configs/fedora/generic/arm/aarch64/CONFIG_CAVIUM_TX2_ERRATUM_219 index b7f72514b..b7f72514b 100644 --- a/configs/fedora/generic/arm/CONFIG_CAVIUM_TX2_ERRATUM_219 +++ b/configs/fedora/generic/arm/aarch64/CONFIG_CAVIUM_TX2_ERRATUM_219 diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MN b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MN new file mode 100644 index 000000000..dd001886b --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_CLK_IMX8MN @@ -0,0 +1 @@ +CONFIG_CLK_IMX8MN=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_ZIP b/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_ZIP new file mode 100644 index 000000000..54dadfbdd --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_CRYPTO_DEV_HISI_ZIP @@ -0,0 +1 @@ +# CONFIG_CRYPTO_DEV_HISI_ZIP is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_EDAC_BLUEFIELD b/configs/fedora/generic/arm/aarch64/CONFIG_EDAC_BLUEFIELD new file mode 100644 index 000000000..8cecdf961 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_EDAC_BLUEFIELD @@ -0,0 +1 @@ +CONFIG_EDAC_BLUEFIELD=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_HISI_KIRIN_DW_DSI b/configs/fedora/generic/arm/aarch64/CONFIG_HISI_KIRIN_DW_DSI deleted file mode 100644 index cef60968e..000000000 --- a/configs/fedora/generic/arm/aarch64/CONFIG_HISI_KIRIN_DW_DSI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_HISI_KIRIN_DW_DSI=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_KEXEC_SIG b/configs/fedora/generic/arm/aarch64/CONFIG_KEXEC_SIG new file mode 100644 index 000000000..67b688658 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_KEXEC_SIG @@ -0,0 +1 @@ +CONFIG_KEXEC_SIG=y diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_NR_CPUS b/configs/fedora/generic/arm/aarch64/CONFIG_NR_CPUS index 0c4b1d904..4190afcbb 100644 --- a/configs/fedora/generic/arm/aarch64/CONFIG_NR_CPUS +++ b/configs/fedora/generic/arm/aarch64/CONFIG_NR_CPUS @@ -1 +1 @@ -CONFIG_NR_CPUS=256 +CONFIG_NR_CPUS=4096 diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_PCIE_AL b/configs/fedora/generic/arm/aarch64/CONFIG_PCIE_AL new file mode 100644 index 000000000..4cfae7f6a --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_PCIE_AL @@ -0,0 +1 @@ +# CONFIG_PCIE_AL is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_PCIE_TEGRA194 b/configs/fedora/generic/arm/aarch64/CONFIG_PCIE_TEGRA194 new file mode 100644 index 000000000..5484caeef --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_PCIE_TEGRA194 @@ -0,0 +1 @@ +CONFIG_PCIE_TEGRA194=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_PHY_TEGRA194_P2U b/configs/fedora/generic/arm/aarch64/CONFIG_PHY_TEGRA194_P2U new file mode 100644 index 000000000..23e44783c --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_PHY_TEGRA194_P2U @@ -0,0 +1 @@ +CONFIG_PHY_TEGRA194_P2U=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO new file mode 100644 index 000000000..8e56160a2 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_QCOM_SOCINFO @@ -0,0 +1 @@ +# CONFIG_QCOM_SOCINFO is not set diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_RTC_DRV_FSL_FTM_ALARM b/configs/fedora/generic/arm/aarch64/CONFIG_RTC_DRV_FSL_FTM_ALARM new file mode 100644 index 000000000..390851818 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_RTC_DRV_FSL_FTM_ALARM @@ -0,0 +1 @@ +CONFIG_RTC_DRV_FSL_FTM_ALARM=m diff --git a/configs/fedora/generic/arm/aarch64/CONFIG_SM_GCC_8150 b/configs/fedora/generic/arm/aarch64/CONFIG_SM_GCC_8150 new file mode 100644 index 000000000..3e341c392 --- /dev/null +++ b/configs/fedora/generic/arm/aarch64/CONFIG_SM_GCC_8150 @@ -0,0 +1 @@ +CONFIG_SM_GCC_8150=y diff --git a/configs/fedora/generic/arm/armv7/CONFIG_ARCH_MULTI_V5 b/configs/fedora/generic/arm/armv7/CONFIG_ARCH_MULTI_V5 new file mode 100644 index 000000000..642406b79 --- /dev/null +++ b/configs/fedora/generic/arm/armv7/CONFIG_ARCH_MULTI_V5 @@ -0,0 +1 @@ +# CONFIG_ARCH_MULTI_V5 is not set diff --git a/configs/fedora/generic/arm/armv7/CONFIG_EDAC_ARMADA_XP b/configs/fedora/generic/arm/armv7/CONFIG_EDAC_ARMADA_XP new file mode 100644 index 000000000..301caab79 --- /dev/null +++ b/configs/fedora/generic/arm/armv7/CONFIG_EDAC_ARMADA_XP @@ -0,0 +1 @@ +CONFIG_EDAC_ARMADA_XP=y diff --git a/configs/fedora/generic/arm/armv7/CONFIG_MTD_M25P80 b/configs/fedora/generic/arm/armv7/CONFIG_MTD_M25P80 deleted file mode 100644 index 9e4ab3f0b..000000000 --- a/configs/fedora/generic/arm/armv7/CONFIG_MTD_M25P80 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MTD_M25P80=m diff --git a/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_SGTL5000 b/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_SGTL5000 deleted file mode 100644 index ea71dece1..000000000 --- a/configs/fedora/generic/arm/armv7/CONFIG_SND_SOC_SGTL5000 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SND_SOC_SGTL5000=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_TEGRA20_DEVFREQ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_TEGRA20_DEVFREQ new file mode 100644 index 000000000..c3c35e684 --- /dev/null +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_ARM_TEGRA20_DEVFREQ @@ -0,0 +1 @@ +CONFIG_ARM_TEGRA20_DEVFREQ=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02 b/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02 deleted file mode 100644 index 59d16a459..000000000 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11 b/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11 deleted file mode 100644 index 8751af145..000000000 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01 b/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01 deleted file mode 100644 index fe01d0a37..000000000 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM b/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM deleted file mode 100644 index d4629e2b7..000000000 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1 b/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1 deleted file mode 100644 index de91d35b4..000000000 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1 b/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1 deleted file mode 100644 index 9a503f8e7..000000000 --- a/configs/fedora/generic/arm/armv7/armv7/CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m diff --git a/configs/fedora/generic/arm/armv7/armv7/CONFIG_QCOM_COMMAND_DB b/configs/fedora/generic/arm/armv7/armv7/CONFIG_QCOM_COMMAND_DB new file mode 100644 index 000000000..0a34c3a7e --- /dev/null +++ b/configs/fedora/generic/arm/armv7/armv7/CONFIG_QCOM_COMMAND_DB @@ -0,0 +1 @@ +CONFIG_QCOM_COMMAND_DB=y diff --git a/configs/fedora/generic/powerpc/CONFIG_EFI_TEST b/configs/fedora/generic/powerpc/CONFIG_EFI_TEST new file mode 100644 index 000000000..455eb3061 --- /dev/null +++ b/configs/fedora/generic/powerpc/CONFIG_EFI_TEST @@ -0,0 +1 @@ +# CONFIG_EFI_TEST is not set diff --git a/configs/fedora/generic/powerpc/CONFIG_HMM_MIRROR b/configs/fedora/generic/powerpc/CONFIG_HMM_MIRROR index 0d7d51185..11dfee6c1 100644 --- a/configs/fedora/generic/powerpc/CONFIG_HMM_MIRROR +++ b/configs/fedora/generic/powerpc/CONFIG_HMM_MIRROR @@ -1 +1 @@ -# CONFIG_HMM_MIRROR is not set +CONFIG_HMM_MIRROR=y diff --git a/configs/fedora/generic/powerpc/CONFIG_INPUT_PWM_BEEPER b/configs/fedora/generic/powerpc/CONFIG_INPUT_PWM_BEEPER deleted file mode 100644 index 59fdb225d..000000000 --- a/configs/fedora/generic/powerpc/CONFIG_INPUT_PWM_BEEPER +++ /dev/null @@ -1 +0,0 @@ -CONFIG_INPUT_PWM_BEEPER=m diff --git a/configs/fedora/generic/powerpc/CONFIG_NR_CPUS b/configs/fedora/generic/powerpc/CONFIG_NR_CPUS index 27d187f4d..b13ed41c9 100644 --- a/configs/fedora/generic/powerpc/CONFIG_NR_CPUS +++ b/configs/fedora/generic/powerpc/CONFIG_NR_CPUS @@ -1 +1 @@ -CONFIG_NR_CPUS=1024 +CONFIG_NR_CPUS=2048 diff --git a/configs/fedora/generic/powerpc/CONFIG_OPAL_CORE b/configs/fedora/generic/powerpc/CONFIG_OPAL_CORE new file mode 100644 index 000000000..48e23bed6 --- /dev/null +++ b/configs/fedora/generic/powerpc/CONFIG_OPAL_CORE @@ -0,0 +1 @@ +# CONFIG_OPAL_CORE is not set diff --git a/configs/fedora/generic/powerpc/CONFIG_PPC_SVM b/configs/fedora/generic/powerpc/CONFIG_PPC_SVM new file mode 100644 index 000000000..b62f122bf --- /dev/null +++ b/configs/fedora/generic/powerpc/CONFIG_PPC_SVM @@ -0,0 +1 @@ +CONFIG_PPC_SVM=y diff --git a/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL b/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL new file mode 100644 index 000000000..dfe74ea98 --- /dev/null +++ b/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL @@ -0,0 +1 @@ +CONFIG_SND_HDA_INTEL=m diff --git a/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL_DETECT_DMIC b/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL_DETECT_DMIC new file mode 100644 index 000000000..501f523b0 --- /dev/null +++ b/configs/fedora/generic/powerpc/CONFIG_SND_HDA_INTEL_DETECT_DMIC @@ -0,0 +1 @@ +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set diff --git a/configs/fedora/generic/s390x/CONFIG_CRYPTO_SHA3_256_S390 b/configs/fedora/generic/s390x/CONFIG_CRYPTO_SHA3_256_S390 new file mode 100644 index 000000000..2c2725640 --- /dev/null +++ b/configs/fedora/generic/s390x/CONFIG_CRYPTO_SHA3_256_S390 @@ -0,0 +1 @@ +CONFIG_CRYPTO_SHA3_256_S390=m diff --git a/configs/fedora/generic/s390x/CONFIG_CRYPTO_SHA3_512_S390 b/configs/fedora/generic/s390x/CONFIG_CRYPTO_SHA3_512_S390 new file mode 100644 index 000000000..0c00ba82a --- /dev/null +++ b/configs/fedora/generic/s390x/CONFIG_CRYPTO_SHA3_512_S390 @@ -0,0 +1 @@ +CONFIG_CRYPTO_SHA3_512_S390=m diff --git a/configs/fedora/generic/s390x/CONFIG_EFI_TEST b/configs/fedora/generic/s390x/CONFIG_EFI_TEST new file mode 100644 index 000000000..455eb3061 --- /dev/null +++ b/configs/fedora/generic/s390x/CONFIG_EFI_TEST @@ -0,0 +1 @@ +# CONFIG_EFI_TEST is not set diff --git a/configs/fedora/generic/s390x/CONFIG_INPUT_PWM_BEEPER b/configs/fedora/generic/s390x/CONFIG_INPUT_PWM_BEEPER new file mode 100644 index 000000000..9ac1c7b31 --- /dev/null +++ b/configs/fedora/generic/s390x/CONFIG_INPUT_PWM_BEEPER @@ -0,0 +1 @@ +# CONFIG_INPUT_PWM_BEEPER is not set diff --git a/configs/fedora/generic/s390x/CONFIG_KEXEC_SIG b/configs/fedora/generic/s390x/CONFIG_KEXEC_SIG new file mode 100644 index 000000000..67b688658 --- /dev/null +++ b/configs/fedora/generic/s390x/CONFIG_KEXEC_SIG @@ -0,0 +1 @@ +CONFIG_KEXEC_SIG=y diff --git a/configs/fedora/generic/s390x/CONFIG_KEXEC_VERIFY_SIG b/configs/fedora/generic/s390x/CONFIG_KEXEC_VERIFY_SIG deleted file mode 100644 index 5d9b84372..000000000 --- a/configs/fedora/generic/s390x/CONFIG_KEXEC_VERIFY_SIG +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_KEXEC_VERIFY_SIG is not set diff --git a/configs/fedora/generic/s390x/CONFIG_MARCH_Z15 b/configs/fedora/generic/s390x/CONFIG_MARCH_Z15 new file mode 100644 index 000000000..6865b8850 --- /dev/null +++ b/configs/fedora/generic/s390x/CONFIG_MARCH_Z15 @@ -0,0 +1 @@ +# CONFIG_MARCH_Z15 is not set diff --git a/configs/fedora/generic/s390x/CONFIG_NR_CPUS b/configs/fedora/generic/s390x/CONFIG_NR_CPUS index fa1ab7e94..9ce2b2de6 100644 --- a/configs/fedora/generic/s390x/CONFIG_NR_CPUS +++ b/configs/fedora/generic/s390x/CONFIG_NR_CPUS @@ -1 +1 @@ -CONFIG_NR_CPUS=64 +CONFIG_NR_CPUS=512 diff --git a/configs/fedora/generic/s390x/CONFIG_TUNE_Z15 b/configs/fedora/generic/s390x/CONFIG_TUNE_Z15 new file mode 100644 index 000000000..edbf220a0 --- /dev/null +++ b/configs/fedora/generic/s390x/CONFIG_TUNE_Z15 @@ -0,0 +1 @@ +# CONFIG_TUNE_Z15 is not set diff --git a/configs/fedora/generic/x86/CONFIG_CPU_IDLE_GOV_HALTPOLL b/configs/fedora/generic/x86/CONFIG_CPU_IDLE_GOV_HALTPOLL new file mode 100644 index 000000000..4e01ab97c --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_CPU_IDLE_GOV_HALTPOLL @@ -0,0 +1 @@ +CONFIG_CPU_IDLE_GOV_HALTPOLL=y diff --git a/configs/fedora/generic/x86/CONFIG_CROS_EC b/configs/fedora/generic/x86/CONFIG_CROS_EC new file mode 100644 index 000000000..bd6dd449b --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_CROS_EC @@ -0,0 +1 @@ +# CONFIG_CROS_EC is not set diff --git a/configs/fedora/generic/x86/CONFIG_CROS_EC_I2C b/configs/fedora/generic/x86/CONFIG_CROS_EC_I2C deleted file mode 100644 index 67550eb9c..000000000 --- a/configs/fedora/generic/x86/CONFIG_CROS_EC_I2C +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CROS_EC_I2C=m diff --git a/configs/fedora/generic/x86/CONFIG_CROS_EC_PROTO b/configs/fedora/generic/x86/CONFIG_CROS_EC_PROTO deleted file mode 100644 index 96a1e9bcb..000000000 --- a/configs/fedora/generic/x86/CONFIG_CROS_EC_PROTO +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CROS_EC_PROTO=y diff --git a/configs/fedora/generic/x86/CONFIG_CROS_EC_SPI b/configs/fedora/generic/x86/CONFIG_CROS_EC_SPI deleted file mode 100644 index 54b52bed4..000000000 --- a/configs/fedora/generic/x86/CONFIG_CROS_EC_SPI +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CROS_EC_SPI=m diff --git a/configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DCN2_1 b/configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DCN2_1 new file mode 100644 index 000000000..9aa94df3c --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_DRM_AMD_DC_DCN2_1 @@ -0,0 +1 @@ +CONFIG_DRM_AMD_DC_DCN2_1=y diff --git a/configs/fedora/generic/x86/CONFIG_EFI_RCI2_TABLE b/configs/fedora/generic/x86/CONFIG_EFI_RCI2_TABLE new file mode 100644 index 000000000..083461929 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_EFI_RCI2_TABLE @@ -0,0 +1 @@ +CONFIG_EFI_RCI2_TABLE=y diff --git a/configs/fedora/generic/x86/CONFIG_HALTPOLL_CPUIDLE b/configs/fedora/generic/x86/CONFIG_HALTPOLL_CPUIDLE new file mode 100644 index 000000000..2a48c8bdc --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_HALTPOLL_CPUIDLE @@ -0,0 +1 @@ +CONFIG_HALTPOLL_CPUIDLE=y diff --git a/configs/fedora/generic/CONFIG_KS0108 b/configs/fedora/generic/x86/CONFIG_KS0108 index f93df735f..f93df735f 100644 --- a/configs/fedora/generic/CONFIG_KS0108 +++ b/configs/fedora/generic/x86/CONFIG_KS0108 diff --git a/configs/fedora/generic/CONFIG_KS0108_DELAY b/configs/fedora/generic/x86/CONFIG_KS0108_DELAY index 0d26c17ef..0d26c17ef 100644 --- a/configs/fedora/generic/CONFIG_KS0108_DELAY +++ b/configs/fedora/generic/x86/CONFIG_KS0108_DELAY diff --git a/configs/fedora/generic/CONFIG_KS0108_PORT b/configs/fedora/generic/x86/CONFIG_KS0108_PORT index e56a9f921..e56a9f921 100644 --- a/configs/fedora/generic/CONFIG_KS0108_PORT +++ b/configs/fedora/generic/x86/CONFIG_KS0108_PORT diff --git a/configs/fedora/generic/x86/CONFIG_LOCK_DOWN_KERNEL b/configs/fedora/generic/x86/CONFIG_LOCK_DOWN_KERNEL deleted file mode 100644 index e99bff22d..000000000 --- a/configs/fedora/generic/x86/CONFIG_LOCK_DOWN_KERNEL +++ /dev/null @@ -1 +0,0 @@ -CONFIG_LOCK_DOWN_KERNEL=y diff --git a/configs/fedora/generic/x86/CONFIG_LOCK_DOWN_KERNEL_FORCE b/configs/fedora/generic/x86/CONFIG_LOCK_DOWN_KERNEL_FORCE deleted file mode 100644 index b6a333ecd..000000000 --- a/configs/fedora/generic/x86/CONFIG_LOCK_DOWN_KERNEL_FORCE +++ /dev/null @@ -1 +0,0 @@ -# CONFIG_LOCK_DOWN_KERNEL_FORCE is not set diff --git a/configs/fedora/generic/x86/CONFIG_MAXSMP b/configs/fedora/generic/x86/CONFIG_MAXSMP index d0d71de53..8d0fa581d 100644 --- a/configs/fedora/generic/x86/CONFIG_MAXSMP +++ b/configs/fedora/generic/x86/CONFIG_MAXSMP @@ -1 +1 @@ -# CONFIG_MAXSMP is not set +CONFIG_MAXSMP=y diff --git a/configs/fedora/generic/x86/CONFIG_PARAVIRT_SPINLOCKS b/configs/fedora/generic/x86/CONFIG_PARAVIRT_SPINLOCKS index 857e9465e..14b4c8d8d 100644 --- a/configs/fedora/generic/x86/CONFIG_PARAVIRT_SPINLOCKS +++ b/configs/fedora/generic/x86/CONFIG_PARAVIRT_SPINLOCKS @@ -1 +1 @@ -# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_SPINLOCKS=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL b/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL new file mode 100644 index 000000000..dfe74ea98 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL @@ -0,0 +1 @@ +CONFIG_SND_HDA_INTEL=m diff --git a/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC b/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC new file mode 100644 index 000000000..501f523b0 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_HDA_INTEL_DETECT_DMIC @@ -0,0 +1 @@ +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH new file mode 100644 index 000000000..9d675be4d --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH new file mode 100644 index 000000000..324a48c5f --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC index e109ab25a..eb1b21982 100644 --- a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC @@ -1 +1 @@ -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y +# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~ new file mode 100644 index 000000000..4181a1dd2 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC~ @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=n diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH new file mode 100644 index 000000000..c13580570 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH @@ -0,0 +1,2 @@ +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m + diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~ new file mode 100644 index 000000000..bad67ba0e --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH~ @@ -0,0 +1 @@ +# CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH is not set diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH new file mode 100644 index 000000000..c11d5fcea --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES new file mode 100644 index 000000000..1e007232f --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES @@ -0,0 +1 @@ +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT new file mode 100644 index 000000000..fa0eee213 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT new file mode 100644 index 000000000..893908b7d --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT new file mode 100644 index 000000000..711e96855 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT new file mode 100644 index 000000000..f2d98813b --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT new file mode 100644 index 000000000..eca28b0b2 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT new file mode 100644 index 000000000..efe93bc3e --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT new file mode 100644 index 000000000..9b6b0ebe3 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 new file mode 100644 index 000000000..3d5403951 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 @@ -0,0 +1 @@ +# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~ new file mode 100644 index 000000000..df1d44aef --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1~ @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1=n diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC new file mode 100644 index 000000000..32dfcb2bc --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC new file mode 100644 index 000000000..432d9eb42 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_LINK b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_LINK new file mode 100644 index 000000000..3d4aa71ce --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_HDA_LINK @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_HDA_LINK=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT new file mode 100644 index 000000000..acd67f035 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL index a8070bb58..93748db03 100644 --- a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL @@ -1 +1 @@ -# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT new file mode 100644 index 000000000..d25aaa73d --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT new file mode 100644 index 000000000..aa1c7a699 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT new file mode 100644 index 000000000..616056ec4 --- /dev/null +++ b/configs/fedora/generic/x86/CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT @@ -0,0 +1 @@ +CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y diff --git a/configs/fedora/generic/x86/CONFIG_VIDEO_CROS_EC_CEC b/configs/fedora/generic/x86/CONFIG_VIDEO_CROS_EC_CEC deleted file mode 100644 index 180ec3f10..000000000 --- a/configs/fedora/generic/x86/CONFIG_VIDEO_CROS_EC_CEC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_VIDEO_CROS_EC_CEC=m diff --git a/configs/fedora/generic/x86/i686/CONFIG_CRYPTO_AES_586 b/configs/fedora/generic/x86/i686/CONFIG_CRYPTO_AES_586 deleted file mode 100644 index 4702bf09c..000000000 --- a/configs/fedora/generic/x86/i686/CONFIG_CRYPTO_AES_586 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_AES_586=y diff --git a/configs/fedora/generic/x86/i686/CONFIG_INPUT_PWM_BEEPER b/configs/fedora/generic/x86/i686/CONFIG_INPUT_PWM_BEEPER deleted file mode 100644 index 59fdb225d..000000000 --- a/configs/fedora/generic/x86/i686/CONFIG_INPUT_PWM_BEEPER +++ /dev/null @@ -1 +0,0 @@ -CONFIG_INPUT_PWM_BEEPER=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CROS_EC_CHARDEV b/configs/fedora/generic/x86/x86_64/CONFIG_CROS_EC_CHARDEV new file mode 100644 index 000000000..a3df83240 --- /dev/null +++ b/configs/fedora/generic/x86/x86_64/CONFIG_CROS_EC_CHARDEV @@ -0,0 +1 @@ +CONFIG_CROS_EC_CHARDEV=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2 b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2 deleted file mode 100644 index 21a9942c6..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AEGIS256_AESNI_SSE2 b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AEGIS256_AESNI_SSE2 deleted file mode 100644 index 847524120..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AEGIS256_AESNI_SSE2 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_AEGIS256_AESNI_SSE2=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AES_X86_64 b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AES_X86_64 deleted file mode 100644 index 7c09d010b..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_AES_X86_64 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_AES_X86_64=y diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS1280_AVX2 b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS1280_AVX2 deleted file mode 100644 index 8ae1a8885..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS1280_AVX2 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_MORUS1280_AVX2=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS1280_SSE2 b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS1280_SSE2 deleted file mode 100644 index 786389934..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS1280_SSE2 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_MORUS1280_SSE2=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS640_SSE2 b/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS640_SSE2 deleted file mode 100644 index 07d98b3fd..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_CRYPTO_MORUS640_SSE2 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_CRYPTO_MORUS640_SSE2=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC b/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC deleted file mode 100644 index 3600231f6..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_CROS_EC=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC_CHARDEV b/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC_CHARDEV deleted file mode 100644 index fc68f1d89..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC_CHARDEV +++ /dev/null @@ -1 +0,0 @@ -CONFIG_MFD_CROS_EC_CHARDEV=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC_DEV b/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC_DEV new file mode 100644 index 000000000..a4fd1512e --- /dev/null +++ b/configs/fedora/generic/x86/x86_64/CONFIG_MFD_CROS_EC_DEV @@ -0,0 +1 @@ +CONFIG_MFD_CROS_EC_DEV=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_NR_CPUS b/configs/fedora/generic/x86/x86_64/CONFIG_NR_CPUS index 27d187f4d..441191641 100644 --- a/configs/fedora/generic/x86/x86_64/CONFIG_NR_CPUS +++ b/configs/fedora/generic/x86/x86_64/CONFIG_NR_CPUS @@ -1 +1 @@ -CONFIG_NR_CPUS=1024 +CONFIG_NR_CPUS=8192 diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_OPTIMIZE_INLINING b/configs/fedora/generic/x86/x86_64/CONFIG_OPTIMIZE_INLINING deleted file mode 100644 index 6991e6d3f..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_OPTIMIZE_INLINING +++ /dev/null @@ -1 +0,0 @@ -CONFIG_OPTIMIZE_INLINING=y diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_SGI_IOC4 b/configs/fedora/generic/x86/x86_64/CONFIG_SGI_IOC4 deleted file mode 100644 index 89b268e91..000000000 --- a/configs/fedora/generic/x86/x86_64/CONFIG_SGI_IOC4 +++ /dev/null @@ -1 +0,0 @@ -CONFIG_SGI_IOC4=m diff --git a/configs/fedora/generic/x86/x86_64/CONFIG_X86_5LEVEL b/configs/fedora/generic/x86/x86_64/CONFIG_X86_5LEVEL index db301f396..ee4d305c7 100644 --- a/configs/fedora/generic/x86/x86_64/CONFIG_X86_5LEVEL +++ b/configs/fedora/generic/x86/x86_64/CONFIG_X86_5LEVEL @@ -1 +1 @@ -# CONFIG_X86_5LEVEL is not set +CONFIG_X86_5LEVEL=y diff --git a/configs/flavors b/configs/flavors new file mode 100644 index 000000000..35a143bac --- /dev/null +++ b/configs/flavors @@ -0,0 +1 @@ +fedora diff --git a/configs/config_generation b/configs/priority.fedora index b3385fd1c..b3385fd1c 100644 --- a/configs/config_generation +++ b/configs/priority.fedora diff --git a/configs/process_configs.sh b/configs/process_configs.sh index 846fe2e70..b464d95ce 100755 --- a/configs/process_configs.sh +++ b/configs/process_configs.sh @@ -2,7 +2,20 @@ # # This script takes the merged config files and processes them through oldconfig # and listnewconfig +# +usage() +{ + # alphabetical order please + echo "process_configs.sh [ options ] package_name kernel_version" + echo " -a: report all errors, equivalent to [-c -n -w -i]" + echo " -c: error on mismatched config options" + echo " -i: continue on error" + echo " -n: error on unset config options" + echo " -t: test run, do not overwrite original config" + echo " -w: error on misconfigured config options" + exit 1 +} die() { @@ -14,16 +27,16 @@ die() switch_to_toplevel() { path="$(pwd)" - while test "$path" != "/" + while test -n "$path" do test -e $path/MAINTAINERS && \ - test -d $path/drivers && \ - break + test -d $path/drivers && \ + break path="$(dirname $path)" done - test "$path" != "/" || die "Can't find toplevel" + test -n "$path" || die "Can't find toplevel" echo "$path" } @@ -48,7 +61,7 @@ checkoptions() configs[a[1]]=a[2]; } else { if (configs[a[1]] != "" && configs[a[1]] != a[2]) - print "Found "a[1]"="configs[a[1]]" after generation, had " a[1]"="a[2]" in Source tree"; + print "Found "a[1]"="a[2]" after generation, had " a[1]"="configs[a[1]]" in Source tree"; } } ' $1 $2 > .mismatches @@ -57,14 +70,15 @@ checkoptions() then echo "Error: Mismatches found in configuration files" cat .mismatches - exit 1 + RETURNCODE=1 + [ "$CONTINUEONERROR" ] || exit 1 fi } function process_configs() { # assume we are in $source_tree/configs, need to get to top level - pushd $(switch_to_toplevel) + pushd $(switch_to_toplevel) &>/dev/null for cfg in $SCRIPT_DIR/${PACKAGE_NAME}${KVERREL}${SUBARCH}*.config do @@ -73,49 +87,97 @@ function process_configs() cfgorig="${cfg}.orig" cat $cfg > $cfgorig + if [ "$arch" = "EMPTY" ] + then + # This arch is intentionally left blank + continue + fi echo -n "Processing $cfg ... " - # an empty grep is good but leaves a return value, so use # 'true' to bypass - make ARCH=$arch KCONFIG_CONFIG=$cfg listnewconfig | grep -E 'CONFIG_' > .newoptions || true + make ARCH=$arch KCONFIG_CONFIG=$cfgorig listnewconfig >& .listnewconfig + grep -E 'CONFIG_' .listnewconfig > .newoptions if test -n "$NEWOPTIONS" && test -s .newoptions then echo "Found unset config items, please set them to an appropriate value" cat .newoptions rm .newoptions - exit 1 + RETURNCODE=1 + [ "$CONTINUEONERROR" ] || exit 1 fi rm .newoptions - make ARCH=$arch KCONFIG_CONFIG=$cfg olddefconfig > /dev/null || exit 1 + grep -E 'config.*warning' .listnewconfig > .warnings + if test -n "$CHECKWARNINGS" && test -s .warnings + then + echo "Found misconfigured config items, please set them to an appropriate value" + cat .warnings + rm .warnings + RETURNCODE=1 + [ "$CONTINUEONERROR" ] || exit 1 + fi + rm .warnings + + rm .listnewconfig + + make ARCH=$arch KCONFIG_CONFIG=$cfgorig olddefconfig > /dev/null || exit 1 echo "# $arch" > ${cfgtmp} - cat "${cfg}" >> ${cfgtmp} + cat "${cfgorig}" >> ${cfgtmp} if test -n "$CHECKOPTIONS" then - checkoptions $cfgtmp $cfgorig + checkoptions $cfg $cfgtmp + fi + # if test run, don't overwrite original + if test -n "$TESTRUN" + then + rm ${cfgtmp} + else + mv ${cfgtmp} ${cfg} fi - mv ${cfgtmp} ${cfg} rm ${cfgorig} echo "done" done - rm "$SCRIPT_DIR"/*.config.old + rm "$SCRIPT_DIR"/*.config*.old popd > /dev/null echo "Processed config files are in $SCRIPT_DIR" } -NEWOPTIONS="" CHECKOPTIONS="" +CONTINUEONERROR="" +NEWOPTIONS="" +TESTRUN="" +CHECKWARNINGS="" + +RETURNCODE=0 while [[ $# -gt 0 ]] do key="$1" case $key in - -n) + -a) + CHECKOPTIONS="x" + CONTINUEONERROR="x" NEWOPTIONS="x" + CHECKWARNINGS="x" ;; -c) CHECKOPTIONS="x" ;; + -h) + usage + ;; + -i) + CONTINUEONERROR="x" + ;; + -n) + NEWOPTIONS="x" + ;; + -t) + TESTRUN="x" + ;; + -w) + CHECKWARNINGS="x" + ;; *) break;; esac @@ -133,3 +195,4 @@ SCRIPT_DIR="$(dirname $SCRIPT)" cd $SCRIPT_DIR process_configs +exit $RETURNCODE diff --git a/cpupower.config b/cpupower.config new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/cpupower.config diff --git a/cpupower.service b/cpupower.service new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/cpupower.service diff --git a/crash-driver.patch b/crash-driver.patch deleted file mode 100644 index 164dc90f5..000000000 --- a/crash-driver.patch +++ /dev/null @@ -1,722 +0,0 @@ -From 973e23bf27b0b2e5021321357fc570cccea3104c Mon Sep 17 00:00:00 2001 -From: Dave Anderson <anderson@redhat.com> -Date: Tue, 26 Nov 2013 12:42:46 -0500 -Subject: [PATCH] crash-driver - -Bugzilla: N/A -Upstream-status: Fedora mustard ---- - arch/arm/include/asm/crash-driver.h | 6 ++ - arch/arm64/include/asm/crash-driver.h | 6 ++ - arch/ia64/include/asm/crash-driver.h | 90 ++++++++++++++++++++++ - arch/ia64/kernel/ia64_ksyms.c | 3 + - arch/powerpc/include/asm/crash-driver.h | 6 ++ - arch/s390/include/asm/crash-driver.h | 60 +++++++++++++++ - arch/s390/mm/maccess.c | 2 + - arch/x86/include/asm/crash-driver.h | 6 ++ - drivers/char/Kconfig | 3 + - drivers/char/Makefile | 2 + - drivers/char/crash.c | 128 ++++++++++++++++++++++++++++++++ - include/asm-generic/crash-driver.h | 72 ++++++++++++++++++ - 12 files changed, 384 insertions(+) - create mode 100644 arch/arm/include/asm/crash-driver.h - create mode 100644 arch/arm64/include/asm/crash-driver.h - create mode 100644 arch/ia64/include/asm/crash-driver.h - create mode 100644 arch/powerpc/include/asm/crash-driver.h - create mode 100644 arch/s390/include/asm/crash-driver.h - create mode 100644 arch/x86/include/asm/crash-driver.h - create mode 100644 drivers/char/crash.c - create mode 100644 include/asm-generic/crash-driver.h - -diff --git a/arch/arm/include/asm/crash-driver.h b/arch/arm/include/asm/crash-driver.h -new file mode 100644 -index 0000000..06e7ae9 ---- /dev/null -+++ b/arch/arm/include/asm/crash-driver.h -@@ -0,0 +1,6 @@ -+#ifndef _ARM_CRASH_H -+#define _ARM_CRASH_H -+ -+#include <asm-generic/crash-driver.h> -+ -+#endif /* _ARM_CRASH_H */ -diff --git a/arch/arm64/include/asm/crash-driver.h b/arch/arm64/include/asm/crash-driver.h -new file mode 100644 -index 0000000..43b26da ---- /dev/null -+++ b/arch/arm64/include/asm/crash-driver.h -@@ -0,0 +1,6 @@ -+#ifndef _ARM64_CRASH_H -+#define _ARM64_CRASH_H -+ -+#include <asm-generic/crash-driver.h> -+ -+#endif /* _ARM64_CRASH_H */ -diff --git a/arch/ia64/include/asm/crash-driver.h b/arch/ia64/include/asm/crash-driver.h -new file mode 100644 -index 0000000..404bcb9 ---- /dev/null -+++ b/arch/ia64/include/asm/crash-driver.h -@@ -0,0 +1,90 @@ -+#ifndef _ASM_IA64_CRASH_H -+#define _ASM_IA64_CRASH_H -+ -+/* -+ * linux/include/asm-ia64/crash-driver.h -+ * -+ * Copyright (c) 2004 Red Hat, Inc. All rights reserved. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2, or (at your option) -+ * any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ * -+ */ -+ -+#ifdef __KERNEL__ -+ -+#include <linux/efi.h> -+#include <linux/mm.h> -+#include <asm/mmzone.h> -+ -+static inline void * -+map_virtual(u64 offset, struct page **pp) -+{ -+ struct page *page; -+ unsigned long pfn; -+ u32 type; -+ -+ if (REGION_NUMBER(offset) == 5) { -+ char byte; -+ -+ if (__get_user(byte, (char *)offset) == 0) -+ return (void *)offset; -+ else -+ return NULL; -+ } -+ -+ switch (type = efi_mem_type(offset)) -+ { -+ case EFI_LOADER_CODE: -+ case EFI_LOADER_DATA: -+ case EFI_BOOT_SERVICES_CODE: -+ case EFI_BOOT_SERVICES_DATA: -+ case EFI_CONVENTIONAL_MEMORY: -+ break; -+ -+ default: -+ printk(KERN_INFO -+ "crash memory driver: invalid memory type for %lx: %d\n", -+ offset, type); -+ return NULL; -+ } -+ -+ pfn = offset >> PAGE_SHIFT; -+ -+ if (!pfn_valid(pfn)) { -+ printk(KERN_INFO -+ "crash memory driver: invalid pfn: %lx )\n", pfn); -+ return NULL; -+ } -+ -+ page = pfn_to_page(pfn); -+ -+ if (!page->virtual) { -+ printk(KERN_INFO -+ "crash memory driver: offset: %lx page: %lx page->virtual: NULL\n", -+ offset, (unsigned long)page); -+ return NULL; -+ } -+ -+ return (page->virtual + (offset & (PAGE_SIZE-1))); -+} -+ -+static inline void unmap_virtual(struct page *page) -+{ -+ return; -+} -+ -+#endif /* __KERNEL__ */ -+ -+#endif /* _ASM_IA64_CRASH_H */ -diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c -index d111248..b14b4c6 100644 ---- a/arch/ia64/kernel/ia64_ksyms.c -+++ b/arch/ia64/kernel/ia64_ksyms.c -@@ -9,3 +9,6 @@ - EXPORT_SYMBOL(min_low_pfn); /* defined by bootmem.c, but not exported by generic code */ - EXPORT_SYMBOL(max_low_pfn); /* defined by bootmem.c, but not exported by generic code */ - #endif -+ -+#include <linux/efi.h> -+EXPORT_SYMBOL_GPL(efi_mem_type); -diff --git a/arch/powerpc/include/asm/crash-driver.h b/arch/powerpc/include/asm/crash-driver.h -new file mode 100644 -index 0000000..50092d9 ---- /dev/null -+++ b/arch/powerpc/include/asm/crash-driver.h -@@ -0,0 +1,6 @@ -+#ifndef _PPC64_CRASH_H -+#define _PPC64_CRASH_H -+ -+#include <asm-generic/crash-driver.h> -+ -+#endif /* _PPC64_CRASH_H */ -diff --git a/arch/s390/include/asm/crash-driver.h b/arch/s390/include/asm/crash-driver.h -new file mode 100644 -index 0000000..552be5e ---- /dev/null -+++ b/arch/s390/include/asm/crash-driver.h -@@ -0,0 +1,60 @@ -+#ifndef _S390_CRASH_H -+#define _S390_CRASH_H -+ -+#ifdef __KERNEL__ -+ -+#include <linux/mm.h> -+#include <linux/highmem.h> -+ -+/* -+ * For swapped prefix pages get bounce buffer using xlate_dev_mem_ptr() -+ */ -+static inline void *map_virtual(u64 offset, struct page **pp) -+{ -+ struct page *page; -+ unsigned long pfn; -+ void *vaddr; -+ -+ vaddr = xlate_dev_mem_ptr(offset); -+ pfn = ((unsigned long) vaddr) >> PAGE_SHIFT; -+ if ((unsigned long) vaddr != offset) -+ page = pfn_to_page(pfn); -+ else -+ page = NULL; -+ -+ if (!page_is_ram(pfn)) { -+ printk(KERN_INFO -+ "crash memory driver: !page_is_ram(pfn: %lx)\n", pfn); -+ return NULL; -+ } -+ -+ if (!pfn_valid(pfn)) { -+ printk(KERN_INFO -+ "crash memory driver: invalid pfn: %lx )\n", pfn); -+ return NULL; -+ } -+ -+ *pp = page; -+ return vaddr; -+} -+ -+/* -+ * Free bounce buffer if necessary -+ */ -+static inline void unmap_virtual(struct page *page) -+{ -+ void *vaddr; -+ -+ if (page) { -+ /* -+ * Because for bounce buffers vaddr will never be 0 -+ * unxlate_dev_mem_ptr() will always free the bounce buffer. -+ */ -+ vaddr = (void *)(page_to_pfn(page) << PAGE_SHIFT); -+ unxlate_dev_mem_ptr(0, vaddr); -+ } -+} -+ -+#endif /* __KERNEL__ */ -+ -+#endif /* _S390_CRASH_H */ -diff --git a/arch/s390/mm/maccess.c b/arch/s390/mm/maccess.c -index 792f9c6..3197995 100644 ---- a/arch/s390/mm/maccess.c -+++ b/arch/s390/mm/maccess.c -@@ -201,6 +201,7 @@ void *xlate_dev_mem_ptr(phys_addr_t addr) - put_online_cpus(); - return bounce; - } -+EXPORT_SYMBOL_GPL(xlate_dev_mem_ptr); - - /* - * Free converted buffer for /dev/mem access (if necessary) -@@ -210,3 +211,4 @@ void unxlate_dev_mem_ptr(phys_addr_t addr, void *buf) - if ((void *) addr != buf) - free_page((unsigned long) buf); - } -+EXPORT_SYMBOL_GPL(unxlate_dev_mem_ptr); -diff --git a/arch/x86/include/asm/crash-driver.h b/arch/x86/include/asm/crash-driver.h -new file mode 100644 -index 0000000..fd4736e ---- /dev/null -+++ b/arch/x86/include/asm/crash-driver.h -@@ -0,0 +1,6 @@ -+#ifndef _X86_CRASH_H -+#define _X86_CRASH_H -+ -+#include <asm-generic/crash-driver.h> -+ -+#endif /* _X86_CRASH_H */ -diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index dcc0973..99b99d5 100644 ---- a/drivers/char/Kconfig -+++ b/drivers/char/Kconfig -@@ -4,6 +4,9 @@ - - menu "Character devices" - -+config CRASH -+ tristate "Crash Utility memory driver" -+ - source "drivers/tty/Kconfig" - - config DEVMEM -diff --git a/drivers/char/Makefile b/drivers/char/Makefile -index 6e6c244..29cc9c8 100644 ---- a/drivers/char/Makefile -+++ b/drivers/char/Makefile -@@ -58,3 +58,5 @@ js-rtc-y = rtc.o - obj-$(CONFIG_XILLYBUS) += xillybus/ - obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o - obj-$(CONFIG_ADI) += adi.o -+ -+obj-$(CONFIG_CRASH) += crash.o -diff --git a/drivers/char/crash.c b/drivers/char/crash.c -new file mode 100644 -index 0000000..085378a ---- /dev/null -+++ b/drivers/char/crash.c -@@ -0,0 +1,128 @@ -+/* -+ * linux/drivers/char/crash.c -+ * -+ * Copyright (C) 2004 Dave Anderson <anderson@redhat.com> -+ * Copyright (C) 2004 Red Hat, Inc. -+ */ -+ -+/****************************************************************************** -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2, or (at your option) -+ * any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ * -+ *****************************************************************************/ -+ -+#include <linux/module.h> -+#include <linux/types.h> -+#include <linux/miscdevice.h> -+#include <linux/init.h> -+#include <asm/io.h> -+#include <linux/uaccess.h> -+#include <asm/types.h> -+#include <asm/crash-driver.h> -+ -+#define CRASH_VERSION "1.0" -+ -+/* -+ * These are the file operation functions that allow crash utility -+ * access to physical memory. -+ */ -+ -+static loff_t -+crash_llseek(struct file * file, loff_t offset, int orig) -+{ -+ switch (orig) { -+ case 0: -+ file->f_pos = offset; -+ return file->f_pos; -+ case 1: -+ file->f_pos += offset; -+ return file->f_pos; -+ default: -+ return -EINVAL; -+ } -+} -+ -+/* -+ * Determine the page address for an address offset value, -+ * get a virtual address for it, and copy it out. -+ * Accesses must fit within a page. -+ */ -+static ssize_t -+crash_read(struct file *file, char *buf, size_t count, loff_t *poff) -+{ -+ void *vaddr; -+ struct page *page; -+ u64 offset; -+ ssize_t read; -+ -+ offset = *poff; -+ if (offset >> PAGE_SHIFT != (offset+count-1) >> PAGE_SHIFT) -+ return -EINVAL; -+ -+ vaddr = map_virtual(offset, &page); -+ if (!vaddr) -+ return -EFAULT; -+ -+ if (copy_to_user(buf, vaddr, count)) { -+ unmap_virtual(page); -+ return -EFAULT; -+ } -+ unmap_virtual(page); -+ -+ read = count; -+ *poff += read; -+ return read; -+} -+ -+static struct file_operations crash_fops = { -+ .owner = THIS_MODULE, -+ .llseek = crash_llseek, -+ .read = crash_read, -+}; -+ -+static struct miscdevice crash_dev = { -+ MISC_DYNAMIC_MINOR, -+ "crash", -+ &crash_fops -+}; -+ -+static int __init -+crash_init(void) -+{ -+ int ret; -+ -+ ret = misc_register(&crash_dev); -+ if (ret) { -+ printk(KERN_ERR -+ "crash memory driver: cannot misc_register (MISC_DYNAMIC_MINOR)\n"); -+ goto out; -+ } -+ -+ ret = 0; -+ printk(KERN_INFO "crash memory driver: version %s\n", CRASH_VERSION); -+out: -+ return ret; -+} -+ -+static void __exit -+crash_cleanup_module(void) -+{ -+ misc_deregister(&crash_dev); -+} -+ -+module_init(crash_init); -+module_exit(crash_cleanup_module); -+ -+MODULE_LICENSE("GPL"); -diff --git a/include/asm-generic/crash-driver.h b/include/asm-generic/crash-driver.h -new file mode 100644 -index 0000000..25ab986 ---- /dev/null -+++ b/include/asm-generic/crash-driver.h -@@ -0,0 +1,72 @@ -+#ifndef __CRASH_H__ -+#define __CRASH_H__ -+ -+/* -+ * include/linux/crash-driver.h -+ * -+ * Copyright (c) 2013 Red Hat, Inc. All rights reserved. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2, or (at your option) -+ * any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ * -+ */ -+ -+#ifdef __KERNEL__ -+ -+#include <linux/mm.h> -+#include <linux/highmem.h> -+ -+static inline void * -+map_virtual(u64 offset, struct page **pp) -+{ -+ struct page *page; -+ unsigned long pfn; -+ void *vaddr; -+ -+ pfn = (unsigned long)(offset >> PAGE_SHIFT); -+ -+ if (!page_is_ram(pfn)) { -+ printk(KERN_INFO -+ "crash memory driver: !page_is_ram(pfn: %lx)\n", pfn); -+ return NULL; -+ } -+ -+ if (!pfn_valid(pfn)) { -+ printk(KERN_INFO -+ "crash memory driver: invalid pfn: %lx )\n", pfn); -+ return NULL; -+ } -+ -+ page = pfn_to_page(pfn); -+ -+ vaddr = kmap(page); -+ if (!vaddr) { -+ printk(KERN_INFO -+ "crash memory driver: pfn: %lx kmap(page: %lx) failed\n", -+ pfn, (unsigned long)page); -+ return NULL; -+ } -+ -+ *pp = page; -+ return (vaddr + (offset & (PAGE_SIZE-1))); -+} -+ -+static inline void unmap_virtual(struct page *page) -+{ -+ kunmap(page); -+} -+ -+#endif /* __KERNEL__ */ -+ -+#endif /* __CRASH_H__ */ --- -2.7.4 - -From 23d8bd48303acda2d3a95a3e1a662784a4fa9fcd Mon Sep 17 00:00:00 2001 -From: Fedora Kernel Team <kernel-team@fedoraproject.org> -Date: Tue, 20 Sep 2016 19:39:46 +0200 -Subject: [PATCH] Update of crash driver to handle CONFIG_HARDENED_USERCOPY and - to restrict the supported architectures. - ---- - drivers/char/Kconfig | 1 + - drivers/char/crash.c | 33 ++++++++++++++++++++++++++++++--- - 2 files changed, 31 insertions(+), 3 deletions(-) - -diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index 99b99d5..be6a3ae 100644 ---- a/drivers/char/Kconfig -+++ b/drivers/char/Kconfig -@@ -6,6 +6,7 @@ menu "Character devices" - - config CRASH - tristate "Crash Utility memory driver" -+ depends on X86_32 || X86_64 || ARM || ARM64 || PPC64 || S390 - - source "drivers/tty/Kconfig" - -diff --git a/drivers/char/crash.c b/drivers/char/crash.c -index 085378a..0258bf8 100644 ---- a/drivers/char/crash.c -+++ b/drivers/char/crash.c -@@ -32,7 +32,7 @@ - #include <asm/types.h> - #include <asm/crash-driver.h> - --#define CRASH_VERSION "1.0" -+#define CRASH_VERSION "1.2" - - /* - * These are the file operation functions that allow crash utility -@@ -66,6 +66,7 @@ crash_read(struct file *file, char *buf, size_t count, loff_t *poff) - struct page *page; - u64 offset; - ssize_t read; -+ char *buffer = file->private_data; - - offset = *poff; - if (offset >> PAGE_SHIFT != (offset+count-1) >> PAGE_SHIFT) -@@ -74,8 +75,12 @@ crash_read(struct file *file, char *buf, size_t count, loff_t *poff) - vaddr = map_virtual(offset, &page); - if (!vaddr) - return -EFAULT; -- -- if (copy_to_user(buf, vaddr, count)) { -+ /* -+ * Use bounce buffer to bypass the CONFIG_HARDENED_USERCOPY -+ * kernel text restriction. -+ */ -+ memcpy(buffer, (char *)vaddr, count); -+ if (copy_to_user(buf, buffer, count)) { - unmap_virtual(page); - return -EFAULT; - } -@@ -86,10 +91,32 @@ crash_read(struct file *file, char *buf, size_t count, loff_t *poff) - return read; - } - -+static int -+crash_open(struct inode * inode, struct file * filp) -+{ -+ if (!capable(CAP_SYS_RAWIO)) -+ return -EPERM; -+ -+ filp->private_data = (void *)__get_free_page(GFP_KERNEL); -+ if (!filp->private_data) -+ return -ENOMEM; -+ -+ return 0; -+} -+ -+static int -+crash_release(struct inode *inode, struct file *filp) -+{ -+ free_pages((unsigned long)filp->private_data, 0); -+ return 0; -+} -+ - static struct file_operations crash_fops = { - .owner = THIS_MODULE, - .llseek = crash_llseek, - .read = crash_read, -+ .open = crash_open, -+ .release = crash_release, - }; - - static struct miscdevice crash_dev = { --- -2.7.4 - -From: Dave Anderson <anderson@redhat.com> -Date: Fri, 18 Nov 2016 11:52:35 -0500 -Cc: onestero@redhat.com -Subject: [PATCH v2] Restore live system crash analysis for ARM64 - -This v2 version simplifies the copy out of the kimage_voffset value -to user-space per Oleg's suggestion. - -Upstream status: N/A - -Test: v2 version tested successfully with a modified crash utility - -The following Linux 4.6 commit breaks support for live system -crash analysis on ARM64: - - commit a7f8de168ace487fa7b88cb154e413cf40e87fc6 - Author: Ard Biesheuvel <ard.biesheuvel@linaro.org> - arm64: allow kernel Image to be loaded anywhere in physical memory - -The patchset drastically modified the kernel's virtual memory layout, -where notably the static kernel text and data image was moved from the -unity mapped region into the vmalloc region. Prior to Linux 4.6, -the kernel's __virt_to_phys() function was this: - - #define __virt_to_phys(x) (((phys_addr_t)(x) - PAGE_OFFSET + PHYS_OFFSET)) - -When running on a live system, the crash utility could determine PAGE_OFFSET -by looking at the virtual addresses compiled into the vmlinux file, and -PHYS_OFFSET can be determined by looking at /proc/iomem. - -As of Linux 4.6, it is done differently: - - #define __virt_to_phys(x) ({ \ - phys_addr_t __x = (phys_addr_t)(x); \ - __x & BIT(VA_BITS - 1) ? (__x & ~PAGE_OFFSET) + PHYS_OFFSET : \ - (__x - kimage_voffset); }) - -The PAGE_OFFSET/PHYS_OFFSET section of the conditional expression is for -traditional unity-mapped virtual addresses, but kernel text and static -data requires the new "kimage_voffset" variable. Unfortunately, the -contents of the new "kimage_voffset" variable is not available or -calculatable from a user-space perspective, even with root privileges. - -At least the ARM64 developers made its contents available to modules -with an EXPORT_SYMBOL(kimage_voffset) declaration. Accordingly, with -a modification to the /dev/crash driver to return its contents, the -crash utility can run on a live system. - -The patch allows for architecture-specific DEV_CRASH_ARCH_DATA ioctls -to be created, where this is the first instance of one. - - ---- - arch/arm64/include/asm/crash-driver.h | 16 ++++++++++++++++ - drivers/char/crash.c | 13 ++++++++++++- - 2 files changed, 28 insertions(+), 1 deletion(-) - -diff --git a/arch/arm64/include/asm/crash-driver.h b/arch/arm64/include/asm/crash-driver.h -index 43b26da..fe68e7c 100644 ---- a/arch/arm64/include/asm/crash-driver.h -+++ b/arch/arm64/include/asm/crash-driver.h -@@ -3,4 +3,20 @@ - - #include <asm-generic/crash-driver.h> - -+#define DEV_CRASH_ARCH_DATA _IOR('c', 1, long) -+ -+static long -+crash_arch_ioctl(struct file *file, unsigned int cmd, unsigned long arg) -+{ -+ extern u64 kimage_voffset; -+ -+ switch (cmd) -+ { -+ case DEV_CRASH_ARCH_DATA: -+ return put_user(kimage_voffset, (unsigned long __user *)arg); -+ default: -+ return -EINVAL; -+ } -+} -+ - #endif /* _ARM64_CRASH_H */ -diff --git a/drivers/char/crash.c b/drivers/char/crash.c -index 0258bf8..dfb767c 100644 ---- a/drivers/char/crash.c -+++ b/drivers/char/crash.c -@@ -32,7 +32,7 @@ - #include <asm/types.h> - #include <asm/crash-driver.h> - --#define CRASH_VERSION "1.2" -+#define CRASH_VERSION "1.3" - - /* - * These are the file operation functions that allow crash utility -@@ -111,10 +111,21 @@ crash_release(struct inode *inode, struct file *filp) - return 0; - } - -+static long -+crash_ioctl(struct file *file, unsigned int cmd, unsigned long arg) -+{ -+#ifdef DEV_CRASH_ARCH_DATA -+ return crash_arch_ioctl(file, cmd, arg); -+#else -+ return -EINVAL; -+#endif -+} -+ - static struct file_operations crash_fops = { - .owner = THIS_MODULE, - .llseek = crash_llseek, - .read = crash_read, -+ .unlocked_ioctl = crash_ioctl, - .open = crash_open, - .release = crash_release, - }; --- -1.8.3.1 - diff --git a/die-floppy-die.patch b/die-floppy-die.patch deleted file mode 100644 index caaa2dde5..000000000 --- a/die-floppy-die.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Kyle McMartin <kyle@phobos.i.jkkm.org> -Date: Tue, 30 Mar 2010 00:04:29 -0400 -Subject: [PATCH] die-floppy-die - -Kill the floppy.ko pnp modalias. We were surviving just fine without -autoloading floppy drivers, tyvm. - -Please feel free to register all complaints in the wastepaper bin. - -Bugzilla: N/A -Upstream-status: Fedora mustard ---- - drivers/block/floppy.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c -index a08cda955285..e320e1e679cf 100644 ---- a/drivers/block/floppy.c -+++ b/drivers/block/floppy.c -@@ -4633,8 +4633,7 @@ static const struct pnp_device_id floppy_pnpids[] = { - {"PNP0700", 0}, - {} - }; -- --MODULE_DEVICE_TABLE(pnp, floppy_pnpids); -+/* MODULE_DEVICE_TABLE(pnp, floppy_pnpids); */ - - #else - diff --git a/drm-i915-hush-check-crtc-state.patch b/drm-i915-hush-check-crtc-state.patch deleted file mode 100644 index 6e2481838..000000000 --- a/drm-i915-hush-check-crtc-state.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 8f8f3ee1e3ae35df618761475293dc5d8285b6e0 Mon Sep 17 00:00:00 2001 -From: Adam Jackson <ajax@redhat.com> -Date: Mon, 10 Jul 2017 08:11:48 -0700 -Subject: [PATCH] drm/i915: hush check crtc state - -This is _by far_ the most common backtrace for i915 on retrace.fp.o, and -it's mostly useless noise. There's not enough context when it's generated -to know if something actually went wrong. Downgrade the message to -KMS debugging so we can still get it if we want it. - -Bugzilla: 1027037 1028785 -Upstream-status: http://lists.freedesktop.org/archives/intel-gfx/2013-November/035948.html ---- - drivers/gpu/drm/i915/display/intel_display.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c -index 8592a7d422de..e915cf6b0ba6 100644 ---- a/drivers/gpu/drm/i915/display/intel_display.c -+++ b/drivers/gpu/drm/i915/display/intel_display.c -@@ -12982,7 +12982,7 @@ verify_crtc_state(struct drm_crtc *crtc, - - sw_config = to_intel_crtc_state(new_crtc_state); - if (!intel_pipe_config_compare(sw_config, pipe_config, false)) { -- I915_STATE_WARN(1, "pipe state doesn't match!\n"); -+ DRM_DEBUG_KMS(1, "pipe state doesn't match!\n"); - intel_dump_pipe_config(pipe_config, NULL, "[hw state]"); - intel_dump_pipe_config(sw_config, NULL, "[sw state]"); - } --- -2.21.0 - diff --git a/dwc3-fix.patch b/dwc3-fix.patch deleted file mode 100644 index d741b9e2e..000000000 --- a/dwc3-fix.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 4749e0e61241cc121de572520a39dab365b9ea1d Mon Sep 17 00:00:00 2001 -From: Thinh Nguyen <Thinh.Nguyen@synopsys.com> -Date: Thu, 8 Aug 2019 16:39:42 -0700 -Subject: usb: dwc3: Update soft-reset wait polling rate - -Starting from DWC_usb31 version 1.90a and later, the DCTL.CSFRST bit -will not be cleared until after all the internal clocks are synchronized -during soft-reset. This may take a little more than 50ms. Set the -polling rate at 20ms instead. - -Signed-off-by: Thinh Nguyen <thinhn@synopsys.com> -Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com> ---- - drivers/usb/dwc3/core.c | 23 ++++++++++++++++++----- - drivers/usb/dwc3/core.h | 2 ++ - 2 files changed, 20 insertions(+), 5 deletions(-) - -diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c -index 98bce85c29d0..252c397860ef 100644 ---- a/drivers/usb/dwc3/core.c -+++ b/drivers/usb/dwc3/core.c -@@ -252,12 +252,25 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc) - reg |= DWC3_DCTL_CSFTRST; - dwc3_writel(dwc->regs, DWC3_DCTL, reg); - -+ /* -+ * For DWC_usb31 controller 1.90a and later, the DCTL.CSFRST bit -+ * is cleared only after all the clocks are synchronized. This can -+ * take a little more than 50ms. Set the polling rate at 20ms -+ * for 10 times instead. -+ */ -+ if (dwc3_is_usb31(dwc) && dwc->revision >= DWC3_USB31_REVISION_190A) -+ retries = 10; -+ - do { - reg = dwc3_readl(dwc->regs, DWC3_DCTL); - if (!(reg & DWC3_DCTL_CSFTRST)) - goto done; - -- udelay(1); -+ if (dwc3_is_usb31(dwc) && -+ dwc->revision >= DWC3_USB31_REVISION_190A) -+ msleep(20); -+ else -+ udelay(1); - } while (--retries); - - phy_exit(dwc->usb3_generic_phy); -@@ -267,11 +280,11 @@ static int dwc3_core_soft_reset(struct dwc3 *dwc) - - done: - /* -- * For DWC_usb31 controller, once DWC3_DCTL_CSFTRST bit is cleared, -- * we must wait at least 50ms before accessing the PHY domain -- * (synchronization delay). DWC_usb31 programming guide section 1.3.2. -+ * For DWC_usb31 controller 1.80a and prior, once DCTL.CSFRST bit -+ * is cleared, we must wait at least 50ms before accessing the PHY -+ * domain (synchronization delay). - */ -- if (dwc3_is_usb31(dwc)) -+ if (dwc3_is_usb31(dwc) && dwc->revision <= DWC3_USB31_REVISION_180A) - msleep(50); - - return 0; -diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h -index 3dd783b889cb..1c8b349379af 100644 ---- a/drivers/usb/dwc3/core.h -+++ b/drivers/usb/dwc3/core.h -@@ -1137,6 +1137,8 @@ struct dwc3 { - #define DWC3_USB31_REVISION_120A (0x3132302a | DWC3_REVISION_IS_DWC31) - #define DWC3_USB31_REVISION_160A (0x3136302a | DWC3_REVISION_IS_DWC31) - #define DWC3_USB31_REVISION_170A (0x3137302a | DWC3_REVISION_IS_DWC31) -+#define DWC3_USB31_REVISION_180A (0x3138302a | DWC3_REVISION_IS_DWC31) -+#define DWC3_USB31_REVISION_190A (0x3139302a | DWC3_REVISION_IS_DWC31) - - u32 version_type; - --- -cgit 1.2-0.3.lf.el7 - diff --git a/efi-lockdown.patch b/efi-lockdown.patch deleted file mode 100644 index 75d4b7ed7..000000000 --- a/efi-lockdown.patch +++ /dev/null @@ -1,2173 +0,0 @@ -From 4f426f922e12f0ffaed373536f68531e18d68495 Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:44:57 +0000 -Subject: [PATCH 01/29] Add the ability to lock down access to the running - kernel image - -Provide a single call to allow kernel code to determine whether the system -should be locked down, thereby disallowing various accesses that might -allow the running kernel image to be changed including the loading of -modules that aren't validly signed with a key we recognise, fiddling with -MSR registers and disallowing hibernation. - -Signed-off-by: David Howells <dhowells@redhat.com> -Acked-by: James Morris <james.l.morris@oracle.com> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - include/linux/kernel.h | 17 ++++++++++++ - include/linux/security.h | 9 +++++- - security/Kconfig | 15 ++++++++++ - security/Makefile | 3 ++ - security/lock_down.c | 60 ++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 103 insertions(+), 1 deletion(-) - create mode 100644 security/lock_down.c - -diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index 0c9bc231107f..f71008b0a641 100644 ---- a/include/linux/kernel.h -+++ b/include/linux/kernel.h -@@ -312,6 +312,23 @@ static inline void refcount_error_report(struct pt_regs *regs, const char *err) - { } - #endif - -+#ifdef CONFIG_LOCK_DOWN_KERNEL -+extern bool __kernel_is_locked_down(const char *what, bool first); -+#else -+static inline bool __kernel_is_locked_down(const char *what, bool first) -+{ -+ return false; -+} -+#endif -+ -+#define kernel_is_locked_down(what) \ -+ ({ \ -+ static bool message_given; \ -+ bool locked_down = __kernel_is_locked_down(what, !message_given); \ -+ message_given = true; \ -+ locked_down; \ -+ }) -+ - /* Internal, do not use. */ - int __must_check _kstrtoul(const char *s, unsigned int base, unsigned long *res); - int __must_check _kstrtol(const char *s, unsigned int base, long *res); -diff --git a/include/linux/security.h b/include/linux/security.h -index 5f7441abbf42..fd7579c879a6 100644 ---- a/include/linux/security.h -+++ b/include/linux/security.h -@@ -1829,5 +1829,12 @@ static inline void security_bpf_prog_free(struct bpf_prog_aux *aux) - #endif /* CONFIG_SECURITY */ - #endif /* CONFIG_BPF_SYSCALL */ - --#endif /* ! __LINUX_SECURITY_H */ -+#ifdef CONFIG_LOCK_DOWN_KERNEL -+extern void __init init_lockdown(void); -+#else -+static inline void __init init_lockdown(void) -+{ -+} -+#endif - -+#endif /* ! __LINUX_SECURITY_H */ -diff --git a/security/Kconfig b/security/Kconfig -index 06a30851511a..720cf9dee2b4 100644 ---- a/security/Kconfig -+++ b/security/Kconfig -@@ -230,6 +230,21 @@ config STATIC_USERMODEHELPER_PATH - If you wish for all usermode helper programs to be disabled, - specify an empty string here (i.e. ""). - -+config LOCK_DOWN_KERNEL -+ bool "Allow the kernel to be 'locked down'" -+ help -+ Allow the kernel to be locked down. If lockdown support is enabled -+ and activated, the kernel will impose additional restrictions -+ intended to prevent uid 0 from being able to modify the running -+ kernel. This may break userland applications that rely on low-level -+ access to hardware. -+ -+config LOCK_DOWN_KERNEL_FORCE -+ bool "Enable kernel lockdown mode automatically" -+ depends on LOCK_DOWN_KERNEL -+ help -+ Enable the kernel lock down functionality automatically at boot. -+ - source "security/selinux/Kconfig" - source "security/smack/Kconfig" - source "security/tomoyo/Kconfig" -diff --git a/security/Makefile b/security/Makefile -index c598b904938f..5ff090149c88 100644 ---- a/security/Makefile -+++ b/security/Makefile -@@ -32,3 +32,6 @@ obj-$(CONFIG_CGROUP_DEVICE) += device_cgroup.o - # Object integrity file lists - subdir-$(CONFIG_INTEGRITY) += integrity - obj-$(CONFIG_INTEGRITY) += integrity/ -+ -+# Allow the kernel to be locked down -+obj-$(CONFIG_LOCK_DOWN_KERNEL) += lock_down.o -diff --git a/security/lock_down.c b/security/lock_down.c -new file mode 100644 -index 000000000000..18d8776a4d02 ---- /dev/null -+++ b/security/lock_down.c -@@ -0,0 +1,60 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* Lock down the kernel -+ * -+ * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved. -+ * Written by David Howells (dhowells@redhat.com) -+ * -+ * This program is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public Licence -+ * as published by the Free Software Foundation; either version -+ * 2 of the Licence, or (at your option) any later version. -+ */ -+ -+#include <linux/security.h> -+#include <linux/export.h> -+ -+static __ro_after_init bool kernel_locked_down; -+ -+/* -+ * Put the kernel into lock-down mode. -+ */ -+static void __init lock_kernel_down(const char *where) -+{ -+ if (!kernel_locked_down) { -+ kernel_locked_down = true; -+ pr_notice("Kernel is locked down from %s; see man kernel_lockdown.7\n", -+ where); -+ } -+} -+ -+static int __init lockdown_param(char *ignored) -+{ -+ lock_kernel_down("command line"); -+ return 0; -+} -+ -+early_param("lockdown", lockdown_param); -+ -+/* -+ * Lock the kernel down from very early in the arch setup. This must happen -+ * prior to things like ACPI being initialised. -+ */ -+void __init init_lockdown(void) -+{ -+#ifdef CONFIG_LOCK_DOWN_FORCE -+ lock_kernel_down("Kernel configuration"); -+#endif -+} -+ -+/** -+ * kernel_is_locked_down - Find out if the kernel is locked down -+ * @what: Tag to use in notice generated if lockdown is in effect -+ */ -+bool __kernel_is_locked_down(const char *what, bool first) -+{ -+ if (what && first && kernel_locked_down) -+ pr_notice("Lockdown: %s is restricted; see man kernel_lockdown.7\n", -+ what); -+ return kernel_locked_down; -+} -+EXPORT_SYMBOL(__kernel_is_locked_down); --- -2.21.0 - - -From 7b3d34ce99e1db6152f3f350f7512ed67712d2bb Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:44:58 +0000 -Subject: [PATCH 02/29] Enforce module signatures if the kernel is locked down - -If the kernel is locked down, require that all modules have valid -signatures that we can verify. - -I have adjusted the errors generated: - - (1) If there's no signature (ENODATA) or we can't check it (ENOPKG, - ENOKEY), then: - - (a) If signatures are enforced then EKEYREJECTED is returned. - - (b) If there's no signature or we can't check it, but the kernel is - locked down then EPERM is returned (this is then consistent with - other lockdown cases). - - (2) If the signature is unparseable (EBADMSG, EINVAL), the signature fails - the check (EKEYREJECTED) or a system error occurs (eg. ENOMEM), we - return the error we got. - -Note that the X.509 code doesn't check for key expiry as the RTC might not -be valid or might not have been transferred to the kernel's clock yet. - - [Modified by Matthew Garrett to remove the IMA integration. This will - be replaced with integration with the IMA architecture policy - patchset.] - -Signed-off-by: David Howells <dhowells@redhat.com> -Reviewed-by: Jiri Bohac <jbohac@suse.cz> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> -Cc: Jessica Yu <jeyu@kernel.org> ---- - kernel/module.c | 39 ++++++++++++++++++++++++++++++++------- - 1 file changed, 32 insertions(+), 7 deletions(-) - -diff --git a/kernel/module.c b/kernel/module.c -index a2cee14a83f3..c771a183b741 100644 ---- a/kernel/module.c -+++ b/kernel/module.c -@@ -2753,8 +2753,9 @@ static inline void kmemleak_load_module(const struct module *mod, - #ifdef CONFIG_MODULE_SIG - static int module_sig_check(struct load_info *info, int flags) - { -- int err = -ENOKEY; -+ int err = -ENODATA; - const unsigned long markerlen = sizeof(MODULE_SIG_STRING) - 1; -+ const char *reason; - const void *mod = info->hdr; - - /* -@@ -2769,16 +2770,40 @@ static int module_sig_check(struct load_info *info, int flags) - err = mod_verify_sig(mod, info); - } - -- if (!err) { -+ switch (err) { -+ case 0: - info->sig_ok = true; - return 0; -- } - -- /* Not having a signature is only an error if we're strict. */ -- if (err == -ENOKEY && !is_module_sig_enforced()) -- err = 0; -+ /* We don't permit modules to be loaded into trusted kernels -+ * without a valid signature on them, but if we're not -+ * enforcing, certain errors are non-fatal. -+ */ -+ case -ENODATA: -+ reason = "Loading of unsigned module"; -+ goto decide; -+ case -ENOPKG: -+ reason = "Loading of module with unsupported crypto"; -+ goto decide; -+ case -ENOKEY: -+ reason = "Loading of module with unavailable key"; -+ decide: -+ if (is_module_sig_enforced()) { -+ pr_notice("%s is rejected\n", reason); -+ return -EKEYREJECTED; -+ } - -- return err; -+ if (kernel_is_locked_down(reason)) -+ return -EPERM; -+ return 0; -+ -+ /* All other errors are fatal, including nomem, unparseable -+ * signatures and signature check failures - even if signatures -+ * aren't required. -+ */ -+ default: -+ return err; -+ } - } - #else /* !CONFIG_MODULE_SIG */ - static int module_sig_check(struct load_info *info, int flags) --- -2.21.0 - - -From e6cee3fcc560211fbc3d1efaf048ad4b987a4b73 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <mjg59@srcf.ucam.org> -Date: Mon, 18 Feb 2019 12:44:58 +0000 -Subject: [PATCH 03/29] Restrict /dev/{mem,kmem,port} when the kernel is locked - down - -Allowing users to read and write to core kernel memory makes it possible -for the kernel to be subverted, avoiding module loading restrictions, and -also to steal cryptographic information. - -Disallow /dev/mem and /dev/kmem from being opened this when the kernel has -been locked down to prevent this. - -Also disallow /dev/port from being opened to prevent raw ioport access and -thus DMA from being used to accomplish the same thing. - -Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> -Signed-off-by: David Howells <dhowells@redhat.com> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> -Cc: x86@kernel.org ---- - drivers/char/mem.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/drivers/char/mem.c b/drivers/char/mem.c -index b08dc50f9f26..0a2f2e75d5f4 100644 ---- a/drivers/char/mem.c -+++ b/drivers/char/mem.c -@@ -786,6 +786,8 @@ static loff_t memory_lseek(struct file *file, loff_t offset, int orig) - - static int open_port(struct inode *inode, struct file *filp) - { -+ if (kernel_is_locked_down("/dev/mem,kmem,port")) -+ return -EPERM; - return capable(CAP_SYS_RAWIO) ? 0 : -EPERM; - } - --- -2.21.0 - - -From 1fe9d9809a7bedff1c0a043f5bcaf128d479fe24 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <mjg59@srcf.ucam.org> -Date: Mon, 18 Feb 2019 12:44:58 +0000 -Subject: [PATCH 04/29] kexec_load: Disable at runtime if the kernel is locked - down - -The kexec_load() syscall permits the loading and execution of arbitrary -code in ring 0, which is something that lock-down is meant to prevent. It -makes sense to disable kexec_load() in this situation. - -This does not affect kexec_file_load() syscall which can check for a -signature on the image to be booted. - -Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> -Signed-off-by: David Howells <dhowells@redhat.com> -Acked-by: Dave Young <dyoung@redhat.com> -cc: kexec@lists.infradead.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - kernel/kexec.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/kernel/kexec.c b/kernel/kexec.c -index 1b018f1a6e0d..fc87f152c229 100644 ---- a/kernel/kexec.c -+++ b/kernel/kexec.c -@@ -205,6 +205,13 @@ static inline int kexec_load_check(unsigned long nr_segments, - if (result < 0) - return result; - -+ /* -+ * kexec can be used to circumvent module loading restrictions, so -+ * prevent loading in that case -+ */ -+ if (kernel_is_locked_down("kexec of unsigned images")) -+ return -EPERM; -+ - /* - * Verify we have a legal set of flags - * This leaves us room for future extensions. --- -2.21.0 - - -From b1dbde991ca218ddc1b25e293e94e72907b2b2dc Mon Sep 17 00:00:00 2001 -From: Dave Young <dyoung@redhat.com> -Date: Mon, 18 Feb 2019 12:44:58 +0000 -Subject: [PATCH 05/29] Copy secure_boot flag in boot params across kexec - reboot - -Kexec reboot in case secure boot being enabled does not keep the secure -boot mode in new kernel, so later one can load unsigned kernel via legacy -kexec_load. In this state, the system is missing the protections provided -by secure boot. - -Adding a patch to fix this by retain the secure_boot flag in original -kernel. - -secure_boot flag in boot_params is set in EFI stub, but kexec bypasses the -stub. Fixing this issue by copying secure_boot flag across kexec reboot. - -Signed-off-by: Dave Young <dyoung@redhat.com> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: kexec@lists.infradead.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - arch/x86/kernel/kexec-bzimage64.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c -index 5ebcd02cbca7..d2f4e706a428 100644 ---- a/arch/x86/kernel/kexec-bzimage64.c -+++ b/arch/x86/kernel/kexec-bzimage64.c -@@ -180,6 +180,7 @@ setup_efi_state(struct boot_params *params, unsigned long params_load_addr, - if (efi_enabled(EFI_OLD_MEMMAP)) - return 0; - -+ params->secure_boot = boot_params.secure_boot; - ei->efi_loader_signature = current_ei->efi_loader_signature; - ei->efi_systab = current_ei->efi_systab; - ei->efi_systab_hi = current_ei->efi_systab_hi; --- -2.21.0 - - -From 054c9d4879b81dcf7c49c5815c30db59ad9356ea Mon Sep 17 00:00:00 2001 -From: Jiri Bohac <jbohac@suse.cz> -Date: Mon, 18 Feb 2019 12:44:58 +0000 -Subject: [PATCH 06/29] kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and - KEXEC_SIG_FORCE - -This is a preparatory patch for kexec_file_load() lockdown. A locked down -kernel needs to prevent unsigned kernel images from being loaded with -kexec_file_load(). Currently, the only way to force the signature -verification is compiling with KEXEC_VERIFY_SIG. This prevents loading -usigned images even when the kernel is not locked down at runtime. - -This patch splits KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE. -Analogous to the MODULE_SIG and MODULE_SIG_FORCE for modules, KEXEC_SIG -turns on the signature verification but allows unsigned images to be -loaded. KEXEC_SIG_FORCE disallows images without a valid signature. - -[Modified by David Howells such that: - - (1) verify_pefile_signature() differentiates between no-signature and - sig-didn't-match in its returned errors. - - (2) kexec fails with EKEYREJECTED and logs an appropriate message if - signature checking is enforced and an signature is not found, uses - unsupported crypto or has no matching key. - - (3) kexec fails with EKEYREJECTED if there is a signature for which we - have a key, but signature doesn't match - even if in non-forcing mode. - - (4) kexec fails with EBADMSG or some other error if there is a signature - which cannot be parsed - even if in non-forcing mode. - - (5) kexec fails with ELIBBAD if the PE file cannot be parsed to extract - the signature - even if in non-forcing mode. - -] - -Signed-off-by: Jiri Bohac <jbohac@suse.cz> -Signed-off-by: David Howells <dhowells@redhat.com> -Reviewed-by: Jiri Bohac <jbohac@suse.cz> -cc: kexec@lists.infradead.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - arch/x86/Kconfig | 20 ++++++++--- - crypto/asymmetric_keys/verify_pefile.c | 4 ++- - include/linux/kexec.h | 4 +-- - kernel/kexec_file.c | 48 ++++++++++++++++++++++---- - 4 files changed, 61 insertions(+), 15 deletions(-) - -diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 879741336771..df9592ce8503 100644 ---- a/arch/x86/Kconfig -+++ b/arch/x86/Kconfig -@@ -2026,20 +2026,30 @@ config KEXEC_FILE - config ARCH_HAS_KEXEC_PURGATORY - def_bool KEXEC_FILE - --config KEXEC_VERIFY_SIG -+config KEXEC_SIG - bool "Verify kernel signature during kexec_file_load() syscall" - depends on KEXEC_FILE - ---help--- -- This option makes kernel signature verification mandatory for -- the kexec_file_load() syscall. - -- In addition to that option, you need to enable signature -+ This option makes the kexec_file_load() syscall check for a valid -+ signature of the kernel image. The image can still be loaded without -+ a valid signature unless you also enable KEXEC_SIG_FORCE, though if -+ there's a signature that we can check, then it must be valid. -+ -+ In addition to this option, you need to enable signature - verification for the corresponding kernel image type being - loaded in order for this to work. - -+config KEXEC_SIG_FORCE -+ bool "Require a valid signature in kexec_file_load() syscall" -+ depends on KEXEC_SIG -+ ---help--- -+ This option makes kernel signature verification mandatory for -+ the kexec_file_load() syscall. -+ - config KEXEC_BZIMAGE_VERIFY_SIG - bool "Enable bzImage signature verification support" -- depends on KEXEC_VERIFY_SIG -+ depends on KEXEC_SIG - depends on SIGNED_PE_FILE_VERIFICATION - select SYSTEM_TRUSTED_KEYRING - ---help--- -diff --git a/crypto/asymmetric_keys/verify_pefile.c b/crypto/asymmetric_keys/verify_pefile.c -index 3b303fe2f061..cc9dbcecaaca 100644 ---- a/crypto/asymmetric_keys/verify_pefile.c -+++ b/crypto/asymmetric_keys/verify_pefile.c -@@ -96,7 +96,7 @@ static int pefile_parse_binary(const void *pebuf, unsigned int pelen, - - if (!ddir->certs.virtual_address || !ddir->certs.size) { - pr_debug("Unsigned PE binary\n"); -- return -EKEYREJECTED; -+ return -ENODATA; - } - - chkaddr(ctx->header_size, ddir->certs.virtual_address, -@@ -403,6 +403,8 @@ static int pefile_digest_pe(const void *pebuf, unsigned int pelen, - * (*) 0 if at least one signature chain intersects with the keys in the trust - * keyring, or: - * -+ * (*) -ENODATA if there is no signature present. -+ * - * (*) -ENOPKG if a suitable crypto module couldn't be found for a check on a - * chain. - * -diff --git a/include/linux/kexec.h b/include/linux/kexec.h -index b9b1bc5f9669..58b27c7bdc2b 100644 ---- a/include/linux/kexec.h -+++ b/include/linux/kexec.h -@@ -125,7 +125,7 @@ typedef void *(kexec_load_t)(struct kimage *image, char *kernel_buf, - unsigned long cmdline_len); - typedef int (kexec_cleanup_t)(void *loader_data); - --#ifdef CONFIG_KEXEC_VERIFY_SIG -+#ifdef CONFIG_KEXEC_SIG - typedef int (kexec_verify_sig_t)(const char *kernel_buf, - unsigned long kernel_len); - #endif -@@ -134,7 +134,7 @@ struct kexec_file_ops { - kexec_probe_t *probe; - kexec_load_t *load; - kexec_cleanup_t *cleanup; --#ifdef CONFIG_KEXEC_VERIFY_SIG -+#ifdef CONFIG_KEXEC_SIG - kexec_verify_sig_t *verify_sig; - #endif - }; -diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c -index b8cc032d5620..5036bde1e5b3 100644 ---- a/kernel/kexec_file.c -+++ b/kernel/kexec_file.c -@@ -88,7 +88,7 @@ int __weak arch_kimage_file_post_load_cleanup(struct kimage *image) - return kexec_image_post_load_cleanup_default(image); - } - --#ifdef CONFIG_KEXEC_VERIFY_SIG -+#ifdef CONFIG_KEXEC_SIG - static int kexec_image_verify_sig_default(struct kimage *image, void *buf, - unsigned long buf_len) - { -@@ -186,7 +186,8 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd, - const char __user *cmdline_ptr, - unsigned long cmdline_len, unsigned flags) - { -- int ret = 0; -+ const char *reason; -+ int ret; - void *ldata; - loff_t size; - -@@ -202,15 +203,48 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd, - if (ret) - goto out; - --#ifdef CONFIG_KEXEC_VERIFY_SIG -+#ifdef CONFIG_KEXEC_SIG - ret = arch_kexec_kernel_verify_sig(image, image->kernel_buf, - image->kernel_buf_len); -- if (ret) { -- pr_debug("kernel signature verification failed.\n"); -+#else -+ ret = -ENODATA; -+#endif -+ -+ switch (ret) { -+ case 0: -+ break; -+ -+ /* Certain verification errors are non-fatal if we're not -+ * checking errors, provided we aren't mandating that there -+ * must be a valid signature. -+ */ -+ case -ENODATA: -+ reason = "kexec of unsigned image"; -+ goto decide; -+ case -ENOPKG: -+ reason = "kexec of image with unsupported crypto"; -+ goto decide; -+ case -ENOKEY: -+ reason = "kexec of image with unavailable key"; -+ decide: -+ if (IS_ENABLED(CONFIG_KEXEC_SIG_FORCE)) { -+ pr_notice("%s rejected\n", reason); -+ ret = -EKEYREJECTED; -+ goto out; -+ } -+ -+ ret = 0; -+ break; -+ -+ /* All other errors are fatal, including nomem, unparseable -+ * signatures and signature check failures - even if signatures -+ * aren't required. -+ */ -+ default: -+ pr_notice("kernel signature verification failed (%d).\n", ret); - goto out; - } -- pr_debug("kernel signature verification successful.\n"); --#endif -+ - /* It is possible that there no initramfs is being loaded */ - if (!(flags & KEXEC_FILE_NO_INITRAMFS)) { - ret = kernel_read_file_from_fd(initrd_fd, &image->initrd_buf, --- -2.21.0 - - -From d0ca8a6c26bfd6c8de7ed1d83326aae9b4bdfbf4 Mon Sep 17 00:00:00 2001 -From: Jiri Bohac <jbohac@suse.cz> -Date: Mon, 18 Feb 2019 12:44:58 +0000 -Subject: [PATCH 07/29] kexec_file: Restrict at runtime if the kernel is locked - down - -When KEXEC_SIG is not enabled, kernel should not load images through -kexec_file systemcall if the kernel is locked down. - -[Modified by David Howells to fit with modifications to the previous patch - and to return -EPERM if the kernel is locked down for consistency with - other lockdowns. Modified by Matthew Garrett to remove the IMA - integration, which will be replaced by integrating with the IMA - architecture policy patches.] - -Signed-off-by: Jiri Bohac <jbohac@suse.cz> -Signed-off-by: David Howells <dhowells@redhat.com> -Reviewed-by: Jiri Bohac <jbohac@suse.cz> -cc: kexec@lists.infradead.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - kernel/kexec_file.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c -index 5036bde1e5b3..0668c29d2eaf 100644 ---- a/kernel/kexec_file.c -+++ b/kernel/kexec_file.c -@@ -234,6 +234,12 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd, - } - - ret = 0; -+ -+ if (kernel_is_locked_down(reason)) { -+ ret = -EPERM; -+ goto out; -+ } -+ - break; - - /* All other errors are fatal, including nomem, unparseable --- -2.21.0 - - -From 3754ff197e10abd8ef88875e069741025ea0dd84 Mon Sep 17 00:00:00 2001 -From: Josh Boyer <jwboyer@fedoraproject.org> -Date: Mon, 18 Feb 2019 12:44:59 +0000 -Subject: [PATCH 08/29] hibernate: Disable when the kernel is locked down - -There is currently no way to verify the resume image when returning -from hibernate. This might compromise the signed modules trust model, -so until we can work with signed hibernate images we disable it when the -kernel is locked down. - -Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> -Signed-off-by: David Howells <dhowells@redhat.com> -Cc: rjw@rjwysocki.net -Cc: pavel@ucw.cz -cc: linux-pm@vger.kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - kernel/power/hibernate.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c -index cd7434e6000d..0f30de4a712a 100644 ---- a/kernel/power/hibernate.c -+++ b/kernel/power/hibernate.c -@@ -68,7 +68,7 @@ static const struct platform_hibernation_ops *hibernation_ops; - - bool hibernation_available(void) - { -- return (nohibernate == 0); -+ return nohibernate == 0 && !kernel_is_locked_down("Hibernation"); - } - - /** --- -2.21.0 - - -From a144fd3bcc7fcbf55b608c89b8cf64abec72130c Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <mjg59@srcf.ucam.org> -Date: Mon, 18 Feb 2019 12:44:59 +0000 -Subject: [PATCH 09/29] uswsusp: Disable when the kernel is locked down - -uswsusp allows a user process to dump and then restore kernel state, which -makes it possible to modify the running kernel. Disable this if the kernel -is locked down. - -Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> -Signed-off-by: David Howells <dhowells@redhat.com> -Reviewed-by: James Morris <james.l.morris@oracle.com> -cc: linux-pm@vger.kernel.org -Cc: pavel@ucw.cz -Cc: rjw@rjwysocki.net -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - kernel/power/user.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/kernel/power/user.c b/kernel/power/user.c -index 77438954cc2b..0caff429eb55 100644 ---- a/kernel/power/user.c -+++ b/kernel/power/user.c -@@ -49,6 +49,9 @@ static int snapshot_open(struct inode *inode, struct file *filp) - if (!hibernation_available()) - return -EPERM; - -+ if (kernel_is_locked_down("/dev/snapshot")) -+ return -EPERM; -+ - lock_system_sleep(); - - if (!atomic_add_unless(&snapshot_device_available, -1, 0)) { --- -2.21.0 - - -From 069af594117ee566597173886950d3577c523983 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <mjg59@srcf.ucam.org> -Date: Mon, 18 Feb 2019 12:44:59 +0000 -Subject: [PATCH 10/29] PCI: Lock down BAR access when the kernel is locked - down - -Any hardware that can potentially generate DMA has to be locked down in -order to avoid it being possible for an attacker to modify kernel code, -allowing them to circumvent disabled module loading or module signing. -Default to paranoid - in future we can potentially relax this for -sufficiently IOMMU-isolated devices. - -Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> -Signed-off-by: David Howells <dhowells@redhat.com> -Acked-by: Bjorn Helgaas <bhelgaas@google.com> -cc: linux-pci@vger.kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - drivers/pci/pci-sysfs.c | 9 +++++++++ - drivers/pci/proc.c | 9 ++++++++- - drivers/pci/syscall.c | 3 ++- - 3 files changed, 19 insertions(+), 2 deletions(-) - -diff --git a/drivers/pci/pci-sysfs.c b/drivers/pci/pci-sysfs.c -index 965c72104150..f8cef3e348a3 100644 ---- a/drivers/pci/pci-sysfs.c -+++ b/drivers/pci/pci-sysfs.c -@@ -907,6 +907,9 @@ static ssize_t pci_write_config(struct file *filp, struct kobject *kobj, - loff_t init_off = off; - u8 *data = (u8 *) buf; - -+ if (kernel_is_locked_down("Direct PCI access")) -+ return -EPERM; -+ - if (off > dev->cfg_size) - return 0; - if (off + count > dev->cfg_size) { -@@ -1168,6 +1171,9 @@ static int pci_mmap_resource(struct kobject *kobj, struct bin_attribute *attr, - enum pci_mmap_state mmap_type; - struct resource *res = &pdev->resource[bar]; - -+ if (kernel_is_locked_down("Direct PCI access")) -+ return -EPERM; -+ - if (res->flags & IORESOURCE_MEM && iomem_is_exclusive(res->start)) - return -EINVAL; - -@@ -1243,6 +1249,9 @@ static ssize_t pci_write_resource_io(struct file *filp, struct kobject *kobj, - struct bin_attribute *attr, char *buf, - loff_t off, size_t count) - { -+ if (kernel_is_locked_down("Direct PCI access")) -+ return -EPERM; -+ - return pci_resource_io(filp, kobj, attr, buf, off, count, true); - } - -diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c -index fe7fe678965b..23c9b5979f5d 100644 ---- a/drivers/pci/proc.c -+++ b/drivers/pci/proc.c -@@ -117,6 +117,9 @@ static ssize_t proc_bus_pci_write(struct file *file, const char __user *buf, - int size = dev->cfg_size; - int cnt; - -+ if (kernel_is_locked_down("Direct PCI access")) -+ return -EPERM; -+ - if (pos >= size) - return 0; - if (nbytes >= size) -@@ -196,6 +199,9 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd, - #endif /* HAVE_PCI_MMAP */ - int ret = 0; - -+ if (kernel_is_locked_down("Direct PCI access")) -+ return -EPERM; -+ - switch (cmd) { - case PCIIOC_CONTROLLER: - ret = pci_domain_nr(dev->bus); -@@ -238,7 +244,8 @@ static int proc_bus_pci_mmap(struct file *file, struct vm_area_struct *vma) - struct pci_filp_private *fpriv = file->private_data; - int i, ret, write_combine = 0, res_bit = IORESOURCE_MEM; - -- if (!capable(CAP_SYS_RAWIO)) -+ if (!capable(CAP_SYS_RAWIO) || -+ kernel_is_locked_down("Direct PCI access")) - return -EPERM; - - if (fpriv->mmap_state == pci_mmap_io) { -diff --git a/drivers/pci/syscall.c b/drivers/pci/syscall.c -index d96626c614f5..b8a08d3166a1 100644 ---- a/drivers/pci/syscall.c -+++ b/drivers/pci/syscall.c -@@ -90,7 +90,8 @@ SYSCALL_DEFINE5(pciconfig_write, unsigned long, bus, unsigned long, dfn, - u32 dword; - int err = 0; - -- if (!capable(CAP_SYS_ADMIN)) -+ if (!capable(CAP_SYS_ADMIN) || -+ kernel_is_locked_down("Direct PCI access")) - return -EPERM; - - dev = pci_get_domain_bus_and_slot(0, bus, dfn); --- -2.21.0 - - -From 97f7b0338b58afd67817ca886de78ce9bba67f29 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <mjg59@srcf.ucam.org> -Date: Mon, 18 Feb 2019 12:44:59 +0000 -Subject: [PATCH 11/29] x86: Lock down IO port access when the kernel is locked - down - -IO port access would permit users to gain access to PCI configuration -registers, which in turn (on a lot of hardware) give access to MMIO -register space. This would potentially permit root to trigger arbitrary -DMA, so lock it down by default. - -This also implicitly locks down the KDADDIO, KDDELIO, KDENABIO and -KDDISABIO console ioctls. - -Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> -Signed-off-by: David Howells <dhowells@redhat.com> -Reviewed-by: Thomas Gleixner <tglx@linutronix.de> -cc: x86@kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - arch/x86/kernel/ioport.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c -index 0fe1c8782208..abc702a6ae9c 100644 ---- a/arch/x86/kernel/ioport.c -+++ b/arch/x86/kernel/ioport.c -@@ -31,7 +31,8 @@ long ksys_ioperm(unsigned long from, unsigned long num, int turn_on) - - if ((from + num <= from) || (from + num > IO_BITMAP_BITS)) - return -EINVAL; -- if (turn_on && !capable(CAP_SYS_RAWIO)) -+ if (turn_on && (!capable(CAP_SYS_RAWIO) || -+ kernel_is_locked_down("ioperm"))) - return -EPERM; - - /* -@@ -126,7 +127,8 @@ SYSCALL_DEFINE1(iopl, unsigned int, level) - return -EINVAL; - /* Trying to gain more privileges? */ - if (level > old) { -- if (!capable(CAP_SYS_RAWIO)) -+ if (!capable(CAP_SYS_RAWIO) || -+ kernel_is_locked_down("iopl")) - return -EPERM; - } - regs->flags = (regs->flags & ~X86_EFLAGS_IOPL) | --- -2.21.0 - - -From 65029f8df39eb1d0a48cbcb6686b21e844ff9b3c Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <mjg59@srcf.ucam.org> -Date: Mon, 18 Feb 2019 12:44:59 +0000 -Subject: [PATCH 12/29] x86/msr: Restrict MSR access when the kernel is locked - down - -Writing to MSRs should not be allowed if the kernel is locked down, since -it could lead to execution of arbitrary code in kernel mode. Based on a -patch by Kees Cook. - -MSR accesses are logged for the purposes of building up a whitelist as per -Alan Cox's suggestion. - -Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> -Signed-off-by: David Howells <dhowells@redhat.com> -Acked-by: Kees Cook <keescook@chromium.org> -Reviewed-by: Thomas Gleixner <tglx@linutronix.de> -cc: x86@kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - arch/x86/kernel/msr.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/arch/x86/kernel/msr.c b/arch/x86/kernel/msr.c -index 3db2252b958d..5eed6530c223 100644 ---- a/arch/x86/kernel/msr.c -+++ b/arch/x86/kernel/msr.c -@@ -79,6 +79,11 @@ static ssize_t msr_write(struct file *file, const char __user *buf, - int err = 0; - ssize_t bytes = 0; - -+ if (kernel_is_locked_down("Direct MSR access")) { -+ pr_info("Direct access to MSR %x\n", reg); -+ return -EPERM; -+ } -+ - if (count % 8) - return -EINVAL; /* Invalid chunk size */ - -@@ -130,6 +135,11 @@ static long msr_ioctl(struct file *file, unsigned int ioc, unsigned long arg) - err = -EFAULT; - break; - } -+ if (kernel_is_locked_down("Direct MSR access")) { -+ pr_info("Direct access to MSR %x\n", regs[1]); /* Display %ecx */ -+ err = -EPERM; -+ break; -+ } - err = wrmsr_safe_regs_on_cpu(cpu, regs); - if (err) - break; --- -2.21.0 - - -From 0a0ad07ecc667dae61d7a1073559830184022be7 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <mjg59@srcf.ucam.org> -Date: Mon, 18 Feb 2019 12:44:59 +0000 -Subject: [PATCH 13/29] ACPI: Limit access to custom_method when the kernel is - locked down - -custom_method effectively allows arbitrary access to system memory, making -it possible for an attacker to circumvent restrictions on module loading. -Disable it if the kernel is locked down. - -Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: linux-acpi@vger.kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - drivers/acpi/custom_method.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/acpi/custom_method.c b/drivers/acpi/custom_method.c -index b2ef4c2ec955..33b821be0600 100644 ---- a/drivers/acpi/custom_method.c -+++ b/drivers/acpi/custom_method.c -@@ -30,6 +30,9 @@ static ssize_t cm_write(struct file *file, const char __user * user_buf, - struct acpi_table_header table; - acpi_status status; - -+ if (kernel_is_locked_down("ACPI custom methods")) -+ return -EPERM; -+ - if (!(*ppos)) { - /* parse the table header to get the table length */ - if (count <= sizeof(struct acpi_table_header)) --- -2.21.0 - - -From ad843f3ba6d525cc47eb2c866de74a324d3a960c Mon Sep 17 00:00:00 2001 -From: Josh Boyer <jwboyer@redhat.com> -Date: Mon, 18 Feb 2019 12:44:59 +0000 -Subject: [PATCH 14/29] acpi: Ignore acpi_rsdp kernel param when the kernel has - been locked down - -This option allows userspace to pass the RSDP address to the kernel, which -makes it possible for a user to modify the workings of hardware . Reject -the option when the kernel is locked down. - -Signed-off-by: Josh Boyer <jwboyer@redhat.com> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: Dave Young <dyoung@redhat.com> -cc: linux-acpi@vger.kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - drivers/acpi/osl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c -index 9c0edf2fc0dd..0c5c7b51fb72 100644 ---- a/drivers/acpi/osl.c -+++ b/drivers/acpi/osl.c -@@ -180,7 +180,7 @@ acpi_physical_address __init acpi_os_get_root_pointer(void) - acpi_physical_address pa; - - #ifdef CONFIG_KEXEC -- if (acpi_rsdp) -+ if (acpi_rsdp && !kernel_is_locked_down("ACPI RSDP specification")) - return acpi_rsdp; - #endif - pa = acpi_arch_get_root_pointer(); --- -2.21.0 - - -From 146618cd3ae3556184f3ca94ca82809f4e7090b9 Mon Sep 17 00:00:00 2001 -From: Linn Crosetto <linn@hpe.com> -Date: Mon, 18 Feb 2019 12:45:00 +0000 -Subject: [PATCH 15/29] acpi: Disable ACPI table override if the kernel is - locked down - -From the kernel documentation (initrd_table_override.txt): - - If the ACPI_INITRD_TABLE_OVERRIDE compile option is true, it is possible - to override nearly any ACPI table provided by the BIOS with an - instrumented, modified one. - -When securelevel is set, the kernel should disallow any unauthenticated -changes to kernel space. ACPI tables contain code invoked by the kernel, -so do not allow ACPI tables to be overridden if the kernel is locked down. - -Signed-off-by: Linn Crosetto <linn@hpe.com> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: linux-acpi@vger.kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - drivers/acpi/tables.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/drivers/acpi/tables.c b/drivers/acpi/tables.c -index b32327759380..6fd5c8328427 100644 ---- a/drivers/acpi/tables.c -+++ b/drivers/acpi/tables.c -@@ -578,6 +578,11 @@ void __init acpi_table_upgrade(void) - if (table_nr == 0) - return; - -+ if (kernel_is_locked_down("ACPI table override")) { -+ pr_notice("kernel is locked down, ignoring table override\n"); -+ return; -+ } -+ - acpi_tables_addr = - memblock_find_in_range(0, ACPI_TABLE_UPGRADE_MAX_PHYS, - all_tables_size, PAGE_SIZE); --- -2.21.0 - - -From e183b69655b6069c7007ad911252dd681fb0083f Mon Sep 17 00:00:00 2001 -From: Linn Crosetto <linn@hpe.com> -Date: Mon, 18 Feb 2019 12:45:00 +0000 -Subject: [PATCH 16/29] acpi: Disable APEI error injection if the kernel is - locked down - -ACPI provides an error injection mechanism, EINJ, for debugging and testing -the ACPI Platform Error Interface (APEI) and other RAS features. If -supported by the firmware, ACPI specification 5.0 and later provide for a -way to specify a physical memory address to which to inject the error. - -Injecting errors through EINJ can produce errors which to the platform are -indistinguishable from real hardware errors. This can have undesirable -side-effects, such as causing the platform to mark hardware as needing -replacement. - -While it does not provide a method to load unauthenticated privileged code, -the effect of these errors may persist across reboots and affect trust in -the underlying hardware, so disable error injection through EINJ if -the kernel is locked down. - -Signed-off-by: Linn Crosetto <linn@hpe.com> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: linux-acpi@vger.kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - drivers/acpi/apei/einj.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c -index e430cf4caec2..dde995f871d6 100644 ---- a/drivers/acpi/apei/einj.c -+++ b/drivers/acpi/apei/einj.c -@@ -510,6 +510,9 @@ static int einj_error_inject(u32 type, u32 flags, u64 param1, u64 param2, - int rc; - u64 base_addr, size; - -+ if (kernel_is_locked_down("ACPI error injection")) -+ return -EPERM; -+ - /* If user manually set "flags", make sure it is legal */ - if (flags && (flags & - ~(SETWA_FLAGS_APICID|SETWA_FLAGS_MEM|SETWA_FLAGS_PCIE_SBDF))) --- -2.21.0 - - -From 2c469f9240f58dce6049eae000d70dcef8025cfa Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:00 +0000 -Subject: [PATCH 17/29] Prohibit PCMCIA CIS storage when the kernel is locked - down - -Prohibit replacement of the PCMCIA Card Information Structure when the -kernel is locked down. - -Suggested-by: Dominik Brodowski <linux@dominikbrodowski.net> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: linux-pcmcia@lists.infradead.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - drivers/pcmcia/cistpl.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/drivers/pcmcia/cistpl.c b/drivers/pcmcia/cistpl.c -index abd029945cc8..77919fa3fb4a 100644 ---- a/drivers/pcmcia/cistpl.c -+++ b/drivers/pcmcia/cistpl.c -@@ -1575,6 +1575,9 @@ static ssize_t pccard_store_cis(struct file *filp, struct kobject *kobj, - struct pcmcia_socket *s; - int error; - -+ if (kernel_is_locked_down("Direct PCMCIA CIS storage")) -+ return -EPERM; -+ - s = to_socket(container_of(kobj, struct device, kobj)); - - if (off) --- -2.21.0 - - -From 5f1bdf370484979c291e37cd6905480a12083b18 Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:00 +0000 -Subject: [PATCH 18/29] Lock down TIOCSSERIAL - -Lock down TIOCSSERIAL as that can be used to change the ioport and irq -settings on a serial port. This only appears to be an issue for the serial -drivers that use the core serial code. All other drivers seem to either -ignore attempts to change port/irq or give an error. - -Reported-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: Jiri Slaby <jslaby@suse.com> -Cc: linux-serial@vger.kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - drivers/tty/serial/serial_core.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c -index 4223cb496764..4f3cd7bc1713 100644 ---- a/drivers/tty/serial/serial_core.c -+++ b/drivers/tty/serial/serial_core.c -@@ -846,6 +846,12 @@ static int uart_set_info(struct tty_struct *tty, struct tty_port *port, - new_flags = (__force upf_t)new_info->flags; - old_custom_divisor = uport->custom_divisor; - -+ if ((change_port || change_irq) && -+ kernel_is_locked_down("Using TIOCSSERIAL to change device addresses, irqs and dma channels")) { -+ retval = -EPERM; -+ goto exit; -+ } -+ - if (!capable(CAP_SYS_ADMIN)) { - retval = -EPERM; - if (change_irq || change_port || --- -2.21.0 - - -From b07159ff6bc3345b49db17a82fa31013f398d4e5 Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:01 +0000 -Subject: [PATCH 19/29] Lock down module params that specify hardware - parameters (eg. ioport) - -Provided an annotation for module parameters that specify hardware -parameters (such as io ports, iomem addresses, irqs, dma channels, fixed -dma buffers and other types). - -Suggested-by: Alan Cox <gnomes@lxorguk.ukuu.org.uk> -Signed-off-by: David Howells <dhowells@redhat.com> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - kernel/params.c | 26 +++++++++++++++++++++----- - 1 file changed, 21 insertions(+), 5 deletions(-) - -diff --git a/kernel/params.c b/kernel/params.c -index cf448785d058..61a08a5da208 100644 ---- a/kernel/params.c -+++ b/kernel/params.c -@@ -96,13 +96,19 @@ bool parameq(const char *a, const char *b) - return parameqn(a, b, strlen(a)+1); - } - --static void param_check_unsafe(const struct kernel_param *kp) -+static bool param_check_unsafe(const struct kernel_param *kp, -+ const char *doing) - { - if (kp->flags & KERNEL_PARAM_FL_UNSAFE) { - pr_notice("Setting dangerous option %s - tainting kernel\n", - kp->name); - add_taint(TAINT_USER, LOCKDEP_STILL_OK); - } -+ -+ if (kp->flags & KERNEL_PARAM_FL_HWPARAM && -+ kernel_is_locked_down("Command line-specified device addresses, irqs and dma channels")) -+ return false; -+ return true; - } - - static int parse_one(char *param, -@@ -132,8 +138,10 @@ static int parse_one(char *param, - pr_debug("handling %s with %p\n", param, - params[i].ops->set); - kernel_param_lock(params[i].mod); -- param_check_unsafe(¶ms[i]); -- err = params[i].ops->set(val, ¶ms[i]); -+ if (param_check_unsafe(¶ms[i], doing)) -+ err = params[i].ops->set(val, ¶ms[i]); -+ else -+ err = -EPERM; - kernel_param_unlock(params[i].mod); - return err; - } -@@ -541,6 +549,12 @@ static ssize_t param_attr_show(struct module_attribute *mattr, - return count; - } - -+#ifdef CONFIG_MODULES -+#define mod_name(mod) (mod)->name -+#else -+#define mod_name(mod) "unknown" -+#endif -+ - /* sysfs always hands a nul-terminated string in buf. We rely on that. */ - static ssize_t param_attr_store(struct module_attribute *mattr, - struct module_kobject *mk, -@@ -553,8 +567,10 @@ static ssize_t param_attr_store(struct module_attribute *mattr, - return -EPERM; - - kernel_param_lock(mk->mod); -- param_check_unsafe(attribute->param); -- err = attribute->param->ops->set(buf, attribute->param); -+ if (param_check_unsafe(attribute->param, mod_name(mk->mod))) -+ err = attribute->param->ops->set(buf, attribute->param); -+ else -+ err = -EPERM; - kernel_param_unlock(mk->mod); - if (!err) - return len; --- -2.21.0 - - -From 3e7fdce10f144b2a947f020bd0eeeb536c77153e Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:01 +0000 -Subject: [PATCH 20/29] x86/mmiotrace: Lock down the testmmiotrace module - -The testmmiotrace module shouldn't be permitted when the kernel is locked -down as it can be used to arbitrarily read and write MMIO space. - -Suggested-by: Thomas Gleixner <tglx@linutronix.de> -Signed-off-by: David Howells <dhowells@redhat.com -cc: Thomas Gleixner <tglx@linutronix.de> -cc: Steven Rostedt <rostedt@goodmis.org> -cc: Ingo Molnar <mingo@kernel.org> -cc: "H. Peter Anvin" <hpa@zytor.com> -cc: x86@kernel.org -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - arch/x86/mm/testmmiotrace.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/arch/x86/mm/testmmiotrace.c b/arch/x86/mm/testmmiotrace.c -index 0881e1ff1e58..13f1da99ee5e 100644 ---- a/arch/x86/mm/testmmiotrace.c -+++ b/arch/x86/mm/testmmiotrace.c -@@ -116,6 +116,9 @@ static int __init init(void) - { - unsigned long size = (read_far) ? (8 << 20) : (16 << 10); - -+ if (kernel_is_locked_down("MMIO trace testing")) -+ return -EPERM; -+ - if (mmio_address == 0) { - pr_err("you have to use the module argument mmio_address.\n"); - pr_err("DO NOT LOAD THIS MODULE UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!\n"); --- -2.21.0 - - -From 1e81a8fd6ed139113011e3b7d70aa8b5c59a97cb Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:02 +0000 -Subject: [PATCH 21/29] Lock down /proc/kcore - -Disallow access to /proc/kcore when the kernel is locked down to prevent -access to cryptographic data. - -Signed-off-by: David Howells <dhowells@redhat.com> -Reviewed-by: James Morris <james.l.morris@oracle.com> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - fs/proc/kcore.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c -index f5834488b67d..0639228c4904 100644 ---- a/fs/proc/kcore.c -+++ b/fs/proc/kcore.c -@@ -545,6 +545,8 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos) - - static int open_kcore(struct inode *inode, struct file *filp) - { -+ if (kernel_is_locked_down("/proc/kcore")) -+ return -EPERM; - if (!capable(CAP_SYS_RAWIO)) - return -EPERM; - --- -2.21.0 - - -From 03a1ba6091a421ae40a17dc67f61a96733c8f0d2 Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:02 +0000 -Subject: [PATCH 22/29] Lock down kprobes - -Disallow the creation of kprobes when the kernel is locked down by -preventing their registration. This prevents kprobes from being used to -access kernel memory, either to make modifications or to steal crypto data. - -Reported-by: Alexei Starovoitov <alexei.starovoitov@gmail.com> -Signed-off-by: David Howells <dhowells@redhat.com> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> -Cc: Naveen N. Rao <naveen.n.rao@linux.ibm.com> -Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com> -Cc: davem@davemloft.net -Cc: Masami Hiramatsu <mhiramat@kernel.org> ---- - kernel/kprobes.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/kernel/kprobes.c b/kernel/kprobes.c -index 9f5433a52488..e54c7b70298a 100644 ---- a/kernel/kprobes.c -+++ b/kernel/kprobes.c -@@ -1556,6 +1556,9 @@ int register_kprobe(struct kprobe *p) - struct module *probed_mod; - kprobe_opcode_t *addr; - -+ if (kernel_is_locked_down("Use of kprobes")) -+ return -EPERM; -+ - /* Adjust probe address from symbol */ - addr = kprobe_addr(p); - if (IS_ERR(addr)) --- -2.21.0 - - -From d743cdf3a9508b9d9293acb3170b1d76f5556d1a Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:02 +0000 -Subject: [PATCH 23/29] bpf: Restrict kernel image access functions when the - kernel is locked down - -There are some bpf functions can be used to read kernel memory: -bpf_probe_read, bpf_probe_write_user and bpf_trace_printk. These allow -private keys in kernel memory (e.g. the hibernation image signing key) to -be read by an eBPF program and kernel memory to be altered without -restriction. - -Completely prohibit the use of BPF when the kernel is locked down. - -Suggested-by: Alexei Starovoitov <alexei.starovoitov@gmail.com> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: netdev@vger.kernel.org -cc: Chun-Yi Lee <jlee@suse.com> -cc: Alexei Starovoitov <alexei.starovoitov@gmail.com> -Cc: Daniel Borkmann <daniel@iogearbox.net> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - kernel/bpf/syscall.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c -index 5d141f16f6fa..cf9f0d069a2a 100644 ---- a/kernel/bpf/syscall.c -+++ b/kernel/bpf/syscall.c -@@ -2813,6 +2813,9 @@ SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, siz - if (sysctl_unprivileged_bpf_disabled && !capable(CAP_SYS_ADMIN)) - return -EPERM; - -+ if (kernel_is_locked_down("BPF")) -+ return -EPERM; -+ - err = bpf_check_uarg_tail_zero(uattr, sizeof(attr), size); - if (err) - return err; --- -2.21.0 - - -From 7ec8d8a7bc177bc54e627b04a6aa4520174965cd Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:02 +0000 -Subject: [PATCH 24/29] Lock down perf - -Disallow the use of certain perf facilities that might allow userspace to -access kernel data. - -Signed-off-by: David Howells <dhowells@redhat.com> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> -Cc: Peter Zijlstra <peterz@infradead.org> -Cc: Ingo Molnar <mingo@redhat.com> -Cc: Arnaldo Carvalho de Melo <acme@kernel.org> ---- - kernel/events/core.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/kernel/events/core.c b/kernel/events/core.c -index eea9d52b010c..08f51f91d959 100644 ---- a/kernel/events/core.c -+++ b/kernel/events/core.c -@@ -10824,6 +10824,11 @@ SYSCALL_DEFINE5(perf_event_open, - return -EINVAL; - } - -+ if ((attr.sample_type & PERF_SAMPLE_REGS_INTR) && -+ kernel_is_locked_down("PERF_SAMPLE_REGS_INTR")) -+ /* REGS_INTR can leak data, lockdown must prevent this */ -+ return -EPERM; -+ - /* Only privileged users can get physical addresses */ - if ((attr.sample_type & PERF_SAMPLE_PHYS_ADDR) && - perf_paranoid_kernel() && !capable(CAP_SYS_ADMIN)) --- -2.21.0 - - -From 98fa6aca64b1723db15cb1791b734aebb105433e Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Mon, 18 Feb 2019 12:45:02 +0000 -Subject: [PATCH 25/29] debugfs: Restrict debugfs when the kernel is locked - down - -Disallow opening of debugfs files that might be used to muck around when -the kernel is locked down as various drivers give raw access to hardware -through debugfs. Given the effort of auditing all 2000 or so files and -manually fixing each one as necessary, I've chosen to apply a heuristic -instead. The following changes are made: - - (1) chmod and chown are disallowed on debugfs objects (though the root dir - can be modified by mount and remount, but I'm not worried about that). - - (2) When the kernel is locked down, only files with the following criteria - are permitted to be opened: - - - The file must have mode 00444 - - The file must not have ioctl methods - - The file must not have mmap - - (3) When the kernel is locked down, files may only be opened for reading. - -Normal device interaction should be done through configfs, sysfs or a -miscdev, not debugfs. - -Note that this makes it unnecessary to specifically lock down show_dsts(), -show_devs() and show_call() in the asus-wmi driver. - -I would actually prefer to lock down all files by default and have the -the files unlocked by the creator. This is tricky to manage correctly, -though, as there are 19 creation functions and ~1600 call sites (some of -them in loops scanning tables). - -Signed-off-by: David Howells <dhowells@redhat.com> -cc: Andy Shevchenko <andy.shevchenko@gmail.com> -cc: acpi4asus-user@lists.sourceforge.net -cc: platform-driver-x86@vger.kernel.org -cc: Matthew Garrett <mjg59@srcf.ucam.org> -cc: Thomas Gleixner <tglx@linutronix.de> -Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - fs/debugfs/file.c | 28 ++++++++++++++++++++++++++++ - fs/debugfs/inode.c | 30 ++++++++++++++++++++++++++++-- - 2 files changed, 56 insertions(+), 2 deletions(-) - -diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c -index 93e4ca6b2ad7..8eeff9068228 100644 ---- a/fs/debugfs/file.c -+++ b/fs/debugfs/file.c -@@ -136,6 +136,25 @@ void debugfs_file_put(struct dentry *dentry) - } - EXPORT_SYMBOL_GPL(debugfs_file_put); - -+/* -+ * Only permit access to world-readable files when the kernel is locked down. -+ * We also need to exclude any file that has ways to write or alter it as root -+ * can bypass the permissions check. -+ */ -+static bool debugfs_is_locked_down(struct inode *inode, -+ struct file *filp, -+ const struct file_operations *real_fops) -+{ -+ if ((inode->i_mode & 07777) == 0444 && -+ !(filp->f_mode & FMODE_WRITE) && -+ !real_fops->unlocked_ioctl && -+ !real_fops->compat_ioctl && -+ !real_fops->mmap) -+ return false; -+ -+ return kernel_is_locked_down("debugfs"); -+} -+ - static int open_proxy_open(struct inode *inode, struct file *filp) - { - struct dentry *dentry = F_DENTRY(filp); -@@ -147,6 +166,11 @@ static int open_proxy_open(struct inode *inode, struct file *filp) - return r == -EIO ? -ENOENT : r; - - real_fops = debugfs_real_fops(filp); -+ -+ r = -EPERM; -+ if (debugfs_is_locked_down(inode, filp, real_fops)) -+ goto out; -+ - real_fops = fops_get(real_fops); - if (!real_fops) { - /* Huh? Module did not clean up after itself at exit? */ -@@ -272,6 +296,10 @@ static int full_proxy_open(struct inode *inode, struct file *filp) - return r == -EIO ? -ENOENT : r; - - real_fops = debugfs_real_fops(filp); -+ r = -EPERM; -+ if (debugfs_is_locked_down(inode, filp, real_fops)) -+ goto out; -+ - real_fops = fops_get(real_fops); - if (!real_fops) { - /* Huh? Module did not cleanup after itself at exit? */ -diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c -index 042b688ed124..cc0486ca1a11 100644 ---- a/fs/debugfs/inode.c -+++ b/fs/debugfs/inode.c -@@ -35,6 +35,31 @@ static struct vfsmount *debugfs_mount; - static int debugfs_mount_count; - static bool debugfs_registered; - -+/* -+ * Don't allow access attributes to be changed whilst the kernel is locked down -+ * so that we can use the file mode as part of a heuristic to determine whether -+ * to lock down individual files. -+ */ -+static int debugfs_setattr(struct dentry *dentry, struct iattr *ia) -+{ -+ if ((ia->ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID)) && -+ kernel_is_locked_down("debugfs")) -+ return -EPERM; -+ return simple_setattr(dentry, ia); -+} -+ -+static const struct inode_operations debugfs_file_inode_operations = { -+ .setattr = debugfs_setattr, -+}; -+static const struct inode_operations debugfs_dir_inode_operations = { -+ .lookup = simple_lookup, -+ .setattr = debugfs_setattr, -+}; -+static const struct inode_operations debugfs_symlink_inode_operations = { -+ .get_link = simple_get_link, -+ .setattr = debugfs_setattr, -+}; -+ - static struct inode *debugfs_get_inode(struct super_block *sb) - { - struct inode *inode = new_inode(sb); -@@ -369,6 +394,7 @@ static struct dentry *__debugfs_create_file(const char *name, umode_t mode, - inode->i_mode = mode; - inode->i_private = data; - -+ inode->i_op = &debugfs_file_inode_operations; - inode->i_fop = proxy_fops; - dentry->d_fsdata = (void *)((unsigned long)real_fops | - DEBUGFS_FSDATA_IS_REAL_FOPS_BIT); -@@ -532,7 +558,7 @@ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent) - } - - inode->i_mode = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO; -- inode->i_op = &simple_dir_inode_operations; -+ inode->i_op = &debugfs_dir_inode_operations; - inode->i_fop = &simple_dir_operations; - - /* directory inodes start off with i_nlink == 2 (for "." entry) */ -@@ -632,7 +658,7 @@ struct dentry *debugfs_create_symlink(const char *name, struct dentry *parent, - return failed_creating(dentry); - } - inode->i_mode = S_IFLNK | S_IRWXUGO; -- inode->i_op = &simple_symlink_inode_operations; -+ inode->i_op = &debugfs_symlink_inode_operations; - inode->i_link = link; - d_instantiate(dentry, inode); - return end_creating(dentry); --- -2.21.0 - - -From 39ffa9315f46123f0f1f66fb6fd0597211b43b1d Mon Sep 17 00:00:00 2001 -From: David Howells <dhowells@redhat.com> -Date: Wed, 28 Feb 2018 14:43:03 +0000 -Subject: [PATCH 26/29] lockdown: Print current->comm in restriction messages - -Print the content of current->comm in messages generated by lockdown to -indicate a restriction that was hit. This makes it a bit easier to find -out what caused the message. - -The message now patterned something like: - - Lockdown: <comm>: <what> is restricted; see man kernel_lockdown.7 - -Signed-off-by: David Howells <dhowells@redhat.com> -Signed-off-by: Matthew Garrett <matthewgarrett@google.com> ---- - security/lock_down.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/security/lock_down.c b/security/lock_down.c -index 18d8776a4d02..ee00ca2677e7 100644 ---- a/security/lock_down.c -+++ b/security/lock_down.c -@@ -53,8 +53,8 @@ void __init init_lockdown(void) - bool __kernel_is_locked_down(const char *what, bool first) - { - if (what && first && kernel_locked_down) -- pr_notice("Lockdown: %s is restricted; see man kernel_lockdown.7\n", -- what); -+ pr_notice("Lockdown: %s: %s is restricted; see man kernel_lockdown.7\n", -+ current->comm, what); - return kernel_locked_down; - } - EXPORT_SYMBOL(__kernel_is_locked_down); --- -2.21.0 - - -From 0086dbfaa88118636bc5d77f25bd578034a84075 Mon Sep 17 00:00:00 2001 -From: Matthew Garrett <matthewgarrett@google.com> -Date: Tue, 12 Mar 2019 12:50:30 -0700 -Subject: [PATCH 27/29] kexec: Allow kexec_file() with appropriate IMA policy - when locked down - -Systems in lockdown mode should block the kexec of untrusted kernels. -For x86 and ARM we can ensure that a kernel is trustworthy by validating -a PE signature, but this isn't possible on other architectures. On those -platforms we can use IMA digital signatures instead. Add a function to -determine whether IMA has or will verify signatures for a given event type, -and if so permit kexec_file() even if the kernel is otherwise locked down. -This is restricted to cases where CONFIG_INTEGRITY_TRUSTED_KEYRING is set -in order to prevent an attacker from loading additional keys at runtime. - -Signed-off-by: Matthew Garrett <mjg59@google.com> -Acked-by: Mimi Zohar <zohar@linux.ibm.com> -Cc: Dmitry Kasatkin <dmitry.kasatkin@gmail.com> -Cc: linux-integrity@vger.kernel.org ---- - include/linux/ima.h | 9 ++++++ - kernel/kexec_file.c | 7 +++- - security/integrity/ima/ima.h | 2 ++ - security/integrity/ima/ima_main.c | 2 +- - security/integrity/ima/ima_policy.c | 50 +++++++++++++++++++++++++++++ - 5 files changed, 68 insertions(+), 2 deletions(-) - -diff --git a/include/linux/ima.h b/include/linux/ima.h -index a20ad398d260..1c37f17f7203 100644 ---- a/include/linux/ima.h -+++ b/include/linux/ima.h -@@ -131,4 +131,13 @@ static inline int ima_inode_removexattr(struct dentry *dentry, - return 0; - } - #endif /* CONFIG_IMA_APPRAISE */ -+ -+#if defined(CONFIG_IMA_APPRAISE) && defined(CONFIG_INTEGRITY_TRUSTED_KEYRING) -+extern bool ima_appraise_signature(enum kernel_read_file_id func); -+#else -+static inline bool ima_appraise_signature(enum kernel_read_file_id func) -+{ -+ return false; -+} -+#endif /* CONFIG_IMA_APPRAISE && CONFIG_INTEGRITY_TRUSTED_KEYRING */ - #endif /* _LINUX_IMA_H */ -diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c -index 0668c29d2eaf..78728a0f16a7 100644 ---- a/kernel/kexec_file.c -+++ b/kernel/kexec_file.c -@@ -235,7 +235,12 @@ kimage_file_prepare_segments(struct kimage *image, int kernel_fd, int initrd_fd, - - ret = 0; - -- if (kernel_is_locked_down(reason)) { -+ /* If IMA is guaranteed to appraise a signature on the kexec -+ * image, permit it even if the kernel is otherwise locked -+ * down. -+ */ -+ if (!ima_appraise_signature(READING_KEXEC_IMAGE) && -+ kernel_is_locked_down(reason)) { - ret = -EPERM; - goto out; - } -diff --git a/security/integrity/ima/ima.h b/security/integrity/ima/ima.h -index 011b91c79351..64dcb11cf444 100644 ---- a/security/integrity/ima/ima.h -+++ b/security/integrity/ima/ima.h -@@ -113,6 +113,8 @@ struct ima_kexec_hdr { - u64 count; - }; - -+extern const int read_idmap[]; -+ - #ifdef CONFIG_HAVE_IMA_KEXEC - void ima_load_kexec_buffer(void); - #else -diff --git a/security/integrity/ima/ima_main.c b/security/integrity/ima/ima_main.c -index 584019728660..b9f57503af2c 100644 ---- a/security/integrity/ima/ima_main.c -+++ b/security/integrity/ima/ima_main.c -@@ -502,7 +502,7 @@ int ima_read_file(struct file *file, enum kernel_read_file_id read_id) - return 0; - } - --static const int read_idmap[READING_MAX_ID] = { -+const int read_idmap[READING_MAX_ID] = { - [READING_FIRMWARE] = FIRMWARE_CHECK, - [READING_FIRMWARE_PREALLOC_BUFFER] = FIRMWARE_CHECK, - [READING_MODULE] = MODULE_CHECK, -diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c -index 6df7f641ff66..827f1e33fe86 100644 ---- a/security/integrity/ima/ima_policy.c -+++ b/security/integrity/ima/ima_policy.c -@@ -1456,3 +1456,53 @@ int ima_policy_show(struct seq_file *m, void *v) - return 0; - } - #endif /* CONFIG_IMA_READ_POLICY */ -+ -+#if defined(CONFIG_IMA_APPRAISE) && defined(CONFIG_INTEGRITY_TRUSTED_KEYRING) -+/* -+ * ima_appraise_signature: whether IMA will appraise a given function using -+ * an IMA digital signature. This is restricted to cases where the kernel -+ * has a set of built-in trusted keys in order to avoid an attacker simply -+ * loading additional keys. -+ */ -+bool ima_appraise_signature(enum kernel_read_file_id id) -+{ -+ struct ima_rule_entry *entry; -+ bool found = false; -+ enum ima_hooks func; -+ -+ if (id >= READING_MAX_ID) -+ return false; -+ -+ func = read_idmap[id] ?: FILE_CHECK; -+ -+ rcu_read_lock(); -+ list_for_each_entry_rcu(entry, ima_rules, list) { -+ if (entry->action != APPRAISE) -+ continue; -+ -+ /* -+ * A generic entry will match, but otherwise require that it -+ * match the func we're looking for -+ */ -+ if (entry->func && entry->func != func) -+ continue; -+ -+ /* -+ * We require this to be a digital signature, not a raw IMA -+ * hash. -+ */ -+ if (entry->flags & IMA_DIGSIG_REQUIRED) -+ found = true; -+ -+ /* -+ * We've found a rule that matches, so break now even if it -+ * didn't require a digital signature - a later rule that does -+ * won't override it, so would be a false positive. -+ */ -+ break; -+ } -+ -+ rcu_read_unlock(); -+ return found; -+} -+#endif /* CONFIG_IMA_APPRAISE && CONFIG_INTEGRITY_TRUSTED_KEYRING */ --- -2.21.0 - - -From 4a84d19a10c31a363aa7d1f325bd212012263a98 Mon Sep 17 00:00:00 2001 -From: Kyle McMartin <kyle@redhat.com> -Date: Mon, 9 Apr 2018 09:52:45 +0100 -Subject: [PATCH 28/29] Add a SysRq option to lift kernel lockdown - -Make an option to provide a sysrq key that will lift the kernel lockdown, -thereby allowing the running kernel image to be accessed and modified. - -On x86 this is triggered with SysRq+x, but this key may not be available on -all arches, so it is set by setting LOCKDOWN_LIFT_KEY in asm/setup.h. -Since this macro must be defined in an arch to be able to use this facility -for that arch, the Kconfig option is restricted to arches that support it. - -Signed-off-by: Kyle McMartin <kyle@redhat.com> -Signed-off-by: David Howells <dhowells@redhat.com> -cc: x86@kernel.org ---- - arch/x86/include/asm/setup.h | 2 ++ - drivers/input/misc/uinput.c | 1 + - drivers/tty/sysrq.c | 19 ++++++++++----- - include/linux/input.h | 5 ++++ - include/linux/sysrq.h | 8 +++++- - kernel/debug/kdb/kdb_main.c | 2 +- - security/Kconfig | 10 ++++++++ - security/lock_down.c | 47 ++++++++++++++++++++++++++++++++++++ - 8 files changed, 86 insertions(+), 8 deletions(-) - -diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h -index ed8ec011a9fd..8daf633a5347 100644 ---- a/arch/x86/include/asm/setup.h -+++ b/arch/x86/include/asm/setup.h -@@ -9,6 +9,8 @@ - #include <linux/linkage.h> - #include <asm/page_types.h> - -+#define LOCKDOWN_LIFT_KEY 'x' -+ - #ifdef __i386__ - - #include <linux/pfn.h> -diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c -index 84051f20b18a..583ab2bc1916 100644 ---- a/drivers/input/misc/uinput.c -+++ b/drivers/input/misc/uinput.c -@@ -353,6 +353,7 @@ static int uinput_create_device(struct uinput_device *udev) - dev->flush = uinput_dev_flush; - } - -+ dev->flags |= INPUTDEV_FLAGS_SYNTHETIC; - dev->event = uinput_dev_event; - - input_set_drvdata(udev->dev, udev); -diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c -index 573b2055173c..7cc95a8bdf8d 100644 ---- a/drivers/tty/sysrq.c -+++ b/drivers/tty/sysrq.c -@@ -480,6 +480,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { - /* x: May be registered on mips for TLB dump */ - /* x: May be registered on ppc/powerpc for xmon */ - /* x: May be registered on sparc64 for global PMU dump */ -+ /* x: May be registered on x86_64 for disabling secure boot */ - NULL, /* x */ - /* y: May be registered on sparc64 for global register dump */ - NULL, /* y */ -@@ -523,7 +524,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p) - sysrq_key_table[i] = op_p; - } - --void __handle_sysrq(int key, bool check_mask) -+void __handle_sysrq(int key, unsigned int from) - { - struct sysrq_key_op *op_p; - int orig_log_level; -@@ -546,11 +547,15 @@ void __handle_sysrq(int key, bool check_mask) - - op_p = __sysrq_get_key_op(key); - if (op_p) { -- /* -- * Should we check for enabled operations (/proc/sysrq-trigger -- * should not) and is the invoked operation enabled? -- */ -- if (!check_mask || sysrq_on_mask(op_p->enable_mask)) { -+ /* Ban synthetic events from some sysrq functionality */ -+ if ((from == SYSRQ_FROM_PROC || from == SYSRQ_FROM_SYNTHETIC) && -+ op_p->enable_mask & SYSRQ_DISABLE_USERSPACE) { -+ printk("This sysrq operation is disabled from userspace.\n"); -+ } else if (from == SYSRQ_FROM_KERNEL || sysrq_on_mask(op_p->enable_mask)) { -+ /* -+ * Should we check for enabled operations (/proc/sysrq-trigger -+ * should not) and is the invoked operation enabled? -+ */ - pr_info("%s\n", op_p->action_msg); - console_loglevel = orig_log_level; - op_p->handler(key); -@@ -585,7 +590,7 @@ void __handle_sysrq(int key, bool check_mask) - void handle_sysrq(int key) - { - if (sysrq_on()) -- __handle_sysrq(key, true); -+ __handle_sysrq(key, SYSRQ_FROM_KERNEL); - } - EXPORT_SYMBOL(handle_sysrq); - -@@ -665,7 +670,7 @@ static void sysrq_do_reset(struct timer_list *t) - static void sysrq_handle_reset_request(struct sysrq_state *state) - { - if (state->reset_requested) -- __handle_sysrq(sysrq_xlate[KEY_B], false); -+ __handle_sysrq(sysrq_xlate[KEY_B], SYSRQ_FROM_KERNEL); - - if (sysrq_reset_downtime_ms) - mod_timer(&state->keyreset_timer, -@@ -818,8 +823,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, - - default: - if (sysrq->active && value && value != 2) { -+ int from = sysrq->handle.dev->flags & INPUTDEV_FLAGS_SYNTHETIC ? -+ SYSRQ_FROM_SYNTHETIC : 0; - sysrq->need_reinject = false; -- __handle_sysrq(sysrq_xlate[code], true); -+ __handle_sysrq(sysrq_xlate[code], from); - } - break; - } -@@ -1102,7 +1109,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, - - if (get_user(c, buf)) - return -EFAULT; -- __handle_sysrq(c, false); -+ __handle_sysrq(c, SYSRQ_FROM_PROC); - } - - return count; -diff --git a/include/linux/input.h b/include/linux/input.h -index 510e78558c10..7e7065b2f58a 100644 ---- a/include/linux/input.h -+++ b/include/linux/input.h -@@ -39,6 +39,7 @@ struct input_value { - * @phys: physical path to the device in the system hierarchy - * @uniq: unique identification code for the device (if device has it) - * @id: id of the device (struct input_id) -+ * @flags: input device flags (SYNTHETIC, etc.) - * @propbit: bitmap of device properties and quirks - * @evbit: bitmap of types of events supported by the device (EV_KEY, - * EV_REL, etc.) -@@ -121,6 +122,8 @@ struct input_dev { - const char *uniq; - struct input_id id; - -+ unsigned int flags; -+ - unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)]; - - unsigned long evbit[BITS_TO_LONGS(EV_CNT)]; -@@ -187,6 +190,8 @@ struct input_dev { - }; - #define to_input_dev(d) container_of(d, struct input_dev, dev) - -+#define INPUTDEV_FLAGS_SYNTHETIC 0x000000001 -+ - /* - * Verify that we are in sync with input_device_id mod_devicetable.h #defines - */ -diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h -index 8c71874e8485..7de1f08b60a9 100644 ---- a/include/linux/sysrq.h -+++ b/include/linux/sysrq.h -@@ -29,6 +29,8 @@ - #define SYSRQ_ENABLE_BOOT 0x0080 - #define SYSRQ_ENABLE_RTNICE 0x0100 - -+#define SYSRQ_DISABLE_USERSPACE 0x00010000 -+ - struct sysrq_key_op { - void (*handler)(int); - char *help_msg; -@@ -43,8 +45,12 @@ struct sysrq_key_op { - * are available -- else NULL's). - */ - -+#define SYSRQ_FROM_KERNEL 0x0001 -+#define SYSRQ_FROM_PROC 0x0002 -+#define SYSRQ_FROM_SYNTHETIC 0x0004 -+ - void handle_sysrq(int key); --void __handle_sysrq(int key, bool check_mask); -+void __handle_sysrq(int key, unsigned int from); - int register_sysrq_key(int key, struct sysrq_key_op *op); - int unregister_sysrq_key(int key, struct sysrq_key_op *op); - struct sysrq_key_op *__sysrq_get_key_op(int key); -diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c -index 9ecfa37c7fbf..902b7785d7dc 100644 ---- a/kernel/debug/kdb/kdb_main.c -+++ b/kernel/debug/kdb/kdb_main.c -@@ -1981,7 +1981,7 @@ static int kdb_sr(int argc, const char **argv) - return KDB_ARGCOUNT; - - kdb_trap_printk++; -- __handle_sysrq(*argv[1], check_mask); -+ __handle_sysrq(*argv[1], check_mask ? SYSRQ_FROM_KERNEL : 0); - kdb_trap_printk--; - - return 0; -diff --git a/security/Kconfig b/security/Kconfig -index 720cf9dee2b4..fe08b674bfce 100644 ---- a/security/Kconfig -+++ b/security/Kconfig -@@ -245,6 +245,16 @@ config LOCK_DOWN_KERNEL_FORCE - help - Enable the kernel lock down functionality automatically at boot. - -+config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ -+ bool "Allow the kernel lockdown to be lifted by SysRq" -+ depends on LOCK_DOWN_KERNEL -+ depends on !LOCK_DOWN_KERNEL_FORCE -+ depends on MAGIC_SYSRQ -+ depends on X86 -+ help -+ Allow the lockdown on a kernel to be lifted, by pressing a SysRq key -+ combination on a wired keyboard. On x86, this is SysRq+x. -+ - source "security/selinux/Kconfig" - source "security/smack/Kconfig" - source "security/tomoyo/Kconfig" -diff --git a/security/lock_down.c b/security/lock_down.c -index ee00ca2677e7..d68dff872ced 100644 ---- a/security/lock_down.c -+++ b/security/lock_down.c -@@ -12,8 +12,14 @@ - - #include <linux/security.h> - #include <linux/export.h> -+#include <linux/sysrq.h> -+#include <asm/setup.h> - -+#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ -+static __read_mostly bool kernel_locked_down; -+#else - static __ro_after_init bool kernel_locked_down; -+#endif - - /* - * Put the kernel into lock-down mode. -@@ -58,3 +64,44 @@ bool __kernel_is_locked_down(const char *what, bool first) - return kernel_locked_down; - } - EXPORT_SYMBOL(__kernel_is_locked_down); -+ -+#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ -+ -+/* -+ * Take the kernel out of lockdown mode. -+ */ -+static void lift_kernel_lockdown(void) -+{ -+ pr_notice("Lifting lockdown\n"); -+ kernel_locked_down = false; -+} -+ -+/* -+ * Allow lockdown to be lifted by pressing something like SysRq+x (and not by -+ * echoing the appropriate letter into the sysrq-trigger file). -+ */ -+static void sysrq_handle_lockdown_lift(int key) -+{ -+ if (kernel_locked_down) -+ lift_kernel_lockdown(); -+} -+ -+static struct sysrq_key_op lockdown_lift_sysrq_op = { -+ .handler = sysrq_handle_lockdown_lift, -+ .help_msg = "unSB(x)", -+ .action_msg = "Disabling Secure Boot restrictions", -+ .enable_mask = SYSRQ_DISABLE_USERSPACE, -+}; -+ -+static int __init lockdown_lift_sysrq(void) -+{ -+ if (kernel_locked_down) { -+ lockdown_lift_sysrq_op.help_msg[5] = LOCKDOWN_LIFT_KEY; -+ register_sysrq_key(LOCKDOWN_LIFT_KEY, &lockdown_lift_sysrq_op); -+ } -+ return 0; -+} -+ -+late_initcall(lockdown_lift_sysrq); -+ -+#endif /* CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ */ --- -2.21.0 - - -From c3e9fb754f7603ae10a750f685f0174c5ae51ffa Mon Sep 17 00:00:00 2001 -From: Vasily Gorbik <gor@linux.ibm.com> -Date: Wed, 21 Nov 2018 13:05:10 +0100 -Subject: [PATCH 29/29] debugfs: avoid EPERM when no open file operation - defined - -With "debugfs: Restrict debugfs when the kernel is locked down" -return code "r" is unconditionally set to -EPERM, which stays like that -until function return if no "open" file operation defined, effectivelly -resulting in "Operation not permitted" for all such files despite kernel -lock down status or CONFIG_LOCK_DOWN_KERNEL being enabled. - -In particular this breaks 2 debugfs files on s390: -/sys/kernel/debug/s390_hypfs/diag_304 -/sys/kernel/debug/s390_hypfs/diag_204 - -To address that set EPERM return code only when debugfs_is_locked_down -returns true. - -Fixes: 3fc322605158 ("debugfs: Restrict debugfs when the kernel is locked down") -Signed-off-by: Vasily Gorbik <gor@linux.ibm.com> ---- - fs/debugfs/file.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c -index 8eeff9068228..9c56e1aa1f29 100644 ---- a/fs/debugfs/file.c -+++ b/fs/debugfs/file.c -@@ -167,9 +167,10 @@ static int open_proxy_open(struct inode *inode, struct file *filp) - - real_fops = debugfs_real_fops(filp); - -- r = -EPERM; -- if (debugfs_is_locked_down(inode, filp, real_fops)) -+ if (debugfs_is_locked_down(inode, filp, real_fops)) { -+ r = -EPERM; - goto out; -+ } - - real_fops = fops_get(real_fops); - if (!real_fops) { -@@ -296,9 +297,10 @@ static int full_proxy_open(struct inode *inode, struct file *filp) - return r == -EIO ? -ENOENT : r; - - real_fops = debugfs_real_fops(filp); -- r = -EPERM; -- if (debugfs_is_locked_down(inode, filp, real_fops)) -+ if (debugfs_is_locked_down(inode, filp, real_fops)) { -+ r = -EPERM; - goto out; -+ } - - real_fops = fops_get(real_fops); - if (!real_fops) { --- -2.21.0 - diff --git a/efi-secureboot.patch b/efi-secureboot.patch index bb5b47b42..ee5382029 100644 --- a/efi-secureboot.patch +++ b/efi-secureboot.patch @@ -1,7 +1,109 @@ +From 478a0cff698409224330ea9e25eb332220b55dbb Mon Sep 17 00:00:00 2001 +From: Jeremy Cline <jcline@redhat.com> +Date: Mon, 30 Sep 2019 21:22:47 +0000 +Subject: [PATCH 1/3] security: lockdown: expose a hook to lock the kernel down + +In order to automatically lock down kernels running on UEFI machines +booted in Secure Boot mode, expose the lock_kernel_down() hook. + +Signed-off-by: Jeremy Cline <jcline@redhat.com> +--- + include/linux/lsm_hooks.h | 8 ++++++++ + include/linux/security.h | 5 +++++ + security/lockdown/lockdown.c | 1 + + security/security.c | 6 ++++++ + 4 files changed, 20 insertions(+) + +diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h +index a3763247547c..8d76d1f153ed 100644 +--- a/include/linux/lsm_hooks.h ++++ b/include/linux/lsm_hooks.h +@@ -1454,6 +1454,12 @@ + * code execution in kernel space should be permitted. + * + * @what: kernel feature being accessed ++ * ++ * @lock_kernel_down ++ * Put the kernel into lock-down mode. ++ * ++ * @where: Where the lock-down is originating from (e.g. command line option) ++ * @level: The lock-down level (can only increase) + */ + union security_list_options { + int (*binder_set_context_mgr)(struct task_struct *mgr); +@@ -1818,6 +1824,7 @@ union security_list_options { + void (*bpf_prog_free_security)(struct bpf_prog_aux *aux); + #endif /* CONFIG_BPF_SYSCALL */ + int (*locked_down)(enum lockdown_reason what); ++ int (*lock_kernel_down)(const char *where, enum lockdown_reason level); + }; + + struct security_hook_heads { +@@ -2060,6 +2067,7 @@ struct security_hook_heads { + struct hlist_head bpf_prog_free_security; + #endif /* CONFIG_BPF_SYSCALL */ + struct hlist_head locked_down; ++ struct hlist_head lock_kernel_down; + } __randomize_layout; + + /* +diff --git a/include/linux/security.h b/include/linux/security.h +index a8d59d612d27..467b9ccdf993 100644 +--- a/include/linux/security.h ++++ b/include/linux/security.h +@@ -442,6 +442,7 @@ int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen); + int security_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen); + int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen); + int security_locked_down(enum lockdown_reason what); ++int security_lock_kernel_down(const char *where, enum lockdown_reason level); + #else /* CONFIG_SECURITY */ + + static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data) +@@ -1269,6 +1270,10 @@ static inline int security_locked_down(enum lockdown_reason what) + { + return 0; + } ++static inline int security_lock_kernel_down(const char *where, enum lockdown_reason level) ++{ ++ return 0; ++} + #endif /* CONFIG_SECURITY */ + + #ifdef CONFIG_SECURITY_NETWORK +diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c +index 8a10b43daf74..72a623075749 100644 +--- a/security/lockdown/lockdown.c ++++ b/security/lockdown/lockdown.c +@@ -97,6 +97,7 @@ static int lockdown_is_locked_down(enum lockdown_reason what) + + static struct security_hook_list lockdown_hooks[] __lsm_ro_after_init = { + LSM_HOOK_INIT(locked_down, lockdown_is_locked_down), ++ LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down), + }; + + static int __init lockdown_lsm_init(void) +diff --git a/security/security.c b/security/security.c +index 1bc000f834e2..1506b95427cf 100644 +--- a/security/security.c ++++ b/security/security.c +@@ -2404,3 +2404,9 @@ int security_locked_down(enum lockdown_reason what) + return call_int_hook(locked_down, 0, what); + } + EXPORT_SYMBOL(security_locked_down); ++ ++int security_lock_kernel_down(const char *where, enum lockdown_reason level) ++{ ++ return call_int_hook(lock_kernel_down, 0, where, level); ++} ++EXPORT_SYMBOL(security_lock_kernel_down); +-- +2.21.0 + + From b5123d0553f4ed5e734f6457696cdd30228d1eee Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> Date: Tue, 27 Feb 2018 10:04:55 +0000 -Subject: [PATCH 29/31] efi: Add an EFI_SECURE_BOOT flag to indicate secure +Subject: [PATCH 2/3] efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode UEFI machines can be booted in Secure Boot mode. Add an EFI_SECURE_BOOT @@ -15,6 +117,7 @@ Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: David Howells <dhowells@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> cc: linux-efi@vger.kernel.org +[Rebased for context; efi_is_table_address was moved to arch/x86] Signed-off-by: Jeremy Cline <jcline@redhat.com> --- arch/x86/kernel/setup.c | 14 +----------- @@ -25,10 +128,10 @@ Signed-off-by: Jeremy Cline <jcline@redhat.com> create mode 100644 drivers/firmware/efi/secureboot.c diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index b74e7bfed6ab..7da1712c89c9 100644 +index bbe35bf879f5..7e528b6af86b 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -1158,19 +1158,7 @@ void __init setup_arch(char **cmdline_p) +@@ -1179,19 +1179,7 @@ void __init setup_arch(char **cmdline_p) /* Allocate bigger log buffer */ setup_log_buf(1); @@ -50,7 +153,7 @@ index b74e7bfed6ab..7da1712c89c9 100644 reserve_initrd(); diff --git a/drivers/firmware/efi/Makefile b/drivers/firmware/efi/Makefile -index 5f9f5039de50..7a0a6378203e 100644 +index 4ac2de4dfa72..195b078a423c 100644 --- a/drivers/firmware/efi/Makefile +++ b/drivers/firmware/efi/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_EFI_FAKE_MEMMAP) += fake_mem.o @@ -59,8 +162,8 @@ index 5f9f5039de50..7a0a6378203e 100644 obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o +obj-$(CONFIG_EFI) += secureboot.o obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o + obj-$(CONFIG_EFI_RCI2_TABLE) += rci2-table.o - arm-obj-$(CONFIG_EFI) := arm-init.o arm-runtime.o diff --git a/drivers/firmware/efi/secureboot.c b/drivers/firmware/efi/secureboot.c new file mode 100644 index 000000000000..9070055de0a1 @@ -106,10 +209,10 @@ index 000000000000..9070055de0a1 + } +} diff --git a/include/linux/efi.h b/include/linux/efi.h -index 100ce4a4aff6..62361b647a75 100644 +index 21d81021c1f4..758ec061d03b 100644 --- a/include/linux/efi.h +++ b/include/linux/efi.h -@@ -1155,6 +1155,14 @@ extern int __init efi_setup_pcdp_console(char *); +@@ -1204,6 +1204,14 @@ extern int __init efi_setup_pcdp_console(char *); #define EFI_DBG 8 /* Print additional debug info at runtime */ #define EFI_NX_PE_DATA 9 /* Can runtime data regions be mapped non-executable? */ #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ @@ -124,16 +227,16 @@ index 100ce4a4aff6..62361b647a75 100644 #ifdef CONFIG_EFI /* -@@ -1198,6 +1206,8 @@ static inline bool efi_enabled(int feature) +@@ -1214,6 +1222,8 @@ static inline bool efi_enabled(int feature) + return test_bit(feature, &efi.flags) != 0; + } extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused); - - extern bool efi_is_table_address(unsigned long phys_addr); + +extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode); #else static inline bool efi_enabled(int feature) { -@@ -1216,6 +1226,8 @@ static inline bool efi_is_table_address(unsigned long phys_addr) +@@ -1227,6 +1237,8 @@ efi_capsule_pending(int *reset_type) { return false; } @@ -142,9 +245,7 @@ index 100ce4a4aff6..62361b647a75 100644 #endif extern int efi_status_to_err(efi_status_t status); -@@ -1577,12 +1589,6 @@ efi_status_t efi_setup_gop(efi_system_table_t *sys_table_arg, - #endif - +@@ -1619,12 +1631,6 @@ static inline bool efi_runtime_disabled(void) { return true; } extern void efi_call_virt_check_flags(unsigned long flags, const char *call); extern unsigned long efi_call_virt_save_flags(void); @@ -158,121 +259,76 @@ index 100ce4a4aff6..62361b647a75 100644 #ifdef CONFIG_RESET_ATTACK_MITIGATION -- -2.19.1 +2.21.0 + -From d78bf678059f83e22bec8ada1a448e22b9b90203 Mon Sep 17 00:00:00 2001 +From 15368f76d4997912318d35c52bfeb9041d85098e Mon Sep 17 00:00:00 2001 From: David Howells <dhowells@redhat.com> -Date: Tue, 27 Feb 2018 10:04:55 +0000 -Subject: [PATCH 30/31] efi: Lock down the kernel if booted in secure boot mode +Date: Mon, 30 Sep 2019 21:28:16 +0000 +Subject: [PATCH 3/3] efi: Lock down the kernel if booted in secure boot mode -UEFI Secure Boot provides a mechanism for ensuring that the firmware will -only load signed bootloaders and kernels. Certain use cases may also -require that all kernel modules also be signed. Add a configuration option -that to lock down the kernel - which includes requiring validly signed -modules - if the kernel is secure-booted. +UEFI Secure Boot provides a mechanism for ensuring that the firmware +will only load signed bootloaders and kernels. Certain use cases may +also require that all kernel modules also be signed. Add a +configuration option that to lock down the kernel - which includes +requiring validly signed modules - if the kernel is secure-booted. Signed-off-by: David Howells <dhowells@redhat.com> -Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> -cc: linux-efi@vger.kernel.org +Signed-off-by: Jeremy Cline <jcline@redhat.com> --- - arch/x86/kernel/setup.c | 6 ++++-- - fs/debugfs/inode.c | 2 +- - security/Kconfig | 14 ++++++++++++++ - security/lock_down.c | 5 +++++ - 4 files changed, 20 insertions(+), 3 deletions(-) + arch/x86/kernel/setup.c | 8 ++++++++ + security/lockdown/Kconfig | 13 +++++++++++++ + 2 files changed, 21 insertions(+) diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c -index adeee6329f55..27a54ec878bd 100644 +index 77ea96b794bd..a119e1bc9623 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c -@@ -65,6 +65,7 @@ - #include <linux/dma-mapping.h> - #include <linux/ctype.h> - #include <linux/uaccess.h> +@@ -73,6 +73,7 @@ + #include <linux/jiffies.h> + #include <linux/mem_encrypt.h> + #include <linux/sizes.h> +#include <linux/security.h> - #include <linux/percpu.h> - #include <linux/crash_dump.h> -@@ -1005,6 +1006,10 @@ void __init setup_arch(char **cmdline_p) + #include <linux/usb/xhci-dbgp.h> + #include <video/edid.h> +@@ -1027,6 +1028,13 @@ void __init setup_arch(char **cmdline_p) if (efi_enabled(EFI_BOOT)) efi_init(); + efi_set_secure_boot(boot_params.secure_boot); + -+ init_lockdown(); ++#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT ++ if (efi_enabled(EFI_SECURE_BOOT)) ++ security_lock_kernel_down("EFI Secure Boot mode", LOCKDOWN_CONFIDENTIALITY_MAX); ++#endif + dmi_setup(); /* -@@ -1159,8 +1164,6 @@ void __init setup_arch(char **cmdline_p) - /* Allocate bigger log buffer */ - setup_log_buf(1); - -- efi_set_secure_boot(boot_params.secure_boot); -- - reserve_initrd(); - - acpi_table_upgrade(); -diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c -index ce261e1765ff..7aff55b309a6 100644 ---- a/fs/debugfs/inode.c -+++ b/fs/debugfs/inode.c -@@ -40,7 +40,7 @@ static bool debugfs_registered; - static int debugfs_setattr(struct dentry *dentry, struct iattr *ia) - { - if ((ia->ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID)) && -- kernel_is_locked_down("debugfs")) -+ kernel_is_locked_down("changing perms in debugfs")) - return -EPERM; - return simple_setattr(dentry, ia); - } -diff --git a/security/Kconfig b/security/Kconfig -index 9c343f262bdd..30788bc47863 100644 ---- a/security/Kconfig -+++ b/security/Kconfig -@@ -244,6 +244,20 @@ config LOCK_DOWN_KERNEL_FORCE - Allow the lockdown on a kernel to be lifted, by pressing a SysRq key - combination on a wired keyboard. On x86, this is SysRq+x. +diff --git a/security/lockdown/Kconfig b/security/lockdown/Kconfig +index e84ddf484010..d0501353a4b9 100644 +--- a/security/lockdown/Kconfig ++++ b/security/lockdown/Kconfig +@@ -16,6 +16,19 @@ config SECURITY_LOCKDOWN_LSM_EARLY + subsystem is fully initialised. If enabled, lockdown will + unconditionally be called before any other LSMs. +config LOCK_DOWN_IN_EFI_SECURE_BOOT + bool "Lock down the kernel in EFI Secure Boot mode" + default n -+ select LOCK_DOWN_KERNEL -+ depends on EFI ++ depends on EFI && SECURITY_LOCKDOWN_LSM_EARLY + help + UEFI Secure Boot provides a mechanism for ensuring that the firmware + will only load signed bootloaders and kernels. Secure boot mode may + be determined from EFI variables provided by the system firmware if + not indicated by the boot parameters. + -+ Enabling this option turns on results in kernel lockdown being -+ triggered if EFI Secure Boot is set. ++ Enabling this option results in kernel lockdown being triggered if ++ EFI Secure Boot is set. + - source "security/selinux/Kconfig" - source "security/smack/Kconfig" - source "security/tomoyo/Kconfig" -diff --git a/security/lock_down.c b/security/lock_down.c -index ee00ca2677e7..bb4dc7838f3e 100644 ---- a/security/lock_down.c -+++ b/security/lock_down.c -@@ -12,6 +12,7 @@ - - #include <linux/security.h> - #include <linux/export.h> -+#include <linux/efi.h> - #include <linux/sysrq.h> - #include <asm/setup.h> - -@@ -44,6 +45,10 @@ void __init init_lockdown(void) - #ifdef CONFIG_LOCK_DOWN_FORCE - lock_kernel_down("Kernel configuration"); - #endif -+#ifdef CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT -+ if (efi_enabled(EFI_SECURE_BOOT)) -+ lock_kernel_down("EFI secure boot"); -+#endif - } - - /** + choice + prompt "Kernel default lockdown mode" + default LOCK_DOWN_KERNEL_FORCE_NONE -- -2.14.3 +2.21.0 diff --git a/filter-aarch64.sh.fedora b/filter-aarch64.sh.fedora new file mode 100644 index 000000000..41dc7d19c --- /dev/null +++ b/filter-aarch64.sh.fedora @@ -0,0 +1,18 @@ +#! /bin/bash + +# This is the aarch64 override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick message mmc mtd nfc ntb pcmcia power ssb staging tty uio uwb w1" + +ethdrvs="3com adaptec arc alteon atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell micrel myricom neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti via wiznet xircom" + +drmdrvs="amd arm bridge ast exynos hisilicon i2c imx mgag200 meson msm nouveau panel pl111 radeon rockchip tegra sun4i sun4i-drm-hdmi tinydrm vc4" + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls" diff --git a/filter-aarch64.sh.rhel b/filter-aarch64.sh.rhel new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/filter-aarch64.sh.rhel diff --git a/filter-armv7hl.sh.fedora b/filter-armv7hl.sh.fedora new file mode 100644 index 000000000..69183432b --- /dev/null +++ b/filter-armv7hl.sh.fedora @@ -0,0 +1,18 @@ +#! /bin/bash + +# This is the armv7hl override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn media memstick message nfc ntb pcmcia ssb staging tty uio uwb w1" + +ethdrvs="3com adaptec alteon altera amd atheros broadcom cadence chelsio cisco dec dlink emulex icplus mellanox micrel myricom natsemi neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis sun tehuti via wiznet xircom" + +drmdrvs="amd arm armada bridge ast exynos etnaviv hisilicon i2c imx meson mgag200 msm nouveau omapdrm panel pl111 radeon rockchip sti stm sun4i sun4i-drm-hdmi tegra tilcdc tinydrm vc4" + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls bq27xxx_battery_hdq" diff --git a/filter-armv7hl.sh.rhel b/filter-armv7hl.sh.rhel new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/filter-armv7hl.sh.rhel diff --git a/filter-i686.sh.fedora b/filter-i686.sh.fedora new file mode 100644 index 000000000..1a13ddf60 --- /dev/null +++ b/filter-i686.sh.fedora @@ -0,0 +1,14 @@ +#! /bin/bash + +# This is the i686 override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio uwb w1" + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject hid-sensor-hub hid-sensor-magn-3d hid-sensor-incl-3d hid-sensor-gyro-3d hid-sensor-iio-common hid-sensor-accel-3d hid-sensor-trigger hid-sensor-als hid-sensor-rotation hid-sensor-temperature hid-sensor-humidity target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial regmap-sdw hid-asus" diff --git a/filter-i686.sh.rhel b/filter-i686.sh.rhel new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/filter-i686.sh.rhel diff --git a/filter-modules.sh.fedora b/filter-modules.sh.fedora new file mode 100755 index 000000000..eb246e157 --- /dev/null +++ b/filter-modules.sh.fedora @@ -0,0 +1,153 @@ +#! /bin/bash +# +# Called as filter-modules.sh list-of-modules Arch + +# This script filters the modules into the kernel-core and kernel-modules +# subpackages. We list out subsystems/subdirs to prune from the installed +# module directory. What is left is put into the kernel-core package. What is +# pruned is contained in the kernel-modules package. +# +# This file contains the default subsys/subdirs to prune from all architectures. +# If an architecture needs to differ, we source a per-arch filter-<arch>.sh file +# that contains the set of override lists to be used instead. If a module or +# subsys should be in kernel-modules on all arches, please change the defaults +# listed here. + +# Set the default dirs/modules to filter out +driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick mfd mmc mtd nfc ntb pcmcia platform power ssb soundwire staging tty uio uwb w1" + +chardrvs="mwave pcmcia" + +netdrvs="appletalk can dsa hamradio ieee802154 irda ppp slip usb wireless" + +ethdrvs="3com adaptec alteon amd aquantia atheros broadcom cadence calxeda chelsio cisco dec dlink emulex icplus marvell mellanox neterion nvidia oki-semi packetengines qlogic rdc renesas sfc silan sis smsc stmicro sun tehuti ti wiznet xircom" + +inputdrvs="gameport tablet touchscreen" + +scsidrvs="aacraid advansys aic7xxx aic94xx be2iscsi bfa bnx2i bnx2fc csiostor cxgbi esas2r fcoe fnic isci libsas lpfc megaraid mpt2sas mpt3sas mvsas pm8001 qla2xxx qla4xxx sym53c8xx_2 ufs qedf wd719x" + +usbdrvs="atm image misc serial wusbcore" + +fsdrvs="affs befs coda cramfs dlm ecryptfs hfs hfsplus jfs jffs2 minix ncpfs nilfs2 ocfs2 reiserfs romfs squashfs sysv ubifs ufs" + +netprots="6lowpan appletalk atm ax25 batman-adv bluetooth can dccp dsa ieee802154 irda l2tp mac80211 mac802154 mpls netrom nfc rds rfkill rose sctp smc wireless" + +drmdrvs="amd ast bridge gma500 i2c i915 mgag200 nouveau panel radeon" + +iiodrvs="accel adc afe common dac gyro health humidity light magnetometer multiplexer orientation potentiometer potentiostat pressure temperature" + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls parport_serial regmap-sdw hid-asus" + +# Grab the arch-specific filter list overrides +source ./filter-$2.sh + +filter_dir() { + filelist=$1 + dir=$2 + + grep -v -e "${dir}/" ${filelist} > ${filelist}.tmp + + if [ $? -ne 0 ] + then + echo "Couldn't remove ${dir}. Skipping." + else + grep -e "${dir}/" ${filelist} >> k-d.list + mv ${filelist}.tmp $filelist + fi + + return 0 +} + +filter_ko() { + filelist=$1 + mod=$2 + + grep -v -e "${mod}.ko" ${filelist} > ${filelist}.tmp + + if [ $? -ne 0 ] + then + echo "Couldn't remove ${mod}.ko Skipping." + else + grep -e "${mod}.ko" ${filelist} >> k-d.list + mv ${filelist}.tmp $filelist + fi + + return 0 +} + +# Filter the drivers/ subsystems +for subsys in ${driverdirs} +do + filter_dir $1 drivers/${subsys} +done + +# Filter the networking drivers +for netdrv in ${netdrvs} +do + filter_dir $1 drivers/net/${netdrv} +done + +# Filter the char drivers +for char in ${chardrvs} +do + filter_dir $1 drivers/char/${input} +done + +# Filter the ethernet drivers +for eth in ${ethdrvs} +do + filter_dir $1 drivers/net/ethernet/${eth} +done + +# SCSI +for scsi in ${scsidrvs} +do + filter_dir $1 drivers/scsi/${scsi} +done + +# Input +for input in ${inputdrvs} +do + filter_dir $1 drivers/input/${input} +done + +# USB +for usb in ${usbdrvs} +do + filter_dir $1 drivers/usb/${usb} +done + +# Filesystems +for fs in ${fsdrvs} +do + filter_dir $1 fs/${fs} +done + +# Network protocols +for prot in ${netprots} +do + filter_dir $1 kernel/net/${prot} +done + +# DRM +for drm in ${drmdrvs} +do + filter_dir $1 drivers/gpu/drm/${drm} +done + +# Just kill sound. +filter_dir $1 kernel/sound + +# Now go through and filter any single .ko files that might have deps on the +# things we filtered above +for mod in ${singlemods} +do + filter_ko $1 ${mod} +done + +# Go through our generated drivers list and remove the .ko files. We'll +# restore them later. +for mod in `cat k-d.list` +do + rm -rf $mod +done diff --git a/filter-modules.sh.rhel b/filter-modules.sh.rhel new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/filter-modules.sh.rhel diff --git a/filter-ppc64le.sh.fedora b/filter-ppc64le.sh.fedora new file mode 100644 index 000000000..24d3f1346 --- /dev/null +++ b/filter-ppc64le.sh.fedora @@ -0,0 +1,14 @@ +#! /bin/bash + +# This is the ppc64le override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +driverdirs="atm auxdisplay bcma bluetooth firewire fmc fpga infiniband isdn leds media memstick message mmc mtd nfc ntb pcmcia platform power ssb staging tty uio uwb w1" + +singlemods="ntb_netdev iscsi_ibft iscsi_boot_sysfs megaraid pmcraid qedi qla1280 9pnet_rdma rpcrdma nvmet-rdma nvme-rdma hid-picolcd hid-prodikeys hwa-hc hwpoison-inject target_core_user sbp_target cxgbit iw_cxgb3 iw_cxgb4 cxgb3i cxgb3i cxgb3i_ddp cxgb4i chcr chtls" diff --git a/filter-ppc64le.sh.rhel b/filter-ppc64le.sh.rhel new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/filter-ppc64le.sh.rhel diff --git a/filter-s390x.sh.fedora b/filter-s390x.sh.fedora new file mode 100644 index 000000000..04f7110ad --- /dev/null +++ b/filter-s390x.sh.fedora @@ -0,0 +1,12 @@ +#! /bin/bash + +# This is the s390x override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +# Defaults work so no need to override diff --git a/filter-s390x.sh.rhel b/filter-s390x.sh.rhel new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/filter-s390x.sh.rhel diff --git a/filter-x86_64.sh.fedora b/filter-x86_64.sh.fedora new file mode 100644 index 000000000..1aa80f2e0 --- /dev/null +++ b/filter-x86_64.sh.fedora @@ -0,0 +1,12 @@ +#! /bin/bash + +# This is the x86_64 override file for the core/drivers package split. The +# module directories listed here and in the generic list in filter-modules.sh +# will be moved to the resulting kernel-modules package for this arch. +# Anything not listed in those files will be in the kernel-core package. +# +# Please review the default list in filter-modules.sh before making +# modifications to the overrides below. If something should be removed across +# all arches, remove it in the default instead of per-arch. + +# Defaults work so no need to override diff --git a/filter-x86_64.sh.rhel b/filter-x86_64.sh.rhel new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/filter-x86_64.sh.rhel diff --git a/firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch b/firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch deleted file mode 100644 index 64b7dbefa..000000000 --- a/firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch +++ /dev/null @@ -1,89 +0,0 @@ -From: Laura Abbott <labbott@fedoraproject.org> -Date: Tue, 28 Apr 2015 15:37:44 -0700 -Subject: [PATCH] firmware: Drop WARN from usermodehelper_read_trylock error - case - -We've received a number of reports of warnings when coming -out of suspend with certain bluetooth firmware configurations: - -WARNING: CPU: 3 PID: 3280 at drivers/base/firmware_class.c:1126 -_request_firmware+0x558/0x810() -Modules linked in: ccm ip6t_rpfilter ip6t_REJECT nf_reject_ipv6 -xt_conntrack ebtable_nat ebtable_broute bridge stp llc ebtable_filter -ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 -ip6table_mangle ip6table_security ip6table_raw ip6table_filter -ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 -nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw -binfmt_misc bnep intel_rapl iosf_mbi arc4 x86_pkg_temp_thermal -snd_hda_codec_hdmi coretemp kvm_intel joydev snd_hda_codec_realtek -iwldvm snd_hda_codec_generic kvm iTCO_wdt mac80211 iTCO_vendor_support -snd_hda_intel snd_hda_controller snd_hda_codec crct10dif_pclmul -snd_hwdep crc32_pclmul snd_seq crc32c_intel ghash_clmulni_intel uvcvideo -snd_seq_device iwlwifi btusb videobuf2_vmalloc snd_pcm videobuf2_core - serio_raw bluetooth cfg80211 videobuf2_memops sdhci_pci v4l2_common -videodev thinkpad_acpi sdhci i2c_i801 lpc_ich mfd_core wacom mmc_core -media snd_timer tpm_tis hid_logitech_hidpp wmi tpm rfkill snd mei_me mei -shpchp soundcore nfsd auth_rpcgss nfs_acl lockd grace sunrpc i915 -i2c_algo_bit drm_kms_helper e1000e drm hid_logitech_dj ptp pps_core -video -CPU: 3 PID: 3280 Comm: kworker/u17:0 Not tainted 3.19.3-200.fc21.x86_64 -Hardware name: LENOVO 343522U/343522U, BIOS GCET96WW (2.56 ) 10/22/2013 -Workqueue: hci0 hci_power_on [bluetooth] - 0000000000000000 0000000089944328 ffff88040acffb78 ffffffff8176e215 - 0000000000000000 0000000000000000 ffff88040acffbb8 ffffffff8109bc1a - 0000000000000000 ffff88040acffcd0 00000000fffffff5 ffff8804076bac40 -Call Trace: - [<ffffffff8176e215>] dump_stack+0x45/0x57 - [<ffffffff8109bc1a>] warn_slowpath_common+0x8a/0xc0 - [<ffffffff8109bd4a>] warn_slowpath_null+0x1a/0x20 - [<ffffffff814dbe78>] _request_firmware+0x558/0x810 - [<ffffffff814dc165>] request_firmware+0x35/0x50 - [<ffffffffa03a7886>] btusb_setup_bcm_patchram+0x86/0x590 [btusb] - [<ffffffff814d40e6>] ? rpm_idle+0xd6/0x230 - [<ffffffffa04d4801>] hci_dev_do_open+0xe1/0xa90 [bluetooth] - [<ffffffff810c51dd>] ? ttwu_do_activate.constprop.90+0x5d/0x70 - [<ffffffffa04d5980>] hci_power_on+0x40/0x200 [bluetooth] - [<ffffffff810b487c>] process_one_work+0x14c/0x3f0 - [<ffffffff810b52f3>] worker_thread+0x53/0x470 - [<ffffffff810b52a0>] ? rescuer_thread+0x300/0x300 - [<ffffffff810ba548>] kthread+0xd8/0xf0 - [<ffffffff810ba470>] ? kthread_create_on_node+0x1b0/0x1b0 - [<ffffffff81774958>] ret_from_fork+0x58/0x90 - [<ffffffff810ba470>] ? kthread_create_on_node+0x1b0/0x1b0 - -This occurs after every resume. - -When resuming, the bluetooth driver needs to re-request the -firmware. This re-request is happening before usermodehelper -is fully enabled. If the firmware load succeeded previously, the -caching behavior of the firmware code typically negates the -need to call the usermodehelper code again and the request -succeeds. If the firmware was never loaded because it isn't -actually present in the file system, this results in a call -to usermodehelper and a failure warning every resume. - -The proper fix is to add a reset_resume functionality to the -btusb driver to be able to handle the resume case. The -work for this is ongoing so in the mean time just silence -the warning since we know it's a problem. - -Bugzilla: 1133378 -Upstream-status: Working on it. It's a difficult problem :( -Signed-off-by: Laura Abbott <labbott@fedoraproject.org> ---- - drivers/base/firmware_class.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c -index 894bda114224..f7a8d27b6459 100644 ---- a/drivers/base/firmware_class.c -+++ b/drivers/base/firmware_class.c -@@ -1144,7 +1144,7 @@ _request_firmware(const struct firmware **firmware_p, const char *name, - } - } else { - ret = usermodehelper_read_trylock(); -- if (WARN_ON(ret)) { -+ if (ret) { - dev_err(device, "firmware: %s will not be loaded\n", - name); - goto out; diff --git a/generate_all_configs.sh b/generate_all_configs.sh index dde72eaff..14f0f3a24 100755 --- a/generate_all_configs.sh +++ b/generate_all_configs.sh @@ -1,6 +1,36 @@ #!/bin/sh -for i in kernel-*.config; do - NEW=kernel-$VERSION-`echo $i | cut -d - -f2-` +# Adjusts the configuration options to build the variants correctly +# +# arg1: configuration to go in the primary variant +# arg2: are we only generating debug configs + + +PRIMARY=$1 +DEBUGBUILDSENABLED=$2 + +if [ -z $2 ]; then + exit 1 +fi + +if [ $PRIMARY == "fedora" ]; then + SECONDARY=rhel +else + SECONDARY=fedora +fi + +for i in kernel-*-$PRIMARY.config; do + NEW=kernel-$VERSION-`echo $i | cut -d - -f2- | sed s/-$PRIMARY//` + #echo $NEW mv $i $NEW done + +rm kernel-*-$SECONDARY.config + +if [ $DEBUGBUILDSENABLED -eq 0 ]; then + for i in kernel-*debug*.config; do + base=`echo $i | sed -r s/-?debug//g` + NEW=kernel-`echo $base | cut -d - -f2-` + mv $i $NEW + done +fi diff --git a/gpio-max77620-Use-correct-unit-for-debounce-times.patch b/gpio-max77620-Use-correct-unit-for-debounce-times.patch new file mode 100644 index 000000000..4d4b79d33 --- /dev/null +++ b/gpio-max77620-Use-correct-unit-for-debounce-times.patch @@ -0,0 +1,475 @@ +From patchwork Wed Oct 2 12:28:24 2019 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com> +X-Patchwork-Id: 1170635 +Return-Path: <linux-gpio-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; + spf=none (mailfrom) smtp.mailfrom=vger.kernel.org + (client-ip=209.132.180.67; helo=vger.kernel.org; + envelope-from=linux-gpio-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=gmail.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=gmail.com header.i=@gmail.com + header.b="ZNLKx8UP"; dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 46jwRG4D1Dz9sPj + for <incoming@patchwork.ozlabs.org>; + Wed, 2 Oct 2019 22:28:42 +1000 (AEST) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1726684AbfJBM2d (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Wed, 2 Oct 2019 08:28:33 -0400 +Received: from mail-wr1-f66.google.com ([209.85.221.66]:43919 "EHLO + mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1725848AbfJBM2c (ORCPT + <rfc822; linux-gpio@vger.kernel.org>); Wed, 2 Oct 2019 08:28:32 -0400 +Received: by mail-wr1-f66.google.com with SMTP id q17so19436519wrx.10; + Wed, 02 Oct 2019 05:28:30 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:in-reply-to:references + :mime-version:content-transfer-encoding; + bh=iB2sFoZ4x2KF5IYNHgeqY98wXl2bB2JULeTFtyoqdVY=; + b=ZNLKx8UP+ukUsboEbPQ9oqLgg5M+37mex1mpr0SgaI7zjToRbmdCJL/chPAEK2r7t8 + C+RcBU7oQnbO3L1hTZQh1VyMX84xXmn0x8g7AskW0bydPo29O2lwBgM9BeNJiMt7gaS7 + LtCbNGe/ttaTfoTsJSOmpLgAJLVJ7mpN5r3h18HtAYcsB5NqjcgFF1yFZ9FvmXOIhxAm + 1MxDJ7tO9pJbc4JQ8iR/yPEsCNibvlX1qtkuBUWdy6aJHG4CkqIbqb+V+84d3R5bsmoe + sDx7f/mMbJ6cF7dCarqOe47Quscz7UkGw/gZywhaYNS/7p6JBvKDCe0bbruzj3MEXMRy + 2tlw== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to + :references:mime-version:content-transfer-encoding; + bh=iB2sFoZ4x2KF5IYNHgeqY98wXl2bB2JULeTFtyoqdVY=; + b=E8tcBQ6lyFYE0z3JyOT1cT/Bgc194gfYXxSrFLZnHENJjrNz2Ijr9mgmTvanMcmLgs + qvPIH6L5rKKzPpmhxkGCVNMunQuR3U4+g4lCHaJuDE3QikN/dAMpfidmgej7UBcnxYXq + c8yhdhWsg36bVdUYmTdrPVNYayH3WqNj6h3724+nRQnwGs5Y+emoWuhckIBZQR2fJd3Z + jEEmej1F2QBBv4/Cf7RoOd9BVX1DFI3LgOoGADQcGnuCW/+2clFWp860wnWLGdTGqPKI + KCaPoNOzFDkbQCyhebPt8recsiTexB8AmRdTCOszf/TYQwmlvVUUSVqdwY4/P2N0uAGO + 8kOA== +X-Gm-Message-State: APjAAAVWUbix6mCYosiAjDRWTB69Pz3baQGdU6UKJJJba2d6nCyRFzs3 + w1iyx5KVIbR84BwLezjxgUk= +X-Google-Smtp-Source: APXvYqylRlhdhO5L5gTZTUh+KEGBPZYsf15BqzctBqRpCy2v75DzIQkOOs8h+NZd8ePk6530OH8SlA== +X-Received: by 2002:adf:f112:: with SMTP id r18mr2493221wro.88.1570019309276; + Wed, 02 Oct 2019 05:28:29 -0700 (PDT) +Received: from localhost (p2E5BE2CE.dip0.t-ipconnect.de. [46.91.226.206]) + by smtp.gmail.com with ESMTPSA id + h17sm10777194wme.6.2019.10.02.05.28.28 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 02 Oct 2019 05:28:28 -0700 (PDT) +From: Thierry Reding <thierry.reding@gmail.com> +To: Linus Walleij <linus.walleij@linaro.org>, + Bartosz Golaszewski <bgolaszewski@baylibre.com> +Cc: Timo Alho <talho@nvidia.com>, linux-gpio@vger.kernel.org, + linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org +Subject: [PATCH 2/3] gpio: max77620: Do not allocate IRQs upfront +Date: Wed, 2 Oct 2019 14:28:24 +0200 +Message-Id: <20191002122825.3948322-2-thierry.reding@gmail.com> +X-Mailer: git-send-email 2.23.0 +In-Reply-To: <20191002122825.3948322-1-thierry.reding@gmail.com> +References: <20191002122825.3948322-1-thierry.reding@gmail.com> +MIME-Version: 1.0 +Sender: linux-gpio-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-gpio.vger.kernel.org> +X-Mailing-List: linux-gpio@vger.kernel.org + +From: Thierry Reding <treding@nvidia.com> + +regmap_add_irq_chip() will try to allocate all of the IRQ descriptors +upfront if passed a non-zero irq_base parameter. However, the intention +is to allocate IRQ descriptors on an as-needed basis if possible. Pass 0 +instead of -1 to fix that use-case. + +Signed-off-by: Thierry Reding <treding@nvidia.com> +--- + drivers/gpio/gpio-max77620.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c +index faf86ea9c51a..c58b56e5291e 100644 +--- a/drivers/gpio/gpio-max77620.c ++++ b/drivers/gpio/gpio-max77620.c +@@ -304,7 +304,7 @@ static int max77620_gpio_probe(struct platform_device *pdev) + } + + ret = devm_regmap_add_irq_chip(&pdev->dev, chip->rmap, gpio_irq, +- IRQF_ONESHOT, -1, ++ IRQF_ONESHOT, 0, + &max77620_gpio_irq_chip, + &chip->gpio_irq_data); + if (ret < 0) { + +From patchwork Wed Oct 2 12:28:25 2019 +Content-Type: text/plain; charset="utf-8" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +X-Patchwork-Submitter: Thierry Reding <thierry.reding@gmail.com> +X-Patchwork-Id: 1170633 +Return-Path: <linux-gpio-owner@vger.kernel.org> +X-Original-To: incoming@patchwork.ozlabs.org +Delivered-To: patchwork-incoming@bilbo.ozlabs.org +Authentication-Results: ozlabs.org; + spf=none (mailfrom) smtp.mailfrom=vger.kernel.org + (client-ip=209.132.180.67; helo=vger.kernel.org; + envelope-from=linux-gpio-owner@vger.kernel.org; + receiver=<UNKNOWN>) +Authentication-Results: ozlabs.org; + dmarc=pass (p=none dis=none) header.from=gmail.com +Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; + unprotected) header.d=gmail.com header.i=@gmail.com + header.b="TsA9TpB7"; dkim-atps=neutral +Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) + by ozlabs.org (Postfix) with ESMTP id 46jwRD5mmDz9sPq + for <incoming@patchwork.ozlabs.org>; + Wed, 2 Oct 2019 22:28:40 +1000 (AEST) +Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand + id S1727456AbfJBM2f (ORCPT <rfc822;incoming@patchwork.ozlabs.org>); + Wed, 2 Oct 2019 08:28:35 -0400 +Received: from mail-wm1-f66.google.com ([209.85.128.66]:34525 "EHLO + mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org + with ESMTP id S1726682AbfJBM2e (ORCPT + <rfc822; linux-gpio@vger.kernel.org>); Wed, 2 Oct 2019 08:28:34 -0400 +Received: by mail-wm1-f66.google.com with SMTP id y135so4823030wmc.1; + Wed, 02 Oct 2019 05:28:32 -0700 (PDT) +DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; + h=from:to:cc:subject:date:message-id:in-reply-to:references + :mime-version:content-transfer-encoding; + bh=CBafHZOcPLRsPg6HMh6RW3fmvKDiW2MODjit57xEepE=; + b=TsA9TpB72Q02EPmaBqcc4zzucsjsdc5mtjgAgTak5YrKh+mRT2HMioWeCxrLu5Cl+6 + 66PhcUzrRtOnct3yEqC1hueFX+K8TsDr1bJq2f3L5LqA9rYz5Hdk93jVmwyEKtrPUOa5 + DNgu/r4ppuWX/d9nuLpVLcFGOzWYjz/GSfyRm/B0MNSsiIFx/VfjsK6OQk48uN2gyMPf + LsirANA0HYZPyXaUFBkchtTE71HqGFSIzJGUSVGm12Z26puMZ9GiUid1l1XJjdDuFfhU + 3k9TQnvLEpZDHArb2G8JrwRI8fRZ/OBDLPyKvH/EEdDYa/FfJOzliZBqMgVFpXpXGTZ6 + 7YAw== +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20161025; + h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to + :references:mime-version:content-transfer-encoding; + bh=CBafHZOcPLRsPg6HMh6RW3fmvKDiW2MODjit57xEepE=; + b=MVU3M5NDj2W8TitA2MM98hE9Vgb07UODtrRolwf9TaeTgf2XRMgYAWr9v5zaHvBU2q + 4q/HPqbn0WAW3OBfSQLW6CFcdiHOkjfR+r8tKHpNMNBbeDrj1DeeKE/A25plLXxg+Ypz + 1bKJe6DPvjIqLvrpVmPADaRtsAkgDFTt/h41ti2uTwS5xq4qEf1mwz6lFyJkGyf+Qjb5 + pnViJ3Lv89RLBvJwWj0j2t/EzzznPZn9xP663YkNrUNRYrAM7ZBauvK7kMyf8LnKo96E + +niJu7OV4PnRspOC8AS3PPM4DHGctXZl6QMcJ1LyPwBkd8EHJioV1iDJKqHQIbxew46f + AzCA== +X-Gm-Message-State: APjAAAWbRYKoHNSgs+vkRdoNeam2jbbuVKAFxN3ysahEdBul5DIjNFsz + JRjkPkilW+LPTwy2EmDLNUE= +X-Google-Smtp-Source: APXvYqyfSTFvcH9+iLVzVGJ5KDEauN0ssdr9eBfIIdRWe8prWnP7KBGuKItc0GAk8lMLMDzdLKlWtw== +X-Received: by 2002:a1c:7306:: with SMTP id d6mr2864027wmb.62.1570019311374; + Wed, 02 Oct 2019 05:28:31 -0700 (PDT) +Received: from localhost (p2E5BE2CE.dip0.t-ipconnect.de. [46.91.226.206]) + by smtp.gmail.com with ESMTPSA id + 90sm3179450wrr.1.2019.10.02.05.28.30 + (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); + Wed, 02 Oct 2019 05:28:30 -0700 (PDT) +From: Thierry Reding <thierry.reding@gmail.com> +To: Linus Walleij <linus.walleij@linaro.org>, + Bartosz Golaszewski <bgolaszewski@baylibre.com> +Cc: Timo Alho <talho@nvidia.com>, linux-gpio@vger.kernel.org, + linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org +Subject: [PATCH 3/3] gpio: max77620: Fix interrupt handling +Date: Wed, 2 Oct 2019 14:28:25 +0200 +Message-Id: <20191002122825.3948322-3-thierry.reding@gmail.com> +X-Mailer: git-send-email 2.23.0 +In-Reply-To: <20191002122825.3948322-1-thierry.reding@gmail.com> +References: <20191002122825.3948322-1-thierry.reding@gmail.com> +MIME-Version: 1.0 +Sender: linux-gpio-owner@vger.kernel.org +Precedence: bulk +List-ID: <linux-gpio.vger.kernel.org> +X-Mailing-List: linux-gpio@vger.kernel.org + +From: Timo Alho <talho@nvidia.com> + +The interrupt-related register fields on the MAX77620 GPIO controller +share registers with GPIO related fields. If the IRQ chip is implemented +with regmap-irq, this causes the IRQ controller code to overwrite fields +previously configured by the GPIO controller code. + +Two examples where this causes problems are the NVIDIA Jetson TX1 and +Jetson TX2 boards, where some of the GPIOs are used to enable vital +power regulators. The MAX77620 GPIO controller also provides the USB OTG +ID pin. If configured as an interrupt, this causes some of the +regulators to be powered off. + +Signed-off-by: Timo Alho <talho@nvidia.com> +Signed-off-by: Thierry Reding <treding@nvidia.com> +--- + drivers/gpio/gpio-max77620.c | 231 ++++++++++++++++++----------------- + 1 file changed, 117 insertions(+), 114 deletions(-) + +diff --git a/drivers/gpio/gpio-max77620.c b/drivers/gpio/gpio-max77620.c +index c58b56e5291e..c5b64a4ac172 100644 +--- a/drivers/gpio/gpio-max77620.c ++++ b/drivers/gpio/gpio-max77620.c +@@ -18,109 +18,115 @@ struct max77620_gpio { + struct gpio_chip gpio_chip; + struct regmap *rmap; + struct device *dev; ++ struct mutex buslock; /* irq_bus_lock */ ++ unsigned int irq_type[8]; ++ bool irq_enabled[8]; + }; + +-static const struct regmap_irq max77620_gpio_irqs[] = { +- [0] = { +- .reg_offset = 0, +- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE0, +- .type = { +- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING, +- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING, +- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK, +- .type_reg_offset = 0, +- .types_supported = IRQ_TYPE_EDGE_BOTH, +- }, +- }, +- [1] = { +- .reg_offset = 0, +- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE1, +- .type = { +- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING, +- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING, +- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK, +- .type_reg_offset = 1, +- .types_supported = IRQ_TYPE_EDGE_BOTH, +- }, +- }, +- [2] = { +- .reg_offset = 0, +- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE2, +- .type = { +- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING, +- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING, +- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK, +- .type_reg_offset = 2, +- .types_supported = IRQ_TYPE_EDGE_BOTH, +- }, +- }, +- [3] = { +- .reg_offset = 0, +- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE3, +- .type = { +- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING, +- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING, +- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK, +- .type_reg_offset = 3, +- .types_supported = IRQ_TYPE_EDGE_BOTH, +- }, +- }, +- [4] = { +- .reg_offset = 0, +- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE4, +- .type = { +- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING, +- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING, +- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK, +- .type_reg_offset = 4, +- .types_supported = IRQ_TYPE_EDGE_BOTH, +- }, +- }, +- [5] = { +- .reg_offset = 0, +- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE5, +- .type = { +- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING, +- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING, +- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK, +- .type_reg_offset = 5, +- .types_supported = IRQ_TYPE_EDGE_BOTH, +- }, +- }, +- [6] = { +- .reg_offset = 0, +- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE6, +- .type = { +- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING, +- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING, +- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK, +- .type_reg_offset = 6, +- .types_supported = IRQ_TYPE_EDGE_BOTH, +- }, +- }, +- [7] = { +- .reg_offset = 0, +- .mask = MAX77620_IRQ_LVL2_GPIO_EDGE7, +- .type = { +- .type_rising_val = MAX77620_CNFG_GPIO_INT_RISING, +- .type_falling_val = MAX77620_CNFG_GPIO_INT_FALLING, +- .type_reg_mask = MAX77620_CNFG_GPIO_INT_MASK, +- .type_reg_offset = 7, +- .types_supported = IRQ_TYPE_EDGE_BOTH, +- }, +- }, +-}; ++static irqreturn_t max77620_gpio_irqhandler(int irq, void *data) ++{ ++ struct max77620_gpio *gpio = data; ++ unsigned int value, offset; ++ unsigned long pending; ++ int err; ++ ++ err = regmap_read(gpio->rmap, MAX77620_REG_IRQ_LVL2_GPIO, &value); ++ if (err < 0) { ++ dev_err(gpio->dev, "REG_IRQ_LVL2_GPIO read failed: %d\n", err); ++ return IRQ_NONE; ++ } ++ ++ pending = value; ++ ++ for_each_set_bit(offset, &pending, 8) { ++ unsigned int virq; ++ ++ virq = irq_find_mapping(gpio->gpio_chip.irq.domain, offset); ++ handle_nested_irq(virq); ++ } ++ ++ return IRQ_HANDLED; ++} ++ ++static void max77620_gpio_irq_mask(struct irq_data *data) ++{ ++ struct gpio_chip *chip = irq_data_get_irq_chip_data(data); ++ struct max77620_gpio *gpio = gpiochip_get_data(chip); ++ ++ gpio->irq_enabled[data->hwirq] = false; ++} + +-static const struct regmap_irq_chip max77620_gpio_irq_chip = { +- .name = "max77620-gpio", +- .irqs = max77620_gpio_irqs, +- .num_irqs = ARRAY_SIZE(max77620_gpio_irqs), +- .num_regs = 1, +- .num_type_reg = 8, +- .irq_reg_stride = 1, +- .type_reg_stride = 1, +- .status_base = MAX77620_REG_IRQ_LVL2_GPIO, +- .type_base = MAX77620_REG_GPIO0, ++static void max77620_gpio_irq_unmask(struct irq_data *data) ++{ ++ struct gpio_chip *chip = irq_data_get_irq_chip_data(data); ++ struct max77620_gpio *gpio = gpiochip_get_data(chip); ++ ++ gpio->irq_enabled[data->hwirq] = true; ++} ++ ++static int max77620_gpio_set_irq_type(struct irq_data *data, unsigned int type) ++{ ++ struct gpio_chip *chip = irq_data_get_irq_chip_data(data); ++ struct max77620_gpio *gpio = gpiochip_get_data(chip); ++ unsigned int irq_type; ++ ++ switch (type) { ++ case IRQ_TYPE_EDGE_RISING: ++ irq_type = MAX77620_CNFG_GPIO_INT_RISING; ++ break; ++ ++ case IRQ_TYPE_EDGE_FALLING: ++ irq_type = MAX77620_CNFG_GPIO_INT_FALLING; ++ break; ++ ++ case IRQ_TYPE_EDGE_BOTH: ++ irq_type = MAX77620_CNFG_GPIO_INT_RISING | ++ MAX77620_CNFG_GPIO_INT_FALLING; ++ break; ++ ++ default: ++ return -EINVAL; ++ } ++ ++ gpio->irq_type[data->hwirq] = irq_type; ++ ++ return 0; ++} ++ ++static void max77620_gpio_bus_lock(struct irq_data *data) ++{ ++ struct gpio_chip *chip = irq_data_get_irq_chip_data(data); ++ struct max77620_gpio *gpio = gpiochip_get_data(chip); ++ ++ mutex_lock(&gpio->buslock); ++} ++ ++static void max77620_gpio_bus_sync_unlock(struct irq_data *data) ++{ ++ struct gpio_chip *chip = irq_data_get_irq_chip_data(data); ++ struct max77620_gpio *gpio = gpiochip_get_data(chip); ++ unsigned int value, offset = data->hwirq; ++ int err; ++ ++ value = gpio->irq_enabled[offset] ? gpio->irq_type[offset] : 0; ++ ++ err = regmap_update_bits(gpio->rmap, GPIO_REG_ADDR(offset), ++ MAX77620_CNFG_GPIO_INT_MASK, value); ++ if (err < 0) ++ dev_err(chip->parent, "failed to update interrupt mask: %d\n", ++ err); ++ ++ mutex_unlock(&gpio->buslock); ++} ++ ++static struct irq_chip max77620_gpio_irqchip = { ++ .name = "max77620-gpio", ++ .irq_mask = max77620_gpio_irq_mask, ++ .irq_unmask = max77620_gpio_irq_unmask, ++ .irq_set_type = max77620_gpio_set_irq_type, ++ .irq_bus_lock = max77620_gpio_bus_lock, ++ .irq_bus_sync_unlock = max77620_gpio_bus_sync_unlock, ++ .flags = IRQCHIP_MASK_ON_SUSPEND, + }; + + static int max77620_gpio_dir_input(struct gpio_chip *gc, unsigned int offset) +@@ -254,14 +260,6 @@ static int max77620_gpio_set_config(struct gpio_chip *gc, unsigned int offset, + return -ENOTSUPP; + } + +-static int max77620_gpio_to_irq(struct gpio_chip *gc, unsigned int offset) +-{ +- struct max77620_gpio *mgpio = gpiochip_get_data(gc); +- struct max77620_chip *chip = dev_get_drvdata(mgpio->dev->parent); +- +- return regmap_irq_get_virq(chip->gpio_irq_data, offset); +-} +- + static int max77620_gpio_probe(struct platform_device *pdev) + { + struct max77620_chip *chip = dev_get_drvdata(pdev->dev.parent); +@@ -287,7 +285,6 @@ static int max77620_gpio_probe(struct platform_device *pdev) + mgpio->gpio_chip.direction_output = max77620_gpio_dir_output; + mgpio->gpio_chip.set = max77620_gpio_set; + mgpio->gpio_chip.set_config = max77620_gpio_set_config; +- mgpio->gpio_chip.to_irq = max77620_gpio_to_irq; + mgpio->gpio_chip.ngpio = MAX77620_GPIO_NR; + mgpio->gpio_chip.can_sleep = 1; + mgpio->gpio_chip.base = -1; +@@ -303,15 +300,21 @@ static int max77620_gpio_probe(struct platform_device *pdev) + return ret; + } + +- ret = devm_regmap_add_irq_chip(&pdev->dev, chip->rmap, gpio_irq, +- IRQF_ONESHOT, 0, +- &max77620_gpio_irq_chip, +- &chip->gpio_irq_data); ++ mutex_init(&mgpio->buslock); ++ ++ gpiochip_irqchip_add_nested(&mgpio->gpio_chip, &max77620_gpio_irqchip, ++ 0, handle_edge_irq, IRQ_TYPE_NONE); ++ ++ ret = request_threaded_irq(gpio_irq, NULL, max77620_gpio_irqhandler, ++ IRQF_ONESHOT, "max77620-gpio", mgpio); + if (ret < 0) { +- dev_err(&pdev->dev, "Failed to add gpio irq_chip %d\n", ret); ++ dev_err(&pdev->dev, "failed to request IRQ: %d\n", ret); + return ret; + } + ++ gpiochip_set_nested_irqchip(&mgpio->gpio_chip, &max77620_gpio_irqchip, ++ gpio_irq); ++ + return 0; + } + diff --git a/input-kill-stupid-messages.patch b/input-kill-stupid-messages.patch deleted file mode 100644 index 04205f857..000000000 --- a/input-kill-stupid-messages.patch +++ /dev/null @@ -1,30 +0,0 @@ -From: "kernel-team@fedoraproject.org" <kernel-team@fedoraproject.org> -Date: Thu, 29 Jul 2010 16:46:31 -0700 -Subject: [PATCH] input: kill stupid messages - -Bugzilla: N/A -Upstream-status: Fedora mustard ---- - drivers/input/keyboard/atkbd.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c -index ec876b5b1382..9d5216e23a09 100644 ---- a/drivers/input/keyboard/atkbd.c -+++ b/drivers/input/keyboard/atkbd.c -@@ -436,11 +436,15 @@ static irqreturn_t atkbd_interrupt(struct serio *serio, unsigned char data, - goto out; - case ATKBD_RET_ACK: - case ATKBD_RET_NAK: -+# if 0 -+ /* Quite a few key switchers and other tools trigger this -+ * and it confuses people who can do nothing about it */ - if (printk_ratelimit()) - dev_warn(&serio->dev, - "Spurious %s on %s. " - "Some program might be trying to access hardware directly.\n", - data == ATKBD_RET_ACK ? "ACK" : "NAK", serio->phys); -+#endif - goto out; - case ATKBD_RET_ERR: - atkbd->err_count++; diff --git a/kernel-aarch64-debug.config b/kernel-aarch64-debug-fedora.config index 1c6629b3c..167933e16 100644 --- a/kernel-aarch64-debug.config +++ b/kernel-aarch64-debug-fedora.config @@ -129,6 +129,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -138,6 +139,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -204,7 +206,7 @@ CONFIG_AMIGA_PARTITION=y # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set CONFIG_APDS9802ALS=m -# CONFIG_APDS9960 is not set +CONFIG_APDS9960=m # CONFIG_APPLE_PROPERTIES is not set # CONFIG_APPLICOM is not set CONFIG_APQ_GCC_8084=y @@ -215,6 +217,7 @@ CONFIG_AR5523=m # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_AGILEX is not set # CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_ASPEED is not set # CONFIG_ARCH_BCM_21664 is not set # CONFIG_ARCH_BCM_23550 is not set # CONFIG_ARCH_BCM_281XX is not set @@ -238,15 +241,11 @@ CONFIG_ARCH_BCM=y # CONFIG_ARCH_FOOTBRIDGE is not set CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y CONFIG_ARCH_HISI=y -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_K3 is not set -# CONFIG_ARCH_KS8695 is not set CONFIG_ARCH_LAYERSCAPE=y # CONFIG_ARCH_LG1K is not set -# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_MEDIATEK is not set CONFIG_ARCH_MESON=y CONFIG_ARCH_MULTIPLATFORM=y @@ -276,7 +275,6 @@ CONFIG_ARCH_THUNDER2=y CONFIG_ARCH_THUNDER=y # CONFIG_ARCH_UNIPHIER is not set CONFIG_ARCH_VEXPRESS=y -# CONFIG_ARCH_W90X900 is not set CONFIG_ARCH_XGENE=y # CONFIG_ARCH_ZX is not set CONFIG_ARCH_ZYNQMP=y @@ -314,16 +312,19 @@ CONFIG_ARM64_RAS_EXTN=y # CONFIG_ARM64_RELOC_TEST is not set CONFIG_ARM64_SVE=y CONFIG_ARM64_SW_TTBR0_PAN=y +CONFIG_ARM64_TAGGED_ADDR_ABI=y CONFIG_ARM64_UAO=y # CONFIG_ARM64_VA_BITS_39 is not set CONFIG_ARM64_VA_BITS=48 CONFIG_ARM64_VA_BITS_48=y +# CONFIG_ARM64_VA_BITS_52 is not set CONFIG_ARM64_VHE=y CONFIG_ARM64=y CONFIG_ARMADA_37XX_RWTM_MBOX=m CONFIG_ARMADA_37XX_WATCHDOG=m CONFIG_ARMADA_AP806_SYSCON=y CONFIG_ARMADA_THERMAL=m +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m CONFIG_ARM_AMBA=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER=y @@ -354,10 +355,12 @@ CONFIG_ARM_MHU=m CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_FW=y CONFIG_ARM_PSCI=y CONFIG_ARM_PTDUMP_DEBUGFS=y CONFIG_ARM_QCOM_CPUFREQ_HW=m -CONFIG_ARM_QCOM_CPUFREQ_KRYO=m +CONFIG_ARM_QCOM_CPUFREQ_NVMEM=m CONFIG_ARM_RASPBERRYPI_CPUFREQ=m CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SBSA_WATCHDOG=m @@ -424,6 +427,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -540,9 +544,9 @@ CONFIG_BATTERY_BQ27XXX=m # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set +CONFIG_BATTERY_GAUGE_LTC2941=m # CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_MAX17040 is not set +CONFIG_BATTERY_MAX17040=m # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_SBS=m @@ -595,6 +599,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -794,18 +799,23 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set CONFIG_CAN_FLEXCAN=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m -# CONFIG_CAN_MCP251X is not set +CONFIG_CAN_MCP251X=m CONFIG_CAN_PEAK_PCIEC=y CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m @@ -941,6 +951,7 @@ CONFIG_CLK_BCM2835=y CONFIG_CLKDEV_LOOKUP=y # CONFIG_CLK_HSDK is not set CONFIG_CLK_IMX8MM=y +CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MQ=y CONFIG_CLK_IMX8QXP=y # CONFIG_CLK_QORIQ is not set @@ -1046,6 +1057,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -1056,7 +1068,6 @@ CONFIG_CPU_THERMAL=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -1071,10 +1082,12 @@ CONFIG_CRC8=m CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y +CONFIG_CROS_EC_CHARDEV=m CONFIG_CROS_EC_DEBUGFS=m CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m # CONFIG_CROS_EC_LIGHTBAR is not set +CONFIG_CROS_EC=m CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_EC_SPI=m @@ -1086,9 +1099,8 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_AEGIS128_SIMD=y CONFIG_CRYPTO_AES_ARM64_BS=m CONFIG_CRYPTO_AES_ARM64_CE_BLK=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y @@ -1131,6 +1143,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCP=y CONFIG_CRYPTO_DEV_CCREE=m CONFIG_CRYPTO_DEV_CHELSIO=m @@ -1151,6 +1164,7 @@ CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y # CONFIG_CRYPTO_DEV_HISI_SEC is not set +# CONFIG_CRYPTO_DEV_HISI_ZIP is not set CONFIG_CRYPTO_DEV_MARVELL_CESA=m # CONFIG_CRYPTO_DEV_MXS_DCP is not set CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m @@ -1171,6 +1185,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -1192,8 +1207,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NHPOLY1305_NEON=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m @@ -1222,7 +1235,7 @@ CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SHA512_ARM64_CE=m CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM=y -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3_ARM64_CE=m CONFIG_CRYPTO_SM3=m @@ -1276,17 +1289,16 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KOBJECT is not set @@ -1363,6 +1375,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1379,6 +1392,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1406,6 +1420,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1450,6 +1465,7 @@ CONFIG_DRM_ETNAVIV=m CONFIG_DRM_ETNAVIV_THERMAL=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set # CONFIG_DRM_HISI_HIBMC is not set @@ -1497,13 +1513,17 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set CONFIG_DRM_PANEL_RAYDIUM_RM68200=m CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1515,10 +1535,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SEIKO_43WVF1G=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m CONFIG_DRM_PANEL=y @@ -1543,12 +1567,11 @@ CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN6I_DSI=m CONFIG_DRM_SUN8I_DW_HDMI=m CONFIG_DRM_SUN8I_MIXER=m -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_TEGRA_DEBUG is not set CONFIG_DRM_TEGRA=m CONFIG_DRM_TEGRA_STAGING=y # CONFIG_DRM_THINE_THC63LVD1024 is not set -CONFIG_DRM_TINYDRM=m CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1679,6 +1702,7 @@ CONFIG_EARLY_PRINTK=y CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set +CONFIG_EDAC_BLUEFIELD=m # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_GHES=y CONFIG_EDAC_LAYERSCAPE=m @@ -1701,7 +1725,8 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_CAPSULE_LOADER is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y -# CONFIG_EFI_TEST is not set +# CONFIG_EFI_RCI2_TABLE is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_VARS_PSTORE=y @@ -1726,6 +1751,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1902,6 +1928,7 @@ CONFIG_FSL_DPAA=y CONFIG_FSL_EDMA=m CONFIG_FSL_ENETC_HW_TIMESTAMPING=y CONFIG_FSL_ENETC=m +# CONFIG_FSL_ENETC_MDIO is not set CONFIG_FSL_ENETC_PTP_CLOCK=m CONFIG_FSL_ENETC_VF=m CONFIG_FSL_ERRATUM_A008585=y @@ -1915,6 +1942,9 @@ CONFIG_FSL_QDMA=m # CONFIG_FSL_XGMAC_MDIO is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -2011,6 +2041,7 @@ CONFIG_GPIO_MB86S7X=m # CONFIG_GPIO_MC33880 is not set CONFIG_GPIO_MLXBF=m # CONFIG_GPIO_MOCKUP is not set +CONFIG_GPIO_MOXTET=m CONFIG_GPIO_MPC8XXX=y CONFIG_GPIO_MVEBU=y CONFIG_GPIO_PCA953X_IRQ=y @@ -2033,6 +2064,7 @@ CONFIG_GPIO_TEGRA=y CONFIG_GPIO_THUNDERX=m # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS65086=m +CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set CONFIG_GPIO_VIPERBOARD=m @@ -2061,10 +2093,10 @@ CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HD44780=m -# CONFIG_HDC100X is not set +CONFIG_HDC100X=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y # CONFIG_HERMES is not set CONFIG_HERMES_PRISM=y @@ -2093,6 +2125,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2183,7 +2216,6 @@ CONFIG_HID_ZEROPLUS=m CONFIG_HID_ZYDACRON=m CONFIG_HIGH_RES_TIMERS=y # CONFIG_HIPPI is not set -CONFIG_HISI_KIRIN_DW_DSI=m CONFIG_HISILICON_ERRATUM_161010101=y CONFIG_HISILICON_ERRATUM_161600802=y CONFIG_HISILICON_IRQ_MBIGEN=y @@ -2215,7 +2247,7 @@ CONFIG_HT16K33=m # CONFIG_HTC_I2CPLD is not set # CONFIG_HTC_PASIC3 is not set CONFIG_HTS221=m -# CONFIG_HTU21 is not set +CONFIG_HTU21=m CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y # CONFIG_HVC_DCC is not set @@ -2262,7 +2294,6 @@ CONFIG_I2C_ALGOPCF=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m CONFIG_I2C_ARB_GPIO_CHALLENGE=m -# CONFIG_I2C_BCM2048 is not set CONFIG_I2C_BCM2835=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CADENCE=m @@ -2416,11 +2447,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2436,7 +2469,9 @@ CONFIG_IMA=y # CONFIG_IMG_ASCII_LCD is not set CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m +# CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set +CONFIG_IMX_DSP=y CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y # CONFIG_IMX_IPUV3_CORE is not set @@ -2574,6 +2609,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m CONFIG_INTERCONNECT=m +# CONFIG_INTERCONNECT_QCOM_QCS404 is not set CONFIG_INTERCONNECT_QCOM_SDM845=m CONFIG_INTERCONNECT_QCOM=y # CONFIG_INTERVAL_TREE_TEST is not set @@ -2591,6 +2627,7 @@ CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2836,6 +2873,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2876,6 +2914,7 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2883,6 +2922,7 @@ CONFIG_KERNEL_MODE_NEON=y # CONFIG_KERNEL_UNCOMPRESSED is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KEXEC_FILE is not set +CONFIG_KEXEC_SIG=y CONFIG_KEXEC=y CONFIG_KEYBOARD_ADC=m # CONFIG_KEYBOARD_ADP5588 is not set @@ -2938,9 +2978,6 @@ CONFIG_KPROBE_EVENTS=y CONFIG_KPROBES=y CONFIG_KPSS_XCC=m CONFIG_KRAITCC=m -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set @@ -3016,7 +3053,7 @@ CONFIG_LEDS_NIC78BX=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_PCA9532=m # CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set +CONFIG_LEDS_PCA963X=m CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m # CONFIG_LEDS_SPI_BYTE is not set @@ -3069,7 +3106,7 @@ CONFIG_LIBNVDIMM=m # CONFIG_LIQUIDIO is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -3078,7 +3115,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y CONFIG_LOCK_EVENT_COUNTS=y # CONFIG_LOCK_STAT is not set @@ -3133,7 +3172,7 @@ CONFIG_MAC_PARTITION=y CONFIG_MACSEC=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -# CONFIG_MAG3110 is not set +CONFIG_MAG3110=m CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ=y @@ -3162,6 +3201,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -3176,8 +3216,8 @@ CONFIG_MB1232=m # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCORE2 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set +CONFIG_MCP320X=m +CONFIG_MCP3422=m CONFIG_MCP3911=m CONFIG_MCP4018=m CONFIG_MCP41010=m @@ -3256,6 +3296,7 @@ CONFIG_MEMSTICK_TIFM_MS=m # CONFIG_MEN_A21_WDT is not set CONFIG_MESON_CANVAS=m # CONFIG_MESON_CLK_MEASURE is not set +CONFIG_MESON_EE_PM_DOMAINS=y CONFIG_MESON_EFUSE=m CONFIG_MESON_GXBB_WATCHDOG=m CONFIG_MESON_GXL_PHY=m @@ -3289,8 +3330,8 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set -CONFIG_MFD_CROS_EC_CHARDEV=m -CONFIG_MFD_CROS_EC=m +CONFIG_MFD_CROS_EC_DEV=m +# CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9052_SPI is not set @@ -3407,6 +3448,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXBF_TMFIFO=m @@ -3466,6 +3509,7 @@ CONFIG_MMC_SDHCI_IPROC=m CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_MSM=m CONFIG_MMC_SDHCI_OF_ARASAN=m +# 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_OF_ESDHC=m @@ -3490,6 +3534,7 @@ CONFIG_MMC_WBSD=m CONFIG_MMC=y CONFIG_MMIOTRACE=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_FORCE_UNLOAD=y @@ -3524,6 +3569,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +CONFIG_MOXTET=m CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set # CONFIG_MPL3115 is not set @@ -3600,6 +3646,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3717,12 +3764,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3896,6 +3945,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3949,6 +3999,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_NET_VENDOR_RDC=y @@ -4115,10 +4166,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -4178,6 +4229,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set CONFIG_NODES_SHIFT=9 # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y @@ -4191,7 +4243,7 @@ CONFIG_NOUVEAU_DEBUG_MMU=y # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOZOMI=m -CONFIG_NR_CPUS=256 +CONFIG_NR_CPUS=4096 CONFIG_NS83820=m # CONFIG_NTB is not set # CONFIG_NTFS_FS is not set @@ -4255,7 +4307,7 @@ CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPT3001=m CONFIG_OPTEE=m CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -4347,6 +4399,7 @@ CONFIG_PCI_AARDVARK=y # CONFIG_PCI_DEBUG is not set CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y +# CONFIG_PCIE_AL is not set # CONFIG_PCIE_ALTERA is not set CONFIG_PCIE_ARMADA_8K=y # CONFIG_PCIEASPM_DEBUG is not set @@ -4371,6 +4424,7 @@ CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_QCOM=y # CONFIG_PCIE_ROCKCHIP_HOST is not set +CONFIG_PCIE_TEGRA194=m CONFIG_PCIE_XILINX_NWL=y CONFIG_PCIE_XILINX=y # CONFIG_PCI_FTPCI100 is not set @@ -4471,6 +4525,7 @@ CONFIG_PHY_ROCKCHIP_USB=m CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_SUN6I_MIPI_DPHY=m # CONFIG_PHY_SUN9I_USB is not set +CONFIG_PHY_TEGRA194_P2U=m CONFIG_PHY_TEGRA_XUSB=m # CONFIG_PHY_TUSB1210 is not set CONFIG_PHY_XGENE=y @@ -4521,6 +4576,7 @@ CONFIG_PINCTRL_QCOM_SPMI_PMIC=y # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_QDF2XXX=y CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set CONFIG_PINCTRL_SDM845=y CONFIG_PINCTRL_SINGLE=y @@ -4626,7 +4682,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4679,7 +4734,7 @@ CONFIG_PWM_HIBVT=m CONFIG_PWM_IMX27=m CONFIG_PWM_IMX_TPM=m CONFIG_PWM_MESON=m -# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_PCA9685=m CONFIG_PWM_ROCKCHIP=m # CONFIG_PWM_STMPE is not set CONFIG_PWM_SUN4I=m @@ -4737,6 +4792,7 @@ CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_QCOM_SMP2P=m CONFIG_QCOM_SMSM=m +# CONFIG_QCOM_SOCINFO is not set CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m @@ -4794,6 +4850,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set # CONFIG_RANDOM_TRUST_CPU is not set CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4834,13 +4891,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set # CONFIG_RDS is not set CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4896,6 +4954,7 @@ CONFIG_REGULATOR_QCOM_SPMI=m CONFIG_REGULATOR_RK808=y # CONFIG_REGULATOR_SLG51000 is not set CONFIG_REGULATOR_SY8106A=m +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4917,7 +4976,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_RESET_CONTROLLER=y @@ -4926,6 +4985,7 @@ CONFIG_RESET_IMX7=y CONFIG_RESET_MESON_AUDIO_ARB=m CONFIG_RESET_QCOM_AOSS=y CONFIG_RESET_QCOM_PDC=m +CONFIG_RESET_SCMI=y CONFIG_RESET_SIMPLE=y # CONFIG_RESET_TI_SCI is not set CONFIG_RESET_TI_SYSCON=m @@ -5049,6 +5109,7 @@ CONFIG_RTC_DRV_DS3232=m CONFIG_RTC_DRV_EFI=y CONFIG_RTC_DRV_EM3027=m CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_FSL_FTM_ALARM=m # CONFIG_RTC_DRV_FTRTC010 is not set # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set CONFIG_RTC_DRV_HYM8563=m @@ -5069,6 +5130,7 @@ CONFIG_RTC_DRV_MAX6902=m CONFIG_RTC_DRV_MAX6916=m CONFIG_RTC_DRV_MAX77686=m CONFIG_RTC_DRV_MCP795=m +CONFIG_RTC_DRV_MESON_VRTC=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MV=m # CONFIG_RTC_DRV_MXC is not set @@ -5309,6 +5371,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -5337,7 +5401,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -5350,6 +5413,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCMI=m CONFIG_SENSORS_ARM_SCPI=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -5368,7 +5432,7 @@ CONFIG_SENSORS_G760A=m CONFIG_SENSORS_G762=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m -# CONFIG_SENSORS_GPIO_FAN is not set +CONFIG_SENSORS_GPIO_FAN=m # CONFIG_SENSORS_HIH6130 is not set # CONFIG_SENSORS_HMC5843_I2C is not set # CONFIG_SENSORS_HMC5843_SPI is not set @@ -5380,6 +5444,7 @@ CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5512,7 +5577,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -5533,6 +5597,7 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LPUART=y # CONFIG_SERIAL_IFX6X60 is not set @@ -5586,13 +5651,12 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set # CONFIG_SI1145 is not set # CONFIG_SI7005 is not set -# CONFIG_SI7020 is not set +CONFIG_SI7020=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_PM_BUS=y # CONFIG_SIOX is not set @@ -5624,6 +5688,7 @@ CONFIG_SMC91X=m CONFIG_SMC_DIAG=m CONFIG_SMC=m # CONFIG_SM_FTL is not set +CONFIG_SM_GCC_8150=y CONFIG_SMP=y CONFIG_SMSC911X=m CONFIG_SMSC9420=m @@ -5713,7 +5778,8 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set +# CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_PREALLOC_SIZE=4096 @@ -5788,6 +5854,7 @@ CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set CONFIG_SND_SOC_ADAU1761_I2C=m CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU1977_I2C=m CONFIG_SND_SOC_ADAU7002=m # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4118 is not set @@ -5811,21 +5878,22 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m CONFIG_SND_SOC_CS35L34=m CONFIG_SND_SOC_CS35L35=m CONFIG_SND_SOC_CS35L36=m -# CONFIG_SND_SOC_CS4265 is not set +CONFIG_SND_SOC_CS4265=m # CONFIG_SND_SOC_CS4270 is not set -# CONFIG_SND_SOC_CS4271_I2C is not set +CONFIG_SND_SOC_CS4271_I2C=m # CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L51_I2C is not set # CONFIG_SND_SOC_CS42L52 is not set # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set -# CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4341 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES7241 is not set @@ -5847,6 +5915,7 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y CONFIG_SND_SOC_HDAC_HDA=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set CONFIG_SND_SOC_IMX_AUDMIX=m # CONFIG_SND_SOC_IMX_AUDMUX is not set @@ -5882,6 +5951,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set +CONFIG_SND_SOC_PCM5102A=m CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_SPI=m @@ -5911,6 +5981,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -5946,8 +6017,9 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m # CONFIG_SND_SOC_TEGRA_WM8903 is not set # CONFIG_SND_SOC_TEGRA_WM9712 is not set # CONFIG_SND_SOC_TFA9879 is not set -# CONFIG_SND_SOC_TLV320AIC23_I2C is not set -# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +CONFIG_SND_SOC_TLV320AIC23_I2C=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC23_SPI=m # CONFIG_SND_SOC_TLV320AIC31XX is not set CONFIG_SND_SOC_TLV320AIC32X4_I2C=m CONFIG_SND_SOC_TLV320AIC32X4_SPI=m @@ -5956,6 +6028,7 @@ CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set CONFIG_SND_SOC_WCD9335=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set @@ -5963,9 +6036,9 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set -# CONFIG_SND_SOC_WM8731 is not set +CONFIG_SND_SOC_WM8731=m # CONFIG_SND_SOC_WM8737 is not set -# CONFIG_SND_SOC_WM8741 is not set +CONFIG_SND_SOC_WM8741=m # CONFIG_SND_SOC_WM8750 is not set # CONFIG_SND_SOC_WM8753 is not set # CONFIG_SND_SOC_WM8770 is not set @@ -6031,7 +6104,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPARSE_IRQ=y @@ -6223,6 +6295,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m CONFIG_TCG_CRB=y +CONFIG_TCG_FTPM_TEE=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -6295,6 +6368,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -6365,7 +6439,6 @@ CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m CONFIG_TINYDRM_MI0283QT=m -CONFIG_TINYDRM_MIPI_DBI=m CONFIG_TINYDRM_REPAPER=m CONFIG_TINYDRM_ST7586=m CONFIG_TINYDRM_ST7735R=m @@ -6378,7 +6451,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set CONFIG_TMP006=m @@ -6389,7 +6462,7 @@ CONFIG_TMPFS=y # CONFIG_TOUCHSCREEN_AD7877 is not set # CONFIG_TOUCHSCREEN_AD7879 is not set CONFIG_TOUCHSCREEN_ADC=m -# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_ADS7846=m # CONFIG_TOUCHSCREEN_AR1021_I2C is not set CONFIG_TOUCHSCREEN_ATMEL_MXT=m # CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set @@ -6410,9 +6483,9 @@ CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m # CONFIG_TOUCHSCREEN_EKTF2127 is not set CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m -# CONFIG_TOUCHSCREEN_EXC3000 is not set +CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m -# CONFIG_TOUCHSCREEN_GOODIX is not set +CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_GUNZE=m # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set @@ -6479,7 +6552,7 @@ CONFIG_TRUSTED_KEYS=m # CONFIG_TS4800_WATCHDOG is not set # CONFIG_TSL2583 is not set CONFIG_TSL2772=m -# CONFIG_TSL4531 is not set +CONFIG_TSL4531=m # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set CONFIG_TULIP=m @@ -6497,6 +6570,7 @@ CONFIG_TUNE_DEFAULT=y # CONFIG_TUNE_ZEC12 is not set CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_TURRIS_MOX_RWTM=m # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set CONFIG_TYPEC_DP_ALTMODE=m @@ -6511,6 +6585,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -6571,6 +6646,7 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m CONFIG_USB_CHIPIDEA_HOST=y CONFIG_USB_CHIPIDEA=m @@ -6595,6 +6671,7 @@ CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_OBEX=y # CONFIG_USB_CONFIGFS_RNDIS is not set CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONN_GPIO=m CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -6793,9 +6870,10 @@ CONFIG_USB_NET_SMSC95XX=m CONFIG_USB_NET_SR9700=m # CONFIG_USB_NET_SR9800 is not set CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD_PCI=m CONFIG_USB_OHCI_HCD_PLATFORM=m -CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_SSB is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set @@ -6815,7 +6893,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597 is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -6953,7 +7030,7 @@ CONFIG_VALIDATE_FS_PARSER=y # CONFIG_VCNL4000 is not set CONFIG_VCNL4035=m CONFIG_VDSO=y -# CONFIG_VEML6070 is not set +CONFIG_VEML6070=m CONFIG_VETH=m CONFIG_VEXPRESS_SYSCFG=y # CONFIG_VF610_ADC is not set @@ -7059,6 +7136,7 @@ CONFIG_VIDEO_SAA7164=m CONFIG_VIDEO_SOLO6X10=m CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m +CONFIG_VIDEO_SUN4I_CSI=m CONFIG_VIDEO_SUN6I_CSI=m CONFIG_VIDEO_SUNXI_CEDRUS=m CONFIG_VIDEO_SUNXI=y @@ -7083,6 +7161,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -7132,6 +7211,7 @@ CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_GPIO=m # CONFIG_W1_MASTER_MATROX is not set # CONFIG_W1_MASTER_MXC is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -7142,6 +7222,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-aarch64-debug-rhel.config b/kernel-aarch64-debug-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-aarch64-debug-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel-aarch64.config b/kernel-aarch64-fedora.config index 90487f75c..0574ba3e3 100644 --- a/kernel-aarch64.config +++ b/kernel-aarch64-fedora.config @@ -129,6 +129,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -138,6 +139,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -204,7 +206,7 @@ CONFIG_AMIGA_PARTITION=y # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set CONFIG_APDS9802ALS=m -# CONFIG_APDS9960 is not set +CONFIG_APDS9960=m # CONFIG_APPLE_PROPERTIES is not set # CONFIG_APPLICOM is not set CONFIG_APQ_GCC_8084=y @@ -215,6 +217,7 @@ CONFIG_AR5523=m # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_AGILEX is not set # CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_ASPEED is not set # CONFIG_ARCH_BCM_21664 is not set # CONFIG_ARCH_BCM_23550 is not set # CONFIG_ARCH_BCM_281XX is not set @@ -238,15 +241,11 @@ CONFIG_ARCH_BCM=y # CONFIG_ARCH_FOOTBRIDGE is not set CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y CONFIG_ARCH_HISI=y -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_K3 is not set -# CONFIG_ARCH_KS8695 is not set CONFIG_ARCH_LAYERSCAPE=y # CONFIG_ARCH_LG1K is not set -# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_MEDIATEK is not set CONFIG_ARCH_MESON=y CONFIG_ARCH_MULTIPLATFORM=y @@ -276,7 +275,6 @@ CONFIG_ARCH_THUNDER2=y CONFIG_ARCH_THUNDER=y # CONFIG_ARCH_UNIPHIER is not set CONFIG_ARCH_VEXPRESS=y -# CONFIG_ARCH_W90X900 is not set CONFIG_ARCH_XGENE=y # CONFIG_ARCH_ZX is not set CONFIG_ARCH_ZYNQMP=y @@ -314,16 +312,19 @@ CONFIG_ARM64_RAS_EXTN=y # CONFIG_ARM64_RELOC_TEST is not set CONFIG_ARM64_SVE=y CONFIG_ARM64_SW_TTBR0_PAN=y +CONFIG_ARM64_TAGGED_ADDR_ABI=y CONFIG_ARM64_UAO=y # CONFIG_ARM64_VA_BITS_39 is not set CONFIG_ARM64_VA_BITS=48 CONFIG_ARM64_VA_BITS_48=y +# CONFIG_ARM64_VA_BITS_52 is not set CONFIG_ARM64_VHE=y CONFIG_ARM64=y CONFIG_ARMADA_37XX_RWTM_MBOX=m CONFIG_ARMADA_37XX_WATCHDOG=m CONFIG_ARMADA_AP806_SYSCON=y CONFIG_ARMADA_THERMAL=m +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m CONFIG_ARM_AMBA=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER=y @@ -354,10 +355,12 @@ CONFIG_ARM_MHU=m CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_FW=y CONFIG_ARM_PSCI=y # CONFIG_ARM_PTDUMP_DEBUGFS is not set CONFIG_ARM_QCOM_CPUFREQ_HW=m -CONFIG_ARM_QCOM_CPUFREQ_KRYO=m +CONFIG_ARM_QCOM_CPUFREQ_NVMEM=m CONFIG_ARM_RASPBERRYPI_CPUFREQ=m CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SBSA_WATCHDOG=m @@ -424,6 +427,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -540,9 +544,9 @@ CONFIG_BATTERY_BQ27XXX=m # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set +CONFIG_BATTERY_GAUGE_LTC2941=m # CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_MAX17040 is not set +CONFIG_BATTERY_MAX17040=m # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_SBS=m @@ -595,6 +599,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -794,18 +799,23 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set CONFIG_CAN_FLEXCAN=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m -# CONFIG_CAN_MCP251X is not set +CONFIG_CAN_MCP251X=m CONFIG_CAN_PEAK_PCIEC=y CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m @@ -941,6 +951,7 @@ CONFIG_CLK_BCM2835=y CONFIG_CLKDEV_LOOKUP=y # CONFIG_CLK_HSDK is not set CONFIG_CLK_IMX8MM=y +CONFIG_CLK_IMX8MN=y CONFIG_CLK_IMX8MQ=y CONFIG_CLK_IMX8QXP=y # CONFIG_CLK_QORIQ is not set @@ -1046,6 +1057,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -1056,7 +1068,6 @@ CONFIG_CPU_THERMAL=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -1071,10 +1082,12 @@ CONFIG_CRC8=m CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y +CONFIG_CROS_EC_CHARDEV=m # CONFIG_CROS_EC_DEBUGFS is not set CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m # CONFIG_CROS_EC_LIGHTBAR is not set +CONFIG_CROS_EC=m CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_EC_SPI=m @@ -1086,9 +1099,8 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_AEGIS128_SIMD=y CONFIG_CRYPTO_AES_ARM64_BS=m CONFIG_CRYPTO_AES_ARM64_CE_BLK=y CONFIG_CRYPTO_AES_ARM64_CE_CCM=y @@ -1131,6 +1143,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCP=y CONFIG_CRYPTO_DEV_CCREE=m CONFIG_CRYPTO_DEV_CHELSIO=m @@ -1151,6 +1164,7 @@ CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y # CONFIG_CRYPTO_DEV_HISI_SEC is not set +# CONFIG_CRYPTO_DEV_HISI_ZIP is not set CONFIG_CRYPTO_DEV_MARVELL_CESA=m # CONFIG_CRYPTO_DEV_MXS_DCP is not set CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m @@ -1171,6 +1185,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -1192,8 +1207,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NHPOLY1305_NEON=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m @@ -1222,7 +1235,7 @@ CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SHA512_ARM64_CE=m CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM=y -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3_ARM64_CE=m CONFIG_CRYPTO_SM3=m @@ -1276,11 +1289,10 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y @@ -1356,6 +1368,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set CONFIG_DMADEVICES=y @@ -1371,6 +1384,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1398,6 +1412,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1442,6 +1457,7 @@ CONFIG_DRM_ETNAVIV=m CONFIG_DRM_ETNAVIV_THERMAL=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set # CONFIG_DRM_HISI_HIBMC is not set @@ -1489,13 +1505,17 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set CONFIG_DRM_PANEL_RAYDIUM_RM68200=m CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1507,10 +1527,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SEIKO_43WVF1G=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m CONFIG_DRM_PANEL=y @@ -1535,12 +1559,11 @@ CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN6I_DSI=m CONFIG_DRM_SUN8I_DW_HDMI=m CONFIG_DRM_SUN8I_MIXER=m -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_TEGRA_DEBUG is not set CONFIG_DRM_TEGRA=m CONFIG_DRM_TEGRA_STAGING=y # CONFIG_DRM_THINE_THC63LVD1024 is not set -CONFIG_DRM_TINYDRM=m CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1671,6 +1694,7 @@ CONFIG_EARLY_PRINTK=y CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set +CONFIG_EDAC_BLUEFIELD=m # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_GHES=y CONFIG_EDAC_LAYERSCAPE=m @@ -1693,7 +1717,8 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_CAPSULE_LOADER is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set -# CONFIG_EFI_TEST is not set +# CONFIG_EFI_RCI2_TABLE is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_VARS_PSTORE=y @@ -1718,6 +1743,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1886,6 +1912,7 @@ CONFIG_FSL_DPAA=y CONFIG_FSL_EDMA=m CONFIG_FSL_ENETC_HW_TIMESTAMPING=y CONFIG_FSL_ENETC=m +# CONFIG_FSL_ENETC_MDIO is not set CONFIG_FSL_ENETC_PTP_CLOCK=m CONFIG_FSL_ENETC_VF=m CONFIG_FSL_ERRATUM_A008585=y @@ -1899,6 +1926,9 @@ CONFIG_FSL_QDMA=m # CONFIG_FSL_XGMAC_MDIO is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1995,6 +2025,7 @@ CONFIG_GPIO_MB86S7X=m # CONFIG_GPIO_MC33880 is not set CONFIG_GPIO_MLXBF=m # CONFIG_GPIO_MOCKUP is not set +CONFIG_GPIO_MOXTET=m CONFIG_GPIO_MPC8XXX=y CONFIG_GPIO_MVEBU=y CONFIG_GPIO_PCA953X_IRQ=y @@ -2017,6 +2048,7 @@ CONFIG_GPIO_TEGRA=y CONFIG_GPIO_THUNDERX=m # CONFIG_GPIO_TPIC2810 is not set CONFIG_GPIO_TPS65086=m +CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS68470=y # CONFIG_GPIO_TS4900 is not set CONFIG_GPIO_VIPERBOARD=m @@ -2045,10 +2077,10 @@ CONFIG_HARDENED_USERCOPY=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HD44780=m -# CONFIG_HDC100X is not set +CONFIG_HDC100X=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y # CONFIG_HERMES is not set CONFIG_HERMES_PRISM=y @@ -2077,6 +2109,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2167,7 +2200,6 @@ CONFIG_HID_ZEROPLUS=m CONFIG_HID_ZYDACRON=m CONFIG_HIGH_RES_TIMERS=y # CONFIG_HIPPI is not set -CONFIG_HISI_KIRIN_DW_DSI=m CONFIG_HISILICON_ERRATUM_161010101=y CONFIG_HISILICON_ERRATUM_161600802=y CONFIG_HISILICON_IRQ_MBIGEN=y @@ -2199,7 +2231,7 @@ CONFIG_HT16K33=m # CONFIG_HTC_I2CPLD is not set # CONFIG_HTC_PASIC3 is not set CONFIG_HTS221=m -# CONFIG_HTU21 is not set +CONFIG_HTU21=m CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y # CONFIG_HVC_DCC is not set @@ -2246,7 +2278,6 @@ CONFIG_I2C_ALGOPCF=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m CONFIG_I2C_ARB_GPIO_CHALLENGE=m -# CONFIG_I2C_BCM2048 is not set CONFIG_I2C_BCM2835=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CADENCE=m @@ -2400,11 +2431,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2420,7 +2453,9 @@ CONFIG_IMA=y # CONFIG_IMG_ASCII_LCD is not set CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m +# CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set +CONFIG_IMX_DSP=y CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y # CONFIG_IMX_IPUV3_CORE is not set @@ -2558,6 +2593,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m CONFIG_INTERCONNECT=m +# CONFIG_INTERCONNECT_QCOM_QCS404 is not set CONFIG_INTERCONNECT_QCOM_SDM845=m CONFIG_INTERCONNECT_QCOM=y # CONFIG_INTERVAL_TREE_TEST is not set @@ -2575,6 +2611,7 @@ CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2820,6 +2857,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2858,6 +2896,7 @@ CONFIG_KARMA_PARTITION=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2865,6 +2904,7 @@ CONFIG_KERNEL_MODE_NEON=y # CONFIG_KERNEL_UNCOMPRESSED is not set # CONFIG_KERNEL_XZ is not set # CONFIG_KEXEC_FILE is not set +CONFIG_KEXEC_SIG=y CONFIG_KEXEC=y CONFIG_KEYBOARD_ADC=m # CONFIG_KEYBOARD_ADP5588 is not set @@ -2920,9 +2960,6 @@ CONFIG_KPROBE_EVENTS=y CONFIG_KPROBES=y CONFIG_KPSS_XCC=m CONFIG_KRAITCC=m -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set @@ -2998,7 +3035,7 @@ CONFIG_LEDS_NIC78BX=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_PCA9532=m # CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set +CONFIG_LEDS_PCA963X=m CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m # CONFIG_LEDS_SPI_BYTE is not set @@ -3051,7 +3088,7 @@ CONFIG_LIBNVDIMM=m # CONFIG_LIQUIDIO is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -3060,7 +3097,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_EVENT_COUNTS is not set # CONFIG_LOCK_STAT is not set @@ -3115,7 +3154,7 @@ CONFIG_MAC_PARTITION=y CONFIG_MACSEC=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -# CONFIG_MAG3110 is not set +CONFIG_MAG3110=m CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ=y @@ -3144,6 +3183,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -3157,8 +3197,8 @@ CONFIG_MB1232=m # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCORE2 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set +CONFIG_MCP320X=m +CONFIG_MCP3422=m CONFIG_MCP3911=m CONFIG_MCP4018=m CONFIG_MCP41010=m @@ -3237,6 +3277,7 @@ CONFIG_MEMSTICK_TIFM_MS=m # CONFIG_MEN_A21_WDT is not set CONFIG_MESON_CANVAS=m # CONFIG_MESON_CLK_MEASURE is not set +CONFIG_MESON_EE_PM_DOMAINS=y CONFIG_MESON_EFUSE=m CONFIG_MESON_GXBB_WATCHDOG=m CONFIG_MESON_GXL_PHY=m @@ -3270,8 +3311,8 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set -CONFIG_MFD_CROS_EC_CHARDEV=m -CONFIG_MFD_CROS_EC=m +CONFIG_MFD_CROS_EC_DEV=m +# CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9052_SPI is not set @@ -3388,6 +3429,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXBF_TMFIFO=m @@ -3447,6 +3490,7 @@ CONFIG_MMC_SDHCI_IPROC=m CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_MSM=m CONFIG_MMC_SDHCI_OF_ARASAN=m +# 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_OF_ESDHC=m @@ -3470,6 +3514,7 @@ CONFIG_MMC_VUB300=m CONFIG_MMC_WBSD=m CONFIG_MMC=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set @@ -3504,6 +3549,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +CONFIG_MOXTET=m CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set # CONFIG_MPL3115 is not set @@ -3580,6 +3626,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3697,12 +3744,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3876,6 +3925,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3929,6 +3979,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_NET_VENDOR_RDC=y @@ -4095,10 +4146,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -4158,6 +4209,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set CONFIG_NODES_SHIFT=9 # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y @@ -4171,7 +4223,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set CONFIG_NOUVEAU_PLATFORM_DRIVER=y CONFIG_NOZOMI=m -CONFIG_NR_CPUS=256 +CONFIG_NR_CPUS=4096 CONFIG_NS83820=m # CONFIG_NTB is not set # CONFIG_NTFS_FS is not set @@ -4235,7 +4287,7 @@ CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPT3001=m CONFIG_OPTEE=m CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -4327,6 +4379,7 @@ CONFIG_PCI_AARDVARK=y # CONFIG_PCI_DEBUG is not set CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y +# CONFIG_PCIE_AL is not set # CONFIG_PCIE_ALTERA is not set CONFIG_PCIE_ARMADA_8K=y # CONFIG_PCIEASPM_DEBUG is not set @@ -4351,6 +4404,7 @@ CONFIG_PCIEPORTBUS=y CONFIG_PCIE_PTM=y CONFIG_PCIE_QCOM=y # CONFIG_PCIE_ROCKCHIP_HOST is not set +CONFIG_PCIE_TEGRA194=m CONFIG_PCIE_XILINX_NWL=y CONFIG_PCIE_XILINX=y # CONFIG_PCI_FTPCI100 is not set @@ -4451,6 +4505,7 @@ CONFIG_PHY_ROCKCHIP_USB=m CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_SUN6I_MIPI_DPHY=m # CONFIG_PHY_SUN9I_USB is not set +CONFIG_PHY_TEGRA194_P2U=m CONFIG_PHY_TEGRA_XUSB=m # CONFIG_PHY_TUSB1210 is not set CONFIG_PHY_XGENE=y @@ -4501,6 +4556,7 @@ CONFIG_PINCTRL_QCOM_SPMI_PMIC=y # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_QDF2XXX=y CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set CONFIG_PINCTRL_SDM845=y CONFIG_PINCTRL_SINGLE=y @@ -4606,7 +4662,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4658,7 +4713,7 @@ CONFIG_PWM_HIBVT=m CONFIG_PWM_IMX27=m CONFIG_PWM_IMX_TPM=m CONFIG_PWM_MESON=m -# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_PCA9685=m CONFIG_PWM_ROCKCHIP=m # CONFIG_PWM_STMPE is not set CONFIG_PWM_SUN4I=m @@ -4716,6 +4771,7 @@ CONFIG_QCOM_SMD_RPM=m CONFIG_QCOM_SMEM=m CONFIG_QCOM_SMP2P=m CONFIG_QCOM_SMSM=m +# CONFIG_QCOM_SOCINFO is not set CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m @@ -4773,6 +4829,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set # CONFIG_RANDOM_TRUST_CPU is not set CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4813,13 +4870,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set # CONFIG_RDS is not set CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4875,6 +4933,7 @@ CONFIG_REGULATOR_QCOM_SPMI=m CONFIG_REGULATOR_RK808=y # CONFIG_REGULATOR_SLG51000 is not set CONFIG_REGULATOR_SY8106A=m +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4896,7 +4955,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_RESET_CONTROLLER=y @@ -4905,6 +4964,7 @@ CONFIG_RESET_IMX7=y CONFIG_RESET_MESON_AUDIO_ARB=m CONFIG_RESET_QCOM_AOSS=y CONFIG_RESET_QCOM_PDC=m +CONFIG_RESET_SCMI=y CONFIG_RESET_SIMPLE=y # CONFIG_RESET_TI_SCI is not set CONFIG_RESET_TI_SYSCON=m @@ -5028,6 +5088,7 @@ CONFIG_RTC_DRV_DS3232=m CONFIG_RTC_DRV_EFI=y CONFIG_RTC_DRV_EM3027=m CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_FSL_FTM_ALARM=m # CONFIG_RTC_DRV_FTRTC010 is not set # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set CONFIG_RTC_DRV_HYM8563=m @@ -5048,6 +5109,7 @@ CONFIG_RTC_DRV_MAX6902=m CONFIG_RTC_DRV_MAX6916=m CONFIG_RTC_DRV_MAX77686=m CONFIG_RTC_DRV_MCP795=m +CONFIG_RTC_DRV_MESON_VRTC=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MV=m # CONFIG_RTC_DRV_MXC is not set @@ -5288,6 +5350,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -5316,7 +5380,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -5329,6 +5392,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCMI=m CONFIG_SENSORS_ARM_SCPI=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -5347,7 +5411,7 @@ CONFIG_SENSORS_G760A=m CONFIG_SENSORS_G762=m CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m -# CONFIG_SENSORS_GPIO_FAN is not set +CONFIG_SENSORS_GPIO_FAN=m # CONFIG_SENSORS_HIH6130 is not set # CONFIG_SENSORS_HMC5843_I2C is not set # CONFIG_SENSORS_HMC5843_SPI is not set @@ -5359,6 +5423,7 @@ CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5491,7 +5556,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -5512,6 +5576,7 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LPUART=y # CONFIG_SERIAL_IFX6X60 is not set @@ -5565,13 +5630,12 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set # CONFIG_SI1145 is not set # CONFIG_SI7005 is not set -# CONFIG_SI7020 is not set +CONFIG_SI7020=m CONFIG_SIGNED_PE_FILE_VERIFICATION=y CONFIG_SIMPLE_PM_BUS=y # CONFIG_SIOX is not set @@ -5603,6 +5667,7 @@ CONFIG_SMC91X=m CONFIG_SMC_DIAG=m CONFIG_SMC=m # CONFIG_SM_FTL is not set +CONFIG_SM_GCC_8150=y CONFIG_SMP=y CONFIG_SMSC911X=m CONFIG_SMSC9420=m @@ -5692,7 +5757,8 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set +# CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_PREALLOC_SIZE=4096 @@ -5766,6 +5832,7 @@ CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set CONFIG_SND_SOC_ADAU1761_I2C=m CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU1977_I2C=m CONFIG_SND_SOC_ADAU7002=m # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4118 is not set @@ -5789,21 +5856,22 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m CONFIG_SND_SOC_CS35L34=m CONFIG_SND_SOC_CS35L35=m CONFIG_SND_SOC_CS35L36=m -# CONFIG_SND_SOC_CS4265 is not set +CONFIG_SND_SOC_CS4265=m # CONFIG_SND_SOC_CS4270 is not set -# CONFIG_SND_SOC_CS4271_I2C is not set +CONFIG_SND_SOC_CS4271_I2C=m # CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L51_I2C is not set # CONFIG_SND_SOC_CS42L52 is not set # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set -# CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4341 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_ES7134=m # CONFIG_SND_SOC_ES7241 is not set @@ -5825,6 +5893,7 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y CONFIG_SND_SOC_HDAC_HDA=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set CONFIG_SND_SOC_IMX_AUDMIX=m # CONFIG_SND_SOC_IMX_AUDMUX is not set @@ -5860,6 +5929,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set +CONFIG_SND_SOC_PCM5102A=m CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_SPI=m @@ -5889,6 +5959,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -5924,8 +5995,9 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m # CONFIG_SND_SOC_TEGRA_WM8903 is not set # CONFIG_SND_SOC_TEGRA_WM9712 is not set # CONFIG_SND_SOC_TFA9879 is not set -# CONFIG_SND_SOC_TLV320AIC23_I2C is not set -# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +CONFIG_SND_SOC_TLV320AIC23_I2C=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC23_SPI=m # CONFIG_SND_SOC_TLV320AIC31XX is not set CONFIG_SND_SOC_TLV320AIC32X4_I2C=m CONFIG_SND_SOC_TLV320AIC32X4_SPI=m @@ -5934,6 +6006,7 @@ CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set CONFIG_SND_SOC_WCD9335=m # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set @@ -5941,9 +6014,9 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set -# CONFIG_SND_SOC_WM8731 is not set +CONFIG_SND_SOC_WM8731=m # CONFIG_SND_SOC_WM8737 is not set -# CONFIG_SND_SOC_WM8741 is not set +CONFIG_SND_SOC_WM8741=m # CONFIG_SND_SOC_WM8750 is not set # CONFIG_SND_SOC_WM8753 is not set # CONFIG_SND_SOC_WM8770 is not set @@ -6009,7 +6082,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPARSE_IRQ=y @@ -6201,6 +6273,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m CONFIG_TCG_CRB=y +CONFIG_TCG_FTPM_TEE=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -6273,6 +6346,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -6343,7 +6417,6 @@ CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m CONFIG_TINYDRM_MI0283QT=m -CONFIG_TINYDRM_MIPI_DBI=m CONFIG_TINYDRM_REPAPER=m CONFIG_TINYDRM_ST7586=m CONFIG_TINYDRM_ST7735R=m @@ -6356,7 +6429,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set CONFIG_TMP006=m @@ -6367,7 +6440,7 @@ CONFIG_TMPFS=y # CONFIG_TOUCHSCREEN_AD7877 is not set # CONFIG_TOUCHSCREEN_AD7879 is not set CONFIG_TOUCHSCREEN_ADC=m -# CONFIG_TOUCHSCREEN_ADS7846 is not set +CONFIG_TOUCHSCREEN_ADS7846=m # CONFIG_TOUCHSCREEN_AR1021_I2C is not set CONFIG_TOUCHSCREEN_ATMEL_MXT=m # CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set @@ -6388,9 +6461,9 @@ CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m # CONFIG_TOUCHSCREEN_EKTF2127 is not set CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m -# CONFIG_TOUCHSCREEN_EXC3000 is not set +CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m -# CONFIG_TOUCHSCREEN_GOODIX is not set +CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_GUNZE=m # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set @@ -6457,7 +6530,7 @@ CONFIG_TRUSTED_KEYS=m # CONFIG_TS4800_WATCHDOG is not set # CONFIG_TSL2583 is not set CONFIG_TSL2772=m -# CONFIG_TSL4531 is not set +CONFIG_TSL4531=m # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set CONFIG_TULIP=m @@ -6475,6 +6548,7 @@ CONFIG_TUNE_DEFAULT=y # CONFIG_TUNE_ZEC12 is not set CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_TURRIS_MOX_RWTM=m # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set CONFIG_TYPEC_DP_ALTMODE=m @@ -6489,6 +6563,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -6549,6 +6624,7 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m CONFIG_USB_CHIPIDEA_HOST=y CONFIG_USB_CHIPIDEA=m @@ -6573,6 +6649,7 @@ CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_OBEX=y # CONFIG_USB_CONFIGFS_RNDIS is not set CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONN_GPIO=m CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -6771,9 +6848,10 @@ CONFIG_USB_NET_SMSC95XX=m CONFIG_USB_NET_SR9700=m # CONFIG_USB_NET_SR9800 is not set CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD_PCI=m CONFIG_USB_OHCI_HCD_PLATFORM=m -CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_SSB is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set @@ -6793,7 +6871,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597 is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -6931,7 +7008,7 @@ CONFIG_VALIDATE_FS_PARSER=y # CONFIG_VCNL4000 is not set CONFIG_VCNL4035=m CONFIG_VDSO=y -# CONFIG_VEML6070 is not set +CONFIG_VEML6070=m CONFIG_VETH=m CONFIG_VEXPRESS_SYSCFG=y # CONFIG_VF610_ADC is not set @@ -7037,6 +7114,7 @@ CONFIG_VIDEO_SAA7164=m CONFIG_VIDEO_SOLO6X10=m CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m +CONFIG_VIDEO_SUN4I_CSI=m CONFIG_VIDEO_SUN6I_CSI=m CONFIG_VIDEO_SUNXI_CEDRUS=m CONFIG_VIDEO_SUNXI=y @@ -7061,6 +7139,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -7110,6 +7189,7 @@ CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_GPIO=m # CONFIG_W1_MASTER_MATROX is not set # CONFIG_W1_MASTER_MXC is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -7120,6 +7200,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-aarch64-rhel.config b/kernel-aarch64-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-aarch64-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel-armv7hl-debug.config b/kernel-armv7hl-debug-fedora.config index 1fe8f68d3..ca2ef034c 100644 --- a/kernel-armv7hl-debug.config +++ b/kernel-armv7hl-debug-fedora.config @@ -100,6 +100,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -109,6 +110,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -174,13 +176,12 @@ CONFIG_AMD8111_ETH=m # CONFIG_AMD_IOMMU_DEBUGFS is not set CONFIG_AMD_PHY=m # CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set CONFIG_AMIGA_PARTITION=y CONFIG_AMX3_PM=m # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set CONFIG_APDS9802ALS=m -# CONFIG_APDS9960 is not set +CONFIG_APDS9960=m # CONFIG_APM_EMULATION is not set # CONFIG_APPLE_PROPERTIES is not set # CONFIG_APPLICOM is not set @@ -192,6 +193,7 @@ CONFIG_AR5523=m # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_ALPINE is not set # CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_ASPEED is not set # CONFIG_ARCH_AT91 is not set # CONFIG_ARCH_BCM_21664 is not set # CONFIG_ARCH_BCM_23550 is not set @@ -220,13 +222,9 @@ CONFIG_ARCH_EXYNOS=y CONFIG_ARCH_HAS_TICK_BROADCAST=y CONFIG_ARCH_HIGHBANK=y # CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_KEYSTONE is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_MDM9615 is not set # CONFIG_ARCH_MEDIATEK is not set CONFIG_ARCH_MESON=y @@ -236,6 +234,7 @@ CONFIG_ARCH_MSM8960=y CONFIG_ARCH_MSM8974=y CONFIG_ARCH_MSM8X60=y CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_MULTI_V5 is not set # CONFIG_ARCH_MULTI_V6 is not set CONFIG_ARCH_MULTI_V7=y CONFIG_ARCH_MVEBU=y @@ -274,7 +273,6 @@ CONFIG_ARCH_VEXPRESS_SPC=y CONFIG_ARCH_VEXPRESS_TC2_PM=y CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_VIRT=y -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCH_WM8850 is not set # CONFIG_ARCH_ZX is not set CONFIG_ARCH_ZYNQ=y @@ -287,6 +285,7 @@ CONFIG_ARM64_PA_BITS_48=y CONFIG_ARMADA_37XX_RWTM_MBOX=m # CONFIG_ARMADA_37XX_WATCHDOG is not set CONFIG_ARMADA_THERMAL=m +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y @@ -348,10 +347,11 @@ CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_FW=y CONFIG_ARM_PSCI=y CONFIG_ARM_PTDUMP_DEBUGFS=y CONFIG_ARM_QCOM_CPUFREQ_HW=m -CONFIG_ARM_QCOM_CPUFREQ_KRYO=m CONFIG_ARM_RASPBERRYPI_CPUFREQ=m CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SCMI_CPUFREQ=m @@ -367,6 +367,7 @@ CONFIG_ARM_SPE_PMU=m CONFIG_ARM_STI_CPUFREQ=m CONFIG_ARM_TEGRA124_CPUFREQ=y CONFIG_ARM_TEGRA20_CPUFREQ=m +CONFIG_ARM_TEGRA20_DEVFREQ=m CONFIG_ARM_TEGRA_DEVFREQ=m CONFIG_ARM_THUMBEE=y CONFIG_ARM_THUMB=y @@ -422,6 +423,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -545,9 +547,9 @@ CONFIG_BATTERY_DA9052=m # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set +CONFIG_BATTERY_GAUGE_LTC2941=m # CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_MAX17040 is not set +CONFIG_BATTERY_MAX17040=m # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_OLPC=m @@ -602,6 +604,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -802,18 +805,23 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set CONFIG_CAN_FLEXCAN=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m -# CONFIG_CAN_MCP251X is not set +CONFIG_CAN_MCP251X=m CONFIG_CAN_PEAK_PCIEC=y CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m @@ -845,7 +853,6 @@ CONFIG_CARL9170_DEBUGFS=y CONFIG_CARL9170_LEDS=y CONFIG_CARL9170=m CONFIG_CASSINI=m -CONFIG_CAVIUM_TX2_ERRATUM_219=y CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set @@ -1043,6 +1050,7 @@ CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -1054,7 +1062,6 @@ CONFIG_CPU_THERMAL=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -1069,10 +1076,12 @@ CONFIG_CRC8=m CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y +CONFIG_CROS_EC_CHARDEV=m CONFIG_CROS_EC_DEBUGFS=m CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m # CONFIG_CROS_EC_LIGHTBAR is not set +CONFIG_CROS_EC=m CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_EC_SPI=m @@ -1083,9 +1092,8 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_AEGIS128_SIMD=y CONFIG_CRYPTO_AES_ARM_BS=y # CONFIG_CRYPTO_AES_ARM_CE is not set CONFIG_CRYPTO_AES_ARM=y @@ -1120,6 +1128,7 @@ CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCREE=m CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_CHELSIO_TLS=m @@ -1151,6 +1160,7 @@ CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set CONFIG_CRYPTO_DEV_SAHARA=m # CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_STM32_CRC=m @@ -1167,6 +1177,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -1187,8 +1198,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NHPOLY1305_NEON=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m @@ -1215,7 +1224,7 @@ CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM=y -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -1269,17 +1278,16 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KOBJECT is not set @@ -1362,6 +1370,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1379,6 +1388,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1406,6 +1416,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1466,6 +1477,7 @@ CONFIG_DRM_EXYNOS_VIDI=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FSL_DCU is not set +CONFIG_DRM_GM12U320=m CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set # CONFIG_DRM_HISI_HIBMC is not set @@ -1515,12 +1527,6 @@ CONFIG_DRM_OMAP_ENCODER_OPA362=m CONFIG_DRM_OMAP_ENCODER_TPD12S015=m CONFIG_DRM_OMAP=m CONFIG_DRM_OMAP_PANEL_DSI_CM=m -CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02=m -CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11=m -CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m -CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m -CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m -CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m CONFIG_DRM_PANEL_ARM_VERSATILE=m CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m @@ -1529,13 +1535,17 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set CONFIG_DRM_PANEL_RAYDIUM_RM68200=m CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1547,10 +1557,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SEIKO_43WVF1G=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1578,13 +1592,12 @@ CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN6I_DSI=m CONFIG_DRM_SUN8I_DW_HDMI=m CONFIG_DRM_SUN8I_MIXER=m -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_TEGRA_DEBUG is not set CONFIG_DRM_TEGRA=m CONFIG_DRM_TEGRA_STAGING=y # CONFIG_DRM_THINE_THC63LVD1024 is not set CONFIG_DRM_TILCDC=m -CONFIG_DRM_TINYDRM=m CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1718,6 +1731,7 @@ CONFIG_EARLY_PRINTK=y CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set +CONFIG_EDAC_ARMADA_XP=y # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_GHES=y CONFIG_EDAC_HIGHBANK_L2=m @@ -1738,7 +1752,8 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_CAPSULE_LOADER is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y -# CONFIG_EFI_TEST is not set +# CONFIG_EFI_RCI2_TABLE is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_VARS_PSTORE=y @@ -1763,6 +1778,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1935,12 +1951,16 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_IMX8_DDR_PMU is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set # CONFIG_FSL_XGMAC_MDIO is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -2035,6 +2055,7 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MB86S7X is not set CONFIG_GPIO_MC33880=m # CONFIG_GPIO_MOCKUP is not set +CONFIG_GPIO_MOXTET=m # CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_MVEBU=y CONFIG_GPIO_OMAP=y @@ -2092,11 +2113,11 @@ CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HD44780=m -# CONFIG_HDC100X is not set +CONFIG_HDC100X=m CONFIG_HDQ_MASTER_OMAP=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y # CONFIG_HERMES is not set CONFIG_HERMES_PRISM=y @@ -2123,6 +2144,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2242,7 +2264,7 @@ CONFIG_HT16K33=m # CONFIG_HTC_I2CPLD is not set # CONFIG_HTC_PASIC3 is not set CONFIG_HTS221=m -# CONFIG_HTU21 is not set +CONFIG_HTU21=m CONFIG_HUGETLBFS=y # CONFIG_HUGETLB_PAGE is not set # CONFIG_HVC_DCC is not set @@ -2290,7 +2312,6 @@ CONFIG_I2C_ALGOPCF=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m CONFIG_I2C_ARB_GPIO_CHALLENGE=m -# CONFIG_I2C_BCM2048 is not set CONFIG_I2C_BCM2835=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CADENCE=m @@ -2445,11 +2466,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2465,7 +2488,9 @@ CONFIG_IMA=y # CONFIG_IMG_ASCII_LCD is not set CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m +# CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set +CONFIG_IMX_DSP=y CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y CONFIG_IMX_IPUV3_CORE=m @@ -2611,6 +2636,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERCONNECT is not set +# CONFIG_INTERCONNECT_QCOM_QCS404 is not set # CONFIG_INTERVAL_TREE_TEST is not set CONFIG_INV_MPU6050_I2C=m CONFIG_INV_MPU6050_IIO=m @@ -2626,6 +2652,7 @@ CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2871,6 +2898,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2910,6 +2938,7 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2977,9 +3006,6 @@ CONFIG_KPROBE_EVENTS=y CONFIG_KPROBES=y CONFIG_KPSS_XCC=m CONFIG_KRAITCC=m -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set CONFIG_KS8851=m @@ -3058,7 +3084,7 @@ CONFIG_LEDS_NS2=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_PCA9532=m # CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set +CONFIG_LEDS_PCA963X=m CONFIG_LEDS_PM8058=m CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m @@ -3111,7 +3137,7 @@ CONFIG_LIBFCOE=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -3120,7 +3146,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y CONFIG_LOCK_EVENT_COUNTS=y # CONFIG_LOCK_STAT is not set @@ -3196,7 +3224,7 @@ CONFIG_MAC_PARTITION=y CONFIG_MACSEC=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -# CONFIG_MAG3110 is not set +CONFIG_MAG3110=m CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ=y @@ -3225,6 +3253,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -3237,8 +3266,8 @@ CONFIG_MB1232=m # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCORE2 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set +CONFIG_MCP320X=m +CONFIG_MCP3422=m CONFIG_MCP3911=m CONFIG_MCP4018=m CONFIG_MCP41010=m @@ -3316,6 +3345,7 @@ CONFIG_MEMSTICK_TIFM_MS=m # CONFIG_MEN_A21_WDT is not set CONFIG_MESON_CANVAS=m # CONFIG_MESON_CLK_MEASURE is not set +CONFIG_MESON_EE_PM_DOMAINS=y CONFIG_MESON_EFUSE=m # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set @@ -3349,8 +3379,8 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set -CONFIG_MFD_CROS_EC_CHARDEV=m -CONFIG_MFD_CROS_EC=m +CONFIG_MFD_CROS_EC_DEV=m +# CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set CONFIG_MFD_DA9052_I2C=y CONFIG_MFD_DA9052_SPI=y @@ -3472,6 +3502,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -3532,6 +3564,7 @@ CONFIG_MMC_SDHCI_IPROC=m CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_MSM=m CONFIG_MMC_SDHCI_OF_ARASAN=m +# 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_OF_ESDHC=m @@ -3563,6 +3596,7 @@ CONFIG_MMIOTRACE=y CONFIG_MMP_PDMA=y CONFIG_MMP_TDMA=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_FORCE_UNLOAD=y @@ -3597,6 +3631,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +CONFIG_MOXTET=m CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set CONFIG_MPL3115=m @@ -3677,6 +3712,7 @@ CONFIG_MTD_NAND_GPMI_NAND=m CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MESON is not set CONFIG_MTD_NAND_MXC=m +# CONFIG_MTD_NAND_MXIC is not set CONFIG_MTD_NAND_NANDSIM=m CONFIG_MTD_NAND_OMAP2=m CONFIG_MTD_NAND_OMAP_BCH=y @@ -3798,12 +3834,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3976,6 +4014,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -4030,6 +4069,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -4195,10 +4235,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -4258,6 +4298,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y CONFIG_NO_HZ=y @@ -4364,7 +4405,7 @@ CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPT3001=m CONFIG_OPTEE=m CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -4624,6 +4665,7 @@ CONFIG_PINCTRL_QCOM_SSBI_PMIC=m # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SDM845 is not set CONFIG_PINCTRL_SINGLE=y @@ -4736,7 +4778,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4789,7 +4830,7 @@ CONFIG_PWM_IMX27=m CONFIG_PWM_IMX_TPM=m CONFIG_PWM_MESON=m CONFIG_PWM_OMAP_DMTIMER=m -# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_PCA9685=m CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SAMSUNG=m CONFIG_PWM_STI=m @@ -4820,7 +4861,7 @@ CONFIG_QCOM_CLK_APCS_MSM8916=m CONFIG_QCOM_CLK_RPM=m CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m -# CONFIG_QCOM_COMMAND_DB is not set +CONFIG_QCOM_COMMAND_DB=y # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set CONFIG_QCOM_FASTRPC=m @@ -4842,6 +4883,7 @@ CONFIG_QCOM_SMD_RPM=m # CONFIG_QCOM_SMEM is not set CONFIG_QCOM_SMP2P=m CONFIG_QCOM_SMSM=m +CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m @@ -4897,6 +4939,7 @@ CONFIG_RADIO_WL1273=m # CONFIG_RAID6_PQ_BENCHMARK is not set CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set # CONFIG_RANDOM_TRUST_CPU is not set CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4938,13 +4981,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y # CONFIG_RDMA_RXE is not set -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set # CONFIG_RDS is not set # CONFIG_RDS_RDMA is not set CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -5014,6 +5058,7 @@ CONFIG_REGULATOR_STM32_PWR=y CONFIG_REGULATOR_STM32_VREFBUF=m CONFIG_REGULATOR_STPMIC1=m CONFIG_REGULATOR_SY8106A=m +# CONFIG_REGULATOR_SY8824X is not set CONFIG_REGULATOR_TI_ABB=m CONFIG_REGULATOR_TPS51632=m CONFIG_REGULATOR_TPS62360=m @@ -5043,7 +5088,7 @@ CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_RESET_CONTROLLER=y @@ -5051,6 +5096,7 @@ CONFIG_RESET_IMX7=y CONFIG_RESET_MESON_AUDIO_ARB=m # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=m +CONFIG_RESET_SCMI=y CONFIG_RESET_SIMPLE=y CONFIG_RESET_STM32MP157=y # CONFIG_RESET_TI_SCI is not set @@ -5201,6 +5247,7 @@ CONFIG_RTC_DRV_MAX8997=m CONFIG_RTC_DRV_MC13XXX=m # CONFIG_RTC_DRV_MCP795 is not set CONFIG_RTC_DRV_MESON=m +CONFIG_RTC_DRV_MESON_VRTC=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MV=m # CONFIG_RTC_DRV_MXC is not set @@ -5450,6 +5497,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y # CONFIG_SECURITY_INFINIBAND is not set # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -5477,7 +5526,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -5490,6 +5538,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCMI=m CONFIG_SENSORS_ARM_SCPI=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -5522,6 +5571,7 @@ CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5656,7 +5706,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y CONFIG_SERIAL_8250_OMAP=y @@ -5682,6 +5731,7 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LPUART=y # CONFIG_SERIAL_IFX6X60 is not set @@ -5740,7 +5790,6 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -5776,6 +5825,7 @@ CONFIG_SMC91X=m CONFIG_SMC_DIAG=m CONFIG_SMC=m # CONFIG_SM_FTL is not set +# CONFIG_SM_GCC_8150 is not set CONFIG_SMP_ON_UP=y CONFIG_SMP=y CONFIG_SMSC911X=m @@ -5868,7 +5918,8 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set +# CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_PREALLOC_SIZE=4096 @@ -5950,6 +6001,7 @@ CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set CONFIG_SND_SOC_ADAU1761_I2C=m CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU1977_I2C=m CONFIG_SND_SOC_ADAU7002=m CONFIG_SND_SOC_ADI_AXI_I2S=m CONFIG_SND_SOC_ADI_AXI_SPDIF=m @@ -5976,9 +6028,9 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m CONFIG_SND_SOC_CS35L34=m CONFIG_SND_SOC_CS35L35=m CONFIG_SND_SOC_CS35L36=m -# CONFIG_SND_SOC_CS4265 is not set +CONFIG_SND_SOC_CS4265=m # CONFIG_SND_SOC_CS4270 is not set -# CONFIG_SND_SOC_CS4271_I2C is not set +CONFIG_SND_SOC_CS4271_I2C=m # CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L51_I2C is not set @@ -5991,6 +6043,7 @@ CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m CONFIG_SND_SOC_DAVINCI_MCASP=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_ES7134=m @@ -6015,6 +6068,7 @@ CONFIG_SND_SOC_HDAC_HDA=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_IMX_AUDMIX is not set CONFIG_SND_SOC_IMX_AUDMUX=m @@ -6032,6 +6086,7 @@ CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MAX98088=m CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98357A=m CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set @@ -6065,6 +6120,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set +CONFIG_SND_SOC_PCM5102A=m CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_SPI=m @@ -6094,6 +6150,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -6149,6 +6206,7 @@ CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set CONFIG_SND_SOC_TWL4030=m CONFIG_SND_SOC_TWL6040=m +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -6157,7 +6215,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8728 is not set CONFIG_SND_SOC_WM8731=m # CONFIG_SND_SOC_WM8737 is not set -# CONFIG_SND_SOC_WM8741 is not set +CONFIG_SND_SOC_WM8741=m # CONFIG_SND_SOC_WM8750 is not set CONFIG_SND_SOC_WM8753=m # CONFIG_SND_SOC_WM8770 is not set @@ -6250,7 +6308,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPARSEMEM_MANUAL=y @@ -6468,6 +6525,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m CONFIG_TCG_CRB=y +CONFIG_TCG_FTPM_TEE=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -6539,6 +6597,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -6615,7 +6674,6 @@ CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m CONFIG_TINYDRM_MI0283QT=m -CONFIG_TINYDRM_MIPI_DBI=m CONFIG_TINYDRM_REPAPER=m CONFIG_TINYDRM_ST7586=m CONFIG_TINYDRM_ST7735R=m @@ -6631,7 +6689,7 @@ CONFIG_TI_SOC_THERMAL=m CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set CONFIG_TMP006=m @@ -6664,9 +6722,9 @@ CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m # CONFIG_TOUCHSCREEN_EKTF2127 is not set CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m -# CONFIG_TOUCHSCREEN_EXC3000 is not set +CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m -# CONFIG_TOUCHSCREEN_GOODIX is not set +CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_GUNZE=m # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set @@ -6734,7 +6792,7 @@ CONFIG_TRUSTED_KEYS=m # CONFIG_TS4800_WATCHDOG is not set # CONFIG_TSL2583 is not set CONFIG_TSL2772=m -# CONFIG_TSL4531 is not set +CONFIG_TSL4531=m # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set CONFIG_TULIP=m @@ -6752,6 +6810,7 @@ CONFIG_TUNE_DEFAULT=y # CONFIG_TUNE_ZEC12 is not set CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_TURRIS_MOX_RWTM=m CONFIG_TWL4030_CORE=y CONFIG_TWL4030_MADC=m CONFIG_TWL4030_POWER=y @@ -6773,6 +6832,7 @@ CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m # CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -6833,6 +6893,7 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m CONFIG_USB_CHIPIDEA_HOST=y CONFIG_USB_CHIPIDEA=m @@ -6857,6 +6918,7 @@ CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_OBEX=y # CONFIG_USB_CONFIGFS_RNDIS is not set CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONN_GPIO=m CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -7070,11 +7132,12 @@ CONFIG_USB_NET_SR9700=m # CONFIG_USB_NET_SR9800 is not set CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_EXYNOS=m +CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD_OMAP3=m CONFIG_USB_OHCI_HCD_PCI=m CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD_STI=m -CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set @@ -7094,7 +7157,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597 is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -7234,7 +7296,7 @@ CONFIG_VALIDATE_FS_PARSER=y # CONFIG_VCNL4000 is not set CONFIG_VCNL4035=m # CONFIG_VDSO is not set -# CONFIG_VEML6070 is not set +CONFIG_VEML6070=m CONFIG_VETH=m CONFIG_VEXPRESS_SYSCFG=y # CONFIG_VF610_ADC is not set @@ -7368,6 +7430,7 @@ CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m # CONFIG_VIDEO_STM32_DCMI is not set CONFIG_VIDEO_STM32_HDMI_CEC=m +CONFIG_VIDEO_SUN4I_CSI=m CONFIG_VIDEO_SUN6I_CSI=m CONFIG_VIDEO_SUNXI_CEDRUS=m CONFIG_VIDEO_SUNXI=y @@ -7392,6 +7455,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -7440,6 +7504,7 @@ CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_GPIO=m # CONFIG_W1_MASTER_MATROX is not set CONFIG_W1_MASTER_MXC=m +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -7450,6 +7515,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-armv7hl.config b/kernel-armv7hl-fedora.config index 1424185f4..f00f13893 100644 --- a/kernel-armv7hl.config +++ b/kernel-armv7hl-fedora.config @@ -100,6 +100,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -109,6 +110,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -174,13 +176,12 @@ CONFIG_AMD8111_ETH=m # CONFIG_AMD_IOMMU_DEBUGFS is not set CONFIG_AMD_PHY=m # CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set CONFIG_AMIGA_PARTITION=y CONFIG_AMX3_PM=m # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set CONFIG_APDS9802ALS=m -# CONFIG_APDS9960 is not set +CONFIG_APDS9960=m # CONFIG_APM_EMULATION is not set # CONFIG_APPLE_PROPERTIES is not set # CONFIG_APPLICOM is not set @@ -192,6 +193,7 @@ CONFIG_AR5523=m # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_ALPINE is not set # CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_ASPEED is not set # CONFIG_ARCH_AT91 is not set # CONFIG_ARCH_BCM_21664 is not set # CONFIG_ARCH_BCM_23550 is not set @@ -220,13 +222,9 @@ CONFIG_ARCH_EXYNOS=y CONFIG_ARCH_HAS_TICK_BROADCAST=y CONFIG_ARCH_HIGHBANK=y # CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set # CONFIG_ARCH_KEYSTONE is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_MDM9615 is not set # CONFIG_ARCH_MEDIATEK is not set CONFIG_ARCH_MESON=y @@ -236,6 +234,7 @@ CONFIG_ARCH_MSM8960=y CONFIG_ARCH_MSM8974=y CONFIG_ARCH_MSM8X60=y CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_MULTI_V5 is not set # CONFIG_ARCH_MULTI_V6 is not set CONFIG_ARCH_MULTI_V7=y CONFIG_ARCH_MVEBU=y @@ -274,7 +273,6 @@ CONFIG_ARCH_VEXPRESS_SPC=y CONFIG_ARCH_VEXPRESS_TC2_PM=y CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_VIRT=y -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCH_WM8850 is not set # CONFIG_ARCH_ZX is not set CONFIG_ARCH_ZYNQ=y @@ -287,6 +285,7 @@ CONFIG_ARM64_PA_BITS_48=y CONFIG_ARMADA_37XX_RWTM_MBOX=m # CONFIG_ARMADA_37XX_WATCHDOG is not set CONFIG_ARMADA_THERMAL=m +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y @@ -348,10 +347,11 @@ CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_FW=y CONFIG_ARM_PSCI=y # CONFIG_ARM_PTDUMP_DEBUGFS is not set CONFIG_ARM_QCOM_CPUFREQ_HW=m -CONFIG_ARM_QCOM_CPUFREQ_KRYO=m CONFIG_ARM_RASPBERRYPI_CPUFREQ=m CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SCMI_CPUFREQ=m @@ -367,6 +367,7 @@ CONFIG_ARM_SPE_PMU=m CONFIG_ARM_STI_CPUFREQ=m CONFIG_ARM_TEGRA124_CPUFREQ=y CONFIG_ARM_TEGRA20_CPUFREQ=m +CONFIG_ARM_TEGRA20_DEVFREQ=m CONFIG_ARM_TEGRA_DEVFREQ=m CONFIG_ARM_THUMBEE=y CONFIG_ARM_THUMB=y @@ -422,6 +423,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -545,9 +547,9 @@ CONFIG_BATTERY_DA9052=m # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set +CONFIG_BATTERY_GAUGE_LTC2941=m # CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_MAX17040 is not set +CONFIG_BATTERY_MAX17040=m # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_OLPC=m @@ -602,6 +604,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -802,18 +805,23 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set CONFIG_CAN_FLEXCAN=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m -# CONFIG_CAN_MCP251X is not set +CONFIG_CAN_MCP251X=m CONFIG_CAN_PEAK_PCIEC=y CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m @@ -845,7 +853,6 @@ CONFIG_CARDMAN_4040=m CONFIG_CARL9170_LEDS=y CONFIG_CARL9170=m CONFIG_CASSINI=m -CONFIG_CAVIUM_TX2_ERRATUM_219=y CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set @@ -1043,6 +1050,7 @@ CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -1054,7 +1062,6 @@ CONFIG_CPU_THERMAL=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -1069,10 +1076,12 @@ CONFIG_CRC8=m CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y +CONFIG_CROS_EC_CHARDEV=m # CONFIG_CROS_EC_DEBUGFS is not set CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m # CONFIG_CROS_EC_LIGHTBAR is not set +CONFIG_CROS_EC=m CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_EC_SPI=m @@ -1083,9 +1092,8 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_AEGIS128_SIMD=y CONFIG_CRYPTO_AES_ARM_BS=y # CONFIG_CRYPTO_AES_ARM_CE is not set CONFIG_CRYPTO_AES_ARM=y @@ -1120,6 +1128,7 @@ CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCREE=m CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_CHELSIO_TLS=m @@ -1151,6 +1160,7 @@ CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set CONFIG_CRYPTO_DEV_SAHARA=m # CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_STM32_CRC=m @@ -1167,6 +1177,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -1187,8 +1198,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NHPOLY1305_NEON=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m @@ -1215,7 +1224,7 @@ CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM=y -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -1269,11 +1278,10 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y @@ -1355,6 +1363,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1372,6 +1381,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1399,6 +1409,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1459,6 +1470,7 @@ CONFIG_DRM_EXYNOS_VIDI=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FSL_DCU is not set +CONFIG_DRM_GM12U320=m CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set # CONFIG_DRM_HISI_HIBMC is not set @@ -1508,12 +1520,6 @@ CONFIG_DRM_OMAP_ENCODER_OPA362=m CONFIG_DRM_OMAP_ENCODER_TPD12S015=m CONFIG_DRM_OMAP=m CONFIG_DRM_OMAP_PANEL_DSI_CM=m -CONFIG_DRM_OMAP_PANEL_LGPHILIPS_LB035Q02=m -CONFIG_DRM_OMAP_PANEL_NEC_NL8048HL11=m -CONFIG_DRM_OMAP_PANEL_SHARP_LS037V7DW01=m -CONFIG_DRM_OMAP_PANEL_SONY_ACX565AKM=m -CONFIG_DRM_OMAP_PANEL_TPO_TD028TTEC1=m -CONFIG_DRM_OMAP_PANEL_TPO_TD043MTEA1=m CONFIG_DRM_PANEL_ARM_VERSATILE=m CONFIG_DRM_PANEL_BRIDGE=y CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m @@ -1522,13 +1528,17 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set CONFIG_DRM_PANEL_RAYDIUM_RM68200=m CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1540,10 +1550,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SEIKO_43WVF1G=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1571,13 +1585,12 @@ CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN6I_DSI=m CONFIG_DRM_SUN8I_DW_HDMI=m CONFIG_DRM_SUN8I_MIXER=m -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_TEGRA_DEBUG is not set CONFIG_DRM_TEGRA=m CONFIG_DRM_TEGRA_STAGING=y # CONFIG_DRM_THINE_THC63LVD1024 is not set CONFIG_DRM_TILCDC=m -CONFIG_DRM_TINYDRM=m CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1711,6 +1724,7 @@ CONFIG_EARLY_PRINTK=y CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set +CONFIG_EDAC_ARMADA_XP=y # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_GHES=y CONFIG_EDAC_HIGHBANK_L2=m @@ -1731,7 +1745,8 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_CAPSULE_LOADER is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set -# CONFIG_EFI_TEST is not set +# CONFIG_EFI_RCI2_TABLE is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_VARS_PSTORE=y @@ -1756,6 +1771,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1920,12 +1936,16 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_IMX8_DDR_PMU is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set # CONFIG_FSL_XGMAC_MDIO is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -2020,6 +2040,7 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MB86S7X is not set CONFIG_GPIO_MC33880=m # CONFIG_GPIO_MOCKUP is not set +CONFIG_GPIO_MOXTET=m # CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_MVEBU=y CONFIG_GPIO_OMAP=y @@ -2077,11 +2098,11 @@ CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HD44780=m -# CONFIG_HDC100X is not set +CONFIG_HDC100X=m CONFIG_HDQ_MASTER_OMAP=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y # CONFIG_HERMES is not set CONFIG_HERMES_PRISM=y @@ -2108,6 +2129,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2227,7 +2249,7 @@ CONFIG_HT16K33=m # CONFIG_HTC_I2CPLD is not set # CONFIG_HTC_PASIC3 is not set CONFIG_HTS221=m -# CONFIG_HTU21 is not set +CONFIG_HTU21=m CONFIG_HUGETLBFS=y # CONFIG_HUGETLB_PAGE is not set # CONFIG_HVC_DCC is not set @@ -2275,7 +2297,6 @@ CONFIG_I2C_ALGOPCF=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m CONFIG_I2C_ARB_GPIO_CHALLENGE=m -# CONFIG_I2C_BCM2048 is not set CONFIG_I2C_BCM2835=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CADENCE=m @@ -2430,11 +2451,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2450,7 +2473,9 @@ CONFIG_IMA=y # CONFIG_IMG_ASCII_LCD is not set CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m +# CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set +CONFIG_IMX_DSP=y CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y CONFIG_IMX_IPUV3_CORE=m @@ -2596,6 +2621,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERCONNECT is not set +# CONFIG_INTERCONNECT_QCOM_QCS404 is not set # CONFIG_INTERVAL_TREE_TEST is not set CONFIG_INV_MPU6050_I2C=m CONFIG_INV_MPU6050_IIO=m @@ -2611,6 +2637,7 @@ CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2856,6 +2883,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2893,6 +2921,7 @@ CONFIG_KARMA_PARTITION=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2960,9 +2989,6 @@ CONFIG_KPROBE_EVENTS=y CONFIG_KPROBES=y CONFIG_KPSS_XCC=m CONFIG_KRAITCC=m -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set CONFIG_KS8851=m @@ -3041,7 +3067,7 @@ CONFIG_LEDS_NS2=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_PCA9532=m # CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set +CONFIG_LEDS_PCA963X=m CONFIG_LEDS_PM8058=m CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m @@ -3094,7 +3120,7 @@ CONFIG_LIBFCOE=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -3103,7 +3129,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_EVENT_COUNTS is not set # CONFIG_LOCK_STAT is not set @@ -3179,7 +3207,7 @@ CONFIG_MAC_PARTITION=y CONFIG_MACSEC=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -# CONFIG_MAG3110 is not set +CONFIG_MAG3110=m CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ=y @@ -3208,6 +3236,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -3219,8 +3248,8 @@ CONFIG_MB1232=m # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCORE2 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set +CONFIG_MCP320X=m +CONFIG_MCP3422=m CONFIG_MCP3911=m CONFIG_MCP4018=m CONFIG_MCP41010=m @@ -3298,6 +3327,7 @@ CONFIG_MEMSTICK_TIFM_MS=m # CONFIG_MEN_A21_WDT is not set CONFIG_MESON_CANVAS=m # CONFIG_MESON_CLK_MEASURE is not set +CONFIG_MESON_EE_PM_DOMAINS=y CONFIG_MESON_EFUSE=m # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set @@ -3331,8 +3361,8 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set -CONFIG_MFD_CROS_EC_CHARDEV=m -CONFIG_MFD_CROS_EC=m +CONFIG_MFD_CROS_EC_DEV=m +# CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set CONFIG_MFD_DA9052_I2C=y CONFIG_MFD_DA9052_SPI=y @@ -3454,6 +3484,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -3514,6 +3546,7 @@ CONFIG_MMC_SDHCI_IPROC=m CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_MSM=m CONFIG_MMC_SDHCI_OF_ARASAN=m +# 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_OF_ESDHC=m @@ -3544,6 +3577,7 @@ CONFIG_MMC=y CONFIG_MMP_PDMA=y CONFIG_MMP_TDMA=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set @@ -3578,6 +3612,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +CONFIG_MOXTET=m CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set CONFIG_MPL3115=m @@ -3658,6 +3693,7 @@ CONFIG_MTD_NAND_GPMI_NAND=m CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MESON is not set CONFIG_MTD_NAND_MXC=m +# CONFIG_MTD_NAND_MXIC is not set CONFIG_MTD_NAND_NANDSIM=m CONFIG_MTD_NAND_OMAP2=m CONFIG_MTD_NAND_OMAP_BCH=y @@ -3779,12 +3815,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3957,6 +3995,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -4011,6 +4050,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -4176,10 +4216,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -4239,6 +4279,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y CONFIG_NO_HZ=y @@ -4345,7 +4386,7 @@ CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPT3001=m CONFIG_OPTEE=m CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -4605,6 +4646,7 @@ CONFIG_PINCTRL_QCOM_SSBI_PMIC=m # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SDM845 is not set CONFIG_PINCTRL_SINGLE=y @@ -4717,7 +4759,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4769,7 +4810,7 @@ CONFIG_PWM_IMX27=m CONFIG_PWM_IMX_TPM=m CONFIG_PWM_MESON=m CONFIG_PWM_OMAP_DMTIMER=m -# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_PCA9685=m CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SAMSUNG=m CONFIG_PWM_STI=m @@ -4800,7 +4841,7 @@ CONFIG_QCOM_CLK_APCS_MSM8916=m CONFIG_QCOM_CLK_RPM=m CONFIG_QCOM_CLK_SMD_RPM=m CONFIG_QCOM_COINCELL=m -# CONFIG_QCOM_COMMAND_DB is not set +CONFIG_QCOM_COMMAND_DB=y # CONFIG_QCOM_EBI2 is not set # CONFIG_QCOM_EMAC is not set CONFIG_QCOM_FASTRPC=m @@ -4822,6 +4863,7 @@ CONFIG_QCOM_SMD_RPM=m # CONFIG_QCOM_SMEM is not set CONFIG_QCOM_SMP2P=m CONFIG_QCOM_SMSM=m +CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCOM_SPMI_IADC=m CONFIG_QCOM_SPMI_TEMP_ALARM=m @@ -4877,6 +4919,7 @@ CONFIG_RADIO_WL1273=m # CONFIG_RAID6_PQ_BENCHMARK is not set CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set # CONFIG_RANDOM_TRUST_CPU is not set CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4918,13 +4961,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y # CONFIG_RDMA_RXE is not set -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set # CONFIG_RDS is not set # CONFIG_RDS_RDMA is not set CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4994,6 +5038,7 @@ CONFIG_REGULATOR_STM32_PWR=y CONFIG_REGULATOR_STM32_VREFBUF=m CONFIG_REGULATOR_STPMIC1=m CONFIG_REGULATOR_SY8106A=m +# CONFIG_REGULATOR_SY8824X is not set CONFIG_REGULATOR_TI_ABB=m CONFIG_REGULATOR_TPS51632=m CONFIG_REGULATOR_TPS62360=m @@ -5023,7 +5068,7 @@ CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_RESET_CONTROLLER=y @@ -5031,6 +5076,7 @@ CONFIG_RESET_IMX7=y CONFIG_RESET_MESON_AUDIO_ARB=m # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=m +CONFIG_RESET_SCMI=y CONFIG_RESET_SIMPLE=y CONFIG_RESET_STM32MP157=y # CONFIG_RESET_TI_SCI is not set @@ -5181,6 +5227,7 @@ CONFIG_RTC_DRV_MAX8997=m CONFIG_RTC_DRV_MC13XXX=m # CONFIG_RTC_DRV_MCP795 is not set CONFIG_RTC_DRV_MESON=m +CONFIG_RTC_DRV_MESON_VRTC=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MV=m # CONFIG_RTC_DRV_MXC is not set @@ -5430,6 +5477,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y # CONFIG_SECURITY_INFINIBAND is not set # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -5457,7 +5506,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -5470,6 +5518,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCMI=m CONFIG_SENSORS_ARM_SCPI=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -5502,6 +5551,7 @@ CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5636,7 +5686,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y CONFIG_SERIAL_8250_OMAP=y @@ -5662,6 +5711,7 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LPUART=y # CONFIG_SERIAL_IFX6X60 is not set @@ -5720,7 +5770,6 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -5756,6 +5805,7 @@ CONFIG_SMC91X=m CONFIG_SMC_DIAG=m CONFIG_SMC=m # CONFIG_SM_FTL is not set +# CONFIG_SM_GCC_8150 is not set CONFIG_SMP_ON_UP=y CONFIG_SMP=y CONFIG_SMSC911X=m @@ -5848,7 +5898,8 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set +# CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_PREALLOC_SIZE=4096 @@ -5929,6 +5980,7 @@ CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set CONFIG_SND_SOC_ADAU1761_I2C=m CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU1977_I2C=m CONFIG_SND_SOC_ADAU7002=m CONFIG_SND_SOC_ADI_AXI_I2S=m CONFIG_SND_SOC_ADI_AXI_SPDIF=m @@ -5955,9 +6007,9 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m CONFIG_SND_SOC_CS35L34=m CONFIG_SND_SOC_CS35L35=m CONFIG_SND_SOC_CS35L36=m -# CONFIG_SND_SOC_CS4265 is not set +CONFIG_SND_SOC_CS4265=m # CONFIG_SND_SOC_CS4270 is not set -# CONFIG_SND_SOC_CS4271_I2C is not set +CONFIG_SND_SOC_CS4271_I2C=m # CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L51_I2C is not set @@ -5970,6 +6022,7 @@ CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m CONFIG_SND_SOC_DAVINCI_MCASP=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_ES7134=m @@ -5994,6 +6047,7 @@ CONFIG_SND_SOC_HDAC_HDA=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_IMX_AUDMIX is not set CONFIG_SND_SOC_IMX_AUDMUX=m @@ -6011,6 +6065,7 @@ CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MAX98088=m CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98357A=m CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set @@ -6044,6 +6099,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set +CONFIG_SND_SOC_PCM5102A=m CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_SPI=m @@ -6073,6 +6129,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -6128,6 +6185,7 @@ CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set CONFIG_SND_SOC_TWL4030=m CONFIG_SND_SOC_TWL6040=m +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -6136,7 +6194,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8728 is not set CONFIG_SND_SOC_WM8731=m # CONFIG_SND_SOC_WM8737 is not set -# CONFIG_SND_SOC_WM8741 is not set +CONFIG_SND_SOC_WM8741=m # CONFIG_SND_SOC_WM8750 is not set CONFIG_SND_SOC_WM8753=m # CONFIG_SND_SOC_WM8770 is not set @@ -6229,7 +6287,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPARSEMEM_MANUAL=y @@ -6447,6 +6504,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m CONFIG_TCG_CRB=y +CONFIG_TCG_FTPM_TEE=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -6518,6 +6576,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -6594,7 +6653,6 @@ CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m CONFIG_TINYDRM_MI0283QT=m -CONFIG_TINYDRM_MIPI_DBI=m CONFIG_TINYDRM_REPAPER=m CONFIG_TINYDRM_ST7586=m CONFIG_TINYDRM_ST7735R=m @@ -6610,7 +6668,7 @@ CONFIG_TI_SOC_THERMAL=m CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set CONFIG_TMP006=m @@ -6643,9 +6701,9 @@ CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m # CONFIG_TOUCHSCREEN_EKTF2127 is not set CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m -# CONFIG_TOUCHSCREEN_EXC3000 is not set +CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m -# CONFIG_TOUCHSCREEN_GOODIX is not set +CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_GUNZE=m # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set @@ -6713,7 +6771,7 @@ CONFIG_TRUSTED_KEYS=m # CONFIG_TS4800_WATCHDOG is not set # CONFIG_TSL2583 is not set CONFIG_TSL2772=m -# CONFIG_TSL4531 is not set +CONFIG_TSL4531=m # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set CONFIG_TULIP=m @@ -6731,6 +6789,7 @@ CONFIG_TUNE_DEFAULT=y # CONFIG_TUNE_ZEC12 is not set CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_TURRIS_MOX_RWTM=m CONFIG_TWL4030_CORE=y CONFIG_TWL4030_MADC=m CONFIG_TWL4030_POWER=y @@ -6752,6 +6811,7 @@ CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m # CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -6812,6 +6872,7 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m CONFIG_USB_CHIPIDEA_HOST=y CONFIG_USB_CHIPIDEA=m @@ -6836,6 +6897,7 @@ CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_OBEX=y # CONFIG_USB_CONFIGFS_RNDIS is not set CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONN_GPIO=m CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -7049,11 +7111,12 @@ CONFIG_USB_NET_SR9700=m # CONFIG_USB_NET_SR9800 is not set CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_EXYNOS=m +CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD_OMAP3=m CONFIG_USB_OHCI_HCD_PCI=m CONFIG_USB_OHCI_HCD_PLATFORM=m +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD_STI=m -CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set @@ -7073,7 +7136,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597 is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -7213,7 +7275,7 @@ CONFIG_VALIDATE_FS_PARSER=y # CONFIG_VCNL4000 is not set CONFIG_VCNL4035=m # CONFIG_VDSO is not set -# CONFIG_VEML6070 is not set +CONFIG_VEML6070=m CONFIG_VETH=m CONFIG_VEXPRESS_SYSCFG=y # CONFIG_VF610_ADC is not set @@ -7347,6 +7409,7 @@ CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m # CONFIG_VIDEO_STM32_DCMI is not set CONFIG_VIDEO_STM32_HDMI_CEC=m +CONFIG_VIDEO_SUN4I_CSI=m CONFIG_VIDEO_SUN6I_CSI=m CONFIG_VIDEO_SUNXI_CEDRUS=m CONFIG_VIDEO_SUNXI=y @@ -7371,6 +7434,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -7419,6 +7483,7 @@ CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_GPIO=m # CONFIG_W1_MASTER_MATROX is not set CONFIG_W1_MASTER_MXC=m +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -7429,6 +7494,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-armv7hl-lpae-debug.config b/kernel-armv7hl-lpae-debug-fedora.config index f2b26d448..59de8d9c7 100644 --- a/kernel-armv7hl-lpae-debug.config +++ b/kernel-armv7hl-lpae-debug-fedora.config @@ -100,6 +100,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -109,6 +110,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -172,12 +174,11 @@ CONFIG_AMD8111_ETH=m # CONFIG_AMD_IOMMU_DEBUGFS is not set CONFIG_AMD_PHY=m # CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set CONFIG_AMIGA_PARTITION=y # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set CONFIG_APDS9802ALS=m -# CONFIG_APDS9960 is not set +CONFIG_APDS9960=m # CONFIG_APM_EMULATION is not set # CONFIG_APPLE_PROPERTIES is not set # CONFIG_APPLICOM is not set @@ -187,6 +188,7 @@ CONFIG_AR5523=m # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_ALPINE is not set # CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_ASPEED is not set # CONFIG_ARCH_AT91 is not set # CONFIG_ARCH_AXXIA is not set # CONFIG_ARCH_BCM_21664 is not set @@ -216,18 +218,15 @@ CONFIG_ARCH_EXYNOS=y CONFIG_ARCH_HAS_TICK_BROADCAST=y CONFIG_ARCH_HIGHBANK=y # CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set CONFIG_ARCH_KEYSTONE=y -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_MEDIATEK is not set CONFIG_ARCH_MESON=y # CONFIG_ARCH_MILBEAUT is not set # CONFIG_ARCH_MMP is not set CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_MULTI_V5 is not set # CONFIG_ARCH_MULTI_V6 is not set CONFIG_ARCH_MULTI_V7=y CONFIG_ARCH_MVEBU=y @@ -265,7 +264,6 @@ CONFIG_ARCH_VEXPRESS_SPC=y CONFIG_ARCH_VEXPRESS_TC2_PM=y CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_VIRT=y -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCH_WM8850 is not set # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQ is not set @@ -278,6 +276,7 @@ CONFIG_ARM64_PA_BITS_48=y CONFIG_ARMADA_37XX_RWTM_MBOX=m # CONFIG_ARMADA_37XX_WATCHDOG is not set CONFIG_ARMADA_THERMAL=m +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y @@ -338,10 +337,11 @@ CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_FW=y CONFIG_ARM_PSCI=y CONFIG_ARM_PTDUMP_DEBUGFS=y CONFIG_ARM_QCOM_CPUFREQ_HW=m -CONFIG_ARM_QCOM_CPUFREQ_KRYO=m CONFIG_ARM_RASPBERRYPI_CPUFREQ=m CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SCMI_CPUFREQ=m @@ -409,6 +409,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -525,9 +526,9 @@ CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set +CONFIG_BATTERY_GAUGE_LTC2941=m # CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_MAX17040 is not set +CONFIG_BATTERY_MAX17040=m # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_SBS=m @@ -579,6 +580,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -778,18 +780,23 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set CONFIG_CAN_FLEXCAN=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m -# CONFIG_CAN_MCP251X is not set +CONFIG_CAN_MCP251X=m CONFIG_CAN_PEAK_PCIEC=y CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m @@ -821,7 +828,6 @@ CONFIG_CARL9170_DEBUGFS=y CONFIG_CARL9170_LEDS=y CONFIG_CARL9170=m CONFIG_CASSINI=m -CONFIG_CAVIUM_TX2_ERRATUM_219=y CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set @@ -1011,6 +1017,7 @@ CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -1022,7 +1029,6 @@ CONFIG_CPU_THERMAL=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -1037,10 +1043,12 @@ CONFIG_CRC8=m CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y +CONFIG_CROS_EC_CHARDEV=m CONFIG_CROS_EC_DEBUGFS=m CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m # CONFIG_CROS_EC_LIGHTBAR is not set +CONFIG_CROS_EC=m CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_EC_SPI=m @@ -1051,9 +1059,8 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_AEGIS128_SIMD=y CONFIG_CRYPTO_AES_ARM_BS=y # CONFIG_CRYPTO_AES_ARM_CE is not set CONFIG_CRYPTO_AES_ARM=y @@ -1088,6 +1095,7 @@ CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCREE=m CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_CHELSIO_TLS=m @@ -1114,6 +1122,7 @@ CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_SAHARA is not set # CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_STM32_CRC=m @@ -1130,6 +1139,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -1150,8 +1160,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NHPOLY1305_NEON=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m @@ -1178,7 +1186,7 @@ CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM=y -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -1230,17 +1238,16 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KOBJECT is not set @@ -1323,6 +1330,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1339,6 +1347,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1366,6 +1375,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1426,6 +1436,7 @@ CONFIG_DRM_EXYNOS_VIDI=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FSL_DCU is not set +CONFIG_DRM_GM12U320=m CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set # CONFIG_DRM_HISI_HIBMC is not set @@ -1465,13 +1476,17 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set CONFIG_DRM_PANEL_RAYDIUM_RM68200=m CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1483,10 +1498,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SEIKO_43WVF1G=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1514,13 +1533,12 @@ CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN6I_DSI=m CONFIG_DRM_SUN8I_DW_HDMI=m CONFIG_DRM_SUN8I_MIXER=m -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_TEGRA_DEBUG is not set CONFIG_DRM_TEGRA=m CONFIG_DRM_TEGRA_STAGING=y # CONFIG_DRM_THINE_THC63LVD1024 is not set # CONFIG_DRM_TILCDC is not set -CONFIG_DRM_TINYDRM=m CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1651,6 +1669,7 @@ CONFIG_EARLY_PRINTK=y CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set +CONFIG_EDAC_ARMADA_XP=y # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_GHES=y CONFIG_EDAC_HIGHBANK_L2=m @@ -1672,7 +1691,8 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_CAPSULE_LOADER is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y -# CONFIG_EFI_TEST is not set +# CONFIG_EFI_RCI2_TABLE is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_VARS_PSTORE=y @@ -1697,6 +1717,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1868,12 +1889,16 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_IMX8_DDR_PMU is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set # CONFIG_FSL_XGMAC_MDIO is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1966,6 +1991,7 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MB86S7X is not set CONFIG_GPIO_MC33880=m # CONFIG_GPIO_MOCKUP is not set +CONFIG_GPIO_MOXTET=m # CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_MVEBU=y CONFIG_GPIO_PCA953X_IRQ=y @@ -1985,6 +2011,7 @@ CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_SYSFS is not set CONFIG_GPIO_TEGRA=y # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m CONFIG_GPIO_TPS68470=y @@ -2016,10 +2043,10 @@ CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HD44780=m -# CONFIG_HDC100X is not set +CONFIG_HDC100X=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y # CONFIG_HERMES is not set CONFIG_HERMES_PRISM=y @@ -2046,6 +2073,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2165,7 +2193,7 @@ CONFIG_HT16K33=m # CONFIG_HTC_I2CPLD is not set # CONFIG_HTC_PASIC3 is not set CONFIG_HTS221=m -# CONFIG_HTU21 is not set +CONFIG_HTU21=m CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y # CONFIG_HVC_DCC is not set @@ -2210,7 +2238,6 @@ CONFIG_I2C_ALGOPCF=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m CONFIG_I2C_ARB_GPIO_CHALLENGE=m -# CONFIG_I2C_BCM2048 is not set CONFIG_I2C_BCM2835=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CADENCE=m @@ -2363,11 +2390,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2383,7 +2412,9 @@ CONFIG_IMA=y # CONFIG_IMG_ASCII_LCD is not set CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m +# CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set +CONFIG_IMX_DSP=y CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y # CONFIG_IMX_IPUV3_CORE is not set @@ -2517,6 +2548,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERCONNECT is not set +# CONFIG_INTERCONNECT_QCOM_QCS404 is not set # CONFIG_INTERVAL_TREE_TEST is not set CONFIG_INV_MPU6050_I2C=m CONFIG_INV_MPU6050_IIO=m @@ -2532,6 +2564,7 @@ CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2776,6 +2809,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2815,6 +2849,7 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2879,9 +2914,6 @@ CONFIG_KPROBE_EVENTS=y CONFIG_KPROBES=y CONFIG_KPSS_XCC=m CONFIG_KRAITCC=m -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set CONFIG_KS8851=m @@ -2960,7 +2992,7 @@ CONFIG_LEDS_NS2=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_PCA9532=m # CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set +CONFIG_LEDS_PCA963X=m CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m # CONFIG_LEDS_SPI_BYTE is not set @@ -3012,7 +3044,7 @@ CONFIG_LIBFCOE=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -3021,7 +3053,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y CONFIG_LOCK_EVENT_COUNTS=y # CONFIG_LOCK_STAT is not set @@ -3091,7 +3125,7 @@ CONFIG_MAC_PARTITION=y CONFIG_MACSEC=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -# CONFIG_MAG3110 is not set +CONFIG_MAG3110=m CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ=y @@ -3120,6 +3154,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -3132,8 +3167,8 @@ CONFIG_MB1232=m # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCORE2 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set +CONFIG_MCP320X=m +CONFIG_MCP3422=m CONFIG_MCP3911=m CONFIG_MCP4018=m CONFIG_MCP41010=m @@ -3209,6 +3244,7 @@ CONFIG_MEMSTICK_TIFM_MS=m # CONFIG_MEN_A21_WDT is not set CONFIG_MESON_CANVAS=m # CONFIG_MESON_CLK_MEASURE is not set +CONFIG_MESON_EE_PM_DOMAINS=y CONFIG_MESON_EFUSE=m # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set @@ -3242,8 +3278,8 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set -CONFIG_MFD_CROS_EC_CHARDEV=m -CONFIG_MFD_CROS_EC=m +CONFIG_MFD_CROS_EC_DEV=m +# CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9052_SPI is not set @@ -3362,6 +3398,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -3419,6 +3457,7 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=m CONFIG_MMC_SDHCI_IPROC=m CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_OF_ARASAN=m +# 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_OF_ESDHC=m @@ -3446,6 +3485,7 @@ CONFIG_MMC_WBSD=m CONFIG_MMC=y CONFIG_MMIOTRACE=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_FORCE_UNLOAD=y @@ -3480,6 +3520,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +CONFIG_MOXTET=m CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set CONFIG_MPL3115=m @@ -3550,6 +3591,7 @@ CONFIG_MTD_NAND_GPIO=m CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MESON is not set CONFIG_MTD_NAND_MXC=m +# CONFIG_MTD_NAND_MXIC is not set CONFIG_MTD_NAND_NANDSIM=m # CONFIG_MTD_NAND_OMAP2 is not set CONFIG_MTD_NAND_ORION=m @@ -3670,12 +3712,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3848,6 +3892,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3901,6 +3946,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -4066,10 +4112,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -4129,6 +4175,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y CONFIG_NO_HZ=y @@ -4202,7 +4249,7 @@ CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPT3001=m CONFIG_OPTEE=m CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -4443,6 +4490,7 @@ CONFIG_PINCTRL_MVEBU=y # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SDM845 is not set CONFIG_PINCTRL_SINGLE=y @@ -4550,7 +4598,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4602,7 +4649,7 @@ CONFIG_PWM_HIBVT=m CONFIG_PWM_IMX27=m CONFIG_PWM_IMX_TPM=m CONFIG_PWM_MESON=m -# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_PCA9685=m CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SAMSUNG=m # CONFIG_PWM_STM32 is not set @@ -4636,6 +4683,7 @@ CONFIG_QCOM_PDC=y CONFIG_QCOM_PM8XXX_XOADC=m CONFIG_QCOM_RMTFS_MEM=m # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCS_GCC_404=m # CONFIG_QCS_TURING_404 is not set @@ -4683,6 +4731,7 @@ CONFIG_RADIO_WL1273=m # CONFIG_RAID6_PQ_BENCHMARK is not set CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set # CONFIG_RANDOM_TRUST_CPU is not set CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4723,13 +4772,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y # CONFIG_RDMA_RXE is not set -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set # CONFIG_RDS is not set # CONFIG_RDS_RDMA is not set CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4786,6 +4836,7 @@ CONFIG_REGULATOR_STM32_PWR=y CONFIG_REGULATOR_STM32_VREFBUF=m CONFIG_REGULATOR_STPMIC1=m CONFIG_REGULATOR_SY8106A=m +# CONFIG_REGULATOR_SY8824X is not set CONFIG_REGULATOR_TPS51632=m CONFIG_REGULATOR_TPS62360=m CONFIG_REGULATOR_TPS65023=m @@ -4811,7 +4862,7 @@ CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_RESET_CONTROLLER=y @@ -4819,6 +4870,7 @@ CONFIG_RESET_IMX7=y CONFIG_RESET_MESON_AUDIO_ARB=m # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=m +CONFIG_RESET_SCMI=y CONFIG_RESET_SIMPLE=y CONFIG_RESET_STM32MP157=y # CONFIG_RESET_TI_SCI is not set @@ -4962,6 +5014,7 @@ CONFIG_RTC_DRV_MAX77686=m CONFIG_RTC_DRV_MAX8997=m # CONFIG_RTC_DRV_MCP795 is not set CONFIG_RTC_DRV_MESON=m +CONFIG_RTC_DRV_MESON_VRTC=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MV=m # CONFIG_RTC_DRV_MXC is not set @@ -5206,6 +5259,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y # CONFIG_SECURITY_INFINIBAND is not set # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -5233,7 +5288,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -5246,6 +5300,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCMI=m CONFIG_SENSORS_ARM_SCPI=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -5276,6 +5331,7 @@ CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5409,7 +5465,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -5432,6 +5487,7 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LPUART=y # CONFIG_SERIAL_IFX6X60 is not set @@ -5482,7 +5538,6 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -5518,6 +5573,7 @@ CONFIG_SMC91X=m CONFIG_SMC_DIAG=m CONFIG_SMC=m # CONFIG_SM_FTL is not set +# CONFIG_SM_GCC_8150 is not set CONFIG_SMP_ON_UP=y CONFIG_SMP=y CONFIG_SMSC911X=m @@ -5610,7 +5666,8 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set +# CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_PREALLOC_SIZE=4096 @@ -5688,6 +5745,7 @@ CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set CONFIG_SND_SOC_ADAU1761_I2C=m CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU1977_I2C=m CONFIG_SND_SOC_ADAU7002=m # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4118 is not set @@ -5711,21 +5769,22 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m CONFIG_SND_SOC_CS35L34=m CONFIG_SND_SOC_CS35L35=m CONFIG_SND_SOC_CS35L36=m -# CONFIG_SND_SOC_CS4265 is not set +CONFIG_SND_SOC_CS4265=m # CONFIG_SND_SOC_CS4270 is not set -# CONFIG_SND_SOC_CS4271_I2C is not set +CONFIG_SND_SOC_CS4271_I2C=m # CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L51_I2C is not set # CONFIG_SND_SOC_CS42L52 is not set # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set -# CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4341 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m CONFIG_SND_SOC_DAVINCI_MCASP=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_ES7134=m @@ -5748,6 +5807,7 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y CONFIG_SND_SOC_HDAC_HDA=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_IMX_AUDMIX is not set # CONFIG_SND_SOC_IMX_AUDMUX is not set @@ -5757,6 +5817,7 @@ CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MAX98088=m CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98357A=m CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set @@ -5782,6 +5843,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set +CONFIG_SND_SOC_PCM5102A=m CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_SPI=m @@ -5810,6 +5872,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -5848,8 +5911,9 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m # CONFIG_SND_SOC_TEGRA_WM8903 is not set # CONFIG_SND_SOC_TEGRA_WM9712 is not set # CONFIG_SND_SOC_TFA9879 is not set -# CONFIG_SND_SOC_TLV320AIC23_I2C is not set -# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +CONFIG_SND_SOC_TLV320AIC23_I2C=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC23_SPI=m # CONFIG_SND_SOC_TLV320AIC31XX is not set CONFIG_SND_SOC_TLV320AIC32X4_I2C=m CONFIG_SND_SOC_TLV320AIC32X4_SPI=m @@ -5858,15 +5922,16 @@ CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set -# CONFIG_SND_SOC_WM8731 is not set +CONFIG_SND_SOC_WM8731=m # CONFIG_SND_SOC_WM8737 is not set -# CONFIG_SND_SOC_WM8741 is not set +CONFIG_SND_SOC_WM8741=m # CONFIG_SND_SOC_WM8750 is not set # CONFIG_SND_SOC_WM8753 is not set # CONFIG_SND_SOC_WM8770 is not set @@ -5940,7 +6005,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPARSEMEM_MANUAL=y @@ -6147,6 +6211,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m CONFIG_TCG_CRB=y +CONFIG_TCG_FTPM_TEE=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -6217,6 +6282,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -6287,7 +6353,6 @@ CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m CONFIG_TINYDRM_MI0283QT=m -CONFIG_TINYDRM_MIPI_DBI=m CONFIG_TINYDRM_REPAPER=m CONFIG_TINYDRM_ST7586=m CONFIG_TINYDRM_ST7735R=m @@ -6302,7 +6367,7 @@ CONFIG_TI_SOC_THERMAL=m CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set CONFIG_TMP006=m @@ -6334,9 +6399,9 @@ CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m # CONFIG_TOUCHSCREEN_EKTF2127 is not set CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m -# CONFIG_TOUCHSCREEN_EXC3000 is not set +CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m -# CONFIG_TOUCHSCREEN_GOODIX is not set +CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_GUNZE=m # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set @@ -6404,7 +6469,7 @@ CONFIG_TRUSTED_KEYS=m # CONFIG_TS4800_WATCHDOG is not set # CONFIG_TSL2583 is not set CONFIG_TSL2772=m -# CONFIG_TSL4531 is not set +CONFIG_TSL4531=m # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set CONFIG_TULIP=m @@ -6422,6 +6487,7 @@ CONFIG_TUNE_DEFAULT=y # CONFIG_TUNE_ZEC12 is not set CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_TURRIS_MOX_RWTM=m # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set CONFIG_TYPEC_DP_ALTMODE=m @@ -6437,6 +6503,7 @@ CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m # CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -6497,6 +6564,7 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m CONFIG_USB_CHIPIDEA_HOST=y CONFIG_USB_CHIPIDEA=m @@ -6521,6 +6589,7 @@ CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_OBEX=y # CONFIG_USB_CONFIGFS_RNDIS is not set CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONN_GPIO=m CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -6719,9 +6788,10 @@ CONFIG_USB_NET_SR9700=m # CONFIG_USB_NET_SR9800 is not set CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_EXYNOS=m +CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD_PCI=m CONFIG_USB_OHCI_HCD_PLATFORM=m -CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_SSB is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set @@ -6741,7 +6811,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597 is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -6880,7 +6949,7 @@ CONFIG_VALIDATE_FS_PARSER=y # CONFIG_VCNL4000 is not set CONFIG_VCNL4035=m CONFIG_VDSO=y -# CONFIG_VEML6070 is not set +CONFIG_VEML6070=m CONFIG_VETH=m CONFIG_VEXPRESS_SYSCFG=y # CONFIG_VF610_ADC is not set @@ -7000,6 +7069,7 @@ CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m # CONFIG_VIDEO_STM32_DCMI is not set CONFIG_VIDEO_STM32_HDMI_CEC=m +CONFIG_VIDEO_SUN4I_CSI=m CONFIG_VIDEO_SUN6I_CSI=m CONFIG_VIDEO_SUNXI_CEDRUS=m CONFIG_VIDEO_SUNXI=y @@ -7024,6 +7094,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -7072,6 +7143,7 @@ CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_GPIO=m # CONFIG_W1_MASTER_MATROX is not set # CONFIG_W1_MASTER_MXC is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -7082,6 +7154,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-armv7hl-lpae.config b/kernel-armv7hl-lpae-fedora.config index ec85503ad..c9454cd33 100644 --- a/kernel-armv7hl-lpae.config +++ b/kernel-armv7hl-lpae-fedora.config @@ -100,6 +100,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -109,6 +110,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -172,12 +174,11 @@ CONFIG_AMD8111_ETH=m # CONFIG_AMD_IOMMU_DEBUGFS is not set CONFIG_AMD_PHY=m # CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set CONFIG_AMIGA_PARTITION=y # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set CONFIG_APDS9802ALS=m -# CONFIG_APDS9960 is not set +CONFIG_APDS9960=m # CONFIG_APM_EMULATION is not set # CONFIG_APPLE_PROPERTIES is not set # CONFIG_APPLICOM is not set @@ -187,6 +188,7 @@ CONFIG_AR5523=m # CONFIG_ARCH_ACTIONS is not set # CONFIG_ARCH_ALPINE is not set # CONFIG_ARCH_ARTPEC is not set +# CONFIG_ARCH_ASPEED is not set # CONFIG_ARCH_AT91 is not set # CONFIG_ARCH_AXXIA is not set # CONFIG_ARCH_BCM_21664 is not set @@ -216,18 +218,15 @@ CONFIG_ARCH_EXYNOS=y CONFIG_ARCH_HAS_TICK_BROADCAST=y CONFIG_ARCH_HIGHBANK=y # CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set CONFIG_ARCH_KEYSTONE=y -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_MEDIATEK is not set CONFIG_ARCH_MESON=y # CONFIG_ARCH_MILBEAUT is not set # CONFIG_ARCH_MMP is not set CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_MULTI_V5 is not set # CONFIG_ARCH_MULTI_V6 is not set CONFIG_ARCH_MULTI_V7=y CONFIG_ARCH_MVEBU=y @@ -265,7 +264,6 @@ CONFIG_ARCH_VEXPRESS_SPC=y CONFIG_ARCH_VEXPRESS_TC2_PM=y CONFIG_ARCH_VEXPRESS=y CONFIG_ARCH_VIRT=y -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCH_WM8850 is not set # CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQ is not set @@ -278,6 +276,7 @@ CONFIG_ARM64_PA_BITS_48=y CONFIG_ARMADA_37XX_RWTM_MBOX=m # CONFIG_ARMADA_37XX_WATCHDOG is not set CONFIG_ARMADA_THERMAL=m +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m CONFIG_ARM_AMBA=y CONFIG_ARM_APPENDED_DTB=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y @@ -338,10 +337,11 @@ CONFIG_ARM_PATCH_IDIV=y CONFIG_ARM_PL172_MPMC=m CONFIG_ARM_PMU=y # CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_FW=y CONFIG_ARM_PSCI=y # CONFIG_ARM_PTDUMP_DEBUGFS is not set CONFIG_ARM_QCOM_CPUFREQ_HW=m -CONFIG_ARM_QCOM_CPUFREQ_KRYO=m CONFIG_ARM_RASPBERRYPI_CPUFREQ=m CONFIG_ARM_RK3399_DMC_DEVFREQ=m CONFIG_ARM_SCMI_CPUFREQ=m @@ -409,6 +409,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -525,9 +526,9 @@ CONFIG_BATTERY_AXP20X=m # CONFIG_BATTERY_DS2780 is not set # CONFIG_BATTERY_DS2781 is not set # CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set +CONFIG_BATTERY_GAUGE_LTC2941=m # CONFIG_BATTERY_LEGO_EV3 is not set -# CONFIG_BATTERY_MAX17040 is not set +CONFIG_BATTERY_MAX17040=m # CONFIG_BATTERY_MAX17042 is not set # CONFIG_BATTERY_MAX1721X is not set CONFIG_BATTERY_SBS=m @@ -579,6 +580,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -778,18 +780,23 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set CONFIG_CAN_FLEXCAN=m # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m -# CONFIG_CAN_MCP251X is not set +CONFIG_CAN_MCP251X=m CONFIG_CAN_PEAK_PCIEC=y CONFIG_CAN_PEAK_PCIEFD=m CONFIG_CAN_PEAK_PCI=m @@ -821,7 +828,6 @@ CONFIG_CARDMAN_4040=m CONFIG_CARL9170_LEDS=y CONFIG_CARL9170=m CONFIG_CASSINI=m -CONFIG_CAVIUM_TX2_ERRATUM_219=y CONFIG_CB710_CORE=m # CONFIG_CB710_DEBUG is not set # CONFIG_CC10001_ADC is not set @@ -1011,6 +1017,7 @@ CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_CPU_ICACHE_DISABLE is not set CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -1022,7 +1029,6 @@ CONFIG_CPU_THERMAL=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -1037,10 +1043,12 @@ CONFIG_CRC8=m CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y +CONFIG_CROS_EC_CHARDEV=m # CONFIG_CROS_EC_DEBUGFS is not set CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m # CONFIG_CROS_EC_LIGHTBAR is not set +CONFIG_CROS_EC=m CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_EC_SPI=m @@ -1051,9 +1059,8 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m +CONFIG_CRYPTO_AEGIS128_SIMD=y CONFIG_CRYPTO_AES_ARM_BS=y # CONFIG_CRYPTO_AES_ARM_CE is not set CONFIG_CRYPTO_AES_ARM=y @@ -1088,6 +1095,7 @@ CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCREE=m CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_CHELSIO_TLS=m @@ -1114,6 +1122,7 @@ CONFIG_CRYPTO_DEV_MARVELL_CESA=m CONFIG_CRYPTO_DEV_QCOM_RNG=m CONFIG_CRYPTO_DEV_ROCKCHIP=m CONFIG_CRYPTO_DEV_S5P=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_SAHARA is not set # CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_STM32_CRC=m @@ -1130,6 +1139,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -1150,8 +1160,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NHPOLY1305_NEON=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m @@ -1178,7 +1186,7 @@ CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SHA512_ARM64=m CONFIG_CRYPTO_SHA512_ARM=y -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -1230,11 +1238,10 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y @@ -1316,6 +1323,7 @@ CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_BCM2835=m +# CONFIG_DMABUF_SELFTESTS is not set CONFIG_DMA_CMA=y # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1332,6 +1340,7 @@ CONFIG_DMA_SUN6I=m CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1359,6 +1368,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1419,6 +1429,7 @@ CONFIG_DRM_EXYNOS_VIDI=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_FSL_DCU is not set +CONFIG_DRM_GM12U320=m CONFIG_DRM_HDLCD=m # CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set # CONFIG_DRM_HISI_HIBMC is not set @@ -1458,13 +1469,17 @@ CONFIG_DRM_PANEL_ILITEK_ILI9881C=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set CONFIG_DRM_PANEL_LG_LG4573=m CONFIG_DRM_PANEL_LVDS=m +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set CONFIG_DRM_PANEL_RAYDIUM_RM68200=m CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1476,10 +1491,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m CONFIG_DRM_PANEL_SEIKO_43WVF1G=m CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_SITRONIX_ST7701=m # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set CONFIG_DRM_PANEL_TPO_TPG110=m # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1507,13 +1526,12 @@ CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN6I_DSI=m CONFIG_DRM_SUN8I_DW_HDMI=m CONFIG_DRM_SUN8I_MIXER=m -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_TEGRA_DEBUG is not set CONFIG_DRM_TEGRA=m CONFIG_DRM_TEGRA_STAGING=y # CONFIG_DRM_THINE_THC63LVD1024 is not set # CONFIG_DRM_TILCDC is not set -CONFIG_DRM_TINYDRM=m CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1644,6 +1662,7 @@ CONFIG_EARLY_PRINTK=y CONFIG_ECHO=m CONFIG_ECRYPT_FS=m # CONFIG_ECRYPT_FS_MESSAGING is not set +CONFIG_EDAC_ARMADA_XP=y # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_GHES=y CONFIG_EDAC_HIGHBANK_L2=m @@ -1665,7 +1684,8 @@ CONFIG_EFI_ARMSTUB_DTB_LOADER=y # CONFIG_EFI_CAPSULE_LOADER is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set -# CONFIG_EFI_TEST is not set +# CONFIG_EFI_RCI2_TABLE is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y CONFIG_EFI_VARS_PSTORE=y @@ -1690,6 +1710,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1853,12 +1874,16 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_IMX8_DDR_PMU is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set # CONFIG_FSL_XGMAC_MDIO is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1951,6 +1976,7 @@ CONFIG_GPIO_MAX77650=m # CONFIG_GPIO_MB86S7X is not set CONFIG_GPIO_MC33880=m # CONFIG_GPIO_MOCKUP is not set +CONFIG_GPIO_MOXTET=m # CONFIG_GPIO_MPC8XXX is not set CONFIG_GPIO_MVEBU=y CONFIG_GPIO_PCA953X_IRQ=y @@ -1970,6 +1996,7 @@ CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_SYSFS is not set CONFIG_GPIO_TEGRA=y # CONFIG_GPIO_TPIC2810 is not set +CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m CONFIG_GPIO_TPS68470=y @@ -2001,10 +2028,10 @@ CONFIG_HAVE_ARM_TWD=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y CONFIG_HD44780=m -# CONFIG_HDC100X is not set +CONFIG_HDC100X=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y # CONFIG_HERMES is not set CONFIG_HERMES_PRISM=y @@ -2031,6 +2058,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2150,7 +2178,7 @@ CONFIG_HT16K33=m # CONFIG_HTC_I2CPLD is not set # CONFIG_HTC_PASIC3 is not set CONFIG_HTS221=m -# CONFIG_HTU21 is not set +CONFIG_HTU21=m CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y # CONFIG_HVC_DCC is not set @@ -2195,7 +2223,6 @@ CONFIG_I2C_ALGOPCF=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m CONFIG_I2C_ARB_GPIO_CHALLENGE=m -# CONFIG_I2C_BCM2048 is not set CONFIG_I2C_BCM2835=m CONFIG_I2C_BOARDINFO=y CONFIG_I2C_CADENCE=m @@ -2348,11 +2375,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2368,7 +2397,9 @@ CONFIG_IMA=y # CONFIG_IMG_ASCII_LCD is not set CONFIG_IMX2_WDT=m CONFIG_IMX7D_ADC=m +# CONFIG_IMX7ULP_WDT is not set # CONFIG_IMX_DMA is not set +CONFIG_IMX_DSP=y CONFIG_IMX_GPCV2_PM_DOMAINS=y CONFIG_IMX_GPCV2=y # CONFIG_IMX_IPUV3_CORE is not set @@ -2502,6 +2533,7 @@ CONFIG_INTEL_STRATIX10_SERVICE=m # CONFIG_INTEL_TH is not set CONFIG_INTEL_XWAY_PHY=m # CONFIG_INTERCONNECT is not set +# CONFIG_INTERCONNECT_QCOM_QCS404 is not set # CONFIG_INTERVAL_TREE_TEST is not set CONFIG_INV_MPU6050_I2C=m CONFIG_INV_MPU6050_IIO=m @@ -2517,6 +2549,7 @@ CONFIG_IOMMU_DMA=y # CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set CONFIG_IOMMU_IO_PGTABLE_LPAE=y CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2761,6 +2794,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2798,6 +2832,7 @@ CONFIG_KARMA_PARTITION=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2862,9 +2897,6 @@ CONFIG_KPROBE_EVENTS=y CONFIG_KPROBES=y CONFIG_KPSS_XCC=m CONFIG_KRAITCC=m -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set CONFIG_KS8851=m @@ -2943,7 +2975,7 @@ CONFIG_LEDS_NS2=m CONFIG_LEDS_PCA9532_GPIO=y CONFIG_LEDS_PCA9532=m # CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set +CONFIG_LEDS_PCA963X=m CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m # CONFIG_LEDS_SPI_BYTE is not set @@ -2995,7 +3027,7 @@ CONFIG_LIBFCOE=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -3004,7 +3036,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_EVENT_COUNTS is not set # CONFIG_LOCK_STAT is not set @@ -3074,7 +3108,7 @@ CONFIG_MAC_PARTITION=y CONFIG_MACSEC=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -# CONFIG_MAG3110 is not set +CONFIG_MAG3110=m CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0 CONFIG_MAGIC_SYSRQ_SERIAL=y CONFIG_MAGIC_SYSRQ=y @@ -3103,6 +3137,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -3114,8 +3149,8 @@ CONFIG_MB1232=m # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCORE2 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set +CONFIG_MCP320X=m +CONFIG_MCP3422=m CONFIG_MCP3911=m CONFIG_MCP4018=m CONFIG_MCP41010=m @@ -3191,6 +3226,7 @@ CONFIG_MEMSTICK_TIFM_MS=m # CONFIG_MEN_A21_WDT is not set CONFIG_MESON_CANVAS=m # CONFIG_MESON_CLK_MEASURE is not set +CONFIG_MESON_EE_PM_DOMAINS=y CONFIG_MESON_EFUSE=m # CONFIG_MESON_GXBB_WATCHDOG is not set # CONFIG_MESON_GXL_PHY is not set @@ -3224,8 +3260,8 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set -CONFIG_MFD_CROS_EC_CHARDEV=m -CONFIG_MFD_CROS_EC=m +CONFIG_MFD_CROS_EC_DEV=m +# CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9052_SPI is not set @@ -3344,6 +3380,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -3401,6 +3439,7 @@ CONFIG_MMC_SDHCI_ESDHC_IMX=m CONFIG_MMC_SDHCI_IPROC=m CONFIG_MMC_SDHCI=m CONFIG_MMC_SDHCI_OF_ARASAN=m +# 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_OF_ESDHC=m @@ -3427,6 +3466,7 @@ CONFIG_MMC_VUB300=m CONFIG_MMC_WBSD=m CONFIG_MMC=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set @@ -3461,6 +3501,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +CONFIG_MOXTET=m CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set CONFIG_MPL3115=m @@ -3531,6 +3572,7 @@ CONFIG_MTD_NAND_GPIO=m CONFIG_MTD_NAND_MARVELL=m # CONFIG_MTD_NAND_MESON is not set CONFIG_MTD_NAND_MXC=m +# CONFIG_MTD_NAND_MXIC is not set CONFIG_MTD_NAND_NANDSIM=m # CONFIG_MTD_NAND_OMAP2 is not set CONFIG_MTD_NAND_ORION=m @@ -3651,12 +3693,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3829,6 +3873,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3882,6 +3927,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -4047,10 +4093,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -4110,6 +4156,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y CONFIG_NO_HZ=y @@ -4183,7 +4230,7 @@ CONFIG_OPENVSWITCH_VXLAN=m CONFIG_OPT3001=m CONFIG_OPTEE=m CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -4424,6 +4471,7 @@ CONFIG_PINCTRL_MVEBU=y # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m CONFIG_PINCTRL_SAMSUNG=y +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SDM845 is not set CONFIG_PINCTRL_SINGLE=y @@ -4531,7 +4579,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4582,7 +4629,7 @@ CONFIG_PWM_HIBVT=m CONFIG_PWM_IMX27=m CONFIG_PWM_IMX_TPM=m CONFIG_PWM_MESON=m -# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_PCA9685=m CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SAMSUNG=m # CONFIG_PWM_STM32 is not set @@ -4616,6 +4663,7 @@ CONFIG_QCOM_PDC=y CONFIG_QCOM_PM8XXX_XOADC=m CONFIG_QCOM_RMTFS_MEM=m # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SOCINFO=m CONFIG_QCOM_SPMI_ADC5=m CONFIG_QCS_GCC_404=m # CONFIG_QCS_TURING_404 is not set @@ -4663,6 +4711,7 @@ CONFIG_RADIO_WL1273=m # CONFIG_RAID6_PQ_BENCHMARK is not set CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set # CONFIG_RANDOM_TRUST_CPU is not set CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4703,13 +4752,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y # CONFIG_RDMA_RXE is not set -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set # CONFIG_RDS is not set # CONFIG_RDS_RDMA is not set CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4766,6 +4816,7 @@ CONFIG_REGULATOR_STM32_PWR=y CONFIG_REGULATOR_STM32_VREFBUF=m CONFIG_REGULATOR_STPMIC1=m CONFIG_REGULATOR_SY8106A=m +# CONFIG_REGULATOR_SY8824X is not set CONFIG_REGULATOR_TPS51632=m CONFIG_REGULATOR_TPS62360=m CONFIG_REGULATOR_TPS65023=m @@ -4791,7 +4842,7 @@ CONFIG_REISERFS_FS_XATTR=y CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set CONFIG_RESET_CONTROLLER=y @@ -4799,6 +4850,7 @@ CONFIG_RESET_IMX7=y CONFIG_RESET_MESON_AUDIO_ARB=m # CONFIG_RESET_QCOM_AOSS is not set CONFIG_RESET_QCOM_PDC=m +CONFIG_RESET_SCMI=y CONFIG_RESET_SIMPLE=y CONFIG_RESET_STM32MP157=y # CONFIG_RESET_TI_SCI is not set @@ -4942,6 +4994,7 @@ CONFIG_RTC_DRV_MAX77686=m CONFIG_RTC_DRV_MAX8997=m # CONFIG_RTC_DRV_MCP795 is not set CONFIG_RTC_DRV_MESON=m +CONFIG_RTC_DRV_MESON_VRTC=m CONFIG_RTC_DRV_MSM6242=m CONFIG_RTC_DRV_MV=m # CONFIG_RTC_DRV_MXC is not set @@ -5186,6 +5239,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y # CONFIG_SECURITY_INFINIBAND is not set # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -5213,7 +5268,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -5226,6 +5280,7 @@ CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_ARM_SCMI=m CONFIG_SENSORS_ARM_SCPI=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -5256,6 +5311,7 @@ CONFIG_SENSORS_IIO_HWMON=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5389,7 +5445,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -5412,6 +5467,7 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set CONFIG_SERIAL_FSL_LPUART_CONSOLE=y CONFIG_SERIAL_FSL_LPUART=y # CONFIG_SERIAL_IFX6X60 is not set @@ -5462,7 +5518,6 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -5498,6 +5553,7 @@ CONFIG_SMC91X=m CONFIG_SMC_DIAG=m CONFIG_SMC=m # CONFIG_SM_FTL is not set +# CONFIG_SM_GCC_8150 is not set CONFIG_SMP_ON_UP=y CONFIG_SMP=y CONFIG_SMSC911X=m @@ -5590,7 +5646,8 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set +# CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_PREALLOC_SIZE=4096 @@ -5667,6 +5724,7 @@ CONFIG_SND_SOC_AC97_CODEC=m # CONFIG_SND_SOC_ADAU1701 is not set CONFIG_SND_SOC_ADAU1761_I2C=m CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU1977_I2C=m CONFIG_SND_SOC_ADAU7002=m # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4118 is not set @@ -5690,21 +5748,22 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m CONFIG_SND_SOC_CS35L34=m CONFIG_SND_SOC_CS35L35=m CONFIG_SND_SOC_CS35L36=m -# CONFIG_SND_SOC_CS4265 is not set +CONFIG_SND_SOC_CS4265=m # CONFIG_SND_SOC_CS4270 is not set -# CONFIG_SND_SOC_CS4271_I2C is not set +CONFIG_SND_SOC_CS4271_I2C=m # CONFIG_SND_SOC_CS4271_SPI is not set CONFIG_SND_SOC_CS42L42=m # CONFIG_SND_SOC_CS42L51_I2C is not set # CONFIG_SND_SOC_CS42L52 is not set # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set -# CONFIG_SND_SOC_CS42XX8_I2C is not set +CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_CS43130=m # CONFIG_SND_SOC_CS4341 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m CONFIG_SND_SOC_DAVINCI_MCASP=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_ES7134=m @@ -5727,6 +5786,7 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y CONFIG_SND_SOC_HDAC_HDA=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ICS43432=m # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_IMX_AUDMIX is not set # CONFIG_SND_SOC_IMX_AUDMUX is not set @@ -5736,6 +5796,7 @@ CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MAX98088=m CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98357A=m CONFIG_SND_SOC_MAX98373=m # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set @@ -5761,6 +5822,7 @@ CONFIG_SND_SOC_PCM3060_I2C=m CONFIG_SND_SOC_PCM3060_SPI=m # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set +CONFIG_SND_SOC_PCM5102A=m CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_SPI=m @@ -5789,6 +5851,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -5827,8 +5890,9 @@ CONFIG_SND_SOC_TEGRA_SGTL5000=m # CONFIG_SND_SOC_TEGRA_WM8903 is not set # CONFIG_SND_SOC_TEGRA_WM9712 is not set # CONFIG_SND_SOC_TFA9879 is not set -# CONFIG_SND_SOC_TLV320AIC23_I2C is not set -# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +CONFIG_SND_SOC_TLV320AIC23_I2C=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC23_SPI=m # CONFIG_SND_SOC_TLV320AIC31XX is not set CONFIG_SND_SOC_TLV320AIC32X4_I2C=m CONFIG_SND_SOC_TLV320AIC32X4_SPI=m @@ -5837,15 +5901,16 @@ CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set -# CONFIG_SND_SOC_WM8731 is not set +CONFIG_SND_SOC_WM8731=m # CONFIG_SND_SOC_WM8737 is not set -# CONFIG_SND_SOC_WM8741 is not set +CONFIG_SND_SOC_WM8741=m # CONFIG_SND_SOC_WM8750 is not set # CONFIG_SND_SOC_WM8753 is not set # CONFIG_SND_SOC_WM8770 is not set @@ -5919,7 +5984,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPARSEMEM_MANUAL=y @@ -6126,6 +6190,7 @@ CONFIG_TASKSTATS=y CONFIG_TASK_XACCT=y CONFIG_TCG_ATMEL=m CONFIG_TCG_CRB=y +CONFIG_TCG_FTPM_TEE=m # CONFIG_TCG_INFINEON is not set CONFIG_TCG_NSC=m CONFIG_TCG_TIS_I2C_ATMEL=m @@ -6196,6 +6261,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -6266,7 +6332,6 @@ CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m CONFIG_TINYDRM_MI0283QT=m -CONFIG_TINYDRM_MIPI_DBI=m CONFIG_TINYDRM_REPAPER=m CONFIG_TINYDRM_ST7586=m CONFIG_TINYDRM_ST7735R=m @@ -6281,7 +6346,7 @@ CONFIG_TI_SOC_THERMAL=m CONFIG_TI_THERMAL=y # CONFIG_TI_TLC4541 is not set # CONFIG_TLAN is not set -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set CONFIG_TMP006=m @@ -6313,9 +6378,9 @@ CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m # CONFIG_TOUCHSCREEN_EKTF2127 is not set CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m -# CONFIG_TOUCHSCREEN_EXC3000 is not set +CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m -# CONFIG_TOUCHSCREEN_GOODIX is not set +CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_GUNZE=m # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set @@ -6383,7 +6448,7 @@ CONFIG_TRUSTED_KEYS=m # CONFIG_TS4800_WATCHDOG is not set # CONFIG_TSL2583 is not set CONFIG_TSL2772=m -# CONFIG_TSL4531 is not set +CONFIG_TSL4531=m # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set CONFIG_TULIP=m @@ -6401,6 +6466,7 @@ CONFIG_TUNE_DEFAULT=y # CONFIG_TUNE_ZEC12 is not set CONFIG_TUN=m # CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_TURRIS_MOX_RWTM=m # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set CONFIG_TYPEC_DP_ALTMODE=m @@ -6416,6 +6482,7 @@ CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m # CONFIG_UACCESS_WITH_MEMCPY is not set +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -6476,6 +6543,7 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m CONFIG_USB_CHIPIDEA_HOST=y CONFIG_USB_CHIPIDEA=m @@ -6500,6 +6568,7 @@ CONFIG_USB_CONFIGFS_NCM=y CONFIG_USB_CONFIGFS_OBEX=y # CONFIG_USB_CONFIGFS_RNDIS is not set CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONN_GPIO=m CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -6698,9 +6767,10 @@ CONFIG_USB_NET_SR9700=m # CONFIG_USB_NET_SR9800 is not set CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_EXYNOS=m +CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD_PCI=m CONFIG_USB_OHCI_HCD_PLATFORM=m -CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_HCD_SSB is not set # CONFIG_USB_OTG_BLACKLIST_HUB is not set CONFIG_USB_OTG_FSM=m # CONFIG_USB_OTG_WHITELIST is not set @@ -6720,7 +6790,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597 is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -6859,7 +6928,7 @@ CONFIG_VALIDATE_FS_PARSER=y # CONFIG_VCNL4000 is not set CONFIG_VCNL4035=m CONFIG_VDSO=y -# CONFIG_VEML6070 is not set +CONFIG_VEML6070=m CONFIG_VETH=m CONFIG_VEXPRESS_SYSCFG=y # CONFIG_VF610_ADC is not set @@ -6979,6 +7048,7 @@ CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160=m # CONFIG_VIDEO_STM32_DCMI is not set CONFIG_VIDEO_STM32_HDMI_CEC=m +CONFIG_VIDEO_SUN4I_CSI=m CONFIG_VIDEO_SUN6I_CSI=m CONFIG_VIDEO_SUNXI_CEDRUS=m CONFIG_VIDEO_SUNXI=y @@ -7003,6 +7073,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -7051,6 +7122,7 @@ CONFIG_W1_MASTER_DS2490=m CONFIG_W1_MASTER_GPIO=m # CONFIG_W1_MASTER_MATROX is not set # CONFIG_W1_MASTER_MXC is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -7061,6 +7133,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-i686-debug.config b/kernel-i686-debug-fedora.config index 95884ea08..c174b8623 100644 --- a/kernel-i686-debug.config +++ b/kernel-i686-debug-fedora.config @@ -135,6 +135,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -144,6 +145,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -236,19 +238,14 @@ CONFIG_AR5523=m # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCNET is not set CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM_PTDUMP_DEBUGFS=y @@ -298,6 +295,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -452,6 +450,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -646,16 +645,21 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set # CONFIG_CAN_FLEXCAN is not set # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y @@ -849,6 +853,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_IDLE_GOV_HALTPOLL=y # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -859,7 +864,6 @@ CONFIG_CPUSETS=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -876,21 +880,16 @@ CONFIG_CRC_ITU_T=m CONFIG_CRC_PMIC_OPREGION=y CONFIG_CRC_T10DIF=y CONFIG_CROS_EC_DEBUGFS=m -CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m +# CONFIG_CROS_EC is not set # CONFIG_CROS_EC_LIGHTBAR is not set -CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m -CONFIG_CROS_EC_SPI=m CONFIG_CROS_KBD_LED_BACKLIGHT=m CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m -CONFIG_CRYPTO_AES_586=y CONFIG_CRYPTO_AES_NI_INTEL=y CONFIG_CRYPTO_AES_TI=m CONFIG_CRYPTO_AES=y @@ -923,6 +922,7 @@ CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCP=y # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m @@ -941,6 +941,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set CONFIG_CRYPTO_DEV_SP_CCP=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y @@ -951,6 +952,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -970,8 +972,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NHPOLY1305_AVX2=m CONFIG_CRYPTO_NHPOLY1305_SSE2=m CONFIG_CRYPTO_NULL=y @@ -992,7 +992,7 @@ CONFIG_CRYPTO_SERPENT_SSE2_586=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -1047,17 +1047,16 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KOBJECT is not set @@ -1145,6 +1144,7 @@ CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y +# CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1157,6 +1157,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1183,6 +1184,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1202,6 +1204,7 @@ CONFIG_DRBD_FAULT_INJECTION=y CONFIG_DRM_AMD_ACP=y CONFIG_DRM_AMD_DC_DCN1_0=y CONFIG_DRM_AMD_DC_DCN2_0=y +CONFIG_DRM_AMD_DC_DCN2_1=y CONFIG_DRM_AMD_DC_DSC_SUPPORT=y CONFIG_DRM_AMD_DC=y CONFIG_DRM_AMDGPU_CIK=y @@ -1224,6 +1227,7 @@ CONFIG_DRM_DP_CEC=y # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1262,13 +1266,17 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1280,10 +1288,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1298,9 +1310,8 @@ CONFIG_DRM_RADEON_USERPTR=y # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m # CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TINYDRM is not set CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1462,9 +1473,10 @@ CONFIG_EEPROM_MAX6875=m # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y +CONFIG_EFI_RCI2_TABLE=y CONFIG_EFI_RUNTIME_MAP=y CONFIG_EFI_STUB=y -# CONFIG_EFI_TEST is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y # CONFIG_EFI_VARS is not set # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set @@ -1489,6 +1501,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1663,10 +1676,14 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1800,6 +1817,7 @@ CONFIG_GTP=m # CONFIG_GUP_BENCHMARK is not set CONFIG_GVE=m # CONFIG_HABANA_AI is not set +CONFIG_HALTPOLL_CPUIDLE=y CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m @@ -1811,8 +1829,8 @@ CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y @@ -1839,6 +1857,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2020,7 +2039,6 @@ CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_AMD_MP2=m # CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_CHARDEV=m @@ -2160,11 +2178,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2351,6 +2371,7 @@ CONFIG_IO_DELAY_0X80=y CONFIG_IOMMU_DEBUGFS=y # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y # CONFIG_IOSF_MBI_DEBUG is not set CONFIG_IOSF_MBI=y @@ -2597,6 +2618,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2636,6 +2658,7 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2826,7 +2849,7 @@ CONFIG_LIBFCOE=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -2835,8 +2858,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL_FORCE is not set -CONFIG_LOCK_DOWN_KERNEL=y +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y CONFIG_LOCK_EVENT_COUNTS=y CONFIG_LOCK_STAT=y @@ -2927,6 +2951,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -3152,6 +3177,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -3194,6 +3221,7 @@ CONFIG_MMC_SDHCI_CADENCE=m # CONFIG_MMC_SDHCI_F_SDH30 is not set CONFIG_MMC_SDHCI=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_OF_ESDHC is not set @@ -3214,6 +3242,7 @@ CONFIG_MMC_WBSD=m # CONFIG_MMIOTRACE_TEST is not set CONFIG_MMIOTRACE=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_FORCE_UNLOAD=y @@ -3250,6 +3279,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +# CONFIG_MOXTET is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMII is not set @@ -3314,6 +3344,7 @@ CONFIG_MTD_NAND_CAFE=m # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3421,12 +3452,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3600,6 +3633,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3651,6 +3685,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -3819,10 +3854,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -3883,6 +3918,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set # CONFIG_NOHIGHMEM is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y @@ -3941,7 +3977,7 @@ CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_VXLAN=m # CONFIG_OPROFILE is not set CONFIG_OPT3001=m -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -3971,7 +4007,7 @@ CONFIG_PANASONIC_LAPTOP=m CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARAVIRT_DEBUG is not set -# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_SPINLOCKS=y CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set @@ -4152,6 +4188,7 @@ CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SINGLE is not set # CONFIG_PINCTRL_SM8150 is not set @@ -4247,7 +4284,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4353,6 +4389,7 @@ CONFIG_RADIO_WL1273=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set CONFIG_RANDOM_TRUST_CPU=y CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4393,13 +4430,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4438,6 +4476,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4457,7 +4496,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_TI_SYSCON is not set @@ -4804,6 +4843,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -4834,7 +4875,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -4846,6 +4886,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m @@ -4884,6 +4925,7 @@ CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5017,7 +5059,6 @@ CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_LPSS=m CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_MID=y -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -5034,6 +5075,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m @@ -5070,7 +5112,6 @@ CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFI=y CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -5192,6 +5233,7 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 @@ -5334,7 +5376,9 @@ CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CML_H=m +CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_CML_LP=m +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m # CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH is not set CONFIG_SND_SOC_INTEL_HASWELL=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m @@ -5347,11 +5391,14 @@ CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y +# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set CONFIG_SND_SOC_INTEL_SKYLAKE=m +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MAX98088=m @@ -5390,12 +5437,28 @@ CONFIG_SND_SOC_RT5660=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y # CONFIG_SND_SOC_SOF_DEBUG is not set -# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set +CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y +# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y +CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y +CONFIG_SND_SOC_SOF_HDA_LINK=y +CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y +CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set +CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y CONFIG_SND_SOC_SOF_TOPLEVEL=y CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_SSM2305 is not set @@ -5422,6 +5485,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5492,7 +5556,6 @@ CONFIG_SONYPI_COMPAT=y CONFIG_SONYPI=m CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE_INTEL=m CONFIG_SOUNDWIRE=y @@ -5692,6 +5755,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -5760,6 +5824,13 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_DIAG=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set @@ -5768,7 +5839,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set # CONFIG_TMP006 is not set @@ -5903,6 +5974,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -5961,9 +6033,11 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -6130,6 +6204,7 @@ CONFIG_USB_NET_SR9700=m CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_OTG is not set @@ -6147,7 +6222,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLES_INTEL_XHCI=m CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m @@ -6319,7 +6393,7 @@ CONFIG_VIDEO_BT848=m # CONFIG_VIDEO_CADENCE is not set CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_CPIA2=m -CONFIG_VIDEO_CROS_EC_CEC=m +# CONFIG_VIDEO_CROS_EC_CEC is not set CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX231XX_ALSA=m @@ -6398,6 +6472,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -6450,6 +6525,7 @@ CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_GPIO is not set # CONFIG_W1_MASTER_MATROX is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -6460,6 +6536,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-i686.config b/kernel-i686-fedora.config index a89417761..e5c5bb988 100644 --- a/kernel-i686.config +++ b/kernel-i686-fedora.config @@ -135,6 +135,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -144,6 +145,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -236,19 +238,14 @@ CONFIG_AR5523=m # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCNET is not set CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set @@ -297,6 +294,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -451,6 +449,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -645,16 +644,21 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set # CONFIG_CAN_FLEXCAN is not set # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y @@ -848,6 +852,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_IDLE_GOV_HALTPOLL=y # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -858,7 +863,6 @@ CONFIG_CPUSETS=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -875,21 +879,16 @@ CONFIG_CRC_ITU_T=m CONFIG_CRC_PMIC_OPREGION=y CONFIG_CRC_T10DIF=y # CONFIG_CROS_EC_DEBUGFS is not set -CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m +# CONFIG_CROS_EC is not set # CONFIG_CROS_EC_LIGHTBAR is not set -CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m -CONFIG_CROS_EC_SPI=m CONFIG_CROS_KBD_LED_BACKLIGHT=m CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m -CONFIG_CRYPTO_AES_586=y CONFIG_CRYPTO_AES_NI_INTEL=y CONFIG_CRYPTO_AES_TI=m CONFIG_CRYPTO_AES=y @@ -922,6 +921,7 @@ CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCP=y # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m @@ -940,6 +940,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set CONFIG_CRYPTO_DEV_SP_CCP=y CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y @@ -950,6 +951,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -969,8 +971,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NHPOLY1305_AVX2=m CONFIG_CRYPTO_NHPOLY1305_SSE2=m CONFIG_CRYPTO_NULL=y @@ -991,7 +991,7 @@ CONFIG_CRYPTO_SERPENT_SSE2_586=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -1046,11 +1046,10 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y @@ -1137,6 +1136,7 @@ CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set +# CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set CONFIG_DMADEVICES=y @@ -1148,6 +1148,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1174,6 +1175,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1193,6 +1195,7 @@ CONFIG_DRAGONRISE_FF=y CONFIG_DRM_AMD_ACP=y CONFIG_DRM_AMD_DC_DCN1_0=y CONFIG_DRM_AMD_DC_DCN2_0=y +CONFIG_DRM_AMD_DC_DCN2_1=y CONFIG_DRM_AMD_DC_DSC_SUPPORT=y CONFIG_DRM_AMD_DC=y CONFIG_DRM_AMDGPU_CIK=y @@ -1215,6 +1218,7 @@ CONFIG_DRM_DP_CEC=y # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1253,13 +1257,17 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1271,10 +1279,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1289,9 +1301,8 @@ CONFIG_DRM_RADEON_USERPTR=y # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m # CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TINYDRM is not set CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1453,9 +1464,10 @@ CONFIG_EEPROM_MAX6875=m # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set +CONFIG_EFI_RCI2_TABLE=y CONFIG_EFI_RUNTIME_MAP=y CONFIG_EFI_STUB=y -# CONFIG_EFI_TEST is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y # CONFIG_EFI_VARS is not set # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set @@ -1480,6 +1492,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1646,10 +1659,14 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1783,6 +1800,7 @@ CONFIG_GTP=m # CONFIG_GUP_BENCHMARK is not set CONFIG_GVE=m # CONFIG_HABANA_AI is not set +CONFIG_HALTPOLL_CPUIDLE=y CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m @@ -1794,8 +1812,8 @@ CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y @@ -1822,6 +1840,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2003,7 +2022,6 @@ CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_AMD_MP2=m # CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_CHARDEV=m @@ -2143,11 +2161,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2334,6 +2354,7 @@ CONFIG_IO_DELAY_0X80=y # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y # CONFIG_IOSF_MBI_DEBUG is not set CONFIG_IOSF_MBI=y @@ -2580,6 +2601,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2617,6 +2639,7 @@ CONFIG_KARMA_PARTITION=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2807,7 +2830,7 @@ CONFIG_LIBFCOE=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -2816,8 +2839,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL_FORCE is not set -CONFIG_LOCK_DOWN_KERNEL=y +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_EVENT_COUNTS is not set # CONFIG_LOCK_STAT is not set @@ -2908,6 +2932,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -2915,7 +2940,7 @@ CONFIG_MAX44009=m # CONFIG_MAX9611 is not set CONFIG_MAXIM_THERMOCOUPLE=m CONFIG_MAX_RAW_DEVS=8192 -# CONFIG_MAXSMP is not set +CONFIG_MAXSMP=y CONFIG_MB1232=m # CONFIG_MC3230 is not set # CONFIG_MCB is not set @@ -3133,6 +3158,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set # CONFIG_MLX5_INFINIBAND is not set CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -3175,6 +3202,7 @@ CONFIG_MMC_SDHCI_CADENCE=m # CONFIG_MMC_SDHCI_F_SDH30 is not set CONFIG_MMC_SDHCI=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_OF_ESDHC is not set @@ -3195,6 +3223,7 @@ CONFIG_MMC_WBSD=m # CONFIG_MMIOTRACE_TEST is not set CONFIG_MMIOTRACE=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set @@ -3231,6 +3260,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +# CONFIG_MOXTET is not set # CONFIG_MPENTIUM4 is not set # CONFIG_MPENTIUMIII is not set # CONFIG_MPENTIUMII is not set @@ -3295,6 +3325,7 @@ CONFIG_MTD_NAND_CAFE=m # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3402,12 +3433,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3581,6 +3614,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3632,6 +3666,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -3800,10 +3835,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -3864,6 +3899,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set # CONFIG_NOHIGHMEM is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y @@ -3922,7 +3958,7 @@ CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_VXLAN=m # CONFIG_OPROFILE is not set CONFIG_OPT3001=m -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -3952,7 +3988,7 @@ CONFIG_PANASONIC_LAPTOP=m CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARAVIRT_DEBUG is not set -# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_SPINLOCKS=y CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set @@ -4133,6 +4169,7 @@ CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SINGLE is not set # CONFIG_PINCTRL_SM8150 is not set @@ -4228,7 +4265,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4333,6 +4369,7 @@ CONFIG_RADIO_WL1273=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set CONFIG_RANDOM_TRUST_CPU=y CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4373,13 +4410,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4418,6 +4456,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4437,7 +4476,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_TI_SYSCON is not set @@ -4784,6 +4823,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -4814,7 +4855,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -4826,6 +4866,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m @@ -4864,6 +4905,7 @@ CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -4997,7 +5039,6 @@ CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_LPSS=m CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_MID=y -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -5014,6 +5055,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m @@ -5050,7 +5092,6 @@ CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFI=y CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -5172,6 +5213,7 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 @@ -5313,7 +5355,9 @@ CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CML_H=m +CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_CML_LP=m +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m # CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH is not set CONFIG_SND_SOC_INTEL_HASWELL=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m @@ -5326,11 +5370,14 @@ CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y +# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set CONFIG_SND_SOC_INTEL_SKYLAKE=m +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MAX98088=m @@ -5369,12 +5416,28 @@ CONFIG_SND_SOC_RT5660=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y # CONFIG_SND_SOC_SOF_DEBUG is not set -# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set +CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y +# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y +CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y +CONFIG_SND_SOC_SOF_HDA_LINK=y +CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y +CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set +CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y CONFIG_SND_SOC_SOF_TOPLEVEL=y CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_SSM2305 is not set @@ -5401,6 +5464,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5471,7 +5535,6 @@ CONFIG_SONYPI_COMPAT=y CONFIG_SONYPI=m CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE_INTEL=m CONFIG_SOUNDWIRE=y @@ -5671,6 +5734,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -5739,6 +5803,13 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_DIAG=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set @@ -5747,7 +5818,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set # CONFIG_TMP006 is not set @@ -5882,6 +5953,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -5940,9 +6012,11 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -6109,6 +6183,7 @@ CONFIG_USB_NET_SR9700=m CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_OTG is not set @@ -6126,7 +6201,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLES_INTEL_XHCI=m CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m @@ -6298,7 +6372,7 @@ CONFIG_VIDEO_BT848=m # CONFIG_VIDEO_CADENCE is not set CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_CPIA2=m -CONFIG_VIDEO_CROS_EC_CEC=m +# CONFIG_VIDEO_CROS_EC_CEC is not set CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX231XX_ALSA=m @@ -6377,6 +6451,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -6429,6 +6504,7 @@ CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_GPIO is not set # CONFIG_W1_MASTER_MATROX is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -6439,6 +6515,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-ppc64le-debug.config b/kernel-ppc64le-debug-fedora.config index 8149447fd..05c53b910 100644 --- a/kernel-ppc64le-debug.config +++ b/kernel-ppc64le-debug-fedora.config @@ -99,6 +99,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -108,6 +109,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -165,7 +167,6 @@ CONFIG_AMD8111_ETH=m # CONFIG_AMD_IOMMU_DEBUGFS is not set CONFIG_AMD_PHY=m # CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set CONFIG_AMIGA_PARTITION=y # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set @@ -181,19 +182,14 @@ CONFIG_AR5523=m # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCNET is not set CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM_PTDUMP_DEBUGFS=y @@ -239,6 +235,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -390,6 +387,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -584,16 +582,21 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set # CONFIG_CAN_FLEXCAN is not set # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MSCAN is not set @@ -787,6 +790,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -798,7 +802,6 @@ CONFIG_CPUSETS=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -815,6 +818,7 @@ CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y # CONFIG_CROS_EC_DEBUGFS is not set CONFIG_CROS_EC_ISHTP=m +# CONFIG_CROS_EC is not set # CONFIG_CROS_EC_LIGHTBAR is not set CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_KBD_LED_BACKLIGHT=m @@ -822,9 +826,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m CONFIG_CRYPTO_AES_TI=m CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ANSI_CPRNG=m @@ -853,6 +855,7 @@ CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_CHELSIO_TLS=m @@ -865,6 +868,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS=m CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m CONFIG_CRYPTO_DEV_NX=y +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m @@ -877,6 +881,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -897,8 +902,6 @@ CONFIG_CRYPTO_MD4=m # CONFIG_CRYPTO_MD5_PPC is not set CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m CONFIG_CRYPTO_PCBC=m @@ -917,7 +920,7 @@ CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -971,17 +974,16 @@ CONFIG_DEBUGGER=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KOBJECT is not set @@ -1058,6 +1060,7 @@ CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y +# CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1070,6 +1073,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1094,6 +1098,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1131,6 +1136,7 @@ CONFIG_DRM_DP_CEC=y # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m # CONFIG_DRM_HISI_HIBMC is not set # CONFIG_DRM_I2C_ADV7511 is not set CONFIG_DRM_I2C_ADV7533=y @@ -1157,13 +1163,17 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1175,10 +1185,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1193,9 +1207,8 @@ CONFIG_DRM_RADEON_USERPTR=y # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m # CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TINYDRM is not set CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1330,6 +1343,7 @@ CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y +# CONFIG_EFI_RCI2_TABLE is not set # CONFIG_EFI_TEST is not set # CONFIG_EFS_FS is not set # CONFIG_EMBEDDED is not set @@ -1349,6 +1363,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1511,11 +1526,15 @@ CONFIG_FSI_OCC=m CONFIG_FSI_SBEFIFO=m CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_LBC is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1645,8 +1664,8 @@ CONFIG_HAVE_BOOTMEM_INFO_NODE=y CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y @@ -1673,6 +1692,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -1766,7 +1786,7 @@ CONFIG_HIGH_RES_TIMERS=y CONFIG_HIST_TRIGGERS=y # CONFIG_HMC6352 is not set # CONFIG_HMC_DRV is not set -# CONFIG_HMM_MIRROR is not set +CONFIG_HMM_MIRROR=y CONFIG_HOLTEK_FF=y # CONFIG_HOSTAP is not set CONFIG_HOTPLUG_CPU=y @@ -1836,7 +1856,6 @@ CONFIG_I2C_ALGOPCF=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m # CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_CHARDEV=m @@ -1967,11 +1986,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2116,6 +2137,7 @@ CONFIG_IO_EVENT_IRQ=y CONFIG_IOMMU_DEBUGFS=y # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2355,6 +2377,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2395,6 +2418,7 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2447,9 +2471,6 @@ CONFIG_KGDB=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set CONFIG_KPROBES=y -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set @@ -2579,7 +2600,7 @@ CONFIG_LIBNVDIMM=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -2588,7 +2609,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y CONFIG_LOCK_EVENT_COUNTS=y CONFIG_LOCK_STAT=y @@ -2675,6 +2698,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -2891,6 +2915,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -2932,6 +2958,7 @@ CONFIG_MMC_SDHCI_CADENCE=m # CONFIG_MMC_SDHCI_F_SDH30 is not set CONFIG_MMC_SDHCI=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_OF_ESDHC is not set @@ -2952,6 +2979,7 @@ CONFIG_MMC_VUB300=m CONFIG_MMC_WBSD=m CONFIG_MMIOTRACE=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_FORCE_UNLOAD=y @@ -2986,6 +3014,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +# CONFIG_MOXTET is not set # CONFIG_MPIC_MSGR is not set CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set @@ -3045,6 +3074,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3145,12 +3175,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3323,6 +3355,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3375,6 +3408,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -3540,10 +3574,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -3603,6 +3637,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y CONFIG_NO_HZ=y @@ -3614,7 +3649,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOUVEAU_DEBUG_MMU=y # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set CONFIG_NOZOMI=m -CONFIG_NR_CPUS=1024 +CONFIG_NR_CPUS=2048 CONFIG_NR_IRQS=512 CONFIG_NS83820=m # CONFIG_NTB is not set @@ -3652,6 +3687,7 @@ CONFIG_OF_PMEM=m # CONFIG_OF_UNITTEST is not set CONFIG_OF=y # CONFIG_OMFS_FS is not set +# CONFIG_OPAL_CORE is not set CONFIG_OPAL_PRD=m CONFIG_OPENVSWITCH_GENEVE=m CONFIG_OPENVSWITCH_GRE=m @@ -3659,7 +3695,7 @@ CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_VXLAN=m # CONFIG_OPROFILE is not set CONFIG_OPT3001=m -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -3832,6 +3868,7 @@ CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SM8150 is not set # CONFIG_PINCTRL_STMFX is not set @@ -3928,6 +3965,7 @@ CONFIG_PPC_RADIX_MMU=y CONFIG_PPC_SMLPAR=y CONFIG_PPC_SPLPAR=y CONFIG_PPC_SUBPAGE_PROT=y +CONFIG_PPC_SVM=y CONFIG_PPC_TRANSACTIONAL_MEM=y CONFIG_PPC_VAS=y CONFIG_PPC=y @@ -3952,7 +3990,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4052,6 +4089,7 @@ CONFIG_RADIO_WL1273=m # CONFIG_RAID6_PQ_BENCHMARK is not set CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set CONFIG_RANDOM_TRUST_CPU=y CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4090,13 +4128,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4136,6 +4175,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4154,7 +4194,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_TI_SYSCON is not set @@ -4500,6 +4540,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -4527,7 +4569,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -4538,6 +4579,7 @@ CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -4569,6 +4611,7 @@ CONFIG_SENSORS_IBMPOWERNV=y CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -4698,7 +4741,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -4715,6 +4757,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_ICOM=m # CONFIG_SERIAL_IFX6X60 is not set @@ -4752,7 +4795,6 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -4874,6 +4916,7 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 @@ -5038,6 +5081,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -5066,6 +5110,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TS3A227E is not set CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5130,7 +5175,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPAPR_TCE_IOMMU=y @@ -5328,6 +5372,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -5389,6 +5434,13 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_DIAG=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set @@ -5397,7 +5449,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set # CONFIG_TMP006 is not set @@ -5527,6 +5579,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -5585,9 +5638,11 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -5758,6 +5813,7 @@ CONFIG_USB_OHCI_HCD_PCI=y CONFIG_USB_OHCI_HCD_PPC_OF_BE=y CONFIG_USB_OHCI_HCD_PPC_OF_LE=y CONFIG_USB_OHCI_HCD_PPC_OF=y +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_OTG is not set @@ -5775,7 +5831,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -6015,6 +6070,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -6063,6 +6119,7 @@ CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_GPIO is not set # CONFIG_W1_MASTER_MATROX is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -6073,6 +6130,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-ppc64le-debug-rhel.config b/kernel-ppc64le-debug-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-ppc64le-debug-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel-ppc64le.config b/kernel-ppc64le-fedora.config index caf7a2587..637910909 100644 --- a/kernel-ppc64le.config +++ b/kernel-ppc64le-fedora.config @@ -99,6 +99,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -108,6 +109,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -165,7 +167,6 @@ CONFIG_AMD8111_ETH=m # CONFIG_AMD_IOMMU_DEBUGFS is not set CONFIG_AMD_PHY=m # CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set CONFIG_AMIGA_PARTITION=y # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set @@ -181,19 +182,14 @@ CONFIG_AR5523=m # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCNET is not set CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set @@ -238,6 +234,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -389,6 +386,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -583,16 +581,21 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set # CONFIG_CAN_FLEXCAN is not set # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set # CONFIG_CAN_MSCAN is not set @@ -786,6 +789,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -797,7 +801,6 @@ CONFIG_CPUSETS=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -814,6 +817,7 @@ CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y # CONFIG_CROS_EC_DEBUGFS is not set CONFIG_CROS_EC_ISHTP=m +# CONFIG_CROS_EC is not set # CONFIG_CROS_EC_LIGHTBAR is not set CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_KBD_LED_BACKLIGHT=m @@ -821,9 +825,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m CONFIG_CRYPTO_AES_TI=m CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ANSI_CPRNG=m @@ -852,6 +854,7 @@ CONFIG_CRYPTO_DEFLATE=y CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_CHELSIO_TLS=m @@ -864,6 +867,7 @@ CONFIG_CRYPTO_DEV_NX_COMPRESS=m CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m CONFIG_CRYPTO_DEV_NX=y +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m @@ -876,6 +880,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -896,8 +901,6 @@ CONFIG_CRYPTO_MD4=m # CONFIG_CRYPTO_MD5_PPC is not set CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m CONFIG_CRYPTO_PCBC=m @@ -916,7 +919,7 @@ CONFIG_CRYPTO_SERPENT=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -970,11 +973,10 @@ CONFIG_DEBUGGER=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y @@ -1050,6 +1052,7 @@ CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set +# CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set CONFIG_DMADEVICES=y @@ -1061,6 +1064,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1085,6 +1089,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1122,6 +1127,7 @@ CONFIG_DRM_DP_CEC=y # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m # CONFIG_DRM_HISI_HIBMC is not set # CONFIG_DRM_I2C_ADV7511 is not set CONFIG_DRM_I2C_ADV7533=y @@ -1148,13 +1154,17 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1166,10 +1176,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1184,9 +1198,8 @@ CONFIG_DRM_RADEON_USERPTR=y # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m # CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TINYDRM is not set CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1321,6 +1334,7 @@ CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set +# CONFIG_EFI_RCI2_TABLE is not set # CONFIG_EFI_TEST is not set # CONFIG_EFS_FS is not set # CONFIG_EMBEDDED is not set @@ -1340,6 +1354,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1494,11 +1509,15 @@ CONFIG_FSI_OCC=m CONFIG_FSI_SBEFIFO=m CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_LBC is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1628,8 +1647,8 @@ CONFIG_HAVE_BOOTMEM_INFO_NODE=y CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y @@ -1656,6 +1675,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -1749,7 +1769,7 @@ CONFIG_HIGH_RES_TIMERS=y CONFIG_HIST_TRIGGERS=y # CONFIG_HMC6352 is not set # CONFIG_HMC_DRV is not set -# CONFIG_HMM_MIRROR is not set +CONFIG_HMM_MIRROR=y CONFIG_HOLTEK_FF=y # CONFIG_HOSTAP is not set CONFIG_HOTPLUG_CPU=y @@ -1819,7 +1839,6 @@ CONFIG_I2C_ALGOPCF=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m # CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_CHARDEV=m @@ -1950,11 +1969,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2099,6 +2120,7 @@ CONFIG_IO_EVENT_IRQ=y # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2338,6 +2360,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2376,6 +2399,7 @@ CONFIG_KARMA_PARTITION=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2428,9 +2452,6 @@ CONFIG_KGDB=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set CONFIG_KPROBES=y -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set @@ -2560,7 +2581,7 @@ CONFIG_LIBNVDIMM=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -2569,7 +2590,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_EVENT_COUNTS is not set # CONFIG_LOCK_STAT is not set @@ -2656,6 +2679,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -2871,6 +2895,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -2912,6 +2938,7 @@ CONFIG_MMC_SDHCI_CADENCE=m # CONFIG_MMC_SDHCI_F_SDH30 is not set CONFIG_MMC_SDHCI=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_OF_ESDHC is not set @@ -2931,6 +2958,7 @@ CONFIG_MMC_VIA_SDMMC=m CONFIG_MMC_VUB300=m CONFIG_MMC_WBSD=m CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set @@ -2965,6 +2993,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +# CONFIG_MOXTET is not set # CONFIG_MPIC_MSGR is not set CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set @@ -3024,6 +3053,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3124,12 +3154,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3302,6 +3334,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3354,6 +3387,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -3519,10 +3553,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -3582,6 +3616,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y CONFIG_NO_HZ=y @@ -3593,7 +3628,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 # CONFIG_NOUVEAU_DEBUG_MMU is not set # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set CONFIG_NOZOMI=m -CONFIG_NR_CPUS=1024 +CONFIG_NR_CPUS=2048 CONFIG_NR_IRQS=512 CONFIG_NS83820=m # CONFIG_NTB is not set @@ -3631,6 +3666,7 @@ CONFIG_OF_PMEM=m # CONFIG_OF_UNITTEST is not set CONFIG_OF=y # CONFIG_OMFS_FS is not set +# CONFIG_OPAL_CORE is not set CONFIG_OPAL_PRD=m CONFIG_OPENVSWITCH_GENEVE=m CONFIG_OPENVSWITCH_GRE=m @@ -3638,7 +3674,7 @@ CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_VXLAN=m # CONFIG_OPROFILE is not set CONFIG_OPT3001=m -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -3811,6 +3847,7 @@ CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SM8150 is not set # CONFIG_PINCTRL_STMFX is not set @@ -3907,6 +3944,7 @@ CONFIG_PPC_RADIX_MMU=y CONFIG_PPC_SMLPAR=y CONFIG_PPC_SPLPAR=y CONFIG_PPC_SUBPAGE_PROT=y +CONFIG_PPC_SVM=y CONFIG_PPC_TRANSACTIONAL_MEM=y CONFIG_PPC_VAS=y CONFIG_PPC=y @@ -3931,7 +3969,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4030,6 +4067,7 @@ CONFIG_RADIO_WL1273=m # CONFIG_RAID6_PQ_BENCHMARK is not set CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set CONFIG_RANDOM_TRUST_CPU=y CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4068,13 +4106,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4114,6 +4153,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4132,7 +4172,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_TI_SYSCON is not set @@ -4478,6 +4518,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -4505,7 +4547,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -4516,6 +4557,7 @@ CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -4547,6 +4589,7 @@ CONFIG_SENSORS_IBMPOWERNV=y CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -4676,7 +4719,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -4693,6 +4735,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_ICOM=m # CONFIG_SERIAL_IFX6X60 is not set @@ -4730,7 +4773,6 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set CONFIG_SGI_PARTITION=y CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -4852,6 +4894,7 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 @@ -5015,6 +5058,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -5043,6 +5087,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TS3A227E is not set CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5107,7 +5152,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPAPR_TCE_IOMMU=y @@ -5305,6 +5349,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -5366,6 +5411,13 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_DIAG=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set @@ -5374,7 +5426,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set # CONFIG_TMP006 is not set @@ -5504,6 +5556,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -5562,9 +5615,11 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -5735,6 +5790,7 @@ CONFIG_USB_OHCI_HCD_PCI=y CONFIG_USB_OHCI_HCD_PPC_OF_BE=y CONFIG_USB_OHCI_HCD_PPC_OF_LE=y CONFIG_USB_OHCI_HCD_PPC_OF=y +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_OTG is not set @@ -5752,7 +5808,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -5992,6 +6047,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -6040,6 +6096,7 @@ CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_GPIO is not set # CONFIG_W1_MASTER_MATROX is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -6050,6 +6107,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-ppc64le-rhel.config b/kernel-ppc64le-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-ppc64le-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel-s390x-debug.config b/kernel-s390x-debug-fedora.config index eb0cd3526..b0c255ff2 100644 --- a/kernel-s390x-debug.config +++ b/kernel-s390x-debug-fedora.config @@ -99,6 +99,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -108,6 +109,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -164,7 +166,6 @@ CONFIG_AMD8111_ETH=m # CONFIG_AMD_IOMMU_DEBUGFS is not set CONFIG_AMD_PHY=m # CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set CONFIG_AMIGA_PARTITION=y # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set @@ -184,12 +185,8 @@ CONFIG_AR5523=m # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set @@ -197,7 +194,6 @@ CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCNET is not set CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM_PTDUMP_DEBUGFS=y @@ -243,6 +239,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -394,6 +391,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -588,6 +586,7 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set # CONFIG_CAN_FLEXCAN is not set # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m @@ -595,9 +594,13 @@ CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m # CONFIG_CAN is not set +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y @@ -794,6 +797,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set # CONFIG_CPU_IDLE is not set @@ -804,7 +808,6 @@ CONFIG_CPUSETS=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -821,6 +824,7 @@ CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y # CONFIG_CROS_EC_DEBUGFS is not set CONFIG_CROS_EC_ISHTP=m +# CONFIG_CROS_EC is not set # CONFIG_CROS_EC_LIGHTBAR is not set CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_KBD_LED_BACKLIGHT=m @@ -828,9 +832,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m CONFIG_CRYPTO_AES_S390=m CONFIG_CRYPTO_AES_TI=m CONFIG_CRYPTO_AES=y @@ -861,6 +863,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DES_S390=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_CHELSIO_TLS=m @@ -868,6 +871,7 @@ CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y # CONFIG_CRYPTO_DEV_HISI_SEC is not set # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y @@ -878,6 +882,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -898,8 +903,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m CONFIG_CRYPTO_PAES_S390=m @@ -919,9 +922,11 @@ CONFIG_CRYPTO_SHA1_S390=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256_S390=m CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA3_256_S390=m +CONFIG_CRYPTO_SHA3_512_S390=m CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_SHA512_S390=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -979,17 +984,16 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KOBJECT is not set @@ -1064,6 +1068,7 @@ CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y +# CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1076,6 +1081,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1100,6 +1106,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1137,6 +1144,7 @@ CONFIG_DRM_DP_CEC=y # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m # CONFIG_DRM_HISI_HIBMC is not set # CONFIG_DRM_I2C_ADV7511 is not set CONFIG_DRM_I2C_ADV7533=y @@ -1163,13 +1171,17 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1181,10 +1193,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1199,9 +1215,8 @@ CONFIG_DRM_RADEON_USERPTR=y # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m # CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TINYDRM is not set CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1335,6 +1350,7 @@ CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y +# CONFIG_EFI_RCI2_TABLE is not set # CONFIG_EFI_TEST is not set # CONFIG_EFS_FS is not set # CONFIG_EMBEDDED is not set @@ -1355,6 +1371,7 @@ CONFIG_ETHERNET=y # CONFIG_ETHOC is not set # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set CONFIG_EXPOLINE_AUTO=y # CONFIG_EXPOLINE_FULL is not set @@ -1510,10 +1527,14 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1638,8 +1659,8 @@ CONFIG_HARDENED_USERCOPY=y CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y @@ -1666,6 +1687,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -1818,7 +1840,6 @@ CONFIG_I2C_ALGOBIT=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m # CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set # CONFIG_I2C_CHARDEV is not set @@ -1945,11 +1966,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2093,6 +2116,7 @@ CONFIG_IO_DELAY_0X80=y CONFIG_IOMMU_DEBUGFS=y # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2332,6 +2356,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2371,6 +2396,7 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2378,7 +2404,7 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_UNCOMPRESSED is not set # CONFIG_KERNEL_XZ is not set CONFIG_KEXEC_FILE=y -# CONFIG_KEXEC_VERIFY_SIG is not set +CONFIG_KEXEC_SIG=y CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set @@ -2425,9 +2451,6 @@ CONFIG_KGDB=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set CONFIG_KPROBES=y -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set @@ -2553,7 +2576,7 @@ CONFIG_LIBFCOE=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -2562,7 +2585,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y CONFIG_LOCK_EVENT_COUNTS=y CONFIG_LOCK_STAT=y @@ -2629,6 +2654,7 @@ CONFIG_MANTIS_CORE=m # CONFIG_MARCH_Z10 is not set # CONFIG_MARCH_Z13 is not set # CONFIG_MARCH_Z14 is not set +# CONFIG_MARCH_Z15 is not set # CONFIG_MARCH_Z196 is not set # CONFIG_MARCH_Z900 is not set # CONFIG_MARCH_Z9_109 is not set @@ -2647,6 +2673,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -2864,6 +2891,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -2905,6 +2934,7 @@ CONFIG_MMC_SDHCI_CADENCE=m # CONFIG_MMC_SDHCI_F_SDH30 is not set CONFIG_MMC_SDHCI=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_OF_ESDHC is not set @@ -2924,6 +2954,7 @@ CONFIG_MMC_VUB300=m CONFIG_MMC_WBSD=m CONFIG_MMIOTRACE=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_FORCE_UNLOAD=y @@ -2960,6 +2991,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +# CONFIG_MOXTET is not set CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set # CONFIG_MPL3115 is not set @@ -3017,6 +3049,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3115,12 +3148,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3294,6 +3329,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3345,6 +3381,7 @@ CONFIG_NET_VENDOR_NETERION=y # CONFIG_NET_VENDOR_NVIDIA is not set # CONFIG_NET_VENDOR_OKI is not set CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y # CONFIG_NET_VENDOR_QLOGIC is not set # CONFIG_NET_VENDOR_QUALCOMM is not set # CONFIG_NET_VENDOR_RDC is not set @@ -3509,10 +3546,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m # CONFIG_N_GSM is not set CONFIG_N_HDLC=m @@ -3572,6 +3609,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set CONFIG_NODES_SHIFT=4 # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y @@ -3584,7 +3622,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 CONFIG_NOUVEAU_DEBUG_MMU=y # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set # CONFIG_NOZOMI is not set -CONFIG_NR_CPUS=64 +CONFIG_NR_CPUS=512 CONFIG_NS83820=m # CONFIG_NTB is not set # CONFIG_NTFS_FS is not set @@ -3624,7 +3662,7 @@ CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_VXLAN=m # CONFIG_OPROFILE is not set CONFIG_OPT3001=m -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -3798,6 +3836,7 @@ CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SM8150 is not set # CONFIG_PINCTRL_STMFX is not set @@ -3884,7 +3923,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -3987,6 +4025,7 @@ CONFIG_RADIO_WL1273=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set CONFIG_RANDOM_TRUST_CPU=y CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4025,13 +4064,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4071,6 +4111,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4089,7 +4130,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_CONTROLLER is not set @@ -4445,6 +4486,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -4472,7 +4515,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -4483,6 +4525,7 @@ CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m # CONFIG_SENSORS_APDS990X is not set +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -4513,6 +4556,7 @@ CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -4643,7 +4687,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250 is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -4659,6 +4702,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m @@ -4693,7 +4737,6 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set # CONFIG_SGI_PARTITION is not set CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -4816,7 +4859,8 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set +# CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_HDA_PREALLOC_SIZE=4096 @@ -4979,6 +5023,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -5007,6 +5052,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TS3A227E is not set CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5071,7 +5117,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set # CONFIG_SOUND is not set CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPARSEMEM_MANUAL=y @@ -5263,6 +5308,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -5324,6 +5370,13 @@ CONFIG_TIFM_7XX1=m # CONFIG_TIFM_CORE is not set CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_DIAG=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set @@ -5332,7 +5385,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set # CONFIG_TMP006 is not set @@ -5446,6 +5499,7 @@ CONFIG_TUNE_DEFAULT=y # CONFIG_TUNE_Z10 is not set # CONFIG_TUNE_Z13 is not set # CONFIG_TUNE_Z14 is not set +# CONFIG_TUNE_Z15 is not set # CONFIG_TUNE_Z196 is not set # CONFIG_TUNE_Z900 is not set # CONFIG_TUNE_Z9_109 is not set @@ -5467,6 +5521,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -5524,9 +5579,11 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -5693,6 +5750,7 @@ CONFIG_USB_NET_SR9700=m CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_OTG is not set @@ -5710,7 +5768,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -5952,6 +6009,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -6003,6 +6061,7 @@ CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_GPIO is not set # CONFIG_W1_MASTER_MATROX is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -6013,6 +6072,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-s390x-debug-rhel.config b/kernel-s390x-debug-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-s390x-debug-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel-s390x.config b/kernel-s390x-fedora.config index 0d3be1ed5..90b0b5690 100644 --- a/kernel-s390x.config +++ b/kernel-s390x-fedora.config @@ -99,6 +99,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -108,6 +109,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -164,7 +166,6 @@ CONFIG_AMD8111_ETH=m # CONFIG_AMD_IOMMU_DEBUGFS is not set CONFIG_AMD_PHY=m # CONFIG_AMD_XGBE_DCB is not set -# CONFIG_AMD_XGBE is not set CONFIG_AMIGA_PARTITION=y # CONFIG_ANDROID is not set # CONFIG_APDS9300 is not set @@ -184,12 +185,8 @@ CONFIG_AR5523=m # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set # CONFIG_ARCH_PXA is not set @@ -197,7 +194,6 @@ CONFIG_ARCH_RANDOM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCNET is not set CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set @@ -242,6 +238,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -393,6 +390,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -587,6 +585,7 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set # CONFIG_CAN_FLEXCAN is not set # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m @@ -594,9 +593,13 @@ CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m # CONFIG_CAN is not set +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y @@ -793,6 +796,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set # CONFIG_CPU_IDLE is not set @@ -803,7 +807,6 @@ CONFIG_CPUSETS=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -820,6 +823,7 @@ CONFIG_CRC_ITU_T=m CONFIG_CRC_T10DIF=y # CONFIG_CROS_EC_DEBUGFS is not set CONFIG_CROS_EC_ISHTP=m +# CONFIG_CROS_EC is not set # CONFIG_CROS_EC_LIGHTBAR is not set CONFIG_CROS_EC_RPMSG=m CONFIG_CROS_KBD_LED_BACKLIGHT=m @@ -827,9 +831,7 @@ CONFIG_CROSS_MEMORY_ATTACH=y CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256=m CONFIG_CRYPTO_AES_S390=m CONFIG_CRYPTO_AES_TI=m CONFIG_CRYPTO_AES=y @@ -860,6 +862,7 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DES_S390=m # CONFIG_CRYPTO_DEV_ATMEL_ECC is not set # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_CHELSIO_TLS=m @@ -867,6 +870,7 @@ CONFIG_CRYPTO_DEV_HIFN_795X=m CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y # CONFIG_CRYPTO_DEV_HISI_SEC is not set # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set # CONFIG_CRYPTO_DEV_SP_CCP is not set CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_CRYPTO_DH=y @@ -877,6 +881,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -897,8 +902,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS640=m CONFIG_CRYPTO_NULL=y CONFIG_CRYPTO_OFB=m CONFIG_CRYPTO_PAES_S390=m @@ -918,9 +921,11 @@ CONFIG_CRYPTO_SHA1_S390=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256_S390=m CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA3_256_S390=m +CONFIG_CRYPTO_SHA3_512_S390=m CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_SHA512_S390=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -978,11 +983,10 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y @@ -1056,6 +1060,7 @@ CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set +# CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set CONFIG_DMADEVICES=y @@ -1067,6 +1072,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1091,6 +1097,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1128,6 +1135,7 @@ CONFIG_DRM_DP_CEC=y # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m # CONFIG_DRM_HISI_HIBMC is not set # CONFIG_DRM_I2C_ADV7511 is not set CONFIG_DRM_I2C_ADV7533=y @@ -1154,13 +1162,17 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1172,10 +1184,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1190,9 +1206,8 @@ CONFIG_DRM_RADEON_USERPTR=y # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m # CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TINYDRM is not set CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1326,6 +1341,7 @@ CONFIG_EEPROM_LEGACY=m CONFIG_EEPROM_MAX6875=m CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set +# CONFIG_EFI_RCI2_TABLE is not set # CONFIG_EFI_TEST is not set # CONFIG_EFS_FS is not set # CONFIG_EMBEDDED is not set @@ -1346,6 +1362,7 @@ CONFIG_ETHERNET=y # CONFIG_ETHOC is not set # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set CONFIG_EXPOLINE_AUTO=y # CONFIG_EXPOLINE_FULL is not set @@ -1493,10 +1510,14 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1621,8 +1642,8 @@ CONFIG_HARDENED_USERCOPY=y CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y @@ -1649,6 +1670,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -1801,7 +1823,6 @@ CONFIG_I2C_ALGOBIT=m # CONFIG_I2C_AMD8111 is not set CONFIG_I2C_AMD_MP2=m # CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set # CONFIG_I2C_CHARDEV is not set @@ -1928,11 +1949,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2076,6 +2099,7 @@ CONFIG_IO_DELAY_0X80=y # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y CONFIG_IO_STRICT_DEVMEM=y CONFIG_IP6_NF_FILTER=m @@ -2315,6 +2339,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2352,6 +2377,7 @@ CONFIG_KARMA_PARTITION=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2359,7 +2385,7 @@ CONFIG_KERNEL_GZIP=y # CONFIG_KERNEL_UNCOMPRESSED is not set # CONFIG_KERNEL_XZ is not set CONFIG_KEXEC_FILE=y -# CONFIG_KEXEC_VERIFY_SIG is not set +CONFIG_KEXEC_SIG=y CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set @@ -2406,9 +2432,6 @@ CONFIG_KGDB=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set CONFIG_KPROBES=y -CONFIG_KS0108_DELAY=2 -CONFIG_KS0108=m -CONFIG_KS0108_PORT=0x378 # CONFIG_KS7010 is not set # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set @@ -2534,7 +2557,7 @@ CONFIG_LIBFCOE=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -2543,7 +2566,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set -# CONFIG_LOCK_DOWN_KERNEL is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_EVENT_COUNTS is not set # CONFIG_LOCK_STAT is not set @@ -2610,6 +2635,7 @@ CONFIG_MANTIS_CORE=m # CONFIG_MARCH_Z10 is not set # CONFIG_MARCH_Z13 is not set # CONFIG_MARCH_Z14 is not set +# CONFIG_MARCH_Z15 is not set # CONFIG_MARCH_Z196 is not set # CONFIG_MARCH_Z900 is not set # CONFIG_MARCH_Z9_109 is not set @@ -2628,6 +2654,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -2844,6 +2871,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -2885,6 +2914,7 @@ CONFIG_MMC_SDHCI_CADENCE=m # CONFIG_MMC_SDHCI_F_SDH30 is not set CONFIG_MMC_SDHCI=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_OF_ESDHC is not set @@ -2903,6 +2933,7 @@ CONFIG_MMC_VIA_SDMMC=m CONFIG_MMC_VUB300=m CONFIG_MMC_WBSD=m CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set @@ -2939,6 +2970,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +# CONFIG_MOXTET is not set CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set # CONFIG_MPL3115 is not set @@ -2996,6 +3028,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3094,12 +3127,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3273,6 +3308,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3324,6 +3360,7 @@ CONFIG_NET_VENDOR_NETERION=y # CONFIG_NET_VENDOR_NVIDIA is not set # CONFIG_NET_VENDOR_OKI is not set CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y # CONFIG_NET_VENDOR_QLOGIC is not set # CONFIG_NET_VENDOR_QUALCOMM is not set # CONFIG_NET_VENDOR_RDC is not set @@ -3488,10 +3525,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m # CONFIG_N_GSM is not set CONFIG_N_HDLC=m @@ -3551,6 +3588,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set CONFIG_NODES_SHIFT=4 # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y @@ -3563,7 +3601,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 # CONFIG_NOUVEAU_DEBUG_MMU is not set # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set # CONFIG_NOZOMI is not set -CONFIG_NR_CPUS=64 +CONFIG_NR_CPUS=512 CONFIG_NS83820=m # CONFIG_NTB is not set # CONFIG_NTFS_FS is not set @@ -3603,7 +3641,7 @@ CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_VXLAN=m # CONFIG_OPROFILE is not set CONFIG_OPT3001=m -# CONFIG_OPTIMIZE_INLINING is not set +CONFIG_OPTIMIZE_INLINING=y CONFIG_OPTPROBES=y CONFIG_ORANGEFS_FS=m CONFIG_ORINOCO_USB=m @@ -3777,6 +3815,7 @@ CONFIG_PINCTRL_CEDARFORK=m # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SM8150 is not set # CONFIG_PINCTRL_STMFX is not set @@ -3863,7 +3902,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -3965,6 +4003,7 @@ CONFIG_RADIO_WL1273=m CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set CONFIG_RANDOM_TRUST_CPU=y CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4003,13 +4042,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4049,6 +4089,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4067,7 +4108,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_CONTROLLER is not set @@ -4423,6 +4464,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -4450,7 +4493,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -4461,6 +4503,7 @@ CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m # CONFIG_SENSORS_APDS990X is not set +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m @@ -4491,6 +4534,7 @@ CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -4621,7 +4665,6 @@ CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250 is not set CONFIG_SERIAL_8250_MANY_PORTS=y # CONFIG_SERIAL_8250_MID is not set -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -4637,6 +4680,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m @@ -4671,7 +4715,6 @@ CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON_MTD=y # CONFIG_SFC is not set CONFIG_SFP=m -# CONFIG_SGI_IOC4 is not set # CONFIG_SGI_PARTITION is not set CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set @@ -4794,7 +4837,8 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y -CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set +# CONFIG_SND_HDA_INTEL is not set CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0 CONFIG_SND_HDA_PREALLOC_SIZE=4096 @@ -4956,6 +5000,7 @@ CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_DEBUG is not set # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y @@ -4984,6 +5029,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m # CONFIG_SND_SOC_TS3A227E is not set CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5048,7 +5094,6 @@ CONFIG_SONY_FF=y # CONFIG_SONYPI is not set # CONFIG_SOUND is not set CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE=y CONFIG_SPARSEMEM_MANUAL=y @@ -5240,6 +5285,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -5301,6 +5347,13 @@ CONFIG_TIFM_7XX1=m # CONFIG_TIFM_CORE is not set CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_DIAG=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set @@ -5309,7 +5362,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set # CONFIG_TMP006 is not set @@ -5423,6 +5476,7 @@ CONFIG_TUNE_DEFAULT=y # CONFIG_TUNE_Z10 is not set # CONFIG_TUNE_Z13 is not set # CONFIG_TUNE_Z14 is not set +# CONFIG_TUNE_Z15 is not set # CONFIG_TUNE_Z196 is not set # CONFIG_TUNE_Z900 is not set # CONFIG_TUNE_Z9_109 is not set @@ -5444,6 +5498,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -5501,9 +5556,11 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -5670,6 +5727,7 @@ CONFIG_USB_NET_SR9700=m CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_OTG is not set @@ -5687,7 +5745,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m @@ -5929,6 +5986,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -5980,6 +6038,7 @@ CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_GPIO is not set # CONFIG_W1_MASTER_MATROX is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -5990,6 +6049,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m diff --git a/kernel-s390x-rhel.config b/kernel-s390x-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-s390x-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel-s390x-zfcpdump-rhel.config b/kernel-s390x-zfcpdump-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-s390x-zfcpdump-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel-x86_64-debug.config b/kernel-x86_64-debug-fedora.config index 132d17a99..0cf92751d 100644 --- a/kernel-x86_64-debug.config +++ b/kernel-x86_64-debug-fedora.config @@ -139,6 +139,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -148,6 +149,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -238,12 +240,8 @@ CONFIG_AR5523=m # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_MEMORY_PROBE is not set CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set @@ -251,7 +249,6 @@ CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCNET is not set CONFIG_ARM64_ERRATUM_858921=y CONFIG_ARM_PTDUMP_DEBUGFS=y @@ -301,6 +298,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -458,6 +456,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -655,16 +654,21 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set # CONFIG_CAN_FLEXCAN is not set # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y @@ -863,6 +867,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_IDLE_GOV_HALTPOLL=y # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -873,7 +878,6 @@ CONFIG_CPUSETS=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -889,14 +893,13 @@ CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=m CONFIG_CRC_PMIC_OPREGION=y CONFIG_CRC_T10DIF=y +CONFIG_CROS_EC_CHARDEV=m CONFIG_CROS_EC_DEBUGFS=m -CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m +# CONFIG_CROS_EC is not set CONFIG_CROS_EC_LIGHTBAR=m CONFIG_CROS_EC_LPC=m -CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m -CONFIG_CROS_EC_SPI=m CONFIG_CROS_EC_SYSFS=m CONFIG_CROS_KBD_LED_BACKLIGHT=m CONFIG_CROSS_MEMORY_ATTACH=y @@ -904,14 +907,9 @@ CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m -CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256_AESNI_SSE2=m -CONFIG_CRYPTO_AEGIS256=m CONFIG_CRYPTO_AES_NI_INTEL=y CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_AES_X86_64=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_ANUBIS=m @@ -951,6 +949,7 @@ CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCP=y # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m @@ -968,6 +967,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set CONFIG_CRYPTO_DEV_SP_CCP=y CONFIG_CRYPTO_DEV_SP_PSP=y CONFIG_CRYPTO_DEV_VIRTIO=m @@ -979,6 +979,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -999,11 +1000,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280_AVX2=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS1280_SSE2=m -CONFIG_CRYPTO_MORUS640=m -CONFIG_CRYPTO_MORUS640_SSE2=m CONFIG_CRYPTO_NHPOLY1305_AVX2=m CONFIG_CRYPTO_NHPOLY1305_SSE2=m CONFIG_CRYPTO_NULL=y @@ -1030,8 +1026,8 @@ CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256_SSSE3=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_SHA512_SSSE3=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -1086,17 +1082,16 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN is not set CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y -CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=4096 +CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000 # CONFIG_DEBUG_KMEMLEAK_TEST is not set CONFIG_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KOBJECT is not set @@ -1187,6 +1182,7 @@ CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG_SG is not set CONFIG_DMA_API_DEBUG=y +# CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set # CONFIG_DMADEVICES_VDEBUG is not set @@ -1199,6 +1195,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1225,6 +1222,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1244,6 +1242,7 @@ CONFIG_DRBD_FAULT_INJECTION=y CONFIG_DRM_AMD_ACP=y CONFIG_DRM_AMD_DC_DCN1_0=y CONFIG_DRM_AMD_DC_DCN2_0=y +CONFIG_DRM_AMD_DC_DCN2_1=y CONFIG_DRM_AMD_DC_DSC_SUPPORT=y CONFIG_DRM_AMD_DC=y CONFIG_DRM_AMDGPU_CIK=y @@ -1266,6 +1265,7 @@ CONFIG_DRM_DP_CEC=y # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1304,13 +1304,17 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1322,10 +1326,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1340,9 +1348,8 @@ CONFIG_DRM_RADEON_USERPTR=y # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m # CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TINYDRM is not set CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1505,9 +1512,10 @@ CONFIG_EEPROM_MAX6875=m CONFIG_EFI_MIXED=y CONFIG_EFI_PARTITION=y CONFIG_EFI_PGT_DUMP=y +CONFIG_EFI_RCI2_TABLE=y CONFIG_EFI_RUNTIME_MAP=y CONFIG_EFI_STUB=y -# CONFIG_EFI_TEST is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y # CONFIG_EFI_VARS is not set # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set @@ -1532,6 +1540,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1703,10 +1712,14 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1837,6 +1850,7 @@ CONFIG_GTP=m # CONFIG_GUP_BENCHMARK is not set CONFIG_GVE=m # CONFIG_HABANA_AI is not set +CONFIG_HALTPOLL_CPUIDLE=y CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m @@ -1849,8 +1863,8 @@ CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y @@ -1878,6 +1892,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2055,7 +2070,6 @@ CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_AMD_MP2=m # CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_CHARDEV=m @@ -2203,11 +2217,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2319,7 +2335,7 @@ CONFIG_INPUT_PM8XXX_VIBRATOR=m CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m -# CONFIG_INPUT_PWM_BEEPER is not set +CONFIG_INPUT_PWM_BEEPER=m # CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_RK805_PWRKEY=m @@ -2403,6 +2419,7 @@ CONFIG_IO_DELAY_0X80=y CONFIG_IOMMU_DEBUGFS=y # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y # CONFIG_IOSF_MBI_DEBUG is not set CONFIG_IOSF_MBI=y @@ -2651,6 +2668,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2690,6 +2708,7 @@ CONFIG_KDB_DEFAULT_ENABLE=0x0 CONFIG_KDB_KEYBOARD=y # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2882,7 +2901,7 @@ CONFIG_LIBNVDIMM=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -2891,8 +2910,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y -# CONFIG_LOCK_DOWN_KERNEL_FORCE is not set -CONFIG_LOCK_DOWN_KERNEL=y +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y CONFIG_LOCK_EVENT_COUNTS=y CONFIG_LOCK_STAT=y @@ -2977,6 +2997,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -3084,8 +3105,8 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set -CONFIG_MFD_CROS_EC_CHARDEV=m -CONFIG_MFD_CROS_EC=m +CONFIG_MFD_CROS_EC_DEV=m +# CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9052_SPI is not set @@ -3203,6 +3224,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -3245,6 +3268,7 @@ CONFIG_MMC_SDHCI_CADENCE=m # CONFIG_MMC_SDHCI_F_SDH30 is not set CONFIG_MMC_SDHCI=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_OF_ESDHC is not set @@ -3265,6 +3289,7 @@ CONFIG_MMC_WBSD=m # CONFIG_MMIOTRACE_TEST is not set CONFIG_MMIOTRACE=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set CONFIG_MODULE_FORCE_UNLOAD=y @@ -3300,6 +3325,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +# CONFIG_MOXTET is not set CONFIG_MPILIB=y CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set @@ -3361,6 +3387,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3465,12 +3492,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3644,6 +3673,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3695,6 +3725,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -3863,10 +3894,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -3927,6 +3958,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set CONFIG_NODES_SHIFT=10 CONFIG_NO_HZ_FULL=y # CONFIG_NO_HZ_IDLE is not set @@ -4022,7 +4054,7 @@ CONFIG_PANASONIC_LAPTOP=m CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARAVIRT_DEBUG is not set -# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_SPINLOCKS=y CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set @@ -4198,6 +4230,7 @@ CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SM8150 is not set # CONFIG_PINCTRL_STMFX is not set @@ -4290,7 +4323,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4398,6 +4430,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MEMORY=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set CONFIG_RANDOM_TRUST_CPU=y CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4438,13 +4471,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4484,6 +4518,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4503,7 +4538,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_TI_SYSCON is not set @@ -4852,6 +4887,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -4882,7 +4919,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -4894,6 +4930,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m @@ -4932,6 +4969,7 @@ CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5065,7 +5103,6 @@ CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_LPSS=m CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_MID=y -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -5082,6 +5119,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m @@ -5123,7 +5161,6 @@ CONFIG_SFI=y CONFIG_SFP=m # CONFIG_SGI_GRU_DEBUG is not set CONFIG_SGI_GRU=m -CONFIG_SGI_IOC4=m CONFIG_SGI_PARTITION=y CONFIG_SGI_XP=m CONFIG_SHUFFLE_PAGE_ALLOCATOR=y @@ -5246,6 +5283,7 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 @@ -5389,7 +5427,9 @@ CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CML_H=m +CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_CML_LP=m +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m # CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH is not set CONFIG_SND_SOC_INTEL_HASWELL=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m @@ -5402,11 +5442,14 @@ CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y +# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set CONFIG_SND_SOC_INTEL_SKYLAKE=m +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MAX98088=m @@ -5445,12 +5488,28 @@ CONFIG_SND_SOC_RT5660=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y # CONFIG_SND_SOC_SOF_DEBUG is not set -# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set +CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y +# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y +CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y +CONFIG_SND_SOC_SOF_HDA_LINK=y +CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y +CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set +CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y CONFIG_SND_SOC_SOF_TOPLEVEL=y CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_SSM2305 is not set @@ -5477,6 +5536,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5547,7 +5607,6 @@ CONFIG_SONYPI_COMPAT=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE_INTEL=m CONFIG_SOUNDWIRE=y @@ -5750,6 +5809,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y CONFIG_TEST_LIST_SORT=y +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -5818,6 +5878,13 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_DIAG=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set @@ -5826,7 +5893,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set # CONFIG_TMP006 is not set @@ -5961,6 +6028,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -6020,9 +6088,11 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -6189,6 +6259,7 @@ CONFIG_USB_NET_SR9700=m CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_OTG is not set @@ -6206,7 +6277,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLES_INTEL_XHCI=m CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m @@ -6379,7 +6449,7 @@ CONFIG_VIDEO_BT848=m # CONFIG_VIDEO_CADENCE is not set # CONFIG_VIDEO_CAFE_CCIC is not set CONFIG_VIDEO_CPIA2=m -CONFIG_VIDEO_CROS_EC_CEC=m +# CONFIG_VIDEO_CROS_EC_CEC is not set CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX231XX_ALSA=m @@ -6458,6 +6528,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -6512,6 +6583,7 @@ CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_GPIO is not set # CONFIG_W1_MASTER_MATROX is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -6522,6 +6594,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m @@ -6597,7 +6670,7 @@ CONFIG_WMI_BMOF=m CONFIG_WQ_WATCHDOG=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set -# CONFIG_X86_5LEVEL is not set +CONFIG_X86_5LEVEL=y CONFIG_X86_64_ACPI_NUMA=y CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_ACPI_CPUFREQ=m diff --git a/kernel-x86_64-debug-rhel.config b/kernel-x86_64-debug-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-x86_64-debug-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel-x86_64.config b/kernel-x86_64-fedora.config index 115df0c07..48513f24b 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64-fedora.config @@ -139,6 +139,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADF4350 is not set # CONFIG_ADF4371 is not set # CONFIG_ADFS_FS is not set +CONFIG_ADIN_PHY=m # CONFIG_ADIS16080 is not set # CONFIG_ADIS16130 is not set # CONFIG_ADIS16136 is not set @@ -148,6 +149,7 @@ CONFIG_ADAPTEC_STARFIRE=m # CONFIG_ADIS16240 is not set # CONFIG_ADIS16260 is not set # CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set # CONFIG_ADIS16480 is not set # CONFIG_ADJD_S311 is not set # CONFIG_ADT7316 is not set @@ -238,12 +240,8 @@ CONFIG_AR5523=m # CONFIG_ARCH_EBSA110 is not set # CONFIG_ARCH_EP93XX is not set # CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_IOP13XX is not set # CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set # CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_KS8695 is not set -# CONFIG_ARCH_LPC32XX is not set # CONFIG_ARCH_MEMORY_PROBE is not set CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_OMAP1 is not set @@ -251,7 +249,6 @@ CONFIG_ARCH_MULTIPLATFORM=y # CONFIG_ARCH_RPC is not set # CONFIG_ARCH_S3C24XX is not set # CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_W90X900 is not set # CONFIG_ARCNET is not set CONFIG_ARM64_ERRATUM_858921=y # CONFIG_AS3935 is not set @@ -300,6 +297,7 @@ CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HWRNG is not set CONFIG_ATH9K=m +CONFIG_ATH9K_PCI_NO_EEPROM=m CONFIG_ATH9K_PCI=y # CONFIG_ATH9K_STATION_STATISTICS is not set # CONFIG_ATH9K_WOW is not set @@ -457,6 +455,7 @@ CONFIG_BINFMT_ELF=y # CONFIG_BINFMT_FLAT is not set CONFIG_BINFMT_MISC=m CONFIG_BINFMT_SCRIPT=y +CONFIG_BLK_CGROUP_IOCOST=y CONFIG_BLK_CGROUP_IOLATENCY=y CONFIG_BLK_CGROUP=y # CONFIG_BLK_CMDLINE_PARSER is not set @@ -654,16 +653,21 @@ CONFIG_CAN_EMS_PCI=m # CONFIG_CAN_EMS_PCMCIA is not set CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +# CONFIG_CAN_F81601 is not set # CONFIG_CAN_FLEXCAN is not set # CONFIG_CAN_GRCAN is not set CONFIG_CAN_GS_USB=m CONFIG_CAN_GW=m CONFIG_CAN_HI311X=m CONFIG_CAN_IFI_CANFD=m +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_KVASER_PCIEFD is not set CONFIG_CAN_KVASER_PCI=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN=m CONFIG_CAN_M_CAN=m +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set CONFIG_CAN_MCBA_USB=m # CONFIG_CAN_MCP251X is not set CONFIG_CAN_PEAK_PCIEC=y @@ -862,6 +866,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_STAT=y CONFIG_CPU_FREQ=y # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_IDLE_GOV_HALTPOLL=y # CONFIG_CPU_IDLE_GOV_LADDER is not set # CONFIG_CPU_IDLE_GOV_TEO is not set CONFIG_CPU_IDLE=y @@ -872,7 +877,6 @@ CONFIG_CPUSETS=y CONFIG_CRAMFS=m # CONFIG_CRAMFS_MTD is not set CONFIG_CRASH_DUMP=y -CONFIG_CRASH=m CONFIG_CRC16=y # CONFIG_CRC32_BIT is not set # CONFIG_CRC32_SARWATE is not set @@ -888,14 +892,13 @@ CONFIG_CRC_CCITT=y CONFIG_CRC_ITU_T=m CONFIG_CRC_PMIC_OPREGION=y CONFIG_CRC_T10DIF=y +CONFIG_CROS_EC_CHARDEV=m # CONFIG_CROS_EC_DEBUGFS is not set -CONFIG_CROS_EC_I2C=m CONFIG_CROS_EC_ISHTP=m +# CONFIG_CROS_EC is not set CONFIG_CROS_EC_LIGHTBAR=m CONFIG_CROS_EC_LPC=m -CONFIG_CROS_EC_PROTO=y CONFIG_CROS_EC_RPMSG=m -CONFIG_CROS_EC_SPI=m CONFIG_CROS_EC_SYSFS=m CONFIG_CROS_KBD_LED_BACKLIGHT=m CONFIG_CROSS_MEMORY_ATTACH=y @@ -903,14 +906,9 @@ CONFIG_CROS_USBPD_LOGGER=m CONFIG_CRYPTO_842=y CONFIG_CRYPTO_ADIANTUM=m CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m -CONFIG_CRYPTO_AEGIS128L_AESNI_SSE2=m -CONFIG_CRYPTO_AEGIS128L=m CONFIG_CRYPTO_AEGIS128=m -CONFIG_CRYPTO_AEGIS256_AESNI_SSE2=m -CONFIG_CRYPTO_AEGIS256=m CONFIG_CRYPTO_AES_NI_INTEL=y CONFIG_CRYPTO_AES_TI=m -CONFIG_CRYPTO_AES_X86_64=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_ANSI_CPRNG=m CONFIG_CRYPTO_ANUBIS=m @@ -950,6 +948,7 @@ CONFIG_CRYPTO_DES=m # CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set CONFIG_CRYPTO_DEV_CCP_CRYPTO=m CONFIG_CRYPTO_DEV_CCP_DD=m +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set CONFIG_CRYPTO_DEV_CCP=y # CONFIG_CRYPTO_DEV_CCREE is not set CONFIG_CRYPTO_DEV_CHELSIO=m @@ -967,6 +966,7 @@ CONFIG_CRYPTO_DEV_QAT_C62X=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set CONFIG_CRYPTO_DEV_SP_CCP=y CONFIG_CRYPTO_DEV_SP_PSP=y CONFIG_CRYPTO_DEV_VIRTIO=m @@ -978,6 +978,7 @@ CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_ECDH=m CONFIG_CRYPTO_ECHAINIV=m CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ESSIV=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_FIPS=y CONFIG_CRYPTO_GCM=y @@ -998,11 +999,6 @@ CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_MORUS1280_AVX2=m -CONFIG_CRYPTO_MORUS1280=m -CONFIG_CRYPTO_MORUS1280_SSE2=m -CONFIG_CRYPTO_MORUS640=m -CONFIG_CRYPTO_MORUS640_SSE2=m CONFIG_CRYPTO_NHPOLY1305_AVX2=m CONFIG_CRYPTO_NHPOLY1305_SSE2=m CONFIG_CRYPTO_NULL=y @@ -1029,8 +1025,8 @@ CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256_SSSE3=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA3=m -CONFIG_CRYPTO_SHA512=m CONFIG_CRYPTO_SHA512_SSSE3=m +CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_SM4=m @@ -1085,11 +1081,10 @@ CONFIG_DEBUG_FS=y # CONFIG_DEBUG_GPIO is not set CONFIG_DEBUG_HIGHMEM=y # CONFIG_DEBUG_HOTPLUG_CPU0 is not set -# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DEBUG_INFO_BTF=y # CONFIG_DEBUG_INFO_DWARF4 is not set # CONFIG_DEBUG_INFO_REDUCED is not set # CONFIG_DEBUG_INFO_SPLIT is not set -CONFIG_DEBUG_INFO_VTA=y CONFIG_DEBUG_INFO=y # CONFIG_DEBUG_KERNEL_DC is not set CONFIG_DEBUG_KERNEL=y @@ -1179,6 +1174,7 @@ CONFIG_DLM=m CONFIG_DM9102=m # CONFIG_DMA_API_DEBUG is not set # CONFIG_DMA_API_DEBUG_SG is not set +# CONFIG_DMABUF_SELFTESTS is not set # CONFIG_DMA_CMA is not set # CONFIG_DMADEVICES_DEBUG is not set CONFIG_DMADEVICES=y @@ -1190,6 +1186,7 @@ CONFIG_DMARD10=m # CONFIG_DMATEST is not set CONFIG_DM_CACHE=m CONFIG_DM_CACHE_SMQ=m +# CONFIG_DM_CLONE is not set CONFIG_DM_CRYPT=m CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y # CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set @@ -1216,6 +1213,7 @@ CONFIG_DM_UEVENT=y CONFIG_DM_UNSTRIPED=m CONFIG_DM_VERITY_FEC=y CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set CONFIG_DM_WRITECACHE=m CONFIG_DM_ZERO=y CONFIG_DM_ZONED=m @@ -1235,6 +1233,7 @@ CONFIG_DRAGONRISE_FF=y CONFIG_DRM_AMD_ACP=y CONFIG_DRM_AMD_DC_DCN1_0=y CONFIG_DRM_AMD_DC_DCN2_0=y +CONFIG_DRM_AMD_DC_DCN2_1=y CONFIG_DRM_AMD_DC_DSC_SUPPORT=y CONFIG_DRM_AMD_DC=y CONFIG_DRM_AMDGPU_CIK=y @@ -1257,6 +1256,7 @@ CONFIG_DRM_DP_CEC=y # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_GM12U320=m CONFIG_DRM_GMA3600=y CONFIG_DRM_GMA500=m # CONFIG_DRM_GMA600 is not set @@ -1295,13 +1295,17 @@ CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m # CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set # CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m # CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set # CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set # CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set CONFIG_DRM_PANEL_ROCKTECH_JH057N00900=m CONFIG_DRM_PANEL_RONBO_RB070D30=m @@ -1313,10 +1317,14 @@ CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m # CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set # CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SIMPLE is not set # CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set # CONFIG_DRM_PANEL_TPO_TPG110 is not set # CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set CONFIG_DRM_PANEL=y @@ -1331,9 +1339,8 @@ CONFIG_DRM_RADEON_USERPTR=y # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m # CONFIG_DRM_SIL_SII8620 is not set -# CONFIG_DRM_TDFX=n is not set +# CONFIG_DRM_TDFX is not set # CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TINYDRM is not set CONFIG_DRM_TI_SN65DSI86=m CONFIG_DRM_TI_TFP410=m CONFIG_DRM_TOSHIBA_TC358764=m @@ -1496,9 +1503,10 @@ CONFIG_EEPROM_MAX6875=m CONFIG_EFI_MIXED=y CONFIG_EFI_PARTITION=y # CONFIG_EFI_PGT_DUMP is not set +CONFIG_EFI_RCI2_TABLE=y CONFIG_EFI_RUNTIME_MAP=y CONFIG_EFI_STUB=y -# CONFIG_EFI_TEST is not set +CONFIG_EFI_TEST=m CONFIG_EFIVAR_FS=y # CONFIG_EFI_VARS is not set # CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set @@ -1523,6 +1531,7 @@ CONFIG_ETHERNET=y CONFIG_ETHOC=m # CONFIG_EUROTECH_WDT is not set # CONFIG_EVM is not set +# CONFIG_EXFAT_FS is not set # CONFIG_EXPERT is not set # CONFIG_EXPOLINE_AUTO is not set CONFIG_EXPOLINE_FULL=y @@ -1686,10 +1695,14 @@ CONFIG_FSI_MASTER_HUB=m # CONFIG_FSI_SBEFIFO is not set CONFIG_FSI_SCOM=m # CONFIG_FSL_EDMA is not set +# CONFIG_FSL_ENETC_MDIO is not set # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_QDMA is not set CONFIG_FS_MBCACHE=y CONFIG_FSNOTIFY=y +# CONFIG_FS_VERITY_BUILTIN_SIGNATURES is not set +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FS_VERITY=y # CONFIG_FTL is not set CONFIG_FTRACE_MCOUNT_RECORD=y # CONFIG_FTRACE_STARTUP_TEST is not set @@ -1820,6 +1833,7 @@ CONFIG_GTP=m # CONFIG_GUP_BENCHMARK is not set CONFIG_GVE=m # CONFIG_HABANA_AI is not set +CONFIG_HALTPOLL_CPUIDLE=y CONFIG_HAMACHI=m CONFIG_HAMRADIO=y CONFIG_HANGCHECK_TIMER=m @@ -1832,8 +1846,8 @@ CONFIG_HD44780=m # CONFIG_HDC100X is not set CONFIG_HDMI_LPE_AUDIO=m CONFIG_HEADERS_CHECK=y -# CONFIG_HEADERS_INSTALL is not set -# CONFIG_HEADER_TEST is not set +CONFIG_HEADERS_INSTALL=y +CONFIG_HEADER_TEST=y CONFIG_HERMES_CACHE_FW_ON_INIT=y CONFIG_HERMES=m CONFIG_HERMES_PRISM=y @@ -1861,6 +1875,7 @@ CONFIG_HID_CMEDIA=m CONFIG_HID_CORSAIR=m CONFIG_HID_COUGAR=m CONFIG_HID_CP2112=m +# CONFIG_HID_CREATIVE_SB0540 is not set CONFIG_HID_CYPRESS=m CONFIG_HID_DRAGONRISE=m CONFIG_HID_ELAN=m @@ -2038,7 +2053,6 @@ CONFIG_I2C_AMD756_S4882=m CONFIG_I2C_AMD8111=m CONFIG_I2C_AMD_MP2=m # CONFIG_I2C_ARB_GPIO_CHALLENGE is not set -# CONFIG_I2C_BCM2048 is not set # CONFIG_I2C_CADENCE is not set # CONFIG_I2C_CBUS_GPIO is not set CONFIG_I2C_CHARDEV=m @@ -2186,11 +2200,13 @@ CONFIG_IIO_TRIGGER=y CONFIG_IKHEADERS=m CONFIG_IMA_APPRAISE_BOOTPARAM=y # CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y CONFIG_IMA_APPRAISE=y # CONFIG_IMA_ARCH_POLICY is not set # CONFIG_IMA_BLACKLIST_KEYRING is not set # CONFIG_IMA_DEFAULT_HASH_SHA1 is not set CONFIG_IMA_DEFAULT_HASH_SHA256=y +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set CONFIG_IMA_KEXEC=y CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y # CONFIG_IMA_LOAD_X509 is not set @@ -2302,7 +2318,7 @@ CONFIG_INPUT_PM8XXX_VIBRATOR=m CONFIG_INPUT_PMIC8XXX_PWRKEY=m CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_POWERMATE=m -# CONFIG_INPUT_PWM_BEEPER is not set +CONFIG_INPUT_PWM_BEEPER=m # CONFIG_INPUT_PWM_VIBRA is not set # CONFIG_INPUT_REGULATOR_HAPTIC is not set CONFIG_INPUT_RK805_PWRKEY=m @@ -2386,6 +2402,7 @@ CONFIG_IO_DELAY_0X80=y # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_SUPPORT=y +CONFIG_IONIC=m CONFIG_IOSCHED_BFQ=y # CONFIG_IOSF_MBI_DEBUG is not set CONFIG_IOSF_MBI=y @@ -2634,6 +2651,7 @@ CONFIG_JOYSTICK_ANALOG=m # CONFIG_JOYSTICK_AS5011 is not set CONFIG_JOYSTICK_COBRA=m CONFIG_JOYSTICK_DB9=m +# CONFIG_JOYSTICK_FSIA6B is not set CONFIG_JOYSTICK_GAMECON=m CONFIG_JOYSTICK_GF2K=m CONFIG_JOYSTICK_GRIP=m @@ -2671,6 +2689,7 @@ CONFIG_KARMA_PARTITION=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 # CONFIG_KERNEL_BZIP2 is not set CONFIG_KERNEL_GZIP=y +CONFIG_KERNEL_HEADER_TEST=y # CONFIG_KERNEL_LZ4 is not set # CONFIG_KERNEL_LZMA is not set # CONFIG_KERNEL_LZO is not set @@ -2863,7 +2882,7 @@ CONFIG_LIBNVDIMM=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LIQUIDIO_VF=m CONFIG_LIRC=y -# CONFIG_LIVEPATCH is not set +CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m @@ -2872,8 +2891,9 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_LOCKD=m CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y -# CONFIG_LOCK_DOWN_KERNEL_FORCE is not set -CONFIG_LOCK_DOWN_KERNEL=y +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_EVENT_COUNTS is not set # CONFIG_LOCK_STAT is not set @@ -2958,6 +2978,7 @@ CONFIG_MAX31856=m # CONFIG_MAX44000 is not set CONFIG_MAX44009=m # CONFIG_MAX517 is not set +# CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set @@ -2965,7 +2986,7 @@ CONFIG_MAX44009=m # CONFIG_MAX9611 is not set CONFIG_MAXIM_THERMOCOUPLE=m CONFIG_MAX_RAW_DEVS=8192 -# CONFIG_MAXSMP is not set +CONFIG_MAXSMP=y CONFIG_MB1232=m # CONFIG_MC3230 is not set # CONFIG_MCB is not set @@ -3065,8 +3086,8 @@ CONFIG_MFD_AXP20X=y CONFIG_MFD_BD9571MWV=m CONFIG_MFD_CORE=y # CONFIG_MFD_CPCAP is not set -CONFIG_MFD_CROS_EC_CHARDEV=m -CONFIG_MFD_CROS_EC=m +CONFIG_MFD_CROS_EC_DEV=m +# CONFIG_MFD_CROS_EC is not set # CONFIG_MFD_CS5535 is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9052_SPI is not set @@ -3184,6 +3205,8 @@ CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA is not set CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SW_STEERING=y +# CONFIG_MLX5_TLS is not set CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_MLXFW=m @@ -3226,6 +3249,7 @@ CONFIG_MMC_SDHCI_CADENCE=m # CONFIG_MMC_SDHCI_F_SDH30 is not set CONFIG_MMC_SDHCI=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_OF_ESDHC is not set @@ -3246,6 +3270,7 @@ CONFIG_MMC_WBSD=m # CONFIG_MMIOTRACE_TEST is not set CONFIG_MMIOTRACE=y CONFIG_MMU=y +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS is not set # CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set @@ -3281,6 +3306,7 @@ CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set +# CONFIG_MOXTET is not set CONFIG_MPILIB=y CONFIG_MPL115_I2C=m # CONFIG_MPL115_SPI is not set @@ -3342,6 +3368,7 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_NAND_HISI504 is not set # CONFIG_MTD_NAND_MESON is not set # CONFIG_MTD_NAND_MXC is not set +# CONFIG_MTD_NAND_MXIC is not set # CONFIG_MTD_NAND_NANDSIM is not set # CONFIG_MTD_NAND_OMAP2 is not set # CONFIG_MTD_NAND_PLATFORM is not set @@ -3446,12 +3473,14 @@ CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEVICES=y CONFIG_NET_DEVLINK=y -# CONFIG_NETDEVSIM is not set +CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y CONFIG_NET_DSA_BCM_SF2=m # CONFIG_NET_DSA_LANTIQ_GSWIP is not set CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MICROCHIP_KSZ8795 is not set +# CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C is not set CONFIG_NET_DSA_MICROCHIP_KSZ9477=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MT7530=m @@ -3625,6 +3654,7 @@ CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y CONFIG_NET_TEAM=m CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_BROADCAST=m @@ -3676,6 +3706,7 @@ CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NVIDIA=y CONFIG_NET_VENDOR_OKI=y CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y CONFIG_NET_VENDOR_QLOGIC=y # CONFIG_NET_VENDOR_QUALCOMM is not set CONFIG_NET_VENDOR_RDC=y @@ -3844,10 +3875,10 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT=m -# CONFIG_NFT_SOCKET is not set +CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m -# CONFIG_NFT_TPROXY is not set -# CONFIG_NFT_TUNNEL is not set +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=m CONFIG_N_HDLC=m @@ -3908,6 +3939,7 @@ CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m CONFIG_NLS=y +# CONFIG_NOA1305 is not set CONFIG_NODES_SHIFT=10 CONFIG_NO_HZ_FULL=y # CONFIG_NO_HZ_IDLE is not set @@ -3920,7 +3952,7 @@ CONFIG_NOUVEAU_DEBUG_DEFAULT=3 # CONFIG_NOUVEAU_DEBUG_MMU is not set # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set CONFIG_NOZOMI=m -CONFIG_NR_CPUS=1024 +CONFIG_NR_CPUS=8192 CONFIG_NS83820=m CONFIG_NTB_AMD=m CONFIG_NTB_IDT=m @@ -4003,7 +4035,7 @@ CONFIG_PANASONIC_LAPTOP=m CONFIG_PANIC_TIMEOUT=0 CONFIG_PANTHERLORD_FF=y # CONFIG_PARAVIRT_DEBUG is not set -# CONFIG_PARAVIRT_SPINLOCKS is not set +CONFIG_PARAVIRT_SPINLOCKS=y CONFIG_PARAVIRT_TIME_ACCOUNTING=y CONFIG_PARAVIRT=y # CONFIG_PARIDE is not set @@ -4179,6 +4211,7 @@ CONFIG_PINCTRL_LEWISBURG=m # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set CONFIG_PINCTRL_RK805=m +# CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SM8150 is not set # CONFIG_PINCTRL_STMFX is not set @@ -4271,7 +4304,6 @@ CONFIG_PPTP=m # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPTIRQ_EVENTS is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_LL is not set # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -4378,6 +4410,7 @@ CONFIG_RAID_ATTRS=m # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MEMORY=y +# CONFIG_RANDOM_TRUST_BOOTLOADER is not set CONFIG_RANDOM_TRUST_CPU=y CONFIG_RAPIDIO_CHMAN=m CONFIG_RAPIDIO_CPS_GEN2=m @@ -4418,13 +4451,14 @@ CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y CONFIG_RDMA_RXE=m -# CONFIG_RDMA_SIW is not set +CONFIG_RDMA_SIW=m # CONFIG_RDS_DEBUG is not set CONFIG_RDS=m CONFIG_RDS_RDMA=m CONFIG_RDS_TCP=m CONFIG_RD_XZ=y # CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y CONFIG_REALTEK_PHY=y # CONFIG_REED_SOLOMON_TEST is not set @@ -4464,6 +4498,7 @@ CONFIG_REGULATOR_MAX77650=m # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SLG51000 is not set # CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -4483,7 +4518,7 @@ CONFIG_REISERFS_PROC_INFO=y CONFIG_RELAY=y # CONFIG_RELOCATABLE_TEST is not set CONFIG_RELOCATABLE=y -CONFIG_REMOTEPROC=m +CONFIG_REMOTEPROC=y # CONFIG_RENESAS_PHY is not set # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_TI_SYSCON is not set @@ -4832,6 +4867,8 @@ CONFIG_SECTION_MISMATCH_WARN_ONLY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set @@ -4862,7 +4899,6 @@ CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m -# CONFIG_SENSORS_ADS1015 is not set CONFIG_SENSORS_ADS7828=m CONFIG_SENSORS_ADS7871=m CONFIG_SENSORS_ADT7310=m @@ -4874,6 +4910,7 @@ CONFIG_SENSORS_ADT7475=m CONFIG_SENSORS_AMC6821=m CONFIG_SENSORS_APDS990X=m CONFIG_SENSORS_APPLESMC=m +# CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_ASPEED=m @@ -4912,6 +4949,7 @@ CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_INA209=m CONFIG_SENSORS_INA2XX=m CONFIG_SENSORS_INA3221=m +# CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set @@ -5045,7 +5083,6 @@ CONFIG_SERIAL_8250_EXTENDED=y CONFIG_SERIAL_8250_LPSS=m CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_MID=y -CONFIG_SERIAL_8250_MOXA=m CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_RSA=y @@ -5062,6 +5099,7 @@ CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=y CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IFX6X60 is not set CONFIG_SERIAL_JSM=m @@ -5103,7 +5141,6 @@ CONFIG_SFI=y CONFIG_SFP=m # CONFIG_SGI_GRU_DEBUG is not set CONFIG_SGI_GRU=m -CONFIG_SGI_IOC4=m CONFIG_SGI_PARTITION=y CONFIG_SGI_XP=m CONFIG_SHUFFLE_PAGE_ALLOCATOR=y @@ -5226,6 +5263,7 @@ CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y +# CONFIG_SND_HDA_INTEL_DETECT_DMIC is not set CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 @@ -5368,7 +5406,9 @@ CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CML_H=m +CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_CML_LP=m +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m # CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH is not set CONFIG_SND_SOC_INTEL_HASWELL=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m @@ -5381,11 +5421,14 @@ CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m -CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y +# CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set CONFIG_SND_SOC_INTEL_SKYLAKE=m +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y CONFIG_SND_SOC=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MAX98088=m @@ -5424,12 +5467,28 @@ CONFIG_SND_SOC_RT5660=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_H_SUPPORT=y +CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y # CONFIG_SND_SOC_SOF_DEBUG is not set -# CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set +CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y +# CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 is not set +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y +CONFIG_SND_SOC_SOF_HDA_COMMON_HDMI_CODEC=y +CONFIG_SND_SOC_SOF_HDA_LINK=y +CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y +CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y # CONFIG_SND_SOC_SOF_NOCODEC is not set # CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT is not set +# CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS is not set +CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y CONFIG_SND_SOC_SOF_TOPLEVEL=y CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_SSM2305 is not set @@ -5456,6 +5515,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m # CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -5526,7 +5586,6 @@ CONFIG_SONYPI_COMPAT=y # CONFIG_SONYPI is not set CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE_PRECLAIM=y -CONFIG_SOUNDWIRE_BUS=m CONFIG_SOUNDWIRE_CADENCE=m CONFIG_SOUNDWIRE_INTEL=m CONFIG_SOUNDWIRE=y @@ -5729,6 +5788,7 @@ CONFIG_TERANETICS_PHY=m # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_LIST_SORT is not set +# CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set @@ -5797,6 +5857,13 @@ CONFIG_TIFM_7XX1=m CONFIG_TIFM_CORE=m CONFIG_TIGON3_HWMON=y CONFIG_TIGON3=m +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_DIAG=m CONFIG_TIPC=m # CONFIG_TIPC_MEDIA_IB is not set @@ -5805,7 +5872,7 @@ CONFIG_TI_SCI_PROTOCOL=m # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set CONFIG_TLAN=m -# CONFIG_TLS_DEVICE is not set +CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TMD_HERMES is not set # CONFIG_TMP006 is not set @@ -5940,6 +6007,7 @@ CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=m CONFIG_TYPEC_WCOVE=m CONFIG_TYPHOON=m +CONFIG_UAPI_HEADER_TEST=y CONFIG_UBIFS_ATIME_SUPPORT=y # CONFIG_UBIFS_FS_ADVANCED_COMPR is not set CONFIG_UBIFS_FS_AUTHENTICATION=y @@ -5999,9 +6067,11 @@ CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_CDNS3 is not set CONFIG_USB_CHAOSKEY=m # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +# CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set @@ -6168,6 +6238,7 @@ CONFIG_USB_NET_SR9700=m CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set +# CONFIG_USB_OHCI_HCD_SSB is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_OTG_FSM is not set # CONFIG_USB_OTG is not set @@ -6185,7 +6256,6 @@ CONFIG_USB_PWC=m # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set -# CONFIG_USB_RIO500 is not set CONFIG_USB_ROLES_INTEL_XHCI=m CONFIG_USB_ROLE_SWITCH=m CONFIG_USB_RTL8150=m @@ -6358,7 +6428,7 @@ CONFIG_VIDEO_BT848=m # CONFIG_VIDEO_CADENCE is not set # CONFIG_VIDEO_CAFE_CCIC is not set CONFIG_VIDEO_CPIA2=m -CONFIG_VIDEO_CROS_EC_CEC=m +# CONFIG_VIDEO_CROS_EC_CEC is not set CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX231XX_ALSA=m @@ -6437,6 +6507,7 @@ CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_BLK_SCSI is not set CONFIG_VIRTIO_CONSOLE=m +CONFIG_VIRTIO_FS=m CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y @@ -6491,6 +6562,7 @@ CONFIG_W1_MASTER_DS2482=m CONFIG_W1_MASTER_DS2490=m # CONFIG_W1_MASTER_GPIO is not set # CONFIG_W1_MASTER_MATROX is not set +# CONFIG_W1_MASTER_SGI is not set CONFIG_W1_SLAVE_DS2405=m CONFIG_W1_SLAVE_DS2406=m CONFIG_W1_SLAVE_DS2408=m @@ -6501,6 +6573,7 @@ CONFIG_W1_SLAVE_DS2431=m CONFIG_W1_SLAVE_DS2433_CRC=y CONFIG_W1_SLAVE_DS2433=m CONFIG_W1_SLAVE_DS2438=m +# CONFIG_W1_SLAVE_DS250X is not set CONFIG_W1_SLAVE_DS2780=m CONFIG_W1_SLAVE_DS2781=m CONFIG_W1_SLAVE_DS2805=m @@ -6576,7 +6649,7 @@ CONFIG_WMI_BMOF=m # CONFIG_WQ_WATCHDOG is not set # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set -# CONFIG_X86_5LEVEL is not set +CONFIG_X86_5LEVEL=y CONFIG_X86_64_ACPI_NUMA=y CONFIG_X86_ACPI_CPUFREQ_CPB=y CONFIG_X86_ACPI_CPUFREQ=m diff --git a/kernel-x86_64-rhel.config b/kernel-x86_64-rhel.config new file mode 100644 index 000000000..c76e0e471 --- /dev/null +++ b/kernel-x86_64-rhel.config @@ -0,0 +1 @@ +# EMPTY diff --git a/kernel.spec b/kernel.spec index 285b7a732..31664c4de 100644 --- a/kernel.spec +++ b/kernel.spec @@ -1,33 +1,66 @@ # We have to override the new %%install behavior because, well... the kernel is special. %global __spec_install_pre %{___build_pre} +# At the time of this writing (2019-03), RHEL8 packages use w2.xzdio +# compression for rpms (xz, level 2). +# Kernel has several large (hundreds of mbytes) rpms, they take ~5 mins +# to compress by single-threaded xz. Switch to threaded compression, +# and from level 2 to 3 to keep compressed sizes close to "w2" results. +# +# NB: if default compression in /usr/lib/rpm/redhat/macros ever changes, +# this one might need tweaking (e.g. if default changes to w3.xzdio, +# change below to w4T.xzdio): +# +# This is disabled on i686 as it triggers oom errors + +%ifnarch i686 +%define _binary_payload w3T.xzdio +%endif + Summary: The Linux kernel -# For a stable, released kernel, released_kernel should be 1. For rawhide -# and/or a kernel built from an rc or git snapshot, released_kernel should -# be 0. +# For a kernel released for public testing, released_kernel should be 1. +# For internal testing builds during development, it should be 0. +# For rawhide and/or a kernel built from an rc or git snapshot, +# released_kernel should be 0. +# For a stable, released kernel, released_kernel should be 1. %global released_kernel 1 -# Sign modules on x86. Make sure the config files match this setting if more -# architectures are added. -%ifarch %{ix86} x86_64 +%if 0%{?fedora} +%define secure_boot_arch x86_64 +%else +%define secure_boot_arch x86_64 aarch64 s390x ppc64le +%endif + +# Signing for secure boot authentication +%ifarch %{secure_boot_arch} %global signkernel 1 -%global signmodules 1 -%global zipmodules 1 %else %global signkernel 0 +%endif + +# Sign modules on all arches %global signmodules 1 + +# Compress modules only for architectures that build modules +%ifarch noarch +%global zipmodules 0 +%else %global zipmodules 1 %endif %if %{zipmodules} %global zipsed -e 's/\.ko$/\.ko.xz/' -# for parallel xz processes, replace with 1 to go back to single process -%global zcpu `nproc --all` %endif # define buildid .local +%if 0%{?fedora} +%define primary_target fedora +%else +%define primary_target rhel +%endif + # baserelease defines which build revision of this kernel version we're # building. We used to call this fedora_build, but the magical name # baserelease is matched by the rpmdev-bumpspec tool, which you should use. @@ -50,13 +83,13 @@ Summary: The Linux kernel # base_sublevel is the kernel version we're starting with and patching # on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base, # which yields a base_sublevel of 0. -%define base_sublevel 3 +%define base_sublevel 4 ## If this is a released kernel ## %if 0%{?released_kernel} # Do we have a -stable update to apply? -%define stable_update 18 +%define stable_update 5 # Set rpm version accordingly %if 0%{?stable_update} %define stablerev %{stable_update} @@ -69,7 +102,7 @@ Summary: The Linux kernel # The next upstream release sublevel (base_sublevel+1) %define upstream_sublevel %(echo $((%{base_sublevel} + 1))) # The rc snapshot level -%global rcrev 1 +%global rcrev 0 # The git snapshot level %define gitrev 0 # Set rpm version accordingly @@ -92,6 +125,8 @@ Summary: The Linux kernel %define with_pae %{?_without_pae: 0} %{?!_without_pae: 1} # kernel-debug %define with_debug %{?_without_debug: 0} %{?!_without_debug: 1} +# kernel-doc +%define with_doc %{?_without_doc: 0} %{?!_without_doc: 1} # kernel-headers %define with_headers %{?_without_headers: 0} %{?!_without_headers: 1} %define with_cross_headers %{?_without_cross_headers: 0} %{?!_without_cross_headers: 1} @@ -99,6 +134,12 @@ Summary: The Linux kernel %define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1} # Want to build a the vsdo directories installed %define with_vdso_install %{?_without_vdso_install: 0} %{?!_without_vdso_install: 1} +# kernel-zfcpdump (s390 specific kernel for zfcpdump) +%define with_zfcpdump %{?_without_zfcpdump: 0} %{?!_without_zfcpdump: 1} +# kernel-abi-whitelists +%define with_kernel_abi_whitelists %{?_without_kernel_abi_whitelists: 0} %{?!_without_kernel_abi_whitelists: 1} +# internal samples and selftests +%define with_selftests %{?_without_selftests: 0} %{?!_without_selftests: 1} # # Additional options for user-friendly one-off kernel building: # @@ -108,6 +149,17 @@ Summary: The Linux kernel %define with_paeonly %{?_with_paeonly: 1} %{?!_with_paeonly: 0} # Only build the debug kernel (--with dbgonly): %define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0} +# Control whether we perform a compat. check against published ABI. +%define with_kabichk %{?_without_kabichk: 0} %{?!_without_kabichk: 1} +# Temporarily disable kabi checks until RC. +%define with_kabichk 0 +# Control whether we perform a compat. check against DUP ABI. +%define with_kabidupchk %{?_with_kabidupchk: 1} %{?!_with_kabidupchk: 0} +# +# Control whether to run an extensive DWARF based kABI check. +# Note that this option needs to have baseline setup in SOURCE300. +%define with_kabidwchk %{?_without_kabidwchk: 0} %{?!_without_kabidwchk: 1} +%define with_kabidw_base %{?_with_kabidw_base: 1} %{?!_with_kabidw_base: 0} # # should we do C=1 builds with sparse %define with_sparse %{?_with_sparse: 1} %{?!_with_sparse: 0} @@ -121,15 +173,40 @@ Summary: The Linux kernel # verbose build, i.e. no silent rules and V=1 %define with_verbose %{?_with_verbose: 1} %{?!_with_verbose: 0} +# +# check for mismatched config options +%define with_configchecks %{?_without_configchecks: 0} %{?!_without_configchecks: 1} + +# +# gcov support +%define with_gcov %{?_with_gcov: 1} %{?!_with_gcov: 0} + +# +# ipa_clone support +%define with_ipaclones %{?_without_ipaclones: 0} %{?!_without_ipaclones: 1} + +# Want to build a vanilla kernel build without any non-upstream patches? +%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} + # Set debugbuildsenabled to 1 for production (build separate debug kernels) # and 0 for rawhide (all kernels are debug kernels). # See also 'make debug' and 'make release'. %define debugbuildsenabled 1 -# Kernel headers are being split out into a separate package %if 0%{?fedora} +# Kernel headers are being split out into a separate package %define with_headers 0 %define with_cross_headers 0 +# no selftests for now +%define with_selftests 0 +# no ipa_clone for now +%define with_ipaclones 0 +# no whitelist +%define with_kernel_abi_whitelists 0 +# Fedora builds these separately +%define with_perf 0 +%define with_tools 0 +%define with_bpftool 0 %endif %if %{with_verbose} @@ -138,9 +215,6 @@ Summary: The Linux kernel %define make_opts -s %endif -# Want to build a vanilla kernel build without any non-upstream patches? -%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0} - # pkg_release is what we'll fill in for the rpm Release: field %if 0%{?released_kernel} @@ -166,10 +240,35 @@ Summary: The Linux kernel # The kernel tarball/base version %define kversion 5.%{base_sublevel} + +# turn off debug kernel and kabichk for gcov builds +%if %{with_gcov} +%define with_debug 0 +%define with_kabichk 0 +%define with_kabidupchk 0 +%define with_kabidwchk 0 +%endif + +# turn off kABI DWARF-based check if we're generating the base dataset +%if %{with_kabidw_base} +%define with_kabidwchk 0 +%endif + +# kpatch_kcflags are extra compiler flags applied to base kernel +# -fdump-ipa-clones is enabled only for base kernels on selected arches +%if %{with_ipaclones} +%ifarch x86_64 ppc64le +%define kpatch_kcflags -fdump-ipa-clones +%else +%define with_ipaclones 0 +%endif +%endif + %define make_target bzImage %define image_install_path boot %define KVERREL %{version}-%{release}.%{_target_cpu} +%define KVERREL_RE %(echo %KVERREL | sed 's/+/[+]/g') %define hdrarch %_target_cpu %define asmarch %_target_cpu @@ -223,24 +322,43 @@ Summary: The Linux kernel %define with_pae 0 %endif -%define all_x86 i386 i686 +# turn off kABI DUP check and DWARF-based check if kABI check is disabled +%if !%{with_kabichk} +%define with_kabidupchk 0 +%define with_kabidwchk 0 +%endif %if %{with_vdso_install} %define use_vdso 1 %endif + +%ifnarch noarch +%define with_kernel_abi_whitelists 0 +%endif + # Overrides for generic default options +# only package docs noarch +%ifnarch noarch +%define with_doc 0 +%define doc_build_fail true +%endif + +%if 0%{?fedora} # don't do debug builds on anything but i686 and x86_64 %ifnarch i686 x86_64 %define with_debug 0 %endif +%endif # don't build noarch kernels or headers (duh) %ifarch noarch %define with_up 0 %define with_headers 0 %define with_cross_headers 0 +%define with_selftests 0 +%define with_debug 0 %define all_arch_configs kernel-%{version}-*.config %endif @@ -249,9 +367,19 @@ Summary: The Linux kernel %define with_sparse 0 %endif +# zfcpdump mechanism is s390 only +%ifnarch s390x +%define with_zfcpdump 0 +%endif + +%if 0%{?fedora} +# This is not for Fedora +%define with_zfcpdump 0 +%endif + # Per-arch tweaks -%ifarch %{all_x86} +%ifarch i686 %define asmarch x86 %define hdrarch i386 %define all_arch_configs kernel-%{version}-i?86*.config @@ -270,9 +398,8 @@ Summary: The Linux kernel %define make_target vmlinux %define kernel_image vmlinux %define kernel_image_elf 1 -%ifarch ppc64le %define all_arch_configs kernel-%{version}-ppc64le*.config -%endif +%define kcflags -O3 %endif %ifarch s390x @@ -297,6 +424,8 @@ Summary: The Linux kernel %define with_headers 0 %define with_cross_headers 0 %endif +# These currently don't compile on armv7 +%define with_selftests 0 %endif %ifarch aarch64 @@ -310,11 +439,7 @@ Summary: The Linux kernel # Should make listnewconfig fail if there's config options # printed out? %if %{nopatches} -%define listnewconfig_fail 0 -%define configmismatch_fail 0 -%else -%define listnewconfig_fail 1 -%define configmismatch_fail 1 +%define with_configchecks 0 %endif # To temporarily exclude an architecture from being built, add it to @@ -324,18 +449,27 @@ Summary: The Linux kernel # Which is a BadThing(tm). # We only build kernel-headers on the following... +%if 0%{?fedora} %define nobuildarches i386 +%else +%define nobuildarches i386 i686 +%endif %ifarch %nobuildarches %define with_up 0 -%define with_pae 0 -%define with_debuginfo 0 %define with_debug 0 +%define with_debuginfo 0 +%define with_selftests 0 +%define with_pae 0 %define _enable_debug_packages 0 %endif # Architectures we build tools/cpupower on +%if 0%{?fedora} %define cpupowerarchs %{ix86} x86_64 ppc64le %{arm} aarch64 +%else +%define cpupowerarchs i686 x86_64 ppc64le aarch64 +%endif %if %{use_vdso} @@ -349,7 +483,6 @@ Summary: The Linux kernel %define _use_vdso 0 %endif - # # Packages that need to be installed before the kernel is, because the %%post # scripts use them. @@ -365,7 +498,11 @@ Version: %{rpmversion} Release: %{pkg_release} # DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD. # SET %%nobuildarches (ABOVE) INSTEAD +%if 0%{?fedora} ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le +%else +ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le +%endif ExclusiveOS: Linux %ifnarch %{nobuildarches} Requires: kernel-core-uname-r = %{KVERREL}%{?variant} @@ -379,18 +516,39 @@ Requires: kernel-modules-uname-r = %{KVERREL}%{?variant} BuildRequires: kmod, patch, bash, tar, git-core BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex -BuildRequires: net-tools, hostname, bc, elfutils-devel, gcc-plugin-devel +BuildRequires: net-tools, hostname, bc, elfutils-devel %if 0%{?fedora} +BuildRequires: dwarves +%endif # Used to mangle unversioned shebangs to be Python 3 -BuildRequires: /usr/bin/pathfix.py +BuildRequires: python3-devel +%if %{with_headers} +BuildRequires: rsync +%endif +%if %{with_doc} +BuildRequires: xmlto, asciidoc, python3-sphinx %endif %if %{with_sparse} BuildRequires: sparse %endif +%if %{with_selftests} +%if 0%{?fedora} +BuildRequires: clang llvm +%else +BuildRequires: llvm-toolset +%endif +%ifnarch %{arm} +BuildRequires: numactl-devel +%endif +BuildRequires: libcap-devel libcap-ng-devel rsync +%endif BuildConflicts: rhbuildsys(DiskFree) < 500Mb %if %{with_debuginfo} BuildRequires: rpm-build, elfutils BuildConflicts: rpm < 4.13.0.1-19 +%if 0%{?fedora} +BuildConflicts: dwarves < 1.13 +%endif # Most of these should be enabled after more investigation %undefine _include_minidebuginfo %undefine _find_debuginfo_dwz_opts @@ -403,13 +561,19 @@ BuildConflicts: rpm < 4.13.0.1-19 %global _missing_build_ids_terminate_build 1 %global _no_recompute_build_ids 1 %endif +%if %{with_kabidwchk} || %{with_kabidw_base} +BuildRequires: kabi-dw +%endif %if %{signkernel}%{signmodules} BuildRequires: openssl openssl-devel %if %{signkernel} +%ifarch x86_64 aarch64 +BuildRequires: nss-tools BuildRequires: pesign >= 0.10-4 %endif %endif +%endif %if %{with_cross} BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu @@ -418,41 +582,123 @@ BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu Source0: https://www.kernel.org/pub/linux/kernel/v5.x/linux-%{kversion}.tar.xz -Source11: x509.genkey -Source12: remove-binary-diff.pl -Source15: merge.pl -Source16: mod-extra.list +# Name of the packaged file containing signing key +%ifarch ppc64le +%define signing_key_filename kernel-signing-ppc.cer +%endif +%ifarch s390x +%define signing_key_filename kernel-signing-s390.cer +%endif + +Source10: x509.genkey.rhel +Source11: x509.genkey.fedora +%if %{?released_kernel} + +Source12: securebootca.cer +Source13: secureboot.cer + +%define secureboot_ca %{SOURCE12} +%ifarch x86_64 aarch64 +%define secureboot_key %{SOURCE13} +%define pesign_name redhatsecureboot301 +%endif + +%else # released_kernel + +Source12: redhatsecurebootca2.cer +Source13: redhatsecureboot003.cer + +%define secureboot_ca %{SOURCE12} +%define secureboot_key %{SOURCE13} +%define pesign_name redhatsecureboot003 + +%endif # released_kernel + +Source15: mod-extra.list.rhel +Source16: mod-extra.list.fedora Source17: mod-extra.sh Source18: mod-sign.sh -Source90: filter-x86_64.sh -Source91: filter-armv7hl.sh -Source92: filter-i686.sh -Source93: filter-aarch64.sh -Source94: filter-ppc64le.sh -Source95: filter-s390x.sh -Source99: filter-modules.sh +Source19: mod-extra-blacklist.sh +Source79: parallel_xz.sh + +Source80: filter-x86_64.sh.fedora +Source81: filter-armv7hl.sh.fedora +Source82: filter-i686.sh.fedora +Source83: filter-aarch64.sh.fedora +Source86: filter-ppc64le.sh.fedora +Source87: filter-s390x.sh.fedora +Source89: filter-modules.sh.fedora + +Source90: filter-x86_64.sh.rhel +Source91: filter-armv7hl.sh.rhel +Source92: filter-i686.sh.rhel +Source93: filter-aarch64.sh.rhel +Source96: filter-ppc64le.sh.rhel +Source97: filter-s390x.sh.rhel +Source99: filter-modules.sh.rhel %define modsign_cmd %{SOURCE18} -Source20: kernel-aarch64.config -Source21: kernel-aarch64-debug.config -Source22: kernel-armv7hl.config -Source23: kernel-armv7hl-debug.config -Source24: kernel-armv7hl-lpae.config -Source25: kernel-armv7hl-lpae-debug.config -Source26: kernel-i686.config -Source27: kernel-i686-debug.config -Source30: kernel-ppc64le.config -Source31: kernel-ppc64le-debug.config -Source32: kernel-s390x.config -Source33: kernel-s390x-debug.config -Source34: kernel-x86_64.config -Source35: kernel-x86_64-debug.config - -Source40: generate_all_configs.sh -Source41: generate_debug_configs.sh - -Source42: process_configs.sh -Source43: generate_bls_conf.sh +Source20: kernel-aarch64-rhel.config +Source21: kernel-aarch64-debug-rhel.config +Source30: kernel-ppc64le-rhel.config +Source31: kernel-ppc64le-debug-rhel.config +Source32: kernel-s390x-rhel.config +Source33: kernel-s390x-debug-rhel.config +Source34: kernel-s390x-zfcpdump-rhel.config +Source35: kernel-x86_64-rhel.config +Source36: kernel-x86_64-debug-rhel.config + +Source37: kernel-aarch64-fedora.config +Source38: kernel-aarch64-debug-fedora.config +Source39: kernel-armv7hl-fedora.config +Source40: kernel-armv7hl-debug-fedora.config +Source41: kernel-armv7hl-lpae-fedora.config +Source42: kernel-armv7hl-lpae-debug-fedora.config +Source43: kernel-i686-fedora.config +Source44: kernel-i686-debug-fedora.config +Source45: kernel-ppc64le-fedora.config +Source46: kernel-ppc64le-debug-fedora.config +Source47: kernel-s390x-fedora.config +Source48: kernel-s390x-debug-fedora.config +Source49: kernel-x86_64-fedora.config +Source50: kernel-x86_64-debug-fedora.config + + + +Source51: generate_all_configs.sh + +Source52: process_configs.sh +Source53: generate_bls_conf.sh +Source56: update_scripts.sh + +Source54: mod-internal.list +Source55: merge.pl + +Source200: check-kabi + +Source201: Module.kabi_aarch64 +Source202: Module.kabi_ppc64le +Source203: Module.kabi_s390x +Source204: Module.kabi_x86_64 + +Source210: Module.kabi_dup_aarch64 +Source211: Module.kabi_dup_ppc64le +Source212: Module.kabi_dup_s390x +Source213: Module.kabi_dup_x86_64 + +# Source300: kernel-abi-whitelists-%{rpmversion}-%{distro_build}.tar.bz2 +# Source301: kernel-kabi-dw-%{rpmversion}-%{distro_build}.tar.bz2 + +# Sources for kernel-tools +Source2000: cpupower.service +Source2001: cpupower.config + +## Patches needed for building this package + +# Patch1: patch-%{rpmversion}-redhat.patch + +# empty final patch to facilitate testing of kernel patches +# Patch999999: linux-kernel-test.patch # This file is intentionally left empty in the stock kernel. Its a nicety # added for those wanting to do custom rebuilds with altered config opts. @@ -495,45 +741,16 @@ Source5000: patch-5.%{base_sublevel}-git%{gitrev}.xz # Standalone patches # 100 - Generic long running patches -Patch110: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch - -Patch111: input-kill-stupid-messages.patch - -Patch112: die-floppy-die.patch - -Patch113: no-pcspkr-modalias.patch - -Patch115: Kbuild-Add-an-option-to-enable-GCC-VTA.patch - -Patch116: crash-driver.patch - -Patch117: lis3-improve-handling-of-null-rate.patch - -Patch118: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch - -Patch119: namespaces-no-expert.patch - -Patch120: ath9k-rx-dma-stop-check.patch - -Patch122: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch - -# This no longer applies, let's see if it needs to be updated -# Patch123: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch - # 200 - x86 / secureboot -Patch201: efi-lockdown.patch - # bz 1497559 - Make kernel MODSIGN code not error on missing variables -Patch207: 0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch -Patch208: 0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch -Patch209: 0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch - -Patch210: disable-i8042-check-on-apple-mac.patch +Patch200: 0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch +Patch201: 0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch +Patch202: 0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch -Patch211: drm-i915-hush-check-crtc-state.patch +Patch204: efi-secureboot.patch -Patch212: efi-secureboot.patch +Patch205: lift-lockdown-sysrq.patch # 300 - ARM patches Patch300: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch @@ -557,19 +774,13 @@ Patch320: arm64-tegra-jetson-tx1-fixes.patch Patch321: arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch # https://patchwork.kernel.org/patch/11171225/ Patch322: mfd-max77620-Do-not-allocate-IRQs-upfront.patch +# https://patchwork.ozlabs.org/patch/1170631/ +Patch323: gpio-max77620-Use-correct-unit-for-debounce-times.patch # https://www.spinics.net/lists/linux-tegra/msg44216.html Patch324: arm64-tegra186-enable-USB-on-Jetson-TX2.patch # https://patchwork.kernel.org/patch/11224177/ Patch325: arm64-usb-host-xhci-tegra-set-MODULE_FIRMWARE-for-tegra186.patch -# QCom laptop bits -# https://patchwork.kernel.org/patch/11133293/ -Patch332: arm64-dts-qcom-Add-Lenovo-Yoga-C630.patch - -# This is typical rpi, we have a driver but it has problems because ¯\_(ツ)_/¯ but this revert makes pictures work again. -# https://patchwork.kernel.org/patch/11136979/ -Patch341: Revert-ARM-bcm283x-Switch-V3D-over-to-using-the-PM-driver-instead-of-firmware.patch - # 400 - IBM (ppc/s390x) patches # 500 - Temp fixes/CVEs etc @@ -583,9 +794,6 @@ Patch502: 0001-Drop-that-for-now.patch # Submitted upstream at https://lkml.org/lkml/2019/4/23/89 Patch503: KEYS-Make-use-of-platform-keyring-for-module-signature.patch -# rhbz 1753099 -Patch504: dwc3-fix.patch - Patch500: PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch # it seems CONFIG_OPTIMIZE_INLINING has been forced now and is causing issues on ARMv7 @@ -593,15 +801,6 @@ Patch500: PATCH-v2-selinux-allow-labeling-before-policy-is-loaded.patch # https://lkml.org/lkml/2019/8/29/1772 Patch505: ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch -# CVE-2019-19074 rhbz 1774933 1774934 -Patch506: 0001-ath9k-release-allocated-buffer-if-timed-out.patch - -# CVE-2019-19073 rhbz 1774937 1774939 -Patch507: 0001-ath9k_htc-release-allocated-buffer-if-timed-out.patch - -# CVE-2019-19072 rhbz 1774946 1774947 -Patch508: 0001-tracing-Have-error-path-in-predicate_parse-free-its-.patch - # CVE-2019-19070 rhbz 1774957 1774958 Patch510: spi-gpio-prevent-memory-leak-in-spi_gpio_probe.patch @@ -623,12 +822,6 @@ Patch516: spi-lpspi-fix-memory-leak-in-fsl_lpspi_probe.patch # CVE-2019-19063 rhbz 1775015 1775016 Patch517: rtlwifi-prevent-memory-leak-in-rtl_usb_probe.patch -# CVE-2019-19059 rhbz 1775042 1775043 -Patch518: 0001-iwlwifi-pcie-fix-memory-leaks-in-iwl_pcie_ctxt_info_.patch - -# CVE-2019-19058 rhbz 1775047 1775048 -Patch519: 0001-iwlwifi-dbg_ini-fix-memory-leak-in-alloc_sgtable.patch - # CVE-2019-19057 rhbz 1775050 1775051 Patch520: mwifiex-pcie-Fix-memory-leak-in-mwifiex_pcie_init_evt_ring.patch @@ -638,15 +831,9 @@ Patch521: rpmsg-char-release-allocated-memory.patch # CVE-2019-19056 rhbz 1775097 1775115 Patch522: mwifiex-pcie-fix-memory-leak-in-mwifiex_pcie_alloc_cmdrsp_buf.patch -# CVE-2019-19055 rhbz 1775074 1775116 -Patch523: 0001-nl80211-fix-memory-leak-in-nl80211_get_ftm_responder.patch - # CVE-2019-19054 rhbz 1775063 1775117 Patch524: media-rc-prevent-memory-leak-in-cx23888_ir_probe.patch -# CVE-2019-19077 rhbz 1775724 1775725 -Patch525: 0001-RDMA-Fix-goto-target-to-release-the-allocated-memory.patch - # CVE-2019-14895 rhbz 1774870 1776139 Patch526: mwifiex-fix-possible-heap-overflow-in-mwifiex_process_country_ie.patch @@ -660,21 +847,28 @@ Patch528: mwifiex-Fix-heap-overflow-in-mmwifiex_process_tdls_action_frame.patch # CVE-2019-19078 rhbz 1776354 1776353 Patch529: ath10k-fix-memory-leak.patch -# CVE-2019-19082 rhbz 1776832 1776833 -Patch530: 0001-drm-amd-display-prevent-memory-leak.patch - # CVE-2019-18808 rhbz 1777418 1777421 Patch531: 0001-crypto-ccp-Release-all-allocated-memory-if-sha-type-.patch # CVE-2019-18809 rhbz 1777449 1777451 Patch532: 0001-media-usb-fix-memory-leak-in-af9005_identify_state.patch -# CVE-2019-18812 rhbz 1777458 1777459 -Patch534: 0001-ASoC-SOF-Fix-memory-leak-in-sof_dfsentry_write.patch - # CVE-2019-16232 rhbz 1760351 1760352 Patch535: 0001-libertas-fix-a-potential-NULL-pointer-dereference.patch +# ALSA code from v5.5 (Intel ASoC Sound Open Firmware driver support) +Patch600: alsa-5.5.patch + +# ALSA code from v5.6 (Intel ASoC Sound Open Firmware driver support) +Patch607: alsa-5.6.patch + +# rhbz 1706557, both patches are upstream in v5.5-rc2 +Patch608: 0001-drm-nouveau-Move-the-declaration-of-struct-nouveau_c.patch +Patch609: 0002-drm-nouveau-Fix-drm-core-using-atomic-code-paths-on-.patch + +# rhbz 1784839 +Patch610: 0007-ALSA-hda-Fix-regression-by-strip-mask-fix.patch + # END OF PATCH DEFINITIONS %endif @@ -710,6 +904,19 @@ AutoReq: no\ AutoProv: yes\ %{nil} + +%package doc +Summary: Various documentation bits found in the kernel source +Group: Documentation +%description doc +This package contains documentation files from the kernel +source. Various bits of information about the Linux kernel and the +device drivers shipped with it are documented in these files. + +You'll want to install this package if you need a reference to the +options that can be passed to Linux kernel modules at load time. + + %package headers Summary: Header files for the Linux kernel for use by glibc Obsoletes: glibc-kernheaders < 3.0-46 @@ -742,10 +949,56 @@ Provides: installonlypkg(kernel) This package is required by %{name}-debuginfo subpackages. It provides the kernel source files common to all builds. +%if %{with_selftests} +%package selftests-internal +Summary: Kernel samples and selftests +License: GPLv2 +Requires: binutils, bpftool, iproute-tc, nmap-ncat +Requires: kernel-modules-internal = %{version}-%{release} +%description selftests-internal +Kernel sample programs and selftests. +%{nil} +# Note that this pattern only works right to match the .build-id +# symlinks because of the trailing nonmatching alternation and +# the leading .*, because of find-debuginfo.sh's buggy handling +# of matching the pattern against the symlinks file. +%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_libexecdir}/(ksamples|kselftests)/.*|XXX' -o selftests-debuginfo.list} +%endif + +%if %{with_gcov} +%package gcov +Summary: gcov graph and source files for coverage data collection. +%description gcov +kernel-gcov includes the gcov graph and source files for gcov coverage collection. +%endif + +%package -n kernel-abi-whitelists +Summary: The Red Hat Enterprise Linux kernel ABI symbol whitelists +AutoReqProv: no +%description -n kernel-abi-whitelists +The kABI package contains information pertaining to the Red Hat Enterprise +Linux kernel ABI, including lists of kernel symbols that are needed by +external Linux kernel modules, and a yum plugin to aid enforcement. + +%if %{with_kabidw_base} +%package kabidw-base +Summary: The baseline dataset for kABI verification using DWARF data +Group: System Environment/Kernel +AutoReqProv: no +%description kabidw-base +The kabidw-base package contains data describing the current ABI of the Red Hat +Enterprise Linux kernel, suitable for the kabi-dw tool. +%endif + # # This macro creates a kernel-<subpackage>-debuginfo package. # %%kernel_debuginfo_package <subpackage> # +# Explanation of the find_debuginfo_opts: We build multiple kernels (debug +# pae etc.) so the regex filters those kernels appropriately. We also +# have to package several binaries as part of kernel-devel but getting +# unique build-ids is tricky for these userspace binaries. We don't really +# care about debugging those so we just filter those out and remove it. %define kernel_debuginfo_package() \ %package %{?1:%{1}-}debuginfo\ Summary: Debug information for package %{name}%{?1:-%{1}}\ @@ -756,7 +1009,9 @@ AutoReqProv: no\ %description %{?1:%{1}-}debuginfo\ This package provides debug information for package %{name}%{?1:-%{1}}.\ This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\ -%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '/.*/%%{KVERREL}%{?1:[+]%{1}}/.*|/.*%%{KVERREL}%{?1:\+%{1}}(\.debug)?' -o debuginfo%{?1}.list}\ +%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*\/usr\/src\/kernels/.*|XXX' -o ignored-debuginfo.list -p '/.*/%%{KVERREL_RE}%{?1:[+]%{1}}/.*|/.*%%{KVERREL_RE}%{?1:\+%{1}}(\.debug)?' -o debuginfo%{?1}.list}\ + + %{nil} # @@ -780,6 +1035,39 @@ against the %{?2:%{2} }kernel package.\ %{nil} # +# kernel-<variant>-ipaclones-internal package +# +%define kernel_ipaclones_package() \ +%package %{?1:%{1}-}ipaclones-internal\ +Summary: *.ipa-clones files generated by -fdump-ipa-clones for kernel%{?1:-%{1}}\ +Group: System Environment/Kernel\ +AutoReqProv: no\ +%description %{?1:%{1}-}ipaclones-internal\ +This package provides *.ipa-clones files.\ +%{nil} + +# +# This macro creates a kernel-<subpackage>-modules-internal package. +# %%kernel_modules_internal_package <subpackage> <pretty-name> +# +%define kernel_modules_internal_package() \ +%package %{?1:%{1}-}modules-internal\ +Summary: Extra kernel modules to match the %{?2:%{2} }kernel\ +Group: System Environment/Kernel\ +Provides: kernel%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{version}-%{release}\ +Provides: kernel%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\ +Provides: kernel%{?1:-%{1}}-modules-internal = %{version}-%{release}%{?1:+%{1}}\ +Provides: installonlypkg(kernel-module)\ +Provides: kernel%{?1:-%{1}}-modules-internal-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ +Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ +Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\ +AutoReq: no\ +AutoProv: yes\ +%description %{?1:%{1}-}modules-internal\ +This package provides kernel modules for the %{?2:%{2} }kernel package for Red Hat internal usage.\ +%{nil} + +# # This macro creates a kernel-<subpackage>-modules-extra package. # %%kernel_modules_extra_package <subpackage> <pretty-name> # @@ -852,6 +1140,7 @@ Obsoletes: kernel-bootwrapper\ %{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ %{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ %{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ +%{expand:%%kernel_modules_internal_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\ %{expand:%%kernel_debuginfo_package %{?1:%{1}}}\ %{nil} @@ -865,6 +1154,14 @@ This package includes a version of the Linux kernel with support for Cortex-A15 devices with LPAE and HW virtualisation support %endif +%if %{with_zfcpdump} +%define variant_summary The Linux kernel compiled for zfcpdump usage +%kernel_variant_package zfcpdump +%description zfcpdump-core +The kernel package contains the Linux kernel (vmlinuz) for use by the +zfcpdump infrastructure. +%endif + %define variant_summary The Linux kernel compiled with extra debugging enabled %kernel_variant_package debug %description debug-core @@ -887,6 +1184,9 @@ Linux operating system. The kernel handles the basic functions of the operating system: memory allocation, process allocation, device input and output, etc. +%if %{with_ipaclones} +%kernel_ipaclones_package +%endif %prep # do a few sanity-checks for --with *only builds @@ -912,6 +1212,42 @@ if [ "%{patches}" != "%%{patches}" ] ; then done fi 2>/dev/null +patch_command='patch -p1 -F1 -s' +ApplyPatch() +{ + local patch=$1 + shift + if [ ! -f $RPM_SOURCE_DIR/$patch ]; then + exit 1 + fi + if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME%%%%%{?variant}}.spec ; then + if [ "${patch:0:8}" != "patch-5." ] ; then + echo "ERROR: Patch $patch not listed as a source patch in specfile" + exit 1 + fi + fi 2>/dev/null + case "$patch" in + *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; + *.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; + *.xz) unxz < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; + *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;; + esac +} + +# don't apply patch if it's empty +ApplyOptionalPatch() +{ + local patch=$1 + shift + if [ ! -f $RPM_SOURCE_DIR/$patch ]; then + exit 1 + fi + local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}') + if [ "$C" -gt 9 ]; then + ApplyPatch $patch ${1+"$@"} + fi +} + # First we unpack the kernel tarball. # If this isn't the first make prep, we use links to the existing clean tarball # which speeds things up quite a bit. @@ -1017,14 +1353,14 @@ cp %{SOURCE12} . # Update vanilla to the latest upstream. # (non-released_kernel case only) %if 0%{?rcrev} - xzcat %{SOURCE5000} | ./remove-binary-diff.pl | patch -p1 -F1 -s + xzcat %{SOURCE5000} | patch -p1 -F1 -s %if 0%{?gitrev} - xzcat %{SOURCE5001} | ./remove-binary-diff.pl | patch -p1 -F1 -s + xzcat %{SOURCE5001} | patch -p1 -F1 -s %endif %else # pre-{base_sublevel+1}-rc1 case %if 0%{?gitrev} - xzcat %{SOURCE5000} | ./remove-binary-diff.pl | patch -p1 -F1 -s + xzcat %{SOURCE5000} | patch -p1 -F1 -s %endif %endif git init @@ -1084,6 +1420,31 @@ mv COPYING COPYING-%{version} # This Prevents scripts/setlocalversion from mucking with our version numbers. touch .scmversion +# Mangle /usr/bin/python shebangs to /usr/bin/python3 +# Mangle all Python shebangs to be Python 3 explicitly +# -p preserves timestamps +# -n prevents creating ~backup files +# -i specifies the interpreter for the shebang +# This fixes errors such as +# *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly. +# We patch all sources below for which we got a report/error. +pathfix.py -i "%{__python3} %{py3_shbang_opts}" -p -n \ + tools/kvm/kvm_stat/kvm_stat \ + scripts/show_delta \ + scripts/diffconfig \ + scripts/bloat-o-meter \ + tools/perf/tests/attr.py \ + tools/perf/scripts/python/stat-cpi.py \ + tools/perf/scripts/python/sched-migration.py \ + Documentation \ + scripts/gen_compile_commands.py + +# only deal with configs if we are going to build for the arch +%ifnarch %nobuildarches + +if [ -L configs ]; then + rm -f configs +fi # Deal with configs stuff mkdir configs cd configs @@ -1091,23 +1452,10 @@ cd configs # Drop some necessary files from the source dir into the buildroot cp $RPM_SOURCE_DIR/kernel-*.config . cp %{SOURCE1000} . -cp %{SOURCE15} . -cp %{SOURCE40} . -cp %{SOURCE41} . -cp %{SOURCE43} . - -%if !%{debugbuildsenabled} -# The normal build is a really debug build and the user has explicitly requested -# a release kernel. Change the config files into non-debug versions. -%if !%{with_release} -VERSION=%{version} ./generate_debug_configs.sh -%else -VERSION=%{version} ./generate_all_configs.sh -%endif +cp %{SOURCE55} . +cp %{SOURCE51} . +VERSION=%{version} ./generate_all_configs.sh %{primary_target} %{debugbuildsenabled} -%else -VERSION=%{version} ./generate_all_configs.sh -%endif # Merge in any user-provided local config option changes %ifnarch %nobuildarches @@ -1119,40 +1467,33 @@ do done %endif -# only deal with configs if we are going to build for the arch -%ifnarch %nobuildarches - %if !%{debugbuildsenabled} rm -f kernel-%{version}-*debug.config %endif -%define make make %{?cross_opts} - -CheckConfigs() { - ./check_configs.awk $1 $2 > .mismatches - if [ -s .mismatches ] - then - echo "Error: Mismatches found in configuration files" - cat .mismatches - exit 1 - fi -} +# enable GCOV kernel config options if gcov is on +%if %{with_gcov} +for i in *.config +do + sed -i 's/# CONFIG_GCOV_KERNEL is not set/CONFIG_GCOV_KERNEL=y\nCONFIG_GCOV_PROFILE_ALL=y\n/' $i +done +%endif -cp %{SOURCE42} . +cp %{SOURCE52} . OPTS="" -%if %{listnewconfig_fail} - OPTS="$OPTS -n" -%endif -%if %{configmismatch_fail} - OPTS="$OPTS -c" +%if %{with_configchecks} + OPTS="$OPTS -w -n -c" %endif ./process_configs.sh $OPTS kernel %{rpmversion} +cp %{SOURCE56} . +RPM_SOURCE_DIR=$RPM_SOURCE_DIR ./update_scripts.sh %{primary_target} + # end of kernel config %endif cd .. -# End of Configs stuff +# # End of Configs stuff # get rid of unwanted files resulting from patch fuzz find . \( -name "*.orig" -o -name "*~" \) -delete >/dev/null @@ -1160,18 +1501,6 @@ find . \( -name "*.orig" -o -name "*~" \) -delete >/dev/null # remove unnecessary SCM files find . -name .gitignore -delete >/dev/null -%if 0%{?fedora} -# Mangle /usr/bin/python shebangs to /usr/bin/python3 -# Mangle all Python shebangs to be Python 3 explicitly -# -p preserves timestamps -# -n prevents creating ~backup files -# -i specifies the interpreter for the shebang -pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/ -pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/diffconfig -pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/bloat-o-meter -pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/show_delta -%endif - cd .. ### @@ -1206,9 +1535,11 @@ cp_vmlinux() # flags cause issues with the host compiler. %if !%{with_cross} %define build_hostcflags %{?build_cflags} -%define build_hostldflags %{?build_ldflags} -Wl,--build-id=uuid +%define build_hostldflags %{?build_ldflags} %endif +%define make make %{?cross_opts} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" + BuildKernel() { MakeTarget=$1 KernelImage=$2 @@ -1217,6 +1548,11 @@ BuildKernel() { Flav=${Flavour:++${Flavour}} InstallName=${5:-vmlinuz} + DoModules=1 + if [ "$Flavour" = "zfcpdump" ]; then + DoModules=0 + fi + # Pick the right config file for the kernel we're building Config=kernel-%{version}-%{_target_cpu}${Flavour:+-${Flavour}}.config DevelDir=/usr/src/kernels/%{KVERREL}${Flav} @@ -1238,9 +1574,7 @@ BuildKernel() { %endif # make sure EXTRAVERSION says what we want it to say - # Trim the release if this is a CI build, since KERNELVERSION is limited to 64 characters - ShortRel=$(perl -e "print \"%{release}\" =~ s/\.pr\.[0-9A-Fa-f]{32}//r") - perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -${ShortRel}.%{_target_cpu}${Flav}/" Makefile + perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}${Flav}/" Makefile # if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme %if !0%{?rcrev} @@ -1251,22 +1585,31 @@ BuildKernel() { # and now to start the build process - make %{?make_opts} mrproper + %{make} %{?_smp_mflags} mrproper cp configs/$Config .config %if %{signkernel}%{signmodules} - cp %{SOURCE11} certs/. + cp $RPM_SOURCE_DIR/x509.genkey certs/. %endif Arch=`head -1 .config | cut -b 3-` echo USING ARCH=$Arch - make %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch olddefconfig + KCFLAGS="%{?kcflags}" + + # add kpatch flags for base kernel + if [ "$Flavour" == "" ]; then + KCFLAGS="$KCFLAGS %{?kpatch_kcflags}" + fi + + %{make} ARCH=$Arch olddefconfig >/dev/null # This ensures build-ids are unique to allow parallel debuginfo perl -p -i -e "s/^CONFIG_BUILD_SALT.*/CONFIG_BUILD_SALT=\"%{KVERREL}\"/" .config - %{make} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags} - %{make} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch %{?_smp_mflags} modules %{?sparse_mflags} || exit 1 + %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags} + if [ $DoModules -eq 1 ]; then + %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} modules %{?sparse_mflags} || exit 1 + fi mkdir -p $RPM_BUILD_ROOT/%{image_install_path} mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer @@ -1275,7 +1618,8 @@ BuildKernel() { %endif %ifarch %{arm} aarch64 - %{make} %{?make_opts} ARCH=$Arch dtbs dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer + %{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer + %{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb find arch/$Arch/boot/dts -name '*.dtb' -type f -delete %endif @@ -1294,14 +1638,48 @@ BuildKernel() { cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || : cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/lib/modules/$KernelVer/zImage.stub-$KernelVer || : fi + %if %{signkernel} + if [ "$KernelImage" = vmlinux ]; then + # We can't strip and sign $KernelImage in place, because + # we need to preserve original vmlinux for debuginfo. + # Use a copy for signing. + $CopyKernel $KernelImage $KernelImage.tosign + KernelImage=$KernelImage.tosign + CopyKernel=cp + fi + # Sign the image if we're using EFI - %pesign -s -i $KernelImage -o vmlinuz.signed + # aarch64 kernels are gziped EFI images + KernelExtension=${KernelImage##*.} + if [ "$KernelExtension" == "gz" ]; then + SignImage=${KernelImage%.*} + else + SignImage=$KernelImage + fi + + %ifarch x86_64 aarch64 + %pesign -s -i $SignImage -o vmlinuz.signed -a %{secureboot_ca} -c %{secureboot_key} -n %{pesign_name} + %endif + %ifarch s390x ppc64le + if [ -x /usr/bin/rpm-sign ]; then + rpm-sign --key "%{pesign_name}" --lkmsign $SignImage --output vmlinuz.signed + elif [ $DoModules -eq 1 ]; then + chmod +x scripts/sign-file + ./scripts/sign-file -p sha256 certs/signing_key.pem certs/signing_key.x509 $SignImage vmlinuz.signed + else + mv $SignImage vmlinuz.signed + fi + %endif + if [ ! -s vmlinuz.signed ]; then echo "pesigning failed" exit 1 fi - mv vmlinuz.signed $KernelImage + mv vmlinuz.signed $SignImage + if [ "$KernelExtension" == "gz" ]; then + gzip -f9 $SignImage + fi %endif $CopyKernel $KernelImage \ $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer @@ -1314,19 +1692,30 @@ BuildKernel() { sha512hmac $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer | sed -e "s,$RPM_BUILD_ROOT,," > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac; cp $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac $RPM_BUILD_ROOT/lib/modules/$KernelVer/.vmlinuz.hmac - # Override $(mod-fw) because we don't want it to install any firmware - # we'll get it from the linux-firmware package and we don't want conflicts - %{make} %{?make_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw= + if [ $DoModules -eq 1 ]; then + # Override $(mod-fw) because we don't want it to install any firmware + # we'll get it from the linux-firmware package and we don't want conflicts + %{make} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT %{?_smp_mflags} modules_install KERNELRELEASE=$KernelVer mod-fw= + fi + +%if %{with_gcov} + # install gcov-needed files to $BUILDROOT/$BUILD/...: + # gcov_info->filename is absolute path + # gcno references to sources can use absolute paths (e.g. in out-of-tree builds) + # sysfs symlink targets (set up at compile time) use absolute paths to BUILD dir + find . \( -name '*.gcno' -o -name '*.[chS]' \) -exec install -D '{}' "$RPM_BUILD_ROOT/$(pwd)/{}" \; +%endif # add an a noop %%defattr statement 'cause rpm doesn't like empty file list files echo '%%defattr(-,-,-)' > ../kernel${Flavour:+-${Flavour}}-ldsoconf.list if [ $DoVDSO -ne 0 ]; then - %{make} %{?make_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer + %{make} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer if [ -s ldconfig-kernel.conf ]; then - install -D -m 444 ldconfig-kernel.conf \ + install -D -m 444 ldconfig-kernel.conf \ $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf - echo /etc/ld.so.conf.d/kernel-$KernelVer.conf >> ../kernel${Flavour:+-${Flavour}}-ldsoconf.list + echo /etc/ld.so.conf.d/kernel-$KernelVer.conf >> ../kernel${Flavour:+-${Flavour}}-ldsoconf.list fi + rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id fi @@ -1343,7 +1732,11 @@ BuildKernel() { (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source) # dirs for additional modules per module-init-tools, kbuild/modules.txt mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/internal mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates + # CONFIG_KERNEL_HEADER_TEST generates some extra files in the process of + # testing so just delete + find . -name *.h.s -delete # first copy everything cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build @@ -1351,24 +1744,97 @@ BuildKernel() { if [ -s Module.markers ]; then cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build fi + + # create the kABI metadata for use in packaging + # NOTENOTE: the name symvers is used by the rpm backend + # NOTENOTE: to discover and run the /usr/lib/rpm/fileattrs/kabi.attr + # NOTENOTE: script which dynamically adds exported kernel symbol + # NOTENOTE: checksums to the rpm metadata provides list. + # NOTENOTE: if you change the symvers name, update the backend too + echo "**** GENERATING kernel ABI metadata ****" + gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz + cp $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz $RPM_BUILD_ROOT/lib/modules/$KernelVer/symvers.gz +%if %{with_kabichk} + echo "**** kABI checking is enabled in kernel SPEC file. ****" + chmod 0755 $RPM_SOURCE_DIR/check-kabi + if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Flavour ]; then + cp $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Flavour $RPM_BUILD_ROOT/Module.kabi + $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1 + rm $RPM_BUILD_ROOT/Module.kabi # for now, don't keep it around. + else + echo "**** NOTE: Cannot find reference Module.kabi file. ****" + fi +%endif + +%if %{with_kabidupchk} + echo "**** kABI DUP checking is enabled in kernel SPEC file. ****" + if [ -e $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Flavour ]; then + cp $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Flavour $RPM_BUILD_ROOT/Module.kabi + $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1 + rm $RPM_BUILD_ROOT/Module.kabi # for now, don't keep it around. + else + echo "**** NOTE: Cannot find DUP reference Module.kabi file. ****" + fi +%endif + +%if %{with_kabidw_base} + # Don't build kabi base for debug kernels + if [ "$Flavour" != "kdump" -a "$Flavour" != "debug" ]; then + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf + tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf + + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/whitelists + tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/whitelists + + echo "**** GENERATING DWARF-based kABI baseline dataset ****" + chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh + $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \ + "$RPM_BUILD_ROOT/kabi-dwarf/whitelists/kabi-current/kabi_whitelist_%{_target_cpu}" \ + "$(pwd)" \ + "$RPM_BUILD_ROOT/kabidw-base/%{_target_cpu}${Flavour:+.${Flavour}}" || : + + rm -rf $RPM_BUILD_ROOT/kabi-dwarf + fi +%endif + +%if %{with_kabidwchk} + if [ "$Flavour" != "kdump" ]; then + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf + tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf + if [ -d "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}" ]; then + mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/whitelists + tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/whitelists + + echo "**** GENERATING DWARF-based kABI dataset ****" + chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh + $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \ + "$RPM_BUILD_ROOT/kabi-dwarf/whitelists/kabi-current/kabi_whitelist_%{_target_cpu}" \ + "$(pwd)" \ + "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}.tmp" || : + + echo "**** kABI DWARF-based comparison report ****" + $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh compare \ + "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}" \ + "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}.tmp" || : + echo "**** End of kABI DWARF-based comparison report ****" + else + echo "**** Baseline dataset for kABI DWARF-BASED comparison report not found ****" + fi + + rm -rf $RPM_BUILD_ROOT/kabi-dwarf + fi +%endif + # then drop all but the needed Makefiles/Kconfig files rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build + rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/tracing + rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/spdxcheck.py if [ -f tools/objtool/objtool ]; then cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || : - # these are a few files associated with objtool - cp -a --parents tools/build/Build.include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - cp -a --parents tools/build/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - cp -a --parents tools/build/fixdep.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - cp -a --parents tools/scripts/utilities.mak $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - # also more than necessary but it's not that many more files - cp -a --parents tools/objtool/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - cp -a --parents tools/lib/str_error_r.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - cp -a --parents tools/lib/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - cp -a --parents tools/lib/subcmd/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ fi if [ -d arch/$Arch/scripts ]; then cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || : @@ -1404,7 +1870,7 @@ BuildKernel() { %endif cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include -%ifarch %{ix86} x86_64 +%ifarch i686 x86_64 # files for 'make prepare' to succeed with kernel-devel cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/entry/syscalls/syscalltbl.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ @@ -1415,9 +1881,7 @@ BuildKernel() { cp -a --parents arch/x86/tools/relocs.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs_common.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/tools/relocs.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ - # Yes this is more includes than we probably need. Feel free to sort out - # dependencies if you so choose. - cp -a --parents tools/include/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ + cp -a --parents tools/include/tools/le_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/purgatory/purgatory.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/purgatory/stack.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ cp -a --parents arch/x86/purgatory/setup-x86_64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ @@ -1482,7 +1946,11 @@ BuildKernel() { popd # Call the modules-extra script to move things around - %{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE16} + %{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer $RPM_SOURCE_DIR/mod-extra.list + # Blacklist net autoloadable modules in modules-extra + %{SOURCE19} $RPM_BUILD_ROOT lib/modules/$KernelVer + # Call the modules-extra script for internal modules + %{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE54} internal # # Generate the kernel-core and kernel-modules files lists @@ -1496,24 +1964,38 @@ BuildKernel() { cp -r lib/modules/$KernelVer/* restore/. # don't include anything going into k-m-e in the file lists - rm -rf lib/modules/$KernelVer/extra - - # Find all the module files and filter them out into the core and modules - # lists. This actually removes anything going into -modules from the dir. - find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list - cp $RPM_SOURCE_DIR/filter-*.sh . - %{SOURCE99} modules.list %{_target_cpu} - rm filter-*.sh - - # Run depmod on the resulting module tree and make sure it isn't broken - depmod -b . -aeF ./System.map $KernelVer &> depmod.out - if [ -s depmod.out ]; then - echo "Depmod failure" - cat depmod.out - exit 1 + rm -rf lib/modules/$KernelVer/{extra,internal} + + + if [ $DoModules -eq 1 ]; then + # Find all the module files and filter them out into the core and + # modules lists. This actually removes anything going into -modules + # from the dir. + find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list + cp $RPM_SOURCE_DIR/filter-*.sh . + ./filter-modules.sh modules.list %{_target_cpu} + rm filter-*.sh + + # Run depmod on the resulting module tree and make sure it isn't broken + depmod -b . -aeF ./System.map $KernelVer &> depmod.out + if [ -s depmod.out ]; then + echo "Depmod failure" + cat depmod.out + exit 1 + else + rm depmod.out + fi else - rm depmod.out + # Ensure important files/directories exist to let the packaging succeed + echo '%%defattr(-,-,-)' > modules.list + echo '%%defattr(-,-,-)' > k-d.list + mkdir -p lib/modules/$KernelVer/kernel + # Add files usually created by make modules, needed to prevent errors + # thrown by depmod during package installation + touch lib/modules/$KernelVer/modules.order + touch lib/modules/$KernelVer/modules.builtin fi + # remove files that will be auto generated by depmod at rpm -i time pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/ rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep} @@ -1541,9 +2023,11 @@ BuildKernel() { rm -f $RPM_BUILD_ROOT/module-dirs.list %if %{signmodules} - # Save the signing keys so we can sign the modules in __modsign_install_post - cp certs/signing_key.pem certs/signing_key.pem.sign${Flav} - cp certs/signing_key.x509 certs/signing_key.x509.sign${Flav} + if [ $DoModules -eq 1 ]; then + # Save the signing keys so we can sign the modules in __modsign_install_post + cp certs/signing_key.pem certs/signing_key.pem.sign${Flav} + cp certs/signing_key.x509 certs/signing_key.x509.sign${Flav} + fi %endif # Move the devel headers out of the root file system @@ -1560,7 +2044,34 @@ BuildKernel() { find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete # build a BLS config for this kernel - %{SOURCE43} "$KernelVer" "$RPM_BUILD_ROOT" "%{?variant}" + %{SOURCE53} "$KernelVer" "$RPM_BUILD_ROOT" "%{?variant}" + + # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel + mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer + install -m 0644 %{secureboot_ca} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer + %ifarch s390x ppc64le + if [ $DoModules -eq 1 ]; then + if [ -x /usr/bin/rpm-sign ]; then + install -m 0644 %{secureboot_key} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} + else + install -m 0644 certs/signing_key.x509.sign${Flav} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer + openssl x509 -in certs/signing_key.pem.sign${Flav} -outform der -out $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} + chmod 0644 $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename} + fi + fi + %endif + +%if %{with_ipaclones} + MAXPROCS=$(echo %{?_smp_mflags} | sed -n 's/-j\s*\([0-9]\+\)/\1/p') + if [ -z "$MAXPROCS" ]; then + MAXPROCS=1 + fi + if [ "$Flavour" == "" ]; then + mkdir -p $RPM_BUILD_ROOT/$DevelDir-ipaclones + find . -name '*.ipa-clones' | xargs -i{} -r -n 1 -P $MAXPROCS install -m 644 -D "{}" "$RPM_BUILD_ROOT/$DevelDir-ipaclones/{}" + fi +%endif + } ### @@ -1579,6 +2090,10 @@ cd linux-%{KVERREL} BuildKernel %make_target %kernel_image %{_use_vdso} debug %endif +%if %{with_zfcpdump} +BuildKernel %make_target %kernel_image %{_use_vdso} zfcpdump +%endif + %if %{with_pae} BuildKernel %make_target %kernel_image %{use_vdso} lpae %endif @@ -1587,6 +2102,24 @@ BuildKernel %make_target %kernel_image %{use_vdso} lpae BuildKernel %make_target %kernel_image %{_use_vdso} %endif +%if %{with_selftests} +%{make} -s ARCH=$Arch V=1 samples/bpf/ +pushd tools/testing/selftests +# We need to install here because we need to call make with ARCH set which +# doesn't seem possible to do in the install section. +%{make} -s ARCH=$Arch V=1 TARGETS="bpf livepatch net" INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests install +popd +%endif + +%if %{with_doc} +# Make the HTML pages. +make htmldocs || %{doc_build_fail} + +# sometimes non-world-readable files sneak into the kernel source tree +chmod -R a=rX Documentation +find Documentation -type d | xargs chmod u+w +%endif + # In the modsign case, we do 3 things. 1) We check the "flavour" and hard # code the value in the following invocations. This is somewhat sub-optimal # but we're doing this inside of an RPM macro and it isn't as easy as it @@ -1597,11 +2130,13 @@ BuildKernel %make_target %kernel_image %{_use_vdso} # # We have to do all of those things _after_ find-debuginfo runs, otherwise # that will strip the signature off of the modules. +# +# Don't sign modules for the zfcpdump flavour as it is monolithic. %define __modsign_install_post \ if [ "%{signmodules}" -eq "1" ]; then \ if [ "%{with_pae}" -ne "0" ]; then \ - %{modsign_cmd} certs/signing_key.pem.sign+lpae certs/signing_key.x509.sign+lpae $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+lpae/ \ + %{modsign_cmd} certs/signing_key.pem.sign+lpae certs/signing_key.x509.sign+lpae $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+lpae/ \ fi \ if [ "%{with_debug}" -ne "0" ]; then \ %{modsign_cmd} certs/signing_key.pem.sign+debug certs/signing_key.x509.sign+debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+debug/ \ @@ -1611,7 +2146,7 @@ BuildKernel %make_target %kernel_image %{_use_vdso} fi \ fi \ if [ "%{zipmodules}" -eq "1" ]; then \ - find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -P%{zcpu} xz; \ + find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | %{SOURCE79} %{?_smp_mflags}; \ fi \ %{nil} @@ -1631,6 +2166,18 @@ BuildKernel %make_target %kernel_image %{_use_vdso} %endif +# We don't want to package debuginfo for self-tests and samples but +# we have to delete them to avoid an error messages about unpackaged +# files. +# Delete the debuginfo for for kernel-devel files +%define __remove_unwanted_dbginfo_install_post \ + if [ "%{with_selftests}" -ne "0" ]; then \ + rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/ksamples; \ + rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/kselftests; \ + fi \ + rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/src; \ +%{nil} + # # Disgusting hack alert! We need to ensure we sign modules *after* all # invocations of strip occur, which is in __debug_install_post if @@ -1640,6 +2187,7 @@ BuildKernel %make_target %kernel_image %{_use_vdso} %{?__debug_package:%{__debug_install_post}}\ %{__arch_install_post}\ %{__os_install_post}\ + %{__remove_unwanted_dbginfo_install_post}\ %{__modsign_install_post} ### @@ -1650,6 +2198,15 @@ BuildKernel %make_target %kernel_image %{_use_vdso} cd linux-%{KVERREL} +%if %{with_doc} +docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion} + +# copy the source over +mkdir -p $docdir +tar -h -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $docdir + +%endif + # We have to do the headers install before the tools install because the # kernel headers_install will remove any header files in /usr/include that # it doesn't install itself. @@ -1665,32 +2222,81 @@ find $RPM_BUILD_ROOT/usr/include \ %endif %if %{with_cross_headers} +HDR_ARCH_LIST='arm arm64 powerpc s390 x86' mkdir -p $RPM_BUILD_ROOT/usr/tmp-headers -make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers headers_install_all -find $RPM_BUILD_ROOT/usr/tmp-headers/include \ +for arch in $HDR_ARCH_LIST; do + mkdir $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch} + make ARCH=${arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch} headers_install +done + +find $RPM_BUILD_ROOT/usr/tmp-headers \ \( -name .install -o -name .check -o \ -name ..install.cmd -o -name ..check.cmd \) -delete # Copy all the architectures we care about to their respective asm directories -for arch in arm arm64 powerpc s390 x86 ; do -mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include -mv $RPM_BUILD_ROOT/usr/tmp-headers/include/arch-${arch}/asm $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/ -cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-generic $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/. -done - -# Remove the rest of the architectures -rm -rf $RPM_BUILD_ROOT/usr/tmp-headers/include/arch* -rm -rf $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-* - -# Copy the rest of the headers over -for arch in arm arm64 powerpc s390 x86 ; do -cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/. +for arch in $HDR_ARCH_LIST ; do + mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include + mv $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch}/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/ done rm -rf $RPM_BUILD_ROOT/usr/tmp-headers %endif +%if %{with_kernel_abi_whitelists} +# kabi directory +INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/ +mkdir -p $INSTALL_KABI_PATH +# install kabi releases directories +tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH +%endif + +%if %{with_selftests} +pushd samples +install -d %{buildroot}%{_libexecdir}/ksamples +# install bpf samples +pushd bpf +install -d %{buildroot}%{_libexecdir}/ksamples/bpf +find -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/bpf \; +install -m755 *.sh %{buildroot}%{_libexecdir}/ksamples/bpf +# test_lwt_bpf.sh compiles test_lwt_bpf.c when run; this works only from the +# kernel tree. Just remove it. +rm %{buildroot}%{_libexecdir}/ksamples/bpf/test_lwt_bpf.sh +install -m644 tcp_bpf.readme %{buildroot}%{_libexecdir}/ksamples/bpf +popd +# install pktgen samples +pushd pktgen +install -d %{buildroot}%{_libexecdir}/ksamples/pktgen +find . -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \; +find . -type f ! -executable -exec install -m644 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \; +popd +popd +# install drivers/net/mlxsw selftests +pushd tools/testing/selftests/drivers/net/mlxsw +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \; +popd +# install net/forwarding selftests +pushd tools/testing/selftests/net/forwarding +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \; +popd +# install tc-testing selftests +pushd tools/testing/selftests/tc-testing +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \; +popd +# install livepatch selftests +pushd tools/testing/selftests/livepatch +find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; +find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; +find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \; +popd +%endif + ### ### clean ### @@ -1702,6 +2308,9 @@ rm -rf $RPM_BUILD_ROOT/usr/tmp-headers # # This macro defines a %%post script for a kernel*-devel package. # %%kernel_devel_post [<subpackage>] +# Note we don't run hardlink if ostree is in use, as ostree is +# a far more sophisticated hardlink implementation. +# https://github.com/projectatomic/rpm-ostree/commit/58a79056a889be8814aa51f507b2c7a4dccee526 # %define kernel_devel_post() \ %{expand:%%post %{?1:%{1}-}devel}\ @@ -1709,11 +2318,11 @@ if [ -f /etc/sysconfig/kernel ]\ then\ . /etc/sysconfig/kernel || exit $?\ fi\ -if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]\ +if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink -a ! -e /run/ostree-booted ] \ then\ (cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\ /usr/bin/find . -type f | while read f; do\ - hardlink -c /usr/src/kernels/*.fc*.*/$f $f\ + hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f\ done)\ fi\ %{nil} @@ -1732,6 +2341,19 @@ fi\ %{nil} # +# This macro defines a %%post script for a kernel*-modules-internal package. +# It also defines a %%postun script that does the same thing. +# %%kernel_modules_internal_post [<subpackage>] +# +%define kernel_modules_internal_post() \ +%{expand:%%post %{?1:%{1}-}modules-internal}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil}\ +%{expand:%%postun %{?1:%{1}-}modules-internal}\ +/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\ +%{nil} + +# # This macro defines a %%post script for a kernel*-modules package. # It also defines a %%postun script that does the same thing. # %%kernel_modules_post [<subpackage>] @@ -1762,6 +2384,7 @@ fi\ %{expand:%%kernel_devel_post %{?-v*}}\ %{expand:%%kernel_modules_post %{?-v*}}\ %{expand:%%kernel_modules_extra_post %{?-v*}}\ +%{expand:%%kernel_modules_internal_post %{?-v*}}\ %{expand:%%kernel_variant_posttrans %{?-v*}}\ %{expand:%%post %{?-v*:%{-v*}-}core}\ %{-r:\ @@ -1791,6 +2414,11 @@ fi}\ %kernel_variant_preun debug %kernel_variant_post -v debug +%if %{with_zfcpdump} +%kernel_variant_preun zfcpdump +%kernel_variant_post -v zfcpdump +%endif + if [ -x /sbin/ldconfig ] then /sbin/ldconfig -X || exit $? @@ -1810,8 +2438,46 @@ fi /usr/*-linux-gnu/include/* %endif +%if %{with_kernel_abi_whitelists} +%files -n kernel-abi-whitelists +/lib/modules/kabi-* +%endif + +%if %{with_kabidw_base} +%ifarch x86_64 s390x ppc64 ppc64le aarch64 +%files kabidw-base +%defattr(-,root,root) +/kabidw-base/%{_target_cpu}/* +%endif +%endif + +# only some architecture builds need kernel-doc +%if %{with_doc} +%files doc +%defattr(-,root,root) +%{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation/* +%dir %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation +%dir %{_datadir}/doc/kernel-doc-%{rpmversion} +%endif + +%if %{with_selftests} +%files selftests-internal +%{_libexecdir}/ksamples +%{_libexecdir}/kselftests +%endif + # empty meta-package +%ifnarch %nobuildarches noarch %files +%endif + +%if %{with_gcov} +%ifarch x86_64 s390x ppc64le aarch64 +%files gcov +%{_builddir} +%endif +%endif + # This is %%{image_install_path} on an arch where that includes ELF files, # or empty otherwise. %define elf_image_install_path %{?kernel_image_elf:%{image_install_path}} @@ -1819,7 +2485,7 @@ fi # # This macro defines the %%files sections for a kernel package # and its devel and debuginfo packages. -# %%kernel_variant_files [-k vmlinux] <condition> <subpackage> +# %%kernel_variant_files [-k vmlinux] <condition> <subpackage> <without_modules> # %define kernel_variant_files(k:) \ %if %{2}\ @@ -1836,7 +2502,9 @@ fi %endif\ %attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\ %ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.gz\ /lib/modules/%{KVERREL}%{?3:+%{3}}/config\ +%ghost /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\ %ghost /boot/config-%{KVERREL}%{?3:+%{3}}\ %ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\ %dir /lib/modules\ @@ -1846,6 +2514,12 @@ fi /lib/modules/%{KVERREL}%{?3:+%{3}}/source\ /lib/modules/%{KVERREL}%{?3:+%{3}}/updates\ /lib/modules/%{KVERREL}%{?3:+%{3}}/bls.conf\ +%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}/kernel-signing-ca.cer\ +%ifarch s390x ppc64le\ +%if 0%{!?4:1}\ +%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}/%{signing_key_filename} \ +%endif\ +%endif\ %if %{1}\ /lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\ %endif\ @@ -1855,7 +2529,13 @@ fi %defverify(not mtime)\ /usr/src/kernels/%{KVERREL}%{?3:+%{3}}\ %{expand:%%files %{?3:%{3}-}modules-extra}\ +%config(noreplace) /etc/modprobe.d/*-blacklist.conf\ /lib/modules/%{KVERREL}%{?3:+%{3}}/extra\ +%%defattr(-,root,root)\ +%defverify(not mtime)\ +/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\ +%{expand:%%files %{?3:%{3}-}modules-internal}\ +/lib/modules/%{KVERREL}%{?3:+%{3}}/internal\ %if %{with_debuginfo}\ %ifnarch noarch\ %{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\ @@ -1870,12 +2550,29 @@ fi %kernel_variant_files %{_use_vdso} %{with_up} %kernel_variant_files %{_use_vdso} %{with_debug} debug %kernel_variant_files %{use_vdso} %{with_pae} lpae +%kernel_variant_files %{_use_vdso} %{with_zfcpdump} zfcpdump 1 + +%define kernel_variant_ipaclones(k:) \ +%if %{1}\ +%if %{with_ipaclones}\ +%{expand:%%files %{?2:%{2}-}ipaclones-internal}\ +%defattr(-,root,root)\ +%defverify(not mtime)\ +/usr/src/kernels/%{KVERREL}%{?2:+%{2}}-ipaclones\ +%endif\ +%endif\ +%{nil} + +%kernel_variant_ipaclones %{with_up} # plz don't put in a version string unless you're going to tag # and build. # # %changelog +* Thu Dec 19 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.4.5-300 +- Linux v5.4.5 rebase + * Wed Dec 18 2019 Laura Abbott <labbott@redhat.com> - 5.3.18-300 - Linux v5.3.18 diff --git a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch b/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch deleted file mode 100644 index 5e6d6611e..000000000 --- a/lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Josh Boyer <jwboyer@fedoraproject.org> -Date: Mon, 11 Nov 2013 08:39:16 -0500 -Subject: [PATCH] lib/cpumask: Make CPUMASK_OFFSTACK usable without debug - dependency - -When CPUMASK_OFFSTACK was added in 2008, it was dependent upon -DEBUG_PER_CPU_MAPS being enabled, or an architecture could select it. -The debug dependency adds additional overhead that isn't required for -operation of the feature, and we need CPUMASK_OFFSTACK to increase the -NR_CPUS value beyond 512 on x86. We drop the current dependency and make -sure SMP is set. - -Bugzilla: N/A -Upstream-status: Nak'd, supposedly replacement coming to auto-select - -Signed-off-by: Josh Boyer <jwboyer@fedoraproject.org> ---- - lib/Kconfig | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/lib/Kconfig b/lib/Kconfig -index 3a2ef67db6c7..4af1e7e5a611 100644 ---- a/lib/Kconfig -+++ b/lib/Kconfig -@@ -396,7 +396,8 @@ config CHECK_SIGNATURE - bool - - config CPUMASK_OFFSTACK -- bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS -+ bool "Force CPU masks off stack" -+ depends on SMP - help - Use dynamic allocation for cpumask_var_t, instead of putting - them on the stack. This is a bit more expensive, but avoids diff --git a/lift-lockdown-sysrq.patch b/lift-lockdown-sysrq.patch new file mode 100644 index 000000000..b465143fb --- /dev/null +++ b/lift-lockdown-sysrq.patch @@ -0,0 +1,287 @@ +From c2eb371cede78df9a47bf3a125aa9a45dd833da7 Mon Sep 17 00:00:00 2001 +From: Kyle McMartin <kyle@redhat.com> +Date: Mon, 9 Apr 2018 09:52:45 +0100 +Subject: [PATCH] Add a SysRq option to lift kernel lockdown + +Make an option to provide a sysrq key that will lift the kernel lockdown, +thereby allowing the running kernel image to be accessed and modified. + +On x86 this is triggered with SysRq+x, but this key may not be available on +all arches, so it is set by setting LOCKDOWN_LIFT_KEY in asm/setup.h. +Since this macro must be defined in an arch to be able to use this facility +for that arch, the Kconfig option is restricted to arches that support it. + +Signed-off-by: Kyle McMartin <kyle@redhat.com> +Signed-off-by: David Howells <dhowells@redhat.com> +cc: x86@kernel.org +Signed-off-by: Jeremy Cline <jcline@redhat.com> +--- + arch/x86/include/asm/setup.h | 2 ++ + drivers/input/misc/uinput.c | 1 + + drivers/tty/sysrq.c | 27 +++++++++++++--------- + include/linux/input.h | 5 +++++ + include/linux/sysrq.h | 8 ++++++- + kernel/debug/kdb/kdb_main.c | 2 +- + security/lockdown/Kconfig | 11 +++++++++ + security/lockdown/lockdown.c | 43 ++++++++++++++++++++++++++++++++++++ + 8 files changed, 87 insertions(+), 12 deletions(-) + +diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h +index ed8ec011a9fd..8daf633a5347 100644 +--- a/arch/x86/include/asm/setup.h ++++ b/arch/x86/include/asm/setup.h +@@ -9,6 +9,8 @@ + #include <linux/linkage.h> + #include <asm/page_types.h> + ++#define LOCKDOWN_LIFT_KEY 'x' ++ + #ifdef __i386__ + + #include <linux/pfn.h> +diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c +index 84051f20b18a..583ab2bc1916 100644 +--- a/drivers/input/misc/uinput.c ++++ b/drivers/input/misc/uinput.c +@@ -353,6 +353,7 @@ static int uinput_create_device(struct uinput_device *udev) + dev->flush = uinput_dev_flush; + } + ++ dev->flags |= INPUTDEV_FLAGS_SYNTHETIC; + dev->event = uinput_dev_event; + + input_set_drvdata(udev->dev, udev); +diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c +index 573b2055173c..99082faafc44 100644 +--- a/drivers/tty/sysrq.c ++++ b/drivers/tty/sysrq.c +@@ -480,6 +480,7 @@ static struct sysrq_key_op *sysrq_key_table[36] = { + /* x: May be registered on mips for TLB dump */ + /* x: May be registered on ppc/powerpc for xmon */ + /* x: May be registered on sparc64 for global PMU dump */ ++ /* x: May be registered on x86_64 for disabling secure boot */ + NULL, /* x */ + /* y: May be registered on sparc64 for global register dump */ + NULL, /* y */ +@@ -523,7 +524,7 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p) + sysrq_key_table[i] = op_p; + } + +-void __handle_sysrq(int key, bool check_mask) ++void __handle_sysrq(int key, unsigned int from) + { + struct sysrq_key_op *op_p; + int orig_log_level; +@@ -546,11 +547,15 @@ void __handle_sysrq(int key, bool check_mask) + + op_p = __sysrq_get_key_op(key); + if (op_p) { +- /* +- * Should we check for enabled operations (/proc/sysrq-trigger +- * should not) and is the invoked operation enabled? +- */ +- if (!check_mask || sysrq_on_mask(op_p->enable_mask)) { ++ /* Ban synthetic events from some sysrq functionality */ ++ if ((from == SYSRQ_FROM_PROC || from == SYSRQ_FROM_SYNTHETIC) && ++ op_p->enable_mask & SYSRQ_DISABLE_USERSPACE) { ++ printk("This sysrq operation is disabled from userspace.\n"); ++ } else if (from == SYSRQ_FROM_KERNEL || sysrq_on_mask(op_p->enable_mask)) { ++ /* ++ * Should we check for enabled operations (/proc/sysrq-trigger ++ * should not) and is the invoked operation enabled? ++ */ + pr_info("%s\n", op_p->action_msg); + console_loglevel = orig_log_level; + op_p->handler(key); +@@ -585,7 +590,7 @@ void __handle_sysrq(int key, bool check_mask) + void handle_sysrq(int key) + { + if (sysrq_on()) +- __handle_sysrq(key, true); ++ __handle_sysrq(key, SYSRQ_FROM_KERNEL); + } + EXPORT_SYMBOL(handle_sysrq); + +@@ -665,7 +670,7 @@ static void sysrq_do_reset(struct timer_list *t) + static void sysrq_handle_reset_request(struct sysrq_state *state) + { + if (state->reset_requested) +- __handle_sysrq(sysrq_xlate[KEY_B], false); ++ __handle_sysrq(sysrq_xlate[KEY_B], SYSRQ_FROM_KERNEL); + + if (sysrq_reset_downtime_ms) + mod_timer(&state->keyreset_timer, +@@ -818,8 +823,10 @@ static bool sysrq_handle_keypress(struct sysrq_state *sysrq, + + default: + if (sysrq->active && value && value != 2) { ++ int from = sysrq->handle.dev->flags & INPUTDEV_FLAGS_SYNTHETIC ? ++ SYSRQ_FROM_SYNTHETIC : 0; + sysrq->need_reinject = false; +- __handle_sysrq(sysrq_xlate[code], true); ++ __handle_sysrq(sysrq_xlate[code], from); + } + break; + } +@@ -1102,7 +1109,7 @@ static ssize_t write_sysrq_trigger(struct file *file, const char __user *buf, + + if (get_user(c, buf)) + return -EFAULT; +- __handle_sysrq(c, false); ++ __handle_sysrq(c, SYSRQ_FROM_PROC); + } + + return count; +diff --git a/include/linux/input.h b/include/linux/input.h +index 94f277cd806a..8539afa2c001 100644 +--- a/include/linux/input.h ++++ b/include/linux/input.h +@@ -48,6 +48,7 @@ enum input_clock_type { + * @phys: physical path to the device in the system hierarchy + * @uniq: unique identification code for the device (if device has it) + * @id: id of the device (struct input_id) ++ * @flags: input device flags (SYNTHETIC, etc.) + * @propbit: bitmap of device properties and quirks + * @evbit: bitmap of types of events supported by the device (EV_KEY, + * EV_REL, etc.) +@@ -134,6 +135,8 @@ struct input_dev { + const char *uniq; + struct input_id id; + ++ unsigned int flags; ++ + unsigned long propbit[BITS_TO_LONGS(INPUT_PROP_CNT)]; + + unsigned long evbit[BITS_TO_LONGS(EV_CNT)]; +@@ -204,6 +207,8 @@ struct input_dev { + }; + #define to_input_dev(d) container_of(d, struct input_dev, dev) + ++#define INPUTDEV_FLAGS_SYNTHETIC 0x000000001 ++ + /* + * Verify that we are in sync with input_device_id mod_devicetable.h #defines + */ +diff --git a/include/linux/sysrq.h b/include/linux/sysrq.h +index 8c71874e8485..7de1f08b60a9 100644 +--- a/include/linux/sysrq.h ++++ b/include/linux/sysrq.h +@@ -29,6 +29,8 @@ + #define SYSRQ_ENABLE_BOOT 0x0080 + #define SYSRQ_ENABLE_RTNICE 0x0100 + ++#define SYSRQ_DISABLE_USERSPACE 0x00010000 ++ + struct sysrq_key_op { + void (*handler)(int); + char *help_msg; +@@ -43,8 +45,12 @@ struct sysrq_key_op { + * are available -- else NULL's). + */ + ++#define SYSRQ_FROM_KERNEL 0x0001 ++#define SYSRQ_FROM_PROC 0x0002 ++#define SYSRQ_FROM_SYNTHETIC 0x0004 ++ + void handle_sysrq(int key); +-void __handle_sysrq(int key, bool check_mask); ++void __handle_sysrq(int key, unsigned int from); + int register_sysrq_key(int key, struct sysrq_key_op *op); + int unregister_sysrq_key(int key, struct sysrq_key_op *op); + struct sysrq_key_op *__sysrq_get_key_op(int key); +diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c +index 4567fe998c30..d05142ef44c4 100644 +--- a/kernel/debug/kdb/kdb_main.c ++++ b/kernel/debug/kdb/kdb_main.c +@@ -1981,7 +1981,7 @@ static int kdb_sr(int argc, const char **argv) + return KDB_ARGCOUNT; + + kdb_trap_printk++; +- __handle_sysrq(*argv[1], check_mask); ++ __handle_sysrq(*argv[1], check_mask ? SYSRQ_FROM_KERNEL : 0); + kdb_trap_printk--; + + return 0; +diff --git a/security/lockdown/Kconfig b/security/lockdown/Kconfig +index e84ddf484010..20e979178e1c 100644 +--- a/security/lockdown/Kconfig ++++ b/security/lockdown/Kconfig +@@ -45,3 +45,14 @@ config LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY + disabled. + + endchoice ++ ++config ALLOW_LOCKDOWN_LIFT_BY_SYSRQ ++ bool "Allow the kernel lockdown to be lifted by SysRq" ++ depends on SECURITY_LOCKDOWN_LSM ++ depends on !LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY ++ depends on !LOCK_DOWN_KERNEL_FORCE_INTEGRITY ++ depends on MAGIC_SYSRQ ++ depends on X86 ++ help ++ Allow setting the lockdown mode to "none" by pressing a SysRq key ++ combination on a wired keyboard. On x86, this is SysRq+x +diff --git a/security/lockdown/lockdown.c b/security/lockdown/lockdown.c +index 8a10b43daf74..df4662257309 100644 +--- a/security/lockdown/lockdown.c ++++ b/security/lockdown/lockdown.c +@@ -13,6 +13,8 @@ + #include <linux/security.h> + #include <linux/export.h> + #include <linux/lsm_hooks.h> ++#include <linux/sysrq.h> ++#include <asm/setup.h> + + static enum lockdown_reason kernel_locked_down; + +@@ -179,6 +181,47 @@ static int __init lockdown_secfs_init(void) + return PTR_ERR_OR_ZERO(dentry); + } + ++#ifdef CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ ++ ++/* ++ * Take the kernel out of lockdown mode. ++ */ ++static void lift_kernel_lockdown(void) ++{ ++ pr_notice("Lifting lockdown\n"); ++ kernel_locked_down = LOCKDOWN_NONE; ++} ++ ++/* ++ * Allow lockdown to be lifted by pressing something like SysRq+x (and not by ++ * echoing the appropriate letter into the sysrq-trigger file). ++ */ ++static void sysrq_handle_lockdown_lift(int key) ++{ ++ if (kernel_locked_down) ++ lift_kernel_lockdown(); ++} ++ ++static struct sysrq_key_op lockdown_lift_sysrq_op = { ++ .handler = sysrq_handle_lockdown_lift, ++ .help_msg = "unSB(x)", ++ .action_msg = "Disabling Secure Boot restrictions", ++ .enable_mask = SYSRQ_DISABLE_USERSPACE, ++}; ++ ++static int __init lockdown_lift_sysrq(void) ++{ ++ if (kernel_locked_down) { ++ lockdown_lift_sysrq_op.help_msg[5] = LOCKDOWN_LIFT_KEY; ++ register_sysrq_key(LOCKDOWN_LIFT_KEY, &lockdown_lift_sysrq_op); ++ } ++ return 0; ++} ++ ++late_initcall(lockdown_lift_sysrq); ++ ++#endif /* CONFIG_ALLOW_LOCKDOWN_LIFT_BY_SYSRQ */ ++ + core_initcall(lockdown_secfs_init); + + #ifdef CONFIG_SECURITY_LOCKDOWN_LSM_EARLY +-- +2.21.0 + diff --git a/lis3-improve-handling-of-null-rate.patch b/lis3-improve-handling-of-null-rate.patch deleted file mode 100644 index 1dd00b645..000000000 --- a/lis3-improve-handling-of-null-rate.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: =?UTF-8?q?=C3=89ric=20Piel?= <eric.piel@tremplin-utc.net> -Date: Thu, 3 Nov 2011 16:22:40 +0100 -Subject: [PATCH] lis3: improve handling of null rate - -When obtaining a rate of 0, we would disable the device supposely -because it seems to behave incorectly. It actually only comes from the -fact that the device is off and on lis3dc it's reflected in the rate. -So handle this nicely by just waiting a safe time, and then using the -device as normally. - -Bugzilla: 785814 -Upstream-status: ?? - -Signed-off-by: ??ric Piel <eric.piel@tremplin-utc.net> ---- - drivers/misc/lis3lv02d/lis3lv02d.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -diff --git a/drivers/misc/lis3lv02d/lis3lv02d.c b/drivers/misc/lis3lv02d/lis3lv02d.c -index fb8705fc3aca..50c2b93c1273 100644 ---- a/drivers/misc/lis3lv02d/lis3lv02d.c -+++ b/drivers/misc/lis3lv02d/lis3lv02d.c -@@ -216,7 +216,8 @@ static void lis3lv02d_get_xyz(struct lis3lv02d *lis3, int *x, int *y, int *z) - /* conversion btw sampling rate and the register values */ - static int lis3_12_rates[4] = {40, 160, 640, 2560}; - static int lis3_8_rates[2] = {100, 400}; --static int lis3_3dc_rates[16] = {0, 1, 10, 25, 50, 100, 200, 400, 1600, 5000}; -+/* LIS3DC: 0 = power off, above 9 = undefined */ -+static int lis3_3dc_rates[16] = {0, 1, 10, 25, 50, 100, 200, 400, 1600, 5000, -1, -1, -1, -1, -1, -1}; - static int lis3_3dlh_rates[4] = {50, 100, 400, 1000}; - - /* ODR is Output Data Rate */ -@@ -231,12 +232,11 @@ static int lis3lv02d_get_odr(struct lis3lv02d *lis3) - return lis3->odrs[(ctrl >> shift)]; - } - --static int lis3lv02d_get_pwron_wait(struct lis3lv02d *lis3) -+static int lis3lv02d_wait_pwron(struct lis3lv02d *lis3) - { - int div = lis3lv02d_get_odr(lis3); -- -- if (WARN_ONCE(div == 0, "device returned spurious data")) -- return -ENXIO; -+ if (div <= 0) -+ div = 1; /* maximum delay */ - - /* LIS3 power on delay is quite long */ - msleep(lis3->pwron_delay / div); -@@ -303,7 +303,7 @@ static int lis3lv02d_selftest(struct lis3lv02d *lis3, s16 results[3]) - - lis3->read(lis3, ctlreg, ®); - lis3->write(lis3, ctlreg, (reg | selftest)); -- ret = lis3lv02d_get_pwron_wait(lis3); -+ ret = lis3lv02d_wait_pwron(lis3); - if (ret) - goto fail; - -@@ -314,7 +314,7 @@ static int lis3lv02d_selftest(struct lis3lv02d *lis3, s16 results[3]) - - /* back to normal settings */ - lis3->write(lis3, ctlreg, reg); -- ret = lis3lv02d_get_pwron_wait(lis3); -+ ret = lis3lv02d_wait_pwron(lis3); - if (ret) - goto fail; - -@@ -434,7 +434,7 @@ int lis3lv02d_poweron(struct lis3lv02d *lis3) - } - } - -- err = lis3lv02d_get_pwron_wait(lis3); -+ err = lis3lv02d_wait_pwron(lis3); - if (err) - return err; - diff --git a/mod-extra-blacklist.sh b/mod-extra-blacklist.sh new file mode 100755 index 000000000..9569ef6f2 --- /dev/null +++ b/mod-extra-blacklist.sh @@ -0,0 +1,48 @@ +#!/bin/bash + +buildroot="$1" +kernel_base="$2" + +blacklist() +{ + cat > "$buildroot/etc/modprobe.d/$1-blacklist.conf" <<-__EOF__ + # This kernel module can be automatically loaded by non-root users. To + # enhance system security, the module is blacklisted by default to ensure + # system administrators make the module available for use as needed. + # See https://access.redhat.com/articles/3760101 for more details. + # + # Remove the blacklist by adding a comment # at the start of the line. + blacklist $1 +__EOF__ +} + +check_blacklist() +{ + if modinfo "$1" | grep -q '^alias:\s\+net-'; then + mod="${1##*/}" + mod="${mod%.ko*}" + echo "$mod has an alias that allows auto-loading. Blacklisting." + blacklist "$mod" + fi +} + +foreachp() +{ + P=$(nproc) + bgcount=0 + while read mod; do + $1 "$mod" & + + bgcount=$((bgcount + 1)) + if [ $bgcount -eq $P ]; then + wait -n + bgcount=$((bgcount - 1)) + fi + done + + wait +} + +[ -d "$buildroot/etc/modprobe.d/" ] || mkdir -p "$buildroot/etc/modprobe.d/" +find "$buildroot/$kernel_base/extra" -name "*.ko*" | \ + foreachp check_blacklist diff --git a/mod-extra.list b/mod-extra.list index d58f80283..8140f5c9e 100644 --- a/mod-extra.list +++ b/mod-extra.list @@ -48,6 +48,7 @@ ems_pci.ko ems_usb.ko esd_usb2.ko esi-sir.ko +floppy.ko gamecon.ko gf2k.ko gfs2.ko @@ -113,6 +114,7 @@ orinoco_nortel.ko orinoco_pci.ko orinoco_plx.ko orinoco_usb.ko +pcspkr.ko plx_pci.ko pn_pep.ko pppoatm.ko diff --git a/mod-extra.list.fedora b/mod-extra.list.fedora new file mode 100644 index 000000000..8140f5c9e --- /dev/null +++ b/mod-extra.list.fedora @@ -0,0 +1,196 @@ +6pack.ko +a3d.ko +act200l-sir.ko +actisys-sir.ko +adi.ko +aer_inject.ko +af_802154.ko +affs.ko +ali-ircc.ko +analog.ko +appletalk.ko +atm.ko +avma1_cs.ko +avm_cs.ko +avmfritz.ko +ax25.ko +b1.ko +bas_gigaset.ko +batman-adv.ko +baycom_par.ko +baycom_ser_fdx.ko +baycom_ser_hdx.ko +befs.ko +bpqether.ko +br2684.ko +capi.ko +c_can.ko +c_can_platform.ko +clip.ko +cobra.ko +coda.ko +cuse.ko +db9.ko +dccp_diag.ko +dccp_ipv4.ko +dccp_ipv6.ko +dccp.ko +dccp_probe.ko +diva_idi.ko +divas.ko +dlm.ko +ds1wm.ko +ds2482.ko +ds2490.ko +dss1_divert.ko +elsa_cs.ko +ems_pci.ko +ems_usb.ko +esd_usb2.ko +esi-sir.ko +floppy.ko +gamecon.ko +gf2k.ko +gfs2.ko +gigaset.ko +girbil-sir.ko +grip.ko +grip_mp.ko +guillemot.ko +hdlcdrv.ko +hfc4s8s_l1.ko +hfcmulti.ko +hfcpci.ko +hisax.ko +hwa-rc.ko +hysdn.ko +i2400m.ko +i2400m-sdio.ko +i2400m-usb.ko +ieee802154.ko +iforce.ko +interact.ko +ipddp.ko +ipx.ko +isdn.ko +joydump.ko +kingsun-sir.ko +ks959-sir.ko +ksdazzle-sir.ko +kvaser_pci.ko +l2tp_core.ko +l2tp_debugfs.ko +l2tp_eth.ko +l2tp_ip.ko +l2tp_netlink.ko +l2tp_ppp.ko +lec.ko +ma600-sir.ko +magellan.ko +mcp2120-sir.ko +mISDN_core.ko +mISDN_dsp.ko +mkiss.ko +mptbase.ko +mptctl.ko +mptfc.ko +nci.ko +ncpfs.ko +netjet.ko +netrom.ko +nfc.ko +nilfs2.ko +ocfs2_dlmfs.ko +ocfs2_dlm.ko +ocfs2.ko +ocfs2_nodemanager.ko +ocfs2_stackglue.ko +ocfs2_stack_o2cb.ko +ocfs2_stack_user.ko +old_belkin-sir.ko +orinoco_cs.ko +orinoco.ko +orinoco_nortel.ko +orinoco_pci.ko +orinoco_plx.ko +orinoco_usb.ko +pcspkr.ko +plx_pci.ko +pn_pep.ko +pppoatm.ko +rds.ko +rds_rdma.ko +rds_tcp.ko +rose.ko +sch_atm.ko +sch_cbq.ko +sch_choke.ko +sch_drr.ko +sch_dsmark.ko +sch_etf.ko +sch_gred.ko +sch_mqprio.ko +sch_multiq.ko +sch_netem.ko +sch_qfq.ko +sch_red.ko +sch_sfb.ko +sch_teql.ko +sctp.ko +sctp_probe.ko +sidewinder.ko +sja1000.ko +sja1000_platform.ko +slcan.ko +slip.ko +softing_cs.ko +softing.ko +spaceball.ko +spaceorb.ko +stinger.ko +sysv.ko +tcp_bic.ko +tcp_highspeed.ko +tcp_htcp.ko +tcp_hybla.ko +tcp_illinois.ko +tcp_lp.ko +tcp_scalable.ko +tcp_vegas.ko +tcp_veno.ko +tcp_westwood.ko +tcp_yeah.ko +tekram-sir.ko +tmdc.ko +toim3232-sir.ko +trancevibrator.ko +turbografx.ko +twidjoy.ko +ubifs.ko +ufs.ko +umc.ko +usbip-core.ko +usbip-host.ko +uwb.ko +vcan.ko +vhci-hcd.ko +w1_bq27000.ko +w1_ds2408.ko +w1_ds2423.ko +w1_ds2431.ko +w1_ds2433.ko +w1_ds2760.ko +w1_ds2780.ko +w1_ds2781.ko +w1_ds28e04.ko +w1_smem.ko +w1_therm.ko +w6692.ko +walkera0701.ko +wanrouter.ko +warrior.ko +whci.ko +wire.ko +xpad.ko +yam.ko +zhenhua.ko diff --git a/mod-extra.list.rhel b/mod-extra.list.rhel new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/mod-extra.list.rhel diff --git a/mod-extra.sh b/mod-extra.sh index d121bd0b1..7dc075b98 100755 --- a/mod-extra.sh +++ b/mod-extra.sh @@ -2,6 +2,10 @@ Dir=$1 List=$2 +Dest="extra" + +# Destination was specified on the command line +test -n "$3" && Dest="$3" pushd $Dir rm -rf modnames @@ -11,43 +15,45 @@ find . -name "*.ko" -type f > modnames rm -rf dep.list dep2.list rm -rf req.list req2.list touch dep.list req.list -cp $2 . +cp "$List" . -for dep in `cat modnames` -do - depends=`modinfo $dep | grep depends| cut -f2 -d":" | sed -e 's/^[ \t]*//'` - [ -z "$depends" ] && continue; - for mod in `echo $depends | sed -e 's/,/ /g'` +# This variable needs to be exported because it is used in sub-script +# executed by xargs +export ListName=$(basename "$List") + +# NB: this loop runs 2000+ iterations. Try to be fast. +NPROC=`nproc` +[ -z "$NPROC" ] && NPROC=1 +cat modnames | xargs -r -n1 -P $NPROC sh -c ' + dep=$1 + depends=`modinfo $dep | sed -n -e "/^depends/ s/^depends:[ \t]*//p"` + [ -z "$depends" ] && exit + for mod in ${depends//,/ } do - match=`grep "^$mod.ko" mod-extra.list` ||: - if [ -z "$match" ] + match=$(grep "^$mod.ko" "$ListName") + [ -z "$match" ] && continue + # check if the module we are looking at is in mod-extra too. + # if so we do not need to mark the dep as required. + mod2=${dep##*/} # same as `basename $dep`, but faster + match2=$(grep "^$mod2" "$ListName") + if [ -n "$match2" ] then + #echo $mod2 >> notreq.list continue - else - # check if the module we're looking at is in mod-extra too. if so - # we don't need to mark the dep as required - mod2=`basename $dep` - match2=`grep "^$mod2" mod-extra.list` ||: - if [ -n "$match2" ] - then - continue - #echo $mod2 >> notreq.list - else - echo $mod.ko >> req.list - fi fi + echo $mod.ko >> req.list done -done +' DUMMYARG0 # xargs appends MODNAME, which becomes $dep in the script above sort -u req.list > req2.list -sort -u mod-extra.list > mod-extra2.list -join -v 1 mod-extra2.list req2.list > mod-extra3.list +sort -u "$ListName" > modules2.list +join -v 1 modules2.list req2.list > modules3.list -for mod in `cat mod-extra3.list` +for mod in $(cat modules3.list) do # get the path for the module - modpath=`grep /$mod modnames` ||: - [ -z "$modpath" ] && continue; + modpath=`grep /$mod modnames` + [ -z "$modpath" ] && continue echo $modpath >> dep.list done @@ -56,7 +62,7 @@ sort -u dep.list > dep2.list # now move the modules into the extra/ directory for mod in `cat dep2.list` do - newpath=`dirname $mod | sed -e 's/kernel\//extra\//'` + newpath=`dirname $mod | sed -e "s/kernel\\//$Dest\//"` mkdir -p $newpath mv $mod $newpath done @@ -76,5 +82,5 @@ done pushd $Dir rm modnames dep.list dep2.list req.list req2.list -rm mod-extra.list mod-extra2.list mod-extra3.list +rm "$ListName" modules2.list modules3.list popd diff --git a/mod-internal.list b/mod-internal.list new file mode 100644 index 000000000..9270dcc3f --- /dev/null +++ b/mod-internal.list @@ -0,0 +1,4 @@ +mac80211_hwsim +netdevsim +pktgen +rocker diff --git a/namespaces-no-expert.patch b/namespaces-no-expert.patch deleted file mode 100644 index d732f9d0a..000000000 --- a/namespaces-no-expert.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 235b02d70a6a9837896c2ff4ca9d03f172cc4281 Mon Sep 17 00:00:00 2001 -From: "kernel-team@fedoraproject.org" <kernel-team@fedoraproject.org> -Date: Wed, 30 Jan 2013 10:55:31 -0500 -Subject: [PATCH] namespaces: no expert - -Bugzilla: N/A -Upstream-status: Fedora mustard ---- - init/Kconfig | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/init/Kconfig b/init/Kconfig -index 2934249fba46..19d9ee8c120b 100644 ---- a/init/Kconfig -+++ b/init/Kconfig -@@ -871,7 +871,7 @@ config SOCK_CGROUP_DATA - endif # CGROUPS - - menuconfig NAMESPACES -- bool "Namespaces support" if EXPERT -+ bool "Namespaces support" - depends on MULTIUSER - default !EXPERT - help --- -2.14.3 - diff --git a/no-pcspkr-modalias.patch b/no-pcspkr-modalias.patch deleted file mode 100644 index 2ccd87202..000000000 --- a/no-pcspkr-modalias.patch +++ /dev/null @@ -1,22 +0,0 @@ -From: "kernel-team@fedoraproject.org" <kernel-team@fedoraproject.org> -Date: Thu, 29 Jul 2010 16:46:31 -0700 -Subject: [PATCH] no pcspkr modalias - -Bugzilla: N/A -Upstream-status: Fedora mustard ---- - drivers/input/misc/pcspkr.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/drivers/input/misc/pcspkr.c b/drivers/input/misc/pcspkr.c -index 56ddba21de84..23534f420e68 100644 ---- a/drivers/input/misc/pcspkr.c -+++ b/drivers/input/misc/pcspkr.c -@@ -23,7 +23,6 @@ - MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>"); - MODULE_DESCRIPTION("PC Speaker beeper driver"); - MODULE_LICENSE("GPL"); --MODULE_ALIAS("platform:pcspkr"); - - static int pcspkr_event(struct input_dev *dev, unsigned int type, - unsigned int code, int value) diff --git a/parallel_xz.sh b/parallel_xz.sh new file mode 100755 index 000000000..bc08a548d --- /dev/null +++ b/parallel_xz.sh @@ -0,0 +1,26 @@ +#!/bin/sh +# Reads filenames on stdin, xz-compresses each in place. +# Not optimal for "compress relatively few, large files" scenario! + +# How many xz's to run in parallel: +procgroup="" +while test "$#" != 0; do + # Get it from -jNUM + N="${1#-j}" + if test "$N" = "$1"; then + # Not -j<something> - warn and ignore + echo "parallel_xz: warning: unrecognized argument: '$1'" + else + procgroup="$N" + fi + shift +done + +# If told to use only one cpu: +test "$procgroup" || exec xargs -r xz +test "$procgroup" = 1 && exec xargs -r xz + +# xz has some startup cost. If files are really small, +# this cost might be significant. To combat this, +# process several files (in sequence) by each xz process via -n 16: +exec xargs -r -n 16 -P $procgroup xz diff --git a/redhatsecureboot003.cer b/redhatsecureboot003.cer Binary files differnew file mode 100644 index 000000000..439b75bf3 --- /dev/null +++ b/redhatsecureboot003.cer diff --git a/redhatsecurebootca2.cer b/redhatsecurebootca2.cer Binary files differnew file mode 100644 index 000000000..43502d6bc --- /dev/null +++ b/redhatsecurebootca2.cer diff --git a/scripts/create_headers_tarball.sh b/scripts/create_headers_tarball.sh index 5ec563f8e..9a59f03a5 100755 --- a/scripts/create_headers_tarball.sh +++ b/scripts/create_headers_tarball.sh @@ -26,13 +26,14 @@ BASE=`grep "%define base_sublevel" kernel.spec| cut -d ' ' -f 3` STABLE=`grep "%define stable_update" kernel.spec| cut -d ' ' -f 3` RC=`grep "%global rcrev" kernel.spec| cut -d ' ' -f 3` GITREV=`grep "%define gitrev" kernel.spec| cut -d ' ' -f 3` +BUILDID=`grep "^%define buildid" kernel.spec| cut -d ' ' -f 3` if [ $RELEASED -eq 0 ]; then cd kernel-$MAJORVER.$BASE.fc?? NEWBASE=$(($BASE+1)) - KVER=$MAJORVER.$NEWBASE.0-0.rc$RC.git$GITREV.$BASERELEASE - cd linux-$MAJORVER.$NEWBASE.0-0.rc$RC.git$GITREV.$BASERELEASE.fc*/ + KVER=$MAJORVER.$NEWBASE.0-0.rc$RC.git$GITREV.$BASERELEASE$BUILDID + cd linux-$MAJORVER.$NEWBASE.0-0.rc$RC.git$GITREV.$BASERELEASE$BUILDID.fc*/ else - cd kernel-$MAJORVER.$BASE.fc??/linux-$MAJORVER.$BASE.$STABLE-$BASERELEASE.fc*/ + cd kernel-$MAJORVER.$BASE.fc??/linux-$MAJORVER.$BASE.$STABLE-$BASERELEASE$BUILDID.fc*/ KVER=$MAJORVER.$BASE.$STABLE-$BASERELEASE fi @@ -71,6 +72,7 @@ BASERELEASE=$(($BASERELEASE-1)) BASERELEASE=$BASERELEASE perl -p -i -e 's|%global baserelease.*|%global baserelease $ENV{'BASERELEASE'}|' kernel-headers.spec if [ $RELEASED -eq 0 ]; then + [ -n "$BUILDID" ] && sed -i -e 's/^# define buildid .local/%define buildid '$BUILDID'/' kernel-headers.spec RC=$RC perl -p -i -e 's|%global rcrev.*|%global rcrev $ENV{'RC'}|' kernel-headers.spec GITREV=$GITREV perl -p -i -e 's|%define gitrev.*|%define gitrev $ENV{'GITREV'}|' kernel-headers.spec rpmdev-bumpspec -c "Linux v$MAJORVER.$NEWBASE-rc$RC.git$GITREV" kernel-headers.spec diff --git a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch b/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch deleted file mode 100644 index a19267cc1..000000000 --- a/scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 7afe9a8d7dca86a8f35250f21f5f0a62ea2fedf7 Mon Sep 17 00:00:00 2001 -From: "kernel-team@fedoraproject.org" <kernel-team@fedoraproject.org> -Date: Fri, 10 Feb 2012 14:56:13 -0500 -Subject: [PATCH] scsi: sd_revalidate_disk prevent NULL ptr deref - -Bugzilla: 754518 -Upstream-status: Fedora mustard (might be worth dropping...) ---- - drivers/scsi/sd.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c -index 3d22fc3..07aec76 100644 ---- a/drivers/scsi/sd.c -+++ b/drivers/scsi/sd.c -@@ -2825,7 +2825,7 @@ static inline u32 logical_to_sectors(struct scsi_device *sdev, u32 blocks) - static int sd_revalidate_disk(struct gendisk *disk) - { - struct scsi_disk *sdkp = scsi_disk(disk); -- struct scsi_device *sdp = sdkp->device; -+ struct scsi_device *sdp; - struct request_queue *q = sdkp->disk->queue; - sector_t old_capacity = sdkp->capacity; - unsigned char *buffer; -@@ -2833,6 +2833,11 @@ static int sd_revalidate_disk(struct gendisk *disk) - SCSI_LOG_HLQUEUE(3, sd_printk(KERN_INFO, sdkp, - "sd_revalidate_disk\n")); - -+ if (WARN_ONCE((!sdkp), "Invalid scsi_disk from %p\n", disk)) -+ goto out; -+ -+ sdp = sdkp->device; -+ - /* - * If the device is offline, don't try and read capacity or any - * of the other niceties. --- -2.5.0 - diff --git a/secureboot.cer b/secureboot.cer Binary files differnew file mode 100644 index 000000000..20e660479 --- /dev/null +++ b/secureboot.cer diff --git a/securebootca.cer b/securebootca.cer Binary files differnew file mode 100644 index 000000000..b2354007b --- /dev/null +++ b/securebootca.cer @@ -1,2 +1,3 @@ -SHA512 (linux-5.3.tar.xz) = 6b5edef47c319a3fa7f6c20a3e0903a5acd89ec75e32dc5f99adcb60c9fe118ea312722d9c3d27e2e3900afa2455afb86e83a8b6bb131009bc79ddbe6fb0595d -SHA512 (patch-5.3.18.xz) = bd24cef37b19fc483d844bdfe7fafecae0bab61aa001a28f49d9339de9436aacaf264cc19d0546273ea8d0b2e9eecf3aadf4a207fcd687df24a79d5608446550 +SHA512 (linux-5.4.tar.xz) = 9f60f77e8ab972b9438ac648bed17551c8491d6585a5e85f694b2eaa4c623fbc61eb18419b2656b6795eac5deec0edaa04547fc6723fbda52256bd7f3486898f +SHA512 (patch-5.4.3.xz) = 7146258dcd169552fdcc6ad02b709310e57d413be84c76061669712c840a6de3e8e104fdba763df284b465e0217a6e74435f1fb2e0faf16feb2d595193bd8a4a +SHA512 (patch-5.4.5.xz) = 5c33d5db4d6787d7841a82dd8dc5b38dd80c5706bdaf9bd331e82173302a4cf3bc9c5e1d00f489d3d78b54bc1f8f82f34df2fcd47b1ab4ffb0a01dc7bdc06cff diff --git a/update_scripts.sh b/update_scripts.sh new file mode 100755 index 000000000..7cacfb6c1 --- /dev/null +++ b/update_scripts.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +if [ -z $1 ]; then + exit 1 +fi + +TARGET=$1 + +for i in $RPM_SOURCE_DIR/*.$TARGET; do + NEW=$(echo $i | sed -e "s/\.$TARGET//") + cp $i $NEW +done diff --git a/x509.genkey.fedora b/x509.genkey.fedora new file mode 100644 index 000000000..2f90e1bce --- /dev/null +++ b/x509.genkey.fedora @@ -0,0 +1,16 @@ +[ req ] +default_bits = 4096 +distinguished_name = req_distinguished_name +prompt = no +x509_extensions = myexts + +[ req_distinguished_name ] +O = Fedora +CN = Fedora kernel signing key +emailAddress = kernel-team@fedoraproject.org + +[ myexts ] +basicConstraints=critical,CA:FALSE +keyUsage=digitalSignature +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid diff --git a/x509.genkey.rhel b/x509.genkey.rhel new file mode 100644 index 000000000..b1bbe387f --- /dev/null +++ b/x509.genkey.rhel @@ -0,0 +1,16 @@ +[ req ] +default_bits = 3072 +distinguished_name = req_distinguished_name +prompt = no +x509_extensions = myexts + +[ req_distinguished_name ] +O = Red Hat +CN = Red Hat Enterprise Linux kernel signing key +emailAddress = secalert@redhat.com + +[ myexts ] +basicConstraints=critical,CA:FALSE +keyUsage=digitalSignature +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid |