[PATCH RFC 46/51] ARM: DMA-API: better handing of DMA masks for coherent allocations

Tushar Behera tushar.behera at linaro.org
Fri Aug 9 07:35:09 EDT 2013


On 08/02/2013 03:50 AM, Russell King wrote:
> We need to start treating DMA masks as something which is specific to
> the bus that the device resides on, otherwise we're going to hit all
> sorts of nasty issues with LPAE and 32-bit DMA controllers in >32-bit
> systems, where memory is offset from PFN 0.
> 
> In order to start doing this, we convert the DMA mask to a PFN using
> the device specific dma_to_pfn() macro.  This is the reverse of the
> pfn_to_dma() macro which is used to get the DMA address for the device.
> 
> This gives us a PFN mask, which we can then check against the PFN
> limit of the DMA zone.
> 
> Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
> ---
>  arch/arm/mm/dma-mapping.c |   49 ++++++++++++++++++++++++++++++++++++++++----
>  arch/arm/mm/init.c        |    2 +
>  arch/arm/mm/mm.h          |    2 +
>  3 files changed, 48 insertions(+), 5 deletions(-)
> 

Tested on Arndale board with ARM_LPAE enabled.

Tested-by: Tushar Behera <tushar.behera at linaro.org>

-- 
Tushar Behera



More information about the linux-arm-kernel mailing list