[PATCH 0/9] drm: Implement gem_prime_mmap with drm_gem_prime_mmap()
Thomas Zimmermann
tzimmermann at suse.de
Wed Jun 9 04:20:03 PDT 2021
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
More information about the Linux-rockchip
mailing list