aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
diff options
context:
space:
mode:
authorLeo Li <sunpeng.li@amd.com>2019-03-20 09:52:14 -0400
committerAlex Deucher <alexander.deucher@amd.com>2019-04-10 13:53:28 -0500
commitc7e557ab46a7395fd28936c24e12e06f1841279c (patch)
treea056f7756d0fbdad0be63957f5727b2d84e6ae8a /drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
parentdrm/amd/display: Recreate private_obj->state during S3 resume (diff)
downloadwireguard-linux-c7e557ab46a7395fd28936c24e12e06f1841279c.tar.xz
wireguard-linux-c7e557ab46a7395fd28936c24e12e06f1841279c.zip
drm/amd/display: Clean up locking in dcn*_apply_ctx_for_surface()
[Why] dcn*_disable_plane() doesn't unlock the pipe anymore, making the extra lock unnecessary. In addition - during full plane updates - all necessary pipes should be locked/unlocked together when modifying hubp to avoid tearing in pipesplit setups. [How] Remove redundant locks, and add function to lock all pipes. If an interdependent pipe update is required, lock down all pipes. Otherwise, lock only the top pipe for the updated pipe tree. Signed-off-by: Leo Li <sunpeng.li@amd.com> Reviewed-by: Tony Cheng <Tony.Cheng@amd.com> Acked-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h')
-rw-r--r--drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
index 6d66084df55f..4b3b27a5d23b 100644
--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h
@@ -83,4 +83,8 @@ struct pipe_ctx *find_top_pipe_for_stream(
int get_vupdate_offset_from_vsync(struct pipe_ctx *pipe_ctx);
+void lock_all_pipes(struct dc *dc,
+ struct dc_state *context,
+ bool lock);
+
#endif /* __DC_HWSS_DCN10_H__ */