summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-03-12 10:24:05 -0600
committerTom Rini <[email protected]>2025-03-12 10:24:05 -0600
commit4c4266dab7e2ef0fc5336561bf77db4345274da0 (patch)
tree07cee18b1eb5e58076ece30d30ce652029365e5f
parent0731697f9d5a6475f27b7d5f4352a72ebb4ccc49 (diff)
parent6b9f4d0f7f070845133bcddf5e5c2dfedf32170b (diff)
Merge patch series "pci_auto: Downgrade prefetch if necessary"
This series from Patrick Rudolph <[email protected]> fixes an issue with how we treat PCIe vs PCI in some cases and fixes the qemu-arm-sbsa reference platform support. Link: https://lore.kernel.org/r/[email protected]
-rw-r--r--board/emulation/qemu-sbsa/Kconfig2
-rw-r--r--drivers/pci/pci_auto.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/board/emulation/qemu-sbsa/Kconfig b/board/emulation/qemu-sbsa/Kconfig
index 72c76b351fa..728cecae6b3 100644
--- a/board/emulation/qemu-sbsa/Kconfig
+++ b/board/emulation/qemu-sbsa/Kconfig
@@ -33,6 +33,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select OF_SEPARATE
select PCI
select PCIE_ECAM_GENERIC
+ select SYS_PCI_64BIT
select USB
select GIC_V3
select GIC_V3_ITS
@@ -48,6 +49,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
imply CFI_FLASH
imply SYS_MTDPARTS_RUNTIME
imply SET_DFU_ALT_INFO
+ imply PCI_INIT_R
if DEBUG_UART
diff --git a/drivers/pci/pci_auto.c b/drivers/pci/pci_auto.c
index 90f81886445..e68e31a8227 100644
--- a/drivers/pci/pci_auto.c
+++ b/drivers/pci/pci_auto.c
@@ -107,7 +107,8 @@ static void dm_pciauto_setup_device(struct udevice *dev,
}
if (prefetch &&
- (bar_response & PCI_BASE_ADDRESS_MEM_PREFETCH))
+ (bar_response & PCI_BASE_ADDRESS_MEM_PREFETCH) &&
+ (found_mem64 || prefetch->bus_lower < 0x100000000ULL))
bar_res = prefetch;
else
bar_res = mem;