soc/intel/xeon_sp: Change the return type of get_iio_stack_info()
The somewhat unrelated return value makes the function harder to
understand and the return type is not consistently used. Use a
different helper function to get the HOB Pci64BitResourceAllocation
data.
Change-Id: I9a03cbb0ebbb48cc052d4c082d359c0087aaeb3e
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47298
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
diff --git a/src/soc/intel/xeon_sp/chip_common.c b/src/soc/intel/xeon_sp/chip_common.c
index 5c78780..47d8f5c 100644
--- a/src/soc/intel/xeon_sp/chip_common.c
+++ b/src/soc/intel/xeon_sp/chip_common.c
@@ -403,6 +403,13 @@
}
}
+static uint8_t is_pci64bit_alloc(void)
+{
+ const IIO_UDS *hob = get_iio_uds();
+
+ return hob->PlatformData.Pci64BitResourceAllocation;
+}
+
static void xeonsp_pci_domain_read_resources(struct device *dev)
{
struct bus *link;
@@ -425,8 +432,8 @@
xeonsp_pci_dev_iterator(link, xeonsp_reset_pci_op, NULL, NULL);
struct iiostack_resource stack_info = {0};
- uint8_t pci64bit_alloc_flag = get_iiostack_info(&stack_info);
- if (!pci64bit_alloc_flag) {
+ get_iiostack_info(&stack_info);
+ if (!is_pci64bit_alloc()) {
/*
* Split 32 bit address space between prefetchable and
* non-prefetchable windows
diff --git a/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h b/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
index 649e6b5..e3c971d 100644
--- a/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
+++ b/src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h
@@ -11,7 +11,7 @@
STACK_RES res[MAX_SOCKET * MAX_LOGIC_IIO_STACK];
};
-uint8_t get_iiostack_info(struct iiostack_resource *info);
+void get_iiostack_info(struct iiostack_resource *info);
const struct SystemMemoryMapHob *get_system_memory_map(void);
diff --git a/src/soc/intel/xeon_sp/cpx/soc_util.c b/src/soc/intel/xeon_sp/cpx/soc_util.c
index d2d12d1..242fcfe 100644
--- a/src/soc/intel/xeon_sp/cpx/soc_util.c
+++ b/src/soc/intel/xeon_sp/cpx/soc_util.c
@@ -27,7 +27,7 @@
return *memmap_addr;
}
-uint8_t get_iiostack_info(struct iiostack_resource *info)
+void get_iiostack_info(struct iiostack_resource *info)
{
const IIO_UDS *hob = get_iio_uds();
@@ -42,8 +42,6 @@
}
}
}
-
- return hob->PlatformData.Pci64BitResourceAllocation;
}
uint32_t get_socket_stack_busno(uint32_t socket, uint32_t stack)
diff --git a/src/soc/intel/xeon_sp/skx/include/soc/soc_util.h b/src/soc/intel/xeon_sp/skx/include/soc/soc_util.h
index b42aec0..0f52811 100644
--- a/src/soc/intel/xeon_sp/skx/include/soc/soc_util.h
+++ b/src/soc/intel/xeon_sp/skx/include/soc/soc_util.h
@@ -11,7 +11,7 @@
STACK_RES res[CONFIG_MAX_SOCKET * MAX_IIO_STACK];
};
-uint8_t get_iiostack_info(struct iiostack_resource *info);
+void get_iiostack_info(struct iiostack_resource *info);
void config_reset_cpl3_csrs(void);
diff --git a/src/soc/intel/xeon_sp/skx/soc_util.c b/src/soc/intel/xeon_sp/skx/soc_util.c
index af6dfcc3..d5e1ae1 100644
--- a/src/soc/intel/xeon_sp/skx/soc_util.c
+++ b/src/soc/intel/xeon_sp/skx/soc_util.c
@@ -55,7 +55,7 @@
return memmap_addr;
}
-uint8_t get_iiostack_info(struct iiostack_resource *info)
+void get_iiostack_info(struct iiostack_resource *info)
{
const IIO_UDS *hob = get_iio_uds();
@@ -71,8 +71,6 @@
memcpy(&info->res[info->no_of_stacks++], ri, sizeof(STACK_RES));
}
}
-
- return hob->PlatformData.Pci64BitResourceAllocation;
}
uint32_t get_socket_stack_busno(uint32_t socket, uint32_t stack)