[PATCH] drm/amd/display: Skip create new stream if crtc state doesn't change
Jerry (Fangzhi) Zuo
Jerry.Zuo at amd.com
Mon Jan 14 16:05:58 UTC 2019
Need to check if crtc state is changed so that mode set is
required before trying to create new stream.
It deals with the MST hotplug use case when plug back to the
same connector where the failure to create new stream for the
inactive crtc state. Simply skip the check for the old connector
and go through the new one.
Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo at amd.com>
---
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
index 987095ccd2c5..68739d0c600c 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -5593,6 +5593,9 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
goto fail;
}
+ if (!drm_atomic_crtc_needs_modeset(new_crtc_state))
+ return 0;
+
aconnector = amdgpu_dm_find_first_crtc_matching_connector(state, crtc);
/* TODO This hack should go away */
@@ -5640,6 +5643,7 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
}
}
+ /* mode_changed flag may get updated above, need to check again */
if (!drm_atomic_crtc_needs_modeset(new_crtc_state))
goto skip_modeset;
--
2.14.1
More information about the amd-gfx
mailing list