aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRex Zhu <Rex.Zhu@amd.com>2016-12-07 04:44:20 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-09 02:32:20 -0500
commit8dbd6f709e62394fedb4fe75a3e553cbb6cbdbd3 (patch)
tree08e2bc5389dfc681c6277c62a82f0b1468732ed0
parentf2d3d7f84cdf60d2e7e103a3381910005a4ca669 (diff)
drm/amdgpu: fix init save/restore list in gfx_v8.0
commit 202e0b227b906cb80a2791f21216a55d9468d61b upstream. set valid data to mmRLC_SRM_INDEX_CNTL_ADDRx/DATAx. Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
index c6fca7e7805f..a88d365be4c5 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c
@@ -3947,8 +3947,12 @@ static int gfx_v8_0_init_save_restore_list(struct amdgpu_device *adev)
3947 temp = mmRLC_SRM_INDEX_CNTL_ADDR_0; 3947 temp = mmRLC_SRM_INDEX_CNTL_ADDR_0;
3948 data = mmRLC_SRM_INDEX_CNTL_DATA_0; 3948 data = mmRLC_SRM_INDEX_CNTL_DATA_0;
3949 for (i = 0; i < sizeof(unique_indices) / sizeof(int); i++) { 3949 for (i = 0; i < sizeof(unique_indices) / sizeof(int); i++) {
3950 amdgpu_mm_wreg(adev, temp + i, unique_indices[i] & 0x3FFFF, false); 3950 if (unique_indices[i] != 0) {
3951 amdgpu_mm_wreg(adev, data + i, unique_indices[i] >> 20, false); 3951 amdgpu_mm_wreg(adev, temp + i,
3952 unique_indices[i] & 0x3FFFF, false);
3953 amdgpu_mm_wreg(adev, data + i,
3954 unique_indices[i] >> 20, false);
3955 }
3952 } 3956 }
3953 kfree(register_list_format); 3957 kfree(register_list_format);
3954 3958