All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mario Limonciello <superm1@gmail.com>
To: "Hans de Goede" <hdegoede@redhat.com>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
Cc: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>,
	Carlos Bilbao <carlos.bilbao@amd.com>,
	platform-driver-x86@vger.kernel.org (open list:AMD HSMP DRIVER),
	linux-kernel@vger.kernel.org (open list),
	Mario Limonciello <mario.limonciello@amd.com>
Subject: [PATCH v2] platform/x86/amd: Don't allow HSMP to be loaded on non-server hardware
Date: Tue, 16 Apr 2024 13:20:57 -0500	[thread overview]
Message-ID: <20240416182057.8230-1-superm1@gmail.com> (raw)

From: Mario Limonciello <mario.limonciello@amd.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@amd.com>
---
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
-- 
2.43.0


             reply	other threads:[~2024-04-16 18:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-16 18:20 Mario Limonciello [this message]
2024-04-18  9:04 ` [PATCH v2] platform/x86/amd: Don't allow HSMP to be loaded on non-server hardware Hans de Goede
2024-04-18 11:27   ` Mario Limonciello
2024-04-18 12:12     ` Hans de Goede
2024-04-18 13:51     ` Ilpo Järvinen
2024-04-19  1:38       ` Mario Limonciello
2024-04-22 13:31 ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240416182057.8230-1-superm1@gmail.com \
    --to=superm1@gmail.com \
    --cc=carlos.bilbao@amd.com \
    --cc=hdegoede@redhat.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mario.limonciello@amd.com \
    --cc=naveenkrishna.chatradhi@amd.com \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.