Hi Vinod, On 2016-02-21 20:50:46 +0530, Vinod Koul wrote: > The slave dmaengine semantics required the client to map dma > addresses and pass DMA address to dmaengine drivers. While this > was a convenient notion coming from generic dma offload cases > where dmaengines are interchangeable and client is not aware of > which engine to map to. > > But in case of slave, we know the dmaengine and always use a > specific one. Further the IOMMU cases can lead to failure of this > notion, so make this as physical address and now dmaengine driver > will do the required mapping. Thanks! I have tested this patch with my IOMMU series and it works nicely. > > Original-patch-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Tested-by: Niklas Söderlund <niklas.soderlund+renesas@xxxxxxxxxxxx> > --- > include/linux/dmaengine.h | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h > index 16a1cad30c33..d85ecd20af50 100644 > --- a/include/linux/dmaengine.h > +++ b/include/linux/dmaengine.h > @@ -357,8 +357,8 @@ enum dma_slave_buswidth { > */ > struct dma_slave_config { > enum dma_transfer_direction direction; > - dma_addr_t src_addr; > - dma_addr_t dst_addr; > + phys_addr_t src_addr; > + phys_addr_t dst_addr; > enum dma_slave_buswidth src_addr_width; > enum dma_slave_buswidth dst_addr_width; > u32 src_maxburst; -- Regards, Niklas Söderlund