]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/amd_node: Add a smn_read_register() helper
authorMario Limonciello <mario.limonciello@amd.com>
Mon, 17 Feb 2025 23:17:41 +0000 (17:17 -0600)
committerBorislav Petkov (AMD) <bp@alien8.de>
Tue, 18 Feb 2025 17:14:29 +0000 (18:14 +0100)
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>
Link: https://lore.kernel.org/r/20250217231747.1656228-2-superm1@kernel.org
arch/x86/include/asm/amd_node.h

index 002c3afbd30f9ba3b47a3e86b269e0425754e965..23fe617898a8f360508c1370dc9f444d346b7f8d 100644 (file)
@@ -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_*/