Re: [PATCH 0/8] drm: Clean up mmap for TTM-based GEM drivers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]<

 



Hi

Am 08.04.21 um 13:19 schrieb Daniel Vetter:
On Tue, Apr 06, 2021 at 11:08:55AM +0200, Thomas Zimmermann wrote:
Implement mmap via struct drm_gem_object_functions.mmap for amdgpu,
radeon and nouveau. This allows for using common DRM helpers for
the mmap-related callbacks in struct file_operations and struct
drm_driver. The drivers have their own vm_ops, which are now set
automatically by the DRM core functions. The code in each driver's
verify_access becomes part of the driver's new mmap implementation.

Is there anything left in there which isn't already handled by the gem
checks? Iirc there was some custom limit for ttm drivers once to allow
co-existing with ums drivers, but that's never really been a thing since
forever ...

Vmwgfx does its own thing. radeon and amdgpu have some checks (userptr). But it's all very small. The general tests will be in the GEM helpers.

Best regards
Thomas

-Daniel


With the GEM drivers converted, vmwgfx is the only user of
ttm_bo_mmap() and related infrastructure. So move everything into
vmwgfx and delete the rsp code from TTM.

This touches several drivers. Preferably everything would be merged
at once via drm-misc-next.

Thomas Zimmermann (8):
   drm/ttm: Don't override vm_ops callbacks, if set
   drm/amdgpu: Remove unused function amdgpu_bo_fbdev_mmap()
   drm/amdgpu: Implement mmap as GEM object function
   drm/radeon: Implement mmap as GEM object function
   drm/nouveau: Implement mmap as GEM object function
   drm/vmwgfx: Inline ttm_bo_mmap() into vmwgfx driver
   drm/vmwgfx: Inline vmw_verify_access()
   drm/ttm: Remove ttm_bo_mmap() and friends

  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c | 46 -------------
  drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.h |  2 -
  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c     |  4 +-
  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c     | 64 +++++++++++++++++++
  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c  | 19 ------
  drivers/gpu/drm/amd/amdgpu/amdgpu_object.h  |  2 -
  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c     | 71 ---------------------
  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h     |  1 -
  drivers/gpu/drm/nouveau/nouveau_bo.c        | 10 ---
  drivers/gpu/drm/nouveau/nouveau_drm.c       |  3 +-
  drivers/gpu/drm/nouveau/nouveau_gem.c       | 36 +++++++++++
  drivers/gpu/drm/nouveau/nouveau_ttm.c       | 49 --------------
  drivers/gpu/drm/nouveau/nouveau_ttm.h       |  1 -
  drivers/gpu/drm/radeon/radeon_drv.c         |  3 +-
  drivers/gpu/drm/radeon/radeon_gem.c         | 52 +++++++++++++++
  drivers/gpu/drm/radeon/radeon_ttm.c         | 65 -------------------
  drivers/gpu/drm/radeon/radeon_ttm.h         |  1 -
  drivers/gpu/drm/ttm/ttm_bo_vm.c             | 60 ++---------------
  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c  |  9 ---
  drivers/gpu/drm/vmwgfx/vmwgfx_ttm_glue.c    | 51 ++++++++++++++-
  include/drm/ttm/ttm_bo_api.h                | 13 ----
  include/drm/ttm/ttm_device.h                | 15 -----
  22 files changed, 212 insertions(+), 365 deletions(-)

--
2.30.2



--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

_______________________________________________
Nouveau mailing list
Nouveau@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/nouveau

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux