From: Jiadong Zhu <jiadong....@amd.com>

Add me/pipe/queue parameters for queue reset input.

v2: fix build (Alex)

Signed-off-by: Jiadong Zhu <jiadong....@amd.com>
Reviewed-by: Alex Deucher <alexander.deuc...@amd.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c |  3 ++-
 drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h | 14 +++++++++++++-
 drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c  |  2 +-
 drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c  |  2 +-
 4 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
index b3d6a9fa6775..950c26ee3fb8 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c
@@ -864,7 +864,8 @@ int amdgpu_mes_unmap_legacy_queue(struct amdgpu_device 
*adev,
 
 int amdgpu_mes_reset_legacy_queue(struct amdgpu_device *adev,
                                  struct amdgpu_ring *ring,
-                                 unsigned int vmid)
+                                 unsigned int vmid,
+                                 bool use_mmio)
 {
        struct mes_reset_legacy_queue_input queue_input;
        int r;
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
index 771b63db1846..e6a4ef643967 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h
@@ -251,6 +251,13 @@ struct mes_remove_queue_input {
 struct mes_reset_queue_input {
        uint32_t        doorbell_offset;
        uint64_t        gang_context_addr;
+       bool            use_mmio;
+       uint32_t        queue_type;
+       uint32_t        me_id;
+       uint32_t        pipe_id;
+       uint32_t        queue_id;
+       uint32_t        xcc_id;
+       uint32_t        vmid;
 };
 
 struct mes_map_legacy_queue_input {
@@ -287,6 +294,8 @@ struct mes_resume_gang_input {
 struct mes_reset_legacy_queue_input {
        uint32_t                           queue_type;
        uint32_t                           doorbell_offset;
+       bool                               use_mmio;
+       uint32_t                           me_id;
        uint32_t                           pipe_id;
        uint32_t                           queue_id;
        uint64_t                           mqd_addr;
@@ -396,6 +405,8 @@ int amdgpu_mes_add_hw_queue(struct amdgpu_device *adev, int 
gang_id,
                            int *queue_id);
 int amdgpu_mes_remove_hw_queue(struct amdgpu_device *adev, int queue_id);
 int amdgpu_mes_reset_hw_queue(struct amdgpu_device *adev, int queue_id);
+int amdgpu_mes_reset_hw_queue_mmio(struct amdgpu_device *adev, int queue_type,
+                                  int me_id, int pipe_id, int queue_id, int 
vmid);
 
 int amdgpu_mes_map_legacy_queue(struct amdgpu_device *adev,
                                struct amdgpu_ring *ring);
@@ -405,7 +416,8 @@ int amdgpu_mes_unmap_legacy_queue(struct amdgpu_device 
*adev,
                                  u64 gpu_addr, u64 seq);
 int amdgpu_mes_reset_legacy_queue(struct amdgpu_device *adev,
                                  struct amdgpu_ring *ring,
-                                 unsigned int vmid);
+                                 unsigned int vmid,
+                                 bool use_mmio);
 
 uint32_t amdgpu_mes_rreg(struct amdgpu_device *adev, uint32_t reg);
 int amdgpu_mes_wreg(struct amdgpu_device *adev,
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
index 1b2de8e81ccd..348bc1b1784a 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c
@@ -6525,7 +6525,7 @@ static int gfx_v11_0_reset_kgq(struct amdgpu_ring *ring, 
unsigned int vmid)
        struct amdgpu_device *adev = ring->adev;
        int r;
 
-       r = amdgpu_mes_reset_legacy_queue(ring->adev, ring, vmid);
+       r = amdgpu_mes_reset_legacy_queue(ring->adev, ring, vmid, false);
        if (r)
                return r;
 
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
index c4193fa2fea4..ba121491f5a7 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c
@@ -5140,7 +5140,7 @@ static int gfx_v12_0_reset_kgq(struct amdgpu_ring *ring, 
unsigned int vmid)
        struct amdgpu_device *adev = ring->adev;
        int r;
 
-       r = amdgpu_mes_reset_legacy_queue(ring->adev, ring, vmid);
+       r = amdgpu_mes_reset_legacy_queue(ring->adev, ring, vmid, false);
        if (r) {
                dev_err(adev->dev, "reset via MES failed %d\n", r);
                return r;
-- 
2.45.2

Reply via email to