dmaengine: rcar-dmac: add iommu support for slave transfers
Get series with b4
b4 am 20160926164722.GB2467@localhostVersions newest first · linked by author and title
- v9 Latest posting 3/30 of 6 patches 0 repliesNew
- v9 posting 2/30 of 6 patches 0 repliesSuperseded
- v9 posting 1/30 of 6 patches 0 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v7 posting 2/2 | 0 of 6 patches | 0 replies | Superseded | |
| v7 posting 1/2 | 0 of 6 patches | 0 replies | Superseded |
Patches in v9 posting 3/3 No applies recorded yet
None of the 6 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v9 yet.
Cover letter [PATCHv9 0/6] dmaengine: rcar-dmac: add iommu support for slave transfers
Quoted 24 lines · Niklas S�derlund
Hi,
This series tries to solve the problem with DMA with device registers (MMIO registers) that are behind an IOMMU for the rcar-dmac driver. A recent patch '9575632 (dmaengine: make slave address physical)' clarifies that DMA slave address provided by clients is the physical address. This puts the task of mapping the DMA slave address from a
phys_addr_tto adma_addr_ton the DMA engine.Without an IOMMU this is easy since the
phys_addr_tanddma_addr_tare the same and no special care is needed. However if you have a IOMMU you need to map the DMA slavephys_addr_tto adma_addr_tusing something like this.This series is based on top of v4.8-rc1. And I'm hoping to be able to collect a Ack from Russell King on patch 4/6 that adds the ARM specific part and then be able to take the whole series through the dmaengine tree. If this is not the best route I'm more then happy to do it another way.
It's tested on a Koelsch with
CONFIG_IPMMU_VMSAand by enabling theipmmu_dsnode inr8a7791.dtsi. I verified operation by interacting with/dev/mmcblk1, i2c and the serial console which are devices behind the iommu.
Quoted 5 lines
Furthermore I have audited to the best of my ability all call paths involved to make sure that the
dma_addr_tobtained fromdma_map_resource()to is not used in a way where it would be expected for the mapping to be RAM (have a struct page). Many thanks to Christoph Hellwig and Laurent Pinchart for there input in this effort.
Applied, thanks
Signature · 1 line
~Vinod