diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1773-drm-amd-display-Handle-get-crtc-position-error.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/1773-drm-amd-display-Handle-get-crtc-position-error.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1773-drm-amd-display-Handle-get-crtc-position-error.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1773-drm-amd-display-Handle-get-crtc-position-error.patch new file mode 100644 index 00000000..de655834 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1773-drm-amd-display-Handle-get-crtc-position-error.patch @@ -0,0 +1,38 @@ +From d5cc300932b74265f3fc07e079ff8d11d4727adb Mon Sep 17 00:00:00 2001 +From: David Francis <David.Francis@amd.com> +Date: Mon, 25 Mar 2019 09:44:04 -0400 +Subject: [PATCH 1773/2940] drm/amd/display: Handle get crtc position error + +[Why] +dc_stream_get_crtc_position can return false. +This was unhandled in delay_cursor_until_vupdate + +[How] +If dc_stream_get_crtc_position returns false, something +is weird. Don't delay. + +Change-Id: Id0fc61792aaa248594deb46d9984bcb3fb78559c +Signed-off-by: David Francis <David.Francis@amd.com> +Reviewed-by: Sun peng Li <Sunpeng.Li@amd.com> +Acked-by: Bhawanpreet Lakha <Bhawanpreet Lakha@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +index f7a293902234..e10479d58c11 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +@@ -211,7 +211,8 @@ static void delay_cursor_until_vupdate(struct pipe_ctx *pipe_ctx, struct dc *dc) + ASIC_REV_IS_RAVEN(stream->ctx->asic_id.hw_internal_rev)) { + + vupdate_line = get_vupdate_offset_from_vsync(pipe_ctx); +- dc_stream_get_crtc_position(dc, &stream, 1, &vpos, &nvpos); ++ if (!dc_stream_get_crtc_position(dc, &stream, 1, &vpos, &nvpos)) ++ return; + + if (vpos >= vupdate_line) + return; +-- +2.17.1 + |