[PATCH] drm/amd/display: Don't fail atomic check in MST S3 topology change

Jerry (Fangzhi) Zuo Jerry.Zuo at amd.com
Thu Jan 10 21:17:04 UTC 2019

In MST S3 topology change, dc_sink is created in .get_mode hook
later than the resume sequence. No stream created in atomic check
is normal in MST S3 resume. In such case, mark false to
mode_changed flag to skip the check in
dm_crtc_helper_atomic_check(), instead of returning error.

Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo at amd.com>
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

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 a9ed225d2ae0..6e03b2cf0adb 100644
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
@@ -5628,10 +5628,9 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm,
 		if (!new_stream) {
-			DRM_DEBUG_DRIVER("%s: Failed to create new stream for crtc %d\n",
-					__func__, acrtc->base.base.id);
-			ret = -ENOMEM;
-			goto fail;
+			new_crtc_state->mode_changed = false;
+			DRM_DEBUG_DRIVER("Mode change not expected on %s\n", aconnector->base.name);
+			goto next_crtc;
 		dm_new_crtc_state->abm_level = dm_new_conn_state->abm_level;

More information about the amd-gfx mailing list