Subject: Re: dma_ops->map_page == NULL

From: Benjamin Herrenschmidt <[email-masked]>
Date: Tue, 07 Jul 2009 21:08:25 +1000

On Tue, 2009-07-07 at 10:15 +1000, Mark Nelson wrote:
> 
> When the 32 and 64bit DMA code was merged in .28 , map_/unmap_page() was
> added in favour of map_/unmap_single() (which was later removed in .29)
> so you'll have to replace your calls to dma_map_single() with
> dma_map_page(). Just pass it the page and offset rather than the address.

Wait a minute ... dma_map_single() should still work, it will just call
dma_map_page() underneath. All dma_ops should have a ->map page
callback.

Do you have any dma_ops set for your device at all ? I wonder how we
set the dma_ops for platform devices nowadays ... We use to have this
fallback to direct ops when the dma_ops are NULL but that is gone and
I see no suitable replacement to set them on platform devices for
embedded archs ... oops...

Kumar, Becky, what's the situation there ?

Cheers,
Ben.