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>
Cette révision appartient à :
@@ -14,6 +14,12 @@
|
||||
#define SINGLE_CTL 1
|
||||
#define DUAL_CTL 2
|
||||
|
||||
#define TOPOLOGY_QUADPIPE_MERGE_MODE(x) \
|
||||
(x == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE ||\
|
||||
x == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE_DSC ||\
|
||||
x == SDE_RM_TOPOLOGY_QUADPIPE_DSCMERGE ||\
|
||||
x == SDE_RM_TOPOLOGY_QUADPIPE_DSC4HSMERGE)
|
||||
|
||||
/**
|
||||
* enum sde_rm_topology_name - HW resource use case in use by connector
|
||||
* @SDE_RM_TOPOLOGY_NONE: No topology in use currently
|
||||
@@ -337,6 +343,16 @@ static inline int sde_rm_topology_get_num_lm(struct sde_rm *rm,
|
||||
return rm->topology_tbl[topology].num_lm;
|
||||
}
|
||||
|
||||
/**
|
||||
* sde_rm_topology_is_quad_pipe - check if the topology used
|
||||
* is a quad-pipe mode one
|
||||
* @rm: SDE Resource Manager handle
|
||||
* @state: drm state of the crtc
|
||||
* @return: true if attached connector is in quad-pipe mode
|
||||
*/
|
||||
bool sde_rm_topology_is_quad_pipe(struct sde_rm *rm,
|
||||
struct drm_crtc_state *state);
|
||||
|
||||
/**
|
||||
* sde_rm_ext_blk_create_reserve - Create external HW blocks
|
||||
* in resource manager and reserve for specific encoder.
|
||||
|
Référencer dans un nouveau ticket
Bloquer un utilisateur