Hi, On 4/16/24 8:20 PM, Mario Limonciello wrote: > From: Mario Limonciello <mario.limonciello@xxxxxxx> > > If the HSMP driver is compiled into the kernel or a module manually loaded > on client hardware it can cause problems with the functionality of the PMC > module since it probes a mailbox with a different definition on servers. > > Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2414 > Link: https://gitlab.freedesktop.org/drm/amd/-/issues/3285 > Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx> Thank you for your patch, I've applied this patch to my review-hans branch: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans Note it will show up in my review-hans branch once I've pushed my local branch there, which might take a while. Once I've run some tests on this branch the patches there will be added to the platform-drivers-x86/for-next branch and eventually will be included in the pdx86 pull-request to Linus for the next merge-window. Regards, Hans > --- > v1->v2: > * use pm preferred profile instead > --- > drivers/platform/x86/amd/hsmp.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/platform/x86/amd/hsmp.c b/drivers/platform/x86/amd/hsmp.c > index 1927be901108..102a49c3e945 100644 > --- a/drivers/platform/x86/amd/hsmp.c > +++ b/drivers/platform/x86/amd/hsmp.c > @@ -907,6 +907,17 @@ static int hsmp_plat_dev_register(void) > return ret; > } > > +static bool hsmp_supported_profile(void) > +{ > + switch (acpi_gbl_FADT.preferred_profile) { > + case PM_ENTERPRISE_SERVER: > + case PM_SOHO_SERVER: > + case PM_PERFORMANCE_SERVER: > + return true; > + } > + return false; > +} > + > static int __init hsmp_plt_init(void) > { > int ret = -ENODEV; > @@ -917,6 +928,11 @@ static int __init hsmp_plt_init(void) > return ret; > } > > + if (!hsmp_supported_profile()) { > + pr_err("HSMP is only supported on servers"); > + return ret; > + } > + > /* > * amd_nb_num() returns number of SMN/DF interfaces present in the system > * if we have N SMN/DF interfaces that ideally means N sockets