soc/intel/xeon_sp: Refactor IOAT compiler optimization outs
IOAT logics are optimized out for non-IOAT platforms where CONFIG(HAVE_IOAT_DOMAINS) as false. This patch puts CONFIG(HAVE_IOAT_DOMAINS) check together ahead of is_ioat_iio_stack_res() check in the corresponding if statement to fulfill the optimization outs. TEST=intel/archercity CRB Change-Id: I2d16c6ff5320bc9195a1033b6d55e3d997b19b88 Signed-off-by: Shuo Liu <shuo.liu@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/80683 Reviewed-by: Felix Held <felix-coreboot@felixheld.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
@@ -25,14 +25,7 @@ struct iiostack_resource {
|
|||||||
void get_iiostack_info(struct iiostack_resource *info);
|
void get_iiostack_info(struct iiostack_resource *info);
|
||||||
bool is_pcie_iio_stack_res(const STACK_RES *res);
|
bool is_pcie_iio_stack_res(const STACK_RES *res);
|
||||||
bool is_ubox_stack_res(const STACK_RES *res);
|
bool is_ubox_stack_res(const STACK_RES *res);
|
||||||
#if CONFIG(HAVE_IOAT_DOMAINS)
|
|
||||||
bool is_ioat_iio_stack_res(const STACK_RES *res);
|
bool is_ioat_iio_stack_res(const STACK_RES *res);
|
||||||
#else
|
|
||||||
static inline bool is_ioat_iio_stack_res(const STACK_RES *res)
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
void bios_done_msr(void *unused);
|
void bios_done_msr(void *unused);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -336,7 +336,7 @@ static unsigned long acpi_create_drhd(unsigned long current, int socket,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add IOAT End Points (with memory resources. We don't report every End Point device.)
|
// Add IOAT End Points (with memory resources. We don't report every End Point device.)
|
||||||
if (is_ioat_iio_stack_res(ri)) {
|
if (CONFIG(HAVE_IOAT_DOMAINS) && is_ioat_iio_stack_res(ri)) {
|
||||||
for (int b = ri->BusBase; b <= ri->BusLimit; ++b) {
|
for (int b = ri->BusBase; b <= ri->BusLimit; ++b) {
|
||||||
struct device *dev = pcidev_path_on_bus(b, PCI_DEVFN(0, 0));
|
struct device *dev = pcidev_path_on_bus(b, PCI_DEVFN(0, 0));
|
||||||
while (dev) {
|
while (dev) {
|
||||||
@@ -520,7 +520,7 @@ static unsigned long acpi_create_satc(unsigned long current, const IIO_UDS *hob)
|
|||||||
for (int stack = (MAX_LOGIC_IIO_STACK - 1); stack >= 0; --stack) {
|
for (int stack = (MAX_LOGIC_IIO_STACK - 1); stack >= 0; --stack) {
|
||||||
const STACK_RES *ri = &hob->PlatformData.IIO_resource[socket].StackRes[stack];
|
const STACK_RES *ri = &hob->PlatformData.IIO_resource[socket].StackRes[stack];
|
||||||
// Add the IOAT ATS devices to the SATC
|
// Add the IOAT ATS devices to the SATC
|
||||||
if (is_ioat_iio_stack_res(ri))
|
if (CONFIG(HAVE_IOAT_DOMAINS) && is_ioat_iio_stack_res(ri))
|
||||||
current = xeonsp_create_satc_ioat(current, ri);
|
current = xeonsp_create_satc_ioat(current, ri);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user