From: Mario Limonciello Date: Mon, 17 Feb 2025 23:17:41 +0000 (-0600) Subject: x86/amd_node: Add a smn_read_register() helper X-Git-Tag: v6.15-rc1~173^2~4^2~104^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c893ee3f95f16fcb98da934d61483d0b7d8ed568;p=thirdparty%2Fkernel%2Flinux.git x86/amd_node: Add a smn_read_register() helper Some of the ACP drivers will poll registers through SMN using read_poll_timeout() which requires returning the result of the register read as the argument. Add a helper to do just that. Signed-off-by: Mario Limonciello Signed-off-by: Borislav Petkov (AMD) Link: https://lore.kernel.org/r/20250217231747.1656228-2-superm1@kernel.org --- diff --git a/arch/x86/include/asm/amd_node.h b/arch/x86/include/asm/amd_node.h index 002c3afbd30f9..23fe617898a8f 100644 --- a/arch/x86/include/asm/amd_node.h +++ b/arch/x86/include/asm/amd_node.h @@ -46,4 +46,15 @@ static inline int __must_check amd_smn_hsmp_rdwr(u16 node, u32 address, u32 *val } #endif /* CONFIG_AMD_NODE */ +/* helper for use with read_poll_timeout */ +static inline int smn_read_register(u32 reg) +{ + int data, rc; + + rc = amd_smn_read(0, reg, &data); + if (rc) + return rc; + + return data; +} #endif /*_ASM_X86_AMD_NODE_H_*/