diff --git a/config b/config index 9cbfb75..34ae0d5 100644 --- a/config +++ b/config @@ -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 diff --git a/patches/0001-cachyos-base-all.patch b/patches/0001-cachyos-base-all.patch index 4d2d982..b5a7534 100644 --- a/patches/0001-cachyos-base-all.patch +++ b/patches/0001-cachyos-base-all.patch @@ -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 -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 @@ -11,10 +11,10 @@ Signed-off-by: Peter Jung 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 -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 @@ -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 -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 @@ -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 -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 @@ -4740,8 +4748,8 @@ Signed-off-by: Peter Jung 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 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 +# Contributor: Jan Alexander Steffens (heftig) @@ -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 -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 @@ -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 -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 @@ -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 +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 +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 +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 -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 @@ -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 -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 @@ -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 -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 @@ -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 -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 @@ -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 -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 @@ -25144,6 +25216,7 @@ Signed-off-by: Peter Jung 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 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 -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