Skip to content

Commit fb8cc33

Browse files
Prike Liangalexdeucher
authored andcommitted
drm/amdgpu: keep mmhub clock gating being enabled during s2idle suspend
Without MMHUB clock gating being enabled then MMHUB will not disconnect from DF and will result in DF C-state entry can't be accessed during S2idle suspend, and eventually s0ix entry will be blocked. Signed-off-by: Prike Liang <[email protected]> Acked-by: Alex Deucher <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
1 parent a71849c commit fb8cc33

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,6 +1151,16 @@ static int gmc_v10_0_set_clockgating_state(void *handle,
11511151
int r;
11521152
struct amdgpu_device *adev = (struct amdgpu_device *)handle;
11531153

1154+
/*
1155+
* The issue mmhub can't disconnect from DF with MMHUB clock gating being disabled
1156+
* is a new problem observed at DF 3.0.3, however with the same suspend sequence not
1157+
* seen any issue on the DF 3.0.2 series platform.
1158+
*/
1159+
if (adev->in_s0ix && adev->ip_versions[DF_HWIP][0] > IP_VERSION(3, 0, 2)) {
1160+
dev_dbg(adev->dev, "keep mmhub clock gating being enabled for s0ix\n");
1161+
return 0;
1162+
}
1163+
11541164
r = adev->mmhub.funcs->set_clockgating(adev, state);
11551165
if (r)
11561166
return r;

0 commit comments

Comments
 (0)