drm/amdgpu: change pointer of mqd_ptr & mqd_backup to void
authorXiangliang Yu <Xiangliang.Yu@amd.com>
Fri, 17 Feb 2017 08:03:10 +0000 (16:03 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 30 Mar 2017 03:53:15 +0000 (23:53 -0400)
vi_mqd is only used by VI family but mqd_ptr and mqd_backup is
common for all ASIC, so change the pointer to void.

Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Monk Liu <Monk.Liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu.h
drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h
drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c

index fa831a8..80ab851 100644 (file)
@@ -783,7 +783,7 @@ struct amdgpu_mec {
        u32 num_pipe;
        u32 num_mec;
        u32 num_queue;
-       struct vi_mqd   *mqd_backup[AMDGPU_MAX_COMPUTE_RINGS + 1];
+       void                    *mqd_backup[AMDGPU_MAX_COMPUTE_RINGS + 1];
 };
 
 struct amdgpu_kiq {
index 5d0f7c5..da702dc 100644 (file)
@@ -162,7 +162,7 @@ struct amdgpu_ring {
        u32                     queue;
        struct amdgpu_bo        *mqd_obj;
        uint64_t                mqd_gpu_addr;
-       struct vi_mqd           *mqd_ptr;
+       void                    *mqd_ptr;
        u32                     doorbell_index;
        bool                    use_doorbell;
        unsigned                wptr_offs;
index 61e2392..8c4b400 100644 (file)
@@ -4940,8 +4940,10 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev)
        gfx_v8_0_cp_compute_enable(adev, true);
 
        ring = &adev->gfx.kiq.ring;
-       if (!amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr)) {
-               r = gfx_v8_0_kiq_init_queue(ring, ring->mqd_ptr, ring->mqd_gpu_addr);
+       if (!amdgpu_bo_kmap(ring->mqd_obj, &ring->mqd_ptr)) {
+               r = gfx_v8_0_kiq_init_queue(ring,
+                                           (struct vi_mqd *)ring->mqd_ptr,
+                                           ring->mqd_gpu_addr);
                amdgpu_bo_kunmap(ring->mqd_obj);
                ring->mqd_ptr = NULL;
                if (r)
@@ -4952,8 +4954,10 @@ static int gfx_v8_0_kiq_resume(struct amdgpu_device *adev)
 
        for (i = 0; i < adev->gfx.num_compute_rings; i++) {
                ring = &adev->gfx.compute_ring[i];
-               if (!amdgpu_bo_kmap(ring->mqd_obj, (void **)&ring->mqd_ptr)) {
-                       r = gfx_v8_0_kiq_init_queue(ring, ring->mqd_ptr, ring->mqd_gpu_addr);
+               if (!amdgpu_bo_kmap(ring->mqd_obj, &ring->mqd_ptr)) {
+                       r = gfx_v8_0_kiq_init_queue(ring,
+                                                   (struct vi_mqd *)ring->mqd_ptr,
+                                                   ring->mqd_gpu_addr);
                        amdgpu_bo_kunmap(ring->mqd_obj);
                        ring->mqd_ptr = NULL;
                        if (r)
@@ -7333,7 +7337,7 @@ static int gfx_v8_0_compute_mqd_soft_init(struct amdgpu_device *adev)
        if (!ring->mqd_obj) {
                r = amdgpu_bo_create_kernel(adev, sizeof(struct vi_mqd), PAGE_SIZE,
                                                AMDGPU_GEM_DOMAIN_GTT, &ring->mqd_obj,
-                                               &ring->mqd_gpu_addr, (void **)&ring->mqd_ptr);
+                                               &ring->mqd_gpu_addr, &ring->mqd_ptr);
                if (r) {
                        dev_warn(adev->dev, "failed to create ring mqd ob (%d)", r);
                        return r;
@@ -7352,7 +7356,7 @@ static int gfx_v8_0_compute_mqd_soft_init(struct amdgpu_device *adev)
                if (!ring->mqd_obj) {
                        r = amdgpu_bo_create_kernel(adev, sizeof(struct vi_mqd), PAGE_SIZE,
                                                        AMDGPU_GEM_DOMAIN_GTT, &ring->mqd_obj,
-                                                       &ring->mqd_gpu_addr, (void **)&ring->mqd_ptr);
+                                                       &ring->mqd_gpu_addr, &ring->mqd_ptr);
                        if (r) {
                                dev_warn(adev->dev, "failed to create ring mqd ob (%d)", r);
                                return r;
@@ -7375,9 +7379,13 @@ static void gfx_v8_0_compute_mqd_soft_fini(struct amdgpu_device *adev)
 
        for (i = 0; i < adev->gfx.num_compute_rings; i++) {
                ring = &adev->gfx.compute_ring[i];
-               amdgpu_bo_free_kernel(&ring->mqd_obj, &ring->mqd_gpu_addr, (void **)&ring->mqd_ptr);
+               amdgpu_bo_free_kernel(&ring->mqd_obj,
+                                     &ring->mqd_gpu_addr,
+                                     &ring->mqd_ptr);
        }
 
        ring = &adev->gfx.kiq.ring;
-       amdgpu_bo_free_kernel(&ring->mqd_obj, &ring->mqd_gpu_addr, (void **)&ring->mqd_ptr);
-}
\ No newline at end of file
+       amdgpu_bo_free_kernel(&ring->mqd_obj,
+                             &ring->mqd_gpu_addr,
+                             &ring->mqd_ptr);
+}