All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] drm: Implement gem_prime_mmap with drm_gem_prime_mmap()
@ 2021-06-09 11:20 ` Thomas Zimmermann
  0 siblings, 0 replies; 60+ messages in thread
From: Thomas Zimmermann @ 2021-06-09 11:20 UTC (permalink / raw)
  To: daniel, mripard, maarten.lankhorst, l.stach, linux+etnaviv,
	christian.gmeiner, inki.dae, jy0922.shim, sw0312.kim,
	kyungmin.park, krzysztof.kozlowski, chunkuang.hu, p.zabel,
	matthias.bgg, robdclark, sean, airlied, kraxel, hjc, heiko,
	oleksandr_andrushchenko, sumit.semwal, christian.koenig
  Cc: dri-devel, etnaviv, linux-arm-kernel, linux-samsung-soc,
	linux-mediatek, linux-arm-msm, freedreno, virtualization,
	spice-devel, linux-rockchip, xen-devel, linux-media,
	linaro-mm-sig, Thomas Zimmermann

Replace all remaining implementations of struct drm_driver.gem_prime_mmap
with use drm_gem_prime_mmap(). For each affected driver, put the mmap code
into struct drm_gem_object_funcs.mmap. With the latter change in place,
create struct file_operations via DEFINE_DRM_GEM_FOPS().

As next steps, remaining drivers can be converted to use drm_gem_prime_mmap()
and drm_gem_mmap() (e.g., Tegra). The default mmap code in drm_gem_prime_mmap()
can be pushed into affected drivers or a helper function. The gem_prime_mmap
hook can probably be removed at some point.

Testing is welcome. I don't have all the necessary hardware.

Thomas Zimmermann (9):
  drm/etnaviv: Implement mmap as GEM object function
  drm/exynox: Implement mmap as GEM object function
  drm/mediatek: Implement mmap as GEM object function
  drm/msm: Implement mmap as GEM object function
  drm/qxl: Remove empty qxl_gem_prime_mmap()
  drm/vgem: Implement mmap as GEM object function
  drm/xen: Implement mmap as GEM object function
  drm/rockchip: Implement mmap as GEM object function
  drm: Update documentation and TODO of gem_prime_mmap hook

 Documentation/gpu/todo.rst                    |  11 --
 drivers/gpu/drm/etnaviv/etnaviv_drv.c         |  14 +--
 drivers/gpu/drm/etnaviv/etnaviv_drv.h         |   3 -
 drivers/gpu/drm/etnaviv/etnaviv_gem.c         |  18 +--
 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c   |  13 ---
 drivers/gpu/drm/exynos/exynos_drm_drv.c       |  13 +--
 drivers/gpu/drm/exynos/exynos_drm_fbdev.c     |  20 +---
 drivers/gpu/drm/exynos/exynos_drm_gem.c       |  43 ++-----
 drivers/gpu/drm/exynos/exynos_drm_gem.h       |   5 -
 drivers/gpu/drm/mediatek/mtk_drm_drv.c        |  13 +--
 drivers/gpu/drm/mediatek/mtk_drm_gem.c        |  44 ++-----
 drivers/gpu/drm/mediatek/mtk_drm_gem.h        |   3 -
 drivers/gpu/drm/msm/msm_drv.c                 |  14 +--
 drivers/gpu/drm/msm/msm_drv.h                 |   1 -
 drivers/gpu/drm/msm/msm_fbdev.c               |  10 +-
 drivers/gpu/drm/msm/msm_gem.c                 |  67 +++++------
 drivers/gpu/drm/msm/msm_gem.h                 |   3 -
 drivers/gpu/drm/msm/msm_gem_prime.c           |  11 --
 drivers/gpu/drm/qxl/qxl_drv.c                 |   1 -
 drivers/gpu/drm/qxl/qxl_drv.h                 |   2 -
 drivers/gpu/drm/qxl/qxl_prime.c               |   6 -
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |  13 +--
 drivers/gpu/drm/rockchip/rockchip_drm_fbdev.c |   3 +-
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c   |  44 ++-----
 drivers/gpu/drm/rockchip/rockchip_drm_gem.h   |   7 --
 drivers/gpu/drm/vgem/vgem_drv.c               |  46 +-------
 drivers/gpu/drm/xen/xen_drm_front.c           |  16 +--
 drivers/gpu/drm/xen/xen_drm_front_gem.c       | 108 +++++++-----------
 drivers/gpu/drm/xen/xen_drm_front_gem.h       |   7 --
 include/drm/drm_drv.h                         |  11 +-
 30 files changed, 136 insertions(+), 434 deletions(-)


base-commit: 70e4d80795934312a3853a4f4f49445ce6db1271
prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
--
2.31.1


^ permalink raw reply	[flat|nested] 60+ messages in thread

end of thread, other threads:[~2021-06-09 11:32 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-09 11:20 [PATCH 0/9] drm: Implement gem_prime_mmap with drm_gem_prime_mmap() Thomas Zimmermann
2021-06-09 11:20 ` Thomas Zimmermann
2021-06-09 11:20 ` Thomas Zimmermann
2021-06-09 11:20 ` Thomas Zimmermann
2021-06-09 11:20 ` Thomas Zimmermann
2021-06-09 11:20 ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 1/9] drm/etnaviv: Implement mmap as GEM object function Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 2/9] drm/exynox: " Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 3/9] drm/mediatek: " Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 4/9] drm/msm: " Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 5/9] drm/qxl: Remove empty qxl_gem_prime_mmap() Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 6/9] drm/vgem: Implement mmap as GEM object function Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 7/9] drm/xen: " Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 8/9] drm/rockchip: " Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20 ` [PATCH 9/9] drm: Update documentation and TODO of gem_prime_mmap hook Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann
2021-06-09 11:20   ` Thomas Zimmermann

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.