X86 platform drivers
 help / color / mirror / Atom feed
* [PATCH] platform/x86/amd/hsmp: Check for hsmp ACPI device
@ 2025-04-24  6:25 Suma Hegde
  2025-04-24 17:52 ` Gregory Price
  0 siblings, 1 reply; 3+ messages in thread
From: Suma Hegde @ 2025-04-24  6:25 UTC (permalink / raw)
  To: platform-driver-x86
  Cc: ilpo.jarvinen, hdegoede, Suma Hegde, Naveen Krishna Chatradhi

If the hsmp ACPI device entry exists, allow the hsmp_acpi driver to manage
the hsmp and return error from plat.c.

amd_hsmp and hsmp_acpi are intended to be mutually exclusive drivers and
this check for availability of hsmp ACPI device is necessary to ensure
this.

Also, support both platform device-based and ACPI-based probing for
family 0x1A models 0x00 to 0x0F, implement only ACPI-based probing
for family 0x1A, models 0x10 to 0x1F. Return false from
legacy_hsmp_support() for this platform.
This aligns with the condition check in is_f1a_m0h().

Signed-off-by: Suma Hegde <suma.hegde@amd.com>
Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>
---
This patch should be rebased on below patch by Gregory Price.
https://lore.kernel.org/platform-driver-x86/60715d85-48b4-4066-8a9a-c8d2b62ebb45@redhat.com/T/#t

 drivers/platform/x86/amd/hsmp/acpi.c | 1 -
 drivers/platform/x86/amd/hsmp/hsmp.h | 1 +
 drivers/platform/x86/amd/hsmp/plat.c | 6 +++++-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/amd/hsmp/acpi.c b/drivers/platform/x86/amd/hsmp/acpi.c
index 088cb2416d7e..eaae044e4f82 100644
--- a/drivers/platform/x86/amd/hsmp/acpi.c
+++ b/drivers/platform/x86/amd/hsmp/acpi.c
@@ -29,7 +29,6 @@
 
 #define DRIVER_NAME		"hsmp_acpi"
 #define DRIVER_VERSION		"2.3"
-#define ACPI_HSMP_DEVICE_HID	"AMDI0097"
 
 /* These are the strings specified in ACPI table */
 #define MSG_IDOFF_STR		"MsgIdOffset"
diff --git a/drivers/platform/x86/amd/hsmp/hsmp.h b/drivers/platform/x86/amd/hsmp/hsmp.h
index af8b21f821d6..d58d4f0c20d5 100644
--- a/drivers/platform/x86/amd/hsmp/hsmp.h
+++ b/drivers/platform/x86/amd/hsmp/hsmp.h
@@ -23,6 +23,7 @@
 
 #define HSMP_CDEV_NAME		"hsmp_cdev"
 #define HSMP_DEVNODE_NAME	"hsmp"
+#define ACPI_HSMP_DEVICE_HID    "AMDI0097"
 
 struct hsmp_mbaddr_info {
 	u32 base_addr;
diff --git a/drivers/platform/x86/amd/hsmp/plat.c b/drivers/platform/x86/amd/hsmp/plat.c
index b9782a078dbd..81931e808bbc 100644
--- a/drivers/platform/x86/amd/hsmp/plat.c
+++ b/drivers/platform/x86/amd/hsmp/plat.c
@@ -11,6 +11,7 @@
 
 #include <asm/amd_hsmp.h>
 
+#include <linux/acpi.h>
 #include <linux/build_bug.h>
 #include <linux/device.h>
 #include <linux/module.h>
@@ -266,7 +267,7 @@ static bool legacy_hsmp_support(void)
 		}
 	case 0x1A:
 		switch (boot_cpu_data.x86_model) {
-		case 0x00 ... 0x1F:
+		case 0x00 ... 0x0F:
 			return true;
 		default:
 			return false;
@@ -288,6 +289,9 @@ static int __init hsmp_plt_init(void)
 		return ret;
 	}
 
+	if (acpi_dev_present(ACPI_HSMP_DEVICE_HID, NULL, -1))
+		return -ENODEV;
+
 	hsmp_pdev = get_hsmp_pdev();
 	if (!hsmp_pdev)
 		return -ENOMEM;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] platform/x86/amd/hsmp: Check for hsmp ACPI device
  2025-04-24  6:25 [PATCH] platform/x86/amd/hsmp: Check for hsmp ACPI device Suma Hegde
@ 2025-04-24 17:52 ` Gregory Price
  2025-04-25  9:23   ` Suma Hegde
  0 siblings, 1 reply; 3+ messages in thread
From: Gregory Price @ 2025-04-24 17:52 UTC (permalink / raw)
  To: Suma Hegde
  Cc: platform-driver-x86, ilpo.jarvinen, hdegoede,
	Naveen Krishna Chatradhi

On Thu, Apr 24, 2025 at 06:25:44AM +0000, Suma Hegde wrote:
> If the hsmp ACPI device entry exists, allow the hsmp_acpi driver to manage
> the hsmp and return error from plat.c.
> 
> amd_hsmp and hsmp_acpi are intended to be mutually exclusive drivers and
> this check for availability of hsmp ACPI device is necessary to ensure
> this.
> 
> Also, support both platform device-based and ACPI-based probing for
> family 0x1A models 0x00 to 0x0F, implement only ACPI-based probing
> for family 0x1A, models 0x10 to 0x1F. Return false from
> legacy_hsmp_support() for this platform.
> This aligns with the condition check in is_f1a_m0h().
> 
> Signed-off-by: Suma Hegde <suma.hegde@amd.com>
> Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>
> ---
> This patch should be rebased on below patch by Gregory Price.
> https://lore.kernel.org/platform-driver-x86/60715d85-48b4-4066-8a9a-c8d2b62ebb45@redhat.com/T/#t

Just roll my patch into this and add

Link: https://lore.kernel.org/platform-driver-x86/aALZxvHWmphNL1wa@gourry-fedora-PF4VCD3F/
Fixes: 7d3135d163 ("platform/x86/amd/hsmp: Create separate ACPI, plat and common drivers")
Co-developed-by: Gregory Price <gourry@gourry.net>
Signed-off-by: Gregory Price <gourry@gourry.net>

should make the pick up easier, and they both deal with the same patch.



> 
>  drivers/platform/x86/amd/hsmp/acpi.c | 1 -
>  drivers/platform/x86/amd/hsmp/hsmp.h | 1 +
>  drivers/platform/x86/amd/hsmp/plat.c | 6 +++++-
>  3 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/platform/x86/amd/hsmp/acpi.c b/drivers/platform/x86/amd/hsmp/acpi.c
> index 088cb2416d7e..eaae044e4f82 100644
> --- a/drivers/platform/x86/amd/hsmp/acpi.c
> +++ b/drivers/platform/x86/amd/hsmp/acpi.c
> @@ -29,7 +29,6 @@
>  
>  #define DRIVER_NAME		"hsmp_acpi"
>  #define DRIVER_VERSION		"2.3"
> -#define ACPI_HSMP_DEVICE_HID	"AMDI0097"
>  
>  /* These are the strings specified in ACPI table */
>  #define MSG_IDOFF_STR		"MsgIdOffset"
> diff --git a/drivers/platform/x86/amd/hsmp/hsmp.h b/drivers/platform/x86/amd/hsmp/hsmp.h
> index af8b21f821d6..d58d4f0c20d5 100644
> --- a/drivers/platform/x86/amd/hsmp/hsmp.h
> +++ b/drivers/platform/x86/amd/hsmp/hsmp.h
> @@ -23,6 +23,7 @@
>  
>  #define HSMP_CDEV_NAME		"hsmp_cdev"
>  #define HSMP_DEVNODE_NAME	"hsmp"
> +#define ACPI_HSMP_DEVICE_HID    "AMDI0097"
>  
>  struct hsmp_mbaddr_info {
>  	u32 base_addr;
> diff --git a/drivers/platform/x86/amd/hsmp/plat.c b/drivers/platform/x86/amd/hsmp/plat.c
> index b9782a078dbd..81931e808bbc 100644
> --- a/drivers/platform/x86/amd/hsmp/plat.c
> +++ b/drivers/platform/x86/amd/hsmp/plat.c
> @@ -11,6 +11,7 @@
>  
>  #include <asm/amd_hsmp.h>
>  
> +#include <linux/acpi.h>
>  #include <linux/build_bug.h>
>  #include <linux/device.h>
>  #include <linux/module.h>
> @@ -266,7 +267,7 @@ static bool legacy_hsmp_support(void)
>  		}
>  	case 0x1A:
>  		switch (boot_cpu_data.x86_model) {
> -		case 0x00 ... 0x1F:
> +		case 0x00 ... 0x0F:
>  			return true;
>  		default:
>  			return false;
> @@ -288,6 +289,9 @@ static int __init hsmp_plt_init(void)
>  		return ret;
>  	}
>  
> +	if (acpi_dev_present(ACPI_HSMP_DEVICE_HID, NULL, -1))
> +		return -ENODEV;
> +
>  	hsmp_pdev = get_hsmp_pdev();
>  	if (!hsmp_pdev)
>  		return -ENOMEM;
> -- 
> 2.25.1
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] platform/x86/amd/hsmp: Check for hsmp ACPI device
  2025-04-24 17:52 ` Gregory Price
@ 2025-04-25  9:23   ` Suma Hegde
  0 siblings, 0 replies; 3+ messages in thread
From: Suma Hegde @ 2025-04-25  9:23 UTC (permalink / raw)
  To: Gregory Price
  Cc: platform-driver-x86, ilpo.jarvinen, hdegoede,
	Naveen Krishna Chatradhi

Hi Gregory,


On 4/24/2025 11:22 PM, Gregory Price wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>
>
> On Thu, Apr 24, 2025 at 06:25:44AM +0000, Suma Hegde wrote:
>> If the hsmp ACPI device entry exists, allow the hsmp_acpi driver to manage
>> the hsmp and return error from plat.c.
>>
>> amd_hsmp and hsmp_acpi are intended to be mutually exclusive drivers and
>> this check for availability of hsmp ACPI device is necessary to ensure
>> this.
>>
>> Also, support both platform device-based and ACPI-based probing for
>> family 0x1A models 0x00 to 0x0F, implement only ACPI-based probing
>> for family 0x1A, models 0x10 to 0x1F. Return false from
>> legacy_hsmp_support() for this platform.
>> This aligns with the condition check in is_f1a_m0h().
>>
>> Signed-off-by: Suma Hegde <suma.hegde@amd.com>
>> Reviewed-by: Naveen Krishna Chatradhi <naveenkrishna.chatradhi@amd.com>
>> ---
>> This patch should be rebased on below patch by Gregory Price.
>> https://lore.kernel.org/platform-driver-x86/60715d85-48b4-4066-8a9a-c8d2b62ebb45@redhat.com/T/#t
> Just roll my patch into this and add
Ok, I will merge your changes into this,  add below lines and send v2.
>
> Link: https://lore.kernel.org/platform-driver-x86/aALZxvHWmphNL1wa@gourry-fedora-PF4VCD3F/
> Fixes: 7d3135d163 ("platform/x86/amd/hsmp: Create separate ACPI, plat and common drivers")
> Co-developed-by: Gregory Price <gourry@gourry.net>
> Signed-off-by: Gregory Price <gourry@gourry.net>
>
> should make the pick up easier, and they both deal with the same patch.
>
>
>
>>   drivers/platform/x86/amd/hsmp/acpi.c | 1 -
>>   drivers/platform/x86/amd/hsmp/hsmp.h | 1 +
>>   drivers/platform/x86/amd/hsmp/plat.c | 6 +++++-
>>   3 files changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/platform/x86/amd/hsmp/acpi.c b/drivers/platform/x86/amd/hsmp/acpi.c
>> index 088cb2416d7e..eaae044e4f82 100644
>> --- a/drivers/platform/x86/amd/hsmp/acpi.c
>> +++ b/drivers/platform/x86/amd/hsmp/acpi.c
>> @@ -29,7 +29,6 @@
>>
>>   #define DRIVER_NAME          "hsmp_acpi"
>>   #define DRIVER_VERSION               "2.3"
>> -#define ACPI_HSMP_DEVICE_HID "AMDI0097"
>>
>>   /* These are the strings specified in ACPI table */
>>   #define MSG_IDOFF_STR                "MsgIdOffset"
>> diff --git a/drivers/platform/x86/amd/hsmp/hsmp.h b/drivers/platform/x86/amd/hsmp/hsmp.h
>> index af8b21f821d6..d58d4f0c20d5 100644
>> --- a/drivers/platform/x86/amd/hsmp/hsmp.h
>> +++ b/drivers/platform/x86/amd/hsmp/hsmp.h
>> @@ -23,6 +23,7 @@
>>
>>   #define HSMP_CDEV_NAME               "hsmp_cdev"
>>   #define HSMP_DEVNODE_NAME    "hsmp"
>> +#define ACPI_HSMP_DEVICE_HID    "AMDI0097"
>>
>>   struct hsmp_mbaddr_info {
>>        u32 base_addr;
>> diff --git a/drivers/platform/x86/amd/hsmp/plat.c b/drivers/platform/x86/amd/hsmp/plat.c
>> index b9782a078dbd..81931e808bbc 100644
>> --- a/drivers/platform/x86/amd/hsmp/plat.c
>> +++ b/drivers/platform/x86/amd/hsmp/plat.c
>> @@ -11,6 +11,7 @@
>>
>>   #include <asm/amd_hsmp.h>
>>
>> +#include <linux/acpi.h>
>>   #include <linux/build_bug.h>
>>   #include <linux/device.h>
>>   #include <linux/module.h>
>> @@ -266,7 +267,7 @@ static bool legacy_hsmp_support(void)
>>                }
>>        case 0x1A:
>>                switch (boot_cpu_data.x86_model) {
>> -             case 0x00 ... 0x1F:
>> +             case 0x00 ... 0x0F:
>>                        return true;
>>                default:
>>                        return false;
>> @@ -288,6 +289,9 @@ static int __init hsmp_plt_init(void)
>>                return ret;
>>        }
>>
>> +     if (acpi_dev_present(ACPI_HSMP_DEVICE_HID, NULL, -1))
>> +             return -ENODEV;
>> +
>>        hsmp_pdev = get_hsmp_pdev();
>>        if (!hsmp_pdev)
>>                return -ENOMEM;
>> --
>> 2.25.1

Thanks and Regards,

Suma


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-04-25  9:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-24  6:25 [PATCH] platform/x86/amd/hsmp: Check for hsmp ACPI device Suma Hegde
2025-04-24 17:52 ` Gregory Price
2025-04-25  9:23   ` Suma Hegde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox