diff options
| author | Jack Xiao <Jack.Xiao@amd.com> | 2024-03-01 17:33:01 +0800 | 
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2024-04-26 17:22:45 -0400 | 
| commit | 029c2b03892bfd7bcf2fc8053ff1641aa73ff58c (patch) | |
| tree | db066e2a2b92c7718c5d2a798c8976a57bcac419 /drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | |
| parent | 9a5f15d2a29d06ce5bd50919da7221cda92afb69 (diff) | |
drm/amdgpu/mes: add mes mapping legacy queue support
Add mes mapping legacy queue framework support.
Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 22 | 
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c index 21d1d508ee10..5ca5c47ab54e 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c @@ -786,6 +786,28 @@ int amdgpu_mes_remove_hw_queue(struct amdgpu_device *adev, int queue_id)  	return 0;  } +int amdgpu_mes_map_legacy_queue(struct amdgpu_device *adev, +				struct amdgpu_ring *ring) +{ +	struct mes_map_legacy_queue_input queue_input; +	int r; + +	memset(&queue_input, 0, sizeof(queue_input)); + +	queue_input.queue_type = ring->funcs->type; +	queue_input.doorbell_offset = ring->doorbell_index; +	queue_input.pipe_id = ring->pipe; +	queue_input.queue_id = ring->queue; +	queue_input.mqd_addr = amdgpu_bo_gpu_offset(ring->mqd_obj); +	queue_input.wptr_addr = ring->wptr_gpu_addr; + +	r = adev->mes.funcs->map_legacy_queue(&adev->mes, &queue_input); +	if (r) +		DRM_ERROR("failed to map legacy queue\n"); + +	return r; +} +  int amdgpu_mes_unmap_legacy_queue(struct amdgpu_device *adev,  				  struct amdgpu_ring *ring,  				  enum amdgpu_unmap_queues_action action,  | 
