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

Punit Agrawal punitagrawal at gmail.com
Thu May 27 08:05:39 PDT 2021


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(-)

-- 
2.30.2




More information about the linux-arm-kernel mailing list