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
	
	Block a user