On Mon, Aug 26, 2019 at 10:47 AM Thomas Zimmermann <tzimmermann@xxxxxxx> wrote: > > 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). The point of the vram helpers was to have something to manage vram for dumb display-only drivers. It's prep work for Thomas Zimmermann's plan to port a pile of fbdev drivers over. So fairly intentionally limit in the use-cases it supports to keep it simple. Kinda similar to how the simple display pipe helper is designed on the kms side of things. > 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? For both simple display pipe and vram helpers I'd say if your use-case goes beyond simple dumb display-only driver, it's probably better to have something more flexible. Also this patch series also adjust vram helpers, and I think it has a slightly different goal: Just aligning mmap paths a bit more between ttm and not-ttm based drivers. That's also what motivated my lockdep series, but from a locking rules instead of from a code-sharing point of view. Seems like a good goal, details might need adjustment. -Daniel > > 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) > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel