dma_ops->map_page == NULL

Kumar Gala galak at kernel.crashing.org
Wed Jul 8 00:37:35 EST 2009


On Jul 7, 2009, at 6:08 AM, Benjamin Herrenschmidt wrote:

> 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.

Is it possible the dev pointer is not valid?  I can't remember if that  
was a .29 or .30 change that requires us to start passing a valid dev  
pointer to get the proper dma_ops.

- k


More information about the Linuxppc-dev mailing list