drm/amd/display: Fix unbalanced locking in surface apply

also simplifying syntax and removing unused variable in
dce110_apply_ctx_for_surface()

Signed-off-by: Roman Li <Roman.Li@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>
This commit is contained in:
Roman Li 2017-11-07 10:58:40 -05:00 committed by Alex Deucher
parent 7f914a62c9
commit 2194e3ae90
1 changed files with 2 additions and 5 deletions

View File

@ -2849,22 +2849,19 @@ static void dce110_apply_ctx_for_surface(
int num_planes, int num_planes,
struct dc_state *context) struct dc_state *context)
{ {
int i, be_idx; int i;
if (num_planes == 0) if (num_planes == 0)
return; return;
be_idx = -1;
for (i = 0; i < dc->res_pool->pipe_count; i++) { for (i = 0; i < dc->res_pool->pipe_count; i++) {
struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[i]; struct pipe_ctx *pipe_ctx = &context->res_ctx.pipe_ctx[i];
struct pipe_ctx *old_pipe_ctx = &dc->current_state->res_ctx.pipe_ctx[i]; struct pipe_ctx *old_pipe_ctx = &dc->current_state->res_ctx.pipe_ctx[i];
if (stream == context->res_ctx.pipe_ctx[i].stream) { if (stream == pipe_ctx->stream) {
be_idx = context->res_ctx.pipe_ctx[i].stream_res.tg->inst;
if (!pipe_ctx->top_pipe && if (!pipe_ctx->top_pipe &&
(pipe_ctx->plane_state || old_pipe_ctx->plane_state)) (pipe_ctx->plane_state || old_pipe_ctx->plane_state))
dc->hwss.pipe_control_lock(dc, pipe_ctx, true); dc->hwss.pipe_control_lock(dc, pipe_ctx, true);
break;
} }
} }