The ring structure already has what we need.

Signed-off-by: Alex Deucher <[email protected]>
---
 drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c 
b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
index a023f27..20d10b2 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
@@ -4667,10 +4667,10 @@ static void gfx_v8_0_map_queue_enable(struct 
amdgpu_ring *kiq_ring,
        udelay(50);
 }
 
-static int gfx_v8_0_mqd_init(struct amdgpu_ring *ring,
-                            struct vi_mqd *mqd)
+static int gfx_v8_0_mqd_init(struct amdgpu_ring *ring)
 {
        struct amdgpu_device *adev = ring->adev;
+       struct vi_mqd *mqd = ring->mqd_ptr;
        uint64_t hqd_gpu_addr, wb_gpu_addr, eop_base_addr;
        uint32_t tmp;
 
@@ -4785,10 +4785,10 @@ static int gfx_v8_0_mqd_init(struct amdgpu_ring *ring,
        return 0;
 }
 
-static int gfx_v8_0_kiq_init_register(struct amdgpu_ring *ring,
-                                     struct vi_mqd *mqd)
+static int gfx_v8_0_kiq_init_register(struct amdgpu_ring *ring)
 {
        struct amdgpu_device *adev = ring->adev;
+       struct vi_mqd *mqd = ring->mqd_ptr;
        uint32_t tmp;
        int j;
 
@@ -4876,11 +4876,11 @@ static int gfx_v8_0_kiq_init_register(struct 
amdgpu_ring *ring,
        return 0;
 }
 
-static int gfx_v8_0_kiq_init_queue(struct amdgpu_ring *ring,
-                                  struct vi_mqd *mqd)
+static int gfx_v8_0_kiq_init_queue(struct amdgpu_ring *ring)
 {
        struct amdgpu_device *adev = ring->adev;
        struct amdgpu_kiq *kiq = &adev->gfx.kiq;
+       struct vi_mqd *mqd = ring->mqd_ptr;
        bool is_kiq = (ring->funcs->type == AMDGPU_RING_TYPE_KIQ);
        int mqd_idx = AMDGPU_MAX_COMPUTE_RINGS;
 
@@ -4894,9 +4894,9 @@ static int gfx_v8_0_kiq_init_queue(struct amdgpu_ring 
*ring,
                memset((void *)mqd, 0, sizeof(*mqd));
                mutex_lock(&adev->srbm_mutex);
                vi_srbm_select(adev, ring->me, ring->pipe, ring->queue, 0);
-               gfx_v8_0_mqd_init(ring, mqd);
+               gfx_v8_0_mqd_init(ring);
                if (is_kiq)
-                       gfx_v8_0_kiq_init_register(ring, mqd);
+                       gfx_v8_0_kiq_init_register(ring);
                vi_srbm_select(adev, 0, 0, 0, 0);
                mutex_unlock(&adev->srbm_mutex);
 
@@ -4914,7 +4914,7 @@ static int gfx_v8_0_kiq_init_queue(struct amdgpu_ring 
*ring,
                if (is_kiq) {
                    mutex_lock(&adev->srbm_mutex);
                    vi_srbm_select(adev, ring->me, ring->pipe, ring->queue, 0);
-                   gfx_v8_0_kiq_init_register(ring, mqd);
+                   gfx_v8_0_kiq_init_register(ring);
                    vi_srbm_select(adev, 0, 0, 0, 0);
                    mutex_unlock(&adev->srbm_mutex);
                }
@@ -4943,8 +4943,7 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev)
 
        r = amdgpu_bo_kmap(ring->mqd_obj, &ring->mqd_ptr);
        if (!r) {
-               r = gfx_v8_0_kiq_init_queue(ring,
-                                           (struct vi_mqd *)ring->mqd_ptr);
+               r = gfx_v8_0_kiq_init_queue(ring);
                amdgpu_bo_kunmap(ring->mqd_obj);
                ring->mqd_ptr = NULL;
        }
@@ -4967,8 +4966,7 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev)
                        goto done;
                r = amdgpu_bo_kmap(ring->mqd_obj, &ring->mqd_ptr);
                if (!r) {
-                       r = gfx_v8_0_kiq_init_queue(ring,
-                                                   (struct vi_mqd 
*)ring->mqd_ptr);
+                       r = gfx_v8_0_kiq_init_queue(ring);
                        amdgpu_bo_kunmap(ring->mqd_obj);
                        ring->mqd_ptr = NULL;
                }
-- 
2.5.5

_______________________________________________
amd-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to