aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1773-drm-amd-display-Handle-get-crtc-position-error.patch
diff options
context:
space:
mode:
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.patch38
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
+