On Thu, Apr 28, 2011 at 07:31:06AM +1000, Benjamin Herrenschmidt wrote:
The question remains, if we ever want to do more complex demand-paged operations, should we also expose a lower level set of functions to get struct page out of a dma_alloc_coherent() allocation and to get the pgprot for the user dma mapping ?
I don't think so - that places the requirement that dma_alloc_coherent() must be backed by memory with a set of struct page, which may not always be the case.
Think about dma_alloc_coherent() with dma_declare_coherent_memory() used with memory which is not part of system RAM.