From 7d9d93d739d10efadf4715077b3883eea812d0fd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Sun, 24 Aug 2025 07:31:17 +0200 Subject: [PATCH] 6.6-stable patches added patches: compiler-remove-__addressable_asm-_str-again.patch drm-amd-display-don-t-overclock-dce-6-by-15.patch mmc-sdhci-pci-gli-gl9763e-mask-the-replay-timer-timeout-of-aer.patch --- ...-remove-__addressable_asm-_str-again.patch | 73 +++++++++++++++++++ ...-display-don-t-overclock-dce-6-by-15.patch | 55 ++++++++++++++ ...mask-the-replay-timer-timeout-of-aer.patch | 41 +++++++++++ queue-6.6/series | 3 + 4 files changed, 172 insertions(+) create mode 100644 queue-6.6/compiler-remove-__addressable_asm-_str-again.patch create mode 100644 queue-6.6/drm-amd-display-don-t-overclock-dce-6-by-15.patch create mode 100644 queue-6.6/mmc-sdhci-pci-gli-gl9763e-mask-the-replay-timer-timeout-of-aer.patch diff --git a/queue-6.6/compiler-remove-__addressable_asm-_str-again.patch b/queue-6.6/compiler-remove-__addressable_asm-_str-again.patch new file mode 100644 index 0000000000..276be37f0f --- /dev/null +++ b/queue-6.6/compiler-remove-__addressable_asm-_str-again.patch @@ -0,0 +1,73 @@ +From stable+bounces-172671-greg=kroah.com@vger.kernel.org Sun Aug 24 02:32:28 2025 +From: Sasha Levin +Date: Sat, 23 Aug 2025 20:32:21 -0400 +Subject: compiler: remove __ADDRESSABLE_ASM{_STR,}() again +To: stable@vger.kernel.org +Cc: Jan Beulich , Josh Poimboeuf , Juergen Gross , Sasha Levin +Message-ID: <20250824003221.2541871-1-sashal@kernel.org> + +From: Jan Beulich + +[ Upstream commit 8ea815399c3fcce1889bd951fec25b5b9a3979c1 ] + +__ADDRESSABLE_ASM_STR() is where the necessary stringification happens. +As long as "sym" doesn't contain any odd characters, no quoting is +required for its use with .quad / .long. In fact the quotation gets in +the way with gas 2.25; it's only from 2.26 onwards that quoted symbols +are half-way properly supported. + +However, assembly being different from C anyway, drop +__ADDRESSABLE_ASM_STR() and its helper macro altogether. A simple +.global directive will suffice to get the symbol "declared", i.e. into +the symbol table. While there also stop open-coding STATIC_CALL_TRAMP() +and STATIC_CALL_KEY(). + +Fixes: 0ef8047b737d ("x86/static-call: provide a way to do very early static-call updates") +Signed-off-by: Jan Beulich +Acked-by: Josh Poimboeuf +Cc: stable@vger.kernel.org +Signed-off-by: Juergen Gross +Message-ID: <609d2c74-de13-4fae-ab1a-1ec44afb948d@suse.com> +[ Adjust context ] +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + arch/x86/include/asm/xen/hypercall.h | 5 +++-- + include/linux/compiler.h | 8 -------- + 2 files changed, 3 insertions(+), 10 deletions(-) + +--- a/arch/x86/include/asm/xen/hypercall.h ++++ b/arch/x86/include/asm/xen/hypercall.h +@@ -94,12 +94,13 @@ DECLARE_STATIC_CALL(xen_hypercall, xen_h + #ifdef MODULE + #define __ADDRESSABLE_xen_hypercall + #else +-#define __ADDRESSABLE_xen_hypercall __ADDRESSABLE_ASM_STR(__SCK__xen_hypercall) ++#define __ADDRESSABLE_xen_hypercall \ ++ __stringify(.global STATIC_CALL_KEY(xen_hypercall);) + #endif + + #define __HYPERCALL \ + __ADDRESSABLE_xen_hypercall \ +- "call __SCT__xen_hypercall" ++ __stringify(call STATIC_CALL_TRAMP(xen_hypercall)) + + #define __HYPERCALL_ENTRY(x) "a" (x) + +--- a/include/linux/compiler.h ++++ b/include/linux/compiler.h +@@ -234,14 +234,6 @@ static inline void *offset_to_ptr(const + #define __ADDRESSABLE(sym) \ + ___ADDRESSABLE(sym, __section(".discard.addressable")) + +-#define __ADDRESSABLE_ASM(sym) \ +- .pushsection .discard.addressable,"aw"; \ +- .align ARCH_SEL(8,4); \ +- ARCH_SEL(.quad, .long) __stringify(sym); \ +- .popsection; +- +-#define __ADDRESSABLE_ASM_STR(sym) __stringify(__ADDRESSABLE_ASM(sym)) +- + /* &a[0] degrades to a pointer: a different type from an array */ + #define __must_be_array(a) BUILD_BUG_ON_ZERO(__same_type((a), &(a)[0])) + diff --git a/queue-6.6/drm-amd-display-don-t-overclock-dce-6-by-15.patch b/queue-6.6/drm-amd-display-don-t-overclock-dce-6-by-15.patch new file mode 100644 index 0000000000..a492fc1f8d --- /dev/null +++ b/queue-6.6/drm-amd-display-don-t-overclock-dce-6-by-15.patch @@ -0,0 +1,55 @@ +From stable+bounces-172665-greg=kroah.com@vger.kernel.org Sun Aug 24 01:46:56 2025 +From: Sasha Levin +Date: Sat, 23 Aug 2025 19:46:46 -0400 +Subject: drm/amd/display: Don't overclock DCE 6 by 15% +To: stable@vger.kernel.org +Cc: "Timur Kristóf" , "Alex Deucher" , "Rodrigo Siqueira" , "Alex Hung" , "Sasha Levin" +Message-ID: <20250823234647.2465453-1-sashal@kernel.org> + +From: Timur Kristóf + +[ Upstream commit cb7b7ae53b557d168b4af5cd8549f3eff920bfb5 ] + +The extra 15% clock was added as a workaround for a Polaris issue +which uses DCE 11, and should not have been used on DCE 6 which +is already hardcoded to the highest possible display clock. +Unfortunately, the extra 15% was mistakenly copied and kept +even on code paths which don't affect Polaris. + +This commit fixes that and also adds a check to make sure +not to exceed the maximum DCE 6 display clock. + +Fixes: 8cd61c313d8b ("drm/amd/display: Raise dispclk value for Polaris") +Fixes: dc88b4a684d2 ("drm/amd/display: make clk mgr soc specific") +Fixes: 3ecb3b794e2c ("drm/amd/display: dc/clk_mgr: add support for SI parts (v2)") +Signed-off-by: Timur Kristóf +Acked-by: Alex Deucher +Reviewed-by: Rodrigo Siqueira +Reviewed-by: Alex Hung +Signed-off-by: Alex Deucher +(cherry picked from commit 427980c1cbd22bb256b9385f5ce73c0937562408) +Cc: stable@vger.kernel.org +[ `MIN` => `min` ] +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c | 8 +++----- + 1 file changed, 3 insertions(+), 5 deletions(-) + +--- a/drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c ++++ b/drivers/gpu/drm/amd/display/dc/clk_mgr/dce60/dce60_clk_mgr.c +@@ -112,11 +112,9 @@ static void dce60_update_clocks(struct c + { + struct clk_mgr_internal *clk_mgr_dce = TO_CLK_MGR_INTERNAL(clk_mgr_base); + struct dm_pp_power_level_change_request level_change_req; +- int patched_disp_clk = context->bw_ctx.bw.dce.dispclk_khz; +- +- /*TODO: W/A for dal3 linux, investigate why this works */ +- if (!clk_mgr_dce->dfs_bypass_active) +- patched_disp_clk = patched_disp_clk * 115 / 100; ++ const int max_disp_clk = ++ clk_mgr_dce->max_clks_by_state[DM_PP_CLOCKS_STATE_PERFORMANCE].display_clk_khz; ++ int patched_disp_clk = min(max_disp_clk, context->bw_ctx.bw.dce.dispclk_khz); + + level_change_req.power_level = dce_get_required_clocks_state(clk_mgr_base, context); + /* get max clock state from PPLIB */ diff --git a/queue-6.6/mmc-sdhci-pci-gli-gl9763e-mask-the-replay-timer-timeout-of-aer.patch b/queue-6.6/mmc-sdhci-pci-gli-gl9763e-mask-the-replay-timer-timeout-of-aer.patch new file mode 100644 index 0000000000..6619b9a544 --- /dev/null +++ b/queue-6.6/mmc-sdhci-pci-gli-gl9763e-mask-the-replay-timer-timeout-of-aer.patch @@ -0,0 +1,41 @@ +From stable+bounces-172633-greg=kroah.com@vger.kernel.org Sat Aug 23 17:46:52 2025 +From: Sasha Levin +Date: Sat, 23 Aug 2025 11:45:22 -0400 +Subject: mmc: sdhci-pci-gli: GL9763e: Mask the replay timer timeout of AER +To: stable@vger.kernel.org +Cc: Victor Shih , Adrian Hunter , Ulf Hansson , Sasha Levin +Message-ID: <20250823154522.2285870-3-sashal@kernel.org> + +From: Victor Shih + +[ Upstream commit 340be332e420ed37d15d4169a1b4174e912ad6cb ] + +Due to a flaw in the hardware design, the GL9763e replay timer frequently +times out when ASPM is enabled. As a result, the warning messages will +often appear in the system log when the system accesses the GL9763e +PCI config. Therefore, the replay timer timeout must be masked. + +Signed-off-by: Victor Shih +Fixes: 1ae1d2d6e555 ("mmc: sdhci-pci-gli: Add Genesys Logic GL9763E support") +Cc: stable@vger.kernel.org +Acked-by: Adrian Hunter +Link: https://lore.kernel.org/r/20250731065752.450231-4-victorshihgli@gmail.com +Signed-off-by: Ulf Hansson +Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman +--- + drivers/mmc/host/sdhci-pci-gli.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/drivers/mmc/host/sdhci-pci-gli.c ++++ b/drivers/mmc/host/sdhci-pci-gli.c +@@ -1376,6 +1376,9 @@ static void gl9763e_hw_setting(struct sd + value |= FIELD_PREP(GLI_9763E_HS400_RXDLY, GLI_9763E_HS400_RXDLY_5); + pci_write_config_dword(pdev, PCIE_GLI_9763E_CLKRXDLY, value); + ++ /* mask the replay timer timeout of AER */ ++ sdhci_gli_mask_replay_timer_timeout(pdev); ++ + pci_read_config_dword(pdev, PCIE_GLI_9763E_VHS, &value); + value &= ~GLI_9763E_VHS_REV; + value |= FIELD_PREP(GLI_9763E_VHS_REV, GLI_9763E_VHS_REV_R); diff --git a/queue-6.6/series b/queue-6.6/series index 206f57559d..44a39ebec4 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -528,3 +528,6 @@ usb-storage-ignore-driver-cd-mode-for-realtek-multi-mode-wi-fi-dongles.patch usb-dwc3-ignore-late-xfernotready-event-to-prevent-halt-timeout.patch usb-dwc3-remove-warn_on-for-device-endpoint-command-timeouts.patch usb-dwc3-pci-add-support-for-the-intel-wildcat-lake.patch +drm-amd-display-don-t-overclock-dce-6-by-15.patch +compiler-remove-__addressable_asm-_str-again.patch +mmc-sdhci-pci-gli-gl9763e-mask-the-replay-timer-timeout-of-aer.patch -- 2.47.3