• Wenjing Liu's avatar
    drm/amd/display: fix nonseamless transition from ODM + MPO to ODM + subvp · 57b1ce83
    Wenjing Liu authored
    [why]
     when ODM + MPO is used for all 4 available pipes. Pipe transition will
     be nonseamless. Phantom OTG master pipe reuses the secondary OPP head
     pipe. There is no possible seamless path to transit to the new
     state. The correct logic would be to reuse a secondary DPP pipe as the
     phantom OTG master pipe. This way we are able to first transit the
     minimal transtion state of new and then transit to new state seamlessly.
    
     current                      New (nonseamless)
     ________________________     ________________________
     | plane0  slice0  stream0|   | plane0  slice0  stream0|
     |DPP0----OPP0----OTG0----|   |DPP0----OPP0----OTG0----|
     | plane1 |       |       |   | plane0  slice1 |       |
     |DPP2----|       |       |   |DPP2----OPP2----|       |
     | plane0  slice1 |       |   | plane0  slice0  stream1|
     |DPP1----OPP1----|       |   |DPP1----OPP1----OTG1----|
     | plane1 |               |   | plane0  slice1 |       |
     |DPP3----|               |   |DPP3----OPP3----|       |
     |________________________|   |________________________|
    
     New (seamless)               New (minimal transition)
     ________________________     ________________________
     | plane0  slice0  stream0|   | plane0  slice0  stream0|
     |DPP0----OPP0----OTG0----|   |DPP0----OPP0----OTG0----|
     | plane0  slice1 |       |   | plane0  slice1 |       |
     |DPP1----OPP1----|       |   |DPP1----OPP1----|       |
     | plane0  slice0  stream1|   |________________________|
     |DPP2----OPP2----OTG2----|
     | plane0  slice1 |       |
     |DPP3----OPP3----|       |
     |________________________|
    
    [how]
    Try to acquire free pipes used as secondary DPP pipes from current state
    before try to acquire any free pipes for new OTG master pipe.
    Reviewed-by: default avatarAlvin Lee <alvin.lee2@amd.com>
    Acked-by: default avatarTom Chung <chiahsuan.chung@amd.com>
    Signed-off-by: default avatarWenjing Liu <wenjing.liu@amd.com>
    Tested-by: default avatarDaniel Wheeler <daniel.wheeler@amd.com>
    Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    57b1ce83
resource.h 22.9 KB