Commit bb9042da authored by Yongqiang Sun's avatar Yongqiang Sun Committed by Alex Deucher

drm/amd/display: Change power gating off sequence to fix hang

Power off plane clear all the reg values includes cursor.
When OS call set cursor position, cursor address reg is cleared,
results in system hard hang.
Signed-off-by: default avatarYongqiang Sun <yongqiang.sun@amd.com>
Reviewed-by: default avatarTony Cheng <Tony.Cheng@amd.com>
Acked-by: default avatarHarry Wentland <Harry.Wentland@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 75a74755
...@@ -1254,9 +1254,12 @@ bool dc_post_update_surfaces_to_stream(struct dc *dc) ...@@ -1254,9 +1254,12 @@ bool dc_post_update_surfaces_to_stream(struct dc *dc)
post_surface_trace(dc); post_surface_trace(dc);
for (i = 0; i < core_dc->current_context->res_ctx.pool->pipe_count; i++) for (i = 0; i < core_dc->current_context->res_ctx.pool->pipe_count; i++)
if (core_dc->current_context->res_ctx.pipe_ctx[i].stream == NULL) if (core_dc->current_context->res_ctx.pipe_ctx[i].stream == NULL) {
core_dc->current_context->res_ctx.pipe_ctx[i].pipe_idx = i;
core_dc->hwss.power_down_front_end( core_dc->hwss.power_down_front_end(
core_dc, &core_dc->current_context->res_ctx.pipe_ctx[i]); core_dc, &core_dc->current_context->res_ctx.pipe_ctx[i]);
}
if (core_dc->res_pool->funcs->validate_bandwidth(core_dc, core_dc->current_context) if (core_dc->res_pool->funcs->validate_bandwidth(core_dc, core_dc->current_context)
!= DC_OK) { != DC_OK) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment