diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/soc/intel/xeon_sp/include/soc/numa.h | 2 | ||||
-rw-r--r-- | src/soc/intel/xeon_sp/spr/numa.c | 6 | ||||
-rw-r--r-- | src/soc/intel/xeon_sp/uncore.c | 12 |
3 files changed, 10 insertions, 10 deletions
diff --git a/src/soc/intel/xeon_sp/include/soc/numa.h b/src/soc/intel/xeon_sp/include/soc/numa.h index 6aaf1723a3..aba3f0926b 100644 --- a/src/soc/intel/xeon_sp/include/soc/numa.h +++ b/src/soc/intel/xeon_sp/include/soc/numa.h @@ -54,7 +54,7 @@ struct proximity_domains { extern struct proximity_domains pds; void dump_pds(void); -enum cb_err fill_pds(void); +void fill_pds(void); /* * Return the total size of memory regions in generic initiator affinity diff --git a/src/soc/intel/xeon_sp/spr/numa.c b/src/soc/intel/xeon_sp/spr/numa.c index 169f4f848b..23f52c625f 100644 --- a/src/soc/intel/xeon_sp/spr/numa.c +++ b/src/soc/intel/xeon_sp/spr/numa.c @@ -25,7 +25,7 @@ void dump_pds(void) } } -enum cb_err fill_pds(void) +void fill_pds(void) { uint8_t num_sockets = soc_get_num_cpus(); uint8_t num_cxlnodes = get_cxl_node_count(); @@ -72,7 +72,7 @@ enum cb_err fill_pds(void) /* If there are no CXL nodes, we are done */ if (num_cxlnodes == 0) - return CB_SUCCESS; + return; /* There are CXL nodes, fill in generic initiator domain after the processors pds */ uint8_t skt_id, cxl_id; @@ -98,8 +98,6 @@ enum cb_err fill_pds(void) } } } - - return CB_SUCCESS; } /* diff --git a/src/soc/intel/xeon_sp/uncore.c b/src/soc/intel/xeon_sp/uncore.c index de2d17500e..96855edd5a 100644 --- a/src/soc/intel/xeon_sp/uncore.c +++ b/src/soc/intel/xeon_sp/uncore.c @@ -329,11 +329,13 @@ static void mmapvtd_read_resources(struct device *dev) int index = 0; if (CONFIG(SOC_INTEL_HAS_CXL)) { - /* Construct NUMA data structure. This is needed for CXL. */ - if (fill_pds() != CB_SUCCESS) - pds.num_pds = 0; - - dump_pds(); + static bool once; + if (!once) { + /* Construct NUMA data structure. This is needed for CXL. */ + fill_pds(); + dump_pds(); + once = true; + } } /* Read standard PCI resources. */ |