[PATCH v4 00/17] drm: add gem ttm helpers, rework mmap workflow.

Thomas Zimmermann tzimmermann at suse.de
Mon Aug 26 08:47:07 UTC 2019


Hi,

I would have liked to get some context on the purpose of GEM TTM
helpers. Is is just share-able code?

From my understanding VRAM helpers _are_ GEM TTM helpers. And they where
re-named to VRAM helpers, so that the naming is independent from the
implementation (and vice versa).

Wrt qxl, would it be possible to convert the driver over to VRAM helpers
entirely? I noticed a memory region named PRIV. Could we add this to
VRAM helpers?

Best regards
Thomas


Am 08.08.19 um 15:44 schrieb Gerd Hoffmann:
> 
> 
> Gerd Hoffmann (17):
>   drm/ttm: turn ttm_bo_device.vma_manager into a pointer
>   drm/ttm: add gem_ttm_bo_device_init()
>   drm/vram: switch vram helpers to the new gem_ttm_bo_device_init()
>   drm/qxl: switch qxl to the new gem_ttm_bo_device_init()
>   drm: add mmap() to drm_gem_object_funcs
>   drm/shmem: switch shmem helper to drm_gem_object_funcs->mmap
>   drm/shmem: drop DEFINE_DRM_GEM_SHMEM_FOPS
>   drm/ttm: factor out ttm_bo_mmap_vma_setup
>   drm/ttm: add drm_gem_ttm_mmap()
>   drm/vram: switch vram helper to drm_gem_object_funcs->mmap codepath
>   drm/vram: drop verify_access
>   drm: drop DRM_VRAM_MM_FILE_OPERATIONS
>   drm/qxl: use drm_gem_object_funcs
>   drm/qxl: drop qxl_ttm_fault
>   drm/qxl: switch qxl to drm_gem_object_funcs->mmap codepath
>   drm/qxl: drop verify_access
>   drm/qxl: use DEFINE_DRM_GEM_FOPS()
> 
>  drivers/gpu/drm/qxl/qxl_drv.h                 |  5 +-
>  drivers/gpu/drm/qxl/qxl_object.h              |  5 --
>  include/drm/drm_gem.h                         |  9 +++
>  include/drm/drm_gem_shmem_helper.h            | 28 +--------
>  include/drm/drm_gem_ttm_helper.h              | 32 ++++++++++
>  include/drm/drm_gem_vram_helper.h             |  9 +--
>  include/drm/drm_vram_mm_helper.h              | 27 ---------
>  include/drm/ttm/ttm_bo_api.h                  |  8 +++
>  include/drm/ttm/ttm_bo_driver.h               | 11 +++-
>  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                     |  6 ++
>  drivers/gpu/drm/drm_gem_shmem_helper.c        | 18 +++---
>  drivers/gpu/drm/drm_gem_ttm_helper.c          | 47 +++++++++++++++
>  drivers/gpu/drm/drm_gem_vram_helper.c         | 53 +----------------
>  drivers/gpu/drm/drm_vram_mm_helper.c          | 44 +-------------
>  .../gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c   |  6 +-
>  drivers/gpu/drm/mgag200/mgag200_drv.c         |  5 +-
>  drivers/gpu/drm/panfrost/panfrost_drv.c       |  2 +-
>  drivers/gpu/drm/panfrost/panfrost_gem.c       |  1 +
>  drivers/gpu/drm/qxl/qxl_drv.c                 | 19 +-----
>  drivers/gpu/drm/qxl/qxl_dumb.c                | 17 ------
>  drivers/gpu/drm/qxl/qxl_ioctl.c               |  5 +-
>  drivers/gpu/drm/qxl/qxl_object.c              | 13 +++++
>  drivers/gpu/drm/qxl/qxl_ttm.c                 | 58 ++-----------------
>  drivers/gpu/drm/ttm/ttm_bo.c                  | 29 +++++++---
>  drivers/gpu/drm/ttm/ttm_bo_vm.c               | 53 +++++++++--------
>  drivers/gpu/drm/v3d/v3d_bo.c                  |  1 +
>  drivers/gpu/drm/v3d/v3d_drv.c                 |  2 +-
>  drivers/gpu/drm/vboxvideo/vbox_drv.c          |  5 +-
>  Documentation/gpu/drm-mm.rst                  | 12 ++++
>  drivers/gpu/drm/Kconfig                       |  8 +++
>  drivers/gpu/drm/Makefile                      |  3 +
>  drivers/gpu/drm/qxl/Kconfig                   |  1 +
>  35 files changed, 231 insertions(+), 323 deletions(-)
>  create mode 100644 include/drm/drm_gem_ttm_helper.h
>  create mode 100644 drivers/gpu/drm/drm_gem_ttm_helper.c
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Linux GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany
GF: Felix Imendörffer, Mary Higgins, Sri Rasiah
HRB 21284 (AG Nürnberg)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20190826/68969443/attachment-0001.sig>


More information about the dri-devel mailing list