diff options
Diffstat (limited to 'meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0485-drm-amd-display-fix-surface-attachment-handling-of-p.patch')
-rw-r--r-- | meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0485-drm-amd-display-fix-surface-attachment-handling-of-p.patch | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0485-drm-amd-display-fix-surface-attachment-handling-of-p.patch b/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0485-drm-amd-display-fix-surface-attachment-handling-of-p.patch deleted file mode 100644 index 26191737..00000000 --- a/meta-v1000/recipes-kernel/linux/linux-yocto-4.14.71/0485-drm-amd-display-fix-surface-attachment-handling-of-p.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 6af12ea52bf5b91796b7d2a9f464dc213c9eef3a Mon Sep 17 00:00:00 2001 -From: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> -Date: Mon, 29 May 2017 18:26:28 -0400 -Subject: [PATCH 0485/4131] drm/amd/display: fix surface attachment handling of - pipe split - -Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> -Reviewed-by: Tony Cheng <Tony.Cheng@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_resource.c | 35 +++++++---------------- - 1 file changed, 10 insertions(+), 25 deletions(-) - -diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c -index feb0f5d..c97d0d1 100644 ---- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c -+++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c -@@ -894,24 +894,6 @@ enum dc_status resource_build_scaling_params_for_context( - return DC_OK; - } - --static void detach_surfaces_for_stream( -- struct validate_context *context, -- const struct resource_pool *pool, -- const struct dc_stream *dc_stream) --{ -- int i; -- struct core_stream *stream = DC_STREAM_TO_CORE(dc_stream); -- -- for (i = 0; i < pool->pipe_count; i++) { -- struct pipe_ctx *cur_pipe = &context->res_ctx.pipe_ctx[i]; -- if (cur_pipe->stream == stream) { -- cur_pipe->surface = NULL; -- cur_pipe->top_pipe = NULL; -- cur_pipe->bottom_pipe = NULL; -- } -- } --} -- - struct pipe_ctx *find_idle_secondary_pipe( - struct resource_context *res_ctx, - const struct resource_pool *pool) -@@ -1004,9 +986,11 @@ static void release_free_pipes_for_stream( - struct core_stream *stream = DC_STREAM_TO_CORE(dc_stream); - - for (i = MAX_PIPES - 1; i >= 0; i--) { -+ /* never release the topmost pipe*/ - if (res_ctx->pipe_ctx[i].stream == stream && -+ res_ctx->pipe_ctx[i].top_pipe && - !res_ctx->pipe_ctx[i].surface) { -- res_ctx->pipe_ctx[i].stream = NULL; -+ memset(&res_ctx->pipe_ctx[i], 0, sizeof(struct pipe_ctx)); - } - } - } -@@ -1021,6 +1005,7 @@ bool resource_attach_surfaces_to_context( - int i; - struct pipe_ctx *tail_pipe; - struct dc_stream_status *stream_status = NULL; -+ struct core_stream *stream = DC_STREAM_TO_CORE(dc_stream); - - - if (surface_count > MAX_SURFACE_NUM) { -@@ -1043,7 +1028,12 @@ bool resource_attach_surfaces_to_context( - for (i = 0; i < surface_count; i++) - dc_surface_retain(surfaces[i]); - -- detach_surfaces_for_stream(context, pool, dc_stream); -+ /* detach surfaces from pipes */ -+ for (i = 0; i < pool->pipe_count; i++) -+ if (context->res_ctx.pipe_ctx[i].stream == stream) { -+ context->res_ctx.pipe_ctx[i].surface = NULL; -+ context->res_ctx.pipe_ctx[i].bottom_pipe = NULL; -+ } - - /* release existing surfaces*/ - for (i = 0; i < stream_status->surface_count; i++) -@@ -1052,11 +1042,6 @@ bool resource_attach_surfaces_to_context( - for (i = surface_count; i < stream_status->surface_count; i++) - stream_status->surfaces[i] = NULL; - -- stream_status->surface_count = 0; -- -- if (surface_count == 0) -- return true; -- - tail_pipe = NULL; - for (i = 0; i < surface_count; i++) { - struct core_surface *surface = DC_SURFACE_TO_CORE(surfaces[i]); --- -2.7.4 - |