Skip to content

Commit e8309d5

Browse files
committed
drm/amdgpu: don't do resets on APUs which don't support it
It can cause a hang. This is normally not enabled for GPU hangs on these asics, but was recently enabled for handling aborted suspends. This causes hangs on some platforms on suspend. Fixes: daf8de0 ("drm/amdgpu: always reset the asic in suspend (v2)") Cc: [email protected] Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1858 Signed-off-by: Alex Deucher <[email protected]>
1 parent 0ffb1fd commit e8309d5

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,6 +1428,10 @@ static int cik_asic_reset(struct amdgpu_device *adev)
14281428
{
14291429
int r;
14301430

1431+
/* APUs don't have full asic reset */
1432+
if (adev->flags & AMD_IS_APU)
1433+
return 0;
1434+
14311435
if (cik_asic_reset_method(adev) == AMD_RESET_METHOD_BACO) {
14321436
dev_info(adev->dev, "BACO reset\n");
14331437
r = amdgpu_dpm_baco_reset(adev);

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -956,6 +956,10 @@ static int vi_asic_reset(struct amdgpu_device *adev)
956956
{
957957
int r;
958958

959+
/* APUs don't have full asic reset */
960+
if (adev->flags & AMD_IS_APU)
961+
return 0;
962+
959963
if (vi_asic_reset_method(adev) == AMD_RESET_METHOD_BACO) {
960964
dev_info(adev->dev, "BACO reset\n");
961965
r = amdgpu_dpm_baco_reset(adev);

0 commit comments

Comments
 (0)