drm/amd/display: Add minimal pipe split transition state
authorRodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Mon, 20 Jun 2022 20:37:07 +0000 (16:37 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 5 Jul 2022 20:12:22 +0000 (16:12 -0400)
commit97ca308925a50aa80711ccfaf814fa3898374862
tree9447c589c1888d7350a0aa8f1c50f620670f9630
parenta5eeb70de411ef8b1cf5d97806ed6769b84be872
drm/amd/display: Add minimal pipe split transition state

[WHY?]
When adding/removing a plane to some configurations, unsupported pipe
programming can occur when moving to a new plane.  Such cases include pipe
split on multi-display, with MPO, and/or ODM.

[HOW?]
Add a safe transistion state that minimizes pipe usage before programming
new configuration. When adding a plane, the current state has the least
pipes required so it is applied without splitting.  This must be applied
prior to updating the plane_state for seamless transition.  When removing a
plane, the new state has the least pieps required so it is applied without
splitting.

Signed-off-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Tested-by: Daniel Wheeler <daniel.wheeler@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/core/dc.c
drivers/gpu/drm/amd/display/dc/dc_stream.h