OSDN Git Service

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)
commit4e0cbbbfbc37fd5a8bdf653a1ebb7b271a506e2d
tree0301214ce6d153ff6d79c9fce8c93149fe4bcd5a
parent1b394e92a149db7ec277b7cc995888304149a5b1
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