Commit e6bddf6c authored by Wenjing Liu's avatar Wenjing Liu Committed by Alex Deucher

drm/amd/display: add pipe lock during stream update

[why]
Stream update will adjust both info packets and stream params,
need to make sure all things are applied togather.

[how]
add pipe lock during stream update
Signed-off-by: default avatarWenjing Liu <Wenjing.Liu@amd.com>
Reviewed-by: default avatarJun Lei <Jun.Lei@amd.com>
Acked-by: default avatarLeo Li <sunpeng.li@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 3af91bb1
...@@ -1672,6 +1672,7 @@ static void commit_planes_do_stream_update(struct dc *dc, ...@@ -1672,6 +1672,7 @@ static void commit_planes_do_stream_update(struct dc *dc,
continue; continue;
if (stream_update->dpms_off) { if (stream_update->dpms_off) {
dc->hwss.pipe_control_lock(dc, pipe_ctx, true);
if (*stream_update->dpms_off) { if (*stream_update->dpms_off) {
core_link_disable_stream(pipe_ctx, KEEP_ACQUIRED_RESOURCE); core_link_disable_stream(pipe_ctx, KEEP_ACQUIRED_RESOURCE);
dc->hwss.optimize_bandwidth(dc, dc->current_state); dc->hwss.optimize_bandwidth(dc, dc->current_state);
...@@ -1679,6 +1680,7 @@ static void commit_planes_do_stream_update(struct dc *dc, ...@@ -1679,6 +1680,7 @@ static void commit_planes_do_stream_update(struct dc *dc,
dc->hwss.prepare_bandwidth(dc, dc->current_state); dc->hwss.prepare_bandwidth(dc, dc->current_state);
core_link_enable_stream(dc->current_state, pipe_ctx); core_link_enable_stream(dc->current_state, pipe_ctx);
} }
dc->hwss.pipe_control_lock(dc, pipe_ctx, false);
} }
if (stream_update->abm_level && pipe_ctx->stream_res.abm) { if (stream_update->abm_level && pipe_ctx->stream_res.abm) {
......
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