Skip to content

Commit dbd1003

Browse files
Changfengalexdeucher
authored andcommitted
drm/amdgpu: disable 3DCGCG on picasso/raven1 to avoid compute hang
There is problem with 3DCGCG firmware and it will cause compute test hang on picasso/raven1. It needs to disable 3DCGCG in driver to avoid compute hang. Signed-off-by: Changfeng <Changfeng.Zhu@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org
1 parent d537515 commit dbd1003

2 files changed

Lines changed: 7 additions & 5 deletions

File tree

drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4943,7 +4943,7 @@ static void gfx_v9_0_update_3d_clock_gating(struct amdgpu_device *adev,
49434943
amdgpu_gfx_rlc_enter_safe_mode(adev);
49444944

49454945
/* Enable 3D CGCG/CGLS */
4946-
if (enable && (adev->cg_flags & AMD_CG_SUPPORT_GFX_3D_CGCG)) {
4946+
if (enable) {
49474947
/* write cmd to clear cgcg/cgls ov */
49484948
def = data = RREG32_SOC15(GC, 0, mmRLC_CGTT_MGCG_OVERRIDE);
49494949
/* unset CGCG override */
@@ -4955,8 +4955,12 @@ static void gfx_v9_0_update_3d_clock_gating(struct amdgpu_device *adev,
49554955
/* enable 3Dcgcg FSM(0x0000363f) */
49564956
def = RREG32_SOC15(GC, 0, mmRLC_CGCG_CGLS_CTRL_3D);
49574957

4958-
data = (0x36 << RLC_CGCG_CGLS_CTRL_3D__CGCG_GFX_IDLE_THRESHOLD__SHIFT) |
4959-
RLC_CGCG_CGLS_CTRL_3D__CGCG_EN_MASK;
4958+
if (adev->cg_flags & AMD_CG_SUPPORT_GFX_3D_CGCG)
4959+
data = (0x36 << RLC_CGCG_CGLS_CTRL_3D__CGCG_GFX_IDLE_THRESHOLD__SHIFT) |
4960+
RLC_CGCG_CGLS_CTRL_3D__CGCG_EN_MASK;
4961+
else
4962+
data = 0x0 << RLC_CGCG_CGLS_CTRL_3D__CGCG_GFX_IDLE_THRESHOLD__SHIFT;
4963+
49604964
if (adev->cg_flags & AMD_CG_SUPPORT_GFX_3D_CGLS)
49614965
data |= (0x000F << RLC_CGCG_CGLS_CTRL_3D__CGLS_REP_COMPANSAT_DELAY__SHIFT) |
49624966
RLC_CGCG_CGLS_CTRL_3D__CGLS_EN_MASK;

drivers/gpu/drm/amd/amdgpu/soc15.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1392,7 +1392,6 @@ static int soc15_common_early_init(void *handle)
13921392
adev->cg_flags = AMD_CG_SUPPORT_GFX_MGCG |
13931393
AMD_CG_SUPPORT_GFX_MGLS |
13941394
AMD_CG_SUPPORT_GFX_CP_LS |
1395-
AMD_CG_SUPPORT_GFX_3D_CGCG |
13961395
AMD_CG_SUPPORT_GFX_3D_CGLS |
13971396
AMD_CG_SUPPORT_GFX_CGCG |
13981397
AMD_CG_SUPPORT_GFX_CGLS |
@@ -1412,7 +1411,6 @@ static int soc15_common_early_init(void *handle)
14121411
AMD_CG_SUPPORT_GFX_MGLS |
14131412
AMD_CG_SUPPORT_GFX_RLC_LS |
14141413
AMD_CG_SUPPORT_GFX_CP_LS |
1415-
AMD_CG_SUPPORT_GFX_3D_CGCG |
14161414
AMD_CG_SUPPORT_GFX_3D_CGLS |
14171415
AMD_CG_SUPPORT_GFX_CGCG |
14181416
AMD_CG_SUPPORT_GFX_CGLS |

0 commit comments

Comments
 (0)