diff options
author | Chunming Zhou <David1.Zhou@amd.com> | 2016-12-08 00:56:16 -0500 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-05-24 17:41:11 -0400 |
commit | 7271f068d1aa5b058d17c7aecb836ea381e0947f (patch) | |
tree | f8add22d4f205de100ca9439b71f0a511eb1da9d | |
parent | c2cdb0ec01a8c5df6706215f81cf5b4b4d48b5a2 (diff) |
drm/amdgpu: add Raven sdma golden setting and chip id case
Add golden settings for SDMA.
Signed-off-by: Chunming Zhou <David1.Zhou@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c index 3c7cbe53edad..645be9001598 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c | |||
@@ -83,6 +83,26 @@ static const u32 golden_settings_sdma_vg10[] = { | |||
83 | SOC15_REG_OFFSET(SDMA1, 0, mmSDMA1_GB_ADDR_CONFIG_READ), 0x0018773f, 0x00104002 | 83 | SOC15_REG_OFFSET(SDMA1, 0, mmSDMA1_GB_ADDR_CONFIG_READ), 0x0018773f, 0x00104002 |
84 | }; | 84 | }; |
85 | 85 | ||
86 | static const u32 golden_settings_sdma_4_1[] = | ||
87 | { | ||
88 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_CHICKEN_BITS), 0xfe931f07, 0x02831f07, | ||
89 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_CLK_CTRL), 0xffffffff, 0x3f000100, | ||
90 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_GFX_IB_CNTL), 0x800f0111, 0x00000100, | ||
91 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_GFX_RB_WPTR_POLL_CNTL), 0xfffffff7, 0x00403000, | ||
92 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_POWER_CNTL), 0xfc3fffff, 0x40000051, | ||
93 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_RLC0_IB_CNTL), 0x800f0111, 0x00000100, | ||
94 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_RLC0_RB_WPTR_POLL_CNTL), 0xfffffff7, 0x00403000, | ||
95 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_RLC1_IB_CNTL), 0x800f0111, 0x00000100, | ||
96 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_RLC1_RB_WPTR_POLL_CNTL), 0xfffffff7, 0x00403000, | ||
97 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_UTCL1_PAGE), 0x000003ff, 0x000003c0 | ||
98 | }; | ||
99 | |||
100 | static const u32 golden_settings_sdma_rv1[] = | ||
101 | { | ||
102 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_GB_ADDR_CONFIG), 0x0018773f, 0x00003002, | ||
103 | SOC15_REG_OFFSET(SDMA0, 0, mmSDMA0_GB_ADDR_CONFIG_READ), 0x0018773f, 0x00003002 | ||
104 | }; | ||
105 | |||
86 | static u32 sdma_v4_0_get_reg_offset(u32 instance, u32 internal_offset) | 106 | static u32 sdma_v4_0_get_reg_offset(u32 instance, u32 internal_offset) |
87 | { | 107 | { |
88 | u32 base = 0; | 108 | u32 base = 0; |
@@ -113,6 +133,14 @@ static void sdma_v4_0_init_golden_registers(struct amdgpu_device *adev) | |||
113 | golden_settings_sdma_vg10, | 133 | golden_settings_sdma_vg10, |
114 | (const u32)ARRAY_SIZE(golden_settings_sdma_vg10)); | 134 | (const u32)ARRAY_SIZE(golden_settings_sdma_vg10)); |
115 | break; | 135 | break; |
136 | case CHIP_RAVEN: | ||
137 | amdgpu_program_register_sequence(adev, | ||
138 | golden_settings_sdma_4_1, | ||
139 | (const u32)ARRAY_SIZE(golden_settings_sdma_4_1)); | ||
140 | amdgpu_program_register_sequence(adev, | ||
141 | golden_settings_sdma_rv1, | ||
142 | (const u32)ARRAY_SIZE(golden_settings_sdma_rv1)); | ||
143 | break; | ||
116 | default: | 144 | default: |
117 | break; | 145 | break; |
118 | } | 146 | } |
@@ -159,6 +187,9 @@ static int sdma_v4_0_init_microcode(struct amdgpu_device *adev) | |||
159 | case CHIP_VEGA10: | 187 | case CHIP_VEGA10: |
160 | chip_name = "vega10"; | 188 | chip_name = "vega10"; |
161 | break; | 189 | break; |
190 | case CHIP_RAVEN: | ||
191 | chip_name = "raven"; | ||
192 | break; | ||
162 | default: | 193 | default: |
163 | BUG(); | 194 | BUG(); |
164 | } | 195 | } |
@@ -1415,6 +1446,8 @@ static int sdma_v4_0_set_clockgating_state(void *handle, | |||
1415 | sdma_v4_0_update_medium_grain_light_sleep(adev, | 1446 | sdma_v4_0_update_medium_grain_light_sleep(adev, |
1416 | state == AMD_CG_STATE_GATE ? true : false); | 1447 | state == AMD_CG_STATE_GATE ? true : false); |
1417 | break; | 1448 | break; |
1449 | case CHIP_RAVEN: | ||
1450 | break; | ||
1418 | default: | 1451 | default: |
1419 | break; | 1452 | break; |
1420 | } | 1453 | } |