mbox series

[v4,00/11] drm: rework mmap() workflow

Message ID 20191016115203.20095-1-kraxel@redhat.com (mailing list archive)
Headers show
Series drm: rework mmap() workflow | expand

Message

Gerd Hoffmann Oct. 16, 2019, 11:51 a.m. UTC
Add mmap callback to struct drm_gem_object_funcs, which is supposed to
handle the vma setup.  It will be used by both normal fops->mmap (via
drm_gem_mmap_obj()) and prime mmap (via drm_gem_prime_mmap()).

For starters the shmem and vram helpers are switched over to the new
workflow, to show things in action for review.

v4:
 - pick up a reviewed-by missed.
 - add changelogs to patch commit msgs.
 - make ttm_bo_mmap_vma_setup static.

Gerd Hoffmann (11):
  drm: add mmap() to drm_gem_object_funcs
  drm/shmem: switch shmem helper to &drm_gem_object_funcs.mmap
  drm/shmem: drop VM_DONTDUMP
  drm/shmem: drop VM_IO
  drm/shmem: drop DEFINE_DRM_GEM_SHMEM_FOPS
  drm/ttm: factor out ttm_bo_mmap_vma_setup
  drm/ttm: rename ttm_fbdev_mmap
  drm/ttm: add drm_gem_ttm_mmap()
  drm/vram: switch vram helper to &drm_gem_object_funcs.mmap()
  drm/vram: drop verify_access
  drm/vram: drop DRM_VRAM_MM_FILE_OPERATIONS

 include/drm/drm_gem.h                         | 14 +++++
 include/drm/drm_gem_shmem_helper.h            | 30 +---------
 include/drm/drm_gem_ttm_helper.h              |  2 +
 include/drm/drm_gem_vram_helper.h             | 25 ---------
 include/drm/ttm/ttm_bo_api.h                  | 10 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c    |  5 +-
 drivers/gpu/drm/ast/ast_drv.c                 |  5 +-
 drivers/gpu/drm/bochs/bochs_drv.c             |  5 +-
 drivers/gpu/drm/cirrus/cirrus.c               |  2 +-
 drivers/gpu/drm/drm_gem.c                     | 27 ++++++---
 drivers/gpu/drm/drm_gem_shmem_helper.c        | 28 ++++------
 drivers/gpu/drm/drm_gem_ttm_helper.c          | 17 ++++++
 drivers/gpu/drm/drm_gem_vram_helper.c         | 56 +------------------
 drivers/gpu/drm/drm_prime.c                   |  9 +++
 .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c   |  5 +-
 drivers/gpu/drm/mgag200/mgag200_drv.c         |  5 +-
 drivers/gpu/drm/panfrost/panfrost_drv.c       |  2 +-
 drivers/gpu/drm/panfrost/panfrost_gem.c       |  2 +-
 drivers/gpu/drm/tiny/gm12u320.c               |  2 +-
 drivers/gpu/drm/ttm/ttm_bo_vm.c               | 54 +++++++++---------
 drivers/gpu/drm/v3d/v3d_bo.c                  |  2 +-
 drivers/gpu/drm/v3d/v3d_drv.c                 |  2 +-
 drivers/gpu/drm/vboxvideo/vbox_drv.c          |  5 +-
 drivers/gpu/drm/virtio/virtgpu_drv.c          |  2 +-
 drivers/gpu/drm/virtio/virtgpu_object.c       |  2 +-
 25 files changed, 119 insertions(+), 199 deletions(-)