drm/amd/display: Skip determining update type for async updates
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Wed, 31 Jul 2019 13:45:16 +0000 (09:45 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 2 Aug 2019 15:30:38 +0000 (10:30 -0500)
commit43d10d30df156f7834fa91aecb69614fefc8bb0a
tree38fc438eacabe70c09da3ddf7999792e472a8909
parente16e37efb4c9eb7bcb9dab756c975040c5257e98
drm/amd/display: Skip determining update type for async updates

[Why]
By passing through the dm_determine_update_type_for_commit for atomic
commits that can be done asynchronously we are incurring a
performance penalty by locking access to the global private object
and holding that access until the end of the programming sequence.

This is also allocating a new large dc_state on every access in addition
to retaining all the references on each stream and plane until the end
of the programming sequence.

[How]
Shift the determination for async update before validation. Return early
if it's going to be an async update.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: David Francis <david.francis@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c