From 6408ada4a20ca2811de8a158d0579b421f56d8fe Mon Sep 17 00:00:00 2001 From: Arthur Heymans Date: Thu, 12 Nov 2020 17:33:00 +0100 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/47522 Tested-by: build bot (Jenkins) Reviewed-by: Marc Jones --- src/soc/intel/xeon_sp/skx/include/soc/soc_util.h | 7 ------- src/soc/intel/xeon_sp/skx/soc_util.c | 18 +++--------------- 2 files changed, 3 insertions(+), 22 deletions(-) (limited to 'src/soc/intel/xeon_sp/skx') 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 0f528110dd..526f5a6a3c 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 @@ -6,13 +6,6 @@ #include #include -struct iiostack_resource { - uint8_t no_of_stacks; - STACK_RES res[CONFIG_MAX_SOCKET * MAX_IIO_STACK]; -}; - -void get_iiostack_info(struct iiostack_resource *info); - void config_reset_cpl3_csrs(void); const struct SystemMemoryMapHob *get_system_memory_map(void); diff --git a/src/soc/intel/xeon_sp/skx/soc_util.c b/src/soc/intel/xeon_sp/skx/soc_util.c index d5e1ae13f4..7d95ae8600 100644 --- a/src/soc/intel/xeon_sp/skx/soc_util.c +++ b/src/soc/intel/xeon_sp/skx/soc_util.c @@ -55,22 +55,10 @@ 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]; - // TODO: do we have situation with only bux 0 and one stack? - if (ri->BusBase >= ri->BusLimit) - continue; - assert(info->no_of_stacks < (CONFIG_MAX_SOCKET * MAX_IIO_STACK)); - memcpy(&info->res[info->no_of_stacks++], ri, sizeof(STACK_RES)); - } - } + // TODO: do we have situation with only bux 0 and one stack? + return res->BusBase < res->BusLimit; } uint32_t get_socket_stack_busno(uint32_t socket, uint32_t stack) -- cgit v1.2.3