mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 15:12:13 +02:00
drm/amdgpu/sdma: handle paging queues in amdgpu_sdma_reset_engine()
Need to properly start and stop paging queues if they are present.
This is not an issue today since we don't support a paging queue
on any chips with queue reset.
Fixes: b22659d5d3 ("drm/amdgpu: switch amdgpu_sdma_reset_engine to use the new sdma function pointers")
Reviewed-by: Jesse Zhang <Jesse.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
4cede0ef2e
commit
9a9e87d152
|
|
@ -571,8 +571,11 @@ int amdgpu_sdma_reset_engine(struct amdgpu_device *adev, uint32_t instance_id)
|
|||
page_sched_stopped = true;
|
||||
}
|
||||
|
||||
if (sdma_instance->funcs->stop_kernel_queue)
|
||||
if (sdma_instance->funcs->stop_kernel_queue) {
|
||||
sdma_instance->funcs->stop_kernel_queue(gfx_ring);
|
||||
if (adev->sdma.has_page_queue)
|
||||
sdma_instance->funcs->stop_kernel_queue(page_ring);
|
||||
}
|
||||
|
||||
/* Perform the SDMA reset for the specified instance */
|
||||
ret = amdgpu_sdma_soft_reset(adev, instance_id);
|
||||
|
|
@ -581,8 +584,11 @@ int amdgpu_sdma_reset_engine(struct amdgpu_device *adev, uint32_t instance_id)
|
|||
goto exit;
|
||||
}
|
||||
|
||||
if (sdma_instance->funcs->start_kernel_queue)
|
||||
if (sdma_instance->funcs->start_kernel_queue) {
|
||||
sdma_instance->funcs->start_kernel_queue(gfx_ring);
|
||||
if (adev->sdma.has_page_queue)
|
||||
sdma_instance->funcs->start_kernel_queue(page_ring);
|
||||
}
|
||||
|
||||
exit:
|
||||
/* Restart the scheduler's work queue for the GFX and page rings
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user