disp: msm: sde: add plane staging management for 4LM topologies

When a 4LM topology is used each plane attached to a CRTC
is tagged with a L/R layout value and an offset value
depending on where destination X coordinate lands on the display.
The layout information is used to determine SSPP to LM
pair mapping and local coordinate space.

This change also handles source-split and Z-order
validation checks for planes staged on different mixer
pairs.

Change-Id: I1b20223388e65fc36a8b379ad9df23a277fcd1a5
Signed-off-by: Amine Najahi <anajahi@codeaurora.org>
This commit is contained in:
Amine Najahi
2020-04-22 13:32:19 -04:00
vanhempi e7a890df11
commit 89c7e1dadf
7 muutettua tiedostoa jossa 194 lisäystä ja 24 poistoa

Näytä tiedosto

@@ -4252,6 +4252,14 @@ sde_plane_duplicate_state(struct drm_plane *plane)
__drm_atomic_helper_plane_duplicate_state(plane, &pstate->base);
/* reset layout offset */
if (pstate->layout_offset) {
if (pstate->layout_offset > 0)
pstate->base.crtc_x += pstate->layout_offset;
pstate->layout = SDE_LAYOUT_NONE;
pstate->layout_offset = 0;
}
return &pstate->base;
}