X86 platform drivers
 help / color / mirror / Atom feed
From: Suma Hegde <suma.hegde@amd.com>
To: <platform-driver-x86@vger.kernel.org>
Cc: <ilpo.jarvinen@linux.intel.com>, <hdegoede@redhat.com>,
	Suma Hegde <suma.hegde@amd.com>,
	Naveen Krishna Chatradhi <nchatrad@amd.com>
Subject: [PATCH v2 7/7] platform/x86: Non-ACPI support for AMD F1A_M00~0Fh
Date: Wed, 20 Dec 2023 16:55:28 +0000	[thread overview]
Message-ID: <20231220165528.1351200-8-suma.hegde@amd.com> (raw)
In-Reply-To: <20231220165528.1351200-1-suma.hegde@amd.com>

AMD EPYC family 0x1A and Model 0x0-0xF are having different
mailbox message ID offset compared to previous
platforms. In case of ACPI based BIOS, this information will be read
from ACPI table, for non ACPI BIOS, this needs to be #defined.

Signed-off-by: Suma Hegde <suma.hegde@amd.com>
Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>

Changes since v1:
Add "Reviewed-by: Hans de Goede <hdegoede@redhat.com>"

---
 drivers/platform/x86/amd/hsmp.c | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/drivers/platform/x86/amd/hsmp.c b/drivers/platform/x86/amd/hsmp.c
index 726ba73e23dd..95afea56d333 100644
--- a/drivers/platform/x86/amd/hsmp.c
+++ b/drivers/platform/x86/amd/hsmp.c
@@ -44,6 +44,7 @@
  */
 #define SMN_HSMP_BASE		0x3B00000
 #define SMN_HSMP_MSG_ID		0x0010534
+#define SMN_HSMP_MSG_ID_F1A_M0H	0x0010934
 #define SMN_HSMP_MSG_RESP	0x0010980
 #define SMN_HSMP_MSG_DATA	0x00109E0
 
@@ -712,6 +713,15 @@ static int hsmp_cache_proto_ver(u16 sock_ind)
 	return ret;
 }
 
+static inline bool is_f1a_m0h(void)
+{
+	if (boot_cpu_data.x86 == 0x1A &&
+	    (boot_cpu_data.x86_model >= 0x00 && boot_cpu_data.x86_model <= 0x0F))
+		return true;
+
+	return false;
+}
+
 static int initialize_platdev(struct device *dev)
 {
 	int ret, i;
@@ -723,7 +733,16 @@ static int initialize_platdev(struct device *dev)
 		plat_dev.sock[i].sock_ind		= i;
 		plat_dev.sock[i].dev			= dev;
 		plat_dev.sock[i].mbinfo.base_addr	= SMN_HSMP_BASE;
-		plat_dev.sock[i].mbinfo.msg_id_off	= SMN_HSMP_MSG_ID;
+
+		/*
+		 * This is a tranisitional change from non ACPI to ACPI, only
+		 * family 0x1A, model 0x00 platform is supported for both ACPI and non ACPI.
+		 */
+		if (is_f1a_m0h())
+			plat_dev.sock[i].mbinfo.msg_id_off	= SMN_HSMP_MSG_ID_F1A_M0H;
+		else
+			plat_dev.sock[i].mbinfo.msg_id_off      = SMN_HSMP_MSG_ID;
+
 		plat_dev.sock[i].mbinfo.msg_resp_off    = SMN_HSMP_MSG_RESP;
 		plat_dev.sock[i].mbinfo.msg_arg_off     = SMN_HSMP_MSG_DATA;
 		sema_init(&plat_dev.sock[i].hsmp_sem, 1);
-- 
2.25.1


  parent reply	other threads:[~2023-12-20 16:56 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-20 16:55 [PATCH v2 0/7] platform/x86: Add ACPI probing support for HSMP Suma Hegde
2023-12-20 16:55 ` [PATCH v2 1/7] platform/x86: Move hsmp_test to probe Suma Hegde
2023-12-20 17:04   ` Ilpo Järvinen
2023-12-20 16:55 ` [PATCH v2 2/7] platform/x86: Cache pci_dev in struct hsmp_socket Suma Hegde
2023-12-20 17:00   ` Ilpo Järvinen
2023-12-20 16:55 ` [PATCH v2 3/7] platform/x86: Create static func to handle platdev Suma Hegde
2023-12-20 17:08   ` Ilpo Järvinen
2023-12-20 16:55 ` [PATCH v2 4/7] platform/x86: Define a struct to hold mailbox regs Suma Hegde
2023-12-20 17:12   ` Ilpo Järvinen
2023-12-20 16:55 ` [PATCH v2 5/7] platform/x86: Move dev from platdev to hsmp_socket Suma Hegde
2023-12-20 17:18   ` Ilpo Järvinen
2023-12-20 17:20   ` Ilpo Järvinen
2023-12-20 16:55 ` [PATCH v2 6/7] platform/x86: Convert to ACPI based probing Suma Hegde
2023-12-20 17:34   ` Ilpo Järvinen
2023-12-21 10:27     ` Hegde, Suma
2023-12-20 16:55 ` Suma Hegde [this message]
2023-12-20 17:40   ` [PATCH v2 7/7] platform/x86: Non-ACPI support for AMD F1A_M00~0Fh Ilpo Järvinen

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=20231220165528.1351200-8-suma.hegde@amd.com \
    --to=suma.hegde@amd.com \
    --cc=hdegoede@redhat.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=nchatrad@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox