Revert "disp: msm: sde: add crtc width restriction when 3d-merge is enabled"
This reverts commit d66b542c43.
Change-Id: I8ce020b7a305ce345f9b716d2f8c8d34ac5ef35f
Signed-off-by: Bruce Levy <quic_blevy@quicinc.com>
This commit is contained in:
@@ -1217,22 +1217,7 @@ static inline int sde_connector_state_get_compression_info(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool sde_connector_is_quadpipe_3d_merge_enabled(struct drm_connector *conn)
|
static inline bool sde_connector_is_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;
|
enum sde_rm_topology_name topology;
|
||||||
|
|
||||||
@@ -1242,18 +1227,14 @@ static inline bool sde_connector_is_dualpipe_3d_merge_enabled(struct drm_connect
|
|||||||
topology = sde_connector_get_topology_name(conn);
|
topology = sde_connector_get_topology_name(conn);
|
||||||
if ((topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE)
|
if ((topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE)
|
||||||
|| (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC)
|
|| (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC)
|
||||||
|| (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_VDC))
|
|| (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_VDC)
|
||||||
|
|| (topology == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE)
|
||||||
|
|| (topology == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE_DSC))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
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
|
* sde_connector_set_msm_mode - set msm_mode for connector state
|
||||||
* @conn_state: Pointer to drm connector state structure
|
* @conn_state: Pointer to drm connector state structure
|
||||||
|
|||||||
@@ -1364,8 +1364,6 @@ static int _sde_crtc_check_rois(struct drm_crtc *crtc,
|
|||||||
u32 crtc_width, crtc_height, mixer_width, mixer_height;
|
u32 crtc_width, crtc_height, mixer_width, mixer_height;
|
||||||
struct drm_display_mode *adj_mode;
|
struct drm_display_mode *adj_mode;
|
||||||
int rc = 0, lm_idx, i;
|
int rc = 0, lm_idx, i;
|
||||||
struct drm_connector *conn;
|
|
||||||
struct drm_connector_state *conn_state;
|
|
||||||
|
|
||||||
if (!crtc || !state)
|
if (!crtc || !state)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -1381,27 +1379,14 @@ static int _sde_crtc_check_rois(struct drm_crtc *crtc,
|
|||||||
sde_crtc_get_resolution(crtc, state, adj_mode, &crtc_width, &crtc_height);
|
sde_crtc_get_resolution(crtc, state, adj_mode, &crtc_width, &crtc_height);
|
||||||
sde_crtc_get_mixer_resolution(crtc, state, adj_mode, &mixer_width, &mixer_height);
|
sde_crtc_get_mixer_resolution(crtc, state, adj_mode, &mixer_width, &mixer_height);
|
||||||
/* check cumulative mixer w/h is equal full crtc w/h */
|
/* check cumulative mixer w/h is equal full crtc w/h */
|
||||||
if (sde_crtc->num_mixers && (((mixer_width * sde_crtc->num_mixers) != crtc_width)
|
if (sde_crtc->num_mixers
|
||||||
|
&& (((mixer_width * sde_crtc->num_mixers) != crtc_width)
|
||||||
|| (mixer_height != crtc_height))) {
|
|| (mixer_height != crtc_height))) {
|
||||||
SDE_ERROR("%s: invalid w/h crtc:%d,%d, mixer:%d,%d, num_mixers:%d\n",
|
SDE_ERROR("%s: invalid w/h crtc:%d,%d, mixer:%d,%d, num_mixers:%d\n",
|
||||||
sde_crtc->name, crtc_width, crtc_height, mixer_width, mixer_height,
|
sde_crtc->name, crtc_width, crtc_height, mixer_width, mixer_height,
|
||||||
sde_crtc->num_mixers);
|
sde_crtc->num_mixers);
|
||||||
rc = -EINVAL;
|
rc = -EINVAL;
|
||||||
goto end;
|
goto end;
|
||||||
} else if (state->state) {
|
|
||||||
for_each_new_connector_in_state(state->state, conn, conn_state, i) {
|
|
||||||
if (conn_state && (conn_state->crtc == crtc)
|
|
||||||
&& ((sde_connector_is_dualpipe_3d_merge_enabled(conn)
|
|
||||||
&& (crtc_width % 4))
|
|
||||||
|| (sde_connector_is_quadpipe_3d_merge_enabled(conn)
|
|
||||||
&& (crtc_width % 8)))) {
|
|
||||||
SDE_ERROR(
|
|
||||||
"%s: invalid 3d-merge_w - mixer_w:%d, crtc_w:%d, num_mixers:%d\n",
|
|
||||||
sde_crtc->name, mixer_width,
|
|
||||||
crtc_width, sde_crtc->num_mixers);
|
|
||||||
return -EINVAL;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
Reference in New Issue
Block a user