[PATCH v2 0/2] PCI: dwc: Support large BARs on UltraRISC DP1000

Xincheng Zhang posted 2 patches 3 weeks ago
.../pci/controller/dwc/pcie-designware-host.c   | 17 +++++++++++++++--
drivers/pci/controller/dwc/pcie-designware.h    |  1 +
drivers/pci/controller/dwc/pcie-ultrarisc.c     |  6 ++++++
3 files changed, 22 insertions(+), 2 deletions(-)
[PATCH v2 0/2] PCI: dwc: Support large BARs on UltraRISC DP1000
Posted by Xincheng Zhang 3 weeks ago
This series lets DWC host drivers skip generic outbound iATU programming
for host bridge MEM ranges, which is useful for some compute cards' very
large BAR size demand (>100GB).

DP1000 has 16 outbound iATU windows, and each window can map up to
4GB. This limits its allocatable MEM64 BAR size to 4GB*(16-3)=52GB
(-3 for CFG, I/O and MEM32).

But some EPs like compute cards demand large BAR size that exceeds the
mapping limit of the 13 iATUs. DWC IP spec allows RC to skip MEM iATU setup
and simply uses a direct mapping. By introducing a `bypass_ob_mem_iatu`
flag at the RC level, this patch enables large BARs on UR-DP1000
RISC-V CPU.

Tested on UltraRISC DP1000 EVB and Titan board. The system booted
successfully with PCIe links up on all three controllers and NVMe rootfs
mounted. MMIO read/write speed test within the large BAR space goes well.

Changes in v2:
- Validate skipped MEM ranges are identity-mapped before bypassing outbound
  iATU setup.
- Document the DWC PCIe RP Controller Databook v6.00a no-match pass-through
  behavior.
- Clarify that the DP1000 bypass is MEM-only; CFG and I/O iATU setup is
  unchanged.

Link: https://lore.kernel.org/r/20260827055448.1818858-1-zhangxincheng@ultrarisc.com

Xincheng Zhang (2):
  PCI: dwc: Allow drivers to skip MEM outbound iATU setup
  PCI: ultrarisc: Skip MEM outbound iATU setup on DP1000

 .../pci/controller/dwc/pcie-designware-host.c   | 17 +++++++++++++++--
 drivers/pci/controller/dwc/pcie-designware.h    |  1 +
 drivers/pci/controller/dwc/pcie-ultrarisc.c     |  6 ++++++
 3 files changed, 22 insertions(+), 2 deletions(-)

-- 
2.34.1