aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott B2021-11-30 02:54:35 -0800
committerScott B2021-12-01 03:06:55 -0800
commit82c05ef18ec40dfd1ba3f800d386e7d47b9e256a (patch)
tree6a17e6ced1764be760ab9d7770ad8dbc79261383
parent1d8f920d61f95de65ec57fe33cd63d179f2e3706 (diff)
downloadaur-82c05ef18ec40dfd1ba3f800d386e7d47b9e256a.tar.gz
patch: pull more Arch hotfixes
-rw-r--r--.SRCINFO6
-rw-r--r--Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch60
-rw-r--r--PKGBUILD6
-rw-r--r--cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch55
-rw-r--r--lg-laptop-Recognize-more-models.patch39
5 files changed, 166 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8b6f7fedbd3b..a2d201a8eed4 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -24,6 +24,9 @@ pkgbase = linux-xanmod-rog
source = staging-r8188eu-Fix-breakage-introduced-when-5G-code.patch
source = PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch
source = iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch
+ source = cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch
+ source = Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
+ source = lg-laptop-Recognize-more-models.patch
source = zstd-udpate-fixes.patch
source = x86-ACPI-State-Optimize-C3-entry-on-AMD-CPUs.patch
source = x86-change-default-to-spec_store_bypass_disable-prct.patch
@@ -52,6 +55,9 @@ pkgbase = linux-xanmod-rog
sha256sums = ce50ee3c64f6865234f6ec79fcbd87704494b0fbb7d3cc124f97244c731f9e61
sha256sums = 20c0926964a4286486c3ae1dd05014767f42388316a7d60b4f52639536fbd615
sha256sums = 6c48a3e96b49ddb6ece78f3abb1a8a889a77c097f93b14ab052f1e19eda05076
+ sha256sums = 54f161457cc4de4ebd5770c16f14f7a47f1dbbc4f1af83dec651e6a8b1eaad56
+ sha256sums = 802e9f8d5c98088946b8ad5629e0732350b4b0fd91c24e12af31935791fcd556
+ sha256sums = 80538b0f529ed32118dac933d50599c6e843ae31882361fd88cd40a1dc7d21f9
sha256sums = d636bd74a71b2d898b20246e3c013b853fd1a462ed622e7e90302d53b4157428
sha256sums = 923230ed8367e28adfdeed75d3cdba9eec6b781818c37f6f3d3eb64101d2e716
sha256sums = cc401107f1bf7b7d8e8a78ee594f9db4b6fa252b7239b6aa88f678aef84d935c
diff --git a/Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch b/Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
new file mode 100644
index 000000000000..469213c9bb85
--- /dev/null
+++ b/Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
@@ -0,0 +1,60 @@
+From 79a6a06eaac891858a2f41a6a63d75c7d00cbf04 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 3/3] 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 f1705b46fc88..b9055a3e61ed 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) {
+--
+2.34.1
+
diff --git a/PKGBUILD b/PKGBUILD
index c01905ac64ed..d2dc27d50974 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -127,6 +127,9 @@ source=("https://cdn.kernel.org/pub/linux/kernel/v${_branch}/linux-${_major}.tar
"staging-r8188eu-Fix-breakage-introduced-when-5G-code.patch"
"PCI-Add-more-NVIDIA-controllers-to-the-MSI-masking-q.patch"
"iommu-intel-do-deep-dma-unmapping-to-avoid-kernel-fl.patch"
+ "cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch"
+ "Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch"
+ "lg-laptop-Recognize-more-models.patch"
# amd-pstate v4 included in Xanmod
# multigenerational lru v5 included in Xanmod
@@ -180,6 +183,9 @@ sha256sums=('57b2cf6991910e3b67a1b3490022e8a0674b6965c74c12da1e99d138d1991ee8'
'ce50ee3c64f6865234f6ec79fcbd87704494b0fbb7d3cc124f97244c731f9e61'
'20c0926964a4286486c3ae1dd05014767f42388316a7d60b4f52639536fbd615'
'6c48a3e96b49ddb6ece78f3abb1a8a889a77c097f93b14ab052f1e19eda05076'
+ '54f161457cc4de4ebd5770c16f14f7a47f1dbbc4f1af83dec651e6a8b1eaad56'
+ '802e9f8d5c98088946b8ad5629e0732350b4b0fd91c24e12af31935791fcd556'
+ '80538b0f529ed32118dac933d50599c6e843ae31882361fd88cd40a1dc7d21f9'
'd636bd74a71b2d898b20246e3c013b853fd1a462ed622e7e90302d53b4157428'
'923230ed8367e28adfdeed75d3cdba9eec6b781818c37f6f3d3eb64101d2e716'
'cc401107f1bf7b7d8e8a78ee594f9db4b6fa252b7239b6aa88f678aef84d935c'
diff --git a/cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch b/cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch
new file mode 100644
index 000000000000..250b98e68fc6
--- /dev/null
+++ b/cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch
@@ -0,0 +1,55 @@
+From 65b4f362db508f63e53d18e26bc3a574c2ca0c21 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 1/3] 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 e15c3bc17a55..8a2c6b58b652 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
+--
+2.34.1
+
diff --git a/lg-laptop-Recognize-more-models.patch b/lg-laptop-Recognize-more-models.patch
new file mode 100644
index 000000000000..904efce14b89
--- /dev/null
+++ b/lg-laptop-Recognize-more-models.patch
@@ -0,0 +1,39 @@
+From c03af20354e338bb1e47eee01d535f23717a7608 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 2/3] 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 88b551caeaaf..d6f74d3a7605 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;
+--
+2.34.1
+