From: Suma Hegde Date: Tue, 16 Sep 2025 04:37:36 +0000 (+0000) Subject: platform/x86/amd/hsmp: Replace amd_num_nodes() with topology_max_packages() X-Git-Tag: v6.19-rc1~42^2~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0bd0f9833196d76666fd2f58524ebfff7ee2628b;p=thirdparty%2Fkernel%2Flinux.git platform/x86/amd/hsmp: Replace amd_num_nodes() with topology_max_packages() The amd_num_nodes() function returns the number of data fabrics present. On older EPYC processors, there was one data fabric per socket. However, newer EPYC processors have more than one data fabric per socket, leading to a situation where the number of sockets is not equal to the number of data fabrics. Therefore, it is appropriate to use topology_max_packages() to know the number of sockets in the system. Also remove node.h header inclusion and socket number comparison against data fabric nodes. plat.c is supported only for legacy platforms where socket number and data fabric numbers are same. So it can remain unchanged. Signed-off-by: Suma Hegde Link: https://patch.msgid.link/20250916043736.3279947-1-suma.hegde@amd.com Reviewed-by: Ilpo Järvinen Signed-off-by: Ilpo Järvinen --- diff --git a/drivers/platform/x86/amd/hsmp/acpi.c b/drivers/platform/x86/amd/hsmp/acpi.c index d0b74d243ce4c..97ed71593bdf3 100644 --- a/drivers/platform/x86/amd/hsmp/acpi.c +++ b/drivers/platform/x86/amd/hsmp/acpi.c @@ -22,12 +22,11 @@ #include #include #include +#include #include #include -#include - #include "hsmp.h" #define DRIVER_NAME "hsmp_acpi" @@ -586,9 +585,9 @@ static int hsmp_acpi_probe(struct platform_device *pdev) return -ENOMEM; if (!hsmp_pdev->is_probed) { - hsmp_pdev->num_sockets = amd_num_nodes(); - if (hsmp_pdev->num_sockets == 0 || hsmp_pdev->num_sockets > MAX_AMD_NUM_NODES) { - dev_err(&pdev->dev, "Wrong number of sockets\n"); + hsmp_pdev->num_sockets = topology_max_packages(); + if (!hsmp_pdev->num_sockets) { + dev_err(&pdev->dev, "No CPU sockets detected\n"); return -ENODEV; }