[PATCH] USB: set device dma_mask without reference to global data
Arnd Bergmann
arnd at arndb.de
Wed May 8 10:07:54 EDT 2013
On Wednesday 08 May 2013, Rob Herring wrote:
> On 05/08/2013 02:11 AM, Matthijs Kooijman wrote:
> > https://lkml.org/lkml/2012/12/4/54
> >
> > And here's the previous attempt, to which Rob Herring refers in a reply.
> >
> > https://lists.ozlabs.org/pipermail/devicetree-discuss/2012-March/013180.html
>
> I believe most of the issues have been around supporting ARM LPAE
> systems. There is a much more simple approach to address this by using
> the dma_addr_t size to set the coherent_dma_mask which I have queued for
> 3.11:
>
> https://patchwork-mail1.kernel.org/patch/2495861/
Hmm, this approach seems wrong -- a lot of devices I expect cannot
actually do DMA to addresses beyond 4GB. A better default would
be to use a 32 bit mask for all devices and override the ones that
actually matter for performance and are known to be 64-bit DMA
capable.
Laura, you obviously tried this code on an LPAE-enabled system. Have
you had a look in the hardware manual which DMA masters in the
system are actually 64-bit capable?
Arnd
More information about the linux-arm-kernel
mailing list