All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/36] drm: Fareless gem_free_object
@ 2020-05-07 15:07 Emil Velikov
  2020-05-07 15:07 ` [PATCH 01/36] drm: remove unused drm_gem.h include Emil Velikov
                   ` (36 more replies)
  0 siblings, 37 replies; 83+ messages in thread
From: Emil Velikov @ 2020-05-07 15:07 UTC (permalink / raw)
  To: dri-devel; +Cc: emil.l.velikov

Hi all,

Recently I had a look at the new dmabuf AMDGPU implementation.

Seemingly it was using the wrong drm_gem_object_put API. Namely the
locked one, even though the driver is struct_mutex free.

Upon checking with the documentation, I've noticed it's a bit misleading
so I've went ahead and:

 - tweaked the drm_gem_object_put/struct_mutex references in the docs
 - fixed up the AMDGPU caller
 - removed the gem_free_object driver hook - \o/
 - fold drm_gem_object_put_unlocked and __drm_gem_object_put
 - drm_gem_object_put - add _locked suffix
 - drm_gem_object_put_unlocked - remove _unlocked suffix

Although the rename patches are a handful, it does make sense to have a
consistent and obviously named API.

Input and reviews are highly appreciated.
Emil

Cc: Daniel Vetter <daniel@ffwll.ch>

Emil Velikov (36):
  drm: remove unused drm_gem.h include
  drm/gem: use _unlocked reference in drm_gem_objects_lookup docs
  drm/todo: mention i915 in the struct_mutex section
  drm/doc: drop struct_mutex references
  drm/doc: drop struct_mutex refernce for drm_gem_object_free
  drm/amdgpu: use the unlocked drm_gem_object_put
  drm/gma500: Use lockless gem BO free callback
  drm: remove drm_driver::gem_free_object
  drm/gem: fold drm_gem_object_put_unlocked and __drm_gem_object_put()
  drm/gem: add _locked suffix to drm_object_put
  drm/gem: add drm_object_put helper
  drm/amd: remove _unlocked suffix in drm_object_put_unlocked
  drm/arm: remove _unlocked suffix in drm_object_put_unlocked
  drm/armada: remove _unlocked suffix in drm_object_put_unlocked
  drm/etnaviv: remove _unlocked suffix in drm_object_put_unlocked
  drm/exynos: remove _unlocked suffix in drm_object_put_unlocked
  drm/gma500: remove _unlocked suffix in drm_object_put_unlocked
  drm/i915: remove _unlocked suffix in drm_object_put_unlocked
  drm/lima: remove _unlocked suffix in drm_object_put_unlocked
  drm/mediatek: remove _unlocked suffix in drm_object_put_unlocked
  drm/mgag200: remove _unlocked suffix in drm_object_put_unlocked
  drm/msm: remove _unlocked suffix in drm_object_put_unlocked
  drm/nouveau: remove _unlocked suffix in drm_object_put_unlocked
  drm/omapdrm: remove _unlocked suffix in drm_object_put_unlocked
  drm/panfrost: remove _unlocked suffix in drm_object_put_unlocked
  drm/qxl: remove _unlocked suffix in drm_object_put_unlocked
  drm/radeon: remove _unlocked suffix in drm_object_put_unlocked
  drm/rockchip: remove _unlocked suffix in drm_object_put_unlocked
  drm/tegra: remove _unlocked suffix in drm_object_put_unlocked
  drm/v3d: remove _unlocked suffix in drm_object_put_unlocked
  drm/vc4: remove _unlocked suffix in drm_object_put_unlocked
  drm/vgem: remove _unlocked suffix in drm_object_put_unlocked
  drm/virtio: remove _unlocked suffix in drm_object_put_unlocked
  drm/vkms: remove _unlocked suffix in drm_object_put_unlocked
  drm/xen: remove _unlocked suffix in drm_object_put_unlocked
  drm/gem: remove _unlocked suffix in drm_object_put_unlocked

 Documentation/gpu/drm-mm.rst                  |  5 +-
 Documentation/gpu/todo.rst                    |  4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c   |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c        |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c   |  4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fb.c        |  4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c       | 20 +++---
 drivers/gpu/drm/amd/amdgpu/dce_v10_0.c        |  6 +-
 drivers/gpu/drm/amd/amdgpu/dce_v11_0.c        |  6 +-
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c         |  6 +-
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c         |  6 +-
 .../arm/display/komeda/komeda_framebuffer.c   |  6 +-
 drivers/gpu/drm/arm/malidp_drv.c              |  4 +-
 drivers/gpu/drm/armada/armada_crtc.c          |  8 +--
 drivers/gpu/drm/armada/armada_fb.c            |  4 +-
 drivers/gpu/drm/armada/armada_fbdev.c         |  6 +-
 drivers/gpu/drm/armada/armada_gem.c           | 10 +--
 drivers/gpu/drm/drm_client.c                  |  2 +-
 drivers/gpu/drm/drm_gem.c                     | 70 +++++--------------
 drivers/gpu/drm/drm_gem_cma_helper.c          |  8 +--
 drivers/gpu/drm/drm_gem_framebuffer_helper.c  |  6 +-
 drivers/gpu/drm/drm_gem_shmem_helper.c        |  4 +-
 drivers/gpu/drm/drm_gem_ttm_helper.c          |  2 +-
 drivers/gpu/drm/drm_gem_vram_helper.c         | 10 +--
 drivers/gpu/drm/drm_prime.c                   |  6 +-
 drivers/gpu/drm/drm_vm.c                      |  1 -
 drivers/gpu/drm/etnaviv/etnaviv_drv.c         |  8 +--
 drivers/gpu/drm/etnaviv/etnaviv_gem.c         |  6 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem_prime.c   |  2 +-
 drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c  |  2 +-
 drivers/gpu/drm/exynos/exynos_drm_gem.c       |  4 +-
 drivers/gpu/drm/exynos/exynos_drm_gem.h       |  2 +-
 drivers/gpu/drm/gma500/framebuffer.c          |  2 +-
 drivers/gpu/drm/gma500/gem.c                  |  2 +-
 drivers/gpu/drm/gma500/gma_display.c          |  6 +-
 drivers/gpu/drm/gma500/psb_drv.c              |  2 +-
 drivers/gpu/drm/i915/gem/i915_gem_object.h    |  2 +-
 drivers/gpu/drm/lima/lima_gem.c               | 10 +--
 drivers/gpu/drm/lima/lima_sched.c             |  2 +-
 drivers/gpu/drm/mediatek/mtk_drm_gem.c        |  2 +-
 drivers/gpu/drm/mgag200/mgag200_cursor.c      |  8 +--
 drivers/gpu/drm/msm/adreno/a5xx_debugfs.c     |  4 +-
 drivers/gpu/drm/msm/adreno/a5xx_gpu.c         |  6 +-
 drivers/gpu/drm/msm/adreno/a6xx_gpu.c         |  2 +-
 drivers/gpu/drm/msm/disp/mdp4/mdp4_crtc.c     |  4 +-
 drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c      |  2 +-
 drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c     |  2 +-
 drivers/gpu/drm/msm/dsi/dsi_host.c            |  2 +-
 drivers/gpu/drm/msm/msm_drv.c                 |  8 +--
 drivers/gpu/drm/msm/msm_fb.c                  |  4 +-
 drivers/gpu/drm/msm/msm_gem.c                 | 18 ++---
 drivers/gpu/drm/msm/msm_gem_submit.c          |  2 +-
 drivers/gpu/drm/msm/msm_gpu.c                 |  2 +-
 drivers/gpu/drm/nouveau/dispnv04/crtc.c       |  2 +-
 drivers/gpu/drm/nouveau/nouveau_abi16.c       |  2 +-
 drivers/gpu/drm/nouveau/nouveau_display.c     |  8 +--
 drivers/gpu/drm/nouveau/nouveau_gem.c         | 14 ++--
 drivers/gpu/drm/omapdrm/omap_drv.c            |  2 +-
 drivers/gpu/drm/omapdrm/omap_fb.c             |  2 +-
 drivers/gpu/drm/omapdrm/omap_fbdev.c          |  2 +-
 drivers/gpu/drm/omapdrm/omap_gem.c            |  4 +-
 drivers/gpu/drm/panfrost/panfrost_drv.c       | 10 +--
 drivers/gpu/drm/panfrost/panfrost_gem.c       |  4 +-
 drivers/gpu/drm/panfrost/panfrost_job.c       |  2 +-
 drivers/gpu/drm/panfrost/panfrost_mmu.c       |  2 +-
 drivers/gpu/drm/panfrost/panfrost_perfcnt.c   |  4 +-
 drivers/gpu/drm/qxl/qxl_cmd.c                 |  2 +-
 drivers/gpu/drm/qxl/qxl_display.c             |  6 +-
 drivers/gpu/drm/qxl/qxl_dumb.c                |  2 +-
 drivers/gpu/drm/qxl/qxl_gem.c                 |  2 +-
 drivers/gpu/drm/qxl/qxl_ioctl.c               |  4 +-
 drivers/gpu/drm/qxl/qxl_object.c              |  4 +-
 drivers/gpu/drm/radeon/radeon_cs.c            |  2 +-
 drivers/gpu/drm/radeon/radeon_cursor.c        |  6 +-
 drivers/gpu/drm/radeon/radeon_display.c       |  8 +--
 drivers/gpu/drm/radeon/radeon_fb.c            |  4 +-
 drivers/gpu/drm/radeon/radeon_gem.c           | 30 ++++----
 drivers/gpu/drm/radeon/radeon_object.c        |  2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_fb.c    |  2 +-
 drivers/gpu/drm/rockchip/rockchip_drm_gem.c   |  2 +-
 drivers/gpu/drm/tegra/drm.c                   | 12 ++--
 drivers/gpu/drm/tegra/fb.c                    |  6 +-
 drivers/gpu/drm/tegra/gem.c                   |  4 +-
 drivers/gpu/drm/v3d/v3d_bo.c                  |  6 +-
 drivers/gpu/drm/v3d/v3d_gem.c                 |  4 +-
 drivers/gpu/drm/v3d/v3d_irq.c                 |  2 +-
 drivers/gpu/drm/vc4/vc4_bo.c                  | 14 ++--
 drivers/gpu/drm/vc4/vc4_gem.c                 | 14 ++--
 drivers/gpu/drm/vc4/vc4_kms.c                 |  2 +-
 drivers/gpu/drm/vc4/vc4_v3d.c                 |  4 +-
 drivers/gpu/drm/vgem/vgem_drv.c               |  6 +-
 drivers/gpu/drm/vgem/vgem_fence.c             |  2 +-
 drivers/gpu/drm/virtio/virtgpu_display.c      |  2 +-
 drivers/gpu/drm/virtio/virtgpu_gem.c          |  6 +-
 drivers/gpu/drm/virtio/virtgpu_ioctl.c        |  6 +-
 drivers/gpu/drm/vkms/vkms_gem.c               |  2 +-
 drivers/gpu/drm/xen/xen_drm_front.c           |  4 +-
 include/drm/drm_drv.h                         |  8 ---
 include/drm/drm_gem.h                         | 28 +++-----
 99 files changed, 269 insertions(+), 325 deletions(-)

-- 
2.25.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

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

end of thread, other threads:[~2020-05-14 15:23 UTC | newest]

Thread overview: 83+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-07 15:07 [PATCH 00/36] drm: Fareless gem_free_object Emil Velikov
2020-05-07 15:07 ` [PATCH 01/36] drm: remove unused drm_gem.h include Emil Velikov
2020-05-07 15:30   ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 02/36] drm/gem: use _unlocked reference in drm_gem_objects_lookup docs Emil Velikov
2020-05-07 17:58   ` Sam Ravnborg
2020-05-07 15:07 ` [PATCH 03/36] drm/todo: mention i915 in the struct_mutex section Emil Velikov
2020-05-08  6:26   ` Daniel Vetter
2020-05-08 14:45   ` Ruhl, Michael J
2020-05-07 15:07 ` [PATCH 04/36] drm/doc: drop struct_mutex references Emil Velikov
2020-05-07 18:01   ` Sam Ravnborg
2020-05-08 10:01     ` Emil Velikov
2020-05-08 11:08       ` Sam Ravnborg
2020-05-08  6:27   ` Daniel Vetter
2020-05-08 10:07     ` Emil Velikov
2020-05-08 10:45       ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 05/36] drm/doc: drop struct_mutex refernce for drm_gem_object_free Emil Velikov
2020-05-08  6:31   ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 06/36] drm/amdgpu: use the unlocked drm_gem_object_put Emil Velikov
2020-05-07 15:07   ` Emil Velikov
2020-05-07 18:03   ` Sam Ravnborg
2020-05-07 18:03     ` Sam Ravnborg
2020-05-08  8:16     ` Christian König
2020-05-08  8:16       ` Christian König
2020-05-08  9:55       ` Emil Velikov
2020-05-08  9:55         ` Emil Velikov
2020-05-08 11:09         ` Sam Ravnborg
2020-05-08 11:09           ` Sam Ravnborg
2020-05-08  8:13   ` Christian König
2020-05-08  8:13     ` Christian König
2020-05-07 15:07 ` [PATCH 07/36] drm/gma500: Use lockless gem BO free callback Emil Velikov
2020-05-07 17:16   ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 08/36] drm: remove drm_driver::gem_free_object Emil Velikov
2020-05-07 17:20   ` Thomas Zimmermann
2020-05-07 15:07 ` [PATCH 09/36] drm/gem: fold drm_gem_object_put_unlocked and __drm_gem_object_put() Emil Velikov
2020-05-08  6:43   ` Daniel Vetter
2020-05-08 10:52     ` Emil Velikov
2020-05-07 15:07 ` [PATCH 10/36] drm/gem: add _locked suffix to drm_object_put Emil Velikov
2020-05-07 15:07   ` Emil Velikov
2020-05-08  6:40   ` Daniel Vetter
2020-05-08  6:40     ` Daniel Vetter
2020-05-08 11:00     ` Emil Velikov
2020-05-08 11:00       ` Emil Velikov
2020-05-08 11:25       ` Daniel Vetter
2020-05-08 11:25         ` Daniel Vetter
2020-05-07 15:07 ` [PATCH 11/36] drm/gem: add drm_object_put helper Emil Velikov
2020-05-08  6:33   ` Jani Nikula
2020-05-08 10:16     ` Emil Velikov
2020-05-07 15:07 ` [PATCH 12/36] drm/amd: remove _unlocked suffix in drm_object_put_unlocked Emil Velikov
2020-05-08  9:23   ` Christian König
2020-05-08 10:45     ` Emil Velikov
2020-05-07 15:07 ` [PATCH 13/36] drm/arm: " Emil Velikov
2020-05-14 15:23   ` Liviu Dudau
2020-05-07 15:08 ` [PATCH 14/36] drm/armada: " Emil Velikov
2020-05-07 15:08 ` [PATCH 15/36] drm/etnaviv: " Emil Velikov
2020-05-07 15:08 ` [PATCH 16/36] drm/exynos: " Emil Velikov
2020-05-07 15:08 ` [PATCH 17/36] drm/gma500: " Emil Velikov
2020-05-07 15:08 ` [PATCH 18/36] drm/i915: " Emil Velikov
2020-05-07 15:08 ` [PATCH 19/36] drm/lima: " Emil Velikov
2020-05-07 15:08 ` [PATCH 20/36] drm/mediatek: " Emil Velikov
2020-05-09 13:45   ` Chun-Kuang Hu
2020-05-07 15:08 ` [PATCH 21/36] drm/mgag200: " Emil Velikov
2020-05-08  6:30   ` Thomas Zimmermann
2020-05-07 15:08 ` [PATCH 22/36] drm/msm: " Emil Velikov
2020-05-07 15:08 ` [PATCH 23/36] drm/nouveau: " Emil Velikov
2020-05-07 15:08 ` [PATCH 24/36] drm/omapdrm: " Emil Velikov
2020-05-07 15:08 ` [PATCH 25/36] drm/panfrost: " Emil Velikov
2020-05-07 15:08 ` [PATCH 26/36] drm/qxl: " Emil Velikov
2020-05-07 15:08 ` [PATCH 27/36] drm/radeon: " Emil Velikov
2020-05-07 15:08 ` [PATCH 28/36] drm/rockchip: " Emil Velikov
2020-05-07 15:08 ` [PATCH 29/36] drm/tegra: " Emil Velikov
2020-05-07 15:08 ` [PATCH 30/36] drm/v3d: " Emil Velikov
2020-05-07 15:08 ` [PATCH 31/36] drm/vc4: " Emil Velikov
2020-05-07 15:08 ` [PATCH 32/36] drm/vgem: " Emil Velikov
2020-05-07 15:08 ` [PATCH 33/36] drm/virtio: " Emil Velikov
2020-05-07 15:08 ` [PATCH 34/36] drm/vkms: " Emil Velikov
2020-05-07 15:08 ` [PATCH 35/36] drm/xen: " Emil Velikov
2020-05-07 15:08 ` [PATCH 36/36] drm/gem: " Emil Velikov
2020-05-07 18:14   ` Sam Ravnborg
2020-05-08 10:15     ` Emil Velikov
2020-05-08 11:02       ` Sam Ravnborg
2020-05-08  6:38   ` Thomas Zimmermann
2020-05-07 18:17 ` [PATCH 00/36] drm: Fareless gem_free_object Sam Ravnborg
2020-05-08 10:35   ` Emil Velikov

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.