summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/soc/intel/common/block/xhci/elog.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/soc/intel/common/block/xhci/elog.c b/src/soc/intel/common/block/xhci/elog.c
index fb598978bd..e6a1c0f5da 100644
--- a/src/soc/intel/common/block/xhci/elog.c
+++ b/src/soc/intel/common/block/xhci/elog.c
@@ -105,8 +105,9 @@ bool xhci_update_wake_event(const struct xhci_wake_info *wake_info,
for (i = 0; i < wake_info_count; ++i) {
/* Assumes BAR0 is MBAR */
- mmio_base = pci_s_read_config32(wake_info[i].xhci_dev,
- PCI_BASE_ADDRESS_0);
+ pci_devfn_t devfn = PCI_DEV(0, PCI_SLOT(wake_info[i].xhci_dev),
+ PCI_FUNC(wake_info[i].xhci_dev));
+ mmio_base = pci_s_read_config32(devfn, PCI_BASE_ADDRESS_0);
mmio_base &= ~PCI_BASE_ADDRESS_MEM_ATTR_MASK;
usb_info = soc_get_xhci_usb_info(wake_info[i].xhci_dev);