soc/intel/apollolake: Fix BUG-message when checking for XDCI device

The current check for XDCI enabled uses a static device path to an
internal PCI device at a very late point in the boot flow. At this
time the devicetree has been processed and disabled devices have been
already removed. If this device (00:15.1, XDCI) is disabled in
devicetree this will trigger the message
'BUG: check_xdci_enable requests hidden 00:15.1' in the log.
This looks weird and is wrong since it is not a bug to disable this
device when it is not needed.

To avoid this look up the devicetree by a tree walk instead of using
a static value for the devicetree.

Change-Id: If193be724299c4017e7e10142fac8db9fac44383
Signed-off-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/58524
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Werner Zeh 2021-10-21 15:54:23 +02:00 committed by Felix Held
parent eb0404e8bf
commit 69dcc1e515
1 changed files with 1 additions and 3 deletions

View File

@ -744,9 +744,7 @@ static void configure_xhci_host_mode_port0(void)
static int check_xdci_enable(void)
{
struct device *dev = PCH_DEV_XDCI;
return !!dev->enabled;
return is_dev_enabled(pcidev_path_on_root(PCH_DEVFN_XDCI));
}
static void disable_xhci_lfps_pm(void)