From: Jack Xiao <[email protected]>

Remove the mes ring and its resources.

Signed-off-by: Jack Xiao <[email protected]>
Acked-by: Christian König <[email protected]>
Reviewed-by: Hawking Zhang <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 11 +++++++++++
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h |  2 ++
 2 files changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
index 827391fcb2a3..fa43a7e3c9ab 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
@@ -846,3 +846,14 @@ int amdgpu_mes_add_ring(struct amdgpu_device *adev, int 
gang_id,
        mutex_unlock(&adev->mes.mutex);
        return r;
 }
+
+void amdgpu_mes_remove_ring(struct amdgpu_device *adev,
+                           struct amdgpu_ring *ring)
+{
+       if (!ring)
+               return;
+
+       amdgpu_mes_remove_hw_queue(adev, ring->hw_queue_id);
+       amdgpu_ring_fini(ring);
+       kfree(ring);
+}
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
index 1fe5c869f37e..37232b396b06 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
@@ -258,5 +258,7 @@ int amdgpu_mes_add_ring(struct amdgpu_device *adev, int 
gang_id,
                        int queue_type, int idx,
                        struct amdgpu_mes_ctx_data *ctx_data,
                        struct amdgpu_ring **out);
+void amdgpu_mes_remove_ring(struct amdgpu_device *adev,
+                           struct amdgpu_ring *ring);
 
 #endif /* __AMDGPU_MES_H__ */
-- 
2.35.1

Reply via email to