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>
Šī revīzija ir iekļauta:
@@ -2093,6 +2093,32 @@ int sde_rm_update_topology(struct sde_rm *rm,
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool sde_rm_topology_is_quad_pipe(struct sde_rm *rm,
|
||||
struct drm_crtc_state *state)
|
||||
{
|
||||
int i;
|
||||
struct sde_crtc_state *cstate;
|
||||
uint64_t topology = SDE_RM_TOPOLOGY_NONE;
|
||||
|
||||
if ((!rm) || (!state)) {
|
||||
pr_err("invalid arguments: rm:%d state:%d\n",
|
||||
rm == NULL, state == NULL);
|
||||
return false;
|
||||
}
|
||||
|
||||
cstate = to_sde_crtc_state(state);
|
||||
|
||||
for (i = 0; i < cstate->num_connectors; i++) {
|
||||
struct drm_connector *conn = cstate->connectors[i];
|
||||
|
||||
topology = sde_connector_get_topology_name(conn);
|
||||
if (TOPOLOGY_QUADPIPE_MERGE_MODE(topology))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* _sde_rm_release_rsvp - release resources and release a reservation
|
||||
* @rm: KMS handle
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user