[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