ARM: dma-mapping: implement dma sg methods on top of any generic dma ops
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 10 Feb 2012 18:55:20 +0000 (19:55 +0100)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Mon, 21 May 2012 13:06:17 +0000 (15:06 +0200)
commit2a550e73d3e5f040a3e8eb733c942ab352eafb36
treedd4d161b5e3db2983737bad3f7b5787488bbe229
parent2dc6a016bbedf18f18ad73997e5338307d6dbde9
ARM: dma-mapping: implement dma sg methods on top of any generic dma ops

This patch converts all dma_sg methods to be generic (independent of the
current DMA mapping implementation for ARM architecture). All dma sg
operations are now implemented on top of respective
dma_map_page/dma_sync_single_for* operations from dma_map_ops structure.

Before this patch there were custom methods for all scatter/gather
related operations. They iterated over the whole scatter list and called
cache related operations directly (which in turn checked if we use dma
bounce code or not and called respective version). This patch changes
them not to use such shortcut. Instead it provides similar loop over
scatter list and calls methods from the device's dma_map_ops structure.
This enables us to use device dependent implementations of cache related
operations (direct linear or dma bounce) depending on the provided
dma_map_ops structure.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Tested-By: Subash Patel <subash.ramaswamy@linaro.org>
arch/arm/mm/dma-mapping.c