mbox series

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

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

Message

Gerd Hoffmann Sept. 19, 2019, 10:02 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.

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(-)

Comments

Daniel Vetter Oct. 9, 2019, 2:45 p.m. UTC | #1
On Thu, Sep 19, 2019 at 12:02:12PM +0200, Gerd Hoffmann wrote:
> 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.

I'm confused a bit here, since you're resending patches but:
- no per-patch changelog (making it real hard for reviewers to catch up
  and review just what's changed)
- none of the r-b/a-b tags you've scored already added to the respective
  patches

I'd really like to see this landed, but this way it's not really going to
move forward :-/

Can you pls resend with all that fixed, and then I can do a final pass for
the missing bits and we can get this merged?

Thanks, Daniel

> 
> 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(-)
> 
> -- 
> 2.18.1
>