Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d79d8b59 authored by Rex Zhu's avatar Rex Zhu Committed by Greg Kroah-Hartman
Browse files

drm/amdgpu: Enable/disable gfx PG feature in rlc safe mode



[ Upstream commit 8ef23364b654d44244400d79988e677e504b21ba ]

This is required by gfx hw and can fix the rlc hang when
do s3 stree test on Cz/St.

Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarHang Zhou <hang.zhou@amd.com>
Signed-off-by: default avatarRex Zhu <Rex.Zhu@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 8ccd9e42
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -5551,6 +5551,11 @@ static int gfx_v8_0_set_powergating_state(void *handle,
	if (!(adev->pg_flags & AMD_PG_SUPPORT_GFX_PG))
		return 0;

	if (adev->pg_flags & (AMD_PG_SUPPORT_GFX_SMG |
				AMD_PG_SUPPORT_RLC_SMU_HS |
				AMD_PG_SUPPORT_CP |
				AMD_PG_SUPPORT_GFX_DMG))
		adev->gfx.rlc.funcs->enter_safe_mode(adev);
	switch (adev->asic_type) {
	case CHIP_CARRIZO:
	case CHIP_STONEY:
@@ -5586,7 +5591,11 @@ static int gfx_v8_0_set_powergating_state(void *handle,
	default:
		break;
	}

	if (adev->pg_flags & (AMD_PG_SUPPORT_GFX_SMG |
				AMD_PG_SUPPORT_RLC_SMU_HS |
				AMD_PG_SUPPORT_CP |
				AMD_PG_SUPPORT_GFX_DMG))
		adev->gfx.rlc.funcs->exit_safe_mode(adev);
	return 0;
}