diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0052-drm-amd-display-fix-indexing-bug.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0052-drm-amd-display-fix-indexing-bug.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0052-drm-amd-display-fix-indexing-bug.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0052-drm-amd-display-fix-indexing-bug.patch new file mode 100644 index 00000000..c421e8d3 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0052-drm-amd-display-fix-indexing-bug.patch @@ -0,0 +1,49 @@ +From 77d5ed67738f8d3ead2ccb5fafbeba9571349687 Mon Sep 17 00:00:00 2001 +From: Tony Cheng <tony.cheng@amd.com> +Date: Tue, 6 Dec 2016 22:12:09 -0500 +Subject: [PATCH 0052/4131] drm/amd/display: fix indexing bug + +- is_new_pipe_surface should be addressed with pipe idx, not surface idx + +Signed-off-by: Tony Cheng <tony.cheng@amd.com> +Reviewed-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> +Acked-by: Harry Wentland <Harry.Wentland@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/display/dc/core/dc.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c +index a3c5def..70b7673 100644 +--- a/drivers/gpu/drm/amd/display/dc/core/dc.c ++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c +@@ -1334,7 +1334,7 @@ void dc_update_surfaces_for_target(struct dc *dc, struct dc_surface_update *upda + struct core_dc *core_dc = DC_TO_CORE(dc); + struct validate_context *context = core_dc->temp_flip_context; + int i, j; +- bool is_new_pipe_surface[MAX_SURFACES]; ++ bool is_new_pipe_surface[MAX_PIPES]; + const struct dc_surface *new_surfaces[MAX_SURFACES] = { 0 }; + + update_surface_trace(dc, updates, surface_count); +@@ -1353,7 +1353,7 @@ void dc_update_surfaces_for_target(struct dc *dc, struct dc_surface_update *upda + &context->res_ctx.pipe_ctx[cur_pipe->bottom_pipe->pipe_idx]; + } + +- for (j = 0; j < MAX_SURFACES; j++) ++ for (j = 0; j < MAX_PIPES; j++) + is_new_pipe_surface[j] = true; + + for (i = 0 ; i < surface_count; i++) { +@@ -1364,7 +1364,7 @@ void dc_update_surfaces_for_target(struct dc *dc, struct dc_surface_update *upda + struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[j]; + + if (surface == pipe_ctx->surface) +- is_new_pipe_surface[i] = false; ++ is_new_pipe_surface[j] = false; + } + } + +-- +2.7.4 + |