drm/amd/display: add null checks and set update flags for DCN2
* add plane state null checks * add and set update surface flags Signed-off-by: Dmytro Laktyushkin <Dmytro.Laktyushkin@amd.com> Reviewed-by: Eric Bernstein <Eric.Bernstein@amd.com> Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
9796b71318
commit
ad141db915
|
@ -1427,6 +1427,9 @@ static enum surface_update_type det_surface_update(const struct dc *dc,
|
|||
|
||||
update_flags->raw = 0; // Reset all flags
|
||||
|
||||
if (u->flip_addr)
|
||||
update_flags->bits.addr_update = 1;
|
||||
|
||||
if (!is_surface_in_context(context, u->surface)) {
|
||||
update_flags->bits.new_plane = 1;
|
||||
return UPDATE_TYPE_FULL;
|
||||
|
|
|
@ -492,7 +492,7 @@ static void dcn20_plane_atomic_disable(struct dc *dc, struct pipe_ctx *pipe_ctx)
|
|||
}
|
||||
|
||||
|
||||
static void dcn20_disable_plane(struct dc *dc, struct pipe_ctx *pipe_ctx)
|
||||
void dcn20_disable_plane(struct dc *dc, struct pipe_ctx *pipe_ctx)
|
||||
{
|
||||
DC_LOGGER_INIT(dc->ctx->logger);
|
||||
|
||||
|
@ -501,8 +501,6 @@ static void dcn20_disable_plane(struct dc *dc, struct pipe_ctx *pipe_ctx)
|
|||
|
||||
dcn20_plane_atomic_disable(dc, pipe_ctx);
|
||||
|
||||
//apply_DEGVIDCN10_253_wa(dc);
|
||||
|
||||
DC_LOG_DC("Power down front end %d\n",
|
||||
pipe_ctx->pipe_idx);
|
||||
}
|
||||
|
@ -1092,7 +1090,7 @@ static void dcn20_power_on_plane(
|
|||
}
|
||||
}
|
||||
|
||||
static void dcn20_enable_plane(
|
||||
void dcn20_enable_plane(
|
||||
struct dc *dc,
|
||||
struct pipe_ctx *pipe_ctx,
|
||||
struct dc_state *context)
|
||||
|
@ -1167,7 +1165,7 @@ static void dcn20_enable_plane(
|
|||
}
|
||||
|
||||
|
||||
void dcn20_program_pipe(
|
||||
static void dcn20_program_pipe(
|
||||
struct dc *dc,
|
||||
struct pipe_ctx *pipe_ctx,
|
||||
struct dc_state *context)
|
||||
|
|
|
@ -89,7 +89,15 @@ void dcn20_pipe_control_lock_global(
|
|||
struct pipe_ctx *pipe,
|
||||
bool lock);
|
||||
void dcn20_setup_gsl_group_as_lock(const struct dc *dc,
|
||||
struct pipe_ctx *pipe_ctx,
|
||||
bool enable);
|
||||
|
||||
struct pipe_ctx *pipe_ctx,
|
||||
bool enable);
|
||||
void dcn20_pipe_control_lock(
|
||||
struct dc *dc,
|
||||
struct pipe_ctx *pipe,
|
||||
bool lock);
|
||||
void dcn20_disable_plane(struct dc *dc, struct pipe_ctx *pipe_ctx);
|
||||
void dcn20_enable_plane(
|
||||
struct dc *dc,
|
||||
struct pipe_ctx *pipe_ctx,
|
||||
struct dc_state *context);
|
||||
#endif /* __DC_HWSS_DCN20_H__ */
|
||||
|
|
|
@ -2340,7 +2340,6 @@ bool dcn20_validate_bandwidth(struct dc *dc, struct dc_state *context,
|
|||
context->bw_ctx.dml.funcs.rq_dlg_get_rq_reg(&context->bw_ctx.dml,
|
||||
&context->res_ctx.pipe_ctx[i].rq_regs,
|
||||
pipes[pipe_idx].pipe);
|
||||
|
||||
pipe_idx++;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue