Merge "disp: msm: sde: use new state when checking conn-crtc association" into display-kernel.lnx.5.4

This commit is contained in:
Linux Build Service Account
2020-07-10 12:36:48 -07:00
committed by Gerrit - the friendly Code Review server

View File

@@ -4873,6 +4873,7 @@ static int sde_crtc_atomic_check(struct drm_crtc *crtc,
struct sde_multirect_plane_states *multirect_plane = NULL;
struct drm_connector *conn;
struct drm_connector_list_iter conn_iter;
struct drm_connector_state *conn_state;
if (!crtc) {
SDE_ERROR("invalid crtc\n");
@@ -4908,6 +4909,19 @@ static int sde_crtc_atomic_check(struct drm_crtc *crtc,
if (state->active_changed)
state->mode_changed = true;
/* identify connectors attached to this crtc */
cstate->num_connectors = 0;
drm_connector_list_iter_begin(dev, &conn_iter);
drm_for_each_connector_iter(conn, &conn_iter) {
conn_state = drm_atomic_get_connector_state(state->state, conn);
if (conn_state && conn_state->crtc == crtc &&
cstate->num_connectors < MAX_CONNECTORS) {
cstate->connectors[cstate->num_connectors++] = conn;
}
}
drm_connector_list_iter_end(&conn_iter);
rc = _sde_crtc_check_dest_scaler_data(crtc, state);
if (rc) {
SDE_ERROR("crtc%d failed dest scaler check %d\n",
@@ -4922,17 +4936,6 @@ static int sde_crtc_atomic_check(struct drm_crtc *crtc,
goto end;
}
/* identify connectors attached to this crtc */
cstate->num_connectors = 0;
drm_connector_list_iter_begin(dev, &conn_iter);
drm_for_each_connector_iter(conn, &conn_iter)
if (conn->state && conn->state->crtc == crtc &&
cstate->num_connectors < MAX_CONNECTORS) {
cstate->connectors[cstate->num_connectors++] = conn;
}
drm_connector_list_iter_end(&conn_iter);
_sde_crtc_setup_is_ppsplit(state);
_sde_crtc_setup_lm_bounds(crtc, state);