[PATCH 0/3] Allocate and map doorbell based on requests

Saleemkhan Jamadar saleemkhan.jamadar at amd.com
Mon Jan 6 16:45:27 UTC 2025


Hi,

Why:
The current implementation of doorbell mapping does not handle the
IP specific doorbell size and offset range. Multiple doorbell
allocation when requested cannot be allocated due hard use of
"struct amdgpu_usermode_queue" parameters. But these parameters vary
for each request of doorbell mapping. For example VCN needs to allocate
AGDB(Aggregate doorbell) and per instance doorbell. Parameters db_handle
buffer allocated in userspace)and db_offset vary with respect to VCN AGDB
and per instance doorbell. When compared to GFX apart from above two
parameters db_size is also different.

How:
Introduce another structure to locally populate the varying parameters.
Modify the the door mapping api to use these structure parameters to
get db_size and offset range based on the queue type.

Regards,
Saleem

Saleemkhan Jamadar (3):
  drm/amdgpu: add stucture to populate dorrbell info
  drm/amdgpu: map doorbell for the requested userq
  drm/amdgpu: add doorbell size and offset range for VCN and VPE

 drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c | 42 ++++++++++++++-----
 .../gpu/drm/amd/include/amdgpu_userqueue.h    | 12 ++++++
 2 files changed, 43 insertions(+), 11 deletions(-)

-- 
2.34.1



More information about the amd-gfx mailing list