[PATCH 00/15] Retire dma_buf_k(un)map

Daniel Vetter daniel.vetter at ffwll.ch
Mon Nov 18 10:35:21 UTC 2019


Hi all,

Way back when we created the dma-buf spec it made sense to have kmap/unmap
interfaces, since 32bit kernels with limited vmalloc space were still
rather ubiquitous. But that idea (like many others) never caught on, was
quickly replaced by vmaps covering the entire buffer for all real uses,
and nowadays 64bit kernels rule the world. Currently merged upstream
drivers (and we have a pile now) don't even bother to kmap for their
private buffers, much less for anything shared.

So since it was never used, and this idea's time is clearly over, let's
remove it all.

Only real change I had to do (aside from deleting lots of dead code) was
in the tegra driver. But even there I suspect the dma-buf kmap path has
never been run in anger anywhere, it just doesn't make sense to put relocs
into a dma-buf (as opposed to using a dma-buf for the target address of a
reloc).

Comments, reviews and testing very much appreciated.

Cheers, Daniel

Daniel Vetter (15):
  drm/tegra: Map cmdbuf once for reloc processing
  drm/tegra: Delete host1x_bo_ops->k(un)map
  drm/i915: Remove dma_buf_kmap selftest
  staging/android/ion: delete dma_buf->kmap/unmap implemenation
  drm/armada: Delete dma_buf->k(un)map implemenation
  drm/i915: Drop dma_buf->k(un)map
  drm/omapdrm: Drop dma_buf->k(un)map
  drm/tegra: Remove dma_buf->k(un)map
  dma-buf: Drop dma_buf_k(un)map
  drm/vmwgfx: Delete mmaping functions
  media/videobuf2: Drop dma_buf->k(un)map support
  drm/tee_shm: Drop dma_buf_k(unmap) support
  xen/gntdev-dmabuf: Ditch dummy map functions
  sample/vfio-mdev/mbocs: Remove dma_buf_k(un)map support
  dma-buf: Remove kernel map/unmap hooks

 drivers/dma-buf/dma-buf.c                     |  63 +----------
 drivers/gpu/drm/armada/armada_gem.c           |  12 ---
 drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c    |  36 -------
 .../drm/i915/gem/selftests/i915_gem_dmabuf.c  | 101 ------------------
 .../gpu/drm/i915/gem/selftests/mock_dmabuf.c  |  16 ---
 drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c     |  21 ----
 drivers/gpu/drm/tegra/gem.c                   |  40 -------
 drivers/gpu/drm/vmwgfx/vmwgfx_prime.c         |  33 ------
 drivers/gpu/host1x/job.c                      |  21 ++--
 .../common/videobuf2/videobuf2-dma-contig.c   |   8 --
 .../media/common/videobuf2/videobuf2-dma-sg.c |   8 --
 .../common/videobuf2/videobuf2-vmalloc.c      |   8 --
 drivers/misc/fastrpc.c                        |   8 --
 drivers/staging/android/ion/ion.c             |  14 ---
 drivers/tee/tee_shm.c                         |   6 --
 drivers/xen/gntdev-dmabuf.c                   |  23 ----
 include/linux/dma-buf.h                       |  27 -----
 include/linux/host1x.h                        |  13 ---
 samples/vfio-mdev/mbochs.c                    |  16 ---
 19 files changed, 10 insertions(+), 464 deletions(-)

-- 
2.24.0



More information about the dri-devel mailing list