diff options
author | Mario Limonciello <mario.limonciello@amd.com> | 2025-02-17 17:17:41 -0600 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2025-03-19 11:18:48 +0100 |
commit | 4476e7f81467b2c1b0aea7383e657181a3f9e652 (patch) | |
tree | c5c550e673b095481dd41d282e8601004cf42347 | |
parent | 9c19cc1f5f571b03cc56338ed12836531a4989a4 (diff) |
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 <mario.limonciello@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Link: https://lore.kernel.org/r/20250217231747.1656228-2-superm1@kernel.org
-rw-r--r-- | arch/x86/include/asm/amd_node.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/include/asm/amd_node.h b/arch/x86/include/asm/amd_node.h index 002c3afbd30f..23fe617898a8 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_*/ |