disp: msm: sde: add crtc width restriction when 3d-merge is enabled
Add validation during crtc_atomic_check to have crtc width as multiple of 4 when dualpipe 3d-mux is enabled and multiple of 8 when quadpipe 3d-mux is enabled. This ensures each layer mixer is having an even width. Change-Id: I5dc173c1b0349430a8e12a7b1c9440c7854e7ecd Signed-off-by: Veera Sundaram Sankaran <quic_veeras@quicinc.com>
This commit is contained in:
@@ -1217,7 +1217,22 @@ static inline int sde_connector_state_get_compression_info(
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline bool sde_connector_is_3d_merge_enabled(struct drm_connector *conn)
|
||||
static inline bool sde_connector_is_quadpipe_3d_merge_enabled(struct drm_connector *conn)
|
||||
{
|
||||
enum sde_rm_topology_name topology;
|
||||
|
||||
if (!conn)
|
||||
return false;
|
||||
|
||||
topology = sde_connector_get_topology_name(conn);
|
||||
if ((topology == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE)
|
||||
|| (topology == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE_DSC))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool sde_connector_is_dualpipe_3d_merge_enabled(struct drm_connector *conn)
|
||||
{
|
||||
enum sde_rm_topology_name topology;
|
||||
|
||||
@@ -1227,14 +1242,18 @@ static inline bool sde_connector_is_3d_merge_enabled(struct drm_connector *conn)
|
||||
topology = sde_connector_get_topology_name(conn);
|
||||
if ((topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE)
|
||||
|| (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC)
|
||||
|| (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_VDC)
|
||||
|| (topology == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE)
|
||||
|| (topology == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE_DSC))
|
||||
|| (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_VDC))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool sde_connector_is_3d_merge_enabled(struct drm_connector *conn)
|
||||
{
|
||||
return sde_connector_is_dualpipe_3d_merge_enabled(conn)
|
||||
|| sde_connector_is_quadpipe_3d_merge_enabled(conn);
|
||||
}
|
||||
|
||||
/**
|
||||
* sde_connector_set_msm_mode - set msm_mode for connector state
|
||||
* @conn_state: Pointer to drm connector state structure
|
||||
|
Reference in New Issue
Block a user