[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