diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3621-drm-amd-display-check-for-ipp-before-calling-cursor-.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3621-drm-amd-display-check-for-ipp-before-calling-cursor-.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3621-drm-amd-display-check-for-ipp-before-calling-cursor-.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3621-drm-amd-display-check-for-ipp-before-calling-cursor-.patch new file mode 100644 index 00000000..fc5c3431 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3621-drm-amd-display-check-for-ipp-before-calling-cursor-.patch @@ -0,0 +1,48 @@ +From 578f5813e9f583f7ed4a73b40ae0a0e34c517e75 Mon Sep 17 00:00:00 2001 +From: Shirish S <shirish.s@amd.com> +Date: Wed, 21 Feb 2018 16:10:33 +0530 +Subject: [PATCH 3621/4131] drm/amd/display: check for ipp before calling + cursor operations + +Currently all cursor related functions are made to all +pipes that are attached to a particular stream. +This is not applicable to pipes that do not have cursor plane +initialised like underlay. +Hence this patch allows cursor related operations on a pipe +only if ipp in available on that particular pipe. + +The check is added to set_cursor_position & set_cursor_attribute. + +Signed-off-by: Shirish S <shirish.s@amd.com> +Reviewed-by: Harry Wentland <harry.wentland@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +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 87a193a..cd58197 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc_stream.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc_stream.c +@@ -198,7 +198,8 @@ bool dc_stream_set_cursor_attributes( + for (i = 0; i < MAX_PIPES; i++) { + struct pipe_ctx *pipe_ctx = &res_ctx->pipe_ctx[i]; + +- if (pipe_ctx->stream != stream || (!pipe_ctx->plane_res.xfm && !pipe_ctx->plane_res.dpp)) ++ if (pipe_ctx->stream != stream || (!pipe_ctx->plane_res.xfm && ++ !pipe_ctx->plane_res.dpp) || !pipe_ctx->plane_res.ipp) + continue; + if (pipe_ctx->top_pipe && pipe_ctx->plane_state != pipe_ctx->top_pipe->plane_state) + continue; +@@ -237,7 +238,8 @@ bool dc_stream_set_cursor_position( + if (pipe_ctx->stream != stream || + (!pipe_ctx->plane_res.mi && !pipe_ctx->plane_res.hubp) || + !pipe_ctx->plane_state || +- (!pipe_ctx->plane_res.xfm && !pipe_ctx->plane_res.dpp)) ++ (!pipe_ctx->plane_res.xfm && !pipe_ctx->plane_res.dpp) || ++ !pipe_ctx->plane_res.ipp) + continue; + + core_dc->hwss.set_cursor_position(pipe_ctx); +-- +2.7.4 + |