AMD-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] Re-design doorbell framework for usermode queues
@ 2023-02-03 19:08 Shashank Sharma
  2023-02-03 19:08 ` [PATCH 01/13] drm/amdgpu: add UAPI for allocating doorbell memory Shashank Sharma
                   ` (18 more replies)
  0 siblings, 19 replies; 40+ messages in thread
From: Shashank Sharma @ 2023-02-03 19:08 UTC (permalink / raw)
  To: amd-gfx
  Cc: alexander.deucher, Shashank Sharma, christian.koenig,
	shashank.sharma

From: Shashank Sharma <contactshashanksharma@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


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

end of thread, other threads:[~2023-02-06 17:19 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-03 19:08 [PATCH 00/13] Re-design doorbell framework for usermode queues Shashank Sharma
2023-02-03 19:08 ` [PATCH 01/13] drm/amdgpu: add UAPI for allocating doorbell memory Shashank Sharma
2023-02-06 11:19   ` Christian König
2023-02-06 15:31     ` Shashank Sharma
2023-02-03 19:08 ` [PATCH 02/13] drm/amdgpu: rename vram_mgr functions to bar_mgr Shashank Sharma
2023-02-06 11:20   ` Christian König
2023-02-06 15:34     ` Shashank Sharma
2023-02-06 16:03       ` Christian König
2023-02-06 16:17     ` Alex Deucher
2023-02-03 19:08 ` [PATCH 03/13] drm/amdgpu: rename amdgpu_vram_mgr.c/h to amdgpu_bar_mgr.c/h Shashank Sharma
2023-02-03 19:08 ` [PATCH 04/13] drm/amdgpu: replace aper_base_kaddr with vram_aper_base_kaddr Shashank Sharma
2023-02-06 11:21   ` Christian König
2023-02-03 19:08 ` [PATCH 05/13] drm/amdgpu: add doorbell support to amdgpu_bar_mgr Shashank Sharma
2023-02-03 19:08 ` [PATCH 06/13] drm/amdgpu: rename gmc.aper_base/size Shashank Sharma
2023-02-06 11:22   ` Christian König
2023-02-03 19:08 ` [PATCH 07/13] drm/amdgpu: store doorbell info in gmc structure Shashank Sharma
2023-02-06 11:23   ` Christian König
2023-02-03 19:08 ` [PATCH 08/13] drm/amdgpu: move doorbell ptr into mman structure Shashank Sharma
2023-02-06 11:24   ` Christian König
2023-02-03 19:08 ` [PATCH 09/13] drm/amdgpu: accommodate DOMAIN/PL_DOORBELL Shashank Sharma
2023-02-06 11:30   ` Christian König
2023-02-06 16:30     ` Alex Deucher
2023-02-03 19:08 ` [PATCH 09/14] drm/amdgpu: move doorbell aperture handling into ttm_init Shashank Sharma
2023-02-06 16:20   ` Christian König
2023-02-03 19:08 ` [PATCH 10/14] drm/amdgpu: accommodate DOMAIN/PL_DOORBELL Shashank Sharma
2023-02-03 19:08 ` [PATCH 10/13] drm/amdgpu: doorbell support in get_memory functions Shashank Sharma
2023-02-06 16:30   ` Christian König
2023-02-03 19:08 ` [PATCH 11/14] " Shashank Sharma
2023-02-03 19:08 ` [PATCH 11/13] drm/amdgpu: initialize doorbell memory pool Shashank Sharma
2023-02-03 19:08 ` [PATCH 12/13] drm/amdgpu: add domain info in bo_create_kernel_at Shashank Sharma
2023-02-06 16:51   ` Christian König
2023-02-06 17:01     ` Alex Deucher
2023-02-06 17:03       ` Christian König
2023-02-03 19:08 ` [PATCH 12/14] drm/amdgpu: initialize doorbell memory pool Shashank Sharma
2023-02-06 16:54   ` Christian König
2023-02-03 19:08 ` [PATCH 13/14] drm/amdgpu: add domain info in bo_create_kernel_at Shashank Sharma
2023-02-03 19:08 ` [PATCH 13/13] drm/amdgpu: introduce doorbell bo in kernel Shashank Sharma
2023-02-03 19:08 ` [PATCH 14/14] " Shashank Sharma
2023-02-06 16:57   ` Christian König
2023-02-06 17:19     ` Shashank Sharma

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox