diff options
author | Xiangliang Yu <Xiangliang.Yu@amd.com> | 2017-02-17 16:03:10 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-03-29 23:53:15 -0400 |
commit | 59a82d7d69cf63da641314384b1e691aa8c12999 (patch) | |
tree | a2f6afd0d65bfec52d4d174240b0f1197aaf4006 /drivers/gpu/drm/amd/amdgpu | |
parent | 1fb37a3d0f2a227d270e7ef39b8d4dd0bfb46aca (diff) | |
download | talos-obmc-linux-59a82d7d69cf63da641314384b1e691aa8c12999.tar.gz talos-obmc-linux-59a82d7d69cf63da641314384b1e691aa8c12999.zip |
drm/amdgpu: change pointer of mqd_ptr & mqd_backup to void
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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h | 2 | ||||
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 26 |
3 files changed, 19 insertions, 11 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h index fa831a8030e4..80ab8516db7c 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -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 { diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h index 5d0f7c52fc01..da702dc6e2e5 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ring.h @@ -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; diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index 61e23926eb7f..8c4b40002dd6 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c @@ -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); +} |