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