[PATCH 00/13] Re-design doorbell framework for usermode queues

Shashank Sharma shashank.sharma at amd.com
Fri Feb 3 19:08:17 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.
- Rename, move and re-arrange some existing structures to differentiate
  between doorbell handling and VRAM handling.

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: 
https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/286

Alex Deucher (11):
  drm/amdgpu: add UAPI for allocating doorbell memory
  drm/amdgpu: rename vram_mgr functions to bar_mgr
  drm/amdgpu: rename amdgpu_vram_mgr.c/h to amdgpu_bar_mgr.c/h
  drm/amdgpu: replace aper_base_kaddr with vram_aper_base_kaddr
  drm/amdgpu: add doorbell support to amdgpu_bar_mgr
  drm/amdgpu: rename gmc.aper_base/size
  drm/amdgpu: store doorbell info in gmc structure
  drm/amdgpu: move doorbell ptr into mman structure
  drm/amdgpu: accommodate DOMAIN/PL_DOORBELL
  drm/amdgpu: doorbell support in get_memory functions
  drm/amdgpu: introduce doorbell bo in kernel

Shashank Sharma (2):
  drm/amdgpu: initialize doorbell memory pool
  drm/amdgpu: add domain info in bo_create_kernel_at

 drivers/gpu/drm/amd/amdgpu/Makefile           |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu.h           |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c    |  13 +-
 .../{amdgpu_vram_mgr.c => amdgpu_bar_mgr.c}   | 300 +++++++++++-------
 .../{amdgpu_vram_mgr.h => amdgpu_bar_mgr.h}   |  19 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c        |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c    |  68 ++--
 drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c   |   9 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_doorbell.h  |   8 -
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c       |   4 +-
 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       |  11 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c       |   4 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c       |   2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.c    |  53 +++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_object.h    |   5 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c       |   4 +-
 .../gpu/drm/amd/amdgpu/amdgpu_res_cursor.h    |  16 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c       |  71 ++++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h       |  50 +--
 drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c      |   3 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c        |  15 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h        |   3 +-
 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 +-
 41 files changed, 482 insertions(+), 303 deletions(-)
 rename drivers/gpu/drm/amd/amdgpu/{amdgpu_vram_mgr.c => amdgpu_bar_mgr.c} (70%)
 rename drivers/gpu/drm/amd/amdgpu/{amdgpu_vram_mgr.h => amdgpu_bar_mgr.h} (79%)

-- 
2.34.1



More information about the amd-gfx mailing list