[PATCH v2 RFC 2/8] arm: introduce a global dma_ops pointer
From: Stefano Stabellini <hidden>
Date: 2013-08-02 11:42:40
Also in:
lkml, xen-devel
From: Stefano Stabellini <hidden>
Date: 2013-08-02 11:42:40
Also in:
lkml, xen-devel
On Wed, 31 Jul 2013, Russell King - ARM Linux wrote:
On Wed, Jul 31, 2013 at 08:54:06PM +0100, Stefano Stabellini wrote:quoted
Initially set dma_ops to arm_dma_ops. Use dma_ops instead of arm_dma_ops in dmabounce. Signed-off-by: Stefano Stabellini <redacted> CC: will.deacon at arm.com CC: linux at arm.linux.org.ukIf 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.)
OK, I'll let dmabounce keep using arm_dma_ops directly (instead of dma_ops). Should I add "depends on !DMABOUNCE" to the SWIOTLB Kconfig entry too?