diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-04-21 02:13:00 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-04-21 02:13:00 +0100 |
commit | bffbad1c6c7cfd8e59b5609c1f298c530d6f3dc0 (patch) | |
tree | f68c98fde96c57e94b309b8b11294df16429b574 /sys-kernel/linux-sources-redcore-lts | |
parent | 076ddede5efb81dd30aee12b999a7cccc4776983 (diff) |
sys-kernel/linux-{image,sources}-redcore-lts : version bump
Diffstat (limited to 'sys-kernel/linux-sources-redcore-lts')
29 files changed, 1461 insertions, 2822 deletions
diff --git a/sys-kernel/linux-sources-redcore-lts/Manifest b/sys-kernel/linux-sources-redcore-lts/Manifest index 5cd401ff..067c2f98 100644 --- a/sys-kernel/linux-sources-redcore-lts/Manifest +++ b/sys-kernel/linux-sources-redcore-lts/Manifest @@ -1 +1 @@ -DIST linux-5.10.87.tar.xz 116483412 BLAKE2B c9a624641fad9c48289db27d35a4ce8afe2ad70287deea308a4a20abd0fba1247ba2985ba2c7bfa2f894e3b834510feb1f35f062788c093f629803faaa1cef4a SHA512 97fe37bd52d7d02519ed06737e94a5fcefff944e26e69b90abc4a7ee91fce031ad0778b0211365c225da57a2eb1bbc0236cb3482635137149ad5c5a2bf22e382 +DIST linux-5.15.35.tar.xz 126293828 BLAKE2B 15f1af609ae4a233dc6bdae84c1231c2335be6320ddbb9a5d76c7983498a9ca72c13b55cc1408dac477f707fb84df99435994c1a7eeb91396481c2f7b11ecc2e SHA512 f75cc5615976ef58bf2e5a1ed12f433f2528c61151d59e0b95345782da1151eb94864e9a703973caad59b5bbe5a3667126e599107acdb3cd3b0f5576933ca3c1 diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-0001-Revert-hwmon-k10temp-Remove-support-for-displaying-v.patch b/sys-kernel/linux-sources-redcore-lts/files/5.10-0001-Revert-hwmon-k10temp-Remove-support-for-displaying-v.patch deleted file mode 100644 index a750b093..00000000 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-0001-Revert-hwmon-k10temp-Remove-support-for-displaying-v.patch +++ /dev/null @@ -1,188 +0,0 @@ -From cb04c523c759e3704c6d8f81ad6fec7c94e09f69 Mon Sep 17 00:00:00 2001 -From: Gabriel Craciunescu <nix.or.die@gmail.com> -Date: Mon, 28 Dec 2020 16:23:11 +0100 -Subject: [PATCH] Revert "hwmon: (k10temp) Remove support for displaying - voltage and current on Zen CPUs" - -This reverts commit 0a4e668b5d52eed8026f5d717196b02b55fb2dc6. - -While not perfect ( and in this case caused by wrong code ), is better -than having nothing. Bugs could be fixed, and if not, such CPUs could be blacklisted -from getting the voltage informations.. ---- - drivers/hwmon/k10temp.c | 98 +++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 98 insertions(+) - -diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c -index 3bc2551577a3..a250481b5a97 100644 ---- a/drivers/hwmon/k10temp.c -+++ b/drivers/hwmon/k10temp.c -@@ -11,6 +11,13 @@ - * convert raw register values is from https://github.com/ocerman/zenpower. - * The information is not confirmed from chip datasheets, but experiments - * suggest that it provides reasonable temperature values. -+ * - Register addresses to read chip voltage and current are also from -+ * https://github.com/ocerman/zenpower, and not confirmed from chip -+ * datasheets. Current calibration is board specific and not typically -+ * shared by board vendors. For this reason, current values are -+ * normalized to report 1A/LSB for core current and and 0.25A/LSB for SoC -+ * current. Reported values can be adjusted using the sensors configuration -+ * file. - */ - - #include <linux/bitops.h> -@@ -102,7 +109,10 @@ struct k10temp_data { - int temp_offset; - u32 temp_adjust_mask; - u32 show_temp; -+ u32 svi_addr[2]; - bool is_zen; -+ bool show_current; -+ int cfactor[2]; - }; - - #define TCTL_BIT 0 -@@ -127,6 +137,16 @@ static const struct tctl_offset tctl_offset_table[] = { - { 0x17, "AMD Ryzen Threadripper 29", 27000 }, /* 29{20,50,70,90}[W]X */ - }; - -+static bool is_threadripper(void) -+{ -+ return strstr(boot_cpu_data.x86_model_id, "Threadripper"); -+} -+ -+static bool is_epyc(void) -+{ -+ return strstr(boot_cpu_data.x86_model_id, "EPYC"); -+} -+ - static void read_htcreg_pci(struct pci_dev *pdev, u32 *regval) - { - pci_read_config_dword(pdev, REG_HARDWARE_THERMAL_CONTROL, regval); -@@ -191,6 +211,16 @@ static const char *k10temp_temp_label[] = { - "Tccd8", - }; - -+static const char *k10temp_in_label[] = { -+ "Vcore", -+ "Vsoc", -+}; -+ -+static const char *k10temp_curr_label[] = { -+ "Icore", -+ "Isoc", -+}; -+ - static int k10temp_read_labels(struct device *dev, - enum hwmon_sensor_types type, - u32 attr, int channel, const char **str) -@@ -199,6 +229,50 @@ static int k10temp_read_labels(struct device *dev, - case hwmon_temp: - *str = k10temp_temp_label[channel]; - break; -+ case hwmon_in: -+ *str = k10temp_in_label[channel]; -+ break; -+ case hwmon_curr: -+ *str = k10temp_curr_label[channel]; -+ break; -+ default: -+ return -EOPNOTSUPP; -+ } -+ return 0; -+} -+ -+static int k10temp_read_curr(struct device *dev, u32 attr, int channel, -+ long *val) -+{ -+ struct k10temp_data *data = dev_get_drvdata(dev); -+ u32 regval; -+ -+ switch (attr) { -+ case hwmon_curr_input: -+ amd_smn_read(amd_pci_dev_to_node_id(data->pdev), -+ data->svi_addr[channel], ®val); -+ *val = DIV_ROUND_CLOSEST(data->cfactor[channel] * -+ (regval & 0xff), -+ 1000); -+ break; -+ default: -+ return -EOPNOTSUPP; -+ } -+ return 0; -+} -+ -+static int k10temp_read_in(struct device *dev, u32 attr, int channel, long *val) -+{ -+ struct k10temp_data *data = dev_get_drvdata(dev); -+ u32 regval; -+ -+ switch (attr) { -+ case hwmon_in_input: -+ amd_smn_read(amd_pci_dev_to_node_id(data->pdev), -+ data->svi_addr[channel], ®val); -+ regval = (regval >> 16) & 0xff; -+ *val = DIV_ROUND_CLOSEST(155000 - regval * 625, 100); -+ break; - default: - return -EOPNOTSUPP; - } -@@ -257,6 +331,10 @@ static int k10temp_read(struct device *dev, enum hwmon_sensor_types type, - switch (type) { - case hwmon_temp: - return k10temp_read_temp(dev, attr, channel, val); -+ case hwmon_in: -+ return k10temp_read_in(dev, attr, channel, val); -+ case hwmon_curr: -+ return k10temp_read_curr(dev, attr, channel, val); - default: - return -EOPNOTSUPP; - } -@@ -305,6 +383,11 @@ static umode_t k10temp_is_visible(const void *_data, - return 0; - } - break; -+ case hwmon_in: -+ case hwmon_curr: -+ if (!data->show_current) -+ return 0; -+ break; - default: - return 0; - } -@@ -434,10 +517,20 @@ static int k10temp_probe(struct pci_dev *pdev, const struct pci_device_id *id) - case 0x8: /* Zen+ */ - case 0x11: /* Zen APU */ - case 0x18: /* Zen+ APU */ -+ data->show_current = !is_threadripper() && !is_epyc(); -+ data->svi_addr[0] = F17H_M01H_SVI_TEL_PLANE0; -+ data->svi_addr[1] = F17H_M01H_SVI_TEL_PLANE1; -+ data->cfactor[0] = F17H_M01H_CFACTOR_ICORE; -+ data->cfactor[1] = F17H_M01H_CFACTOR_ISOC; - k10temp_get_ccd_support(pdev, data, 4); - break; - case 0x31: /* Zen2 Threadripper */ - case 0x71: /* Zen2 */ -+ data->show_current = !is_threadripper() && !is_epyc(); -+ data->cfactor[0] = F17H_M31H_CFACTOR_ICORE; -+ data->cfactor[1] = F17H_M31H_CFACTOR_ISOC; -+ data->svi_addr[0] = F17H_M31H_SVI_TEL_PLANE0; -+ data->svi_addr[1] = F17H_M31H_SVI_TEL_PLANE1; - k10temp_get_ccd_support(pdev, data, 8); - break; - } -@@ -449,6 +542,11 @@ static int k10temp_probe(struct pci_dev *pdev, const struct pci_device_id *id) - - switch (boot_cpu_data.x86_model) { - case 0x0 ... 0x1: /* Zen3 */ -+ data->show_current = true; -+ data->svi_addr[0] = F19H_M01_SVI_TEL_PLANE0; -+ data->svi_addr[1] = F19H_M01_SVI_TEL_PLANE1; -+ data->cfactor[0] = F19H_M01H_CFACTOR_ICORE; -+ data->cfactor[1] = F19H_M01H_CFACTOR_ISOC; - k10temp_get_ccd_support(pdev, data, 8); - break; - } --- -2.29.2 - diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST.patch b/sys-kernel/linux-sources-redcore-lts/files/5.10-Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST.patch deleted file mode 100644 index 747935f6..00000000 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff -up linux-5.3/drivers/nvme/host/core.c.34~ linux-5.3/drivers/nvme/host/core.c ---- linux-5.3/drivers/nvme/host/core.c.34~ 2019-09-16 18:35:34.144511992 +0200 -+++ linux-5.3/drivers/nvme/host/core.c 2019-09-16 18:36:50.351828001 +0200 -@@ -2267,6 +2267,15 @@ static const struct nvme_core_quirk_entr - .vid = 0x14a4, - .fr = "22301111", - .quirks = NVME_QUIRK_SIMPLE_SUSPEND, -+ }, -+ { -+ /* https://forum.openmandriva.org/t/nvme-ssd-m2-not-seen-by-omlx-4-0/2407 -+ * Unknown SSD ... Maybe ADATA/Hynix (a similar mn from ADTA -+ * but vid seems to be Hynix) -+ */ -+ .vid = 0x1c5c, -+ .mn = "HFM128GDHTNG-8310B", -+ .quirks = NVME_QUIRK_NO_APST, - } - }; - diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-add-amd-sfh-hid_driver.patch b/sys-kernel/linux-sources-redcore-lts/files/5.10-add-amd-sfh-hid_driver.patch deleted file mode 100644 index dd8badee..00000000 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-add-amd-sfh-hid_driver.patch +++ /dev/null @@ -1,1783 +0,0 @@ -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_client.c linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_client.c ---- linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_client.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_client.c 2020-12-25 14:25:44.298391979 +0100 -@@ -0,0 +1,246 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * AMD SFH Client Layer -+ * Copyright 2020 Advanced Micro Devices, Inc. -+ * Authors: Nehal Bakulchandra Shah <Nehal-Bakulchandra.Shah@amd.com> -+ * Sandeep Singh <Sandeep.singh@amd.com> -+ */ -+ -+#include <linux/dma-mapping.h> -+#include <linux/hid.h> -+#include <linux/list.h> -+#include <linux/slab.h> -+#include <linux/workqueue.h> -+#include <linux/errno.h> -+ -+#include "hid_descriptor/amd_sfh_hid_desc.h" -+#include "amd_sfh_pcie.h" -+#include "amd_sfh_hid.h" -+ -+#define AMD_SFH_IDLE_LOOP 200 -+ -+struct request_list { -+ struct hid_device *hid; -+ struct list_head list; -+ u8 report_id; -+ u8 sensor_idx; -+ u8 report_type; -+ u8 current_index; -+}; -+ -+static struct request_list req_list; -+ -+void amd_sfh_set_report(struct hid_device *hid, int report_id, -+ int report_type) -+{ -+ struct amdtp_hid_data *hid_data = hid->driver_data; -+ struct amdtp_cl_data *cli_data = hid_data->cli_data; -+ int i; -+ -+ for (i = 0; i < cli_data->num_hid_devices; i++) { -+ if (cli_data->hid_sensor_hubs[i] == hid) { -+ cli_data->cur_hid_dev = i; -+ break; -+ } -+ } -+ amdtp_hid_wakeup(hid); -+} -+ -+int amd_sfh_get_report(struct hid_device *hid, int report_id, int report_type) -+{ -+ struct amdtp_hid_data *hid_data = hid->driver_data; -+ struct amdtp_cl_data *cli_data = hid_data->cli_data; -+ int i; -+ -+ for (i = 0; i < cli_data->num_hid_devices; i++) { -+ if (cli_data->hid_sensor_hubs[i] == hid) { -+ struct request_list *new = kzalloc(sizeof(*new), GFP_KERNEL); -+ -+ if (!new) -+ return -ENOMEM; -+ -+ new->current_index = i; -+ new->sensor_idx = cli_data->sensor_idx[i]; -+ new->hid = hid; -+ new->report_type = report_type; -+ new->report_id = report_id; -+ cli_data->report_id[i] = report_id; -+ cli_data->request_done[i] = false; -+ list_add(&new->list, &req_list.list); -+ break; -+ } -+ } -+ schedule_delayed_work(&cli_data->work, 0); -+ return 0; -+} -+ -+static void amd_sfh_work(struct work_struct *work) -+{ -+ struct amdtp_cl_data *cli_data = container_of(work, struct amdtp_cl_data, work.work); -+ struct request_list *req_node; -+ u8 current_index, sensor_index; -+ u8 report_id, node_type; -+ u8 report_size = 0; -+ -+ req_node = list_last_entry(&req_list.list, struct request_list, list); -+ list_del(&req_node->list); -+ current_index = req_node->current_index; -+ sensor_index = req_node->sensor_idx; -+ report_id = req_node->report_id; -+ node_type = req_node->report_type; -+ -+ if (node_type == HID_FEATURE_REPORT) { -+ report_size = get_feature_report(sensor_index, report_id, -+ cli_data->feature_report[current_index]); -+ if (report_size) -+ hid_input_report(cli_data->hid_sensor_hubs[current_index], -+ cli_data->report_type[current_index], -+ cli_data->feature_report[current_index], report_size, 0); -+ else -+ pr_err("AMDSFH: Invalid report size\n"); -+ -+ } else if (node_type == HID_INPUT_REPORT) { -+ report_size = get_input_report(sensor_index, report_id, -+ cli_data->input_report[current_index], -+ cli_data->sensor_virt_addr[current_index]); -+ if (report_size) -+ hid_input_report(cli_data->hid_sensor_hubs[current_index], -+ cli_data->report_type[current_index], -+ cli_data->input_report[current_index], report_size, 0); -+ else -+ pr_err("AMDSFH: Invalid report size\n"); -+ } -+ cli_data->cur_hid_dev = current_index; -+ cli_data->sensor_requested_cnt[current_index] = 0; -+ amdtp_hid_wakeup(cli_data->hid_sensor_hubs[current_index]); -+} -+ -+static void amd_sfh_work_buffer(struct work_struct *work) -+{ -+ struct amdtp_cl_data *cli_data = container_of(work, struct amdtp_cl_data, work_buffer.work); -+ u8 report_size; -+ int i; -+ -+ for (i = 0; i < cli_data->num_hid_devices; i++) { -+ report_size = get_input_report(cli_data->sensor_idx[i], cli_data->report_id[i], -+ cli_data->input_report[i], -+ cli_data->sensor_virt_addr[i]); -+ hid_input_report(cli_data->hid_sensor_hubs[i], HID_INPUT_REPORT, -+ cli_data->input_report[i], report_size, 0); -+ } -+ schedule_delayed_work(&cli_data->work_buffer, msecs_to_jiffies(AMD_SFH_IDLE_LOOP)); -+} -+ -+int amd_sfh_hid_client_init(struct amd_mp2_dev *privdata) -+{ -+ struct amdtp_cl_data *cl_data = privdata->cl_data; -+ struct amd_mp2_sensor_info info; -+ struct device *dev; -+ u32 feature_report_size; -+ u32 input_report_size; -+ u8 cl_idx; -+ int rc, i; -+ -+ dev = &privdata->pdev->dev; -+ cl_data = kzalloc(sizeof(*cl_data), GFP_KERNEL); -+ if (!cl_data) -+ return -ENOMEM; -+ -+ cl_data->num_hid_devices = amd_mp2_get_sensor_num(privdata, &cl_data->sensor_idx[0]); -+ -+ INIT_DELAYED_WORK(&cl_data->work, amd_sfh_work); -+ INIT_DELAYED_WORK(&cl_data->work_buffer, amd_sfh_work_buffer); -+ INIT_LIST_HEAD(&req_list.list); -+ -+ for (i = 0; i < cl_data->num_hid_devices; i++) { -+ cl_data->sensor_virt_addr[i] = dma_alloc_coherent(dev, sizeof(int) * 8, -+ &cl_data->sensor_phys_addr[i], -+ GFP_KERNEL); -+ cl_data->sensor_sts[i] = 0; -+ cl_data->sensor_requested_cnt[i] = 0; -+ cl_data->cur_hid_dev = i; -+ cl_idx = cl_data->sensor_idx[i]; -+ cl_data->report_descr_sz[i] = get_descr_sz(cl_idx, descr_size); -+ if (!cl_data->report_descr_sz[i]) { -+ rc = -EINVAL; -+ goto cleanup; -+ } -+ feature_report_size = get_descr_sz(cl_idx, feature_size); -+ if (!feature_report_size) { -+ rc = -EINVAL; -+ goto cleanup; -+ } -+ input_report_size = get_descr_sz(cl_idx, input_size); -+ if (!input_report_size) { -+ rc = -EINVAL; -+ goto cleanup; -+ } -+ cl_data->feature_report[i] = kzalloc(feature_report_size, GFP_KERNEL); -+ if (!cl_data->feature_report[i]) { -+ rc = -ENOMEM; -+ goto cleanup; -+ } -+ cl_data->input_report[i] = kzalloc(input_report_size, GFP_KERNEL); -+ if (!cl_data->input_report[i]) { -+ rc = -ENOMEM; -+ goto cleanup; -+ } -+ info.period = msecs_to_jiffies(AMD_SFH_IDLE_LOOP); -+ info.sensor_idx = cl_idx; -+ info.phys_address = cl_data->sensor_phys_addr[i]; -+ -+ cl_data->report_descr[i] = kzalloc(cl_data->report_descr_sz[i], GFP_KERNEL); -+ if (!cl_data->report_descr[i]) { -+ rc = -ENOMEM; -+ goto cleanup; -+ } -+ rc = get_report_descriptor(cl_idx, cl_data->report_descr[i]); -+ if (rc) -+ return rc; -+ rc = amdtp_hid_probe(cl_data->cur_hid_dev, cl_data); -+ if (rc) -+ return rc; -+ amd_start_sensor(privdata, info); -+ cl_data->sensor_sts[i] = 1; -+ } -+ privdata->cl_data = cl_data; -+ schedule_delayed_work(&cl_data->work_buffer, msecs_to_jiffies(AMD_SFH_IDLE_LOOP)); -+ return 0; -+ -+cleanup: -+ for (i = 0; i < cl_data->num_hid_devices; i++) { -+ if (cl_data->sensor_virt_addr[i]) { -+ dma_free_coherent(&privdata->pdev->dev, 8 * sizeof(int), -+ cl_data->sensor_virt_addr[i], -+ cl_data->sensor_phys_addr[i]); -+ } -+ kfree(cl_data->feature_report[i]); -+ kfree(cl_data->input_report[i]); -+ kfree(cl_data->report_descr[i]); -+ } -+ kfree(cl_data); -+ return rc; -+} -+ -+int amd_sfh_hid_client_deinit(struct amd_mp2_dev *privdata) -+{ -+ struct amdtp_cl_data *cl_data = privdata->cl_data; -+ int i; -+ -+ for (i = 0; i < cl_data->num_hid_devices; i++) -+ amd_stop_sensor(privdata, i); -+ -+ cancel_delayed_work_sync(&cl_data->work); -+ cancel_delayed_work_sync(&cl_data->work_buffer); -+ amdtp_hid_remove(cl_data); -+ -+ for (i = 0; i < cl_data->num_hid_devices; i++) { -+ if (cl_data->sensor_virt_addr[i]) { -+ dma_free_coherent(&privdata->pdev->dev, 8 * sizeof(int), -+ cl_data->sensor_virt_addr[i], -+ cl_data->sensor_phys_addr[i]); -+ } -+ } -+ kfree(cl_data); -+ return 0; -+} -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_hid.c linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_hid.c ---- linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_hid.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_hid.c 2020-12-25 14:25:44.298391979 +0100 -@@ -0,0 +1,174 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * AMD MP2 Sensors transport driver -+ * -+ * Authors: Nehal Bakulchandra Shah <Nehal-bakulchandra.shah@amd.com> -+ * Sandeep Singh <sandeep.singh@amd.com> -+ */ -+#include <linux/hid.h> -+#include <linux/wait.h> -+#include <linux/sched.h> -+ -+#include "amd_sfh_hid.h" -+ -+#define AMD_SFH_RESPONSE_TIMEOUT 1500 -+ -+/** -+ * amdtp_hid_parse() - hid-core .parse() callback -+ * @hid: hid device instance -+ * -+ * This function gets called during call to hid_add_device -+ * -+ * Return: 0 on success and non zero on error -+ */ -+static int amdtp_hid_parse(struct hid_device *hid) -+{ -+ struct amdtp_hid_data *hid_data = hid->driver_data; -+ struct amdtp_cl_data *cli_data = hid_data->cli_data; -+ -+ return hid_parse_report(hid, cli_data->report_descr[hid_data->index], -+ cli_data->report_descr_sz[hid_data->index]); -+} -+ -+/* Empty callbacks with success return code */ -+static int amdtp_hid_start(struct hid_device *hid) -+{ -+ return 0; -+} -+ -+static void amdtp_hid_stop(struct hid_device *hid) -+{ -+} -+ -+static int amdtp_hid_open(struct hid_device *hid) -+{ -+ return 0; -+} -+ -+static void amdtp_hid_close(struct hid_device *hid) -+{ -+} -+ -+static int amdtp_raw_request(struct hid_device *hdev, u8 reportnum, -+ u8 *buf, size_t len, u8 rtype, int reqtype) -+{ -+ return 0; -+} -+ -+static void amdtp_hid_request(struct hid_device *hid, struct hid_report *rep, int reqtype) -+{ -+ int rc; -+ -+ switch (reqtype) { -+ case HID_REQ_GET_REPORT: -+ rc = amd_sfh_get_report(hid, rep->id, rep->type); -+ if (rc) -+ dev_err(&hid->dev, "AMDSFH get report error\n"); -+ break; -+ case HID_REQ_SET_REPORT: -+ amd_sfh_set_report(hid, rep->id, reqtype); -+ break; -+ default: -+ break; -+ } -+} -+ -+static int amdtp_wait_for_response(struct hid_device *hid) -+{ -+ struct amdtp_hid_data *hid_data = hid->driver_data; -+ struct amdtp_cl_data *cli_data = hid_data->cli_data; -+ int i, ret = 0; -+ -+ for (i = 0; i < cli_data->num_hid_devices; i++) { -+ if (cli_data->hid_sensor_hubs[i] == hid) -+ break; -+ } -+ -+ if (!cli_data->request_done[i]) -+ ret = wait_event_interruptible_timeout(hid_data->hid_wait, -+ cli_data->request_done[i], -+ msecs_to_jiffies(AMD_SFH_RESPONSE_TIMEOUT)); -+ if (ret == -ERESTARTSYS) -+ return -ERESTARTSYS; -+ else if (ret < 0) -+ return -ETIMEDOUT; -+ else -+ return 0; -+} -+ -+void amdtp_hid_wakeup(struct hid_device *hid) -+{ -+ struct amdtp_hid_data *hid_data = hid->driver_data; -+ struct amdtp_cl_data *cli_data = hid_data->cli_data; -+ -+ cli_data->request_done[cli_data->cur_hid_dev] = true; -+ wake_up_interruptible(&hid_data->hid_wait); -+} -+ -+static struct hid_ll_driver amdtp_hid_ll_driver = { -+ .parse = amdtp_hid_parse, -+ .start = amdtp_hid_start, -+ .stop = amdtp_hid_stop, -+ .open = amdtp_hid_open, -+ .close = amdtp_hid_close, -+ .request = amdtp_hid_request, -+ .wait = amdtp_wait_for_response, -+ .raw_request = amdtp_raw_request, -+}; -+ -+int amdtp_hid_probe(u32 cur_hid_dev, struct amdtp_cl_data *cli_data) -+{ -+ struct hid_device *hid; -+ struct amdtp_hid_data *hid_data; -+ int rc; -+ -+ hid = hid_allocate_device(); -+ if (IS_ERR(hid)) -+ return PTR_ERR(hid); -+ -+ hid_data = kzalloc(sizeof(*hid_data), GFP_KERNEL); -+ if (!hid_data) { -+ rc = -ENOMEM; -+ goto err_hid_data; -+ } -+ -+ hid->ll_driver = &amdtp_hid_ll_driver; -+ hid_data->index = cur_hid_dev; -+ hid_data->cli_data = cli_data; -+ init_waitqueue_head(&hid_data->hid_wait); -+ -+ hid->driver_data = hid_data; -+ cli_data->hid_sensor_hubs[cur_hid_dev] = hid; -+ hid->bus = BUS_AMD_AMDTP; -+ hid->vendor = AMD_SFH_HID_VENDOR; -+ hid->product = AMD_SFH_HID_PRODUCT; -+ snprintf(hid->name, sizeof(hid->name), "%s %04X:%04X", "hid-amdtp", -+ hid->vendor, hid->product); -+ -+ rc = hid_add_device(hid); -+ if (rc) -+ goto err_hid_device; -+ return 0; -+ -+err_hid_device: -+ kfree(hid_data); -+err_hid_data: -+ hid_destroy_device(hid); -+ return rc; -+} -+ -+void amdtp_hid_remove(struct amdtp_cl_data *cli_data) -+{ -+ int i; -+ -+ for (i = 0; i < cli_data->num_hid_devices; ++i) { -+ kfree(cli_data->feature_report[i]); -+ kfree(cli_data->input_report[i]); -+ kfree(cli_data->report_descr[i]); -+ if (cli_data->hid_sensor_hubs[i]) { -+ kfree(cli_data->hid_sensor_hubs[i]->driver_data); -+ hid_destroy_device(cli_data->hid_sensor_hubs[i]); -+ cli_data->hid_sensor_hubs[i] = NULL; -+ } -+ } -+} -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_hid.h linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_hid.h ---- linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_hid.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_hid.h 2020-12-25 14:25:44.299391977 +0100 -@@ -0,0 +1,67 @@ -+/* SPDX-License-Identifier: GPL-2.0-or-later */ -+/* -+ * AMD MP2 Sensors transport driver -+ * -+ * Authors: Nehal Bakulchandra Shah <Nehal-bakulchandra.shah@amd.com> -+ * Sandeep Singh <sandeep.singh@amd.com> -+ */ -+ -+#ifndef AMDSFH_HID_H -+#define AMDSFH_HID_H -+ -+#define MAX_HID_DEVICES 4 -+#define BUS_AMD_AMDTP 0x20 -+#define AMD_SFH_HID_VENDOR 0x1022 -+#define AMD_SFH_HID_PRODUCT 0x0001 -+ -+struct amdtp_cl_data { -+ u8 init_done; -+ u32 cur_hid_dev; -+ u32 hid_dev_count; -+ u32 num_hid_devices; -+ struct device_info *hid_devices; -+ u8 *report_descr[MAX_HID_DEVICES]; -+ int report_descr_sz[MAX_HID_DEVICES]; -+ struct hid_device *hid_sensor_hubs[MAX_HID_DEVICES]; -+ u8 *hid_descr[MAX_HID_DEVICES]; -+ int hid_descr_size[MAX_HID_DEVICES]; -+ phys_addr_t phys_addr_base; -+ u32 *sensor_virt_addr[MAX_HID_DEVICES]; -+ phys_addr_t sensor_phys_addr[MAX_HID_DEVICES]; -+ u32 sensor_sts[MAX_HID_DEVICES]; -+ u32 sensor_requested_cnt[MAX_HID_DEVICES]; -+ u8 report_type[MAX_HID_DEVICES]; -+ u8 report_id[MAX_HID_DEVICES]; -+ u8 sensor_idx[MAX_HID_DEVICES]; -+ u8 *feature_report[MAX_HID_DEVICES]; -+ u8 *input_report[MAX_HID_DEVICES]; -+ u8 request_done[MAX_HID_DEVICES]; -+ struct delayed_work work; -+ struct delayed_work work_buffer; -+}; -+ -+/** -+ * struct amdtp_hid_data - Per instance HID data -+ * @index: Device index in the order of enumeration -+ * @request_done: Get Feature/Input report complete flag -+ * used during get/set request from hid core -+ * @cli_data: Link to the client instance -+ * @hid_wait: Completion waitq -+ * -+ * Used to tie hid->driver data to driver client instance -+ */ -+struct amdtp_hid_data { -+ int index; -+ struct amdtp_cl_data *cli_data; -+ wait_queue_head_t hid_wait; -+}; -+ -+/* Interface functions between HID LL driver and AMD SFH client */ -+void hid_amdtp_set_feature(struct hid_device *hid, char *buf, u32 len, int report_id); -+void hid_amdtp_get_report(struct hid_device *hid, int report_id, int report_type); -+int amdtp_hid_probe(u32 cur_hid_dev, struct amdtp_cl_data *cli_data); -+void amdtp_hid_remove(struct amdtp_cl_data *cli_data); -+int amd_sfh_get_report(struct hid_device *hid, int report_id, int report_type); -+void amd_sfh_set_report(struct hid_device *hid, int report_id, int report_type); -+void amdtp_hid_wakeup(struct hid_device *hid); -+#endif -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c ---- linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c 2020-12-25 14:25:44.299391977 +0100 -@@ -0,0 +1,152 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * AMD MP2 PCIe communication driver -+ * Copyright 2020 Advanced Micro Devices, Inc. -+ * -+ * Authors: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> -+ * Sandeep Singh <Sandeep.singh@amd.com> -+ */ -+ -+#include <linux/bitops.h> -+#include <linux/delay.h> -+#include <linux/dma-mapping.h> -+#include <linux/interrupt.h> -+#include <linux/io-64-nonatomic-lo-hi.h> -+#include <linux/module.h> -+#include <linux/slab.h> -+ -+#include "amd_sfh_pcie.h" -+ -+#define DRIVER_NAME "pcie_mp2_amd" -+#define DRIVER_DESC "AMD(R) PCIe MP2 Communication Driver" -+ -+#define ACEL_EN BIT(0) -+#define GYRO_EN BIT(1) -+#define MAGNO_EN BIT(2) -+#define ALS_EN BIT(19) -+ -+void amd_start_sensor(struct amd_mp2_dev *privdata, struct amd_mp2_sensor_info info) -+{ -+ union sfh_cmd_param cmd_param; -+ union sfh_cmd_base cmd_base; -+ -+ /* fill up command register */ -+ memset(&cmd_base, 0, sizeof(cmd_base)); -+ cmd_base.s.cmd_id = ENABLE_SENSOR; -+ cmd_base.s.period = info.period; -+ cmd_base.s.sensor_id = info.sensor_idx; -+ -+ /* fill up command param register */ -+ memset(&cmd_param, 0, sizeof(cmd_param)); -+ cmd_param.s.buf_layout = 1; -+ cmd_param.s.buf_length = 16; -+ -+ writeq(info.phys_address, privdata->mmio + AMD_C2P_MSG2); -+ writel(cmd_param.ul, privdata->mmio + AMD_C2P_MSG1); -+ writel(cmd_base.ul, privdata->mmio + AMD_C2P_MSG0); -+} -+ -+void amd_stop_sensor(struct amd_mp2_dev *privdata, u16 sensor_idx) -+{ -+ union sfh_cmd_base cmd_base; -+ -+ /* fill up command register */ -+ memset(&cmd_base, 0, sizeof(cmd_base)); -+ cmd_base.s.cmd_id = DISABLE_SENSOR; -+ cmd_base.s.period = 0; -+ cmd_base.s.sensor_id = sensor_idx; -+ -+ writeq(0x0, privdata->mmio + AMD_C2P_MSG2); -+ writel(cmd_base.ul, privdata->mmio + AMD_C2P_MSG0); -+} -+ -+void amd_stop_all_sensors(struct amd_mp2_dev *privdata) -+{ -+ union sfh_cmd_base cmd_base; -+ -+ /* fill up command register */ -+ memset(&cmd_base, 0, sizeof(cmd_base)); -+ cmd_base.s.cmd_id = STOP_ALL_SENSORS; -+ cmd_base.s.period = 0; -+ cmd_base.s.sensor_id = 0; -+ -+ writel(cmd_base.ul, privdata->mmio + AMD_C2P_MSG0); -+} -+ -+int amd_mp2_get_sensor_num(struct amd_mp2_dev *privdata, u8 *sensor_id) -+{ -+ int activestatus, num_of_sensors = 0; -+ -+ privdata->activecontrolstatus = readl(privdata->mmio + AMD_P2C_MSG3); -+ activestatus = privdata->activecontrolstatus >> 4; -+ if (ACEL_EN & activestatus) -+ sensor_id[num_of_sensors++] = accel_idx; -+ -+ if (GYRO_EN & activestatus) -+ sensor_id[num_of_sensors++] = gyro_idx; -+ -+ if (MAGNO_EN & activestatus) -+ sensor_id[num_of_sensors++] = mag_idx; -+ -+ if (ALS_EN & activestatus) -+ sensor_id[num_of_sensors++] = als_idx; -+ -+ return num_of_sensors; -+} -+ -+static void amd_mp2_pci_remove(void *privdata) -+{ -+ amd_sfh_hid_client_deinit(privdata); -+ amd_stop_all_sensors(privdata); -+} -+ -+static int amd_mp2_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) -+{ -+ struct amd_mp2_dev *privdata; -+ int rc; -+ -+ privdata = devm_kzalloc(&pdev->dev, sizeof(*privdata), GFP_KERNEL); -+ if (!privdata) -+ return -ENOMEM; -+ -+ privdata->pdev = pdev; -+ pci_set_drvdata(pdev, privdata); -+ rc = pcim_enable_device(pdev); -+ if (rc) -+ return rc; -+ -+ rc = pcim_iomap_regions(pdev, BIT(2), DRIVER_NAME); -+ if (rc) -+ return rc; -+ -+ privdata->mmio = pcim_iomap_table(pdev)[2]; -+ pci_set_master(pdev); -+ rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(64)); -+ if (rc) { -+ rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32)); -+ return rc; -+ } -+ rc = devm_add_action_or_reset(&pdev->dev, amd_mp2_pci_remove, privdata); -+ if (rc) -+ return rc; -+ -+ return amd_sfh_hid_client_init(privdata); -+} -+ -+static const struct pci_device_id amd_mp2_pci_tbl[] = { -+ { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_MP2) }, -+ { } -+}; -+MODULE_DEVICE_TABLE(pci, amd_mp2_pci_tbl); -+ -+static struct pci_driver amd_mp2_pci_driver = { -+ .name = DRIVER_NAME, -+ .id_table = amd_mp2_pci_tbl, -+ .probe = amd_mp2_pci_probe, -+}; -+module_pci_driver(amd_mp2_pci_driver); -+ -+MODULE_DESCRIPTION(DRIVER_DESC); -+MODULE_LICENSE("Dual BSD/GPL"); -+MODULE_AUTHOR("Shyam Sundar S K <Shyam-sundar.S-k@amd.com>"); -+MODULE_AUTHOR("Sandeep Singh <Sandeep.singh@amd.com>"); -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_pcie.h linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_pcie.h ---- linux-5.10.2/drivers/hid/amd-sfh-hid/amd_sfh_pcie.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/amd_sfh_pcie.h 2020-12-25 14:25:44.299391977 +0100 -@@ -0,0 +1,79 @@ -+/* SPDX-License-Identifier: GPL-2.0-or-later */ -+/* -+ * AMD MP2 PCIe communication driver -+ * Copyright 2020 Advanced Micro Devices, Inc. -+ * Authors: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> -+ * Sandeep Singh <Sandeep.singh@amd.com> -+ */ -+ -+#ifndef PCIE_MP2_AMD_H -+#define PCIE_MP2_AMD_H -+ -+#include <linux/pci.h> -+ -+#define PCI_DEVICE_ID_AMD_MP2 0x15E4 -+ -+#define ENABLE_SENSOR 1 -+#define DISABLE_SENSOR 2 -+#define STOP_ALL_SENSORS 8 -+ -+/* MP2 C2P Message Registers */ -+#define AMD_C2P_MSG0 0x10500 -+#define AMD_C2P_MSG1 0x10504 -+#define AMD_C2P_MSG2 0x10508 -+ -+/* MP2 P2C Message Registers */ -+#define AMD_P2C_MSG3 0x1068C /* Supported Sensors info */ -+ -+/* SFH Command register */ -+union sfh_cmd_base { -+ u32 ul; -+ struct { -+ u32 cmd_id : 8; -+ u32 sensor_id : 8; -+ u32 period : 16; -+ } s; -+}; -+ -+union sfh_cmd_param { -+ u32 ul; -+ struct { -+ u32 buf_layout : 2; -+ u32 buf_length : 6; -+ u32 rsvd : 24; -+ } s; -+}; -+ -+struct sfh_cmd_reg { -+ union sfh_cmd_base cmd_base; -+ union sfh_cmd_param cmd_param; -+ phys_addr_t phys_addr; -+}; -+ -+enum sensor_idx { -+ accel_idx = 0, -+ gyro_idx = 1, -+ mag_idx = 2, -+ als_idx = 19 -+}; -+ -+struct amd_mp2_dev { -+ struct pci_dev *pdev; -+ struct amdtp_cl_data *cl_data; -+ void __iomem *mmio; -+ u32 activecontrolstatus; -+}; -+ -+struct amd_mp2_sensor_info { -+ u8 sensor_idx; -+ u32 period; -+ phys_addr_t phys_address; -+}; -+ -+void amd_start_sensor(struct amd_mp2_dev *privdata, struct amd_mp2_sensor_info info); -+void amd_stop_sensor(struct amd_mp2_dev *privdata, u16 sensor_idx); -+void amd_stop_all_sensors(struct amd_mp2_dev *privdata); -+int amd_mp2_get_sensor_num(struct amd_mp2_dev *privdata, u8 *sensor_id); -+int amd_sfh_hid_client_init(struct amd_mp2_dev *privdata); -+int amd_sfh_hid_client_deinit(struct amd_mp2_dev *privdata); -+#endif -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c linux-5.10.2-amd/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c ---- linux-5.10.2/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.c 2020-12-25 14:25:44.299391977 +0100 -@@ -0,0 +1,224 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * AMD SFH Report Descriptor generator -+ * Copyright 2020 Advanced Micro Devices, Inc. -+ * Authors: Nehal Bakulchandra Shah <Nehal-Bakulchandra.Shah@amd.com> -+ * Sandeep Singh <sandeep.singh@amd.com> -+ */ -+ -+#include <linux/kernel.h> -+#include <linux/string.h> -+#include <linux/slab.h> -+#include "amd_sfh_pcie.h" -+#include "amd_sfh_hid_desc.h" -+#include "amd_sfh_hid_report_desc.h" -+ -+#define AMD_SFH_FW_MULTIPLIER (1000) -+#define HID_USAGE_SENSOR_PROP_REPORTING_STATE_ALL_EVENTS_ENUM 0x41 -+#define HID_USAGE_SENSOR_PROP_POWER_STATE_D0_FULL_POWER_ENUM 0x51 -+#define HID_DEFAULT_REPORT_INTERVAL 0x50 -+#define HID_DEFAULT_MIN_VALUE 0X7F -+#define HID_DEFAULT_MAX_VALUE 0x80 -+#define HID_DEFAULT_SENSITIVITY 0x7F -+#define HID_USAGE_SENSOR_PROPERTY_CONNECTION_TYPE_PC_INTEGRATED_ENUM 0x01 -+/* state enums */ -+#define HID_USAGE_SENSOR_STATE_READY_ENUM 0x02 -+#define HID_USAGE_SENSOR_STATE_INITIALIZING_ENUM 0x05 -+#define HID_USAGE_SENSOR_EVENT_DATA_UPDATED_ENUM 0x04 -+ -+int get_report_descriptor(int sensor_idx, u8 *rep_desc) -+{ -+ switch (sensor_idx) { -+ case accel_idx: /* accel */ -+ memset(rep_desc, 0, sizeof(accel3_report_descriptor)); -+ memcpy(rep_desc, accel3_report_descriptor, -+ sizeof(accel3_report_descriptor)); -+ break; -+ case gyro_idx: /* gyro */ -+ memset(rep_desc, 0, sizeof(gyro3_report_descriptor)); -+ memcpy(rep_desc, gyro3_report_descriptor, -+ sizeof(gyro3_report_descriptor)); -+ break; -+ case mag_idx: /* Magnetometer */ -+ memset(rep_desc, 0, sizeof(comp3_report_descriptor)); -+ memcpy(rep_desc, comp3_report_descriptor, -+ sizeof(comp3_report_descriptor)); -+ break; -+ case als_idx: /* ambient light sensor */ -+ memset(rep_desc, 0, sizeof(als_report_descriptor)); -+ memcpy(rep_desc, als_report_descriptor, -+ sizeof(als_report_descriptor)); -+ break; -+ default: -+ break; -+ } -+ return 0; -+} -+ -+u32 get_descr_sz(int sensor_idx, int descriptor_name) -+{ -+ switch (sensor_idx) { -+ case accel_idx: -+ switch (descriptor_name) { -+ case descr_size: -+ return sizeof(accel3_report_descriptor); -+ case input_size: -+ return sizeof(struct accel3_input_report); -+ case feature_size: -+ return sizeof(struct accel3_feature_report); -+ } -+ break; -+ case gyro_idx: -+ switch (descriptor_name) { -+ case descr_size: -+ return sizeof(gyro3_report_descriptor); -+ case input_size: -+ return sizeof(struct gyro_input_report); -+ case feature_size: -+ return sizeof(struct gyro_feature_report); -+ } -+ break; -+ case mag_idx: -+ switch (descriptor_name) { -+ case descr_size: -+ return sizeof(comp3_report_descriptor); -+ case input_size: -+ return sizeof(struct magno_input_report); -+ case feature_size: -+ return sizeof(struct magno_feature_report); -+ } -+ break; -+ case als_idx: -+ switch (descriptor_name) { -+ case descr_size: -+ return sizeof(als_report_descriptor); -+ case input_size: -+ return sizeof(struct als_input_report); -+ case feature_size: -+ return sizeof(struct als_feature_report); -+ } -+ break; -+ default: -+ break; -+ } -+ return 0; -+} -+ -+static void get_common_features(struct common_feature_property *common, int report_id) -+{ -+ common->report_id = report_id; -+ common->connection_type = HID_USAGE_SENSOR_PROPERTY_CONNECTION_TYPE_PC_INTEGRATED_ENUM; -+ common->report_state = HID_USAGE_SENSOR_PROP_REPORTING_STATE_ALL_EVENTS_ENUM; -+ common->power_state = HID_USAGE_SENSOR_PROP_POWER_STATE_D0_FULL_POWER_ENUM; -+ common->sensor_state = HID_USAGE_SENSOR_STATE_INITIALIZING_ENUM; -+ common->report_interval = HID_DEFAULT_REPORT_INTERVAL; -+} -+ -+u8 get_feature_report(int sensor_idx, int report_id, u8 *feature_report) -+{ -+ struct accel3_feature_report acc_feature; -+ struct gyro_feature_report gyro_feature; -+ struct magno_feature_report magno_feature; -+ struct als_feature_report als_feature; -+ u8 report_size = 0; -+ -+ if (!feature_report) -+ return report_size; -+ -+ switch (sensor_idx) { -+ case accel_idx: /* accel */ -+ get_common_features(&acc_feature.common_property, report_id); -+ acc_feature.accel_change_sesnitivity = HID_DEFAULT_SENSITIVITY; -+ acc_feature.accel_sensitivity_min = HID_DEFAULT_MIN_VALUE; -+ acc_feature.accel_sensitivity_max = HID_DEFAULT_MAX_VALUE; -+ memcpy(feature_report, &acc_feature, sizeof(acc_feature)); -+ report_size = sizeof(acc_feature); -+ break; -+ case gyro_idx: /* gyro */ -+ get_common_features(&gyro_feature.common_property, report_id); -+ gyro_feature.gyro_change_sesnitivity = HID_DEFAULT_SENSITIVITY; -+ gyro_feature.gyro_sensitivity_min = HID_DEFAULT_MIN_VALUE; -+ gyro_feature.gyro_sensitivity_max = HID_DEFAULT_MAX_VALUE; -+ memcpy(feature_report, &gyro_feature, sizeof(gyro_feature)); -+ report_size = sizeof(gyro_feature); -+ break; -+ case mag_idx: /* Magnetometer */ -+ get_common_features(&magno_feature.common_property, report_id); -+ magno_feature.magno_headingchange_sensitivity = HID_DEFAULT_SENSITIVITY; -+ magno_feature.heading_min = HID_DEFAULT_MIN_VALUE; -+ magno_feature.heading_max = HID_DEFAULT_MAX_VALUE; -+ magno_feature.flux_change_sensitivity = HID_DEFAULT_MIN_VALUE; -+ magno_feature.flux_min = HID_DEFAULT_MIN_VALUE; -+ magno_feature.flux_max = HID_DEFAULT_MAX_VALUE; -+ memcpy(feature_report, &magno_feature, sizeof(magno_feature)); -+ report_size = sizeof(magno_feature); -+ break; -+ case als_idx: /* ambient light sensor */ -+ get_common_features(&als_feature.common_property, report_id); -+ als_feature.als_change_sesnitivity = HID_DEFAULT_SENSITIVITY; -+ als_feature.als_sensitivity_min = HID_DEFAULT_MIN_VALUE; -+ als_feature.als_sensitivity_max = HID_DEFAULT_MAX_VALUE; -+ memcpy(feature_report, &als_feature, sizeof(als_feature)); -+ report_size = sizeof(als_feature); -+ break; -+ default: -+ break; -+ } -+ return report_size; -+} -+ -+static void get_common_inputs(struct common_input_property *common, int report_id) -+{ -+ common->report_id = report_id; -+ common->sensor_state = HID_USAGE_SENSOR_STATE_READY_ENUM; -+ common->event_type = HID_USAGE_SENSOR_EVENT_DATA_UPDATED_ENUM; -+} -+ -+u8 get_input_report(int sensor_idx, int report_id, u8 *input_report, u32 *sensor_virt_addr) -+{ -+ struct accel3_input_report acc_input; -+ struct gyro_input_report gyro_input; -+ struct magno_input_report magno_input; -+ struct als_input_report als_input; -+ u8 report_size = 0; -+ -+ if (!sensor_virt_addr || !input_report) -+ return report_size; -+ -+ switch (sensor_idx) { -+ case accel_idx: /* accel */ -+ get_common_inputs(&acc_input.common_property, report_id); -+ acc_input.in_accel_x_value = (int)sensor_virt_addr[0] / AMD_SFH_FW_MULTIPLIER; -+ acc_input.in_accel_y_value = (int)sensor_virt_addr[1] / AMD_SFH_FW_MULTIPLIER; -+ acc_input.in_accel_z_value = (int)sensor_virt_addr[2] / AMD_SFH_FW_MULTIPLIER; -+ memcpy(input_report, &acc_input, sizeof(acc_input)); -+ report_size = sizeof(acc_input); -+ break; -+ case gyro_idx: /* gyro */ -+ get_common_inputs(&gyro_input.common_property, report_id); -+ gyro_input.in_angel_x_value = (int)sensor_virt_addr[0] / AMD_SFH_FW_MULTIPLIER; -+ gyro_input.in_angel_y_value = (int)sensor_virt_addr[1] / AMD_SFH_FW_MULTIPLIER; -+ gyro_input.in_angel_z_value = (int)sensor_virt_addr[2] / AMD_SFH_FW_MULTIPLIER; -+ memcpy(input_report, &gyro_input, sizeof(gyro_input)); -+ report_size = sizeof(gyro_input); -+ break; -+ case mag_idx: /* Magnetometer */ -+ get_common_inputs(&magno_input.common_property, report_id); -+ magno_input.in_magno_x = (int)sensor_virt_addr[0] / AMD_SFH_FW_MULTIPLIER; -+ magno_input.in_magno_y = (int)sensor_virt_addr[1] / AMD_SFH_FW_MULTIPLIER; -+ magno_input.in_magno_z = (int)sensor_virt_addr[2] / AMD_SFH_FW_MULTIPLIER; -+ magno_input.in_magno_accuracy = (u16)sensor_virt_addr[3] / AMD_SFH_FW_MULTIPLIER; -+ memcpy(input_report, &magno_input, sizeof(magno_input)); -+ report_size = sizeof(magno_input); -+ break; -+ case als_idx: /* Als */ -+ get_common_inputs(&als_input.common_property, report_id); -+ als_input.illuminance_value = (int)sensor_virt_addr[0] / AMD_SFH_FW_MULTIPLIER; -+ report_size = sizeof(als_input); -+ memcpy(input_report, &als_input, sizeof(als_input)); -+ break; -+ default: -+ break; -+ } -+ return report_size; -+} -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h linux-5.10.2-amd/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h ---- linux-5.10.2/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_desc.h 2020-12-25 14:25:44.299391977 +0100 -@@ -0,0 +1,107 @@ -+/* SPDX-License-Identifier: GPL-2.0-or-later */ -+/* -+ * HID report descriptors, structures and routines -+ * Copyright 2020 Advanced Micro Devices, Inc. -+ * Authors: Nehal Bakulchandra Shah <Nehal-bakulchandra.shah@amd.com> -+ * Sandeep Singh <Sandeep.singh@amd.com> -+ */ -+ -+#ifndef AMD_SFH_HID_DESCRIPTOR_H -+#define AMD_SFH_HID_DESCRIPTOR_H -+ -+enum desc_type { -+ /* Report descriptor name */ -+ descr_size = 1, -+ input_size, -+ feature_size, -+}; -+ -+struct common_feature_property { -+ /* common properties */ -+ u8 report_id; -+ u8 connection_type; -+ u8 report_state; -+ u8 power_state; -+ u8 sensor_state; -+ u32 report_interval; -+} __packed; -+ -+struct common_input_property { -+ /* common properties */ -+ u8 report_id; -+ u8 sensor_state; -+ u8 event_type; -+} __packed; -+ -+struct accel3_feature_report { -+ struct common_feature_property common_property; -+ /* properties specific to this sensor */ -+ u16 accel_change_sesnitivity; -+ s16 accel_sensitivity_max; -+ s16 accel_sensitivity_min; -+} __packed; -+ -+struct accel3_input_report { -+ struct common_input_property common_property; -+ /* values specific to this sensor */ -+ int in_accel_x_value; -+ int in_accel_y_value; -+ int in_accel_z_value; -+ /* include if required to support the "shake" event */ -+ u8 in_accel_shake_detection; -+} __packed; -+ -+struct gyro_feature_report { -+ struct common_feature_property common_property; -+ /* properties specific to this sensor */ -+ u16 gyro_change_sesnitivity; -+ s16 gyro_sensitivity_max; -+ s16 gyro_sensitivity_min; -+} __packed; -+ -+struct gyro_input_report { -+ struct common_input_property common_property; -+ /* values specific to this sensor */ -+ int in_angel_x_value; -+ int in_angel_y_value; -+ int in_angel_z_value; -+} __packed; -+ -+struct magno_feature_report { -+ struct common_feature_property common_property; -+ /*properties specific to this sensor */ -+ u16 magno_headingchange_sensitivity; -+ s16 heading_min; -+ s16 heading_max; -+ u16 flux_change_sensitivity; -+ s16 flux_min; -+ s16 flux_max; -+} __packed; -+ -+struct magno_input_report { -+ struct common_input_property common_property; -+ int in_magno_x; -+ int in_magno_y; -+ int in_magno_z; -+ int in_magno_accuracy; -+} __packed; -+ -+struct als_feature_report { -+ struct common_feature_property common_property; -+ /* properties specific to this sensor */ -+ u16 als_change_sesnitivity; -+ s16 als_sensitivity_max; -+ s16 als_sensitivity_min; -+} __packed; -+ -+struct als_input_report { -+ struct common_input_property common_property; -+ /* values specific to this sensor */ -+ int illuminance_value; -+} __packed; -+ -+int get_report_descriptor(int sensor_idx, u8 rep_desc[]); -+u32 get_descr_sz(int sensor_idx, int descriptor_name); -+u8 get_feature_report(int sensor_idx, int report_id, u8 *feature_report); -+u8 get_input_report(int sensor_idx, int report_id, u8 *input_report, u32 *sensor_virt_addr); -+#endif -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h linux-5.10.2-amd/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h ---- linux-5.10.2/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/hid_descriptor/amd_sfh_hid_report_desc.h 2020-12-25 14:25:44.299391977 +0100 -@@ -0,0 +1,645 @@ -+/* SPDX-License-Identifier: GPL-2.0-or-later */ -+/* -+ * HID descriptor stuructures -+ * Copyright 2020 Advanced Micro Devices, Inc. -+ * Authors: Nehal Bakulchandra Shah <Nehal-bakulchandra.shah@amd.com> -+ * Sandeep Singh <Sandeep.singh@amd.com> -+ */ -+ -+#ifndef AMD_SFH_HID_REPORT_DESCRIPTOR_H -+#define AMD_SFH_HID_REPORT_DESCRIPTOR_H -+ -+// Accelerometer 3D Sensor -+static const u8 accel3_report_descriptor[] = { -+0x05, 0x20, /* Usage page */ -+0x09, 0x73, /* Motion type Accel 3D */ -+0xA1, 0x00, /* HID Collection (Physical) */ -+ -+//feature reports(xmit/receive) -+0x85, 1, /* HID Report ID */ -+0x05, 0x20, /* HID usage page sensor */ -+0x0A, 0x09, 0x03, /* Sensor property and sensor connection type */ -+0x15, 0, /* HID logical MIN_8(0) */ -+0x25, 2, /* HID logical MAX_8(2) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection (logical) */ -+0x0A, 0x30, 0x08, /* Sensor property connection type intergated sel*/ -+0x0A, 0x31, 0x08, /* Sensor property connection type attached sel */ -+0x0A, 0x32, 0x08, /* Sensor property connection type external sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x16, 0x03, /* HID usage sensor property reporting state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x40, 0x08, /* Sensor property report state no events sel */ -+0x0A, 0x41, 0x08, /* Sensor property report state all events sel */ -+0x0A, 0x42, 0x08, /* Sensor property report state threshold events sel */ -+0x0A, 0x43, 0x08, /* Sensor property report state no events wake sel */ -+0x0A, 0x44, 0x08, /* Sensor property report state all events wake sel */ -+0x0A, 0x45, 0x08, /* Sensor property report state threshold events wake sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x19, 0x03, /* HID usage sensor property power state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x50, 0x08, /* Sensor property power state undefined sel */ -+0x0A, 0x51, 0x08, /* Sensor property power state D0 full power sel */ -+0x0A, 0x52, 0x08, /* Sensor property power state D1 low power sel */ -+0x0A, 0x53, 0x08, /* Sensor property power state D2 standby with wake sel */ -+0x0A, 0x54, 0x08, /* Sensor property power state D3 sleep with wake sel */ -+0x0A, 0x55, 0x08, /* Sensor property power state D4 power off sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x01, 0x02, /* HID usage sensor state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 6, /* HID logical Max_8(6) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x00, 0x08, /* HID usage sensor state unknown sel */ -+0x0A, 0x01, 0x08, /* HID usage sensor state ready sel */ -+0x0A, 0x02, 0x08, /* HID usage sensor state not available sel */ -+0x0A, 0x03, 0x08, /* HID usage sensor state no data sel */ -+0x0A, 0x04, 0x08, /* HID usage sensor state initializing sel */ -+0x0A, 0x05, 0x08, /* HID usage sensor state access denied sel */ -+0x0A, 0x06, 0x08, /* HID usage sensor state error sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x0E, 0x03, /* HID usage sensor property report interval */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x27, 0xFF, 0xFF, 0xFF, 0xFF, /* HID logical Max_32 */ -+ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0, /* HID unit exponent(0) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x52, 0x14, /* Sensor data motion accel and mod change sensitivity ABS) */ -+ -+0x15, 0, /* HID logical Min_8(0) */ -+0x26, 0xFF, 0xFF, /* HID logical Max_16(0xFF,0xFF) */ -+ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x52, 0x24, /* HID usage sensor data (motion accel and mod max) */ -+ -+0x16, 0x01, 0x80, /* HID logical Min_16(0x01,0x80) */ -+ -+0x26, 0xFF, 0x7F, /* HID logical Max_16(0xFF,0x7F) */ -+ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x52, 0x34, /* HID usage sensor data (motion accel and mod min) */ -+ -+0x16, 0x01, 0x80, /* HID logical Min_16(0x01,0x80) */ -+ -+0x26, 0xFF, 0x7F, /* HID logical Max_16(0xFF,0x7F) */ -+ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+ -+//input report (transmit) -+0x05, 0x20, /* HID usage page sensors */ -+0x0A, 0x01, 0x02, /* HID usage sensor state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 6, /* HID logical Max_8(6) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0xA1, 0x02, /* HID end collection (logical) */ -+0x0A, 0x00, 0x08, /* HID usage sensor state unknown sel */ -+0x0A, 0x01, 0x08, /* HID usage sensor state ready sel */ -+0x0A, 0x02, 0x08, /* HID usage sensor state not available sel */ -+0x0A, 0x03, 0x08, /* HID usage sensor state no data sel */ -+0x0A, 0x04, 0x08, /* HID usage sensor state initializing sel */ -+0x0A, 0x05, 0x08, /* HID usage sensor state access denied sel */ -+0x0A, 0x06, 0x08, /* HID usage sensor state error sel */ -+0X81, 0x00, /* HID Input (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x02, 0x02, /* HID usage sensor event */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0xA1, 0x02, /* HID end collection (logical) */ -+0x0A, 0x10, 0x08, /* HID usage sensor event unknown sel */ -+0x0A, 0x11, 0x08, /* HID usage sensor event state changed sel */ -+0x0A, 0x12, 0x08, /* HID usage sensor event property changed sel */ -+0x0A, 0x13, 0x08, /* HID usage sensor event data updated sel */ -+0x0A, 0x14, 0x08, /* HID usage sensor event poll response sel */ -+0x0A, 0x15, 0x08, /* HID usage sensor event change sensitivity sel */ -+0X81, 0x00, /* HID Input (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x53, 0x04, /* HID usage sensor data motion Acceleration X axis */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+ -+0x27, 0xFF, 0xff, 0XFF, 0XFF, /* HID logical Max_32 */ -+ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0x0A, 0x54, 0x04, /* HID usage sensor data motion Acceleration Y axis */ -+0x17, 0X00, 0X00, 0x01, 0x80, /* HID logical Min_32 */ -+ -+0x27, 0xFF, 0xFF, 0XFF, 0XFF, /* HID logical Max_32 */ -+ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0x0A, 0x55, 0x04, /* HID usage sensor data motion Acceleration Z axis */ -+0x17, 0X00, 0X00, 0x01, 0x80, /* HID logical Min_32 */ -+ -+0x27, 0XFF, 0XFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+ -+0x0A, 0x51, 0x04, /* HID usage sensor data motion state */ -+0x15, 0, /* HID logical Min_8(0) False = Still*/ -+0x25, 1, /* HID logical Min_8(1) True = In motion */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0xC0 /* HID end collection */ -+}; -+ -+const u8 gyro3_report_descriptor[] = { -+0x05, 0x20, /* Usage page */ -+0x09, 0x76, /* Motion type Gyro3D */ -+0xA1, 0x00, /* HID Collection (Physical) */ -+ -+0x85, 2, /* HID Report ID */ -+0x05, 0x20, /* HID usage page sensor */ -+0x0A, 0x09, 0x03, /* Sensor property and sensor connection type */ -+0x15, 0, /* HID logical MIN_8(0) */ -+0x25, 2, /* HID logical MAX_8(2) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection (logical) */ -+0x0A, 0x30, 0x08, /* Sensor property connection type intergated sel */ -+0x0A, 0x31, 0x08, /* Sensor property connection type attached sel */ -+0x0A, 0x32, 0x08, /* Sensor property connection type external sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x16, 0x03, /* HID usage sensor property reporting state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x40, 0x08, /* Sensor reporting state no events sel */ -+0x0A, 0x41, 0x08, /* Sensor reporting state all events sel */ -+0x0A, 0x42, 0x08, /* Sensor reporting state threshold events sel */ -+0x0A, 0x43, 0x08, /* Sensor reporting state no events wake sel */ -+0x0A, 0x44, 0x08, /* Sensor reporting state all events wake sel */ -+0x0A, 0x45, 0x08, /* Sensor reporting state threshold events wake sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x19, 0x03, /* HID usage sensor property power state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x50, 0x08, /* Sensor power state undefined sel */ -+0x0A, 0x51, 0x08, /* Sensor power state D0 full power sel */ -+0x0A, 0x52, 0x08, /* Sensor power state D1 low power sel */ -+0x0A, 0x53, 0x08, /* Sensor power state D2 standby with wake sel */ -+0x0A, 0x54, 0x08, /* Sensor power state D3 sleep with wake sel */ -+0x0A, 0x55, 0x08, /* Sensor power state D4 power off sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x01, 0x02, /* HID usage sensor state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 6, /* HID logical Max_8(6) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x00, 0x08, /* HID usage sensor state unknown sel */ -+0x0A, 0x01, 0x08, /* HID usage sensor state ready sel */ -+0x0A, 0x02, 0x08, /* HID usage sensor state not available sel */ -+0x0A, 0x03, 0x08, /* HID usage sensor state no data sel */ -+0x0A, 0x04, 0x08, /* HID usage sensor state initializing sel */ -+0x0A, 0x05, 0x08, /* HID usage sensor state access denied sel */ -+0x0A, 0x06, 0x08, /* HID usage sensor state error sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x0E, 0x03, /* HID usage sensor property report interval */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x27, 0xFF, 0xFF, 0xFF, 0xFF, /* HID logical Max_32 */ -+ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0, /* HID unit exponent(0) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x56, 0x14, /* Angular velocity and mod change sensitivity ABS)*/ -+ -+0x15, 0, /* HID logical Min_8(0) */ -+0x26, 0xFF, 0xFF, /* HID logical Max_16(0xFF,0xFF) */ -+ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x56, 0x24, /* Sensor data (motion angular velocity and mod max) */ -+ -+0x16, 0x01, 0x80, /* HID logical Min_16(0x01,0x80) */ -+ -+0x26, 0xFF, 0x7F, /* HID logical Max_16(0xFF,0x7F) */ -+ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x56, 0x34, /* HID usage sensor data (motion accel and mod min) */ -+ -+0x16, 0x01, 0x80, /* HID logical Min_16(0x01,0x80) */ -+ -+0x26, 0xFF, 0x7F, /* HID logical Max_16(0xFF,0x7F) */ -+ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+ -+//Input reports(transmit) -+0x05, 0x20, /* HID usage page sensors */ -+0x0A, 0x01, 0x02, /* HID usage sensor state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 6, /* HID logical Max_8(6) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0xA1, 0x02, /* HID end collection (logical) */ -+0x0A, 0x00, 0x08, /* HID usage sensor state unknown sel */ -+0x0A, 0x01, 0x08, /* HID usage sensor state ready sel */ -+0x0A, 0x02, 0x08, /* HID usage sensor state not available sel */ -+0x0A, 0x03, 0x08, /* HID usage sensor state no data sel */ -+0x0A, 0x04, 0x08, /* HID usage sensor state initializing sel */ -+0x0A, 0x05, 0x08, /* HID usage sensor state access denied sel */ -+0x0A, 0x06, 0x08, /* HID usage sensor state error sel */ -+0X81, 0x00, /* HID Input (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x02, 0x02, /* HID usage sensor event */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0xA1, 0x02, /* HID end collection (logical) */ -+0x0A, 0x10, 0x08, /* HID usage sensor event unknown sel */ -+0x0A, 0x11, 0x08, /* HID usage sensor event state changed sel */ -+0x0A, 0x12, 0x08, /* HID usage sensor event property changed sel */ -+0x0A, 0x13, 0x08, /* HID usage sensor event data updated sel */ -+0x0A, 0x14, 0x08, /* HID usage sensor event poll response sel */ -+0x0A, 0x15, 0x08, /* HID usage sensor event change sensitivity sel */ -+0X81, 0x00, /* HID Input (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x57, 0x04, /* Sensor data motion Angular velocity X axis */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+ -+0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0x0A, 0x58, 0x04, /* Sensor data motion Angular velocity Y axis */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+ -+0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0x0A, 0x59, 0x04, /* Sensor data motion Angular velocity Z axis */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+ -+0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+ -+0xC0, /* HID end collection */ -+}; -+ -+const u8 comp3_report_descriptor[] = { -+0x05, 0x20, /* Usage page */ -+0x09, 0x83, /* Motion type Orientation compass 3D */ -+0xA1, 0x00, /* HID Collection (Physical) */ -+ -+0x85, 3, /* HID Report ID */ -+0x05, 0x20, /* HID usage page sensor */ -+0x0A, 0x09, 0x03, /* Sensor property and sensor connection type */ -+0x15, 0, /* HID logical MIN_8(0) */ -+0x25, 2, /* HID logical MAX_8(2) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection (logical) */ -+0x0A, 0x30, 0x08, /* Sensor property connection type intergated sel */ -+0x0A, 0x31, 0x08, /* Sensor property connection type attached sel */ -+0x0A, 0x32, 0x08, /* Sensor property connection type external sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x16, 0x03, /* HID usage sensor property reporting state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x40, 0x08, /* Sensor reporting state no events sel */ -+0x0A, 0x41, 0x08, /* Sensor reporting state all events sel */ -+0x0A, 0x42, 0x08, /* Sensor reporting state threshold events sel */ -+0x0A, 0x43, 0x08, /* Sensor reporting state no events wake sel */ -+0x0A, 0x44, 0x08, /* Sensor reporting state all events wake sel */ -+0x0A, 0x45, 0x08, /* Sensor reporting state threshold events wake sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x19, 0x03, /* HID usage sensor property power state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x50, 0x08, /* Sensor power state undefined sel */ -+0x0A, 0x51, 0x08, /* Sensor power state D0 full power sel */ -+0x0A, 0x52, 0x08, /* Sensor power state D1 low power sel */ -+0x0A, 0x53, 0x08, /* Sensor power state D2 standby with wake sel */ -+0x0A, 0x54, 0x08, /* Sensor power state D3 sleep with wake sel */ -+0x0A, 0x55, 0x08, /* Sensor power state D4 power off sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x01, 0x02, /* HID usage sensor state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 6, /* HID logical Max_8(6) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x00, 0x08, /* HID usage sensor state unknown sel */ -+0x0A, 0x01, 0x08, /* HID usage sensor state ready sel */ -+0x0A, 0x02, 0x08, /* HID usage sensor state not available sel */ -+0x0A, 0x03, 0x08, /* HID usage sensor state no data sel */ -+0x0A, 0x04, 0x08, /* HID usage sensor state initializing sel */ -+0x0A, 0x05, 0x08, /* HID usage sensor state access denied sel */ -+0x0A, 0x06, 0x08, /* HID usage sensor state error sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x0E, 0x03, /* HID usage sensor property report interval */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x27, 0xFF, 0xFF, 0xFF, 0xFF, /* HID logical Max_32 */ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0, /* HID unit exponent(0) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x71, 0x14, /* Orientation and mod change sensitivity ABS)*/ -+0x15, 0, /* HID logical Min_8(0) */ -+0x26, 0xFF, 0xFF, /* HID logical Max_16(0xFF,0xFF) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x71, 0x24, /* Sensor data (motion orientation and mod max) */ -+0x16, 0x01, 0x80, /* HID logical Min_16(0x01,0x80) */ -+0x26, 0xFF, 0x7F, /* HID logical Max_16(0xFF,0x7F) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0F, /* HID unit exponent(0x0F) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x71, 0x34, /* Sensor data (motion orientation and mod min) */ -+0x16, 0x01, 0x80, /* HID logical Min_16(0x01,0x80) */ -+0x26, 0xFF, 0x7F, /* HID logical Max_16(0xFF,0x7F) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0F, /* HID unit exponent(0x0F) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x84, 0x14, /* Maganetic flux and change sensitivity ABS) */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x26, 0xFF, 0xFF, /* HID logical Max_16(0xFF,0xFF) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x84, 0x24, /* Maganetic flux and mod change sensitivity Max) */ -+0x16, 0x01, 0x80, /* HID logical Min_16(0x01,0x80) */ -+0x26, 0xFF, 0x7F, /* HID logical Max_16(0xFF,0x7F) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0F, /* HID unit exponent(0x0F) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0x84, 0x34, /* Maganetic flux and mod change sensitivity Min */ -+0x16, 0x01, 0x80, /* HID logical Min_16(0x01,0x80) */ -+0x26, 0xFF, 0x7F, /* HID logical Max_16(0xFF,0x7F) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0F, /* HID unit exponent(0x0F) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+ -+//Input reports(transmit) -+0x05, 0x20, /* HID usage page sensors */ -+0x0A, 0x01, 0x02, /* HID usage sensor state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 6, /* HID logical Max_8(6) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0xA1, 0x02, /* HID end collection (logical) */ -+0x0A, 0x00, 0x08, /* HID usage sensor state unknown sel */ -+0x0A, 0x01, 0x08, /* HID usage sensor state ready sel */ -+0x0A, 0x02, 0x08, /* HID usage sensor state not available sel */ -+0x0A, 0x03, 0x08, /* HID usage sensor state no data sel */ -+0x0A, 0x04, 0x08, /* HID usage sensor state initializing sel */ -+0x0A, 0x05, 0x08, /* HID usage sensor state access denied sel */ -+0x0A, 0x06, 0x08, /* HID usage sensor state error sel */ -+0X81, 0x00, /* HID Input (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x02, 0x02, /* HID usage sensor event */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0xA1, 0x02, /* HID end collection (logical) */ -+0x0A, 0x10, 0x08, /* HID usage sensor event unknown sel */ -+0x0A, 0x11, 0x08, /* HID usage sensor event state changed sel */ -+0x0A, 0x12, 0x08, /* HID usage sensor event property changed sel */ -+0x0A, 0x13, 0x08, /* HID usage sensor event data updated sel */ -+0x0A, 0x14, 0x08, /* HID usage sensor event poll response sel */ -+0x0A, 0x15, 0x08, /* HID usage sensor event change sensitivity sel */ -+0X81, 0x00, /* HID Input (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x85, 0x04, /* Sensor data orientation magnetic flux X axis */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0D, /* HID unit exponent(0x0D) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0x0A, 0x86, 0x04, /* Sensor data orientation magnetic flux Y axis */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0D, /* HID unit exponent(0x0D) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0x0A, 0x87, 0x04, /* Sensor data orientation magnetic flux Z axis */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0x55, 0x0D, /* HID unit exponent(0x0D) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0x0A, 0x88, 0x04, /* Sensor data orientation magnetometer accuracy */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0xC0 /* HID end collection */ -+}; -+ -+const u8 als_report_descriptor[] = { -+0x05, 0x20, /* HID usage page sensor */ -+0x09, 0x41, /* HID usage sensor type Ambientlight */ -+0xA1, 0x00, /* HID Collection (Physical) */ -+ -+//feature reports(xmit/receive)// -+0x85, 4, /* HID Report ID */ -+0x05, 0x20, /* HID usage page sensor */ -+0x0A, 0x09, 0x03, /* Sensor property and sensor connection type */ -+0x15, 0, /* HID logical MIN_8(0) */ -+0x25, 2, /* HID logical MAX_8(2) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection (logical) */ -+0x0A, 0x30, 0x08, /* Sensor property connection type intergated sel */ -+0x0A, 0x31, 0x08, /* Sensor property connection type attached sel */ -+0x0A, 0x32, 0x08, /* Sensor property connection type external sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x16, 0x03, /* HID usage sensor property reporting state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x40, 0x08, /* Sensor reporting state no events sel */ -+0x0A, 0x41, 0x08, /* Sensor reporting state all events sel */ -+0x0A, 0x42, 0x08, /* Sensor reporting state threshold events sel */ -+0x0A, 0x43, 0x08, /* Sensor reporting state no events wake sel */ -+0x0A, 0x44, 0x08, /* Sensor reporting state all events wake sel */ -+0x0A, 0x45, 0x08, /* Sensor reporting state threshold events wake sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x19, 0x03, /* HID usage sensor property power state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x50, 0x08, /* Sensor power state undefined sel */ -+0x0A, 0x51, 0x08, /* Sensor power state D0 full power sel */ -+0x0A, 0x52, 0x08, /* Sensor power state D1 low power sel */ -+0x0A, 0x53, 0x08, /* Sensor power state D2 standby with wake sel */ -+0x0A, 0x54, 0x08, /* Sensor power state D3 sleep with wake sel */ -+0x0A, 0x55, 0x08, /* Sensor power state D4 power off sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x01, 0x02, /* HID usage sensor state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 6, /* HID logical Max_8(6) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count(1) */ -+0xA1, 0x02, /* HID collection(logical) */ -+0x0A, 0x00, 0x08, /* HID usage sensor state unknown sel */ -+0x0A, 0x01, 0x08, /* HID usage sensor state ready sel */ -+0x0A, 0x02, 0x08, /* HID usage sensor state not available sel */ -+0x0A, 0x03, 0x08, /* HID usage sensor state no data sel */ -+0x0A, 0x04, 0x08, /* HID usage sensor state initializing sel */ -+0x0A, 0x05, 0x08, /* HID usage sensor state access denied sel */ -+0x0A, 0x06, 0x08, /* HID usage sensor state error sel */ -+0xB1, 0x00, /* HID feature (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x0E, 0x03, /* HID usage sensor property report interval */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x27, 0xFF, 0xFF, 0xFF, 0xFF, /* HID logical Max_32 */ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0, /* HID unit exponent(0) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0xD1, 0xE4, /* Light illuminance and sensitivity REL PCT) */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x26, 0x10, 0x27, /* HID logical Max_16(0x10,0x27) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0E, /* HID unit exponent(0x0E) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0xD1, 0x24, /* Sensor data (Light illuminance and mod max) */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x26, 0xFF, 0xFF, /* HID logical Max_16(0xFF,0xFF) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0F, /* HID unit exponent(0x0F) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+0x0A, 0xD1, 0x34, /* Sensor data (Light illuminance and mod min) */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x26, 0xFF, 0xFF, /* HID logical Max_16(0xFF,0xFF) */ -+0x75, 16, /* HID report size(16) */ -+0x95, 1, /* HID report count(1) */ -+0x55, 0x0F, /* HID unit exponent(0x0F) */ -+0xB1, 0x02, /* HID feature (Data_Arr_Abs) */ -+ -+//Input reports (transmit) -+0x05, 0x20, /* HID usage page sensors */ -+0x0A, 0x01, 0x02, /* HID usage sensor state */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 6, /* HID logical Max_8(6) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0xA1, 0x02, /* HID end collection (logical) */ -+0x0A, 0x00, 0x08, /* HID usage sensor state unknown sel */ -+0x0A, 0x01, 0x08, /* HID usage sensor state ready sel */ -+0x0A, 0x02, 0x08, /* HID usage sensor state not available sel */ -+0x0A, 0x03, 0x08, /* HID usage sensor state no data sel */ -+0x0A, 0x04, 0x08, /* HID usage sensor state initializing sel */ -+0x0A, 0x05, 0x08, /* HID usage sensor state access denied sel */ -+0x0A, 0x06, 0x08, /* HID usage sensor state error sel */ -+0X81, 0x00, /* HID Input (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0x02, 0x02, /* HID usage sensor event */ -+0x15, 0, /* HID logical Min_8(0) */ -+0x25, 5, /* HID logical Max_8(5) */ -+0x75, 8, /* HID report size(8) */ -+0x95, 1, /* HID report count (1) */ -+0xA1, 0x02, /* HID end collection (logical) */ -+0x0A, 0x10, 0x08, /* HID usage sensor event unknown sel */ -+0x0A, 0x11, 0x08, /* HID usage sensor event state changed sel */ -+0x0A, 0x12, 0x08, /* HID usage sensor event property changed sel */ -+0x0A, 0x13, 0x08, /* HID usage sensor event data updated sel */ -+0x0A, 0x14, 0x08, /* HID usage sensor event poll response sel */ -+0x0A, 0x15, 0x08, /* HID usage sensor event change sensitivity sel */ -+0X81, 0x00, /* HID Input (Data_Arr_Abs) */ -+0xC0, /* HID end collection */ -+0x0A, 0xD1, 0x04, /* HID usage sensor data light illuminance */ -+0x17, 0x00, 0x00, 0x01, 0x80, /* HID logical Min_32 */ -+0x27, 0xFF, 0xFF, 0xFF, 0x7F, /* HID logical Max_32 */ -+0x55, 0x0F, /* HID unit exponent(0x0F) */ -+0x75, 32, /* HID report size(32) */ -+0x95, 1, /* HID report count (1) */ -+0X81, 0x02, /* HID Input (Data_Arr_Abs) */ -+0xC0 /* HID end collection */ -+}; -+#endif -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/Kconfig linux-5.10.2-amd/drivers/hid/amd-sfh-hid/Kconfig ---- linux-5.10.2/drivers/hid/amd-sfh-hid/Kconfig 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/Kconfig 2020-12-25 14:25:44.298391979 +0100 -@@ -0,0 +1,18 @@ -+# SPDX-License-Identifier: GPL-2.0-or-later -+menu "AMD SFH HID Support" -+ depends on X86_64 || COMPILE_TEST -+ depends on PCI -+ depends on HID -+ -+config AMD_SFH_HID -+ tristate "AMD Sensor Fusion Hub" -+ help -+ If you say yes to this option, support will be included for the -+ AMD Sensor Fusion Hub. -+ This driver will enable sensors functionality on AMD platforms -+ starting from 17h family of RYZEN parts. -+ -+ This driver can also be built as a module. If so, the module will -+ be called amd-sfh. -+ Say Y or M here if you want to support AMD SFH. If unsure, say N. -+endmenu -diff -Naur linux-5.10.2/drivers/hid/amd-sfh-hid/Makefile linux-5.10.2-amd/drivers/hid/amd-sfh-hid/Makefile ---- linux-5.10.2/drivers/hid/amd-sfh-hid/Makefile 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/amd-sfh-hid/Makefile 2020-12-25 14:25:44.298391979 +0100 -@@ -0,0 +1,13 @@ -+# SPDX-License-Identifier: GPL-2.0-or-later -+# -+# Makefile - AMD SFH HID drivers -+# Copyright (c) 2019-2020, Advanced Micro Devices, Inc. -+# -+# -+obj-$(CONFIG_AMD_SFH_HID) += amd_sfh.o -+amd_sfh-objs := amd_sfh_hid.o -+amd_sfh-objs += amd_sfh_client.o -+amd_sfh-objs += amd_sfh_pcie.o -+amd_sfh-objs += hid_descriptor/amd_sfh_hid_desc.o -+ -+ccflags-y += -I $(srctree)/$(src)/ -diff -Naur linux-5.10.2/drivers/hid/Kconfig linux-5.10.2-amd/drivers/hid/Kconfig ---- linux-5.10.2/drivers/hid/Kconfig 2020-12-21 13:30:08.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/Kconfig 2020-12-25 14:27:01.284205047 +0100 -@@ -1183,4 +1183,6 @@ - - source "drivers/hid/intel-ish-hid/Kconfig" - -+source "drivers/hid/amd-sfh-hid/Kconfig" -+ - endmenu -diff -Naur linux-5.10.2/drivers/hid/Makefile linux-5.10.2-amd/drivers/hid/Makefile ---- linux-5.10.2/drivers/hid/Makefile 2020-12-21 13:30:08.000000000 +0100 -+++ linux-5.10.2-amd/drivers/hid/Makefile 2020-12-25 15:14:25.713530171 +0100 -@@ -142,3 +142,4 @@ - - obj-$(CONFIG_INTEL_ISH_HID) += intel-ish-hid/ - obj-$(INTEL_ISH_FIRMWARE_DOWNLOADER) += intel-ish-hid/ -+obj-$(CONFIG_AMD_SFH_HID) += amd-sfh-hid/ diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-add-sbtsi_driver.patch b/sys-kernel/linux-sources-redcore-lts/files/5.10-add-sbtsi_driver.patch deleted file mode 100644 index 13035071..00000000 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-add-sbtsi_driver.patch +++ /dev/null @@ -1,285 +0,0 @@ -diff -Naur linux-5.10.2/drivers/hwmon/Kconfig linux-5.10.2-p/drivers/hwmon/Kconfig ---- linux-5.10.2/drivers/hwmon/Kconfig 2020-12-21 13:30:08.000000000 +0100 -+++ linux-5.10.2-p/drivers/hwmon/Kconfig 2020-12-25 13:49:22.911559911 +0100 -@@ -1499,6 +1499,16 @@ - This driver can also be built as a module. If so, the module - will be called sl28cpld-hwmon. - -+config SENSORS_SBTSI -+ tristate "Emulated SB-TSI temperature sensor" -+ depends on I2C -+ help -+ If you say yes here you get support for emulated temperature -+ sensors on AMD SoCs with SB-TSI interface connected to a BMC device. -+ -+ This driver can also be built as a module. If so, the module will -+ be called sbtsi_temp. -+ - config SENSORS_SHT15 - tristate "Sensiron humidity and temperature sensors. SHT15 and compat." - depends on GPIOLIB || COMPILE_TEST -diff -Naur linux-5.10.2/drivers/hwmon/Makefile linux-5.10.2-p/drivers/hwmon/Makefile ---- linux-5.10.2/drivers/hwmon/Makefile 2020-12-21 13:30:08.000000000 +0100 -+++ linux-5.10.2-p/drivers/hwmon/Makefile 2020-12-25 13:49:22.911559911 +0100 -@@ -158,6 +158,7 @@ - obj-$(CONFIG_SENSORS_PWM_FAN) += pwm-fan.o - obj-$(CONFIG_SENSORS_RASPBERRYPI_HWMON) += raspberrypi-hwmon.o - obj-$(CONFIG_SENSORS_S3C) += s3c-hwmon.o -+obj-$(CONFIG_SENSORS_SBTSI) += sbtsi_temp.o - obj-$(CONFIG_SENSORS_SCH56XX_COMMON)+= sch56xx-common.o - obj-$(CONFIG_SENSORS_SCH5627) += sch5627.o - obj-$(CONFIG_SENSORS_SCH5636) += sch5636.o -diff -Naur linux-5.10.2/drivers/hwmon/sbtsi_temp.c linux-5.10.2-p/drivers/hwmon/sbtsi_temp.c ---- linux-5.10.2/drivers/hwmon/sbtsi_temp.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux-5.10.2-p/drivers/hwmon/sbtsi_temp.c 2020-12-25 13:49:22.911559911 +0100 -@@ -0,0 +1,250 @@ -+// SPDX-License-Identifier: GPL-2.0-or-later -+/* -+ * sbtsi_temp.c - hwmon driver for a SBI Temperature Sensor Interface (SB-TSI) -+ * compliant AMD SoC temperature device. -+ * -+ * Copyright (c) 2020, Google Inc. -+ * Copyright (c) 2020, Kun Yi <kunyi@google.com> -+ */ -+ -+#include <linux/err.h> -+#include <linux/i2c.h> -+#include <linux/init.h> -+#include <linux/hwmon.h> -+#include <linux/module.h> -+#include <linux/mutex.h> -+#include <linux/of_device.h> -+#include <linux/of.h> -+ -+/* -+ * SB-TSI registers only support SMBus byte data access. "_INT" registers are -+ * the integer part of a temperature value or limit, and "_DEC" registers are -+ * corresponding decimal parts. -+ */ -+#define SBTSI_REG_TEMP_INT 0x01 /* RO */ -+#define SBTSI_REG_STATUS 0x02 /* RO */ -+#define SBTSI_REG_CONFIG 0x03 /* RO */ -+#define SBTSI_REG_TEMP_HIGH_INT 0x07 /* RW */ -+#define SBTSI_REG_TEMP_LOW_INT 0x08 /* RW */ -+#define SBTSI_REG_TEMP_DEC 0x10 /* RW */ -+#define SBTSI_REG_TEMP_HIGH_DEC 0x13 /* RW */ -+#define SBTSI_REG_TEMP_LOW_DEC 0x14 /* RW */ -+ -+#define SBTSI_CONFIG_READ_ORDER_SHIFT 5 -+ -+#define SBTSI_TEMP_MIN 0 -+#define SBTSI_TEMP_MAX 255875 -+ -+/* Each client has this additional data */ -+struct sbtsi_data { -+ struct i2c_client *client; -+ struct mutex lock; -+}; -+ -+/* -+ * From SB-TSI spec: CPU temperature readings and limit registers encode the -+ * temperature in increments of 0.125 from 0 to 255.875. The "high byte" -+ * register encodes the base-2 of the integer portion, and the upper 3 bits of -+ * the "low byte" encode in base-2 the decimal portion. -+ * -+ * e.g. INT=0x19, DEC=0x20 represents 25.125 degrees Celsius -+ * -+ * Therefore temperature in millidegree Celsius = -+ * (INT + DEC / 256) * 1000 = (INT * 8 + DEC / 32) * 125 -+ */ -+static inline int sbtsi_reg_to_mc(s32 integer, s32 decimal) -+{ -+ return ((integer << 3) + (decimal >> 5)) * 125; -+} -+ -+/* -+ * Inversely, given temperature in millidegree Celsius -+ * INT = (TEMP / 125) / 8 -+ * DEC = ((TEMP / 125) % 8) * 32 -+ * Caller have to make sure temp doesn't exceed 255875, the max valid value. -+ */ -+static inline void sbtsi_mc_to_reg(s32 temp, u8 *integer, u8 *decimal) -+{ -+ temp /= 125; -+ *integer = temp >> 3; -+ *decimal = (temp & 0x7) << 5; -+} -+ -+static int sbtsi_read(struct device *dev, enum hwmon_sensor_types type, -+ u32 attr, int channel, long *val) -+{ -+ struct sbtsi_data *data = dev_get_drvdata(dev); -+ s32 temp_int, temp_dec; -+ int err; -+ -+ switch (attr) { -+ case hwmon_temp_input: -+ /* -+ * ReadOrder bit specifies the reading order of integer and -+ * decimal part of CPU temp for atomic reads. If bit == 0, -+ * reading integer part triggers latching of the decimal part, -+ * so integer part should be read first. If bit == 1, read -+ * order should be reversed. -+ */ -+ err = i2c_smbus_read_byte_data(data->client, SBTSI_REG_CONFIG); -+ if (err < 0) -+ return err; -+ -+ mutex_lock(&data->lock); -+ if (err & BIT(SBTSI_CONFIG_READ_ORDER_SHIFT)) { -+ temp_dec = i2c_smbus_read_byte_data(data->client, SBTSI_REG_TEMP_DEC); -+ temp_int = i2c_smbus_read_byte_data(data->client, SBTSI_REG_TEMP_INT); -+ } else { -+ temp_int = i2c_smbus_read_byte_data(data->client, SBTSI_REG_TEMP_INT); -+ temp_dec = i2c_smbus_read_byte_data(data->client, SBTSI_REG_TEMP_DEC); -+ } -+ mutex_unlock(&data->lock); -+ break; -+ case hwmon_temp_max: -+ mutex_lock(&data->lock); -+ temp_int = i2c_smbus_read_byte_data(data->client, SBTSI_REG_TEMP_HIGH_INT); -+ temp_dec = i2c_smbus_read_byte_data(data->client, SBTSI_REG_TEMP_HIGH_DEC); -+ mutex_unlock(&data->lock); -+ break; -+ case hwmon_temp_min: -+ mutex_lock(&data->lock); -+ temp_int = i2c_smbus_read_byte_data(data->client, SBTSI_REG_TEMP_LOW_INT); -+ temp_dec = i2c_smbus_read_byte_data(data->client, SBTSI_REG_TEMP_LOW_DEC); -+ mutex_unlock(&data->lock); -+ break; -+ default: -+ return -EINVAL; -+ } -+ -+ -+ if (temp_int < 0) -+ return temp_int; -+ if (temp_dec < 0) -+ return temp_dec; -+ -+ *val = sbtsi_reg_to_mc(temp_int, temp_dec); -+ -+ return 0; -+} -+ -+static int sbtsi_write(struct device *dev, enum hwmon_sensor_types type, -+ u32 attr, int channel, long val) -+{ -+ struct sbtsi_data *data = dev_get_drvdata(dev); -+ int reg_int, reg_dec, err; -+ u8 temp_int, temp_dec; -+ -+ switch (attr) { -+ case hwmon_temp_max: -+ reg_int = SBTSI_REG_TEMP_HIGH_INT; -+ reg_dec = SBTSI_REG_TEMP_HIGH_DEC; -+ break; -+ case hwmon_temp_min: -+ reg_int = SBTSI_REG_TEMP_LOW_INT; -+ reg_dec = SBTSI_REG_TEMP_LOW_DEC; -+ break; -+ default: -+ return -EINVAL; -+ } -+ -+ val = clamp_val(val, SBTSI_TEMP_MIN, SBTSI_TEMP_MAX); -+ sbtsi_mc_to_reg(val, &temp_int, &temp_dec); -+ -+ mutex_lock(&data->lock); -+ err = i2c_smbus_write_byte_data(data->client, reg_int, temp_int); -+ if (err) -+ goto exit; -+ -+ err = i2c_smbus_write_byte_data(data->client, reg_dec, temp_dec); -+exit: -+ mutex_unlock(&data->lock); -+ return err; -+} -+ -+static umode_t sbtsi_is_visible(const void *data, -+ enum hwmon_sensor_types type, -+ u32 attr, int channel) -+{ -+ switch (type) { -+ case hwmon_temp: -+ switch (attr) { -+ case hwmon_temp_input: -+ return 0444; -+ case hwmon_temp_min: -+ return 0644; -+ case hwmon_temp_max: -+ return 0644; -+ } -+ break; -+ default: -+ break; -+ } -+ return 0; -+} -+ -+static const struct hwmon_channel_info *sbtsi_info[] = { -+ HWMON_CHANNEL_INFO(chip, HWMON_C_REGISTER_TZ), -+ HWMON_CHANNEL_INFO(temp, HWMON_T_INPUT | HWMON_T_MIN | HWMON_T_MAX), -+ NULL -+}; -+ -+static const struct hwmon_ops sbtsi_hwmon_ops = { -+ .is_visible = sbtsi_is_visible, -+ .read = sbtsi_read, -+ .write = sbtsi_write, -+}; -+ -+static const struct hwmon_chip_info sbtsi_chip_info = { -+ .ops = &sbtsi_hwmon_ops, -+ .info = sbtsi_info, -+}; -+ -+static int sbtsi_probe(struct i2c_client *client, -+ const struct i2c_device_id *id) -+{ -+ struct device *dev = &client->dev; -+ struct device *hwmon_dev; -+ struct sbtsi_data *data; -+ -+ data = devm_kzalloc(dev, sizeof(struct sbtsi_data), GFP_KERNEL); -+ if (!data) -+ return -ENOMEM; -+ -+ data->client = client; -+ mutex_init(&data->lock); -+ -+ hwmon_dev = devm_hwmon_device_register_with_info(dev, client->name, data, &sbtsi_chip_info, -+ NULL); -+ -+ return PTR_ERR_OR_ZERO(hwmon_dev); -+} -+ -+static const struct i2c_device_id sbtsi_id[] = { -+ {"sbtsi", 0}, -+ {} -+}; -+MODULE_DEVICE_TABLE(i2c, sbtsi_id); -+ -+static const struct of_device_id __maybe_unused sbtsi_of_match[] = { -+ { -+ .compatible = "amd,sbtsi", -+ }, -+ { }, -+}; -+MODULE_DEVICE_TABLE(of, sbtsi_of_match); -+ -+static struct i2c_driver sbtsi_driver = { -+ .class = I2C_CLASS_HWMON, -+ .driver = { -+ .name = "sbtsi", -+ .of_match_table = of_match_ptr(sbtsi_of_match), -+ }, -+ .probe = sbtsi_probe, -+ .id_table = sbtsi_id, -+}; -+ -+module_i2c_driver(sbtsi_driver); -+ -+MODULE_AUTHOR("Kun Yi <kunyi@google.com>"); -+MODULE_DESCRIPTION("Hwmon driver for AMD SB-TSI emulated sensor"); -+MODULE_LICENSE("GPL"); diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-compress-modules-zstd-support.patch b/sys-kernel/linux-sources-redcore-lts/files/5.10-compress-modules-zstd-support.patch deleted file mode 100644 index 591a4e8c..00000000 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-compress-modules-zstd-support.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -Naur linux-5.5.11/init/Kconfig linux-5.5.11-p/init/Kconfig ---- linux-5.5.11/init/Kconfig 2020-03-21 08:15:56.000000000 +0100 -+++ linux-5.5.11-p/init/Kconfig 2020-03-23 17:29:43.424355692 +0100 -@@ -2103,10 +2103,10 @@ - bool "Compress modules on installation" - help - -- Compresses kernel modules when 'make modules_install' is run; gzip or -- xz depending on "Compression algorithm" below. -+ Compresses kernel modules when 'make modules_install' is run; gzip, -+ xz or zstd depending on "Compression algorithm" below. - -- module-init-tools MAY support gzip, and kmod MAY support gzip and xz. -+ module-init-tools MAY support gzip, and kmod MAY support gzip, xz and zstd. - - Out-of-tree kernel modules installed using Kbuild will also be - compressed upon installation. -@@ -2126,7 +2126,7 @@ - This determines which sort of compression will be used during - 'make modules_install'. - -- GZIP (default) and XZ are supported. -+ GZIP (default), XZ and ZSTD are supported. - - config MODULE_COMPRESS_GZIP - bool "GZIP" -@@ -2134,6 +2134,9 @@ - config MODULE_COMPRESS_XZ - bool "XZ" - -+config MODULE_COMPRESS_ZSTD -+ bool "ZSTD" -+ - endchoice - - config MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS -diff -Naur linux-5.5.11/Makefile linux-5.5.11-p/Makefile ---- linux-5.5.11/Makefile 2020-03-23 17:32:31.848367600 +0100 -+++ linux-5.5.11-p/Makefile 2020-03-23 17:31:57.173159400 +0100 -@@ -983,6 +983,9 @@ - ifdef CONFIG_MODULE_COMPRESS_XZ - mod_compress_cmd = xz -T0 -f - endif # CONFIG_MODULE_COMPRESS_XZ -+ ifdef CONFIG_MODULE_COMPRESS_ZSTD -+ mod_compress_cmd = zstd -T0 -19 -q --rm -f -+ endif # CONFIG_MODULE_COMPRESS_ZSTD - endif # CONFIG_MODULE_COMPRESS - export mod_compress_cmd - diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-enable-new-amd-energy-driver-for-all-ryzen.patch b/sys-kernel/linux-sources-redcore-lts/files/5.10-enable-new-amd-energy-driver-for-all-ryzen.patch deleted file mode 100644 index 3d7a4948..00000000 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-enable-new-amd-energy-driver-for-all-ryzen.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -Naur linux-5.10.2/drivers/hwmon/amd_energy.c linux-5.10.2-p/drivers/hwmon/amd_energy.c ---- linux-5.10.2/drivers/hwmon/amd_energy.c 2020-12-21 13:30:08.000000000 +0100 -+++ linux-5.10.2-p/drivers/hwmon/amd_energy.c 2020-12-25 16:41:30.326691167 +0100 -@@ -330,7 +330,8 @@ - static struct platform_device *amd_energy_platdev; - - static const struct x86_cpu_id cpu_ids[] __initconst = { -- X86_MATCH_VENDOR_FAM_MODEL(AMD, 0x17, 0x31, NULL), -+ X86_MATCH_VENDOR_FAM(AMD, 0x17, NULL), -+ X86_MATCH_VENDOR_FAM(AMD, 0x19, NULL), - {} - }; - MODULE_DEVICE_TABLE(x86cpu, cpu_ids); diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-k10temp-fix-ZEN2-desktop-add-ZEN3-desktop.patch b/sys-kernel/linux-sources-redcore-lts/files/5.10-k10temp-fix-ZEN2-desktop-add-ZEN3-desktop.patch deleted file mode 100644 index ed381bfa..00000000 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-k10temp-fix-ZEN2-desktop-add-ZEN3-desktop.patch +++ /dev/null @@ -1,94 +0,0 @@ -diff -Naur linux-5.10.2/drivers/hwmon/k10temp.c linux-5.10.2-p/drivers/hwmon/k10temp.c ---- linux-5.10.2/drivers/hwmon/k10temp.c 2020-12-21 13:30:08.000000000 +0100 -+++ linux-5.10.2-p/drivers/hwmon/k10temp.c 2020-12-22 18:15:23.686670195 +0100 -@@ -87,17 +87,28 @@ - /* F17h thermal registers through SMN */ - #define F17H_M01H_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0xc) - #define F17H_M01H_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0x10) -+/* ZEN2 SP3/TR */ - #define F17H_M31H_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0x14) - #define F17H_M31H_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0x10) - -+/* ZEN2 Ryzen Desktop */ -+#define F17H_M71H_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0x10) -+#define F17H_M71H_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0xc) -+ -+/* fixme: figure these */ - #define F17H_M01H_CFACTOR_ICORE 1000000 /* 1A / LSB */ - #define F17H_M01H_CFACTOR_ISOC 250000 /* 0.25A / LSB */ - #define F17H_M31H_CFACTOR_ICORE 1000000 /* 1A / LSB */ - #define F17H_M31H_CFACTOR_ISOC 310000 /* 0.31A / LSB */ - - /* F19h thermal registers through SMN */ --#define F19H_M01_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0x14) --#define F19H_M01_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0x10) -+/* ZEN3 SP3/TR */ -+#define F19H_M01H_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0x14) -+#define F19H_M01H_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0x10) -+ -+/* ZEN3 Ryzen Desktop */ -+#define F19H_M21H_SVI_TEL_PLANE0 (ZEN_SVI_BASE + 0x10) -+#define F19H_M21H_SVI_TEL_PLANE1 (ZEN_SVI_BASE + 0xc) - - #define F19H_M01H_CFACTOR_ICORE 1000000 /* 1A / LSB */ - #define F19H_M01H_CFACTOR_ISOC 310000 /* 0.31A / LSB */ -@@ -513,6 +524,7 @@ - data->is_zen = true; - - switch (boot_cpu_data.x86_model) { -+ /* FIXME: those looks wrong too */ - case 0x1: /* Zen */ - case 0x8: /* Zen+ */ - case 0x11: /* Zen APU */ -@@ -524,8 +536,7 @@ - data->cfactor[1] = F17H_M01H_CFACTOR_ISOC; - k10temp_get_ccd_support(pdev, data, 4); - break; -- case 0x31: /* Zen2 Threadripper */ -- case 0x71: /* Zen2 */ -+ case 0x31: /* Zen2 SP3/TR */ - data->show_current = !is_threadripper() && !is_epyc(); - data->cfactor[0] = F17H_M31H_CFACTOR_ICORE; - data->cfactor[1] = F17H_M31H_CFACTOR_ISOC; -@@ -533,6 +544,14 @@ - data->svi_addr[1] = F17H_M31H_SVI_TEL_PLANE1; - k10temp_get_ccd_support(pdev, data, 8); - break; -+ case 0x71: /* ZEN2 Ryzen Desktop */ -+ data->show_current = true; -+ data->cfactor[0] = F17H_M31H_CFACTOR_ICORE; -+ data->cfactor[1] = F17H_M31H_CFACTOR_ISOC; -+ data->svi_addr[0] = F17H_M71H_SVI_TEL_PLANE0; -+ data->svi_addr[1] = F17H_M71H_SVI_TEL_PLANE1; -+ k10temp_get_ccd_support(pdev, data, 4); -+ break; - } - } else if (boot_cpu_data.x86 == 0x19) { - data->temp_adjust_mask = ZEN_CUR_TEMP_RANGE_SEL_MASK; -@@ -541,14 +560,23 @@ - data->is_zen = true; - - switch (boot_cpu_data.x86_model) { -- case 0x0 ... 0x1: /* Zen3 */ -+ case 0x0 ... 0x1: /* Zen3 SP3/TR */ - data->show_current = true; -- data->svi_addr[0] = F19H_M01_SVI_TEL_PLANE0; -- data->svi_addr[1] = F19H_M01_SVI_TEL_PLANE1; -+ data->svi_addr[0] = F19H_M01H_SVI_TEL_PLANE0; -+ data->svi_addr[1] = F19H_M01H_SVI_TEL_PLANE1; - data->cfactor[0] = F19H_M01H_CFACTOR_ICORE; - data->cfactor[1] = F19H_M01H_CFACTOR_ISOC; - k10temp_get_ccd_support(pdev, data, 8); - break; -+ case 0x21: /* ZEN3 Ryzen Desktop */ -+ data->show_current = true; -+ data->svi_addr[0] = F19H_M21H_SVI_TEL_PLANE0; -+ data->svi_addr[1] = F19H_M21H_SVI_TEL_PLANE1; -+ data->cfactor[0] = F19H_M01H_CFACTOR_ICORE; -+ data->cfactor[1] = F19H_M01H_CFACTOR_ISOC; -+ k10temp_get_ccd_support(pdev, data, 2); -+ break; -+ - } - } else { - data->read_htcreg = read_htcreg_pci; diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch index e8ef9b4f..e8ef9b4f 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch index 31a1d918..ddfbd03b 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -1,7 +1,7 @@ -From f615330c6169a5fe5750706f1db7cbdd520f9534 Mon Sep 17 00:00:00 2001 +From 0948f6ce6d898c598f8fe88240954e578fdc8387 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> Date: Mon, 16 Sep 2019 04:53:20 +0200 -Subject: [PATCH 1/2] ZEN: Add sysctl and CONFIG to disallow unprivileged +Subject: [PATCH] ZEN: Add sysctl and CONFIG to disallow unprivileged CLONE_NEWUSER Our default behavior continues to match the vanilla kernel. @@ -14,10 +14,10 @@ Our default behavior continues to match the vanilla kernel. 5 files changed, 53 insertions(+) diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h -index 6ef1c7109fc4..2140091b0b8d 100644 +index 33a4240e6a6f1..82213f9c4c17f 100644 --- a/include/linux/user_namespace.h +++ b/include/linux/user_namespace.h -@@ -106,6 +106,8 @@ void dec_ucount(struct ucounts *ucounts, enum ucount_type type); +@@ -139,6 +139,8 @@ static inline void set_rlimit_ucount_max(struct user_namespace *ns, #ifdef CONFIG_USER_NS @@ -26,7 +26,7 @@ index 6ef1c7109fc4..2140091b0b8d 100644 static inline struct user_namespace *get_user_ns(struct user_namespace *ns) { if (ns) -@@ -139,6 +141,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns); +@@ -172,6 +174,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns); struct ns_common *ns_get_owner(struct ns_common *ns); #else @@ -36,10 +36,10 @@ index 6ef1c7109fc4..2140091b0b8d 100644 { return &init_user_ns; diff --git a/init/Kconfig b/init/Kconfig -index 0872a5a2e759..a40d8afeb1bb 100644 +index 11f8a845f259d..02b7a0e455a5d 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1173,6 +1173,22 @@ config USER_NS +@@ -1226,6 +1226,22 @@ config USER_NS If unsure, say N. @@ -63,12 +63,12 @@ index 0872a5a2e759..a40d8afeb1bb 100644 bool "PID Namespaces" default y diff --git a/kernel/fork.c b/kernel/fork.c -index c675fdbd3dce..9266039e28e4 100644 +index 10885c649ca42..e0fe98e1afbdb 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -97,6 +97,10 @@ - #include <linux/scs.h> +@@ -98,6 +98,10 @@ #include <linux/io_uring.h> + #include <linux/bpf.h> +#ifdef CONFIG_USER_NS +#include <linux/user_namespace.h> @@ -77,7 +77,7 @@ index c675fdbd3dce..9266039e28e4 100644 #include <asm/pgalloc.h> #include <linux/uaccess.h> #include <asm/mmu_context.h> -@@ -1863,6 +1867,10 @@ static __latent_entropy struct task_struct *copy_process( +@@ -1950,6 +1954,10 @@ static __latent_entropy struct task_struct *copy_process( if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) return ERR_PTR(-EINVAL); @@ -88,7 +88,7 @@ index c675fdbd3dce..9266039e28e4 100644 /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. -@@ -2928,6 +2936,12 @@ int ksys_unshare(unsigned long unshare_flags) +@@ -3056,6 +3064,12 @@ int ksys_unshare(unsigned long unshare_flags) if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; @@ -102,10 +102,10 @@ index c675fdbd3dce..9266039e28e4 100644 if (err) goto bad_unshare_out; diff --git a/kernel/sysctl.c b/kernel/sysctl.c -index afad085960b8..a94828fb31c2 100644 +index 083be6af29d70..42aa3c7835b96 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c -@@ -103,6 +103,9 @@ +@@ -105,6 +105,9 @@ #ifdef CONFIG_LOCKUP_DETECTOR #include <linux/nmi.h> #endif @@ -115,7 +115,7 @@ index afad085960b8..a94828fb31c2 100644 #if defined(CONFIG_SYSCTL) -@@ -1902,6 +1905,15 @@ static struct ctl_table kern_table[] = { +@@ -1949,6 +1952,15 @@ static struct ctl_table kern_table[] = { .proc_handler = proc_dointvec, }, #endif @@ -132,7 +132,7 @@ index afad085960b8..a94828fb31c2 100644 { .procname = "tainted", diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c -index e703d5d9cbe8..5758274feaee 100644 +index 6b2e3ca7ee993..0253002184f1d 100644 --- a/kernel/user_namespace.c +++ b/kernel/user_namespace.c @@ -21,6 +21,13 @@ @@ -149,6 +149,3 @@ index e703d5d9cbe8..5758274feaee 100644 static struct kmem_cache *user_ns_cachep __read_mostly; static DEFINE_MUTEX(userns_state_mutex); --- -2.31.1 - diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.15-0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch new file mode 100644 index 00000000..fa304d64 --- /dev/null +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch @@ -0,0 +1,21 @@ +From 0bb6e4f104167b1e283269b46f3bbd30b2d979a7 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org> +Date: Thu, 18 Nov 2021 22:53:31 +0100 +Subject: [PATCH] PCI: Add more NVIDIA controllers to the MSI masking quirk + +For: https://bugs.archlinux.org/task/72734 +For: https://bugs.archlinux.org/task/72777 +--- + drivers/pci/quirks.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c +index 208fa03acdda0..7fdb7e9c2e12c 100644 +--- a/drivers/pci/quirks.c ++++ b/drivers/pci/quirks.c +@@ -5802,3 +5802,5 @@ static void nvidia_ion_ahci_fixup(struct pci_dev *pdev) + pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING; + } + DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup); ++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab9, nvidia_ion_ahci_fixup); ++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0d88, nvidia_ion_ahci_fixup); diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.15-0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch new file mode 100644 index 00000000..13aa5a09 --- /dev/null +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch @@ -0,0 +1,85 @@ +From 32803dc7c2ffc29db15a46034d818f6e6c5775ef Mon Sep 17 00:00:00 2001 +From: Ajay Garg <ajaygargnsit@gmail.com> +Date: Tue, 12 Oct 2021 19:26:53 +0530 +Subject: [PATCH] iommu: intel: do deep dma-unmapping, to avoid + kernel-flooding. + +Origins at : +https://lists.linuxfoundation.org/pipermail/iommu/2021-October/thread.html + +=== Changes from v1 => v2 === + +a) +Improved patch-description. + +b) +A more root-level fix, as suggested by + + 1. + Alex Williamson <alex.williamson@redhat.com> + + 2. + Lu Baolu <baolu.lu@linux.intel.com> + +=== Issue === + +Kernel-flooding is seen, when an x86_64 L1 guest (Ubuntu-21) is booted in qemu/kvm +on a x86_64 host (Ubuntu-21), with a host-pci-device attached. + +Following kind of logs, along with the stacktraces, cause the flood : + +...... + DMAR: ERROR: DMA PTE for vPFN 0x428ec already set (to 3f6ec003 not 3f6ec003) + DMAR: ERROR: DMA PTE for vPFN 0x428ed already set (to 3f6ed003 not 3f6ed003) + DMAR: ERROR: DMA PTE for vPFN 0x428ee already set (to 3f6ee003 not 3f6ee003) + DMAR: ERROR: DMA PTE for vPFN 0x428ef already set (to 3f6ef003 not 3f6ef003) + DMAR: ERROR: DMA PTE for vPFN 0x428f0 already set (to 3f6f0003 not 3f6f0003) +...... + +=== Current Behaviour, leading to the issue === + +Currently, when we do a dma-unmapping, we unmap/unlink the mappings, but +the pte-entries are not cleared. + +Thus, following sequencing would flood the kernel-logs : + +i) +A dma-unmapping makes the real/leaf-level pte-slot invalid, but the +pte-content itself is not cleared. + +ii) +Now, during some later dma-mapping procedure, as the pte-slot is about +to hold a new pte-value, the intel-iommu checks if a prior +pte-entry exists in the pte-slot. If it exists, it logs a kernel-error, +along with a corresponding stacktrace. + +iii) +Step ii) runs in abundance, and the kernel-logs run insane. + +=== Fix === + +We ensure that as part of a dma-unmapping, each (unmapped) pte-slot +is also cleared of its value/content (at the leaf-level, where the +real mapping from a iova => pfn mapping is stored). + +This completes a "deep" dma-unmapping. + +Signed-off-by: Ajay Garg <ajaygargnsit@gmail.com> +Link: https://lore.kernel.org/linux-iommu/20211012135653.3852-1-ajaygargnsit@gmail.com/ +--- + drivers/iommu/intel/iommu.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c +index 78f8c8e6803e9..d8da48a91ba3b 100644 +--- a/drivers/iommu/intel/iommu.c ++++ b/drivers/iommu/intel/iommu.c +@@ -5092,6 +5092,8 @@ static size_t intel_iommu_unmap(struct iommu_domain *domain, + gather->freelist = domain_unmap(dmar_domain, start_pfn, + last_pfn, gather->freelist); + ++ dma_pte_clear_range(dmar_domain, start_pfn, last_pfn); ++ + if (dmar_domain->max_addr == iova + size) + dmar_domain->max_addr = iova; + diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.15-0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch new file mode 100644 index 00000000..4c0a62d2 --- /dev/null +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch @@ -0,0 +1,51 @@ +From aa7300919d0656a001fe0d526508b8c5958e7630 Mon Sep 17 00:00:00 2001 +From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> +Date: Thu, 18 Nov 2021 21:18:01 -0800 +Subject: [PATCH] cpufreq: intel_pstate: ITMT support for overclocked system + +On systems with overclocking enabled, CPPC Highest Performance can be +hard coded to 0xff. In this case even if we have cores with different +highest performance, ITMT can't be enabled as the current implementation +depends on CPPC Highest Performance. + +On such systems we can use MSR_HWP_CAPABILITIES maximum performance field +when CPPC.Highest Performance is 0xff. + +Due to legacy reasons, we can't solely depend on MSR_HWP_CAPABILITIES as +in some older systems CPPC Highest Performance is the only way to identify +different performing cores. + +Reported-by: Michael Larabel <Michael@MichaelLarabel.com> +Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> +--- + drivers/cpufreq/intel_pstate.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c +index e15c3bc17a55c..8a2c6b58b6524 100644 +--- a/drivers/cpufreq/intel_pstate.c ++++ b/drivers/cpufreq/intel_pstate.c +@@ -335,6 +335,8 @@ static void intel_pstste_sched_itmt_work_fn(struct work_struct *work) + + static DECLARE_WORK(sched_itmt_work, intel_pstste_sched_itmt_work_fn); + ++#define CPPC_MAX_PERF U8_MAX ++ + static void intel_pstate_set_itmt_prio(int cpu) + { + struct cppc_perf_caps cppc_perf; +@@ -345,6 +347,14 @@ static void intel_pstate_set_itmt_prio(int cpu) + if (ret) + return; + ++ /* ++ * On some systems with overclocking enabled, CPPC.highest_perf is hardcoded to 0xff. ++ * In this case we can't use CPPC.highest_perf to enable ITMT. ++ * In this case we can look at MSR_HWP_CAPABILITIES bits [8:0] to decide. ++ */ ++ if (cppc_perf.highest_perf == CPPC_MAX_PERF) ++ cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached)); ++ + /* + * The priorities can be set regardless of whether or not + * sched_set_itmt_support(true) has been called and it is valid to diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.15-0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch new file mode 100644 index 00000000..3697425a --- /dev/null +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch @@ -0,0 +1,57 @@ +From a6d4fb4f5e7fe795d9e3b28b261a0f86f1026d03 Mon Sep 17 00:00:00 2001 +From: Kiran K <kiran.k@intel.com> +Date: Wed, 13 Oct 2021 13:35:11 +0530 +Subject: [PATCH] Bluetooth: btintel: Fix bdaddress comparison with garbage + value + +Intel Read Verision(TLV) data is parsed into a local structure variable +and it contains a field for bd address. Bd address is returned only in +bootloader mode and hence bd address in TLV structure needs to be validated +only if controller is present in boot loader mode. + +Signed-off-by: Kiran K <kiran.k@intel.com> +Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com> +--- + drivers/bluetooth/btintel.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c +index f1705b46fc889..b9055a3e61ed7 100644 +--- a/drivers/bluetooth/btintel.c ++++ b/drivers/bluetooth/btintel.c +@@ -2006,14 +2006,16 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev, + if (ver->img_type == 0x03) { + btintel_clear_flag(hdev, INTEL_BOOTLOADER); + btintel_check_bdaddr(hdev); +- } +- +- /* If the OTP has no valid Bluetooth device address, then there will +- * also be no valid address for the operational firmware. +- */ +- if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) { +- bt_dev_info(hdev, "No device address configured"); +- set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); ++ } else { ++ /* ++ * Check for valid bd address in boot loader mode. Device ++ * will be marked as unconfigured if empty bd address is ++ * found. ++ */ ++ if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) { ++ bt_dev_info(hdev, "No device address configured"); ++ set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); ++ } + } + + btintel_get_fw_name_tlv(ver, fwname, sizeof(fwname), "sfi"); +@@ -2303,6 +2305,10 @@ static int btintel_setup_combined(struct hci_dev *hdev) + goto exit_error; + } + ++ /* memset ver_tlv to start with clean state as few fields are exclusive ++ * to bootloader mode and are not populated in operational mode ++ */ ++ memset(&ver_tlv, 0, sizeof(ver_tlv)); + /* For TLV type device, parse the tlv data */ + err = btintel_parse_version_tlv(hdev, &ver_tlv, skb); + if (err) { diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.15-0006-lg-laptop_Recognize_more_models.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-0006-lg-laptop_Recognize_more_models.patch new file mode 100644 index 00000000..90310855 --- /dev/null +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-0006-lg-laptop_Recognize_more_models.patch @@ -0,0 +1,36 @@ +From 72edf8c167268bb68d701f46006ccfdfa5490db8 Mon Sep 17 00:00:00 2001 +From: Matan Ziv-Av <matan@svgalib.org> +Date: Tue, 23 Nov 2021 22:14:55 +0200 +Subject: [PATCH] lg-laptop: Recognize more models + +LG uses 5 instead of 0 in the third digit (second digit after 2019) of the year string to indicate newer models in the same year. Handle this case as well. + +Signed-off-by: Matan Ziv-Av <matan@svgalib.org> +For: https://bugs.archlinux.org/task/71772 +--- + drivers/platform/x86/lg-laptop.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/drivers/platform/x86/lg-laptop.c b/drivers/platform/x86/lg-laptop.c +index 88b551caeaaf4..d6f74d3a7605e 100644 +--- a/drivers/platform/x86/lg-laptop.c ++++ b/drivers/platform/x86/lg-laptop.c +@@ -658,6 +658,18 @@ static int acpi_add(struct acpi_device *device) + if (product && strlen(product) > 4) + switch (product[4]) { + case '5': ++ if (strlen(product) > 5) ++ switch (product[5]) { ++ case 'N': ++ year = 2021; ++ break; ++ case '0': ++ year = 2016; ++ break; ++ default: ++ year = 2022; ++ } ++ break; + case '6': + year = 2016; + break; diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-acpi-use-kern_warning_even_when_error.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-acpi-use-kern_warning_even_when_error.patch index 64c773ab..64c773ab 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-acpi-use-kern_warning_even_when_error.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-acpi-use-kern_warning_even_when_error.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.15-alx-wol.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-alx-wol.patch new file mode 100644 index 00000000..24926449 --- /dev/null +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-alx-wol.patch @@ -0,0 +1,481 @@ +--- a/drivers/net/ethernet/atheros/alx/ethtool.c ++++ b/drivers/net/ethernet/atheros/alx/ethtool.c +@@ -321,11 +321,47 @@ + } + } + ++static void alx_get_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) ++{ ++ struct alx_priv *alx = netdev_priv(netdev); ++ struct alx_hw *hw = &alx->hw; ++ ++ wol->supported = WAKE_MAGIC | WAKE_PHY; ++ wol->wolopts = 0; ++ ++ if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) ++ wol->wolopts |= WAKE_MAGIC; ++ if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) ++ wol->wolopts |= WAKE_PHY; ++} ++ ++static int alx_set_wol(struct net_device *netdev, struct ethtool_wolinfo *wol) ++{ ++ struct alx_priv *alx = netdev_priv(netdev); ++ struct alx_hw *hw = &alx->hw; ++ ++ if (wol->wolopts & ~(WAKE_MAGIC | WAKE_PHY)) ++ return -EOPNOTSUPP; ++ ++ hw->sleep_ctrl = 0; ++ ++ if (wol->wolopts & WAKE_MAGIC) ++ hw->sleep_ctrl |= ALX_SLEEP_WOL_MAGIC; ++ if (wol->wolopts & WAKE_PHY) ++ hw->sleep_ctrl |= ALX_SLEEP_WOL_PHY; ++ ++ device_set_wakeup_enable(&alx->hw.pdev->dev, hw->sleep_ctrl); ++ ++ return 0; ++} ++ + const struct ethtool_ops alx_ethtool_ops = { + .get_pauseparam = alx_get_pauseparam, + .set_pauseparam = alx_set_pauseparam, + .get_msglevel = alx_get_msglevel, + .set_msglevel = alx_set_msglevel, ++ .get_wol = alx_get_wol, ++ .set_wol = alx_set_wol, + .get_link = ethtool_op_get_link, + .get_strings = alx_get_strings, + .get_sset_count = alx_get_sset_count, +--- a/drivers/net/ethernet/atheros/alx/hw.c ++++ b/drivers/net/ethernet/atheros/alx/hw.c +@@ -332,6 +332,16 @@ + alx_write_mem32(hw, ALX_STAD1, val); + } + ++static void alx_enable_osc(struct alx_hw *hw) ++{ ++ u32 val; ++ ++ /* rising edge */ ++ val = alx_read_mem32(hw, ALX_MISC); ++ alx_write_mem32(hw, ALX_MISC, val & ~ALX_MISC_INTNLOSC_OPEN); ++ alx_write_mem32(hw, ALX_MISC, val | ALX_MISC_INTNLOSC_OPEN); ++} ++ + static void alx_reset_osc(struct alx_hw *hw, u8 rev) + { + u32 val, val2; +@@ -848,6 +858,66 @@ + } + } + ++ ++/* NOTE: ++ * 1. phy link must be established before calling this function ++ * 2. wol option (pattern,magic,link,etc.) is configed before call it. ++ */ ++int alx_pre_suspend(struct alx_hw *hw, int speed, u8 duplex) ++{ ++ u32 master, mac, phy, val; ++ int err = 0; ++ ++ master = alx_read_mem32(hw, ALX_MASTER); ++ master &= ~ALX_MASTER_PCLKSEL_SRDS; ++ mac = hw->rx_ctrl; ++ /* 10/100 half */ ++ ALX_SET_FIELD(mac, ALX_MAC_CTRL_SPEED, ALX_MAC_CTRL_SPEED_10_100); ++ mac &= ~(ALX_MAC_CTRL_FULLD | ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_TX_EN); ++ ++ phy = alx_read_mem32(hw, ALX_PHY_CTRL); ++ phy &= ~(ALX_PHY_CTRL_DSPRST_OUT | ALX_PHY_CTRL_CLS); ++ phy |= ALX_PHY_CTRL_RST_ANALOG | ALX_PHY_CTRL_HIB_PULSE | ++ ALX_PHY_CTRL_HIB_EN; ++ ++ /* without any activity */ ++ if (!(hw->sleep_ctrl & ALX_SLEEP_ACTIVE)) { ++ err = alx_write_phy_reg(hw, ALX_MII_IER, 0); ++ if (err) ++ return err; ++ phy |= ALX_PHY_CTRL_IDDQ | ALX_PHY_CTRL_POWER_DOWN; ++ } else { ++ if (hw->sleep_ctrl & (ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_CIFS)) ++ mac |= ALX_MAC_CTRL_RX_EN | ALX_MAC_CTRL_BRD_EN; ++ if (hw->sleep_ctrl & ALX_SLEEP_CIFS) ++ mac |= ALX_MAC_CTRL_TX_EN; ++ if (duplex == DUPLEX_FULL) ++ mac |= ALX_MAC_CTRL_FULLD; ++ if (speed == SPEED_1000) ++ ALX_SET_FIELD(mac, ALX_MAC_CTRL_SPEED, ++ ALX_MAC_CTRL_SPEED_1000); ++ phy |= ALX_PHY_CTRL_DSPRST_OUT; ++ err = alx_write_phy_ext(hw, ALX_MIIEXT_ANEG, ++ ALX_MIIEXT_S3DIG10, ++ ALX_MIIEXT_S3DIG10_SL); ++ if (err) ++ return err; ++ } ++ ++ alx_enable_osc(hw); ++ hw->rx_ctrl = mac; ++ alx_write_mem32(hw, ALX_MASTER, master); ++ alx_write_mem32(hw, ALX_MAC_CTRL, mac); ++ alx_write_mem32(hw, ALX_PHY_CTRL, phy); ++ ++ /* set val of PDLL D3PLLOFF */ ++ val = alx_read_mem32(hw, ALX_PDLL_TRNS1); ++ val |= ALX_PDLL_TRNS1_D3PLLOFF_EN; ++ alx_write_mem32(hw, ALX_PDLL_TRNS1, val); ++ ++ return 0; ++} ++ + bool alx_phy_configured(struct alx_hw *hw) + { + u32 cfg, hw_cfg; +@@ -920,6 +990,26 @@ + return alx_read_phy_reg(hw, ALX_MII_ISR, &isr); + } + ++int alx_config_wol(struct alx_hw *hw) ++{ ++ u32 wol = 0; ++ int err = 0; ++ ++ /* turn on magic packet event */ ++ if (hw->sleep_ctrl & ALX_SLEEP_WOL_MAGIC) ++ wol |= ALX_WOL0_MAGIC_EN | ALX_WOL0_PME_MAGIC_EN; ++ ++ /* turn on link up event */ ++ if (hw->sleep_ctrl & ALX_SLEEP_WOL_PHY) { ++ wol |= ALX_WOL0_LINK_EN | ALX_WOL0_PME_LINK; ++ /* only link up can wake up */ ++ err = alx_write_phy_reg(hw, ALX_MII_IER, ALX_IER_LINK_UP); ++ } ++ alx_write_mem32(hw, ALX_WOL0, wol); ++ ++ return err; ++} ++ + void alx_disable_rss(struct alx_hw *hw) + { + u32 ctrl = alx_read_mem32(hw, ALX_RXQ0); +@@ -1045,6 +1135,71 @@ + } + + ++int alx_select_powersaving_speed(struct alx_hw *hw, int *speed, u8 *duplex) ++{ ++ int i, err; ++ u16 lpa; ++ ++ err = alx_read_phy_link(hw); ++ if (err) ++ return err; ++ ++ if (hw->link_speed == SPEED_UNKNOWN) { ++ *speed = SPEED_UNKNOWN; ++ *duplex = DUPLEX_UNKNOWN; ++ return 0; ++ } ++ ++ err = alx_read_phy_reg(hw, MII_LPA, &lpa); ++ if (err) ++ return err; ++ ++ if (!(lpa & LPA_LPACK)) { ++ *speed = hw->link_speed; ++ return 0; ++ } ++ ++ if (lpa & LPA_10FULL) { ++ *speed = SPEED_10; ++ *duplex = DUPLEX_FULL; ++ } else if (lpa & LPA_10HALF) { ++ *speed = SPEED_10; ++ *duplex = DUPLEX_HALF; ++ } else if (lpa & LPA_100FULL) { ++ *speed = SPEED_100; ++ *duplex = DUPLEX_FULL; ++ } else { ++ *speed = SPEED_100; ++ *duplex = DUPLEX_HALF; ++ } ++ ++ if (*speed == hw->link_speed && *duplex == hw->duplex) ++ return 0; ++ err = alx_write_phy_reg(hw, ALX_MII_IER, 0); ++ if (err) ++ return err; ++ err = alx_setup_speed_duplex(hw, alx_speed_to_ethadv(*speed, *duplex) | ++ ADVERTISED_Autoneg, ALX_FC_ANEG | ++ ALX_FC_RX | ALX_FC_TX); ++ if (err) ++ return err; ++ ++ /* wait for linkup */ ++ for (i = 0; i < ALX_MAX_SETUP_LNK_CYCLE; i++) { ++ msleep(100); ++ ++ err = alx_read_phy_link(hw); ++ if (err < 0) ++ return err; ++ if (hw->link_speed != SPEED_UNKNOWN) ++ break; ++ } ++ if (i == ALX_MAX_SETUP_LNK_CYCLE) ++ return -ETIMEDOUT; ++ ++ return 0; ++} ++ + bool alx_get_phy_info(struct alx_hw *hw) + { + u16 devs1, devs2; +--- a/drivers/net/ethernet/atheros/alx/hw.h ++++ b/drivers/net/ethernet/atheros/alx/hw.h +@@ -487,6 +487,8 @@ + u8 flowctrl; + u32 adv_cfg; + ++ u32 sleep_ctrl; ++ + spinlock_t mdio_lock; + struct mdio_if_info mdio; + u16 phy_id[2]; +@@ -549,12 +551,14 @@ + void alx_enable_aspm(struct alx_hw *hw, bool l0s_en, bool l1_en); + int alx_setup_speed_duplex(struct alx_hw *hw, u32 ethadv, u8 flowctrl); + void alx_post_phy_link(struct alx_hw *hw); ++int alx_pre_suspend(struct alx_hw *hw, int speed, u8 duplex); + int alx_read_phy_reg(struct alx_hw *hw, u16 reg, u16 *phy_data); + int alx_write_phy_reg(struct alx_hw *hw, u16 reg, u16 phy_data); + int alx_read_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 *pdata); + int alx_write_phy_ext(struct alx_hw *hw, u8 dev, u16 reg, u16 data); + int alx_read_phy_link(struct alx_hw *hw); + int alx_clear_phy_intr(struct alx_hw *hw); ++int alx_config_wol(struct alx_hw *hw); + void alx_cfg_mac_flowcontrol(struct alx_hw *hw, u8 fc); + void alx_start_mac(struct alx_hw *hw); + int alx_reset_mac(struct alx_hw *hw); +@@ -563,6 +567,7 @@ + void alx_configure_basic(struct alx_hw *hw); + void alx_mask_msix(struct alx_hw *hw, int index, bool mask); + void alx_disable_rss(struct alx_hw *hw); ++int alx_select_powersaving_speed(struct alx_hw *hw, int *speed, u8 *duplex); + bool alx_get_phy_info(struct alx_hw *hw); + void alx_update_hw_stats(struct alx_hw *hw); + +--- a/drivers/net/ethernet/atheros/alx/main.c ++++ b/drivers/net/ethernet/atheros/alx/main.c +@@ -1069,6 +1069,7 @@ + alx->dev->max_mtu = ALX_MAX_FRAME_LEN(ALX_MAX_FRAME_SIZE); + alx->tx_ringsz = 256; + alx->rx_ringsz = 512; ++ hw->sleep_ctrl = ALX_SLEEP_WOL_MAGIC | ALX_SLEEP_WOL_PHY; + hw->imt = 200; + alx->int_mask = ALX_ISR_MISC; + hw->dma_chnl = hw->max_dma_chnl; +@@ -1368,6 +1369,66 @@ + return 0; + } + ++static int __alx_shutdown(struct pci_dev *pdev, bool *wol_en) ++{ ++ struct alx_priv *alx = pci_get_drvdata(pdev); ++ struct net_device *netdev = alx->dev; ++ struct alx_hw *hw = &alx->hw; ++ int err, speed; ++ u8 duplex; ++ ++ netif_device_detach(netdev); ++ ++ if (netif_running(netdev)) ++ __alx_stop(alx); ++ ++#ifdef CONFIG_PM_SLEEP ++ err = pci_save_state(pdev); ++ if (err) ++ return err; ++#endif ++ ++ err = alx_select_powersaving_speed(hw, &speed, &duplex); ++ if (err) ++ return err; ++ err = alx_clear_phy_intr(hw); ++ if (err) ++ return err; ++ err = alx_pre_suspend(hw, speed, duplex); ++ if (err) ++ return err; ++ err = alx_config_wol(hw); ++ if (err) ++ return err; ++ ++ *wol_en = false; ++ if (hw->sleep_ctrl & ALX_SLEEP_ACTIVE) { ++ netif_info(alx, wol, netdev, ++ "wol: ctrl=%X, speed=%X\n", ++ hw->sleep_ctrl, speed); ++ device_set_wakeup_enable(&pdev->dev, true); ++ *wol_en = true; ++ } ++ ++ //pci_disable_device(pdev); ++ ++ return 0; ++} ++ ++static void alx_shutdown(struct pci_dev *pdev) ++{ ++ int err; ++ bool wol_en; ++ ++ err = __alx_shutdown(pdev, &wol_en); ++ if (!err) { ++ pci_wake_from_d3(pdev, wol_en); ++ pci_set_power_state(pdev, PCI_D3hot); ++ } else { ++ dev_err(&pdev->dev, "shutdown fail %d\n", err); ++ } ++} ++ + static void alx_link_check(struct work_struct *work) + { + struct alx_priv *alx; +@@ -1862,6 +1923,7 @@ + goto out_unmap; + } + ++ device_set_wakeup_enable(&pdev->dev, hw->sleep_ctrl); + netdev_info(netdev, + "Qualcomm Atheros AR816x/AR817x Ethernet [%pM]\n", + netdev->dev_addr); +@@ -1907,49 +1969,80 @@ + { + struct alx_priv *alx = dev_get_drvdata(dev); + +- if (!netif_running(alx->dev)) +- return 0; +- netif_device_detach(alx->dev); ++ struct pci_dev *pdev = alx->hw.pdev; ++ int err; ++ bool wol_en; + + mutex_lock(&alx->mtx); +- __alx_stop(alx); ++ err = __alx_shutdown(pdev, &wol_en); + mutex_unlock(&alx->mtx); + ++ if (err) { ++ dev_err(&pdev->dev, "shutdown fail in suspend %d\n", err); ++ return err; ++ } ++ ++ if (wol_en) { ++ pci_prepare_to_sleep(pdev); ++ } else { ++ pci_wake_from_d3(pdev, false); ++ pci_set_power_state(pdev, PCI_D3hot); ++ } ++ + return 0; + } + + static int alx_resume(struct device *dev) + { + struct alx_priv *alx = dev_get_drvdata(dev); ++ struct net_device *netdev = alx->dev; + struct alx_hw *hw = &alx->hw; ++ struct pci_dev *pdev = alx->hw.pdev; + int err; + + mutex_lock(&alx->mtx); ++ pci_set_power_state(pdev, PCI_D0); ++ pci_restore_state(pdev); ++ pci_save_state(pdev); ++ ++ pci_enable_wake(pdev, PCI_D3hot, 0); ++ pci_enable_wake(pdev, PCI_D3cold, 0); ++ ++ hw->link_speed = SPEED_UNKNOWN; ++ alx->int_mask = ALX_ISR_MISC; ++ ++ alx_reset_pcie(hw); + alx_reset_phy(hw); + +- if (!netif_running(alx->dev)) { +- err = 0; +- goto unlock; ++ err = alx_reset_mac(hw); ++ if (err) { ++ netif_err(alx, hw, alx->dev, ++ "resume:reset_mac fail %d\n", err); ++ mutex_unlock(&alx->mtx); ++ return -EIO; + } +- +- err = __alx_open(alx, true); ++ ++ err = alx_setup_speed_duplex(hw, hw->adv_cfg, hw->flowctrl); ++ if (err) { ++ netif_err(alx, hw, alx->dev, ++ "resume:setup_speed_duplex fail %d\n", err); ++ return -EIO; ++ } ++ ++ if (netif_running(netdev)) { ++ err = __alx_open(alx, true); + if (err) + goto unlock; ++ } + +- netif_device_attach(alx->dev); ++ netif_device_attach(netdev); + + unlock: + mutex_unlock(&alx->mtx); + return err; + } +- +-static SIMPLE_DEV_PM_OPS(alx_pm_ops, alx_suspend, alx_resume); +-#define ALX_PM_OPS (&alx_pm_ops) +-#else +-#define ALX_PM_OPS NULL + #endif + +- + static pci_ers_result_t alx_pci_error_detected(struct pci_dev *pdev, + pci_channel_state_t state) + { +@@ -1992,6 +2085,8 @@ + } + + pci_set_master(pdev); ++ pci_enable_wake(pdev, PCI_D3hot, 0); ++ pci_enable_wake(pdev, PCI_D3cold, 0); + + alx_reset_pcie(hw); + if (!alx_reset_mac(hw)) +@@ -2041,11 +2136,20 @@ + {} + }; + ++#ifdef CONFIG_PM_SLEEP ++static SIMPLE_DEV_PM_OPS(alx_pm_ops, alx_suspend, alx_resume); ++#define ALX_PM_OPS (&alx_pm_ops) ++#else ++#define ALX_PM_OPS NULL ++#endif ++ ++ + static struct pci_driver alx_driver = { + .name = alx_drv_name, + .id_table = alx_pci_tbl, + .probe = alx_probe, + .remove = alx_remove, ++ .shutdown = alx_shutdown, + .err_handler = &alx_err_handlers, + .driver.pm = ALX_PM_OPS, + }; diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-amd64.config b/sys-kernel/linux-sources-redcore-lts/files/5.15-amd64.config index f2fd796d..af00a148 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-amd64.config +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-amd64.config @@ -1,17 +1,21 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.10.56-redcore-lts Kernel Configuration +# Linux/x86 5.15.35-redcore-lts Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (Gentoo Hardened 10.3.0-r10 p1) 10.3.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=100300 -CONFIG_LD_VERSION=235020000 CONFIG_CLANG_VERSION=0 +CONFIG_AS_IS_GNU=y +CONFIG_AS_VERSION=23700 +CONFIG_LD_IS_BFD=y +CONFIG_LD_VERSION=23700 CONFIG_LLD_VERSION=0 CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -21,6 +25,7 @@ CONFIG_THREAD_INFO_IN_TASK=y # CONFIG_INIT_ENV_ARG_LIMIT=32 # CONFIG_COMPILE_TEST is not set +# CONFIG_WERROR is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_BUILD_SALT="" @@ -100,11 +105,28 @@ CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem +CONFIG_BPF=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y + +# +# BPF subsystem +# +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +# CONFIG_BPF_PRELOAD is not set +# end of BPF subsystem + # CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=y CONFIG_PREEMPT_COUNT=y CONFIG_PREEMPTION=y +CONFIG_PREEMPT_DYNAMIC=y +CONFIG_SCHED_CORE=y # # CPU/Task time and stats accounting @@ -149,6 +171,7 @@ CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +# CONFIG_PRINTK_INDEX is not set CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y # @@ -184,6 +207,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_MISC=y # CONFIG_CGROUP_DEBUG is not set CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y @@ -215,7 +239,6 @@ CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y -CONFIG_BPF=y # CONFIG_EXPERT is not set CONFIG_UID16=y CONFIG_MULTIUSER=y @@ -224,7 +247,6 @@ CONFIG_SYSFS_SYSCALL=y CONFIG_FHANDLE=y CONFIG_POSIX_TIMERS=y CONFIG_PRINTK=y -CONFIG_PRINTK_NMI=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_PCSPKR_PLATFORM=y @@ -240,16 +262,12 @@ CONFIG_AIO=y CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y CONFIG_HAVE_ARCH_USERFAULTFD_WP=y +CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y CONFIG_KALLSYMS_BASE_RELATIVE=y -CONFIG_BPF_SYSCALL=y -CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y -CONFIG_BPF_JIT_ALWAYS_ON=y -CONFIG_BPF_JIT_DEFAULT_ON=y -# CONFIG_BPF_PRELOAD is not set CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y @@ -297,17 +315,15 @@ CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_FILTER_PGPROT=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_NR_GPIO=1024 CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y -CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_HAVE_INTEL_TXT=y CONFIG_X86_64_SMP=y CONFIG_ARCH_SUPPORTS_UPROBES=y @@ -319,12 +335,11 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y # # Processor type and features # -CONFIG_ZONE_DMA=y CONFIG_SMP=y CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_X2APIC=y CONFIG_X86_MPPARSE=y -# CONFIG_GOLDFISH is not set +CONFIG_GOLDFISH=y CONFIG_RETPOLINE=y CONFIG_X86_CPU_RESCTRL=y # CONFIG_X86_EXTENDED_PLATFORM is not set @@ -387,7 +402,6 @@ CONFIG_X86_MCE_INTEL=y CONFIG_X86_MCE_AMD=y CONFIG_X86_MCE_THRESHOLD=y # CONFIG_X86_MCE_INJECT is not set -CONFIG_X86_THERMAL_VECTOR=y # # Performance monitoring @@ -396,6 +410,7 @@ CONFIG_PERF_EVENTS_INTEL_UNCORE=m CONFIG_PERF_EVENTS_INTEL_RAPL=m CONFIG_PERF_EVENTS_INTEL_CSTATE=m CONFIG_PERF_EVENTS_AMD_POWER=m +CONFIG_PERF_EVENTS_AMD_UNCORE=m # end of Performance monitoring CONFIG_X86_16BIT=y @@ -429,7 +444,6 @@ CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y -CONFIG_X86_RESERVE_LOW=64 CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0 @@ -443,6 +457,7 @@ CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y CONFIG_X86_INTEL_TSX_MODE_OFF=y # CONFIG_X86_INTEL_TSX_MODE_ON is not set # CONFIG_X86_INTEL_TSX_MODE_AUTO is not set +# CONFIG_X86_SGX is not set CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_EFI_MIXED=y @@ -480,12 +495,8 @@ CONFIG_LIVEPATCH=y # end of Processor type and features CONFIG_ARCH_HAS_ADD_PAGES=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y -CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y CONFIG_USE_PERCPU_NUMA_NODE_ID=y -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y -CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y -CONFIG_ARCH_ENABLE_THP_MIGRATION=y # # Power management and ACPI options @@ -517,6 +528,7 @@ CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y # CONFIG_ACPI_DEBUGGER is not set CONFIG_ACPI_SPCR_TABLE=y +CONFIG_ACPI_FPDT=y CONFIG_ACPI_LPIT=y CONFIG_ACPI_SLEEP=y CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y @@ -539,6 +551,7 @@ CONFIG_ACPI_IPMI=m CONFIG_ACPI_HOTPLUG_CPU=y CONFIG_ACPI_PROCESSOR_AGGREGATOR=m CONFIG_ACPI_THERMAL=m +CONFIG_ACPI_PLATFORM_PROFILE=m CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y CONFIG_ACPI_TABLE_UPGRADE=y # CONFIG_ACPI_DEBUG is not set @@ -573,8 +586,10 @@ CONFIG_PMIC_OPREGION=y # CONFIG_XPOWER_PMIC_OPREGION is not set # CONFIG_BXT_WC_PMIC_OPREGION is not set CONFIG_CHT_DC_TI_PMIC_OPREGION=y +# CONFIG_TPS68470_PMIC_OPREGION is not set +CONFIG_ACPI_VIOT=y CONFIG_X86_PM_TIMER=y -CONFIG_SFI=y +CONFIG_ACPI_PRMT=y # # CPU Frequency scaling @@ -635,7 +650,6 @@ CONFIG_PCI_MMCONFIG=y CONFIG_MMCONF_FAM10H=y CONFIG_ISA_DMA_API=y CONFIG_AMD_NB=y -CONFIG_X86_SYSFB=y # end of Bus options (PCI etc.) # @@ -649,61 +663,6 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_SYSVIPC_COMPAT=y # end of Binary Emulations -# -# Firmware Drivers -# -CONFIG_EDD=m -# CONFIG_EDD_OFF is not set -CONFIG_FIRMWARE_MEMMAP=y -CONFIG_DMIID=y -CONFIG_DMI_SYSFS=m -CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y -CONFIG_ISCSI_IBFT_FIND=y -CONFIG_ISCSI_IBFT=m -CONFIG_FW_CFG_SYSFS=m -# CONFIG_FW_CFG_SYSFS_CMDLINE is not set -CONFIG_GOOGLE_FIRMWARE=y -CONFIG_GOOGLE_SMI=m -CONFIG_GOOGLE_COREBOOT_TABLE=m -CONFIG_GOOGLE_MEMCONSOLE=m -CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY=m -CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m -CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m -CONFIG_GOOGLE_VPD=m - -# -# EFI (Extensible Firmware Interface) Support -# -CONFIG_EFI_VARS=m -CONFIG_EFI_ESRT=y -CONFIG_EFI_VARS_PSTORE=m -CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y -CONFIG_EFI_RUNTIME_MAP=y -# CONFIG_EFI_FAKE_MEMMAP is not set -CONFIG_EFI_SOFT_RESERVE=y -CONFIG_EFI_RUNTIME_WRAPPERS=y -CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y -CONFIG_EFI_BOOTLOADER_CONTROL=m -CONFIG_EFI_CAPSULE_LOADER=m -CONFIG_EFI_TEST=m -CONFIG_APPLE_PROPERTIES=y -CONFIG_RESET_ATTACK_MITIGATION=y -CONFIG_EFI_RCI2_TABLE=y -# CONFIG_EFI_DISABLE_PCI_DMA is not set -# end of EFI (Extensible Firmware Interface) Support - -CONFIG_UEFI_CPER=y -CONFIG_UEFI_CPER_X86=y -CONFIG_EFI_DEV_PATH_PARSER=y -CONFIG_EFI_EARLYCON=y -CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y - -# -# Tegra firmware driver -# -# end of Tegra firmware driver -# end of Firmware Drivers - CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y @@ -719,11 +678,13 @@ CONFIG_KVM_COMPAT=y CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_HAVE_KVM_NO_POLL=y CONFIG_KVM_XFER_TO_GUEST_WORK=y +CONFIG_HAVE_KVM_PM_NOTIFIER=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_INTEL=m CONFIG_KVM_AMD=m CONFIG_KVM_AMD_SEV=y +# CONFIG_KVM_XEN is not set # CONFIG_KVM_MMU_AUDIT is not set CONFIG_AS_AVX512=y CONFIG_AS_SHA1_NI=y @@ -737,8 +698,6 @@ CONFIG_CRASH_CORE=y CONFIG_KEXEC_CORE=y CONFIG_HOTPLUG_SMT=y CONFIG_GENERIC_ENTRY=y -CONFIG_HAVE_OPROFILE=y -CONFIG_OPROFILE_NMI_TIMER=y # CONFIG_KPROBES is not set CONFIG_JUMP_LABEL=y # CONFIG_STATIC_KEYS_SELFTEST is not set @@ -753,6 +712,7 @@ CONFIG_HAVE_OPTPROBES=y CONFIG_HAVE_KPROBES_ON_FTRACE=y CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y CONFIG_HAVE_NMI=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_HAVE_ARCH_TRACEHOOK=y CONFIG_HAVE_DMA_CONTIGUOUS=y CONFIG_GENERIC_SMP_IDLE_THREAD=y @@ -761,6 +721,7 @@ CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_HAS_SET_DIRECT_MAP=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y +CONFIG_ARCH_WANTS_NO_INSTR=y CONFIG_HAVE_ASM_MODVERSIONS=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y @@ -786,14 +747,20 @@ CONFIG_HAVE_ARCH_SECCOMP=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP=y CONFIG_SECCOMP_FILTER=y +# CONFIG_SECCOMP_CACHE_DEBUG is not set CONFIG_HAVE_ARCH_STACKLEAK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y +CONFIG_LTO_NONE=y CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOVE_PUD=y CONFIG_HAVE_MOVE_PMD=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y @@ -802,6 +769,8 @@ CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y CONFIG_HAVE_ARCH_SOFT_DIRTY=y CONFIG_HAVE_MOD_ARCH_SPECIFIC=y CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y +CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y CONFIG_ARCH_HAS_ELF_RANDOMIZE=y CONFIG_HAVE_ARCH_MMAP_RND_BITS=y CONFIG_HAVE_EXIT_THREAD=y @@ -817,6 +786,8 @@ CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y +CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y @@ -825,9 +796,14 @@ CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y CONFIG_ARCH_USE_MEMREMAP_PROT=y # CONFIG_LOCK_EVENT_COUNTS is not set CONFIG_ARCH_HAS_MEM_ENCRYPT=y +CONFIG_ARCH_HAS_CC_PLATFORM=y CONFIG_HAVE_STATIC_CALL=y CONFIG_HAVE_STATIC_CALL_INLINE=y +CONFIG_HAVE_PREEMPT_DYNAMIC=y CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_HAS_ELFCORE_COMPAT=y +CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y # # GCOV-based kernel profiling @@ -850,29 +826,28 @@ CONFIG_MODVERSIONS=y CONFIG_ASM_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set -CONFIG_MODULE_COMPRESS=y +# CONFIG_MODULE_COMPRESS_NONE is not set CONFIG_MODULE_COMPRESS_GZIP=y # CONFIG_MODULE_COMPRESS_XZ is not set # CONFIG_MODULE_COMPRESS_ZSTD is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_MODPROBE_PATH="/sbin/modprobe" CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y -CONFIG_BLK_SCSI_REQUEST=y CONFIG_BLK_CGROUP_RWSTAT=y -CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSG_COMMON=y CONFIG_BLK_DEV_BSGLIB=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_INTEGRITY_T10=m CONFIG_BLK_DEV_ZONED=y CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_THROTTLING_LOW is not set -CONFIG_BLK_CMDLINE_PARSER=y CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y CONFIG_BLK_CGROUP_IOLATENCY=y +CONFIG_BLK_CGROUP_FC_APPID=y # CONFIG_BLK_CGROUP_IOCOST is not set -CONFIG_BLK_WBT_MQ=y +CONFIG_BLK_CGROUP_IOPRIO=y CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEBUG_FS_ZONED=y # CONFIG_BLK_SED_OPAL is not set @@ -915,6 +890,7 @@ CONFIG_BLK_MQ_PCI=y CONFIG_BLK_MQ_VIRTIO=y CONFIG_BLK_MQ_RDMA=y CONFIG_BLK_PM=y +CONFIG_BLOCK_HOLDER_DEPRECATED=y # # IO Schedulers @@ -961,7 +937,6 @@ CONFIG_COREDUMP=y CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y -CONFIG_NEED_MULTIPLE_NODES=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP=y @@ -969,19 +944,24 @@ CONFIG_HAVE_FAST_GUP=y CONFIG_NUMA_KEEP_MEMINFO=y CONFIG_MEMORY_ISOLATION=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_SPARSE=y # CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MHP_MEMMAP_ON_MEMORY=y CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_BOUNCE=y CONFIG_VIRT_TO_BUS=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y @@ -1001,6 +981,7 @@ CONFIG_FRONTSWAP=y CONFIG_CMA=y # CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUGFS is not set +# CONFIG_CMA_SYSFS is not set CONFIG_CMA_AREAS=7 # CONFIG_MEM_SOFT_DIRTY is not set # CONFIG_ZSWAP is not set @@ -1012,18 +993,27 @@ CONFIG_ZSMALLOC=y CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set # CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_PTE_DEVMAP=y +CONFIG_ZONE_DMA=y +CONFIG_ZONE_DMA32=y # CONFIG_ZONE_DEVICE is not set CONFIG_HMM_MIRROR=y CONFIG_VMAP_PFN=y -CONFIG_FRAME_VECTOR=y CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y CONFIG_ARCH_HAS_PKEYS=y # CONFIG_PERCPU_STATS is not set -# CONFIG_GUP_BENCHMARK is not set +# CONFIG_GUP_TEST is not set # CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAPPING_DIRTY_HELPERS=y +CONFIG_SECRETMEM=y + +# +# Data Access Monitoring +# +# CONFIG_DAMON is not set +# end of Data Access Monitoring # end of Memory Management options CONFIG_NET=y @@ -1040,6 +1030,7 @@ CONFIG_PACKET=m CONFIG_PACKET_DIAG=m CONFIG_UNIX=m CONFIG_UNIX_SCM=y +CONFIG_AF_UNIX_OOB=y CONFIG_UNIX_DIAG=m CONFIG_TLS=m # CONFIG_TLS_DEVICE is not set @@ -1151,6 +1142,7 @@ CONFIG_IPV6_PIMSM_V2=y CONFIG_IPV6_SEG6_LWTUNNEL=y CONFIG_IPV6_SEG6_HMAC=y CONFIG_IPV6_RPL_LWTUNNEL=y +CONFIG_IPV6_IOAM6_LWTUNNEL=y # CONFIG_NETLABEL is not set CONFIG_MPTCP=y CONFIG_INET_MPTCP_DIAG=m @@ -1168,13 +1160,13 @@ CONFIG_NETFILTER_INGRESS=y CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_FAMILY_BRIDGE=y CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_NETLINK_HOOK=m CONFIG_NETFILTER_NETLINK_ACCT=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -CONFIG_NF_LOG_NETDEV=m +CONFIG_NF_LOG_SYSLOG=m CONFIG_NETFILTER_CONNCOUNT=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y @@ -1244,9 +1236,11 @@ CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_REJECT_NETDEV=m CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XTABLES_COMPAT=y # # Xtables combined modules @@ -1386,6 +1380,7 @@ CONFIG_IP_VS_SH=m CONFIG_IP_VS_MH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_TWOS=m # # IPVS SH scheduler @@ -1493,7 +1488,6 @@ CONFIG_DECNET_NF_GRABULATOR=m CONFIG_NF_TABLES_BRIDGE=m CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m -CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_CONNTRACK_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m @@ -1571,24 +1565,28 @@ CONFIG_BRIDGE=m CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y # CONFIG_BRIDGE_MRP is not set -CONFIG_HAVE_NET_DSA=y +# CONFIG_BRIDGE_CFM is not set CONFIG_NET_DSA=m -CONFIG_NET_DSA_TAG_8021Q=m CONFIG_NET_DSA_TAG_AR9331=m CONFIG_NET_DSA_TAG_BRCM_COMMON=m CONFIG_NET_DSA_TAG_BRCM=m +CONFIG_NET_DSA_TAG_BRCM_LEGACY=m CONFIG_NET_DSA_TAG_BRCM_PREPEND=m +CONFIG_NET_DSA_TAG_HELLCREEK=m CONFIG_NET_DSA_TAG_GSWIP=m +CONFIG_NET_DSA_TAG_DSA_COMMON=m CONFIG_NET_DSA_TAG_DSA=m CONFIG_NET_DSA_TAG_EDSA=m CONFIG_NET_DSA_TAG_MTK=m CONFIG_NET_DSA_TAG_KSZ=m CONFIG_NET_DSA_TAG_RTL4_A=m CONFIG_NET_DSA_TAG_OCELOT=m +CONFIG_NET_DSA_TAG_OCELOT_8021Q=m CONFIG_NET_DSA_TAG_QCA=m CONFIG_NET_DSA_TAG_LAN9303=m CONFIG_NET_DSA_TAG_SJA1105=m CONFIG_NET_DSA_TAG_TRAILER=m +CONFIG_NET_DSA_TAG_XRS700X=m CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y @@ -1726,9 +1724,7 @@ CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y -CONFIG_BATMAN_ADV_DEBUGFS=y # CONFIG_BATMAN_ADV_DEBUG is not set -CONFIG_BATMAN_ADV_SYSFS=y # CONFIG_BATMAN_ADV_TRACING is not set CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_GRE=m @@ -1755,14 +1751,15 @@ CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m CONFIG_QRTR_MHI=m # CONFIG_NET_NCSI is not set +CONFIG_PCPU_DEV_REFCNT=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y CONFIG_XPS=y CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y -CONFIG_BPF_JIT=y CONFIG_BPF_STREAM_PARSER=y CONFIG_NET_FLOW_LIMIT=y @@ -1821,6 +1818,7 @@ CONFIG_CAN_CC770_ISA=m CONFIG_CAN_CC770_PLATFORM=m CONFIG_CAN_IFI_CANFD=m CONFIG_CAN_M_CAN=m +CONFIG_CAN_M_CAN_PCI=m CONFIG_CAN_M_CAN_PLATFORM=m CONFIG_CAN_M_CAN_TCAN4X5X=m CONFIG_CAN_PEAK_PCIEFD=m @@ -1853,6 +1851,7 @@ CONFIG_CAN_MCP251XFD=m CONFIG_CAN_8DEV_USB=m CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_ETAS_ES58X=m CONFIG_CAN_GS_USB=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_MCBA_USB=m @@ -1877,6 +1876,7 @@ CONFIG_BT_LE=y CONFIG_BT_6LOWPAN=m CONFIG_BT_LEDS=y CONFIG_BT_MSFTEXT=y +CONFIG_BT_AOSPEXT=y CONFIG_BT_DEBUGFS=y # CONFIG_BT_SELFTEST is not set # CONFIG_BT_FEATURE_DEBUG is not set @@ -1920,6 +1920,7 @@ CONFIG_BT_ATH3K=m CONFIG_BT_MTKSDIO=m CONFIG_BT_MTKUART=m CONFIG_BT_HCIRSI=m +CONFIG_BT_VIRTIO=m # end of Bluetooth device drivers CONFIG_AF_RXRPC=m @@ -1929,6 +1930,7 @@ CONFIG_AF_RXRPC_IPV6=y # CONFIG_RXKAD is not set CONFIG_AF_KCM=m CONFIG_STREAM_PARSER=y +CONFIG_MCTP=m CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_WIRELESS_EXT=y @@ -1962,8 +1964,6 @@ CONFIG_MAC80211_LEDS=y # CONFIG_MAC80211_MESSAGE_TRACING is not set # CONFIG_MAC80211_DEBUG_MENU is not set CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 -CONFIG_WIMAX=m -CONFIG_WIMAX_DEBUG_LEVEL=8 CONFIG_RFKILL=m CONFIG_RFKILL_LEDS=y CONFIG_RFKILL_INPUT=y @@ -1994,6 +1994,7 @@ CONFIG_NFC_TRF7970A=m CONFIG_NFC_MEI_PHY=m CONFIG_NFC_SIM=m CONFIG_NFC_PORT100=m +CONFIG_NFC_VIRTUAL_NCI=m CONFIG_NFC_FDP=m CONFIG_NFC_FDP_I2C=m CONFIG_NFC_PN544=m @@ -2020,6 +2021,7 @@ CONFIG_NFC_NXP_NCI=m CONFIG_NFC_NXP_NCI_I2C=m CONFIG_NFC_S3FWRN5=m CONFIG_NFC_S3FWRN5_I2C=m +CONFIG_NFC_S3FWRN82_UART=m CONFIG_NFC_ST95HF=m # end of Near Field Communication (NFC) devices @@ -2029,12 +2031,12 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_NET_SELFTESTS=m CONFIG_NET_SOCK_MSG=y CONFIG_NET_DEVLINK=y CONFIG_PAGE_POOL=y CONFIG_FAILOVER=m CONFIG_ETHTOOL_NETLINK=y -CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -2111,6 +2113,7 @@ CONFIG_PCI_HYPERV_INTERFACE=m CONFIG_PCI_ENDPOINT=y CONFIG_PCI_ENDPOINT_CONFIGFS=y # CONFIG_PCI_EPF_TEST is not set +CONFIG_PCI_EPF_NTB=m # end of PCI Endpoint # @@ -2119,6 +2122,11 @@ CONFIG_PCI_ENDPOINT_CONFIGFS=y CONFIG_PCI_SW_SWITCHTEC=m # end of PCI switch controller drivers +CONFIG_CXL_BUS=m +CONFIG_CXL_MEM=m +# CONFIG_CXL_MEM_RAW_COMMANDS is not set +CONFIG_CXL_ACPI=m +CONFIG_CXL_PMEM=m CONFIG_PCCARD=m CONFIG_PCMCIA=m CONFIG_PCMCIA_LOAD_CIS=y @@ -2159,6 +2167,7 @@ CONFIG_RAPIDIO_RXS_GEN3=m # # Generic Driver Options # +CONFIG_AUXILIARY_BUS=y # CONFIG_UEVENT_HELPER is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y @@ -2196,6 +2205,7 @@ CONFIG_REGMAP_W1=m CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_SOUNDWIRE=m +CONFIG_REGMAP_SOUNDWIRE_MBQ=m CONFIG_REGMAP_SCCB=m CONFIG_REGMAP_I3C=m CONFIG_REGMAP_SPI_AVMM=m @@ -2208,9 +2218,74 @@ CONFIG_DMA_SHARED_BUFFER=y # CONFIG_MHI_BUS=m # CONFIG_MHI_BUS_DEBUG is not set +CONFIG_MHI_BUS_PCI_GENERIC=m # end of Bus devices CONFIG_CONNECTOR=m + +# +# Firmware Drivers +# + +# +# ARM System Control and Management Interface Protocol +# +# end of ARM System Control and Management Interface Protocol + +CONFIG_EDD=m +# CONFIG_EDD_OFF is not set +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_DMIID=y +CONFIG_DMI_SYSFS=m +CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y +CONFIG_ISCSI_IBFT_FIND=y +CONFIG_ISCSI_IBFT=m +CONFIG_FW_CFG_SYSFS=m +# CONFIG_FW_CFG_SYSFS_CMDLINE is not set +CONFIG_SYSFB=y +CONFIG_SYSFB_SIMPLEFB=y +CONFIG_GOOGLE_FIRMWARE=y +CONFIG_GOOGLE_SMI=m +CONFIG_GOOGLE_COREBOOT_TABLE=m +CONFIG_GOOGLE_MEMCONSOLE=m +CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY=m +CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m +CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m +CONFIG_GOOGLE_VPD=m + +# +# EFI (Extensible Firmware Interface) Support +# +CONFIG_EFI_VARS=m +CONFIG_EFI_ESRT=y +CONFIG_EFI_VARS_PSTORE=m +CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y +CONFIG_EFI_RUNTIME_MAP=y +# CONFIG_EFI_FAKE_MEMMAP is not set +CONFIG_EFI_SOFT_RESERVE=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y +CONFIG_EFI_BOOTLOADER_CONTROL=m +CONFIG_EFI_CAPSULE_LOADER=m +CONFIG_EFI_TEST=m +CONFIG_APPLE_PROPERTIES=y +CONFIG_RESET_ATTACK_MITIGATION=y +CONFIG_EFI_RCI2_TABLE=y +# CONFIG_EFI_DISABLE_PCI_DMA is not set +# end of EFI (Extensible Firmware Interface) Support + +CONFIG_UEFI_CPER=y +CONFIG_UEFI_CPER_X86=y +CONFIG_EFI_DEV_PATH_PARSER=y +CONFIG_EFI_EARLYCON=y +CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y + +# +# Tegra firmware driver +# +# end of Tegra firmware driver +# end of Firmware Drivers + CONFIG_GNSS=m CONFIG_GNSS_SERIAL=m CONFIG_GNSS_MTK_SERIAL=m @@ -2236,6 +2311,10 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y CONFIG_MTD_BLKDEVS=m CONFIG_MTD_BLOCK=m CONFIG_MTD_BLOCK_RO=m + +# +# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK. +# CONFIG_FTL=m CONFIG_NFTL=m CONFIG_NFTL_RW=y @@ -2244,6 +2323,7 @@ CONFIG_RFD_FTL=m CONFIG_SSFDC=m CONFIG_SM_FTL=m CONFIG_MTD_OOPS=m +CONFIG_MTD_PSTORE=m CONFIG_MTD_SWAP=m # CONFIG_MTD_PARTITIONED_MASTER is not set @@ -2300,6 +2380,7 @@ CONFIG_MTD_DATAFLASH=m CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y CONFIG_MTD_DATAFLASH_OTP=y CONFIG_MTD_MCHP23K256=m +CONFIG_MTD_MCHP48L640=m CONFIG_MTD_SST25L=m CONFIG_MTD_SLRAM=m CONFIG_MTD_PHRAM=m @@ -2325,10 +2406,7 @@ CONFIG_MTD_ONENAND_VERIFY_WRITE=y CONFIG_MTD_ONENAND_GENERIC=m CONFIG_MTD_ONENAND_OTP=y CONFIG_MTD_ONENAND_2X_PROGRAM=y -CONFIG_MTD_NAND_ECC_SW_HAMMING=m -# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set CONFIG_MTD_RAW_NAND=m -CONFIG_MTD_NAND_ECC_SW_BCH=y # # Raw/parallel NAND flash controllers @@ -2358,6 +2436,9 @@ CONFIG_MTD_SPI_NAND=m # ECC engine support # CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_ECC_SW_HAMMING=y +# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set +CONFIG_MTD_NAND_ECC_SW_BCH=y # end of ECC engine support # end of NAND @@ -2370,6 +2451,9 @@ CONFIG_MTD_QINFO_PROBE=m CONFIG_MTD_SPI_NOR=m CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set +CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y +# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set CONFIG_SPI_INTEL_SPI=m CONFIG_SPI_INTEL_SPI_PCI=m CONFIG_SPI_INTEL_SPI_PLATFORM=m @@ -2433,16 +2517,21 @@ CONFIG_PARIDE_ON20=m CONFIG_PARIDE_ON26=m CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m CONFIG_ZRAM=m +# CONFIG_ZRAM_DEF_COMP_LZORLE is not set +# CONFIG_ZRAM_DEF_COMP_ZSTD is not set +CONFIG_ZRAM_DEF_COMP_LZ4=y +# CONFIG_ZRAM_DEF_COMP_LZO is not set +# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set +# CONFIG_ZRAM_DEF_COMP_842 is not set +CONFIG_ZRAM_DEF_COMP="lz4" CONFIG_ZRAM_WRITEBACK=y # CONFIG_ZRAM_MEMORY_TRACKING is not set -CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_BLK_DEV_CRYPTOLOOP=m CONFIG_BLK_DEV_DRBD=m # CONFIG_DRBD_FAULT_INJECTION is not set CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_SKD=m CONFIG_BLK_DEV_SX8=m CONFIG_BLK_DEV_RAM=m CONFIG_BLK_DEV_RAM_COUNT=16 @@ -2504,10 +2593,10 @@ CONFIG_DS1682=m CONFIG_VMWARE_BALLOON=m CONFIG_LATTICE_ECP3_CONFIG=m CONFIG_SRAM=y +CONFIG_DW_XDATA_PCIE=m CONFIG_PCI_ENDPOINT_TEST=m CONFIG_XILINX_SDFEC=m CONFIG_MISC_RTSX=m -CONFIG_PVPANIC=m # CONFIG_C2PORT is not set # @@ -2547,21 +2636,22 @@ CONFIG_VMWARE_VMCI=m CONFIG_GENWQE=m CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 CONFIG_ECHO=m +CONFIG_BCM_VK=m +# CONFIG_BCM_VK_TTY is not set CONFIG_MISC_ALCOR_PCI=m CONFIG_MISC_RTSX_PCI=m CONFIG_MISC_RTSX_USB=m CONFIG_HABANA_AI=m CONFIG_UACCE=m +# CONFIG_PVPANIC is not set # end of Misc devices -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set - # # SCSI device support # CONFIG_SCSI_MOD=m CONFIG_RAID_ATTRS=m +CONFIG_SCSI_COMMON=y CONFIG_SCSI=m CONFIG_SCSI_DMA=y CONFIG_SCSI_NETLINK=y @@ -2574,6 +2664,7 @@ CONFIG_BLK_DEV_SD=m CONFIG_CHR_DEV_ST=m CONFIG_BLK_DEV_SR=m CONFIG_CHR_DEV_SG=m +CONFIG_BLK_DEV_BSG=y CONFIG_CHR_DEV_SCH=m CONFIG_SCSI_ENCLOSURE=m CONFIG_SCSI_CONSTANTS=y @@ -2638,6 +2729,7 @@ CONFIG_SCSI_MPT3SAS=m CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT3SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPI3MR=m CONFIG_SCSI_SMARTPQI=m CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m @@ -2646,6 +2738,7 @@ CONFIG_SCSI_UFSHCD_PLATFORM=m CONFIG_SCSI_UFS_CDNS_PLATFORM=m CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m # CONFIG_SCSI_UFS_BSG is not set +# CONFIG_SCSI_UFS_HPB is not set CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y @@ -2662,7 +2755,6 @@ CONFIG_SCSI_SNIC=m CONFIG_SCSI_DMX3191D=m CONFIG_SCSI_FDOMAIN=m CONFIG_SCSI_FDOMAIN_PCI=m -CONFIG_SCSI_GDTH=m CONFIG_SCSI_ISCI=m CONFIG_SCSI_IPS=m CONFIG_SCSI_INITIO=m @@ -2689,6 +2781,7 @@ CONFIG_QEDI=m CONFIG_QEDF=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_EFCT=m CONFIG_SCSI_DC395x=m CONFIG_SCSI_AM53C974=m CONFIG_SCSI_WD719X=m @@ -2848,6 +2941,7 @@ CONFIG_DM_MULTIPATH=m CONFIG_DM_MULTIPATH_QL=m CONFIG_DM_MULTIPATH_ST=m CONFIG_DM_MULTIPATH_HST=m +CONFIG_DM_MULTIPATH_IOA=m CONFIG_DM_DELAY=m CONFIG_DM_DUST=m CONFIG_DM_UEVENT=y @@ -2932,6 +3026,7 @@ CONFIG_VIRTIO_NET=m CONFIG_NLMON=m CONFIG_NET_VRF=m CONFIG_VSOCKMON=m +CONFIG_MHI_NET=m CONFIG_SUNGEM_PHY=m CONFIG_ARCNET=m CONFIG_ARCNET_1201=m @@ -2987,6 +3082,7 @@ CONFIG_B53_SRAB_DRIVER=m CONFIG_B53_SERDES=m CONFIG_NET_DSA_BCM_SF2=m CONFIG_NET_DSA_LOOP=m +CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m CONFIG_NET_DSA_LANTIQ_GSWIP=m CONFIG_NET_DSA_MT7530=m CONFIG_NET_DSA_MV88E6060=m @@ -2996,8 +3092,8 @@ CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MICROCHIP_KSZ8795=m CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m CONFIG_NET_DSA_MV88E6XXX=m -CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_MV88E6XXX_PTP=y CONFIG_NET_DSA_MSCC_SEVILLE=m CONFIG_NET_DSA_AR9331=m @@ -3005,6 +3101,9 @@ CONFIG_NET_DSA_SJA1105=m CONFIG_NET_DSA_SJA1105_PTP=y CONFIG_NET_DSA_SJA1105_TAS=y # CONFIG_NET_DSA_SJA1105_VL is not set +CONFIG_NET_DSA_XRS700X=m +CONFIG_NET_DSA_XRS700X_I2C=m +CONFIG_NET_DSA_XRS700X_MDIO=m CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_REALTEK_SMI=m CONFIG_NET_DSA_SMSC_LAN9303=m @@ -3050,8 +3149,6 @@ CONFIG_ATL1=m CONFIG_ATL1E=m CONFIG_ATL1C=m CONFIG_ALX=m -CONFIG_NET_VENDOR_AURORA=y -CONFIG_AURORA_NB8800=m CONFIG_NET_VENDOR_BROADCOM=y CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y @@ -3157,7 +3254,10 @@ CONFIG_I40EVF=m CONFIG_ICE=m CONFIG_FM10K=m CONFIG_IGC=m +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_MICROSOFT_MANA=m CONFIG_JME=m +CONFIG_NET_VENDOR_LITEX=y CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m CONFIG_SKGE=m @@ -3183,8 +3283,6 @@ CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y CONFIG_MLXSW_PCI=m CONFIG_MLXSW_I2C=m -CONFIG_MLXSW_SWITCHIB=m -CONFIG_MLXSW_SWITCHX2=m CONFIG_MLXSW_SPECTRUM=m CONFIG_MLXSW_SPECTRUM_DCB=y CONFIG_MLXSW_MINIMAL=m @@ -3292,6 +3390,7 @@ CONFIG_STMMAC_ETH=m CONFIG_STMMAC_PLATFORM=m CONFIG_DWMAC_GENERIC=m CONFIG_DWMAC_INTEL=m +CONFIG_DWMAC_LOONGSON=m CONFIG_STMMAC_PCI=m CONFIG_NET_VENDOR_SUN=y CONFIG_HAPPYMEAL=m @@ -3318,13 +3417,13 @@ CONFIG_WIZNET_W5300=m CONFIG_WIZNET_BUS_ANY=y CONFIG_WIZNET_W5100_SPI=m CONFIG_NET_VENDOR_XILINX=y +CONFIG_XILINX_EMACLITE=m CONFIG_XILINX_AXI_EMAC=m CONFIG_XILINX_LL_TEMAC=m CONFIG_NET_VENDOR_XIRCOM=y CONFIG_PCMCIA_XIRC2PS=m CONFIG_FDDI=m CONFIG_DEFXX=m -# CONFIG_DEFXX_MMIO is not set CONFIG_SKFP=m CONFIG_HIPPI=y CONFIG_ROADRUNNER=m @@ -3359,11 +3458,16 @@ CONFIG_INTEL_XWAY_PHY=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MAXLINEAR_GPHY=m +CONFIG_MEDIATEK_GE_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m +CONFIG_MOTORCOMM_PHY=m CONFIG_NATIONAL_PHY=m +CONFIG_NXP_C45_TJA11XX_PHY=m CONFIG_NXP_TJA11XX_PHY=m CONFIG_AT803X_PHY=m CONFIG_QSEMI_PHY=m @@ -3381,8 +3485,14 @@ CONFIG_DP83869_PHY=m CONFIG_VITESSE_PHY=m CONFIG_XILINX_GMII2RGMII=m CONFIG_MICREL_KS8995MA=m + +# +# MCTP Device Drivers +# CONFIG_MDIO_DEVICE=m CONFIG_MDIO_BUS=m +CONFIG_FWNODE_MDIO=m +CONFIG_ACPI_MDIO=m CONFIG_MDIO_DEVRES=m CONFIG_MDIO_BITBANG=m CONFIG_MDIO_BCM_UNIMAC=m @@ -3471,6 +3581,7 @@ CONFIG_USB_SIERRA_NET=m CONFIG_USB_VL600=m CONFIG_USB_NET_CH9200=m CONFIG_USB_NET_AQC111=m +CONFIG_USB_RTL8153_ECM=m CONFIG_WLAN=y CONFIG_WLAN_VENDOR_ADMTEK=y CONFIG_ADM8211=m @@ -3633,7 +3744,6 @@ CONFIG_P54_PCI=m CONFIG_P54_SPI=m CONFIG_P54_SPI_DEFAULT_EEPROM=y CONFIG_P54_LEDS=y -CONFIG_PRISM54=m CONFIG_WLAN_VENDOR_MARVELL=y CONFIG_LIBERTAS=m CONFIG_LIBERTAS_USB=m @@ -3658,6 +3768,7 @@ CONFIG_MT76_USB=m CONFIG_MT76_SDIO=m CONFIG_MT76x02_LIB=m CONFIG_MT76x02_USB=m +CONFIG_MT76_CONNAC_LIB=m CONFIG_MT76x0_COMMON=m CONFIG_MT76x0U=m CONFIG_MT76x0E=m @@ -3671,6 +3782,7 @@ CONFIG_MT7663_USB_SDIO_COMMON=m CONFIG_MT7663U=m CONFIG_MT7663S=m CONFIG_MT7915E=m +CONFIG_MT7921E=m CONFIG_WLAN_VENDOR_MICROCHIP=y CONFIG_WILC1000=m CONFIG_WILC1000_SDIO=m @@ -3772,15 +3884,6 @@ CONFIG_PCMCIA_WL3501=m # CONFIG_MAC80211_HWSIM is not set CONFIG_USB_NET_RNDIS_WLAN=m CONFIG_VIRT_WIFI=m - -# -# WiMAX Wireless Broadband devices -# -CONFIG_WIMAX_I2400M=m -CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 -# end of WiMAX Wireless Broadband devices - CONFIG_WAN=y CONFIG_LANMEDIA=m CONFIG_HDLC=m @@ -3794,12 +3897,7 @@ CONFIG_PCI200SYN=m CONFIG_WANXL=m CONFIG_PC300TOO=m CONFIG_FARSYNC=m -CONFIG_DLCI=m -CONFIG_DLCI_MAX=8 CONFIG_LAPBETHER=m -CONFIG_X25_ASY=m -CONFIG_SBNI=m -CONFIG_SBNI_MULTILINE=y CONFIG_IEEE802154_DRIVERS=m CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_AT86RF230=m @@ -3812,6 +3910,18 @@ CONFIG_IEEE802154_CA8210=m # CONFIG_IEEE802154_CA8210_DEBUGFS is not set CONFIG_IEEE802154_MCR20A=m CONFIG_IEEE802154_HWSIM=m + +# +# Wireless WAN +# +CONFIG_WWAN=m +CONFIG_WWAN_HWSIM=m +CONFIG_MHI_WWAN_CTRL=m +CONFIG_MHI_WWAN_MBIM=m +CONFIG_RPMSG_WWAN_CTRL=m +CONFIG_IOSM=m +# end of Wireless WAN + CONFIG_VMXNET3=m CONFIG_FUJITSU_ES=m CONFIG_USB4_NET=m @@ -3840,9 +3950,6 @@ CONFIG_MISDN_NETJET=m CONFIG_MISDN_HDLC=m CONFIG_MISDN_IPAC=m CONFIG_MISDN_ISAR=m -CONFIG_NVM=y -CONFIG_NVM_PBLK=m -# CONFIG_NVM_PBLK_DEBUG is not set # # Input device support @@ -3850,7 +3957,6 @@ CONFIG_NVM_PBLK=m CONFIG_INPUT=y CONFIG_INPUT_LEDS=m CONFIG_INPUT_FF_MEMLESS=m -CONFIG_INPUT_POLLDEV=m CONFIG_INPUT_SPARSEKMAP=m CONFIG_INPUT_MATRIXKMAP=m @@ -3892,6 +3998,7 @@ CONFIG_KEYBOARD_MPR121=m CONFIG_KEYBOARD_NEWTON=m CONFIG_KEYBOARD_OPENCORES=m CONFIG_KEYBOARD_SAMSUNG=m +# CONFIG_KEYBOARD_GOLDFISH_EVENTS is not set CONFIG_KEYBOARD_STOWAWAY=m CONFIG_KEYBOARD_SUNKBD=m CONFIG_KEYBOARD_IQS62X=m @@ -3962,17 +4069,16 @@ CONFIG_JOYSTICK_WALKERA0701=m CONFIG_JOYSTICK_PSXPAD_SPI=m CONFIG_JOYSTICK_PSXPAD_SPI_FF=y CONFIG_JOYSTICK_PXRC=m +CONFIG_JOYSTICK_QWIIC=m CONFIG_JOYSTICK_FSIA6B=m CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m CONFIG_TABLET_USB_AIPTEK=m -CONFIG_TABLET_USB_GTCO=m CONFIG_TABLET_USB_HANWANG=m CONFIG_TABLET_USB_KBTAB=m CONFIG_TABLET_USB_PEGASUS=m CONFIG_TABLET_SERIAL_WACOM4=m CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_PROPERTIES=y CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_TOUCHSCREEN_AD7877=m CONFIG_TOUCHSCREEN_AD7879=m @@ -4002,7 +4108,9 @@ CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_HIDEEP=m +CONFIG_TOUCHSCREEN_HYCON_HY46XX=m CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_ILITEK=m CONFIG_TOUCHSCREEN_S6SY761=m CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_EKTF2127=m @@ -4014,6 +4122,7 @@ CONFIG_TOUCHSCREEN_MAX11801=m CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MMS114=m CONFIG_TOUCHSCREEN_MELFAS_MIP4=m +CONFIG_TOUCHSCREEN_MSG2638=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m @@ -4078,6 +4187,7 @@ CONFIG_INPUT_AD714X=m CONFIG_INPUT_AD714X_I2C=m CONFIG_INPUT_AD714X_SPI=m CONFIG_INPUT_ARIZONA_HAPTICS=m +CONFIG_INPUT_ATC260X_ONKEY=m CONFIG_INPUT_BMA150=m CONFIG_INPUT_E3X0_BUTTON=m CONFIG_INPUT_PCSPKR=m @@ -4104,6 +4214,7 @@ CONFIG_INPUT_PCF8574=m CONFIG_INPUT_PWM_BEEPER=m CONFIG_INPUT_PWM_VIBRA=m CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_DA7280_HAPTICS=m CONFIG_INPUT_DA9052_ONKEY=m CONFIG_INPUT_DA9063_ONKEY=m CONFIG_INPUT_WM831X_ON=m @@ -4113,6 +4224,7 @@ CONFIG_INPUT_ADXL34X_I2C=m CONFIG_INPUT_ADXL34X_SPI=m CONFIG_INPUT_IMS_PCU=m CONFIG_INPUT_IQS269A=m +CONFIG_INPUT_IQS626A=m CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_IDEAPAD_SLIDEBAR=m @@ -4221,11 +4333,12 @@ CONFIG_SERIAL_SC16IS7XX_CORE=m CONFIG_SERIAL_SC16IS7XX=m CONFIG_SERIAL_SC16IS7XX_I2C=y CONFIG_SERIAL_SC16IS7XX_SPI=y +CONFIG_SERIAL_BCM63XX=y +CONFIG_SERIAL_BCM63XX_CONSOLE=y CONFIG_SERIAL_ALTERA_JTAGUART=m CONFIG_SERIAL_ALTERA_UART=m CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 -CONFIG_SERIAL_IFX6X60=m CONFIG_SERIAL_ARC=m CONFIG_SERIAL_ARC_NR_PORTS=1 CONFIG_SERIAL_RP2=m @@ -4238,21 +4351,14 @@ CONFIG_SERIAL_SPRD=m CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_NONSTANDARD=y -CONFIG_ROCKETPORT=m -CONFIG_CYCLADES=m -CONFIG_CYZ_INTR=y CONFIG_MOXA_INTELLIO=m CONFIG_MOXA_SMARTIO=m -CONFIG_SYNCLINK=m -CONFIG_SYNCLINKMP=m CONFIG_SYNCLINK_GT=m -CONFIG_ISI=m CONFIG_N_HDLC=m +# CONFIG_GOLDFISH_TTY is not set CONFIG_N_GSM=m CONFIG_NOZOMI=m CONFIG_NULL_TTY=m -CONFIG_TRACE_ROUTER=m -CONFIG_TRACE_SINK=m CONFIG_HVC_DRIVER=y CONFIG_SERIAL_DEV_BUS=m CONFIG_PRINTER=m @@ -4292,10 +4398,7 @@ CONFIG_IPWIRELESS=m CONFIG_MWAVE=m CONFIG_DEVMEM=y -# CONFIG_DEVKMEM is not set CONFIG_NVRAM=m -CONFIG_RAW_DRIVER=m -CONFIG_MAX_RAW_DEVS=256 CONFIG_DEVPORT=y CONFIG_HPET=y CONFIG_HPET_MMAP=y @@ -4307,6 +4410,7 @@ CONFIG_TCG_TIS_CORE=m CONFIG_TCG_TIS=m CONFIG_TCG_TIS_SPI=m # CONFIG_TCG_TIS_SPI_CR50 is not set +CONFIG_TCG_TIS_I2C_CR50=m CONFIG_TCG_TIS_I2C_ATMEL=m CONFIG_TCG_TIS_I2C_INFINEON=m CONFIG_TCG_TIS_I2C_NUVOTON=m @@ -4319,12 +4423,13 @@ CONFIG_TCG_TIS_ST33ZP24=m CONFIG_TCG_TIS_ST33ZP24_I2C=m CONFIG_TCG_TIS_ST33ZP24_SPI=m CONFIG_TELCLOCK=m +CONFIG_XILLYBUS_CLASS=m CONFIG_XILLYBUS=m CONFIG_XILLYBUS_PCIE=m -# end of Character devices - +CONFIG_XILLYUSB=m CONFIG_RANDOM_TRUST_CPU=y CONFIG_RANDOM_TRUST_BOOTLOADER=y +# end of Character devices # # I2C support @@ -4406,6 +4511,7 @@ CONFIG_I2C_XILINX=m # CONFIG_I2C_DIOLAN_U2C=m CONFIG_I2C_DLN2=m +CONFIG_I2C_CP2615=m CONFIG_I2C_PARPORT=m CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m @@ -4417,6 +4523,7 @@ CONFIG_I2C_VIPERBOARD=m # CONFIG_I2C_MLXCPLD=m CONFIG_I2C_CROS_EC_TUNNEL=m +CONFIG_I2C_VIRTIO=m # end of I2C Hardware Bus support # CONFIG_I2C_STUB is not set @@ -4431,6 +4538,8 @@ CONFIG_I2C_SLAVE_TESTUNIT=m CONFIG_I3C=m CONFIG_CDNS_I3C_MASTER=m CONFIG_DW_I3C_MASTER=m +CONFIG_SVC_I3C_MASTER=m +# CONFIG_MIPI_I3C_HCI is not set CONFIG_SPI=y # CONFIG_SPI_DEBUG is not set CONFIG_SPI_MASTER=y @@ -4440,6 +4549,8 @@ CONFIG_SPI_MEM=y # SPI Master Controller Drivers # CONFIG_SPI_ALTERA=m +CONFIG_SPI_ALTERA_CORE=m +CONFIG_SPI_ALTERA_DFL=m CONFIG_SPI_AXI_SPI_ENGINE=m CONFIG_SPI_BITBANG=m CONFIG_SPI_BUTTERFLY=m @@ -4481,6 +4592,7 @@ CONFIG_SPI_SLAVE_TIME=m CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m CONFIG_SPI_DYNAMIC=y CONFIG_SPMI=m +CONFIG_SPMI_HISI3670=m CONFIG_HSI=m CONFIG_HSI_BOARDINFO=y @@ -4511,12 +4623,14 @@ CONFIG_PPS_CLIENT_GPIO=m # PTP clock support # CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y CONFIG_DP83640_PHY=m CONFIG_PTP_1588_CLOCK_INES=m CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_IDT82P33=m CONFIG_PTP_1588_CLOCK_IDTCM=m CONFIG_PTP_1588_CLOCK_VMW=m +CONFIG_PTP_1588_CLOCK_OCP=m # end of PTP clock support CONFIG_PINCTRL=y @@ -4533,14 +4647,17 @@ CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=m CONFIG_PINCTRL_LYNXPOINT=m CONFIG_PINCTRL_INTEL=y +CONFIG_PINCTRL_ALDERLAKE=m CONFIG_PINCTRL_BROXTON=m CONFIG_PINCTRL_CANNONLAKE=m CONFIG_PINCTRL_CEDARFORK=m CONFIG_PINCTRL_DENVERTON=m +CONFIG_PINCTRL_ELKHARTLAKE=m CONFIG_PINCTRL_EMMITSBURG=m CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_ICELAKE=m CONFIG_PINCTRL_JASPERLAKE=m +CONFIG_PINCTRL_LAKEFIELD=m CONFIG_PINCTRL_LEWISBURG=m CONFIG_PINCTRL_SUNRISEPOINT=m CONFIG_PINCTRL_TIGERLAKE=m @@ -4561,7 +4678,6 @@ CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_GPIO_ACPI=y CONFIG_GPIOLIB_IRQCHIP=y # CONFIG_DEBUG_GPIO is not set -CONFIG_GPIO_SYSFS=y CONFIG_GPIO_CDEV=y CONFIG_GPIO_CDEV_V1=y CONFIG_GPIO_GENERIC=m @@ -4579,7 +4695,6 @@ CONFIG_GPIO_MB86S7X=m CONFIG_GPIO_MENZ127=m CONFIG_GPIO_SIOX=m CONFIG_GPIO_VX855=m -CONFIG_GPIO_XILINX=m CONFIG_GPIO_AMD_FCH=m # end of Memory mapped GPIO drivers @@ -4621,6 +4736,7 @@ CONFIG_GPIO_LP873X=m CONFIG_GPIO_MADERA=m CONFIG_GPIO_TPS65086=m CONFIG_GPIO_TPS65912=m +# CONFIG_GPIO_TPS68470 is not set CONFIG_GPIO_TQMX86=m CONFIG_GPIO_UCB1400=m CONFIG_GPIO_WHISKEY_COVE=m @@ -4654,8 +4770,14 @@ CONFIG_GPIO_XRA1403=m CONFIG_GPIO_VIPERBOARD=m # end of USB GPIO expanders +# +# Virtual GPIO drivers +# CONFIG_GPIO_AGGREGATOR=m CONFIG_GPIO_MOCKUP=m +CONFIG_GPIO_VIRTIO=m +# end of Virtual GPIO drivers + CONFIG_W1=m CONFIG_W1_CON=y @@ -4695,8 +4817,10 @@ CONFIG_W1_SLAVE_DS28E17=m # end of 1-wire Slaves CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_ATC260X=m CONFIG_POWER_RESET_MT6323=y # CONFIG_POWER_RESET_RESTART is not set +CONFIG_POWER_RESET_TPS65086=y CONFIG_POWER_SUPPLY=y # CONFIG_POWER_SUPPLY_DEBUG is not set CONFIG_POWER_SUPPLY_HWMON=y @@ -4736,9 +4860,11 @@ CONFIG_CHARGER_LP8727=m CONFIG_CHARGER_GPIO=m CONFIG_CHARGER_MANAGER=y CONFIG_CHARGER_LT3651=m +CONFIG_CHARGER_LTC4162L=m CONFIG_CHARGER_MAX14577=m CONFIG_CHARGER_MAX77693=m CONFIG_CHARGER_MP2629=m +CONFIG_CHARGER_MT6360=m CONFIG_CHARGER_BQ2415X=m CONFIG_CHARGER_BQ24190=m CONFIG_CHARGER_BQ24257=m @@ -4746,13 +4872,18 @@ CONFIG_CHARGER_BQ24735=m CONFIG_CHARGER_BQ2515X=m CONFIG_CHARGER_BQ25890=m CONFIG_CHARGER_BQ25980=m +CONFIG_CHARGER_BQ256XX=m CONFIG_CHARGER_SMB347=m CONFIG_BATTERY_GAUGE_LTC2941=m +CONFIG_BATTERY_GOLDFISH=m CONFIG_BATTERY_RT5033=m CONFIG_CHARGER_RT9455=m CONFIG_CHARGER_CROS_USBPD=m +CONFIG_CHARGER_CROS_PCHG=m CONFIG_CHARGER_BD99954=m CONFIG_CHARGER_WILCO=m +CONFIG_BATTERY_SURFACE=m +CONFIG_CHARGER_SURFACE=m CONFIG_HWMON=y CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set @@ -4779,18 +4910,20 @@ CONFIG_SENSORS_ADT7411=m CONFIG_SENSORS_ADT7462=m CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_AHT10=m +CONFIG_SENSORS_AQUACOMPUTER_D5NEXT=m CONFIG_SENSORS_AS370=m CONFIG_SENSORS_ASC7621=m CONFIG_SENSORS_AXI_FAN_CONTROL=m CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_FAM15H_POWER=m -CONFIG_SENSORS_AMD_ENERGY=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASPEED=m CONFIG_SENSORS_ATXP1=m CONFIG_SENSORS_CORSAIR_CPRO=m +CONFIG_SENSORS_CORSAIR_PSU=m CONFIG_SENSORS_DRIVETEMP=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_DS1621=m @@ -4822,6 +4955,7 @@ CONFIG_SENSORS_LTC2947=m CONFIG_SENSORS_LTC2947_I2C=m CONFIG_SENSORS_LTC2947_SPI=m CONFIG_SENSORS_LTC2990=m +CONFIG_SENSORS_LTC2992=m CONFIG_SENSORS_LTC4151=m CONFIG_SENSORS_LTC4215=m CONFIG_SENSORS_LTC4222=m @@ -4829,6 +4963,7 @@ CONFIG_SENSORS_LTC4245=m CONFIG_SENSORS_LTC4260=m CONFIG_SENSORS_LTC4261=m CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX127=m CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m CONFIG_SENSORS_MAX1668=m @@ -4844,6 +4979,7 @@ CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MCP3021=m CONFIG_SENSORS_MLXREG_FAN=m CONFIG_SENSORS_TC654=m +CONFIG_SENSORS_TPS23861=m CONFIG_SENSORS_MENF21BMC_HWMON=m CONFIG_SENSORS_MR75203=m CONFIG_SENSORS_ADCXX=m @@ -4871,15 +5007,20 @@ CONFIG_SENSORS_NCT6775=m CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_NCT7904=m CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NZXT_KRAKEN2=m CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1266=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_BPA_RS600=m +CONFIG_SENSORS_FSP_3Y=m CONFIG_SENSORS_IBM_CFFPS=m +CONFIG_SENSORS_DPS920AB=m CONFIG_SENSORS_INSPUR_IPSPS=m CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR36021=m CONFIG_SENSORS_IR38064=m CONFIG_SENSORS_IRPS5401=m CONFIG_SENSORS_ISL68137=m @@ -4887,6 +5028,7 @@ CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_LTC2978_REGULATOR=y CONFIG_SENSORS_LTC3815=m +CONFIG_SENSORS_MAX15301=m CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX16601=m CONFIG_SENSORS_MAX20730=m @@ -4894,8 +5036,13 @@ CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31785=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_MP2888=m CONFIG_SENSORS_MP2975=m +CONFIG_SENSORS_PIM4328=m +CONFIG_SENSORS_PM6764TR=m CONFIG_SENSORS_PXE1610=m +CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_STPDDC60=m CONFIG_SENSORS_TPS40422=m CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_UCD9000=m @@ -4903,9 +5050,11 @@ CONFIG_SENSORS_UCD9200=m CONFIG_SENSORS_XDPE122=m CONFIG_SENSORS_ZL6100=m CONFIG_SENSORS_SBTSI=m +CONFIG_SENSORS_SBRMI=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHT3x=m +CONFIG_SENSORS_SHT4x=m CONFIG_SENSORS_SHTC1=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m @@ -4981,6 +5130,7 @@ CONFIG_DEVFREQ_THERMAL=y # Intel thermal drivers # CONFIG_INTEL_POWERCLAMP=m +CONFIG_X86_THERMAL_VECTOR=y CONFIG_X86_PKG_TEMP_THERMAL=m CONFIG_INTEL_SOC_DTS_IOSF_CORE=m CONFIG_INTEL_SOC_DTS_THERMAL=m @@ -4991,11 +5141,13 @@ CONFIG_INTEL_SOC_DTS_THERMAL=m CONFIG_INT340X_THERMAL=m CONFIG_ACPI_THERMAL_REL=m CONFIG_INT3406_THERMAL=m -CONFIG_PROC_THERMAL_MMIO_RAPL=y +CONFIG_PROC_THERMAL_MMIO_RAPL=m # end of ACPI INT340X thermal drivers CONFIG_INTEL_BXT_PMIC_THERMAL=m CONFIG_INTEL_PCH_THERMAL=m +CONFIG_INTEL_TCC_COOLING=m +CONFIG_INTEL_MENLOW=m # end of Intel thermal drivers CONFIG_GENERIC_ADC_THERMAL=m @@ -5005,6 +5157,7 @@ CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 # CONFIG_WATCHDOG_SYSFS is not set +# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set # # Watchdog Pretimeout Governors @@ -5149,8 +5302,8 @@ CONFIG_INTEL_SOC_PMIC_MRFLD=m CONFIG_MFD_INTEL_LPSS=m CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m -# CONFIG_MFD_INTEL_MSIC is not set CONFIG_MFD_INTEL_PMC_BXT=m +CONFIG_MFD_INTEL_PMT=m CONFIG_MFD_IQS62X=m CONFIG_MFD_JANZ_CMODIO=m CONFIG_MFD_KEMPLD=m @@ -5170,12 +5323,12 @@ CONFIG_PCF50633_ADC=m CONFIG_PCF50633_GPIO=m CONFIG_UCB1400_CORE=m CONFIG_MFD_RDC321X=m +CONFIG_MFD_RT4831=m CONFIG_MFD_RT5033=m CONFIG_MFD_SI476X_CORE=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SKY81452=m -CONFIG_ABX500_CORE=y CONFIG_MFD_SYSCON=y CONFIG_MFD_TI_AM335X_TSCADC=m CONFIG_MFD_LP3943=m @@ -5192,7 +5345,7 @@ CONFIG_MFD_WL1273_CORE=m CONFIG_MFD_LM3533=m CONFIG_MFD_TQMX86=m CONFIG_MFD_VX855=m -CONFIG_MFD_ARIZONA=y +CONFIG_MFD_ARIZONA=m CONFIG_MFD_ARIZONA_I2C=m CONFIG_MFD_ARIZONA_SPI=m CONFIG_MFD_CS47L24=y @@ -5204,6 +5357,8 @@ CONFIG_MFD_WM831X=y CONFIG_MFD_WM831X_SPI=y CONFIG_MFD_WM8994=m CONFIG_MFD_WCD934X=m +CONFIG_MFD_ATC260X=m +CONFIG_MFD_ATC260X_I2C=m CONFIG_RAVE_SP_CORE=m CONFIG_MFD_INTEL_M10_BMC=m # end of Multifunction device drivers @@ -5219,6 +5374,7 @@ CONFIG_REGULATOR_ACT8865=m CONFIG_REGULATOR_AD5398=m CONFIG_REGULATOR_ARIZONA_LDO1=m CONFIG_REGULATOR_ARIZONA_MICSUPP=m +CONFIG_REGULATOR_ATC260X=m CONFIG_REGULATOR_AXP20X=m CONFIG_REGULATOR_BCM590XX=m CONFIG_REGULATOR_BD9571MWV=m @@ -5241,6 +5397,7 @@ CONFIG_REGULATOR_MAX14577=m CONFIG_REGULATOR_MAX1586=m CONFIG_REGULATOR_MAX8649=m CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8893=m CONFIG_REGULATOR_MAX8907=m CONFIG_REGULATOR_MAX8952=m CONFIG_REGULATOR_MAX77693=m @@ -5250,14 +5407,15 @@ CONFIG_REGULATOR_MC13783=m CONFIG_REGULATOR_MC13892=m CONFIG_REGULATOR_MP8859=m CONFIG_REGULATOR_MT6311=m +CONFIG_REGULATOR_MT6315=m CONFIG_REGULATOR_MT6323=m CONFIG_REGULATOR_MT6358=m +CONFIG_REGULATOR_MT6359=m CONFIG_REGULATOR_MT6360=m CONFIG_REGULATOR_MT6397=m CONFIG_REGULATOR_PCA9450=m CONFIG_REGULATOR_PCAP=m CONFIG_REGULATOR_PCF50633=m -CONFIG_REGULATOR_PFUZE100=m CONFIG_REGULATOR_PV88060=m CONFIG_REGULATOR_PV88080=m CONFIG_REGULATOR_PV88090=m @@ -5266,8 +5424,13 @@ CONFIG_REGULATOR_QCOM_SPMI=m CONFIG_REGULATOR_QCOM_USB_VBUS=m CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m CONFIG_REGULATOR_RT4801=m +CONFIG_REGULATOR_RT4831=m CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_RT6160=m +CONFIG_REGULATOR_RT6245=m +CONFIG_REGULATOR_RTQ2134=m CONFIG_REGULATOR_RTMV20=m +CONFIG_REGULATOR_RTQ6752=m CONFIG_REGULATOR_SKY81452=m CONFIG_REGULATOR_SLG51000=m CONFIG_REGULATOR_TPS51632=m @@ -5363,6 +5526,7 @@ CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_V4L2_FLASH_LED_CLASS=m CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_ASYNC=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m @@ -5392,7 +5556,6 @@ CONFIG_DVB_DYNAMIC_MINORS=y # # Drivers filtered as selected at 'Filter media drivers' # -CONFIG_TTPCI_EEPROM=m CONFIG_MEDIA_USB_SUPPORT=y # @@ -5570,7 +5733,6 @@ CONFIG_VIDEO_TW686X=m # Media capture/analog TV support # CONFIG_VIDEO_IVTV=m -# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV_ALSA=m CONFIG_VIDEO_FB_IVTV=m # CONFIG_VIDEO_FB_IVTV_FORCE_PAT is not set @@ -5608,14 +5770,10 @@ CONFIG_VIDEO_SAA7164=m # # Media digital TV PCI Adapters # -CONFIG_DVB_AV7110_IR=y -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_B2C2_FLEXCOP_PCI=m # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set CONFIG_DVB_PLUTO2=m @@ -5631,6 +5789,7 @@ CONFIG_DVB_DDBRIDGE=m CONFIG_DVB_SMIPCIE=m CONFIG_DVB_NETUP_UNIDVB=m CONFIG_VIDEO_IPU3_CIO2=m +# CONFIG_CIO2_BRIDGE is not set CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_TEA575X=m CONFIG_RADIO_SI470X=m @@ -5661,6 +5820,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y # CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m +CONFIG_TTPCI_EEPROM=m CONFIG_CYPRESS_FIRMWARE=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_V4L2=m @@ -5758,8 +5918,9 @@ CONFIG_VIDEO_M52790=m # Camera sensor devices # CONFIG_VIDEO_APTINA_PLL=m -CONFIG_VIDEO_SMIAPP_PLL=m +CONFIG_VIDEO_CCS_PLL=m CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_IMX208=m CONFIG_VIDEO_IMX214=m CONFIG_VIDEO_IMX219=m CONFIG_VIDEO_IMX258=m @@ -5767,12 +5928,14 @@ CONFIG_VIDEO_IMX274=m CONFIG_VIDEO_IMX290=m CONFIG_VIDEO_IMX319=m CONFIG_VIDEO_IMX355=m +CONFIG_VIDEO_OV02A10=m CONFIG_VIDEO_OV2640=m CONFIG_VIDEO_OV2659=m CONFIG_VIDEO_OV2680=m CONFIG_VIDEO_OV2685=m CONFIG_VIDEO_OV2740=m CONFIG_VIDEO_OV5647=m +CONFIG_VIDEO_OV5648=m CONFIG_VIDEO_OV6650=m CONFIG_VIDEO_OV5670=m CONFIG_VIDEO_OV5675=m @@ -5783,8 +5946,10 @@ CONFIG_VIDEO_OV7640=m CONFIG_VIDEO_OV7670=m CONFIG_VIDEO_OV7740=m CONFIG_VIDEO_OV8856=m +CONFIG_VIDEO_OV8865=m CONFIG_VIDEO_OV9640=m CONFIG_VIDEO_OV9650=m +CONFIG_VIDEO_OV9734=m CONFIG_VIDEO_OV13858=m CONFIG_VIDEO_VS6624=m CONFIG_VIDEO_MT9M001=m @@ -5799,13 +5964,15 @@ CONFIG_VIDEO_MT9V111=m CONFIG_VIDEO_SR030PC30=m CONFIG_VIDEO_NOON010PC30=m CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_MAX9271_LIB=m CONFIG_VIDEO_RDACM20=m +CONFIG_VIDEO_RDACM21=m CONFIG_VIDEO_RJ54N1=m CONFIG_VIDEO_S5K6AA=m CONFIG_VIDEO_S5K6A3=m CONFIG_VIDEO_S5K4ECGX=m CONFIG_VIDEO_S5K5BAF=m -CONFIG_VIDEO_SMIAPP=m +CONFIG_VIDEO_CCS=m CONFIG_VIDEO_ET8EK8=m CONFIG_VIDEO_S5C73M3=m # end of Camera sensor devices @@ -5940,7 +6107,6 @@ CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends # -CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m @@ -5992,6 +6158,7 @@ CONFIG_DVB_AU8522=m CONFIG_DVB_AU8522_DTV=m CONFIG_DVB_AU8522_V4L=m CONFIG_DVB_S5H1411=m +CONFIG_DVB_MXL692=m # # ISDB-T (terrestrial) frontends @@ -6058,19 +6225,16 @@ CONFIG_DRM_MIPI_DSI=y CONFIG_DRM_DP_AUX_CHARDEV=y CONFIG_DRM_DEBUG_SELFTEST=m CONFIG_DRM_KMS_HELPER=m -CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set # CONFIG_DRM_DP_CEC is not set CONFIG_DRM_TTM=m -CONFIG_DRM_TTM_DMA_PAGE_POOL=y CONFIG_DRM_VRAM_HELPER=m CONFIG_DRM_TTM_HELPER=m CONFIG_DRM_GEM_CMA_HELPER=y CONFIG_DRM_KMS_CMA_HELPER=y CONFIG_DRM_GEM_SHMEM_HELPER=y -CONFIG_DRM_VM=y CONFIG_DRM_SCHED=m # @@ -6092,8 +6256,7 @@ CONFIG_DRM_RADEON=m CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_CIK=y -# CONFIG_DRM_AMDGPU_USERPTR is not set -# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set +CONFIG_DRM_AMDGPU_USERPTR=y # # ACP (Audio CoProcessor) Configuration @@ -6106,9 +6269,9 @@ CONFIG_DRM_AMD_ACP=y # CONFIG_DRM_AMD_DC=y CONFIG_DRM_AMD_DC_DCN=y -CONFIG_DRM_AMD_DC_DCN3_0=y CONFIG_DRM_AMD_DC_HDCP=y # CONFIG_DRM_AMD_DC_SI is not set +# CONFIG_DRM_AMD_SECURE_DISPLAY is not set # end of Display Engine Configuration CONFIG_HSA_AMD=y @@ -6126,6 +6289,7 @@ CONFIG_DRM_I915_COMPRESS_ERROR=y CONFIG_DRM_I915_USERPTR=y CONFIG_DRM_I915_GVT=y CONFIG_DRM_I915_GVT_KVMGT=m +CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 CONFIG_DRM_I915_FENCE_TIMEOUT=10000 CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 @@ -6137,14 +6301,12 @@ CONFIG_DRM_VGEM=m CONFIG_DRM_VKMS=m CONFIG_DRM_VMWGFX=m CONFIG_DRM_VMWGFX_FBCON=y +CONFIG_DRM_VMWGFX_MKSSTATS=y CONFIG_DRM_GMA500=m -CONFIG_DRM_GMA600=y -CONFIG_DRM_GMA3600=y CONFIG_DRM_UDL=m CONFIG_DRM_AST=m CONFIG_DRM_MGAG200=m CONFIG_DRM_QXL=m -CONFIG_DRM_BOCHS=m CONFIG_DRM_VIRTIO_GPU=m CONFIG_DRM_PANEL=y @@ -6152,6 +6314,7 @@ CONFIG_DRM_PANEL=y # Display Panels # CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m # end of Display Panels CONFIG_DRM_BRIDGE=y @@ -6166,8 +6329,10 @@ CONFIG_DRM_ANALOGIX_DP=m CONFIG_DRM_ETNAVIV=m CONFIG_DRM_ETNAVIV_THERMAL=y +CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_GM12U320=m +CONFIG_DRM_SIMPLEDRM=m CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m @@ -6177,6 +6342,8 @@ CONFIG_TINYDRM_REPAPER=m CONFIG_TINYDRM_ST7586=m CONFIG_TINYDRM_ST7735R=m CONFIG_DRM_VBOXVIDEO=m +CONFIG_DRM_GUD=m +CONFIG_DRM_HYPERV=m CONFIG_DRM_LEGACY=y CONFIG_DRM_TDFX=m CONFIG_DRM_R128=m @@ -6254,11 +6421,13 @@ CONFIG_FB_EFI=y # CONFIG_FB_SMSCUFX is not set # CONFIG_FB_UDL is not set # CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_GOLDFISH is not set # CONFIG_FB_VIRTUAL is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_MB862XX is not set # CONFIG_FB_HYPERV is not set -CONFIG_FB_SIMPLE=y +CONFIG_FB_SIMPLE=m +CONFIG_FB_SSD1307=m # CONFIG_FB_SM712 is not set # end of Frame buffer Devices @@ -6285,6 +6454,7 @@ CONFIG_BACKLIGHT_PWM=m CONFIG_BACKLIGHT_DA9052=m CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_RT4831=m CONFIG_BACKLIGHT_SAHARA=m CONFIG_BACKLIGHT_WM831X=m CONFIG_BACKLIGHT_ADP8860=m @@ -6311,6 +6481,7 @@ CONFIG_DUMMY_CONSOLE=y CONFIG_DUMMY_CONSOLE_COLUMNS=80 CONFIG_DUMMY_CONSOLE_ROWS=25 CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y @@ -6349,6 +6520,7 @@ CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_CTL_LED=m CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_SEQUENCER_OSS=m @@ -6466,6 +6638,7 @@ CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m CONFIG_SND_HDA_CODEC_HDMI=m CONFIG_SND_HDA_CODEC_CIRRUS=m +CONFIG_SND_HDA_CODEC_CS8409=m CONFIG_SND_HDA_CODEC_CONEXANT=m CONFIG_SND_HDA_CODEC_CA0110=m CONFIG_SND_HDA_CODEC_CA0132=m @@ -6485,6 +6658,8 @@ CONFIG_SND_HDA_EXT_CORE=m CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_INTEL_NHLT=y CONFIG_SND_INTEL_DSP_CONFIG=m +CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m +# CONFIG_SND_INTEL_BYT_PREFER_SOF is not set CONFIG_SND_SPI=y CONFIG_SND_USB=y CONFIG_SND_USB_AUDIO=m @@ -6521,6 +6696,9 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y CONFIG_SND_SOC_COMPRESS=y CONFIG_SND_SOC_TOPOLOGY=y CONFIG_SND_SOC_ACPI=m +CONFIG_SND_SOC_ADI=m +CONFIG_SND_SOC_ADI_AXI_I2S=m +CONFIG_SND_SOC_ADI_AXI_SPDIF=m CONFIG_SND_SOC_AMD_ACP=m CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m @@ -6528,6 +6706,7 @@ CONFIG_SND_SOC_AMD_ACP3x=m CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m CONFIG_SND_SOC_AMD_RENOIR=m CONFIG_SND_SOC_AMD_RENOIR_MACH=m +CONFIG_SND_SOC_AMD_ACP5x=m CONFIG_SND_ATMEL_SOC=m CONFIG_SND_BCM63XX_I2S_WHISTLER=m CONFIG_SND_DESIGNWARE_I2S=m @@ -6549,6 +6728,8 @@ CONFIG_SND_SOC_FSL_SPDIF=m CONFIG_SND_SOC_FSL_ESAI=m CONFIG_SND_SOC_FSL_MICFIL=m CONFIG_SND_SOC_FSL_EASRC=m +CONFIG_SND_SOC_FSL_XCVR=m +CONFIG_SND_SOC_FSL_RPMSG=m CONFIG_SND_SOC_IMX_AUDMUX=m # end of SoC Audio for Freescale CPUs @@ -6582,12 +6763,15 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y # CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m +CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m @@ -6613,6 +6797,7 @@ CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m @@ -6620,46 +6805,41 @@ CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH=m CONFIG_SND_SOC_MTK_BTCVSD=m CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SOF_PCI_DEV=m CONFIG_SND_SOC_SOF_PCI=m CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_ACPI_DEV=m # CONFIG_SND_SOC_SOF_DEBUG_PROBES is not set CONFIG_SND_SOC_SOF=m CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y -CONFIG_SND_SOC_SOF_INTEL_ACPI=m -CONFIG_SND_SOC_SOF_INTEL_PCI=m CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m CONFIG_SND_SOC_SOF_INTEL_COMMON=m -CONFIG_SND_SOC_SOF_MERRIFIELD_SUPPORT=y +CONFIG_SND_SOC_SOF_BAYTRAIL=m +CONFIG_SND_SOC_SOF_BROADWELL=m CONFIG_SND_SOC_SOF_MERRIFIELD=m -CONFIG_SND_SOC_SOF_APOLLOLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_INTEL_APL=m CONFIG_SND_SOC_SOF_APOLLOLAKE=m -CONFIG_SND_SOC_SOF_GEMINILAKE_SUPPORT=y CONFIG_SND_SOC_SOF_GEMINILAKE=m -CONFIG_SND_SOC_SOF_CANNONLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_INTEL_CNL=m CONFIG_SND_SOC_SOF_CANNONLAKE=m -CONFIG_SND_SOC_SOF_COFFEELAKE_SUPPORT=y CONFIG_SND_SOC_SOF_COFFEELAKE=m -CONFIG_SND_SOC_SOF_ICELAKE_SUPPORT=y -CONFIG_SND_SOC_SOF_ICELAKE=m CONFIG_SND_SOC_SOF_COMETLAKE=m -CONFIG_SND_SOC_SOF_COMETLAKE_SUPPORT=y -CONFIG_SND_SOC_SOF_COMETLAKE_LP_SUPPORT=y -CONFIG_SND_SOC_SOF_TIGERLAKE_SUPPORT=y +CONFIG_SND_SOC_SOF_INTEL_ICL=m +CONFIG_SND_SOC_SOF_ICELAKE=m +CONFIG_SND_SOC_SOF_JASPERLAKE=m +CONFIG_SND_SOC_SOF_INTEL_TGL=m CONFIG_SND_SOC_SOF_TIGERLAKE=m -CONFIG_SND_SOC_SOF_ELKHARTLAKE_SUPPORT=y CONFIG_SND_SOC_SOF_ELKHARTLAKE=m -CONFIG_SND_SOC_SOF_JASPERLAKE_SUPPORT=y -CONFIG_SND_SOC_SOF_JASPERLAKE=m +CONFIG_SND_SOC_SOF_ALDERLAKE=m CONFIG_SND_SOC_SOF_HDA_COMMON=m CONFIG_SND_SOC_SOF_HDA_LINK=y CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y -CONFIG_SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1=y CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m CONFIG_SND_SOC_SOF_HDA=m -# CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK is not set CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m +CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m CONFIG_SND_SOC_SOF_XTENSA=m # @@ -6671,14 +6851,18 @@ CONFIG_SND_SOC_XILINX_I2S=m CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m CONFIG_SND_SOC_XILINX_SPDIF=m CONFIG_SND_SOC_XTFPGA_I2S=m -CONFIG_ZX_TDM=m CONFIG_SND_SOC_I2C_AND_SPI=m # # CODEC drivers # +CONFIG_SND_SOC_ARIZONA=m +CONFIG_SND_SOC_WM_ADSP=m # CONFIG_SND_SOC_AC97_CODEC is not set CONFIG_SND_SOC_ADAU_UTILS=m +CONFIG_SND_SOC_ADAU1372=m +CONFIG_SND_SOC_ADAU1372_I2C=m +CONFIG_SND_SOC_ADAU1372_SPI=m CONFIG_SND_SOC_ADAU1701=m CONFIG_SND_SOC_ADAU17X1=m CONFIG_SND_SOC_ADAU1761=m @@ -6737,6 +6921,7 @@ CONFIG_SND_SOC_ES8328_SPI=m CONFIG_SND_SOC_GTM601=m CONFIG_SND_SOC_HDAC_HDMI=m CONFIG_SND_SOC_HDAC_HDA=m +CONFIG_SND_SOC_ICS43432=m CONFIG_SND_SOC_INNO_RK3036=m CONFIG_SND_SOC_MAX98088=m CONFIG_SND_SOC_MAX98090=m @@ -6766,6 +6951,7 @@ CONFIG_SND_SOC_PCM3060_SPI=m CONFIG_SND_SOC_PCM3168A=m CONFIG_SND_SOC_PCM3168A_I2C=m CONFIG_SND_SOC_PCM3168A_SPI=m +CONFIG_SND_SOC_PCM5102A=m CONFIG_SND_SOC_PCM512x=m CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x_SPI=m @@ -6776,7 +6962,9 @@ CONFIG_SND_SOC_RT286=m CONFIG_SND_SOC_RT298=m CONFIG_SND_SOC_RT1011=m CONFIG_SND_SOC_RT1015=m +CONFIG_SND_SOC_RT1015P=m CONFIG_SND_SOC_RT1308_SDW=m +CONFIG_SND_SOC_RT1316_SDW=m CONFIG_SND_SOC_RT5514=m CONFIG_SND_SOC_RT5514_SPI=m CONFIG_SND_SOC_RT5616=m @@ -6784,6 +6972,7 @@ CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5640=m CONFIG_SND_SOC_RT5645=m CONFIG_SND_SOC_RT5651=m +CONFIG_SND_SOC_RT5659=m CONFIG_SND_SOC_RT5660=m CONFIG_SND_SOC_RT5663=m CONFIG_SND_SOC_RT5670=m @@ -6796,17 +6985,20 @@ CONFIG_SND_SOC_RT700=m CONFIG_SND_SOC_RT700_SDW=m CONFIG_SND_SOC_RT711=m CONFIG_SND_SOC_RT711_SDW=m +CONFIG_SND_SOC_RT711_SDCA_SDW=m CONFIG_SND_SOC_RT715=m CONFIG_SND_SOC_RT715_SDW=m +CONFIG_SND_SOC_RT715_SDCA_SDW=m CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_SI476X=m CONFIG_SND_SOC_SIGMADSP=m CONFIG_SND_SOC_SIGMADSP_I2C=m CONFIG_SND_SOC_SIGMADSP_REGMAP=m CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m -CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m +CONFIG_SND_SOC_SIMPLE_MUX=m CONFIG_SND_SOC_SPDIF=m CONFIG_SND_SOC_SSM2305=m +CONFIG_SND_SOC_SSM2518=m CONFIG_SND_SOC_SSM2602=m CONFIG_SND_SOC_SSM2602_SPI=m CONFIG_SND_SOC_SSM2602_I2C=m @@ -6824,6 +7016,7 @@ CONFIG_SND_SOC_TAS5720=m CONFIG_SND_SOC_TAS6424=m CONFIG_SND_SOC_TDA7419=m CONFIG_SND_SOC_TFA9879=m +CONFIG_SND_SOC_TFA989X=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_I2C=m CONFIG_SND_SOC_TLV320AIC23_SPI=m @@ -6832,13 +7025,19 @@ CONFIG_SND_SOC_TLV320AIC32X4=m CONFIG_SND_SOC_TLV320AIC32X4_I2C=m CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC3X_I2C=m +CONFIG_SND_SOC_TLV320AIC3X_SPI=m CONFIG_SND_SOC_TLV320ADCX140=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m CONFIG_SND_SOC_TSCS454=m CONFIG_SND_SOC_UDA1334=m CONFIG_SND_SOC_WCD9335=m +CONFIG_SND_SOC_WCD_MBHC=m CONFIG_SND_SOC_WCD934X=m +CONFIG_SND_SOC_WCD938X=m +CONFIG_SND_SOC_WCD938X_SDW=m +CONFIG_SND_SOC_WM5102=m CONFIG_SND_SOC_WM8510=m CONFIG_SND_SOC_WM8523=m CONFIG_SND_SOC_WM8524=m @@ -6865,17 +7064,21 @@ CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m CONFIG_SND_SOC_WSA881X=m CONFIG_SND_SOC_ZL38060=m -CONFIG_SND_SOC_ZX_AUD96P22=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MT6351=m CONFIG_SND_SOC_MT6358=m CONFIG_SND_SOC_MT6660=m +CONFIG_SND_SOC_NAU8315=m CONFIG_SND_SOC_NAU8540=m CONFIG_SND_SOC_NAU8810=m CONFIG_SND_SOC_NAU8822=m CONFIG_SND_SOC_NAU8824=m CONFIG_SND_SOC_NAU8825=m CONFIG_SND_SOC_TPA6130A2=m +CONFIG_SND_SOC_LPASS_WSA_MACRO=m +CONFIG_SND_SOC_LPASS_VA_MACRO=m +CONFIG_SND_SOC_LPASS_RX_MACRO=m +CONFIG_SND_SOC_LPASS_TX_MACRO=m # end of CODEC drivers CONFIG_SND_SIMPLE_CARD_UTILS=m @@ -6883,6 +7086,7 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m CONFIG_SND_SYNTH_EMUX=m +CONFIG_SND_VIRTIO=m CONFIG_AC97_BUS=m # @@ -6925,6 +7129,7 @@ CONFIG_HID_ELAN=m CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_EZKEY=m +CONFIG_HID_FT260=m CONFIG_HID_GEMBIRD=m CONFIG_HID_GFRM=m CONFIG_HID_GLORIOUS=m @@ -6975,11 +7180,14 @@ CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m +CONFIG_HID_PLAYSTATION=m +# CONFIG_PLAYSTATION_FF is not set CONFIG_HID_PRIMAX=m CONFIG_HID_RETRODE=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m +CONFIG_HID_SEMITEK=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m @@ -7022,9 +7230,11 @@ CONFIG_USB_HIDDEV=y # # I2C HID support # -CONFIG_I2C_HID=m +CONFIG_I2C_HID_ACPI=m # end of I2C HID support +CONFIG_I2C_HID_CORE=m + # # Intel ISH HID support # @@ -7037,11 +7247,20 @@ CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER=m # CONFIG_AMD_SFH_HID=m # end of AMD SFH HID Support + +# +# Surface System Aggregator Module HID support +# +CONFIG_SURFACE_HID=m +CONFIG_SURFACE_KBD=m +# end of Surface System Aggregator Module HID support + +CONFIG_SURFACE_HID_CORE=m # end of HID support CONFIG_USB_OHCI_LITTLE_ENDIAN=y CONFIG_USB_SUPPORT=y -CONFIG_USB_COMMON=y +CONFIG_USB_COMMON=m CONFIG_USB_LED_TRIG=y CONFIG_USB_ULPI_BUS=m CONFIG_USB_CONN_GPIO=m @@ -7142,10 +7361,15 @@ CONFIG_USBIP_VHCI_NR_HCS=1 CONFIG_USBIP_HOST=m CONFIG_USBIP_VUDC=m # CONFIG_USBIP_DEBUG is not set +CONFIG_USB_CDNS_SUPPORT=m +CONFIG_USB_CDNS_HOST=y CONFIG_USB_CDNS3=m CONFIG_USB_CDNS3_GADGET=y CONFIG_USB_CDNS3_HOST=y CONFIG_USB_CDNS3_PCI_WRAP=m +CONFIG_USB_CDNSP_PCI=m +# CONFIG_USB_CDNSP_GADGET is not set +# CONFIG_USB_CDNSP_HOST is not set CONFIG_USB_MUSB_HDRC=m # CONFIG_USB_MUSB_HOST is not set # CONFIG_USB_MUSB_GADGET is not set @@ -7243,7 +7467,6 @@ CONFIG_USB_SERIAL_SIERRAWIRELESS=m CONFIG_USB_SERIAL_SYMBOL=m CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_WWAN=m CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_OMNINET=m @@ -7253,6 +7476,7 @@ CONFIG_USB_SERIAL_WISHBONE=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m # CONFIG_USB_SERIAL_UPD78F0730 is not set +CONFIG_USB_SERIAL_XR=m # CONFIG_USB_SERIAL_DEBUG is not set # @@ -7321,10 +7545,6 @@ CONFIG_USB_MV_U3D=m CONFIG_USB_SNP_CORE=m CONFIG_USB_M66592=m CONFIG_USB_BDC_UDC=m - -# -# Platform Support -# CONFIG_USB_AMD5536UDC=m CONFIG_USB_NET2272=m CONFIG_USB_NET2272_DMA=y @@ -7424,8 +7644,8 @@ CONFIG_TYPEC_FUSB302=m CONFIG_TYPEC_UCSI=m CONFIG_UCSI_CCG=m CONFIG_UCSI_ACPI=m -CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_STUSB160X=m # @@ -7506,12 +7726,10 @@ CONFIG_LEDS_CLASS_MULTICOLOR=m # LED drivers # CONFIG_LEDS_APU=m -CONFIG_LEDS_AS3645A=m CONFIG_LEDS_LM3530=m CONFIG_LEDS_LM3532=m CONFIG_LEDS_LM3533=m CONFIG_LEDS_LM3642=m -CONFIG_LEDS_LM3601X=m CONFIG_LEDS_MT6323=m CONFIG_LEDS_PCA9532=m CONFIG_LEDS_PCA9532_GPIO=y @@ -7530,6 +7748,7 @@ CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m CONFIG_LEDS_BD2802=m CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LT3593=m CONFIG_LEDS_MC13783=m CONFIG_LEDS_TCA6507=m CONFIG_LEDS_TLC591XX=m @@ -7547,6 +7766,13 @@ CONFIG_LEDS_NIC78BX=m CONFIG_LEDS_TI_LMU_COMMON=m CONFIG_LEDS_LM36274=m CONFIG_LEDS_TPS6105X=m + +# +# Flash and Torch LED drivers +# +CONFIG_LEDS_AS3645A=m +CONFIG_LEDS_LM3601X=m +CONFIG_LEDS_RT8515=m CONFIG_LEDS_SGM3140=m # @@ -7573,6 +7799,7 @@ CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_PATTERN=m CONFIG_LEDS_TRIGGER_AUDIO=m +CONFIG_LEDS_TRIGGER_TTY=m CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y @@ -7607,7 +7834,7 @@ CONFIG_INFINIBAND_QIB=m CONFIG_INFINIBAND_QIB_DCA=y CONFIG_INFINIBAND_CXGB4=m CONFIG_INFINIBAND_EFA=m -CONFIG_INFINIBAND_I40IW=m +CONFIG_INFINIBAND_IRDMA=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m CONFIG_INFINIBAND_OCRDMA=m @@ -7641,7 +7868,6 @@ CONFIG_EDAC_LEGACY_SYSFS=y CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_GHES=y CONFIG_EDAC_AMD64=m -CONFIG_EDAC_AMD64_ERROR_INJECTION=y CONFIG_EDAC_E752X=m CONFIG_EDAC_I82975X=m CONFIG_EDAC_I3000=m @@ -7657,6 +7883,7 @@ CONFIG_EDAC_SBRIDGE=m CONFIG_EDAC_SKX=m CONFIG_EDAC_I10NM=m CONFIG_EDAC_PND2=m +CONFIG_EDAC_IGEN6=m CONFIG_RTC_LIB=y CONFIG_RTC_MC146818_LIB=y CONFIG_RTC_CLASS=y @@ -7726,7 +7953,6 @@ CONFIG_RTC_DRV_DS1390=m CONFIG_RTC_DRV_MAX6916=m CONFIG_RTC_DRV_R9701=m CONFIG_RTC_DRV_RX4581=m -CONFIG_RTC_DRV_RX6110=m CONFIG_RTC_DRV_RS5C348=m CONFIG_RTC_DRV_MAX6902=m CONFIG_RTC_DRV_PCF2123=m @@ -7741,6 +7967,7 @@ CONFIG_RTC_DRV_DS3232_HWMON=y CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_RV3029C2=m CONFIG_RTC_DRV_RV3029_HWMON=y +CONFIG_RTC_DRV_RX6110=m # # Platform RTC drivers @@ -7783,6 +8010,7 @@ CONFIG_RTC_DRV_MT6397=m # HID Sensor RTC drivers # CONFIG_RTC_DRV_HID_SENSOR_TIME=m +CONFIG_RTC_DRV_GOLDFISH=m CONFIG_RTC_DRV_WILCO_EC=m CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set @@ -7795,9 +8023,14 @@ CONFIG_DMA_VIRTUAL_CHANNELS=y CONFIG_DMA_ACPI=y CONFIG_ALTERA_MSGDMA=m CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_IDXD_BUS=y CONFIG_INTEL_IDXD=m +CONFIG_INTEL_IDXD_COMPAT=y +# CONFIG_INTEL_IDXD_SVM is not set +# CONFIG_INTEL_IDXD_PERFMON is not set CONFIG_INTEL_IOATDMA=m CONFIG_PLX_DMA=m +CONFIG_AMD_PTDMA=m CONFIG_QCOM_HIDMA_MGMT=m CONFIG_QCOM_HIDMA=m CONFIG_DW_DMAC_CORE=y @@ -7807,6 +8040,7 @@ CONFIG_DW_EDMA=m CONFIG_DW_EDMA_PCIE=m CONFIG_HSU_DMA=y CONFIG_SF_PDMA=m +# CONFIG_INTEL_LDMA is not set # # DMA Clients @@ -7822,12 +8056,16 @@ CONFIG_SYNC_FILE=y # CONFIG_SW_SYNC is not set # CONFIG_UDMABUF is not set # CONFIG_DMABUF_MOVE_NOTIFY is not set +# CONFIG_DMABUF_DEBUG is not set CONFIG_DMABUF_SELFTESTS=m # CONFIG_DMABUF_HEAPS is not set +# CONFIG_DMABUF_SYSFS_STATS is not set # end of DMABUF options CONFIG_DCA=m CONFIG_AUXDISPLAY=y +CONFIG_CHARLCD=m +CONFIG_HD44780_COMMON=m CONFIG_HD44780=m CONFIG_KS0108=m CONFIG_KS0108_PORT=0x378 @@ -7835,6 +8073,7 @@ CONFIG_KS0108_DELAY=2 CONFIG_CFAG12864B=m CONFIG_CFAG12864B_RATE=20 CONFIG_IMG_ASCII_LCD=m +CONFIG_LCD2S=m CONFIG_PARPORT_PANEL=m CONFIG_PANEL_PARPORT=0 CONFIG_PANEL_PROFILE=5 @@ -7843,7 +8082,6 @@ CONFIG_PANEL_PROFILE=5 # CONFIG_CHARLCD_BL_ON is not set CONFIG_CHARLCD_BL_FLASH=y CONFIG_PANEL=m -CONFIG_CHARLCD=m CONFIG_UIO=m CONFIG_UIO_CIF=m CONFIG_UIO_PDRV_GENIRQ=m @@ -7855,22 +8093,25 @@ CONFIG_UIO_NETX=m CONFIG_UIO_PRUSS=m CONFIG_UIO_MF624=m CONFIG_UIO_HV_GENERIC=m +CONFIG_UIO_DFL=m +CONFIG_VFIO=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO_VIRQFD=m -CONFIG_VFIO=m # CONFIG_VFIO_NOIOMMU is not set -CONFIG_VFIO_PCI=m -CONFIG_VFIO_PCI_VGA=y +CONFIG_VFIO_PCI_CORE=m CONFIG_VFIO_PCI_MMAP=y CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_VGA=y CONFIG_VFIO_PCI_IGD=y CONFIG_VFIO_MDEV=m -CONFIG_VFIO_MDEV_DEVICE=m CONFIG_IRQ_BYPASS_MANAGER=m CONFIG_VIRT_DRIVERS=y CONFIG_VBOXGUEST=m CONFIG_NITRO_ENCLAVES=m CONFIG_VIRTIO=m +CONFIG_ARCH_HAS_RESTRICTED_VIRTIO_MEMORY_ACCESS=y +CONFIG_VIRTIO_PCI_LIB=m CONFIG_VIRTIO_MENU=y CONFIG_VIRTIO_PCI=m CONFIG_VIRTIO_PCI_LEGACY=y @@ -7883,10 +8124,13 @@ CONFIG_VIRTIO_MMIO=m CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y CONFIG_VIRTIO_DMA_SHARED_BUFFER=m CONFIG_VDPA=m +CONFIG_VDPA_USER=m CONFIG_IFCVF=m CONFIG_MLX5_VDPA=y CONFIG_MLX5_VDPA_NET=m +CONFIG_VP_VDPA=m CONFIG_VHOST_IOTLB=m +CONFIG_VHOST_RING=m CONFIG_VHOST=m CONFIG_VHOST_MENU=y CONFIG_VHOST_NET=m @@ -7906,8 +8150,6 @@ CONFIG_HYPERV_BALLOON=m CONFIG_GREYBUS=m CONFIG_GREYBUS_ES2=m -CONFIG_STAGING=y -CONFIG_PRISM2_USB=m CONFIG_COMEDI=m # CONFIG_COMEDI_DEBUG is not set CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 @@ -8046,6 +8288,11 @@ CONFIG_COMEDI_NI_LABPC=m CONFIG_COMEDI_NI_LABPC_ISADMA=m CONFIG_COMEDI_NI_TIO=m CONFIG_COMEDI_NI_ROUTING=m +CONFIG_COMEDI_TESTS=m +CONFIG_COMEDI_TESTS_EXAMPLE=m +CONFIG_COMEDI_TESTS_NI_ROUTES=m +CONFIG_STAGING=y +CONFIG_PRISM2_USB=m CONFIG_RTL8192U=m CONFIG_RTLLIB=m CONFIG_RTLLIB_CRYPTO_CCMP=m @@ -8089,7 +8336,6 @@ CONFIG_ADT7316_I2C=m # # Capacitance to digital converters # -CONFIG_AD7150=m CONFIG_AD7746=m # end of Capacitance to digital converters @@ -8143,6 +8389,11 @@ CONFIG_VIDEO_ZORAN_LML33=m CONFIG_VIDEO_ZORAN_LML33R10=m CONFIG_VIDEO_ZORAN_AVS6EYES=m CONFIG_VIDEO_IPU3_IMGU=m +CONFIG_DVB_AV7110_IR=y +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_BUDGET_PATCH=m +CONFIG_DVB_SP8870=m # # Android @@ -8193,7 +8444,6 @@ CONFIG_FB_TFT_UPD161704=m CONFIG_FB_TFT_WATTEROTT=m CONFIG_MOST_COMPONENTS=m CONFIG_MOST_NET=m -CONFIG_MOST_SOUND=m CONFIG_MOST_VIDEO=m CONFIG_MOST_I2C=m CONFIG_KS7010=m @@ -8217,61 +8467,52 @@ CONFIG_GREYBUS_SPI=m CONFIG_GREYBUS_UART=m CONFIG_GREYBUS_USB=m CONFIG_PI433=m - -# -# Gasket devices -# -CONFIG_STAGING_GASKET_FRAMEWORK=m -CONFIG_STAGING_APEX_DRIVER=m -# end of Gasket devices - CONFIG_FIELDBUS_DEV=m -CONFIG_KPC2000=y -CONFIG_KPC2000_CORE=m -CONFIG_KPC2000_SPI=m -CONFIG_KPC2000_I2C=m -CONFIG_KPC2000_DMA=m CONFIG_QLGE=m CONFIG_WFX=m -CONFIG_SPMI_HISI3670=m CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACPI_WMI=m CONFIG_WMI_BMOF=m -CONFIG_ALIENWARE_WMI=m CONFIG_HUAWEI_WMI=m -CONFIG_INTEL_WMI_SBL_FW_UPDATE=m -CONFIG_INTEL_WMI_THUNDERBOLT=m CONFIG_MXM_WMI=m CONFIG_PEAQ_WMI=m CONFIG_XIAOMI_WMI=m +CONFIG_GIGABYTE_WMI=m CONFIG_ACERHDF=m CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m +CONFIG_AMD_PMC=m +CONFIG_ADV_SWBUTTON=m CONFIG_APPLE_GMUX=m CONFIG_ASUS_LAPTOP=m CONFIG_ASUS_WIRELESS=m CONFIG_ASUS_WMI=m CONFIG_ASUS_NB_WMI=m +CONFIG_MERAKI_MX100=m CONFIG_EEEPC_LAPTOP=m CONFIG_EEEPC_WMI=m +CONFIG_X86_PLATFORM_DRIVERS_DELL=y +CONFIG_ALIENWARE_WMI=m CONFIG_DCDBAS=m +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_RBU=m +CONFIG_DELL_RBTN=m CONFIG_DELL_SMBIOS=m CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMBIOS_SMM=y -CONFIG_DELL_LAPTOP=m -CONFIG_DELL_RBTN=m -CONFIG_DELL_RBU=m CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI=m -CONFIG_DELL_WMI_DESCRIPTOR=m +# CONFIG_DELL_WMI_PRIVACY is not set CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_DESCRIPTOR=m CONFIG_DELL_WMI_LED=m +CONFIG_DELL_WMI_SYSMAN=m CONFIG_AMILO_RFKILL=m CONFIG_FUJITSU_LAPTOP=m CONFIG_FUJITSU_TABLET=m CONFIG_GPD_POCKET_FAN=m CONFIG_HP_ACCEL=m -CONFIG_HP_WIRELESS=m +CONFIG_WIRELESS_HOTKEY=m CONFIG_HP_WMI=m CONFIG_IBM_RTL=m CONFIG_IDEAPAD_LAPTOP=m @@ -8283,17 +8524,38 @@ CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +CONFIG_THINKPAD_LMI=m +CONFIG_INTEL_ATOMISP2_PDX86=y CONFIG_INTEL_ATOMISP2_LED=m +CONFIG_INTEL_SAR_INT1092=m CONFIG_INTEL_CHT_INT33FE=m +CONFIG_INTEL_SKL_INT3472=m +CONFIG_INTEL_PMC_CORE=y +# CONFIG_INTEL_PMT_TELEMETRY is not set +# CONFIG_INTEL_PMT_CRASHLOG is not set + +# +# Intel Speed Select Technology interface support +# +CONFIG_INTEL_SPEED_SELECT_INTERFACE=m +# end of Intel Speed Select Technology interface support + +CONFIG_INTEL_TELEMETRY=m +CONFIG_INTEL_WMI=y +CONFIG_INTEL_WMI_SBL_FW_UPDATE=m +CONFIG_INTEL_WMI_THUNDERBOLT=m CONFIG_INTEL_HID_EVENT=m +CONFIG_INTEL_VBTN=m CONFIG_INTEL_INT0002_VGPIO=m -CONFIG_INTEL_MENLOW=m CONFIG_INTEL_OAKTRAIL=m -CONFIG_INTEL_VBTN=m -CONFIG_SURFACE3_WMI=m -CONFIG_SURFACE_3_BUTTON=m -CONFIG_SURFACE_3_POWER_OPREGION=m -CONFIG_SURFACE_PRO3_BUTTON=m +CONFIG_INTEL_BXTWC_PMIC_TMU=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m +CONFIG_INTEL_MRFLD_PWRBTN=m +CONFIG_INTEL_PUNIT_IPC=m +CONFIG_INTEL_RST=m +CONFIG_INTEL_SMARTCONNECT=m +CONFIG_INTEL_TURBO_MAX_3=y +CONFIG_INTEL_UNCORE_FREQ_CONTROL=m CONFIG_MSI_LAPTOP=m CONFIG_MSI_WMI=m CONFIG_PCENGINES_APU2=m @@ -8313,31 +8575,15 @@ CONFIG_SYSTEM76_ACPI=m CONFIG_TOPSTAR_LAPTOP=m CONFIG_I2C_MULTI_INSTANTIATE=m CONFIG_MLX_PLATFORM=m +CONFIG_FW_ATTR_CLASS=m CONFIG_INTEL_IPS=m -CONFIG_INTEL_RST=m -CONFIG_INTEL_SMARTCONNECT=m - -# -# Intel Speed Select Technology interface support -# -CONFIG_INTEL_SPEED_SELECT_INTERFACE=m -# end of Intel Speed Select Technology interface support - -CONFIG_INTEL_TURBO_MAX_3=y -CONFIG_INTEL_UNCORE_FREQ_CONTROL=m -CONFIG_INTEL_BXTWC_PMIC_TMU=m -CONFIG_INTEL_CHTDC_TI_PWRBTN=m -CONFIG_INTEL_MID_POWER_BUTTON=m -CONFIG_INTEL_MRFLD_PWRBTN=m -CONFIG_INTEL_PMC_CORE=y -CONFIG_INTEL_PUNIT_IPC=m CONFIG_INTEL_SCU_IPC=y CONFIG_INTEL_SCU=y CONFIG_INTEL_SCU_PCI=y CONFIG_INTEL_SCU_PLATFORM=m CONFIG_INTEL_SCU_IPC_UTIL=m -CONFIG_INTEL_TELEMETRY=m CONFIG_PMC_ATOM=y +CONFIG_GOLDFISH_PIPE=m CONFIG_CHROME_PLATFORMS=y CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m @@ -8364,11 +8610,33 @@ CONFIG_WILCO_EC_TELEMETRY=m CONFIG_MELLANOX_PLATFORM=y CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXREG_IO=m +CONFIG_SURFACE_PLATFORMS=y +CONFIG_SURFACE3_WMI=m +CONFIG_SURFACE_3_BUTTON=m +CONFIG_SURFACE_3_POWER_OPREGION=m +CONFIG_SURFACE_ACPI_NOTIFY=m +CONFIG_SURFACE_AGGREGATOR_CDEV=m +CONFIG_SURFACE_AGGREGATOR_REGISTRY=m +CONFIG_SURFACE_DTX=m +CONFIG_SURFACE_GPE=m +CONFIG_SURFACE_HOTPLUG=m +CONFIG_SURFACE_PLATFORM_PROFILE=m +CONFIG_SURFACE_PRO3_BUTTON=m +CONFIG_SURFACE_AGGREGATOR=m +CONFIG_SURFACE_AGGREGATOR_BUS=y CONFIG_HAVE_CLK=y -CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_WM831X=m + +# +# Clock driver for ARM Reference designs +# +# CONFIG_ICST is not set +# CONFIG_CLK_SP810 is not set +# end of Clock driver for ARM Reference designs + +CONFIG_LMK04832=m CONFIG_COMMON_CLK_MAX9485=m CONFIG_COMMON_CLK_SI5341=m CONFIG_COMMON_CLK_SI5351=m @@ -8376,6 +8644,7 @@ CONFIG_COMMON_CLK_SI544=m CONFIG_COMMON_CLK_CDCE706=m CONFIG_COMMON_CLK_CS2000_CP=m CONFIG_COMMON_CLK_PWM=m +# CONFIG_XILINX_VCU is not set CONFIG_HWSPINLOCK=y # @@ -8397,11 +8666,15 @@ CONFIG_IOMMU_SUPPORT=y # # Generic IOMMU Pagetable Support # +CONFIG_IOMMU_IO_PGTABLE=y # end of Generic IOMMU Pagetable Support # CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set +CONFIG_IOMMU_DEFAULT_DMA_LAZY=y # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_DMA=y +CONFIG_IOMMU_SVA_LIB=y CONFIG_AMD_IOMMU=y CONFIG_AMD_IOMMU_V2=m CONFIG_DMAR_TABLE=y @@ -8412,6 +8685,7 @@ CONFIG_INTEL_IOMMU_FLOPPY_WA=y # CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set CONFIG_IRQ_REMAP=y CONFIG_HYPERV_IOMMU=y +CONFIG_VIRTIO_IOMMU=m # # Remoteproc drivers @@ -8424,6 +8698,7 @@ CONFIG_HYPERV_IOMMU=y # CONFIG_RPMSG=m CONFIG_RPMSG_CHAR=m +CONFIG_RPMSG_NS=m CONFIG_RPMSG_QCOM_GLINK=m CONFIG_RPMSG_QCOM_GLINK_RPM=m CONFIG_RPMSG_VIRTIO=m @@ -8449,11 +8724,6 @@ CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m # end of Amlogic SoC drivers # -# Aspeed SoC drivers -# -# end of Aspeed SoC drivers - -# # Broadcom SoC drivers # # end of Broadcom SoC drivers @@ -8469,6 +8739,11 @@ CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m # end of i.MX SoC drivers # +# Enable LiteX SoC Builder specific drivers +# +# end of Enable LiteX SoC Builder specific drivers + +# # Qualcomm SoC drivers # CONFIG_QCOM_QMI_HELPERS=m @@ -8479,7 +8754,6 @@ CONFIG_QCOM_QMI_HELPERS=m # # Xilinx SoC drivers # -# CONFIG_XILINX_VCU is not set # end of Xilinx SoC drivers # end of SOC (System On Chip) specific Drivers @@ -8504,7 +8778,6 @@ CONFIG_EXTCON=y # Extcon Device Drivers # CONFIG_EXTCON_ADC_JACK=m -CONFIG_EXTCON_ARIZONA=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_FSA9480=m CONFIG_EXTCON_GPIO=m @@ -8518,7 +8791,9 @@ CONFIG_EXTCON_RT8973A=m CONFIG_EXTCON_SM5502=m CONFIG_EXTCON_USB_GPIO=m CONFIG_EXTCON_USBC_CROS_EC=m +CONFIG_EXTCON_USBC_TUSB320=m CONFIG_MEMORY=y +CONFIG_FPGA_DFL_EMIF=m CONFIG_IIO=m CONFIG_IIO_BUFFER=y CONFIG_IIO_BUFFER_CB=m @@ -8549,10 +8824,15 @@ CONFIG_BMA400_SPI=m CONFIG_BMC150_ACCEL=m CONFIG_BMC150_ACCEL_I2C=m CONFIG_BMC150_ACCEL_SPI=m +CONFIG_BMI088_ACCEL=m +CONFIG_BMI088_ACCEL_SPI=m CONFIG_DA280=m CONFIG_DA311=m CONFIG_DMARD09=m CONFIG_DMARD10=m +CONFIG_FXLS8962AF=m +CONFIG_FXLS8962AF_I2C=m +CONFIG_FXLS8962AF_SPI=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m CONFIG_IIO_ST_ACCEL_3AXIS=m @@ -8574,6 +8854,7 @@ CONFIG_MMA9553=m CONFIG_MXC4005=m CONFIG_MXC6255=m CONFIG_SCA3000=m +CONFIG_SCA3300=m CONFIG_STK8312=m CONFIG_STK8BA50=m # end of Accelerometers @@ -8624,6 +8905,7 @@ CONFIG_MAX9611=m CONFIG_MCP320X=m CONFIG_MCP3422=m CONFIG_MCP3911=m +CONFIG_MEDIATEK_MT6360_ADC=m CONFIG_MEN_Z188_ADC=m CONFIG_MP2629_ADC=m CONFIG_NAU7802=m @@ -8640,8 +8922,10 @@ CONFIG_TI_ADC128S052=m CONFIG_TI_ADC161S626=m CONFIG_TI_ADS1015=m CONFIG_TI_ADS7950=m +CONFIG_TI_ADS131E08=m CONFIG_TI_AM335X_ADC=m CONFIG_TI_TLC4541=m +CONFIG_TI_TSC2046=m CONFIG_VIPERBOARD_ADC=m CONFIG_XILINX_XADC=m # end of Analog to digital converters @@ -8659,6 +8943,12 @@ CONFIG_HMC425=m # end of Amplifiers # +# Capacitance to digital converters +# +CONFIG_AD7150=m +# end of Capacitance to digital converters + +# # Chemical Sensors # CONFIG_ATLAS_PH_SENSOR=m @@ -8673,7 +8963,10 @@ CONFIG_SCD30_CORE=m CONFIG_SCD30_I2C=m CONFIG_SCD30_SERIAL=m CONFIG_SENSIRION_SGP30=m +CONFIG_SENSIRION_SGP40=m CONFIG_SPS30=m +CONFIG_SPS30_I2C=m +CONFIG_SPS30_SERIAL=m CONFIG_VZ89X=m # end of Chemical Sensors @@ -8691,6 +8984,11 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_IIO_MS_SENSORS_I2C=m # +# IIO SCMI Sensors +# +# end of IIO SCMI Sensors + +# # SSP Sensor Common # CONFIG_IIO_SSP_SENSORS_COMMONS=m @@ -8722,6 +9020,7 @@ CONFIG_AD5755=m CONFIG_AD5758=m CONFIG_AD5761=m CONFIG_AD5764=m +CONFIG_AD5766=m CONFIG_AD5770R=m CONFIG_AD5791=m CONFIG_AD7303=m @@ -8841,6 +9140,9 @@ CONFIG_IIO_ST_LSM6DSX=m CONFIG_IIO_ST_LSM6DSX_I2C=m CONFIG_IIO_ST_LSM6DSX_SPI=m CONFIG_IIO_ST_LSM6DSX_I3C=m +CONFIG_IIO_ST_LSM9DS0=m +CONFIG_IIO_ST_LSM9DS0_I2C=m +CONFIG_IIO_ST_LSM9DS0_SPI=m # end of Inertial measurement units CONFIG_IIO_ADIS_LIB=m @@ -8892,6 +9194,7 @@ CONFIG_TCS3414=m CONFIG_TCS3472=m CONFIG_SENSORS_TSL2563=m CONFIG_TSL2583=m +CONFIG_TSL2591=m CONFIG_TSL2772=m CONFIG_TSL4531=m CONFIG_US5182D=m @@ -8923,6 +9226,7 @@ CONFIG_SENSORS_HMC5843_SPI=m CONFIG_SENSORS_RM3100=m CONFIG_SENSORS_RM3100_I2C=m CONFIG_SENSORS_RM3100_SPI=m +CONFIG_YAMAHA_YAS530=m # end of Magnetometer sensors # @@ -8950,11 +9254,13 @@ CONFIG_IIO_SYSFS_TRIGGER=m # Linear and angular position sensors # CONFIG_IQS624_POS=m +CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m # end of Linear and angular position sensors # # Digital potentiometers # +CONFIG_AD5110=m CONFIG_AD5272=m CONFIG_DS1803=m CONFIG_MAX5432=m @@ -9013,6 +9319,7 @@ CONFIG_AS3935=m # # Proximity and distance sensors # +CONFIG_CROS_EC_MKBP_PROXIMITY=m CONFIG_ISL29501=m CONFIG_LIDAR_LITE_V2=m CONFIG_MB1232=m @@ -9044,6 +9351,7 @@ CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_TMP006=m CONFIG_TMP007=m +CONFIG_TMP117=m CONFIG_TSYS01=m CONFIG_TSYS02D=m CONFIG_MAX31856=m @@ -9054,6 +9362,7 @@ CONFIG_NTB_MSI=y CONFIG_NTB_AMD=m CONFIG_NTB_IDT=m CONFIG_NTB_INTEL=m +CONFIG_NTB_EPF=m CONFIG_NTB_SWITCHTEC=m CONFIG_NTB_PINGPONG=m CONFIG_NTB_TOOL=m @@ -9082,6 +9391,7 @@ CONFIG_PWM=y CONFIG_PWM_SYSFS=y # CONFIG_PWM_DEBUG is not set CONFIG_PWM_CROS_EC=m +CONFIG_PWM_DWC=m CONFIG_PWM_IQS620A=m CONFIG_PWM_LP3943=m CONFIG_PWM_LPSS=m @@ -9106,6 +9416,7 @@ CONFIG_RESET_TI_SYSCON=m # CONFIG_GENERIC_PHY=y CONFIG_USB_LGM_PHY=m +CONFIG_PHY_CAN_TRANSCEIVER=m CONFIG_BCM_KONA_USB2_PHY=m CONFIG_PHY_PXA_28NM_HSIC=m CONFIG_PHY_PXA_28NM_USB2=m @@ -9121,6 +9432,7 @@ CONFIG_POWERCAP=y CONFIG_INTEL_RAPL_CORE=m CONFIG_INTEL_RAPL=m # CONFIG_IDLE_INJECT is not set +# CONFIG_DTPM is not set CONFIG_MCB=m CONFIG_MCB_PCI=m CONFIG_MCB_LPC=m @@ -9135,6 +9447,7 @@ CONFIG_RAS_CEC=y # CONFIG_RAS_CEC_DEBUG is not set CONFIG_USB4=m # CONFIG_USB4_DEBUGFS_WRITE is not set +CONFIG_USB4_DMA_TEST=m # # Android @@ -9159,6 +9472,7 @@ CONFIG_NVMEM=y CONFIG_NVMEM_SYSFS=y CONFIG_NVMEM_SPMI_SDAM=m CONFIG_RAVE_SP_EEPROM=m +CONFIG_NVMEM_RMEM=m # # HW tracing support @@ -9196,6 +9510,7 @@ CONFIG_FPGA_DFL_FME_MGR=m CONFIG_FPGA_DFL_FME_BRIDGE=m CONFIG_FPGA_DFL_FME_REGION=m CONFIG_FPGA_DFL_AFU=m +CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m CONFIG_FPGA_DFL_PCI=m CONFIG_TEE=m @@ -9223,9 +9538,12 @@ CONFIG_SLIMBUS=m CONFIG_SLIM_QCOM_CTRL=m # CONFIG_INTERCONNECT is not set CONFIG_COUNTER=m +CONFIG_INTERRUPT_CNT=m +CONFIG_INTEL_QEP=m CONFIG_MOST=m CONFIG_MOST_USB_HDM=m CONFIG_MOST_CDEV=m +CONFIG_MOST_SND=m # end of Device Drivers # @@ -9290,20 +9608,20 @@ CONFIG_F2FS_FS_XATTR=y CONFIG_F2FS_FS_POSIX_ACL=y CONFIG_F2FS_FS_SECURITY=y CONFIG_F2FS_CHECK_FS=y -# CONFIG_F2FS_IO_TRACE is not set # CONFIG_F2FS_FAULT_INJECTION is not set CONFIG_F2FS_FS_COMPRESSION=y CONFIG_F2FS_FS_LZO=y +CONFIG_F2FS_FS_LZORLE=y CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZ4HC=y CONFIG_F2FS_FS_ZSTD=y -CONFIG_F2FS_FS_LZORLE=y +CONFIG_F2FS_IOSTAT=y CONFIG_ZONEFS_FS=m CONFIG_FS_DAX=y CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y CONFIG_EXPORTFS_BLOCK_OPS=y CONFIG_FILE_LOCKING=y -CONFIG_MANDATORY_FILE_LOCKING=y CONFIG_FS_ENCRYPTION=y CONFIG_FS_ENCRYPTION_ALGS=m # CONFIG_FS_VERITY is not set @@ -9337,14 +9655,13 @@ CONFIG_OVERLAY_FS_XINO_AUTO=y # # Caches # +CONFIG_NETFS_SUPPORT=m +CONFIG_NETFS_STATS=y CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y -# CONFIG_FSCACHE_HISTOGRAM is not set # CONFIG_FSCACHE_DEBUG is not set -# CONFIG_FSCACHE_OBJECT_LIST is not set CONFIG_CACHEFILES=m # CONFIG_CACHEFILES_DEBUG is not set -# CONFIG_CACHEFILES_HISTOGRAM is not set # end of Caches # @@ -9370,6 +9687,10 @@ CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" CONFIG_NTFS_FS=m # CONFIG_NTFS_DEBUG is not set CONFIG_NTFS_RW=y +CONFIG_NTFS3_FS=m +# CONFIG_NTFS3_64BIT_CLUSTER is not set +CONFIG_NTFS3_LZX_XPRESS=y +CONFIG_NTFS3_FS_POSIX_ACL=y # end of DOS/FAT/EXFAT/NT Filesystems # @@ -9390,6 +9711,8 @@ CONFIG_TMPFS_XATTR=y # CONFIG_TMPFS_INODE64 is not set CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y +CONFIG_HUGETLB_PAGE_FREE_VMEMMAP=y +# CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON is not set CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=y @@ -9467,6 +9790,7 @@ CONFIG_ROMFS_BACKED_BY_BOTH=y CONFIG_ROMFS_ON_BLOCK=y CONFIG_ROMFS_ON_MTD=y CONFIG_PSTORE=y +CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 CONFIG_PSTORE_DEFLATE_COMPRESS=y CONFIG_PSTORE_LZO_COMPRESS=y CONFIG_PSTORE_LZ4_COMPRESS=y @@ -9485,6 +9809,12 @@ CONFIG_PSTORE_COMPRESS_DEFAULT="zstd" CONFIG_PSTORE_PMSG=y # CONFIG_PSTORE_FTRACE is not set CONFIG_PSTORE_RAM=m +CONFIG_PSTORE_ZONE=m +CONFIG_PSTORE_BLK=m +CONFIG_PSTORE_BLK_BLKDEV="" +CONFIG_PSTORE_BLK_KMSG_SIZE=64 +CONFIG_PSTORE_BLK_MAX_REASON=2 +CONFIG_PSTORE_BLK_PMSG_SIZE=64 CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set @@ -9532,6 +9862,7 @@ CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y +CONFIG_NFS_V4_2_SSC_HELPER=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_BACKCHANNEL=y @@ -9547,14 +9878,16 @@ CONFIG_CEPH_FS_POSIX_ACL=y CONFIG_CIFS=m CONFIG_CIFS_STATS2=y CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y -CONFIG_CIFS_WEAK_PW_HASH=y CONFIG_CIFS_UPCALL=y CONFIG_CIFS_XATTR=y CONFIG_CIFS_POSIX=y # CONFIG_CIFS_DEBUG is not set CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_SWN_UPCALL=y # CONFIG_CIFS_SMB_DIRECT is not set CONFIG_CIFS_FSCACHE=y +# CONFIG_SMB_SERVER is not set +CONFIG_SMBFS_COMMON=m CONFIG_CODA_FS=m CONFIG_AFS_FS=m # CONFIG_AFS_DEBUG is not set @@ -9656,6 +9989,7 @@ CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y CONFIG_SECURITY_YAMA=y # CONFIG_SECURITY_SAFESETID is not set # CONFIG_SECURITY_LOCKDOWN_LSM is not set +# CONFIG_SECURITY_LANDLOCK is not set CONFIG_INTEGRITY=y # CONFIG_INTEGRITY_SIGNATURE is not set CONFIG_INTEGRITY_AUDIT=y @@ -9719,7 +10053,6 @@ CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_SIMD=m -CONFIG_CRYPTO_GLUE_HELPER_X86=m CONFIG_CRYPTO_ENGINE=m # @@ -9729,6 +10062,7 @@ CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=m CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_ECDSA=m CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m @@ -9791,10 +10125,7 @@ CONFIG_CRYPTO_POLY1305_X86_64=m CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -CONFIG_CRYPTO_RMD128=m CONFIG_CRYPTO_RMD160=m -CONFIG_CRYPTO_RMD256=m -CONFIG_CRYPTO_RMD320=m CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256_SSSE3=m @@ -9804,7 +10135,6 @@ CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_SHA3=m CONFIG_CRYPTO_SM3=m CONFIG_CRYPTO_STREEBOG=m -CONFIG_CRYPTO_TGR192=m CONFIG_CRYPTO_WP512=m CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m @@ -9832,7 +10162,6 @@ CONFIG_CRYPTO_DES=m CONFIG_CRYPTO_DES3_EDE_X86_64=m CONFIG_CRYPTO_FCRYPT=m CONFIG_CRYPTO_KHAZAD=m -CONFIG_CRYPTO_SALSA20=m CONFIG_CRYPTO_CHACHA20=m CONFIG_CRYPTO_CHACHA20_X86_64=m CONFIG_CRYPTO_SEED=m @@ -9841,6 +10170,8 @@ CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m CONFIG_CRYPTO_SERPENT_AVX_X86_64=m CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=m CONFIG_CRYPTO_TEA=m CONFIG_CRYPTO_TWOFISH=m CONFIG_CRYPTO_TWOFISH_COMMON=m @@ -9899,6 +10230,7 @@ CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m CONFIG_CRYPTO_LIB_POLY1305=m CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LIB_SM4=m CONFIG_CRYPTO_HW=y CONFIG_CRYPTO_DEV_PADLOCK=m CONFIG_CRYPTO_DEV_PADLOCK_AES=m @@ -9916,6 +10248,7 @@ CONFIG_CRYPTO_DEV_QAT=m CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_C3XXX=m CONFIG_CRYPTO_DEV_QAT_C62X=m +CONFIG_CRYPTO_DEV_QAT_4XXX=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m CONFIG_CRYPTO_DEV_QAT_C62XVF=m @@ -10051,6 +10384,7 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y # CONFIG_CMA_SIZE_SEL_MAX is not set CONFIG_CMA_ALIGNMENT=8 # CONFIG_DMA_API_DEBUG is not set +# CONFIG_DMA_MAP_BENCHMARK is not set CONFIG_SGL_ALLOC=y CONFIG_IOMMU_HELPER=y CONFIG_CHECK_SIGNATURE=y @@ -10094,10 +10428,10 @@ CONFIG_ARCH_STACKWALK=y CONFIG_SBITMAP=y CONFIG_PARMAN=m CONFIG_OBJAGG=m -# CONFIG_STRING_SELFTEST is not set # end of Library routines CONFIG_PLDMFW=y +CONFIG_ASN1_ENCODER=m # # Kernel hacking @@ -10108,6 +10442,7 @@ CONFIG_PLDMFW=y # # CONFIG_PRINTK_TIME is not set # CONFIG_PRINTK_CALLER is not set +# CONFIG_STACKTRACE_BUILD_ID is not set CONFIG_CONSOLE_LOGLEVEL_DEFAULT=1 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=1 @@ -10122,7 +10457,6 @@ CONFIG_DEBUG_BUGVERBOSE=y # Compile-time checks and compiler options # # CONFIG_DEBUG_INFO is not set -# CONFIG_ENABLE_MUST_CHECK is not set CONFIG_FRAME_WARN=0 CONFIG_STRIP_ASM_SYMS=y # CONFIG_READABLE_ASM is not set @@ -10187,6 +10521,8 @@ CONFIG_HAVE_ARCH_KASAN_VMALLOC=y CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y # CONFIG_KASAN is not set +CONFIG_HAVE_ARCH_KFENCE=y +# CONFIG_KFENCE is not set # end of Memory Debugging # CONFIG_DEBUG_SHIRQ is not set @@ -10236,6 +10572,7 @@ CONFIG_SCF_TORTURE_TEST=m # CONFIG_CSD_LOCK_WAIT_DEBUG is not set # end of Lock Debugging (spinlocks, mutexes, etc...) +# CONFIG_DEBUG_IRQFLAGS is not set CONFIG_STACKTRACE=y # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set @@ -10265,7 +10602,6 @@ CONFIG_RCU_CPU_STALL_TIMEOUT=60 # end of RCU Debugging # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set CONFIG_LATENCYTOP=y CONFIG_USER_STACKTRACE_SUPPORT=y @@ -10275,9 +10611,11 @@ CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y CONFIG_HAVE_DYNAMIC_FTRACE=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y CONFIG_HAVE_SYSCALL_TRACEPOINTS=y CONFIG_HAVE_FENTRY=y +CONFIG_HAVE_OBJTOOL_MCOUNT=y CONFIG_HAVE_C_RECORDMCOUNT=y CONFIG_TRACE_CLOCK=y CONFIG_RING_BUFFER=y @@ -10293,12 +10631,15 @@ CONFIG_FUNCTION_TRACER=y CONFIG_DYNAMIC_FTRACE=y CONFIG_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_FUNCTION_PROFILER=y CONFIG_STACK_TRACER=y # CONFIG_IRQSOFF_TRACER is not set # CONFIG_PREEMPT_TRACER is not set # CONFIG_SCHED_TRACER is not set # CONFIG_HWLAT_TRACER is not set +# CONFIG_OSNOISE_TRACER is not set +# CONFIG_TIMERLAT_TRACER is not set # CONFIG_MMIOTRACE is not set CONFIG_FTRACE_SYSCALLS=y # CONFIG_TRACER_SNAPSHOT is not set @@ -10307,14 +10648,17 @@ CONFIG_BRANCH_PROFILE_NONE=y CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_UPROBE_EVENTS is not set CONFIG_FTRACE_MCOUNT_RECORD=y +CONFIG_FTRACE_MCOUNT_USE_CC=y # CONFIG_SYNTH_EVENTS is not set # CONFIG_HIST_TRIGGERS is not set # CONFIG_TRACE_EVENT_INJECT is not set # CONFIG_TRACEPOINT_BENCHMARK is not set # CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_TRACE_EVAL_MAP_FILE is not set +# CONFIG_FTRACE_RECORD_RECURSION is not set # CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set CONFIG_PREEMPTIRQ_DELAY_TEST=m # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_SAMPLES is not set @@ -10325,7 +10669,6 @@ CONFIG_IO_STRICT_DEVMEM=y # # x86 Debugging # -CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y CONFIG_EARLY_PRINTK_USB=y CONFIG_X86_VERBOSE_BOOTUP=y @@ -10361,6 +10704,7 @@ CONFIG_ARCH_HAS_KCOV=y CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set # CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_ARCH_USE_MEMTEST=y CONFIG_MEMTEST=y # CONFIG_HYPERV_TESTING is not set # end of Kernel Testing and Coverage diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-apic_vector-spam-in-debug-mode-only.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-apic_vector-spam-in-debug-mode-only.patch index 0771ca17..0771ca17 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-apic_vector-spam-in-debug-mode-only.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-apic_vector-spam-in-debug-mode-only.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch index 344a8c4b..344a8c4b 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-ath10k-be-quiet.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-ath10k-be-quiet.patch index a6c715e7..a6c715e7 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-ath10k-be-quiet.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-ath10k-be-quiet.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-do_not_bug_the_next_18-years.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-do_not_bug_the_next_18-years.patch index 75763d62..75763d62 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-do_not_bug_the_next_18-years.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-do_not_bug_the_next_18-years.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-fix-bootconfig-makefile.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-fix-bootconfig-makefile.patch index 4399ecda..4399ecda 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-fix-bootconfig-makefile.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-fix-bootconfig-makefile.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-iwlwifi-fix-5e003982b07ae.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-iwlwifi-fix-5e003982b07ae.patch index e1eb15f9..e1eb15f9 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-iwlwifi-fix-5e003982b07ae.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-iwlwifi-fix-5e003982b07ae.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-iwlwifi-use-debug-for-debug-infos.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-iwlwifi-use-debug-for-debug-infos.patch index 5ec56c69..5ec56c69 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-iwlwifi-use-debug-for-debug-infos.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-iwlwifi-use-debug-for-debug-infos.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch index 6ffcb42c..6ffcb42c 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch index dec57667..dec57667 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch diff --git a/sys-kernel/linux-sources-redcore-lts/files/5.10-uksm.patch b/sys-kernel/linux-sources-redcore-lts/files/5.15-uksm.patch index eacd7b69..9ea6867f 100644 --- a/sys-kernel/linux-sources-redcore-lts/files/5.10-uksm.patch +++ b/sys-kernel/linux-sources-redcore-lts/files/5.15-uksm.patch @@ -66,33 +66,32 @@ index 000000000000..be19a3127001 +2016-09-10 UKSM 0.1.2.5 Fix a bug in dedup ratio calculation. +2017-02-26 UKSM 0.1.2.6 Fix a bug in hugetlbpage handling and a race bug with page migration. diff --git a/fs/exec.c b/fs/exec.c -index 547a2390baf5..fc64a20db6bd 100644 +index a098c133d8d7..da9985b3e310 100644 --- a/fs/exec.c +++ b/fs/exec.c -@@ -64,6 +64,7 @@ - #include <linux/compat.h> +@@ -65,6 +65,7 @@ #include <linux/vmalloc.h> #include <linux/io_uring.h> + #include <linux/syscall_user_dispatch.h> +#include <linux/ksm.h> #include <linux/uaccess.h> #include <asm/mmu_context.h> diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c -index 887a5532e449..581a6762868e 100644 +index 6fa761c9cc78..45fd59a0d85c 100644 --- a/fs/proc/meminfo.c +++ b/fs/proc/meminfo.c -@@ -108,7 +108,10 @@ static int meminfo_proc_show(struct seq_file *m, void *v) +@@ -108,6 +108,10 @@ static int meminfo_proc_show(struct seq_file *m, void *v) #endif show_val_kb(m, "PageTables: ", - global_zone_page_state(NR_PAGETABLE)); -- + global_node_page_state(NR_PAGETABLE)); +#ifdef CONFIG_UKSM + show_val_kb(m, "KsmZeroPages: ", + global_zone_page_state(NR_UKSM_ZERO_PAGES)); +#endif + show_val_kb(m, "NFS_Unstable: ", 0); show_val_kb(m, "Bounce: ", - global_zone_page_state(NR_BOUNCE)); diff --git a/include/linux/ksm.h b/include/linux/ksm.h index 161e8164abcf..f0dbdf3c986a 100644 --- a/include/linux/ksm.h @@ -165,10 +164,10 @@ index 161e8164abcf..f0dbdf3c986a 100644 + #endif /* __LINUX_KSM_H */ diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index 5a9238f6caad..5dd1ccf5cb69 100644 +index 7f8ee09c711f..da86d7fc0ea3 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h -@@ -371,6 +371,9 @@ struct vm_area_struct { +@@ -385,6 +385,9 @@ struct vm_area_struct { struct mempolicy *vm_policy; /* NUMA policy for the VMA */ #endif struct vm_userfaultfd_ctx vm_userfaultfd_ctx; @@ -179,10 +178,10 @@ index 5a9238f6caad..5dd1ccf5cb69 100644 struct core_thread { diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h -index fb3bf696c05e..e4477c3a9a4b 100644 +index 6a1d79d84675..4af26d848c40 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h -@@ -159,6 +159,9 @@ enum zone_stat_item { +@@ -158,6 +158,9 @@ enum zone_stat_item { NR_ZSPAGES, /* allocated in zsmalloc */ #endif NR_FREE_CMA_PAGES, @@ -193,10 +192,10 @@ index fb3bf696c05e..e4477c3a9a4b 100644 enum node_stat_item { diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h -index e237004d498d..092cdfb7090b 100644 +index e24d2c992b11..8e9d8af58cf2 100644 --- a/include/linux/pgtable.h +++ b/include/linux/pgtable.h -@@ -1060,12 +1060,25 @@ extern void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn, +@@ -1137,13 +1137,26 @@ extern void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn, extern void untrack_pfn_moved(struct vm_area_struct *vma); #endif @@ -213,6 +212,7 @@ index e237004d498d..092cdfb7090b 100644 +} +#endif + + #ifdef CONFIG_MMU #ifdef __HAVE_COLOR_ZERO_PAGE static inline int is_zero_pfn(unsigned long pfn) { @@ -223,7 +223,7 @@ index e237004d498d..092cdfb7090b 100644 } #define my_zero_pfn(addr) page_to_pfn(ZERO_PAGE(addr)) -@@ -1074,7 +1087,7 @@ static inline int is_zero_pfn(unsigned long pfn) +@@ -1152,7 +1165,7 @@ static inline int is_zero_pfn(unsigned long pfn) static inline int is_zero_pfn(unsigned long pfn) { extern unsigned long zero_pfn; @@ -471,10 +471,10 @@ index 000000000000..bb8651f534f2 +#endif /* !CONFIG_UKSM */ +#endif /* __LINUX_UKSM_H */ diff --git a/kernel/fork.c b/kernel/fork.c -index 6d266388d380..bb52f8731dd6 100644 +index 38681ad44c76..af32e377dcb7 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -587,7 +587,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, +@@ -604,7 +604,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, __vma_link_rb(mm, tmp, rb_link, rb_parent); rb_link = &tmp->vm_rb.rb_right; rb_parent = &tmp->vm_rb; @@ -484,11 +484,11 @@ index 6d266388d380..bb52f8731dd6 100644 if (!(tmp->vm_flags & VM_WIPEONFORK)) retval = copy_page_range(tmp, mpnt); diff --git a/lib/Makefile b/lib/Makefile -index d415fc7067c5..e4045ebec8cd 100644 +index a841be5244ac..446bb9818b42 100644 --- a/lib/Makefile +++ b/lib/Makefile -@@ -31,7 +31,7 @@ endif - KCSAN_SANITIZE_random32.o := n +@@ -28,7 +28,7 @@ CFLAGS_string.o += -fno-stack-protector + endif lib-y := ctype.o string.o vsprintf.o cmdline.o \ - rbtree.o radix-tree.o timerqueue.o xarray.o \ @@ -979,10 +979,10 @@ index 000000000000..ab21e6309b93 + return 0; +} diff --git a/mm/Kconfig b/mm/Kconfig -index 390165ffbb0f..50d02cfa0b68 100644 +index d16ba9249bc5..744b0ed24de0 100644 --- a/mm/Kconfig +++ b/mm/Kconfig -@@ -317,6 +317,32 @@ config KSM +@@ -301,6 +301,32 @@ config KSM See Documentation/vm/ksm.rst for more information: KSM is inactive until a program has madvised that an area is MADV_MERGEABLE, and root has set /sys/kernel/mm/ksm/run to 1 (if CONFIG_SYSFS is set). @@ -1016,10 +1016,10 @@ index 390165ffbb0f..50d02cfa0b68 100644 config DEFAULT_MMAP_MIN_ADDR int "Low address space to protect from user allocation" diff --git a/mm/Makefile b/mm/Makefile -index d73aed0fc99c..d6612b76c5da 100644 +index fc60a40ce954..69015e892830 100644 --- a/mm/Makefile +++ b/mm/Makefile -@@ -76,7 +76,8 @@ obj-$(CONFIG_SPARSEMEM) += sparse.o +@@ -81,7 +81,8 @@ obj-$(CONFIG_SPARSEMEM) += sparse.o obj-$(CONFIG_SPARSEMEM_VMEMMAP) += sparse-vmemmap.o obj-$(CONFIG_SLOB) += slob.o obj-$(CONFIG_MMU_NOTIFIER) += mmu_notifier.o @@ -1030,10 +1030,10 @@ index d73aed0fc99c..d6612b76c5da 100644 obj-$(CONFIG_SLAB) += slab.o obj-$(CONFIG_SLUB) += slub.o diff --git a/mm/ksm.c b/mm/ksm.c -index 0960750bb316..ae17158cb67a 100644 +index a5716fdec1aa..b8a7f01cd823 100644 --- a/mm/ksm.c +++ b/mm/ksm.c -@@ -858,17 +858,6 @@ static int unmerge_ksm_pages(struct vm_area_struct *vma, +@@ -852,17 +852,6 @@ static int unmerge_ksm_pages(struct vm_area_struct *vma, return err; } @@ -1052,10 +1052,10 @@ index 0960750bb316..ae17158cb67a 100644 /* * Only called through the sysfs control interface: diff --git a/mm/memory.c b/mm/memory.c -index c48f8df6e502..db47ee177008 100644 +index c52be6d6b605..c5512e69751c 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -146,6 +146,25 @@ EXPORT_SYMBOL(zero_pfn); +@@ -157,6 +157,25 @@ EXPORT_SYMBOL(zero_pfn); unsigned long highest_memmap_pfn __read_mostly; @@ -1081,7 +1081,7 @@ index c48f8df6e502..db47ee177008 100644 /* * CONFIG_MMU architectures set up ZERO_PAGE in their paging_init() */ -@@ -161,6 +180,7 @@ void mm_trace_rss_stat(struct mm_struct *mm, int member, long count) +@@ -172,6 +191,7 @@ void mm_trace_rss_stat(struct mm_struct *mm, int member, long count) trace_rss_stat(mm, member, count); } @@ -1089,7 +1089,7 @@ index c48f8df6e502..db47ee177008 100644 #if defined(SPLIT_RSS_COUNTING) void sync_mm_rss(struct mm_struct *mm) -@@ -869,6 +889,11 @@ copy_present_pte(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, +@@ -954,6 +974,11 @@ copy_present_pte(struct vm_area_struct *dst_vma, struct vm_area_struct *src_vma, get_page(page); page_dup_rmap(page, false); rss[mm_counter(page)]++; @@ -1101,7 +1101,7 @@ index c48f8df6e502..db47ee177008 100644 } /* -@@ -1237,8 +1262,10 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb, +@@ -1346,8 +1371,10 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb, ptent = ptep_get_and_clear_full(mm, addr, pte, tlb->fullmm); tlb_remove_tlb_entry(tlb, pte, addr); @@ -1113,7 +1113,7 @@ index c48f8df6e502..db47ee177008 100644 if (!PageAnon(page)) { if (pte_dirty(ptent)) { -@@ -2586,6 +2613,7 @@ static inline bool cow_user_page(struct page *dst, struct page *src, +@@ -2753,6 +2780,7 @@ static inline bool cow_user_page(struct page *dst, struct page *src, if (likely(src)) { copy_user_highpage(dst, src, addr, vma); @@ -1121,7 +1121,7 @@ index c48f8df6e502..db47ee177008 100644 return true; } -@@ -2832,6 +2860,7 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) +@@ -2999,6 +3027,7 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) vmf->address); if (!new_page) goto oom; @@ -1129,7 +1129,7 @@ index c48f8df6e502..db47ee177008 100644 } else { new_page = alloc_page_vma(GFP_HIGHUSER_MOVABLE, vma, vmf->address); -@@ -2874,7 +2903,9 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) +@@ -3041,7 +3070,9 @@ static vm_fault_t wp_page_copy(struct vm_fault *vmf) mm_counter_file(old_page)); inc_mm_counter_fast(mm, MM_ANONPAGES); } @@ -1140,7 +1140,7 @@ index c48f8df6e502..db47ee177008 100644 } flush_cache_page(vma, vmf->address, pte_pfn(vmf->orig_pte)); diff --git a/mm/mmap.c b/mm/mmap.c -index 5c8b4485860d..b8dd56dd900d 100644 +index 88dcc5c25225..b93c12938b5f 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -46,6 +46,7 @@ @@ -1151,7 +1151,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 #include <linux/sched/mm.h> #include <linux/uaccess.h> -@@ -181,6 +182,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) +@@ -185,6 +186,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) if (vma->vm_file) fput(vma->vm_file); mpol_put(vma_policy(vma)); @@ -1159,7 +1159,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 vm_area_free(vma); return next; } -@@ -750,9 +752,16 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, +@@ -751,9 +753,16 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, long adjust_next = 0; int remove_next = 0; @@ -1176,7 +1176,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 if (end >= next->vm_end) { /* * vma expands, overlapping all the next, and -@@ -883,6 +892,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, +@@ -884,6 +893,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, end_changed = true; } vma->vm_pgoff = pgoff; @@ -1184,7 +1184,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 if (adjust_next) { next->vm_start += adjust_next; next->vm_pgoff += adjust_next >> PAGE_SHIFT; -@@ -987,6 +997,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, +@@ -988,6 +998,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, if (remove_next == 2) { remove_next = 1; end = next->vm_end; @@ -1192,7 +1192,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 goto again; } else if (next) -@@ -1013,10 +1024,14 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, +@@ -1014,10 +1025,14 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, */ VM_WARN_ON(mm->highest_vm_end != vm_end_gap(vma)); } @@ -1207,7 +1207,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 validate_mm(mm); return 0; -@@ -1472,6 +1487,9 @@ unsigned long do_mmap(struct file *file, unsigned long addr, +@@ -1470,6 +1485,9 @@ unsigned long do_mmap(struct file *file, unsigned long addr, vm_flags = calc_vm_prot_bits(prot, pkey) | calc_vm_flag_bits(flags) | mm->def_flags | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC; @@ -1217,23 +1217,23 @@ index 5c8b4485860d..b8dd56dd900d 100644 if (flags & MAP_LOCKED) if (!can_do_mlock()) return -EPERM; -@@ -1867,6 +1885,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, - allow_write_access(file); - } +@@ -1843,6 +1861,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, + if (file && vm_flags & VM_SHARED) + mapping_unmap_writable(file->f_mapping); file = vma->vm_file; + uksm_vma_add_new(vma); out: perf_event_mmap(vma); -@@ -1909,6 +1928,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, - if (vm_flags & VM_DENYWRITE) - allow_write_access(file); +@@ -1882,6 +1901,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, + if (vm_flags & VM_SHARED) + mapping_unmap_writable(file->f_mapping); free_vma: + uksm_remove_vma(vma); vm_area_free(vma); unacct_error: if (charged) -@@ -2768,6 +2788,8 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2742,6 +2762,8 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, else err = vma_adjust(vma, vma->vm_start, addr, vma->vm_pgoff, new); @@ -1242,7 +1242,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 /* Success. */ if (!err) return 0; -@@ -3075,6 +3097,7 @@ static int do_brk_flags(unsigned long addr, unsigned long len, unsigned long fla +@@ -3032,6 +3054,7 @@ static int do_brk_flags(unsigned long addr, unsigned long len, unsigned long fla if ((flags & (~VM_EXEC)) != 0) return -EINVAL; flags |= VM_DATA_DEFAULT_FLAGS | VM_ACCOUNT | mm->def_flags; @@ -1250,7 +1250,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 mapped_addr = get_unmapped_area(NULL, addr, len, 0, MAP_FIXED); if (IS_ERR_VALUE(mapped_addr)) -@@ -3120,6 +3143,7 @@ static int do_brk_flags(unsigned long addr, unsigned long len, unsigned long fla +@@ -3077,6 +3100,7 @@ static int do_brk_flags(unsigned long addr, unsigned long len, unsigned long fla vma->vm_flags = flags; vma->vm_page_prot = vm_get_page_prot(flags); vma_link(mm, vma, prev, rb_link, rb_parent); @@ -1258,20 +1258,19 @@ index 5c8b4485860d..b8dd56dd900d 100644 out: perf_event_mmap(vma); mm->total_vm += len >> PAGE_SHIFT; -@@ -3197,6 +3221,12 @@ void exit_mmap(struct mm_struct *mm) +@@ -3153,6 +3177,11 @@ void exit_mmap(struct mm_struct *mm) + mmap_write_lock(mm); mmap_write_unlock(mm); } - + /* + * Taking write lock on mmap does not harm others, + * but it's crucial for uksm to avoid races. + */ + mmap_write_lock(mm); -+ - if (mm->locked_vm) { - vma = mm->mmap; - while (vma) { -@@ -3232,6 +3262,11 @@ void exit_mmap(struct mm_struct *mm) + + if (mm->locked_vm) + unlock_range(mm->mmap, ULONG_MAX); +@@ -3183,6 +3212,11 @@ void exit_mmap(struct mm_struct *mm) cond_resched(); } vm_unacct_memory(nr_accounted); @@ -1283,7 +1282,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 } /* Insert vm structure into process list sorted by address -@@ -3339,6 +3374,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -3290,6 +3324,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, new_vma->vm_ops->open(new_vma); vma_link(mm, new_vma, prev, rb_link, rb_parent); *need_rmap_locks = false; @@ -1291,7 +1290,7 @@ index 5c8b4485860d..b8dd56dd900d 100644 } return new_vma; -@@ -3491,6 +3527,7 @@ static struct vm_area_struct *__install_special_mapping( +@@ -3454,6 +3489,7 @@ static struct vm_area_struct *__install_special_mapping( vm_stat_account(mm, vma->vm_flags, len >> PAGE_SHIFT); perf_event_mmap(vma); @@ -6920,11 +6919,11 @@ index 000000000000..e4732c00be69 +#endif + diff --git a/mm/vmstat.c b/mm/vmstat.c -index 698bc0bc18d1..b7590f4944ca 100644 +index 8ce2620344b2..c0bc685782d1 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -1216,6 +1216,9 @@ const char * const vmstat_text[] = { - "nr_shadow_call_stack", +@@ -1237,6 +1237,9 @@ const char * const vmstat_text[] = { + "nr_swapcached", #endif +#ifdef CONFIG_UKSM diff --git a/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.87.ebuild b/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.15.35.ebuild index fe81b9a8..2823b155 100644 --- a/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.10.87.ebuild +++ b/sys-kernel/linux-sources-redcore-lts/linux-sources-redcore-lts-5.15.35.ebuild @@ -7,7 +7,7 @@ inherit eutils EXTRAVERSION="redcore-lts" KV_FULL="${PV}-${EXTRAVERSION}" -KV_MAJOR="5.10" +KV_MAJOR="5.15" DESCRIPTION="Redcore Linux Kernel Sources (LTS)" HOMEPAGE="https://redcorelinux.org" @@ -28,26 +28,25 @@ DEPEND=" RDEPEND="${DEPEND}" PATCHES=( - "${FILESDIR}"/"${KV_MAJOR}"-ath10k-be-quiet.patch - "${FILESDIR}"/"${KV_MAJOR}"-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch - "${FILESDIR}"/"${KV_MAJOR}"-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch + "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch + "${FILESDIR}"/"${KV_MAJOR}"-0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + "${FILESDIR}"/"${KV_MAJOR}"-0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch + "${FILESDIR}"/"${KV_MAJOR}"-0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch + "${FILESDIR}"/"${KV_MAJOR}"-0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch + "${FILESDIR}"/"${KV_MAJOR}"-0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch + "${FILESDIR}"/"${KV_MAJOR}"-0006-lg-laptop_Recognize_more_models.patch "${FILESDIR}"/"${KV_MAJOR}"-acpi-use-kern_warning_even_when_error.patch - "${FILESDIR}"/"${KV_MAJOR}"-Unknow-SSD-HFM128GDHTNG-8310B-QUIRK_NO_APST.patch + "${FILESDIR}"/"${KV_MAJOR}"-alx-wol.patch + "${FILESDIR}"/"${KV_MAJOR}"-apic_vector-spam-in-debug-mode-only.patch + "${FILESDIR}"/"${KV_MAJOR}"-ata-fix-NCQ-LOG-strings-and-move-to-debug.patch + "${FILESDIR}"/"${KV_MAJOR}"-ath10k-be-quiet.patch "${FILESDIR}"/"${KV_MAJOR}"-do_not_bug_the_next_18-years.patch - "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-use-debug-for-debug-infos.patch - "${FILESDIR}"/"${KV_MAJOR}"-compress-modules-zstd-support.patch "${FILESDIR}"/"${KV_MAJOR}"-fix-bootconfig-makefile.patch - "${FILESDIR}"/"${KV_MAJOR}"-apic_vector-spam-in-debug-mode-only.patch "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-fix-5e003982b07ae.patch - "${FILESDIR}"/"${KV_MAJOR}"-enable-new-amd-energy-driver-for-all-ryzen.patch - "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-hwmon-k10temp-Remove-support-for-displaying-v.patch - "${FILESDIR}"/"${KV_MAJOR}"-k10temp-fix-ZEN2-desktop-add-ZEN3-desktop.patch - "${FILESDIR}"/"${KV_MAJOR}"-add-amd-sfh-hid_driver.patch - "${FILESDIR}"/"${KV_MAJOR}"-add-sbtsi_driver.patch - "${FILESDIR}"/"${KV_MAJOR}"-0001-Revert-cpufreq-Avoid-configuring-old-governors-as-de.patch + "${FILESDIR}"/"${KV_MAJOR}"-iwlwifi-use-debug-for-debug-infos.patch + "${FILESDIR}"/"${KV_MAJOR}"-radeon_dp_aux_transfer_native-no-ratelimited_debug.patch "${FILESDIR}"/"${KV_MAJOR}"-revert-parts-of-a00ec3874e7d326ab2dffbed92faddf6a77a84e9-no-Intel-NO.patch - "${FILESDIR}"/"${KV_MAJOR}"-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch - "${FILESDIR}"/"${KV_MAJOR}"-uksm.patch + "${FILESDIR}"/"${KV_MAJOR}"-uksm.patch ) S="${WORKDIR}"/linux-"${PV}" |