diff --git a/msm/sde/sde_connector.h b/msm/sde/sde_connector.h index d5d8c91cda..86ff2ace80 100644 --- a/msm/sde/sde_connector.h +++ b/msm/sde/sde_connector.h @@ -1217,14 +1217,15 @@ static inline int sde_connector_state_get_compression_info( return 0; } -static inline bool sde_connector_is_quadpipe_3d_merge_enabled(struct drm_connector *conn) +static inline bool sde_connector_is_quadpipe_3d_merge_enabled( + struct drm_connector_state *conn_state) { enum sde_rm_topology_name topology; - if (!conn) + if (!conn_state) return false; - topology = sde_connector_get_topology_name(conn); + topology = sde_connector_get_property(conn_state, CONNECTOR_PROP_TOPOLOGY_NAME); if ((topology == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE) || (topology == SDE_RM_TOPOLOGY_QUADPIPE_3DMERGE_DSC)) return true; @@ -1232,14 +1233,15 @@ static inline bool sde_connector_is_quadpipe_3d_merge_enabled(struct drm_connect return false; } -static inline bool sde_connector_is_dualpipe_3d_merge_enabled(struct drm_connector *conn) +static inline bool sde_connector_is_dualpipe_3d_merge_enabled( + struct drm_connector_state *conn_state) { enum sde_rm_topology_name topology; - if (!conn) + if (!conn_state) return false; - topology = sde_connector_get_topology_name(conn); + topology = sde_connector_get_property(conn_state, CONNECTOR_PROP_TOPOLOGY_NAME); if ((topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE) || (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_DSC) || (topology == SDE_RM_TOPOLOGY_DUALPIPE_3DMERGE_VDC)) @@ -1248,10 +1250,10 @@ static inline bool sde_connector_is_dualpipe_3d_merge_enabled(struct drm_connect return false; } -static inline bool sde_connector_is_3d_merge_enabled(struct drm_connector *conn) +static inline bool sde_connector_is_3d_merge_enabled(struct drm_connector_state *conn_state) { - return sde_connector_is_dualpipe_3d_merge_enabled(conn) - || sde_connector_is_quadpipe_3d_merge_enabled(conn); + return sde_connector_is_dualpipe_3d_merge_enabled(conn_state) + || sde_connector_is_quadpipe_3d_merge_enabled(conn_state); } /** diff --git a/msm/sde/sde_crtc.c b/msm/sde/sde_crtc.c index b63dc387d9..fa50d1113f 100644 --- a/msm/sde/sde_crtc.c +++ b/msm/sde/sde_crtc.c @@ -1391,9 +1391,9 @@ static int _sde_crtc_check_rois(struct drm_crtc *crtc, } 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) + && ((sde_connector_is_dualpipe_3d_merge_enabled(conn_state) && (crtc_width % 4)) - || (sde_connector_is_quadpipe_3d_merge_enabled(conn) + || (sde_connector_is_quadpipe_3d_merge_enabled(conn_state) && (crtc_width % 8)))) { SDE_ERROR( "%s: invalid 3d-merge_w - mixer_w:%d, crtc_w:%d, num_mixers:%d\n", @@ -1421,7 +1421,7 @@ static int _sde_crtc_check_rois(struct drm_crtc *crtc, goto end; } - if (sde_connector_is_3d_merge_enabled(conn) && (mixer_width % 2)) { + if (sde_connector_is_3d_merge_enabled(conn->state) && (mixer_width % 2)) { SDE_ERROR( "%s: invalid width w/ 3d-merge - mixer_w:%d, crtc_w:%d, num_mixers:%d\n", sde_crtc->name, crtc_width, mixer_width, sde_crtc->num_mixers);