summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWenjing Liu <Wenjing.Liu@amd.com>2019-02-20 14:00:55 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-31 06:45:18 -0700
commit0ba2edf3f68f1aa80dbb7cf726ad21a089489ad4 (patch)
tree567065994adc603dce7c65d350125f3590821f0e
parent10f50fcebfbb982bafc0d37e3c9cc1c414661df9 (diff)
downloadlinux-0ba2edf3f68f1aa80dbb7cf726ad21a089489ad4.tar.gz
linux-0ba2edf3f68f1aa80dbb7cf726ad21a089489ad4.tar.bz2
linux-0ba2edf3f68f1aa80dbb7cf726ad21a089489ad4.zip
drm/amd/display: add pipe lock during stream update
[ Upstream commit e6bddf6c67f9a3abf6f1ef75e52bc1cd228dfe4d ] [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: Wenjing Liu <Wenjing.Liu@amd.com> Reviewed-by: Jun Lei <Jun.Lei@amd.com> Acked-by: Leo Li <sunpeng.li@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/gpu/drm/amd/display/dc/core/dc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 68529acba015..c0db7788c464 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -1511,6 +1511,7 @@ static void commit_planes_do_stream_update(struct dc *dc,
continue;
if (stream_update->dpms_off) {
+ dc->hwss.pipe_control_lock(dc, pipe_ctx, true);
if (*stream_update->dpms_off) {
core_link_disable_stream(pipe_ctx, KEEP_ACQUIRED_RESOURCE);
dc->hwss.optimize_bandwidth(dc, dc->current_state);
@@ -1518,6 +1519,7 @@ static void commit_planes_do_stream_update(struct dc *dc,
dc->hwss.prepare_bandwidth(dc, dc->current_state);
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) {