From 27ce0ec2b62bf824a94dfeaf223a08bd26465fcd Mon Sep 17 00:00:00 2001 From: Shuo Liu Date: Fri, 19 Jan 2024 21:21:21 +0800 Subject: soc/intel/xeon_sp/spr: Create CXL ACPI resources only for CXL IIO stacks When an IIO stack is connected with CXL cards, its bus range will be divided by a PCI host bridge object and a CXL host bridge object, otherwise, all its range will be owned by the PCI host bridge object. Accordingly, CXL ACPI resources should be only created when the IIO stack is connected with a CXL card. TEST=intel/archercity CRB Change-Id: I6c1b1343991bc73d90a433d959f6618bbf59532f Signed-off-by: Shuo Liu Reviewed-on: https://review.coreboot.org/c/coreboot/+/80087 Reviewed-by: Felix Held Tested-by: build bot (Jenkins) --- src/soc/intel/xeon_sp/spr/soc_acpi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/soc/intel') diff --git a/src/soc/intel/xeon_sp/spr/soc_acpi.c b/src/soc/intel/xeon_sp/spr/soc_acpi.c index 9d2df2c5fd..cb7fe1daf1 100644 --- a/src/soc/intel/xeon_sp/spr/soc_acpi.c +++ b/src/soc/intel/xeon_sp/spr/soc_acpi.c @@ -376,7 +376,9 @@ void uncore_fill_ssdt(const struct device *device) if (stack <= IioStack5) { // TYPE_UBOX_IIO create_dsdt_iou_pci_resource(socket, stack, ri, stack_enabled); - create_dsdt_iou_cxl_resource(socket, stack, ri, stack_enabled); + if (is_iio_cxl_stack_res(ri)) + create_dsdt_iou_cxl_resource(socket, stack, ri, + stack_enabled); create_dsdt_stack_sta(socket, stack, ri, stack_enabled); } else if (stack >= IioStack8 && stack <= IioStack11) { // TYPE_DINO create_dsdt_dino_resource(socket, stack, ri, stack_enabled); -- cgit v1.2.3