[00/15] Retire dma_buf_k(un)map
mbox series

Message ID 20191118103536.17675-1-daniel.vetter@ffwll.ch
Headers show
Series
  • Retire dma_buf_k(un)map
Related show

Message

Daniel Vetter Nov. 18, 2019, 10:35 a.m. UTC
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(-)

Comments

Sumit Semwal Nov. 18, 2019, 3:58 p.m. UTC | #1
Hello Daniel,

On Mon, 18 Nov 2019 at 16:05, Daniel Vetter <daniel.vetter@ffwll.ch> wrote:
>
> 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.
As always, thanks for helping keep this code sane :)

Fwiw, for the series, please feel free to add my
Acked-by: Sumit Semwal <sumit.semwal@linaro.org>

>
> 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
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

Best,
Sumit.