drm/amdgpu: correct ih cg programming for vega10 ih block
authorHawking Zhang <Hawking.Zhang@amd.com>
Mon, 30 Nov 2020 14:49:40 +0000 (22:49 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 23 Dec 2020 20:04:20 +0000 (15:04 -0500)
vega10/12 and RAVEN don't support soft override
ih_buffer_mem_clk.

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Felix Kuehling <Felix.Kuehling@amd.com>
Reviewed-by: Dennis Li <Dennis.Li@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/vega10_ih.c

index 629ba46..32c3dd0 100644 (file)
@@ -640,15 +640,11 @@ static void vega10_ih_update_clockgating_state(struct amdgpu_device *adev,
                def = data = RREG32_SOC15(OSSSYS, 0, mmIH_CLK_CTRL);
                field_val = enable ? 0 : 1;
                /**
-                * Vega10 does not have IH_RETRY_INT_CAM_MEM_CLK_SOFT_OVERRIDE
-                * and IH_BUFFER_MEM_CLK_SOFT_OVERRIDE field.
+                * Vega10/12 and RAVEN don't have IH_BUFFER_MEM_CLK_SOFT_OVERRIDE field.
                 */
-               if (adev->asic_type > CHIP_VEGA10) {
-                       data = REG_SET_FIELD(data, IH_CLK_CTRL,
-                                    IH_RETRY_INT_CAM_MEM_CLK_SOFT_OVERRIDE, field_val);
+               if (adev->asic_type == CHIP_RENOIR)
                        data = REG_SET_FIELD(data, IH_CLK_CTRL,
                                     IH_BUFFER_MEM_CLK_SOFT_OVERRIDE, field_val);
-               }
 
                data = REG_SET_FIELD(data, IH_CLK_CTRL,
                                     DBUS_MUX_CLK_SOFT_OVERRIDE, field_val);