Re: [PATCH v3 0/4] platform/x86/amd/hsmp: Family 1Ah client support
Mario Limonciello <[email protected]>
| Newsgroups | org.kernel.vger.platform-driver-x86,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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]>