[PATCH v2 RFC 2/8] arm: introduce a global dma_ops pointer

Russell King - ARM Linux linux at arm.linux.org.uk
Wed Jul 31 16:01:35 EDT 2013


On Wed, Jul 31, 2013 at 08:54:06PM +0100, Stefano Stabellini wrote:
> Initially set dma_ops to arm_dma_ops.
> Use dma_ops instead of arm_dma_ops in dmabounce.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini at eu.citrix.com>
> CC: will.deacon at arm.com
> CC: linux at arm.linux.org.uk

If you're using swiotlb, there's little point in converting dmabounce
to be able to use it, because it's basically providing the same
functionality - dmabounce is there to do software buffer bouncing within
the DMA to move streaming buffers from DMA-inaccessible memory into
DMA-accessible memory.

It's original use is with older SoCs with buggy DMA (eg, those which
can only address alternate 1MB chunks of memory for example) but also
got used in situations where alternative solutions would've been better
(like using swiotlb.)  I've been discouraging its use as it's suffered
from memory exhaustion problems (there's a number of threads and bug
reports which were never solved about IXP4xx(?) platforms suffering
this due to this bouncing.)



More information about the linux-arm-kernel mailing list