Re: [PATCH v3 0/4] platform/x86/amd/hsmp: Family 1Ah client support
"M K, Muralidhara" <[email protected]>
| Newsgroups | org.kernel.vger.linux-kernel,org.kernel.vger.platform-driver-x86 |
|---|---|
| Message-ID | <[email protected]> |
On 8/19/2026 10:17 PM, Mario Limonciello wrote: > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. > > > On 8/19/26 02:31, Muralidhara M K wrote: >> This series enables the HSMP driver on the Family 1Ah client platforms, >> Models 80h-8Fh and E0h-E3h. >> >> The client parts drive a different mailbox from the server HSMP >> interface, but the latest BIOS describes it through ACPI _CRS/_DSD the >> same way a server socket's mailbox is described, and the parts speak >> the Ryzen Master SMC message set instead of the server message IDs. >> Patches 1-3 teach the driver the message set and let the client reach >> its mailbox through the existing _CRS/_DSD-driven MMIO path, leaving >> server behaviour unchanged, and patch 4 includes the telemetry table >> those parts return. Only the ACPI driver probes them. >> >> Changes in v3: >> >> - is_client_platform() now tells client and server apart through the >> ACPI-reported PM profile (FADT preferred_profile: PM_DESKTOP, >> PM_MOBILE, PM_WORKSTATION, PM_TABLET) instead of a hardcoded Family >> 1Ah model range, the same signal amd-pstate already keys off of. >> Future client generations are recognised as long as firmware >> reports the right PM profile, with no driver update needed. >> - hsmp_desc() now resolves the running platform's descriptor once and >> caches the pointer behind READ_ONCE()/WRITE_ONCE() instead of >> recomputing it on every call. Concurrent first callers are benign, >> since every one of them computes and stores that same pointer, so >> the pair only needs to keep the load/store from being torn or >> reordered by the compiler, not order it against anything else. >> - The client message enum in amd_hsmp.h is now documented with >> kernel-doc, one @member entry per message describing its inputs >> and outputs, rather than a block comment plus a same-line comment >> per enumerator. Noted there that not every platform supports every >> message and that an unsupported one returns -ENOMSG. >> - Patch 4: the Telemetry Table RM layout moved out of the .rst and >> into amd_hsmp.h as real kernel-doc'd struct/enum declarations, >> giving userspace one authoritative definition of the byte layout. >> The .rst now just points at struct hsmp_telemetry_table_rm. The >> structs are now also packed to a 4-byte boundary to match >> firmware's actual layout, and the trailing NPU/PMF counters and >> spare padding firmware carries after the overclocking fields are >> no longer missing. Verified field-by-field against AMD's internal >> metrics table header and end-to-end against a live snapshot off >> Family 1Ah client hardware. >> >> Each patch builds individually at W=1 and is clean under >> checkpatch.pl --strict, kernel-doc, codespell and the htmldocs build. >> >> Muralidhara M K (4): >> platform/x86/amd/hsmp: Add HSMP client support for Family 1Ah >> platform/x86/amd/hsmp: Route metric table through the client messages >> platform/x86/amd/hsmp: Add ACPI client support for Family 1Ah >> platform/x86/amd/hsmp: Document the client telemetry table >> >> Documentation/arch/x86/amd_hsmp.rst | 24 ++- >> arch/x86/include/uapi/asm/amd_hsmp.h | 398 +++++++++++++++++++++++++ >> ++++++++++ >> drivers/platform/x86/amd/hsmp/acpi.c | 2 +- >> drivers/platform/x86/amd/hsmp/hsmp.c | 273 +++++++++++++++++++++--- >> drivers/platform/x86/amd/hsmp/hsmp.h | 25 +++ >> 5 files changed, 688 insertions(+), 34 deletions(-) >> >> >> base-commit: 775f2078b38ff2121410a35302497a1e81b8e459 > > Thank you very much for the changes you did in v3, I'm happy now with > the changes. > > Reviewed-by: Mario Limonciello (AMD) <[email protected]> Thanks Mario. Hi Ilpo, Could you please take a look at this series and share your feedback ?