diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1099-drm-amd-display-Skip-create-new-stream-if-crtc-state.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/1099-drm-amd-display-Skip-create-new-stream-if-crtc-state.patch | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1099-drm-amd-display-Skip-create-new-stream-if-crtc-state.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1099-drm-amd-display-Skip-create-new-stream-if-crtc-state.patch new file mode 100644 index 00000000..5e60acd0 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1099-drm-amd-display-Skip-create-new-stream-if-crtc-state.patch @@ -0,0 +1,45 @@ +From 283fe4e710c80f650fcdf568109a51255f75f298 Mon Sep 17 00:00:00 2001 +From: "Jerry (Fangzhi) Zuo" <Jerry.Zuo@amd.com> +Date: Fri, 11 Jan 2019 16:34:31 -0500 +Subject: [PATCH 1099/2940] drm/amd/display: Skip create new stream if crtc + state doesn't change + +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 on the old connector. + +Signed-off-by: Jerry (Fangzhi) Zuo <Jerry.Zuo@amd.com> +Reviewed-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@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 20cf05adecca..8dff7aee806a 100644 +--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c ++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +@@ -5539,6 +5539,9 @@ static int dm_update_crtc_state(struct amdgpu_display_manager *dm, + dm_new_conn_state = to_dm_connector_state(drm_new_conn_state); + dm_old_conn_state = to_dm_connector_state(drm_old_conn_state); + ++ if (!drm_atomic_crtc_needs_modeset(new_crtc_state)) ++ goto skip_modeset; ++ + new_stream = create_stream_for_sink(aconnector, + &new_crtc_state->mode, + dm_new_conn_state, +@@ -5565,6 +5568,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.17.1 + |