aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-28 19:43:13 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-28 19:43:13 -0800
commit5e04f4b4290e03deb91b074087ae8d7c169d947d (patch)
tree07802848a6afce236de7c3185be06db8567b38f0 /Documentation
parentb6669737d3db7df79fad07180837c23dbe581db5 (diff)
parent495c10cc1c0c359871d5bef32dd173252fc17995 (diff)
downloadlinaro-lsk-5e04f4b4290e03deb91b074087ae8d7c169d947d.tar.gz
Merge tag 'tag-for-linus-3.9' of git://git.linaro.org/people/sumitsemwal/linux-dma-buf
Pull dma-buf framework updates from Sumit Semwal: "Refcounting implemented for vmap in core dma-buf" * tag 'tag-for-linus-3.9' of git://git.linaro.org/people/sumitsemwal/linux-dma-buf: CHROMIUM: dma-buf: restore args on failure of dma_buf_mmap dma-buf: implement vmap refcounting in the interface logic
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/dma-buf-sharing.txt6
1 files changed, 5 insertions, 1 deletions
diff --git a/Documentation/dma-buf-sharing.txt b/Documentation/dma-buf-sharing.txt
index 0188903bc9e..4966b1be42a 100644
--- a/Documentation/dma-buf-sharing.txt
+++ b/Documentation/dma-buf-sharing.txt
@@ -302,7 +302,11 @@ Access to a dma_buf from the kernel context involves three steps:
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.
+ runs out of vmalloc space. Fallback to kmap should be implemented. Note that
+ the dma-buf layer keeps a reference count for all vmap access and calls down
+ into the exporter's vmap function only when no vmapping exists, and only
+ unmaps it once. Protection against concurrent vmap/vunmap calls is provided
+ by taking the dma_buf->lock mutex.
3. Finish access