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 (2): 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 | 49 ++++++++++++++----- .../gpu/drm/amd/include/amdgpu_userqueue.h | 12 +++++ 2 files changed, 50 insertions(+), 11 deletions(-) -- 2.34.1