Commit 382fe403dc31 ("platform/x86/amd/pmc: Add STB support for AMD Desktop variants") added S2D message ID 0x9B for Granite Ridge (family 1Ah, model 44h), but only checks the model. Rembrandt is family 19h, model 44h and goes through the same AMD_CPU_ID_YC case, so it sends 0x9B instead of 0xBE. The firmware then reports a telemetry size of 1 instead of 0x100000 and amd_stb_s2d_init() fails with -EIO. amd_stb_update_args() already checks for Zen 5 before using the Granite Ridge registers. Do the same for the message ID. Fixes: 382fe403dc31 ("platform/x86/amd/pmc: Add STB support for AMD Desktop variants") Cc: stable@vger.kernel.org Signed-off-by: Christian Aurich Zanettini Martins --- Notes: Tested on a Lenovo IdeaPad Slim 3 15ARP10 (Ryzen 7 7735HS), with this driver built out of tree for a 7.0 kernel. The size query returns 1 with 0x9B and 0x100000 with 0xBE. This laptop's firmware then reports S2D address 0, so init still ends in -ENXIO here and I couldn't test an actual STB dump. Based on v7.4-rc1. Found in my own boot logs. drivers/platform/x86/amd/pmc/mp1_stb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/platform/x86/amd/pmc/mp1_stb.c b/drivers/platform/x86/amd/pmc/mp1_stb.c index 8a33e75b71c3..af9ecec532f0 100644 --- a/drivers/platform/x86/amd/pmc/mp1_stb.c +++ b/drivers/platform/x86/amd/pmc/mp1_stb.c @@ -266,7 +266,7 @@ static bool amd_is_stb_supported(struct amd_pmc_dev *dev) switch (dev->cpu_id) { case AMD_CPU_ID_YC: case AMD_CPU_ID_CB: - if (boot_cpu_data.x86_model == 0x44) + if (cpu_feature_enabled(X86_FEATURE_ZEN5) && boot_cpu_data.x86_model == 0x44) dev->stb_arg.s2d_msg_id = 0x9B; else dev->stb_arg.s2d_msg_id = 0xBE; -- 2.43.0