[PATCH v2 0/8] Re-design doorbell framework for usermode queues

Shashank Sharma shashank.sharma at amd.com
Tue Feb 14 16:15:02 UTC 2023


From: Shashank Sharma <contactshashanksharma at gmail.com>

This patch series re-designs the current doorbell handling of the AMDGPU
driver and prepares it for Usermode queues. The fundamental changes are:

- Introduce and accommodate a new GEM domain for doorbells.
- Prepare the AMDGPU ttm backend for handling doorbell memory.
- Create a doorbell BO for kernel-level doorbell opertations.
- Rename, move and re-arrange some existing structures.

The idea is that a usermode app can directly allocate a page from
the doorbell bar and use it's offsets for different usermode queues.

Corresponding libdrm changes (just addition of this new flag):
https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/286

Alex Deucher (6):
  drm/amdgpu: add UAPI for allocating doorbell memory
  drm/amdgpu: replace aper_base_kaddr with vram_aper_base_kaddr
  drm/amdgpu: rename gmc.aper_base/size
  drm/amdgpu: rename doorbell variables
  drm/amdgpu: accommodate DOMAIN/PL_DOORBELL
  drm/amdgpu: get doorbell memory

Shashank Sharma (2):
  drm/amdgpu: create doorbell kernel object
  drm/amdgpu: start using kernel doorbell bo

 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c   | 13 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c   | 67 +++++++++-----------
 drivers/gpu/drm/amd/amdgpu/amdgpu_doorbell.h |  6 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_fdinfo.c   |  4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c      |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.h      |  4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c      |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c   | 32 +++++++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h   |  3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c      | 51 ++++++++++++---
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h      | 11 +++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c       | 15 +++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h       |  3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c |  2 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c        |  2 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c       | 10 +--
 drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c       | 10 +--
 drivers/gpu/drm/amd/amdgpu/gmc_v6_0.c        |  6 +-
 drivers/gpu/drm/amd/amdgpu/gmc_v7_0.c        | 12 ++--
 drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c        | 10 +--
 drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c        | 10 +--
 drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c       |  4 +-
 drivers/gpu/drm/amd/amdgpu/nbio_v4_3.c       |  4 +-
 drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c       |  4 +-
 drivers/gpu/drm/amd/amdgpu/nbio_v7_2.c       |  4 +-
 drivers/gpu/drm/amd/amdgpu/nbio_v7_4.c       |  4 +-
 drivers/gpu/drm/amd/amdgpu/nbio_v7_7.c       |  4 +-
 drivers/gpu/drm/amd/amdgpu/psp_v11_0.c       | 10 +--
 drivers/gpu/drm/amd/amdgpu/psp_v13_0.c       | 10 +--
 drivers/gpu/drm/amd/amdkfd/kfd_migrate.c     |  4 +-
 include/uapi/drm/amdgpu_drm.h                |  7 +-
 31 files changed, 193 insertions(+), 137 deletions(-)

-- 
2.34.1



More information about the amd-gfx mailing list