[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e2567d94-6280-42b6-acd0-bf4aba90883b@redhat.com>
Date: Mon, 22 Apr 2024 15:31:28 +0200
From: Hans de Goede <hdegoede@...hat.com>
To: Mario Limonciello <superm1@...il.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
Cc: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@....com>,
Carlos Bilbao <carlos.bilbao@....com>,
"open list:AMD HSMP DRIVER" <platform-driver-x86@...r.kernel.org>,
open list <linux-kernel@...r.kernel.org>,
Mario Limonciello <mario.limonciello@....com>
Subject: Re: [PATCH v2] platform/x86/amd: Don't allow HSMP to be loaded on
non-server hardware
Hi,
On 4/16/24 8:20 PM, Mario Limonciello wrote:
> From: Mario Limonciello <mario.limonciello@....com>
>
> 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@....com>
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
Powered by blists - more mailing lists