Re: [PATCH] pci: designware: Set DMA_BYPASS bit in outbound IATU CTRL2 register
From: Manivannan Sadhasivam
Date: Wed Sep 02 2026 - 12:34:39 EST
On Wed, Sep 02, 2026 at 08:44:57PM +0530, Krishna Chaitanya Chundru wrote:
>
>
> On 9/2/2026 7:37 PM, Manivannan Sadhasivam wrote:
> > On Wed, Aug 26, 2026 at 02:41:20PM +0530, Sumit Kumar wrote:
> >> Outbound IATU apertures are configured with local device-side addresses.
> >> When DMA engine transactions use destination addresses which fall within
> >> an outbound IATU aperture range, they get unintentionally translated by
> >> the IATU, causing the wrong address to be sent on the PCIe link.
> >> This results in data corruption or IOMMU errors at the host if the
> >> translated address is not mapped.
> >>
> > Why are you using the same device address in both DMA and iATU mapping? This
> > sounds like a mapping problem that you should fix instead.
> issue happens, when host address(DMA destination address) matches with the
> internal iova address programmed in iATU src address.
> As we can cannot address in both, we need to program iATU in DMA bypass mode,
> so DMA transcations will not go through iATU window.
>
This needs to be explained clearly in the commit message with an example
matching the DWC terminologies such as 'Target Address Registers'.
- Mani
--
மணிவண்ணன் சதாசிவம்