drm: Clear fd/handle callbacks in struct drm_driver
authorThomas Zimmermann <tzimmermann@suse.de>
Tue, 20 Jun 2023 07:59:58 +0000 (09:59 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Mon, 26 Jun 2023 09:08:41 +0000 (11:08 +0200)
Clear all assignments of struct drm_driver's fd/handle callbacks to
drm_gem_prime_fd_to_handle() and drm_gem_prime_handle_to_fd(). These
functions are called by default. Add a TODO item to convert vmwgfx
to the defaults as well.

v2:
* remove TODO item (Zack)
* also update amdgpu's amdgpu_partition_driver

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Simon Ser <contact@emersion.fr>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Jeffrey Hugo <quic_jhugo@quicinc.com> # qaic
Link: https://patchwork.freedesktop.org/patch/msgid/20230620080252.16368-3-tzimmermann@suse.de
26 files changed:
drivers/accel/ivpu/ivpu_drv.c
drivers/accel/qaic/qaic_drv.c
drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
drivers/gpu/drm/armada/armada_drv.c
drivers/gpu/drm/drm_prime.c
drivers/gpu/drm/etnaviv/etnaviv_drv.c
drivers/gpu/drm/exynos/exynos_drm_drv.c
drivers/gpu/drm/i915/i915_driver.c
drivers/gpu/drm/lima/lima_drv.c
drivers/gpu/drm/mediatek/mtk_drm_drv.c
drivers/gpu/drm/msm/msm_drv.c
drivers/gpu/drm/nouveau/nouveau_drm.c
drivers/gpu/drm/omapdrm/omap_drv.c
drivers/gpu/drm/panfrost/panfrost_drv.c
drivers/gpu/drm/pl111/pl111_drv.c
drivers/gpu/drm/qxl/qxl_drv.c
drivers/gpu/drm/radeon/radeon_drv.c
drivers/gpu/drm/renesas/rcar-du/rcar_du_drv.c
drivers/gpu/drm/rockchip/rockchip_drm_drv.c
drivers/gpu/drm/tegra/drm.c
drivers/gpu/drm/v3d/v3d_drv.c
drivers/gpu/drm/virtio/virtgpu_drv.c
drivers/gpu/drm/xen/xen_drm_front.c
include/drm/drm_gem_dma_helper.h
include/drm/drm_gem_shmem_helper.h
include/drm/drm_gem_vram_helper.h

index 9f2b9fd..5167a65 100644 (file)
@@ -373,8 +373,6 @@ static const struct drm_driver driver = {
 
        .open = ivpu_open,
        .postclose = ivpu_postclose,
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import = ivpu_gem_prime_import,
 
        .ioctls = ivpu_drm_ioctls,
index b5ba550..b5de82e 100644 (file)
@@ -165,7 +165,6 @@ static const struct drm_driver qaic_accel_driver = {
 
        .ioctls                 = qaic_drm_ioctls,
        .num_ioctls             = ARRAY_SIZE(qaic_drm_ioctls),
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle,
        .gem_prime_import       = qaic_gem_prime_import,
 };
 
index 07e16ad..56dc69b 100644 (file)
@@ -2850,8 +2850,6 @@ static const struct drm_driver amdgpu_kms_driver = {
        .show_fdinfo = amdgpu_show_fdinfo,
 #endif
 
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import = amdgpu_gem_prime_import,
 
        .name = DRIVER_NAME,
@@ -2876,8 +2874,6 @@ const struct drm_driver amdgpu_partition_driver = {
        .fops = &amdgpu_driver_kms_fops,
        .release = &amdgpu_driver_release_kms,
 
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import = amdgpu_gem_prime_import,
 
        .name = DRIVER_NAME,
index e120144..e8d2fe9 100644 (file)
@@ -37,8 +37,6 @@ static const struct drm_ioctl_desc armada_ioctls[] = {
 DEFINE_DRM_GEM_FOPS(armada_drm_fops);
 
 static const struct drm_driver armada_drm_driver = {
-       .prime_handle_to_fd     = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle,
        .gem_prime_import       = armada_gem_prime_import,
        .dumb_create            = armada_gem_dumb_create,
        .major                  = 1,
index 7b48e0b..834a5e2 100644 (file)
@@ -51,15 +51,10 @@ MODULE_IMPORT_NS(DMA_BUF);
  * between applications, they can't be guessed like the globally unique GEM
  * names.
  *
- * Drivers that support the PRIME API implement the
- * &drm_driver.prime_handle_to_fd and &drm_driver.prime_fd_to_handle operations.
- * GEM based drivers must use drm_gem_prime_handle_to_fd() and
- * drm_gem_prime_fd_to_handle() to implement these. For GEM based drivers the
- * actual driver interfaces is provided through the &drm_gem_object_funcs.export
- * and &drm_driver.gem_prime_import hooks.
- *
- * &dma_buf_ops implementations for GEM drivers are all individually exported
- * for drivers which need to overwrite or reimplement some of them.
+ * Drivers that support the PRIME API implement the drm_gem_object_funcs.export
+ * and &drm_driver.gem_prime_import hooks. &dma_buf_ops implementations for
+ * drivers are all individually exported for drivers which need to overwrite
+ * or reimplement some of them.
  *
  * Reference Counting for GEM Drivers
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
index 00223a8..ea55f6b 100644 (file)
@@ -481,8 +481,6 @@ static const struct drm_driver etnaviv_drm_driver = {
        .driver_features    = DRIVER_GEM | DRIVER_RENDER,
        .open               = etnaviv_open,
        .postclose           = etnaviv_postclose,
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = etnaviv_gem_prime_import_sg_table,
 #ifdef CONFIG_DEBUG_FS
        .debugfs_init       = etnaviv_debugfs_init,
index c9e3c88..8399256 100644 (file)
@@ -109,8 +109,6 @@ static const struct drm_driver exynos_drm_driver = {
        .open                   = exynos_drm_open,
        .postclose              = exynos_drm_postclose,
        .dumb_create            = exynos_drm_gem_dumb_create,
-       .prime_handle_to_fd     = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle,
        .gem_prime_import       = exynos_drm_gem_prime_import,
        .gem_prime_import_sg_table      = exynos_drm_gem_prime_import_sg_table,
        .ioctls                 = exynos_ioctls,
index 75cbc43..171f4db 100644 (file)
@@ -1818,8 +1818,6 @@ static const struct drm_driver i915_drm_driver = {
        .postclose = i915_driver_postclose,
        .show_fdinfo = i915_drm_client_fdinfo,
 
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import = i915_gem_prime_import,
 
        .dumb_create = i915_gem_dumb_create,
index 65c31dc..3dd078f 100644 (file)
@@ -276,9 +276,7 @@ static const struct drm_driver lima_drm_driver = {
        .patchlevel         = 0,
 
        .gem_create_object  = lima_gem_create_object,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = drm_gem_shmem_prime_import_sg_table,
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
 };
 
 struct lima_block_reader {
index 5693bb8..7fb65eb 100644 (file)
@@ -556,8 +556,6 @@ static const struct drm_driver mtk_drm_driver = {
 
        .dumb_create = mtk_drm_gem_dumb_create,
 
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import = mtk_drm_gem_prime_import,
        .gem_prime_import_sg_table = mtk_gem_prime_import_sg_table,
        .fops = &mtk_drm_fops,
index 47efa3c..2a0e352 100644 (file)
@@ -1086,8 +1086,6 @@ static const struct drm_driver msm_driver = {
        .postclose          = msm_postclose,
        .dumb_create        = msm_gem_dumb_create,
        .dumb_map_offset    = msm_gem_dumb_map_offset,
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = msm_gem_prime_import_sg_table,
 #ifdef CONFIG_DEBUG_FS
        .debugfs_init       = msm_debugfs_init,
index 51f1918..ca3bb80 100644 (file)
@@ -1240,8 +1240,6 @@ driver_stub = {
        .num_ioctls = ARRAY_SIZE(nouveau_ioctls),
        .fops = &nouveau_driver_fops,
 
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = nouveau_gem_prime_import_sg_table,
 
        .dumb_create = nouveau_display_dumb_create,
index 671d26b..e2697fe 100644 (file)
@@ -655,8 +655,6 @@ static const struct drm_driver omap_drm_driver = {
 #ifdef CONFIG_DEBUG_FS
        .debugfs_init = omap_debugfs_init,
 #endif
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import = omap_gem_prime_import,
        .dumb_create = omap_gem_dumb_create,
        .dumb_map_offset = omap_gem_dumb_map_offset,
index 598ad1d..49b51f0 100644 (file)
@@ -544,8 +544,6 @@ static const struct drm_driver panfrost_drm_driver = {
        .minor                  = 2,
 
        .gem_create_object      = panfrost_gem_create_object,
-       .prime_handle_to_fd     = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = panfrost_gem_prime_import_sg_table,
 };
 
index c4b8357..ba3b5b5 100644 (file)
@@ -224,8 +224,6 @@ static const struct drm_driver pl111_drm_driver = {
        .minor = 0,
        .patchlevel = 0,
        .dumb_create = drm_gem_dma_dumb_create,
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = pl111_gem_import_sg_table,
 
 #if defined(CONFIG_DEBUG_FS)
index a3b83f8..b30ede1 100644 (file)
@@ -290,8 +290,6 @@ static struct drm_driver qxl_driver = {
 #if defined(CONFIG_DEBUG_FS)
        .debugfs_init = qxl_debugfs_init,
 #endif
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = qxl_gem_prime_import_sg_table,
        .fops = &qxl_fops,
        .ioctls = qxl_ioctls,
index cf1b960..39cdede 100644 (file)
@@ -604,8 +604,6 @@ static const struct drm_driver kms_driver = {
        .dumb_map_offset = radeon_mode_dumb_mmap,
        .fops = &radeon_driver_kms_fops,
 
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = radeon_gem_prime_import_sg_table,
 
        .name = DRIVER_NAME,
index 4280ff5..a4f3615 100644 (file)
@@ -605,8 +605,6 @@ DEFINE_DRM_GEM_DMA_FOPS(rcar_du_fops);
 static const struct drm_driver rcar_du_driver = {
        .driver_features        = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
        .dumb_create            = rcar_du_dumb_create,
-       .prime_handle_to_fd     = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = rcar_du_gem_prime_import_sg_table,
        .fops                   = &rcar_du_fops,
        .name                   = "rcar-du",
index b8cf89f..e35be6e 100644 (file)
@@ -224,8 +224,6 @@ DEFINE_DRM_GEM_FOPS(rockchip_drm_driver_fops);
 static const struct drm_driver rockchip_drm_driver = {
        .driver_features        = DRIVER_MODESET | DRIVER_GEM | DRIVER_ATOMIC,
        .dumb_create            = rockchip_gem_dumb_create,
-       .prime_handle_to_fd     = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table      = rockchip_gem_prime_import_sg_table,
        .fops                   = &rockchip_drm_driver_fops,
        .name   = DRIVER_NAME,
index 35ff303..ff36171 100644 (file)
@@ -887,8 +887,6 @@ static const struct drm_driver tegra_drm_driver = {
        .debugfs_init = tegra_debugfs_init,
 #endif
 
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import = tegra_gem_prime_import,
 
        .dumb_create = tegra_bo_dumb_create,
index 845a36e..ffbbe9d 100644 (file)
@@ -171,8 +171,6 @@ static const struct drm_driver v3d_drm_driver = {
 #endif
 
        .gem_create_object = v3d_create_object,
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = v3d_prime_import_sg_table,
 
        .ioctls = v3d_drm_ioctls,
index 91ace7a..a7ec5a3 100644 (file)
@@ -186,8 +186,6 @@ static const struct drm_driver driver = {
 #if defined(CONFIG_DEBUG_FS)
        .debugfs_init = virtio_gpu_debugfs_init,
 #endif
-       .prime_handle_to_fd = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle = drm_gem_prime_fd_to_handle,
        .gem_prime_import = virtgpu_gem_prime_import,
        .gem_prime_import_sg_table = virtgpu_gem_prime_import_sg_table,
 
index 62c3c13..7e9431c 100644 (file)
@@ -474,8 +474,6 @@ DEFINE_DRM_GEM_FOPS(xen_drm_dev_fops);
 static const struct drm_driver xen_drm_driver = {
        .driver_features           = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
        .release                   = xen_drm_drv_release,
-       .prime_handle_to_fd        = drm_gem_prime_handle_to_fd,
-       .prime_fd_to_handle        = drm_gem_prime_fd_to_handle,
        .gem_prime_import_sg_table = xen_drm_front_gem_import_sg_table,
        .dumb_create               = xen_drm_drv_dumb_create,
        .fops                      = &xen_drm_dev_fops,
index 61da596..a827bde 100644 (file)
@@ -166,9 +166,7 @@ drm_gem_dma_prime_import_sg_table(struct drm_device *dev,
  * DRM_GEM_DMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE() instead.
  */
 #define DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE(dumb_create_func) \
-       .dumb_create            = (dumb_create_func), \
-       .prime_handle_to_fd     = drm_gem_prime_handle_to_fd, \
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle, \
+       .dumb_create               = (dumb_create_func), \
        .gem_prime_import_sg_table = drm_gem_dma_prime_import_sg_table
 
 /**
@@ -203,9 +201,7 @@ drm_gem_dma_prime_import_sg_table(struct drm_device *dev,
  * DRM_GEM_DMA_DRIVER_OPS_WITH_DUMB_CREATE() instead.
  */
 #define DRM_GEM_DMA_DRIVER_OPS_VMAP_WITH_DUMB_CREATE(dumb_create_func) \
-       .dumb_create            = dumb_create_func, \
-       .prime_handle_to_fd     = drm_gem_prime_handle_to_fd, \
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle, \
+       .dumb_create               = (dumb_create_func), \
        .gem_prime_import_sg_table = drm_gem_dma_prime_import_sg_table_vmap
 
 /**
index 2867d2a..bf0c31a 100644 (file)
@@ -278,9 +278,7 @@ int drm_gem_shmem_dumb_create(struct drm_file *file, struct drm_device *dev,
  * the &drm_driver structure.
  */
 #define DRM_GEM_SHMEM_DRIVER_OPS \
-       .prime_handle_to_fd     = drm_gem_prime_handle_to_fd, \
-       .prime_fd_to_handle     = drm_gem_prime_fd_to_handle, \
        .gem_prime_import_sg_table = drm_gem_shmem_prime_import_sg_table, \
-       .dumb_create            = drm_gem_shmem_dumb_create
+       .dumb_create               = drm_gem_shmem_dumb_create
 
 #endif /* __DRM_GEM_SHMEM_HELPER_H__ */
index 6b265cb..e18429f 100644 (file)
@@ -157,11 +157,9 @@ void drm_gem_vram_simple_display_pipe_cleanup_fb(
  * &struct drm_driver with default functions.
  */
 #define DRM_GEM_VRAM_DRIVER \
-       .debugfs_init             = drm_vram_mm_debugfs_init, \
-       .dumb_create              = drm_gem_vram_driver_dumb_create, \
-       .dumb_map_offset          = drm_gem_ttm_dumb_map_offset, \
-       .prime_handle_to_fd       = drm_gem_prime_handle_to_fd, \
-       .prime_fd_to_handle       = drm_gem_prime_fd_to_handle
+       .debugfs_init    = drm_vram_mm_debugfs_init, \
+       .dumb_create     = drm_gem_vram_driver_dumb_create, \
+       .dumb_map_offset = drm_gem_ttm_dumb_map_offset
 
 /*
  *  VRAM memory manager