mirror of
https://github.com/torvalds/linux.git
synced 2026-04-19 23:34:00 -04:00
drm/amd/display: Catch failures for amdgpu_dm_commit_zero_streams()
amdgpu_dm_commit_zero_streams() returns a DC error code that isn't checked. Add an explicit check to this and fail dm_suspend() if it is not DC_OK. Reviewed-by: Alex Hung <alex.hung@amd.com> Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Wayne Lin <wayne.lin@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
65890cad2e
commit
3cf7a0bc87
@@ -3147,6 +3147,8 @@ static int dm_suspend(struct amdgpu_ip_block *ip_block)
|
||||
struct amdgpu_display_manager *dm = &adev->dm;
|
||||
|
||||
if (amdgpu_in_reset(adev)) {
|
||||
enum dc_status res;
|
||||
|
||||
mutex_lock(&dm->dc_lock);
|
||||
|
||||
dc_allow_idle_optimizations(adev->dm.dc, false);
|
||||
@@ -3156,7 +3158,11 @@ static int dm_suspend(struct amdgpu_ip_block *ip_block)
|
||||
if (dm->cached_dc_state)
|
||||
dm_gpureset_toggle_interrupts(adev, dm->cached_dc_state, false);
|
||||
|
||||
amdgpu_dm_commit_zero_streams(dm->dc);
|
||||
res = amdgpu_dm_commit_zero_streams(dm->dc);
|
||||
if (res != DC_OK) {
|
||||
drm_err(adev_to_drm(adev), "Failed to commit zero streams: %d\n", res);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
amdgpu_dm_irq_suspend(adev);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user