Skip to content

Commit 487eca1

Browse files
Prike Liangalexdeucher
authored andcommitted
drm/amdgpu: fix gfx hang during suspend with video playback (v2)
The system will be hang up during S3 suspend because of SMU is pending for GC not respose the register CP_HQD_ACTIVE access request.This issue root cause of accessing the GC register under enter GFX CGGPG and can be fixed by disable GFX CGPG before perform suspend. v2: Use disable the GFX CGPG instead of RLC safe mode guard. Signed-off-by: Prike Liang <[email protected]> Tested-by: Mengbing Wang <[email protected]> Reviewed-by: Huang Rui <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected]
1 parent 72f5b5a commit 487eca1

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2340,8 +2340,6 @@ static int amdgpu_device_ip_suspend_phase1(struct amdgpu_device *adev)
23402340
{
23412341
int i, r;
23422342

2343-
amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE);
2344-
amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE);
23452343

23462344
for (i = adev->num_ip_blocks - 1; i >= 0; i--) {
23472345
if (!adev->ip_blocks[i].status.valid)
@@ -3356,6 +3354,9 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
33563354
}
33573355
}
33583356

3357+
amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE);
3358+
amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE);
3359+
33593360
amdgpu_amdkfd_suspend(adev, !fbcon);
33603361

33613362
amdgpu_ras_suspend(adev);

0 commit comments

Comments
 (0)