• Lars-Peter Clausen's avatar
    dmaengine: Use sg_dma_address instead of sg_phys · cbb796cc
    Lars-Peter Clausen authored
    dmaengine drivers should always use sg_dma_address instead of sg_phys to get the
    addresses for the transfer from a sg element.
    
    To quote Russel King:
    	sg_phys(sg) of course has nothing to do with DMA addresses. It's the
    	physical address _to the CPU_ of the memory associated with the scatterlist
    	entry. That may, or may not have the same value for the DMA engine,
    	particularly if IOMMUs are involved.
    
    	And if these drivers are used on ARM, they must be fixed, sooner rather
    	than later.  There's patches in the works which will mean we will end up
    	with IOMMU support in the DMA mapping later, which means everything I've
    	said above will become reality.
    
    The patch has been generated using the following coccinelle patch:
    <smpl>
    @@
    struct scatterlist *sg;
    @@
    -sg_phys(sg)
    +sg_dma_address(sg)
    </smpl>
    Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
    Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    Signed-off-by: default avatarVinod Koul <vinod.koul@linux.intel.com>
    cbb796cc
pch_dma.c 26.2 KB