]> git.baikalelectronics.ru Git - kernel.git/commit
drm/amd/display: Clean up locking in dcn*_apply_ctx_for_surface()
authorLeo Li <sunpeng.li@amd.com>
Wed, 20 Mar 2019 13:52:14 +0000 (09:52 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Sat, 22 Jun 2019 14:34:08 +0000 (09:34 -0500)
commit11c5f576cb482b54e225520968c50c1aba3d02a0
tree0301214ce6d153ff6d79c9fce8c93149fe4bcd5a
parentb5a2147585f1c72df3ace5c8496cb3e389f782de
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>
Acked-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c