]> git.karo-electronics.de Git - karo-tx-linux.git/commit
dma-buf: add support for kernel cpu access
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 19 Mar 2012 23:02:37 +0000 (00:02 +0100)
committerSumit Semwal <sumit.semwal@ti.com>
Wed, 21 Mar 2012 06:51:10 +0000 (12:21 +0530)
commitd824b2404ff1a0e5440f4492ba2e712d9d2f5fe1
tree365b72f02804224dc3e0b3d436888d7fffb8cde4
parent209b3f266c2b513162773e220766bcc90dd75685
dma-buf: add support for kernel cpu access

Big differences to other contenders in the field (like ion) is
that this also supports highmem, so we have to split up the cpu
access from the kernel side into a prepare and a kmap step.

Prepare is allowed to fail and should do everything required so that
the kmap calls can succeed (like swapin/backing storage allocation,
flushing, ...).

More in-depth explanations will follow in the follow-up documentation
patch.

Changes in v2:

- Clear up begin_cpu_access confusion noticed by Sumit Semwal.
- Don't automatically fallback from the _atomic variants to the
  non-atomic variants. The _atomic callbacks are not allowed to
  sleep, so we want exporters to make this decision explicit. The
  function signatures are explicit, so simpler exporters can still
  use the same function for both.
- Make the unmap functions optional. Simpler exporters with permanent
  mappings don't need to do anything at unmap time.

Changes in v3:

- Adjust the WARN_ON checks for the new ->ops functions as suggested
  by Rob Clark and Sumit Semwal.
- Rebased on top of latest dma-buf-next git.

Changes in v4:

- Fixup a missing - in a return -EINVAL; statement.

Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Rob Clark <rob@ti.com>
Signed-off-by: Sumit Semwal <sumit.semwal@ti.com>
drivers/base/dma-buf.c
include/linux/dma-buf.h