From b25b086d23eb852bf3cfdeb60409b4967ebb3c0c Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Tue, 22 May 2012 13:34:38 +0100 Subject: dma-buf: add initial vmap documentation Signed-off-by: Dave Airlie Signed-off-by: Sumit Semwal --- Documentation/dma-buf-sharing.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'Documentation/dma-buf-sharing.txt') diff --git a/Documentation/dma-buf-sharing.txt b/Documentation/dma-buf-sharing.txt index 5ff4d2b84f72..ad86fb86c9a0 100644 --- a/Documentation/dma-buf-sharing.txt +++ b/Documentation/dma-buf-sharing.txt @@ -293,6 +293,17 @@ Access to a dma_buf from the kernel context involves three steps: Note that these calls need to always succeed. The exporter needs to complete any preparations that might fail in begin_cpu_access. + For some cases the overhead of kmap can be too high, a vmap interface + is introduced. This interface should be used very carefully, as vmalloc + space is a limited resources on many architectures. + + Interfaces: + void *dma_buf_vmap(struct dma_buf *dmabuf) + void dma_buf_vunmap(struct dma_buf *dmabuf, void *vaddr) + + The vmap call can fail if there is no vmap support in the exporter, or if it + runs out of vmalloc space. Fallback to kmap should be implemented. + 3. Finish access When the importer is done accessing the range specified in begin_cpu_access, -- cgit v1.2.3