ARM: 7795/1: mm: dma-mapping: Add dma_max_pfn(dev) helper function
commit00c8f1623658947a97345ecb86b71232ff540d0d
authorSantosh Shilimkar <santosh.shilimkar@ti.com>
Mon, 29 Jul 2013 13:18:48 +0000 (29 14:18 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 31 Oct 2013 14:49:24 +0000 (31 14:49 +0000)
treeda2757c83e836aabfaa677e026ef59b5787b71e9
parent9f7e45d83ef09a481cbc4172849bd1fcf88a39ed
ARM: 7795/1: mm: dma-mapping: Add dma_max_pfn(dev) helper function

Most of the kernel assumes that PFN0 is the start of the physical
memory (RAM). This assumptions is not true on most of the ARM SOCs
and hence and if one try to update the ARM port to follow the assumptions,
we end of breaking the dma bounce limit for few block layer drivers.
One such example is trying to unify the meaning of max*_pfn on ARM
as the bootmem layer expects, breaks few block layer driver dma
bounce limit.

To fix this problem, we introduce dma_max_pfn(dev) generic helper with
a possibility of override from the architecture code. The helper converts
a DMA bitmask of bits to a block PFN number. In all the generic cases,
it is just  "dev->dma_mask >> PAGE_SHIFT" and hence default behavior
is maintained as is.

Subsequent patches will make use of the helper. No functional change.

Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
include/linux/dma-mapping.h