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 9f2b9fdcc54984c8b41ca7889eecd825721b7a4b..5167a65cf7bbc0aeb40b54c7ecb99390db679de9 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 b5ba550a0c0400e03d3875bcbc5095c73582c06d..b5de82e6eb4d56a41b1acabe03a95413522ba3d3 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 07e16ad465d06b1de9eeebc6f30dd64e8157e639..56dc69bc8b89a5707c0f58d014c285c35cb1089a 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 e120144d4b470c33971994442b6bb2e6716d28b9..e8d2fe955909ab2feaf9d2f5cba8132cfcc9fa93 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 7b48e0b0284a38a9bae4aa52fde8f0ff94665e59..834a5e28abbe5959cc6da2933904c4feb4c7b00d 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 00223a87490922f17e7a5a4d9f543a8984edb3d2..ea55f6b7b744a755d421fbd471e914f49346bb14 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 c9e3c88fb329ccc50157be1305a58f95c5407eb0..8399256cb5c9d78b474cf3a7771d2c477160e10c 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 75cbc43b326dd00f4217695b5d6ebf03aa33b237..171f4db9e5e31be638830d5a5c2a30b7525d48c9 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 65c31dc38049aca69a57c091728cfcddca789f5f..3dd078f443bb5692ddf32b9a257563d05145a931 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 5693bb8d29ce44e88ed791cb870a3f81020bafd1..7fb65eb95c559903b89533d6811c3af5081e2225 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 47efa3c4492c4b1a6bb186cd2caad09d8c35be29..2a0e3529598b698456eb51762f3da480f04695ed 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 51f1918b44d36d62448b82aa01961879a885f192..ca3bb8075357ba975a39ae4784407d0ab2e482e6 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 671d26b9d339ef106a93494dec389a113c231610..e2697fe80e62b345716b61931027388ac53ef8a4 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 598ad1dbe6e16818b7f72b950e5805f823398666..49b51f0db9b40b8148c583cd139899775188c2a6 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 c4b8357ea999616054fdd36b25648a26d0831892..ba3b5b5f0cdfe4267aef8c48efe3f0e64e1e8072 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 a3b83f89e0616e2b16d1651736e580bd68f84174..b30ede1cf62d329389c2becc03836b9856082e4f 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 cf1b960c4200c9906dff32a790582a39bacc47db..39cdede460b51c5e0f704a804a2d7d89f2d23f77 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 4280ff5fa91f276a49ffff530f6fe419e0070fad..a4f3615f3291d762f4d15ec878de800091dcd3e8 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 b8cf89f0cc56615cd5250eb0456400f2de1c5588..e35be6ea284964d1ff5e3ee0afdf87103c6891ef 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 35ff303c6674f19968fe46e96813b23086f1a85a..ff36171c8fb700bae9967961220ea7cbb262d193 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 845a36e36450d51d4f3ffdd5eca4ac330f432ae7..ffbbe9d527d324fca46f63656b12d0684fcd64bd 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 91ace7a44f2a62b76049e46ec9d970f22842146a..a7ec5a3770da67648007a9c303153b47a235e6ff 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 62c3c13b3a1750c77fbb4cac3c2cbb60b8010860..7e9431c50c5a26ecb0b401eef6eabde11a685966 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 61da596780b643fcd4366b5cff59a494f61c6bb5..a827bde494f610fe9afa03229cd5001f852a01e8 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 2867d2aba88b99abb0eaafdea5aa5e0df5c804a6..bf0c31aa8fbe4f01be1660565c8190eb11c3fbb7 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 6b265cb9f45a47a2b9082a1043bc4a141be19d94..e18429f09e5373f921bd3e7309b4b21f0c9ec251 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