diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2020-11-12 17:33:00 +0100 |
---|---|---|
committer | Arthur Heymans <arthur@aheymans.xyz> | 2020-11-13 19:27:33 +0000 |
commit | 6408ada4a20ca2811de8a158d0579b421f56d8fe (patch) | |
tree | 81180c1c040aae6dae89c98f76f122f6754f67b8 /src/soc/intel/xeon_sp/cpx | |
parent | 165893b67be4a116a96b242bf4ee5370ec707b43 (diff) |
soc/intel/xeon_sp: move get_iiostack_info() to a common place
All this function does is looping over IIO stacks in the FSP HOB. The
only 'SOC/FSP specific' thing is the way to detect if the stack is an
IIO stack so add a callback to determine this.
Change-Id: I4fa9c54d50279213a4174186a23c3cc156e21c9a
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/47522
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Marc Jones <marc@marcjonesconsulting.com>
Diffstat (limited to 'src/soc/intel/xeon_sp/cpx')
-rw-r--r-- | src/soc/intel/xeon_sp/cpx/include/soc/soc_util.h | 7 | ||||
-rw-r--r-- | src/soc/intel/xeon_sp/cpx/soc_acpi.c | 1 | ||||
-rw-r--r-- | src/soc/intel/xeon_sp/cpx/soc_util.c | 16 |
3 files changed, 3 insertions, 21 deletions
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 e3c971d49f..5ce392863c 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 @@ -6,13 +6,6 @@ #include <hob_iiouds.h> #include <hob_memmap.h> -struct iiostack_resource { - uint8_t no_of_stacks; - STACK_RES res[MAX_SOCKET * MAX_LOGIC_IIO_STACK]; -}; - -void get_iiostack_info(struct iiostack_resource *info); - const struct SystemMemoryMapHob *get_system_memory_map(void); uint32_t get_socket_stack_busno(uint32_t socket, uint32_t stack); diff --git a/src/soc/intel/xeon_sp/cpx/soc_acpi.c b/src/soc/intel/xeon_sp/cpx/soc_acpi.c index c35c2482f4..599ccff03d 100644 --- a/src/soc/intel/xeon_sp/cpx/soc_acpi.c +++ b/src/soc/intel/xeon_sp/cpx/soc_acpi.c @@ -16,6 +16,7 @@ #include <soc/pci_devs.h> #include <soc/pm.h> #include <soc/soc_util.h> +#include <soc/util.h> /* TODO: Check if the common/acpi weak function can be used */ unsigned long acpi_fill_mcfg(unsigned long current) diff --git a/src/soc/intel/xeon_sp/cpx/soc_util.c b/src/soc/intel/xeon_sp/cpx/soc_util.c index 242fcfe4f2..578f67cda2 100644 --- a/src/soc/intel/xeon_sp/cpx/soc_util.c +++ b/src/soc/intel/xeon_sp/cpx/soc_util.c @@ -27,21 +27,9 @@ const struct SystemMemoryMapHob *get_system_memory_map(void) return *memmap_addr; } -void get_iiostack_info(struct iiostack_resource *info) +bool is_iio_stack_res(const STACK_RES *res) { - const IIO_UDS *hob = get_iio_uds(); - - // copy IIO Stack info from FSP HOB - info->no_of_stacks = 0; - for (int s = 0; s < hob->PlatformData.numofIIO; ++s) { - for (int x = 0; x < MAX_IIO_STACK; ++x) { - const STACK_RES *ri = &hob->PlatformData.IIO_resource[s].StackRes[x]; - if (ri->Personality == TYPE_UBOX_IIO) { - assert(info->no_of_stacks < ARRAY_SIZE(info->res)); - memcpy(&info->res[info->no_of_stacks++], ri, sizeof(STACK_RES)); - } - } - } + return res->Personality == TYPE_UBOX_IIO; } uint32_t get_socket_stack_busno(uint32_t socket, uint32_t stack) |