From 7e77b664bbb6a4f4959391583f5b5a87743b3eca Mon Sep 17 00:00:00 2001 From: Satya Rama Aditya Pinapala Date: Tue, 6 Aug 2019 16:15:23 -0700 Subject: [PATCH] disp: msm: sde: fix dsi bridge init Initialization of DSI external bridge must be done within the initialization of DSI displays. The current method has the drm_ext_bridge_init being called outside the loop of DSI displays, and it will fail as the display, encoder and connector handle are not present. This fixes the regresion caused by commit edef6ae04060 ("disp: msm: dsi: snapshot of dsi from 4.14 to 4.19"). Change-Id: I50d0a303c2c8f4323e46cf14df1b071ebae80ceb Signed-off-by: Satya Rama Aditya Pinapala --- msm/sde/sde_kms.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/msm/sde/sde_kms.c b/msm/sde/sde_kms.c index 074c539b347f..e34f7be6f8b5 100644 --- a/msm/sde/sde_kms.c +++ b/msm/sde/sde_kms.c @@ -1296,16 +1296,17 @@ static int _sde_kms_setup_displays(struct drm_device *dev, sde_encoder_destroy(encoder); continue; } + + rc = dsi_display_drm_ext_bridge_init(display, + encoder, connector); + if (rc) { + SDE_ERROR("dsi %d ext bridge init failed\n", rc); + dsi_display_drm_bridge_deinit(display); + sde_connector_destroy(connector); + sde_encoder_destroy(encoder); + } } - rc = dsi_display_drm_ext_bridge_init(display, - encoder, connector); - if (rc) { - SDE_ERROR("dsi %d ext bridge init failed\n", rc); - dsi_display_drm_bridge_deinit(display); - sde_encoder_destroy(encoder); - sde_connector_destroy(connector); - } /* wb */ for (i = 0; i < sde_kms->wb_display_count &&