Update to 6.10.10

This commit is contained in:
ferreo 2024-09-13 17:34:03 +01:00
parent e676e1cc91
commit 9efc732301
2 changed files with 203 additions and 106 deletions

4
config
View File

@ -1,8 +1,8 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86 6.10.7 Kernel Configuration
# Linux/x86 6.10.10 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (GCC) 14.2.1 20240805"
CONFIG_CC_VERSION_TEXT="gcc (GCC) 14.2.1 20240910"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=140201
CONFIG_CLANG_VERSION=0

View File

@ -1,6 +1,6 @@
From 4eac490bd421e6a4a21b1c42cc11d226c4c06c4e Mon Sep 17 00:00:00 2001
From e928143484ea185cb948dc2854ed9655e6096735 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:11:02 +0200
Date: Sun, 8 Sep 2024 10:19:12 +0200
Subject: [PATCH 01/12] amd-pstate
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -11,10 +11,10 @@ Signed-off-by: Peter Jung <admin@ptr1337.dev>
arch/x86/kernel/cpu/scattered.c | 1 +
drivers/cpufreq/Kconfig.x86 | 1 +
drivers/cpufreq/acpi-cpufreq.c | 3 +-
drivers/cpufreq/amd-pstate.c | 323 +++++++++++++++-----
drivers/cpufreq/amd-pstate.c | 326 +++++++++++++++-----
drivers/cpufreq/amd-pstate.h | 1 +
drivers/cpufreq/cpufreq.c | 11 +-
9 files changed, 276 insertions(+), 85 deletions(-)
9 files changed, 279 insertions(+), 85 deletions(-)
diff --git a/Documentation/admin-guide/pm/amd-pstate.rst b/Documentation/admin-guide/pm/amd-pstate.rst
index 1e0d101b020a..d0324d44f548 100644
@ -123,7 +123,7 @@ index 4ac3a35dcd98..f4f8587c4ea0 100644
return 0;
}
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c
index 67c4a6a0ef12..82c2ffa93cf2 100644
index 6f59403c91e0..bcf2f5a63376 100644
--- a/drivers/cpufreq/amd-pstate.c
+++ b/drivers/cpufreq/amd-pstate.c
@@ -51,6 +51,7 @@
@ -228,15 +228,6 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
u64 value = READ_ONCE(cpudata->cppc_req_cached);
value &= ~GENMASK_ULL(31, 24);
@@ -329,7 +351,7 @@ static inline int pstate_enable(bool enable)
return 0;
for_each_present_cpu(cpu) {
- unsigned long logical_id = topology_logical_die_id(cpu);
+ unsigned long logical_id = topology_logical_package_id(cpu);
if (test_bit(logical_id, &logical_proc_id_mask))
continue;
@@ -522,7 +544,10 @@ static inline bool amd_pstate_sample(struct amd_cpudata *cpudata)
static void amd_pstate_update(struct amd_cpudata *cpudata, u32 min_perf,
u32 des_perf, u32 max_perf, bool fast_switch, int gov_flags)
@ -269,7 +260,24 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
value &= ~AMD_CPPC_MAX_PERF(~0L);
value |= AMD_CPPC_MAX_PERF(max_perf);
@@ -652,10 +684,9 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
@@ -552,12 +584,15 @@ static void amd_pstate_update(struct amd_cpudata *cpudata, u32 min_perf,
}
if (value == prev)
- return;
+ goto cpufreq_policy_put;
WRITE_ONCE(cpudata->cppc_req_cached, value);
amd_pstate_update_perf(cpudata, min_perf, des_perf,
max_perf, fast_switch);
+
+cpufreq_policy_put:
+ cpufreq_cpu_put(policy);
}
static int amd_pstate_verify(struct cpufreq_policy_data *policy)
@@ -652,10 +687,9 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
unsigned long capacity)
{
unsigned long max_perf, min_perf, des_perf,
@ -281,7 +289,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
if (policy->min != cpudata->min_limit_freq || policy->max != cpudata->max_limit_freq)
amd_pstate_update_min_max_limit(policy);
@@ -663,7 +694,6 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
@@ -663,7 +697,6 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
cap_perf = READ_ONCE(cpudata->highest_perf);
lowest_nonlinear_perf = READ_ONCE(cpudata->lowest_nonlinear_perf);
@ -289,7 +297,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
des_perf = cap_perf;
if (target_perf < capacity)
@@ -681,51 +711,111 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
@@ -681,51 +714,111 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
max_perf = min_perf;
des_perf = clamp_t(unsigned long, des_perf, min_perf, max_perf);
@ -386,13 +394,13 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
- return;
+ return ret;
+}
- cpudata->boost_supported = true;
+
+static int amd_pstate_init_boost_support(struct amd_cpudata *cpudata)
+{
+ u64 boost_val;
+ int ret = -1;
+
- cpudata->boost_supported = true;
+ /*
+ * If platform has no CPB support or disable it, initialize current driver
+ * boost_enabled state to be false, it is not an error for cpufreq core to handle.
@ -424,7 +432,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
}
static void amd_perf_ctl_reset(unsigned int cpu)
@@ -754,7 +844,7 @@ static int amd_pstate_get_highest_perf(int cpu, u32 *highest_perf)
@@ -754,7 +847,7 @@ static int amd_pstate_get_highest_perf(int cpu, u32 *highest_perf)
{
int ret;
@ -433,7 +441,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
u64 cap1;
ret = rdmsrl_safe_on_cpu(cpu, MSR_AMD_CPPC_CAP1, &cap1);
@@ -850,8 +940,12 @@ static u32 amd_pstate_get_transition_delay_us(unsigned int cpu)
@@ -850,8 +943,12 @@ static u32 amd_pstate_get_transition_delay_us(unsigned int cpu)
u32 transition_delay_ns;
transition_delay_ns = cppc_get_transition_latency(cpu);
@ -448,7 +456,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
return transition_delay_ns / NSEC_PER_USEC;
}
@@ -922,12 +1016,30 @@ static int amd_pstate_init_freq(struct amd_cpudata *cpudata)
@@ -922,12 +1019,30 @@ static int amd_pstate_init_freq(struct amd_cpudata *cpudata)
WRITE_ONCE(cpudata->nominal_freq, nominal_freq);
WRITE_ONCE(cpudata->max_freq, max_freq);
@ -480,7 +488,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
struct device *dev;
struct amd_cpudata *cpudata;
@@ -956,18 +1068,12 @@ static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
@@ -956,18 +1071,12 @@ static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
if (ret)
goto free_cpudata1;
@ -503,7 +511,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
policy->cpuinfo.transition_latency = amd_pstate_get_transition_latency(policy->cpu);
policy->transition_delay_us = amd_pstate_get_transition_delay_us(policy->cpu);
@@ -978,10 +1084,12 @@ static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
@@ -978,10 +1087,12 @@ static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
policy->cpuinfo.min_freq = min_freq;
policy->cpuinfo.max_freq = max_freq;
@ -517,7 +525,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
policy->fast_switch_possible = true;
ret = freq_qos_add_request(&policy->constraints, &cpudata->req[0],
@@ -1003,7 +1111,6 @@ static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
@@ -1003,7 +1114,6 @@ static int amd_pstate_cpu_init(struct cpufreq_policy *policy)
policy->driver_data = cpudata;
@ -525,7 +533,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
if (!current_pstate_driver->adjust_perf)
current_pstate_driver->adjust_perf = amd_pstate_adjust_perf;
@@ -1214,7 +1321,7 @@ static int amd_pstate_change_mode_without_dvr_change(int mode)
@@ -1214,7 +1324,7 @@ static int amd_pstate_change_mode_without_dvr_change(int mode)
cppc_state = mode;
@ -534,7 +542,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
return 0;
for_each_present_cpu(cpu) {
@@ -1387,7 +1494,7 @@ static bool amd_pstate_acpi_pm_profile_undefined(void)
@@ -1387,7 +1497,7 @@ static bool amd_pstate_acpi_pm_profile_undefined(void)
static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
{
@ -543,7 +551,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
struct amd_cpudata *cpudata;
struct device *dev;
u64 value;
@@ -1418,17 +1525,12 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
@@ -1418,17 +1528,12 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
if (ret)
goto free_cpudata1;
@ -565,7 +573,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
policy->cpuinfo.min_freq = min_freq;
policy->cpuinfo.max_freq = max_freq;
@@ -1442,6 +1544,8 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
@@ -1442,6 +1547,8 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
policy->min = policy->cpuinfo.min_freq;
policy->max = policy->cpuinfo.max_freq;
@ -574,7 +582,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
/*
* Set the policy to provide a valid fallback value in case
* the default cpufreq governor is neither powersave nor performance.
@@ -1452,7 +1556,7 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
@@ -1452,7 +1559,7 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
else
policy->policy = CPUFREQ_POLICY_POWERSAVE;
@ -583,7 +591,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
ret = rdmsrl_on_cpu(cpudata->cpu, MSR_AMD_CPPC_REQ, &value);
if (ret)
return ret;
@@ -1463,7 +1567,6 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
@@ -1463,7 +1570,6 @@ static int amd_pstate_epp_cpu_init(struct cpufreq_policy *policy)
return ret;
WRITE_ONCE(cpudata->cppc_cap1_cached, value);
}
@ -591,7 +599,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
return 0;
@@ -1542,7 +1645,7 @@ static void amd_pstate_epp_update_limit(struct cpufreq_policy *policy)
@@ -1542,7 +1648,7 @@ static void amd_pstate_epp_update_limit(struct cpufreq_policy *policy)
epp = 0;
/* Set initial EPP value */
@ -600,7 +608,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
value &= ~GENMASK_ULL(31, 24);
value |= (u64)epp << 24;
}
@@ -1565,6 +1668,12 @@ static int amd_pstate_epp_set_policy(struct cpufreq_policy *policy)
@@ -1565,6 +1671,12 @@ static int amd_pstate_epp_set_policy(struct cpufreq_policy *policy)
amd_pstate_epp_update_limit(policy);
@ -613,7 +621,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
return 0;
}
@@ -1581,7 +1690,7 @@ static void amd_pstate_epp_reenable(struct amd_cpudata *cpudata)
@@ -1581,7 +1693,7 @@ static void amd_pstate_epp_reenable(struct amd_cpudata *cpudata)
value = READ_ONCE(cpudata->cppc_req_cached);
max_perf = READ_ONCE(cpudata->highest_perf);
@ -622,7 +630,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
wrmsrl_on_cpu(cpudata->cpu, MSR_AMD_CPPC_REQ, value);
} else {
perf_ctrls.max_perf = max_perf;
@@ -1615,7 +1724,7 @@ static void amd_pstate_epp_offline(struct cpufreq_policy *policy)
@@ -1615,7 +1727,7 @@ static void amd_pstate_epp_offline(struct cpufreq_policy *policy)
value = READ_ONCE(cpudata->cppc_req_cached);
mutex_lock(&amd_pstate_limits_lock);
@ -631,7 +639,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
cpudata->epp_policy = CPUFREQ_POLICY_UNKNOWN;
/* Set max perf same as min perf */
@@ -1719,6 +1828,7 @@ static struct cpufreq_driver amd_pstate_epp_driver = {
@@ -1719,6 +1831,7 @@ static struct cpufreq_driver amd_pstate_epp_driver = {
.suspend = amd_pstate_epp_suspend,
.resume = amd_pstate_epp_resume,
.update_limits = amd_pstate_update_limits,
@ -639,7 +647,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
.name = "amd-pstate-epp",
.attr = amd_pstate_epp_attr,
};
@@ -1742,6 +1852,60 @@ static int __init amd_pstate_set_driver(int mode_idx)
@@ -1742,6 +1855,60 @@ static int __init amd_pstate_set_driver(int mode_idx)
return -EINVAL;
}
@ -700,7 +708,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
static int __init amd_pstate_init(void)
{
struct device *dev_root;
@@ -1750,6 +1914,11 @@ static int __init amd_pstate_init(void)
@@ -1750,6 +1917,11 @@ static int __init amd_pstate_init(void)
if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD)
return -ENODEV;
@ -712,7 +720,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
if (!acpi_cpc_valid()) {
pr_warn_once("the _CPC object is not present in SBIOS or ACPI disabled\n");
return -ENODEV;
@@ -1774,11 +1943,9 @@ static int __init amd_pstate_init(void)
@@ -1774,11 +1946,9 @@ static int __init amd_pstate_init(void)
/* Disable on the following configs by default:
* 1. Undefined platforms
* 2. Server platforms
@ -725,7 +733,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
pr_info("driver load is disabled, boot with specific mode to enable this\n");
return -ENODEV;
}
@@ -1802,7 +1969,7 @@ static int __init amd_pstate_init(void)
@@ -1802,7 +1972,7 @@ static int __init amd_pstate_init(void)
}
/* capability check */
@ -734,7 +742,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
pr_debug("AMD CPPC MSR based functionality is supported\n");
if (cppc_state != AMD_PSTATE_ACTIVE)
current_pstate_driver->adjust_perf = amd_pstate_adjust_perf;
@@ -1821,8 +1988,10 @@ static int __init amd_pstate_init(void)
@@ -1821,8 +1991,10 @@ static int __init amd_pstate_init(void)
}
ret = cpufreq_register_driver(current_pstate_driver);
@ -746,7 +754,7 @@ index 67c4a6a0ef12..82c2ffa93cf2 100644
dev_root = bus_get_dev_root(&cpu_subsys);
if (dev_root) {
@@ -1838,6 +2007,8 @@ static int __init amd_pstate_init(void)
@@ -1838,6 +2010,8 @@ static int __init amd_pstate_init(void)
global_attr_free:
cpufreq_unregister_driver(current_pstate_driver);
@ -801,9 +809,9 @@ index 9e5060b27864..270ea04fb616 100644
--
2.46.0
From 609fcda7ede707fffb29c91c69d0d7e1c198253f Mon Sep 17 00:00:00 2001
From 44c9ce84f6eb7a7f146f67d9a6716ed779c888ce Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:11:11 +0200
Date: Sun, 8 Sep 2024 10:19:24 +0200
Subject: [PATCH 02/12] bbr3
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -857,7 +865,7 @@ index c0deaafebfdc..d53f042d936e 100644
#define ICSK_TIME_RETRANS 1 /* Retransmit timer */
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 32815a40dea1..109b8d1ddc31 100644
index 45bbb54e42e8..bc10ec3e0c55 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -375,6 +375,8 @@ static inline void tcp_dec_quickack_mode(struct sock *sk)
@ -1158,7 +1166,7 @@ index 18227757ec0c..f180befc28bd 100644
.undo_cwnd = bpf_tcp_ca_undo_cwnd,
.sndbuf_expand = bpf_tcp_ca_sndbuf_expand,
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index ec6911034138..df7731a30198 100644
index 2edbd5b181e2..564fc423eb07 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -3120,6 +3120,7 @@ int tcp_disconnect(struct sock *sk, int flags)
@ -3823,10 +3831,10 @@ index 760941e55153..a180fa648d5e 100644
MODULE_DESCRIPTION("TCP BBR (Bottleneck Bandwidth and RTT)");
+MODULE_VERSION(__stringify(BBR_VERSION));
diff --git a/net/ipv4/tcp_cong.c b/net/ipv4/tcp_cong.c
index 28ffcfbeef14..7b13915ba288 100644
index 48617d99abb0..d8008ac10ef0 100644
--- a/net/ipv4/tcp_cong.c
+++ b/net/ipv4/tcp_cong.c
@@ -237,6 +237,7 @@ void tcp_init_congestion_control(struct sock *sk)
@@ -236,6 +236,7 @@ void tcp_init_congestion_control(struct sock *sk)
struct inet_connection_sock *icsk = inet_csk(sk);
tcp_sk(sk)->prior_ssthresh = 0;
@ -3835,7 +3843,7 @@ index 28ffcfbeef14..7b13915ba288 100644
icsk->icsk_ca_ops->init(sk);
if (tcp_ca_needs_ecn(sk))
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 2c52f6dcbd29..009917385bea 100644
index f130eccade39..3ccb30894a12 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -370,7 +370,7 @@ static void __tcp_ecn_check_ce(struct sock *sk, const struct sk_buff *skb)
@ -3969,10 +3977,10 @@ index 2c52f6dcbd29..009917385bea 100644
tcp_in_quickack_mode(sk) ||
/* Protocol state mandates a one-time immediate ACK */
diff --git a/net/ipv4/tcp_minisocks.c b/net/ipv4/tcp_minisocks.c
index 0fbebf6266e9..6eb1d369c584 100644
index d5da3ec8f846..7b25413ad225 100644
--- a/net/ipv4/tcp_minisocks.c
+++ b/net/ipv4/tcp_minisocks.c
@@ -460,6 +460,8 @@ void tcp_ca_openreq_child(struct sock *sk, const struct dst_entry *dst)
@@ -465,6 +465,8 @@ void tcp_ca_openreq_child(struct sock *sk, const struct dst_entry *dst)
u32 ca_key = dst_metric(dst, RTAX_CC_ALGO);
bool ca_got_dst = false;
@ -4187,9 +4195,9 @@ index 4d40615dc8fc..f27941201ef2 100644
--
2.46.0
From d0f09b45389d4c5772a0c210d92f54ca2b1ecad4 Mon Sep 17 00:00:00 2001
From 9406487b80b3d574e142d130baf5b014e206aa13 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:11:20 +0200
Date: Sun, 8 Sep 2024 10:19:33 +0200
Subject: [PATCH 03/12] block
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -4672,9 +4680,9 @@ index acdc28756d9d..8b214233a061 100644
--
2.46.0
From 18ac14361294862f1ff9b60756b771c2cb0cb308 Mon Sep 17 00:00:00 2001
From 46675daae50fe0767fac64e9be20b3523dd4fd22 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:11:29 +0200
Date: Sun, 8 Sep 2024 10:20:15 +0200
Subject: [PATCH 04/12] cachy
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -4740,8 +4748,8 @@ Signed-off-by: Peter Jung <admin@ptr1337.dev>
mm/vmpressure.c | 4 +
mm/vmscan.c | 8 +
scripts/Makefile.package | 13 +
scripts/package/PKGBUILD | 119 +
62 files changed, 5920 insertions(+), 99 deletions(-)
scripts/package/PKGBUILD | 132 +
62 files changed, 5933 insertions(+), 99 deletions(-)
create mode 100644 drivers/i2c/busses/i2c-nct6775.c
create mode 100644 drivers/media/v4l2-core/v4l2loopback.c
create mode 100644 drivers/media/v4l2-core/v4l2loopback.h
@ -4815,7 +4823,7 @@ index 958e935449e5..b27470be2e6a 100644
M: Thorsten Leemhuis <linux@leemhuis.info>
L: regressions@lists.linux.dev
diff --git a/Makefile b/Makefile
index ab77d171e268..76fd437cffff 100644
index 9b4614c0fcbb..e4423f147101 100644
--- a/Makefile
+++ b/Makefile
@@ -817,6 +817,9 @@ KBUILD_CFLAGS += -fno-delete-null-pointer-checks
@ -5870,18 +5878,18 @@ index 47b8b49da8a7..943959d1f401 100644
+
endmenu
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 8d4ad15b8e17..ea95c8fe0e4e 100644
index 27e641f17628..7b3635fd2805 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -4128,7 +4128,7 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
@@ -4129,7 +4129,7 @@ static int amdgpu_dm_mode_config_init(struct amdgpu_device *adev)
return r;
}
-#ifdef AMD_PRIVATE_COLOR
+#ifdef CONFIG_AMD_PRIVATE_COLOR
if (amdgpu_dm_create_color_properties(adev))
return -ENOMEM;
#endif
if (amdgpu_dm_create_color_properties(adev)) {
dc_state_release(state->context);
kfree(state);
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
index ebabfe3a512f..4d3ebcaacca1 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.c
@ -5927,10 +5935,10 @@ index e23a0a276e33..dd83cf50a89b 100644
#endif
return 0;
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
index 311c62d2d1eb..8c8d0d209d7a 100644
index 7d47acdd11d5..16acd2abdc9a 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c
@@ -1468,7 +1468,7 @@ static void amdgpu_dm_plane_drm_plane_destroy_state(struct drm_plane *plane,
@@ -1476,7 +1476,7 @@ static void amdgpu_dm_plane_drm_plane_destroy_state(struct drm_plane *plane,
drm_atomic_helper_plane_destroy_state(plane, state);
}
@ -5939,7 +5947,7 @@ index 311c62d2d1eb..8c8d0d209d7a 100644
static void
dm_atomic_plane_attach_color_mgmt_properties(struct amdgpu_display_manager *dm,
struct drm_plane *plane)
@@ -1659,7 +1659,7 @@ static const struct drm_plane_funcs dm_plane_funcs = {
@@ -1667,7 +1667,7 @@ static const struct drm_plane_funcs dm_plane_funcs = {
.atomic_duplicate_state = amdgpu_dm_plane_drm_plane_duplicate_state,
.atomic_destroy_state = amdgpu_dm_plane_drm_plane_destroy_state,
.format_mod_supported = amdgpu_dm_plane_format_mod_supported,
@ -5948,7 +5956,7 @@ index 311c62d2d1eb..8c8d0d209d7a 100644
.atomic_set_property = dm_atomic_plane_set_property,
.atomic_get_property = dm_atomic_plane_get_property,
#endif
@@ -1742,7 +1742,7 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
@@ -1750,7 +1750,7 @@ int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
drm_plane_helper_add(plane, &dm_plane_helper_funcs);
@ -5972,10 +5980,10 @@ index c11952a4389b..52f54a228b39 100644
}
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index 06409133b09b..9335adb556ce 100644
index 45d053497f49..996b4d13805a 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -2749,7 +2749,10 @@ int smu_get_power_limit(void *handle,
@@ -2752,7 +2752,10 @@ int smu_get_power_limit(void *handle,
*limit = smu->max_power_limit;
break;
case SMU_PPT_LIMIT_MIN:
@ -5987,7 +5995,7 @@ index 06409133b09b..9335adb556ce 100644
break;
default:
return -EINVAL;
@@ -2773,7 +2776,14 @@ static int smu_set_power_limit(void *handle, uint32_t limit)
@@ -2776,7 +2779,14 @@ static int smu_set_power_limit(void *handle, uint32_t limit)
if (smu->ppt_funcs->set_power_limit)
return smu->ppt_funcs->set_power_limit(smu, limit_type, limit);
@ -11554,7 +11562,7 @@ index 8a1c92090129..a415623cde8f 100644
EXPORT_SYMBOL_GPL(dirty_writeback_interval);
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index b50060405d94..da9f688657f6 100644
index 21016573f187..8afba9085a4b 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -271,7 +271,11 @@ const char * const migratetype_names[MIGRATE_TYPES] = {
@ -11607,7 +11615,7 @@ index bd5183dfd879..3a410f53a07c 100644
/*
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 68ac33bea3a3..9ede4f0c1c0e 100644
index 99a0c152a85e..75bd34426f48 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -191,7 +191,11 @@ struct scan_control {
@ -11622,7 +11630,7 @@ index 68ac33bea3a3..9ede4f0c1c0e 100644
#ifdef CONFIG_MEMCG
@@ -3973,7 +3977,11 @@ static bool lruvec_is_reclaimable(struct lruvec *lruvec, struct scan_control *sc
@@ -3953,7 +3957,11 @@ static bool lruvec_is_reclaimable(struct lruvec *lruvec, struct scan_control *sc
}
/* to protect the working set of the last N jiffies */
@ -11667,10 +11675,10 @@ index bf016af8bf8a..11d53f240a2b 100644
@echo ' targz-pkg - Build the kernel as a gzip compressed tarball'
diff --git a/scripts/package/PKGBUILD b/scripts/package/PKGBUILD
new file mode 100644
index 000000000000..839cd5e634d2
index 000000000000..f83493838cf9
--- /dev/null
+++ b/scripts/package/PKGBUILD
@@ -0,0 +1,119 @@
@@ -0,0 +1,132 @@
+# SPDX-License-Identifier: GPL-2.0-only
+# Maintainer: Thomas Weißschuh <linux@weissschuh.net>
+# Contributor: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
@ -11678,7 +11686,7 @@ index 000000000000..839cd5e634d2
+pkgbase=${PACMAN_PKGBASE:-linux-upstream}
+pkgname=("${pkgbase}")
+
+_extrapackages=${PACMAN_EXTRAPACKAGES-headers api-headers}
+_extrapackages=${PACMAN_EXTRAPACKAGES-headers api-headers debug}
+for pkg in $_extrapackages; do
+ pkgname+=("${pkgbase}-${pkg}")
+done
@ -11784,6 +11792,19 @@ index 000000000000..839cd5e634d2
+ ${MAKE} headers_install INSTALL_HDR_PATH="${pkgdir}/usr"
+}
+
+_package-debug(){
+ pkgdesc="Non-stripped vmlinux file for the ${pkgdesc} kernel"
+
+ local debugdir="${pkgdir}/usr/src/debug/${pkgbase}"
+ local builddir="${pkgdir}/usr/${MODLIB}/build"
+
+ _prologue
+
+ install -Dt "${debugdir}" -m644 vmlinux
+ mkdir -p "${builddir}"
+ ln -sr "${debugdir}/vmlinux" "${builddir}/vmlinux"
+}
+
+for _p in "${pkgname[@]}"; do
+ eval "package_$_p() {
+ $(declare -f "_package${_p#$pkgbase}")
@ -11793,9 +11814,9 @@ index 000000000000..839cd5e634d2
--
2.46.0
From 439f92c070a6ef817b632396df6d77cb71d09675 Mon Sep 17 00:00:00 2001
From fc2f414e83a32041470dff37ba469ce8dca9a5c5 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:11:50 +0200
Date: Sun, 8 Sep 2024 10:20:33 +0200
Subject: [PATCH 05/12] crypto
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -19982,9 +20003,9 @@ index ef031655b2d3..cd37de5ec404 100644
--
2.46.0
From 14db30eda7df7c06812087bd43bed7c08b660f00 Mon Sep 17 00:00:00 2001
From e2128d28b8bd50d15439421d67af631ed85d8426 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:11:59 +0200
Date: Sun, 8 Sep 2024 10:20:46 +0200
Subject: [PATCH 06/12] fixes
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -20185,9 +20206,60 @@ index aac0744011a3..d51d4ec8d707 100644
--
2.46.0
From c02a018fbeeacd6d7199ab2d484a9af674c7de20 Mon Sep 17 00:00:00 2001
From b2523fdbff8568f9dc194eebd8065ac5ac13d554 Mon Sep 17 00:00:00 2001
From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Date: Wed, 4 Sep 2024 16:52:28 +0200
Subject: [PATCH] soundwire: stream: Revert "soundwire: stream: fix programming
slave ports for non-continous port maps"
This reverts commit ab8d66d132bc8f1992d3eb6cab8d32dda6733c84 because it
breaks codecs using non-continuous masks in source and sink ports. The
commit missed the point that port numbers are not used as indices for
iterating over prop.sink_ports or prop.source_ports.
Soundwire core and existing codecs expect that the array passed as
prop.sink_ports and prop.source_ports is continuous. The port mask still
might be non-continuous, but that's unrelated.
Reported-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Closes: https://lore.kernel.org/all/b6c75eee-761d-44c8-8413-2a5b34ee2f98@linux.intel.com/
Fixes: ab8d66d132bc ("soundwire: stream: fix programming slave ports for non-continous port maps")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Cherry-picked-for: https://gitlab.archlinux.org/archlinux/packaging/packages/linux/-/issues/76
---
drivers/soundwire/stream.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
index 00191b1d226014..4e9e7d2a942d8a 100644
--- a/drivers/soundwire/stream.c
+++ b/drivers/soundwire/stream.c
@@ -1286,18 +1286,18 @@ struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave,
unsigned int port_num)
{
struct sdw_dpn_prop *dpn_prop;
- unsigned long mask;
+ u8 num_ports;
int i;
if (direction == SDW_DATA_DIR_TX) {
- mask = slave->prop.source_ports;
+ num_ports = hweight32(slave->prop.source_ports);
dpn_prop = slave->prop.src_dpn_prop;
} else {
- mask = slave->prop.sink_ports;
+ num_ports = hweight32(slave->prop.sink_ports);
dpn_prop = slave->prop.sink_dpn_prop;
}
- for_each_set_bit(i, &mask, 32) {
+ for (i = 0; i < num_ports; i++) {
if (dpn_prop[i].num == port_num)
return &dpn_prop[i];
}
From 90984a4f1e0c0ce2354448ea648bda14c57da75f Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:12:10 +0200
Date: Sun, 8 Sep 2024 10:20:59 +0200
Subject: [PATCH 07/12] intel-pstate
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -20669,9 +20741,9 @@ index cc54238596ed..4e59a5446861 100644
--
2.46.0
From 82240c1cd09e0c3ebe16adb670cb42ca3989707d Mon Sep 17 00:00:00 2001
From b503c9c8ebb5f8ab64d6238b83a4c57a78b3bc73 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:12:19 +0200
Date: Sun, 8 Sep 2024 10:21:08 +0200
Subject: [PATCH 08/12] ksm
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -21109,9 +21181,9 @@ index b696b85ac63e..cf7f3d841b1e 100644
--
2.46.0
From b975a412d17b3a64c0ba792fd0bbfbba005e22ec Mon Sep 17 00:00:00 2001
From 8fb09a4def39f91a1641028f6e03cdf8a35f8dae Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:12:29 +0200
Date: Sun, 8 Sep 2024 10:21:31 +0200
Subject: [PATCH 09/12] ntsync
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -24198,9 +24270,9 @@ index 000000000000..5fa2c9a0768c
--
2.46.0
From d8988d80159dcf97dce7ba4653dda9096fe4368f Mon Sep 17 00:00:00 2001
From 75719451edff6bd0e09ec5d9465f025e78c1ae26 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:12:40 +0200
Date: Sun, 8 Sep 2024 10:21:43 +0200
Subject: [PATCH 10/12] perf-per-core
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -25106,9 +25178,9 @@ index 9a6069e7133c..23722aa21e2f 100644
--
2.46.0
From d6cc714fac7770513508d906ab52439fc377aa7a Mon Sep 17 00:00:00 2001
From dc94473290be40f81a6153d3ab318e7d1f213d15 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:12:54 +0200
Date: Thu, 12 Sep 2024 11:47:36 +0200
Subject: [PATCH 11/12] t2
Signed-off-by: Peter Jung <admin@ptr1337.dev>
@ -25144,6 +25216,7 @@ Signed-off-by: Peter Jung <admin@ptr1337.dev>
drivers/hid/hid-quirks.c | 8 +-
drivers/hwmon/applesmc.c | 1138 ++++++++++++-----
drivers/input/mouse/bcm5974.c | 138 ++
.../broadcom/brcm80211/brcmfmac/cfg80211.c | 13 +-
drivers/pci/vgaarb.c | 1 +
drivers/platform/x86/apple-gmux.c | 18 +
drivers/staging/Kconfig | 2 +
@ -25183,7 +25256,7 @@ Signed-off-by: Peter Jung <admin@ptr1337.dev>
lib/test_printf.c | 20 +-
lib/vsprintf.c | 36 +-
scripts/checkpatch.pl | 2 +-
70 files changed, 8530 insertions(+), 393 deletions(-)
71 files changed, 8533 insertions(+), 403 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-driver-hid-appletb-kbd
create mode 100644 drivers/gpu/drm/tiny/appletbdrm.c
create mode 100644 drivers/hid/hid-appletb-bl.c
@ -25675,10 +25748,10 @@ index bda702c2cab8..1647e141ae78 100644
intel_fb->base.width, intel_fb->base.height,
sizes->fb_width, sizes->fb_height);
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.c b/drivers/gpu/drm/i915/display/intel_quirks.c
index 14d5fefc9c5b..727639b8f6a6 100644
index dfd8b4960e6d..7232f9acd0a0 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.c
+++ b/drivers/gpu/drm/i915/display/intel_quirks.c
@@ -59,6 +59,18 @@ static void quirk_increase_ddi_disabled_time(struct intel_display *display)
@@ -64,6 +64,18 @@ static void quirk_increase_ddi_disabled_time(struct intel_display *display)
drm_info(display->drm, "Applying Increase DDI Disabled quirk\n");
}
@ -25697,7 +25770,7 @@ index 14d5fefc9c5b..727639b8f6a6 100644
static void quirk_no_pps_backlight_power_hook(struct intel_display *display)
{
intel_set_quirk(display, QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK);
@@ -201,6 +213,9 @@ static struct intel_quirk intel_quirks[] = {
@@ -229,6 +241,9 @@ static struct intel_quirk intel_quirks[] = {
{ 0x3184, 0x1019, 0xa94d, quirk_increase_ddi_disabled_time },
/* HP Notebook - 14-r206nv */
{ 0x0f31, 0x103c, 0x220f, quirk_invert_brightness },
@ -25706,19 +25779,19 @@ index 14d5fefc9c5b..727639b8f6a6 100644
+ { 0x3e9b, 0x106b, 0x0176, quirk_ddi_a_force_4_lanes },
};
void intel_init_quirks(struct intel_display *display)
static struct intel_dpcd_quirk intel_dpcd_quirks[] = {
diff --git a/drivers/gpu/drm/i915/display/intel_quirks.h b/drivers/gpu/drm/i915/display/intel_quirks.h
index 151c8f4ae576..46e7feba88f4 100644
index cafdebda7535..58f60b870781 100644
--- a/drivers/gpu/drm/i915/display/intel_quirks.h
+++ b/drivers/gpu/drm/i915/display/intel_quirks.h
@@ -17,6 +17,7 @@ enum intel_quirk_id {
@@ -19,6 +19,7 @@ enum intel_quirk_id {
QUIRK_INVERT_BRIGHTNESS,
QUIRK_LVDS_SSC_DISABLE,
QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK,
+ QUIRK_DDI_A_FORCE_4_LANES,
QUIRK_FW_SYNC_LEN,
};
void intel_init_quirks(struct intel_display *display);
diff --git a/drivers/gpu/drm/tests/drm_format_helper_test.c b/drivers/gpu/drm/tests/drm_format_helper_test.c
index 08992636ec05..35cd3405d045 100644
--- a/drivers/gpu/drm/tests/drm_format_helper_test.c
@ -29821,6 +29894,30 @@ index ca150618d32f..4e692b272ae9 100644
{}
};
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
index 826b768196e2..5fe0e671ecb3 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -4320,16 +4320,9 @@ brcmf_pmksa_v3_op(struct brcmf_if *ifp, struct cfg80211_pmksa *pmksa,
/* Single PMK operation */
pmk_op->count = cpu_to_le16(1);
length += sizeof(struct brcmf_pmksa_v3);
- if (pmksa->bssid)
- memcpy(pmk_op->pmk[0].bssid, pmksa->bssid, ETH_ALEN);
- if (pmksa->pmkid) {
- memcpy(pmk_op->pmk[0].pmkid, pmksa->pmkid, WLAN_PMKID_LEN);
- pmk_op->pmk[0].pmkid_len = WLAN_PMKID_LEN;
- }
- if (pmksa->ssid && pmksa->ssid_len) {
- memcpy(pmk_op->pmk[0].ssid.SSID, pmksa->ssid, pmksa->ssid_len);
- pmk_op->pmk[0].ssid.SSID_len = pmksa->ssid_len;
- }
+ memcpy(pmk_op->pmk[0].bssid, pmksa->bssid, ETH_ALEN);
+ memcpy(pmk_op->pmk[0].pmkid, pmksa->pmkid, WLAN_PMKID_LEN);
+ pmk_op->pmk[0].pmkid_len = WLAN_PMKID_LEN;
pmk_op->pmk[0].time_left = cpu_to_le32(alive ? BRCMF_PMKSA_NO_EXPIRY : 0);
}
diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
index 78748e8d2dba..2b2b558cebe6 100644
--- a/drivers/pci/vgaarb.c
@ -35747,10 +35844,10 @@ index e02ba15f6e34..b35734d03109 100644
new_driver->driver.mod_name = mod_name;
new_driver->driver.dev_groups = new_driver->dev_groups;
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
index b610a2de4ae5..0cdbcf82554f 100644
index a04b4cb1382d..e89dacd4657d 100644
--- a/drivers/usb/storage/uas.c
+++ b/drivers/usb/storage/uas.c
@@ -1232,9 +1232,8 @@ static void uas_disconnect(struct usb_interface *intf)
@@ -1233,9 +1233,8 @@ static void uas_disconnect(struct usb_interface *intf)
* hang on reboot when the device is still in uas mode. Note the reset is
* necessary as some devices won't revert to usb-storage mode without it.
*/
@ -35761,7 +35858,7 @@ index b610a2de4ae5..0cdbcf82554f 100644
struct usb_device *udev = interface_to_usbdev(intf);
struct Scsi_Host *shost = usb_get_intfdata(intf);
struct uas_dev_info *devinfo = (struct uas_dev_info *)shost->hostdata;
@@ -1257,7 +1256,7 @@ static struct usb_driver uas_driver = {
@@ -1258,7 +1257,7 @@ static struct usb_driver uas_driver = {
.suspend = uas_suspend,
.resume = uas_resume,
.reset_resume = uas_reset_resume,
@ -35965,9 +36062,9 @@ index 2b812210b412..4c3a8cc6ef15 100755
--
2.46.0
From 9afecb85f641ac23f4433d7be212e179699324aa Mon Sep 17 00:00:00 2001
From 859a4a5da2b5d6dc06d3ebba0360380a479c7ed5 Mon Sep 17 00:00:00 2001
From: Peter Jung <admin@ptr1337.dev>
Date: Thu, 29 Aug 2024 18:13:03 +0200
Date: Thu, 12 Sep 2024 11:47:49 +0200
Subject: [PATCH 12/12] zstd
Signed-off-by: Peter Jung <admin@ptr1337.dev>