]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI: dwc: Use multiple iATU windows for mapping large bridge windows and DMA ranges
authorSamuel Holland <samuel.holland@sifive.com>
Fri, 9 Jan 2026 11:34:30 +0000 (19:34 +0800)
committerManivannan Sadhasivam <mani@kernel.org>
Thu, 22 Jan 2026 09:33:14 +0000 (15:03 +0530)
commite9a5415adb209f86a05e55b850127ada82e070f1
tree6923f5c453392363bc7eb897166fbff063c00f73
parent86291f774fe8524178446cb2c792939640b4970c
PCI: dwc: Use multiple iATU windows for mapping large bridge windows and DMA ranges

The DWC driver tries to use a single iATU region for mapping the individual
entries of the bridge window and DMA range. If a bridge window/DMA range is
larger than the iATU inbound/outbound window size, then the mapping will
fail.

Hence, avoid this failure by using multiple iATU windows to map the whole
region. If the region runs out of iATU windows, then return failure.

Signed-off-by: Charles Mirabile <cmirabil@redhat.com>
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Co-developed-by: Randolph Lin <randolph@andestech.com>
Signed-off-by: Randolph Lin <randolph@andestech.com>
[mani: reworded description, minor code cleanup]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Charles Mirabile <cmirabil@redhat.com>
Link: https://patch.msgid.link/20260109113430.2767264-1-randolph@andestech.com
drivers/pci/controller/dwc/pcie-designware-host.c