Loading msm/dsi/dsi_display.c +12 −8 Original line number Diff line number Diff line Loading @@ -5466,10 +5466,11 @@ static struct dsi_display_ext_bridge *dsi_display_ext_get_bridge( { struct msm_drm_private *priv; struct sde_kms *sde_kms; struct list_head *connector_list; struct drm_connector *conn_iter; struct drm_connector *conn; struct drm_connector_list_iter conn_iter; struct sde_connector *sde_conn; struct dsi_display *display; struct dsi_display_ext_bridge *dsi_bridge = NULL; int i; if (!bridge || !bridge->encoder) { Loading @@ -5479,20 +5480,23 @@ static struct dsi_display_ext_bridge *dsi_display_ext_get_bridge( priv = bridge->dev->dev_private; sde_kms = to_sde_kms(priv->kms); connector_list = &sde_kms->dev->mode_config.connector_list; list_for_each_entry(conn_iter, connector_list, head) { sde_conn = to_sde_connector(conn_iter); drm_connector_list_iter_begin(sde_kms->dev, &conn_iter); drm_for_each_connector_iter(conn, &conn_iter) { sde_conn = to_sde_connector(conn); if (sde_conn->encoder == bridge->encoder) { display = sde_conn->display; display_for_each_ctrl(i, display) { if (display->ext_bridge[i].bridge == bridge) return &display->ext_bridge[i]; if (display->ext_bridge[i].bridge == bridge) { dsi_bridge = &display->ext_bridge[i]; break; } } } } drm_connector_list_iter_end(&conn_iter); return NULL; return dsi_bridge; } static void dsi_display_drm_ext_adjust_timing( Loading msm/sde/sde_encoder.c +10 −6 Original line number Diff line number Diff line Loading @@ -2037,8 +2037,8 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc, struct sde_encoder_virt *sde_enc; struct msm_drm_private *priv; struct sde_kms *sde_kms; struct list_head *connector_list; struct drm_connector *conn = NULL, *conn_iter; struct drm_connector_list_iter conn_iter; struct drm_connector *conn = NULL, *conn_search; struct sde_rm_hw_iter dsc_iter, pp_iter, qdss_iter; struct sde_rm_hw_request request_hw; enum sde_intf_mode intf_mode; Loading @@ -2063,7 +2063,6 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc, priv = drm_enc->dev->dev_private; sde_kms = to_sde_kms(priv->kms); connector_list = &sde_kms->dev->mode_config.connector_list; SDE_EVT32(DRMID(drm_enc)); Loading @@ -2077,9 +2076,14 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc, } sde_enc->crtc = drm_enc->crtc; list_for_each_entry(conn_iter, connector_list, head) if (conn_iter->encoder == drm_enc) conn = conn_iter; drm_connector_list_iter_begin(sde_kms->dev, &conn_iter); drm_for_each_connector_iter(conn_search, &conn_iter) { if (conn_search->encoder == drm_enc) { conn = conn_search; break; } } drm_connector_list_iter_end(&conn_iter); if (!conn) { SDE_ERROR_ENC(sde_enc, "failed to find attached connector\n"); Loading msm/sde/sde_rm.c +11 −7 Original line number Diff line number Diff line Loading @@ -1886,15 +1886,19 @@ static struct sde_rm_rsvp *_sde_rm_get_rsvp_nxt( static struct drm_connector *_sde_rm_get_connector( struct drm_encoder *enc) { struct drm_connector *conn = NULL; struct list_head *connector_list = &enc->dev->mode_config.connector_list; struct drm_connector *conn = NULL, *conn_search; struct drm_connector_list_iter conn_iter; list_for_each_entry(conn, connector_list, head) if (conn->encoder == enc) return conn; drm_connector_list_iter_begin(enc->dev, &conn_iter); drm_for_each_connector_iter(conn_search, &conn_iter) { if (conn_search->encoder == enc) { conn = conn_search; break; } } drm_connector_list_iter_end(&conn_iter); return NULL; return conn; } int sde_rm_update_topology(struct drm_connector_state *conn_state, Loading Loading
msm/dsi/dsi_display.c +12 −8 Original line number Diff line number Diff line Loading @@ -5466,10 +5466,11 @@ static struct dsi_display_ext_bridge *dsi_display_ext_get_bridge( { struct msm_drm_private *priv; struct sde_kms *sde_kms; struct list_head *connector_list; struct drm_connector *conn_iter; struct drm_connector *conn; struct drm_connector_list_iter conn_iter; struct sde_connector *sde_conn; struct dsi_display *display; struct dsi_display_ext_bridge *dsi_bridge = NULL; int i; if (!bridge || !bridge->encoder) { Loading @@ -5479,20 +5480,23 @@ static struct dsi_display_ext_bridge *dsi_display_ext_get_bridge( priv = bridge->dev->dev_private; sde_kms = to_sde_kms(priv->kms); connector_list = &sde_kms->dev->mode_config.connector_list; list_for_each_entry(conn_iter, connector_list, head) { sde_conn = to_sde_connector(conn_iter); drm_connector_list_iter_begin(sde_kms->dev, &conn_iter); drm_for_each_connector_iter(conn, &conn_iter) { sde_conn = to_sde_connector(conn); if (sde_conn->encoder == bridge->encoder) { display = sde_conn->display; display_for_each_ctrl(i, display) { if (display->ext_bridge[i].bridge == bridge) return &display->ext_bridge[i]; if (display->ext_bridge[i].bridge == bridge) { dsi_bridge = &display->ext_bridge[i]; break; } } } } drm_connector_list_iter_end(&conn_iter); return NULL; return dsi_bridge; } static void dsi_display_drm_ext_adjust_timing( Loading
msm/sde/sde_encoder.c +10 −6 Original line number Diff line number Diff line Loading @@ -2037,8 +2037,8 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc, struct sde_encoder_virt *sde_enc; struct msm_drm_private *priv; struct sde_kms *sde_kms; struct list_head *connector_list; struct drm_connector *conn = NULL, *conn_iter; struct drm_connector_list_iter conn_iter; struct drm_connector *conn = NULL, *conn_search; struct sde_rm_hw_iter dsc_iter, pp_iter, qdss_iter; struct sde_rm_hw_request request_hw; enum sde_intf_mode intf_mode; Loading @@ -2063,7 +2063,6 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc, priv = drm_enc->dev->dev_private; sde_kms = to_sde_kms(priv->kms); connector_list = &sde_kms->dev->mode_config.connector_list; SDE_EVT32(DRMID(drm_enc)); Loading @@ -2077,9 +2076,14 @@ static void sde_encoder_virt_mode_set(struct drm_encoder *drm_enc, } sde_enc->crtc = drm_enc->crtc; list_for_each_entry(conn_iter, connector_list, head) if (conn_iter->encoder == drm_enc) conn = conn_iter; drm_connector_list_iter_begin(sde_kms->dev, &conn_iter); drm_for_each_connector_iter(conn_search, &conn_iter) { if (conn_search->encoder == drm_enc) { conn = conn_search; break; } } drm_connector_list_iter_end(&conn_iter); if (!conn) { SDE_ERROR_ENC(sde_enc, "failed to find attached connector\n"); Loading
msm/sde/sde_rm.c +11 −7 Original line number Diff line number Diff line Loading @@ -1886,15 +1886,19 @@ static struct sde_rm_rsvp *_sde_rm_get_rsvp_nxt( static struct drm_connector *_sde_rm_get_connector( struct drm_encoder *enc) { struct drm_connector *conn = NULL; struct list_head *connector_list = &enc->dev->mode_config.connector_list; struct drm_connector *conn = NULL, *conn_search; struct drm_connector_list_iter conn_iter; list_for_each_entry(conn, connector_list, head) if (conn->encoder == enc) return conn; drm_connector_list_iter_begin(enc->dev, &conn_iter); drm_for_each_connector_iter(conn_search, &conn_iter) { if (conn_search->encoder == enc) { conn = conn_search; break; } } drm_connector_list_iter_end(&conn_iter); return NULL; return conn; } int sde_rm_update_topology(struct drm_connector_state *conn_state, Loading