Merge "drm/msm/sde: fix invalid connector state in crtc check" into display-kernel.lnx.5.4

This commit is contained in:
Linux Build Service Account
2020-07-17 15:14:51 -07:00
committed by Gerrit - the friendly Code Review server

파일 보기

@@ -4875,7 +4875,6 @@ static int sde_crtc_atomic_check(struct drm_crtc *crtc,
struct sde_multirect_plane_states *multirect_plane = NULL; struct sde_multirect_plane_states *multirect_plane = NULL;
struct drm_connector *conn; struct drm_connector *conn;
struct drm_connector_list_iter conn_iter; struct drm_connector_list_iter conn_iter;
struct drm_connector_state *conn_state;
if (!crtc) { if (!crtc) {
SDE_ERROR("invalid crtc\n"); SDE_ERROR("invalid crtc\n");
@@ -4913,15 +4912,13 @@ static int sde_crtc_atomic_check(struct drm_crtc *crtc,
/* identify connectors attached to this crtc */ /* identify connectors attached to this crtc */
cstate->num_connectors = 0; 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 && drm_connector_list_iter_begin(dev, &conn_iter);
cstate->num_connectors < MAX_CONNECTORS) { drm_for_each_connector_iter(conn, &conn_iter)
if ((state->connector_mask & (1 << drm_connector_index(conn)))
&& cstate->num_connectors < MAX_CONNECTORS) {
cstate->connectors[cstate->num_connectors++] = conn; cstate->connectors[cstate->num_connectors++] = conn;
} }
}
drm_connector_list_iter_end(&conn_iter); drm_connector_list_iter_end(&conn_iter);
rc = _sde_crtc_check_dest_scaler_data(crtc, state); rc = _sde_crtc_check_dest_scaler_data(crtc, state);