From 177bb5e9b9789cc830f504815e711973190def4e Mon Sep 17 00:00:00 2001 From: Shuo Liu Date: Sat, 8 Jun 2024 02:49:41 +0800 Subject: [PATCH] soc/intel/xeon_sp: Revise IIO domain ACPI name encoding GNR/SRF supports up to 18 logical IIO stacks. Revise IIO domain ACPI name encoding in below form to support GNR/SRF, prefix (16 bit) | socket (3-bit) | stack (5-bit) Change-Id: I6f4c3c22980f2797dd47c8e0d684e0a3175030b7 Signed-off-by: Shuo Liu Signed-off-by: Jincheng Li Reviewed-on: https://review.coreboot.org/c/coreboot/+/84310 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph Reviewed-by: Angel Pons --- src/soc/intel/xeon_sp/acpi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/soc/intel/xeon_sp/acpi.c b/src/soc/intel/xeon_sp/acpi.c index e0c2f3bfb2..33db9e65b4 100644 --- a/src/soc/intel/xeon_sp/acpi.c +++ b/src/soc/intel/xeon_sp/acpi.c @@ -100,16 +100,16 @@ void iio_domain_set_acpi_name(struct device *dev, const char *prefix) .domain_path = dev_get_domain_id(dev) }; - assert(dn.socket < CONFIG_MAX_SOCKET); - assert(dn.stack < 16); + assert(dn.socket < 8); + assert(dn.stack < 32); assert(prefix != NULL && strlen(prefix) == 2); - if (dn.socket >= CONFIG_MAX_SOCKET || dn.stack >= 16 || + if (dn.socket >= 8 || dn.stack >= 32 || !prefix || strlen(prefix) != 2) return; char *name = xmalloc(ACPI_NAME_BUFFER_SIZE); - snprintf(name, ACPI_NAME_BUFFER_SIZE, "%s%1X%1X", prefix, dn.socket, dn.stack); + snprintf(name, ACPI_NAME_BUFFER_SIZE, "%s%02X", prefix, ((dn.socket << 5) + dn.stack)); dev->name = name; }