mbox series

[0/2] Fixup non-prefetchable 64-bit host bridge windows

Message ID 20210527150541.3130505-1-punitagrawal@gmail.com (mailing list archive)
Headers show
Series Fixup non-prefetchable 64-bit host bridge windows | expand

Message

Punit Agrawal May 27, 2021, 3:05 p.m. UTC
Hi,

The couple of patches in the set are looking to address the issue of
failure to allocate bus addresses for endpoints requiring
non-prefetchable memory range on RK3399. The issue surfaced as a
fallout of commit 9d57e61bf723 ("of/pci: Add IORESOURCE_MEM_64 to
resource flags for 64-bit memory addresses").

The fix requires a change in the PCI ranges attributes for host bridge
windows advertised in the device tree (Patch 2) but as there are
already existing platforms out there, a device tree fix alone isn't
sufficient.

Patch 1 introduces an override to drop 64-bit attribute if a host
bridge window lies entirely in the 32bit address range. This overcomes
the limitation of PCI-to-PCI bridges that can only map
non-prefetchable windows in the 32bit address space.

The patches are based on v5.13-rc3 and have been tested on a
RockPro64.

Thanks,
Punit

[0] https://lore.kernel.org/r/7a1e2ebc-f7d8-8431-d844-41a9c36a8911@arm.com

Punit Agrawal (2):
  PCI: of: Override 64-bit flag for non-prefetchable memory below 4GB
  arm64: dts: rockchip: Update PCI host bridge window to 32-bit address
    memory

 arch/arm64/boot/dts/rockchip/rk3399.dtsi | 2 +-
 drivers/pci/of.c                         | 8 ++++++--
 2 files changed, 7 insertions(+), 3 deletions(-)