Add an optional per-IP callback that maps a user queue's doorbell index
to its HW slot (instance, queue_id). It is needed to reset a hung SDMA
user queue over MMIO, since struct amdgpu_usermode_queue does not store
its HW slot.

Signed-off-by: Jesse Zhang <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h
index 671cfbb67b7a..659836c2c377 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.h
@@ -59,6 +59,8 @@ struct amdgpu_sdma_funcs {
        int (*stop_kernel_queue)(struct amdgpu_ring *ring);
        int (*start_kernel_queue)(struct amdgpu_ring *ring);
        int (*soft_reset_kernel_queue)(struct amdgpu_device *adev, u32 
instance_id);
+       bool (*detect_hung_queue)(struct amdgpu_device *adev, u32 
doorbell_index,
+                                 u32 *instance_id, u32 *queue_id);
 };
 
 struct amdgpu_sdma_instance {
-- 
2.49.0

Reply via email to