From 5f292a6eae6b00bac21f40625deb6d46ade5bed1 Mon Sep 17 00:00:00 2001 From: Rashi Bindra Date: Tue, 25 Jul 2017 14:37:50 +0530 Subject: [PATCH] msm: mdss: Fix the DSI lane swap programming logic In the current programming sequence, if a particular logical lane is not used, we map the corresponding physical lane for this to '0'; which means no connection. This can cause DSI FIFO overflow issues for panels which don't use all the 4 lanes. Fix this by programming the LOGICAL_LANE_SWAP_CTRL for all the 4 lanes always, irrespective of the number of lanes used. Change-Id: I31a703f8f5133eb85c33fd0d3728f824a435392d Signed-off-by: Rashi Bindra --- drivers/video/fbdev/msm/mdss_dsi.c | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/drivers/video/fbdev/msm/mdss_dsi.c b/drivers/video/fbdev/msm/mdss_dsi.c index 4ac10ab494e5..054df7b2ea4b 100644 --- a/drivers/video/fbdev/msm/mdss_dsi.c +++ b/drivers/video/fbdev/msm/mdss_dsi.c @@ -3268,21 +3268,6 @@ end: return rc; } -static void mdss_dsi_ctrl_validate_lane_swap_config( - struct mdss_dsi_ctrl_pdata *ctrl) -{ - struct mipi_panel_info *mipi = &ctrl->panel_data.panel_info.mipi; - - if (!mipi->data_lane0) - ctrl->lane_map[DSI_LOGICAL_LANE_0] = DSI_PHYSICAL_LANE_INVALID; - if (!mipi->data_lane1) - ctrl->lane_map[DSI_LOGICAL_LANE_1] = DSI_PHYSICAL_LANE_INVALID; - if (!mipi->data_lane2) - ctrl->lane_map[DSI_LOGICAL_LANE_2] = DSI_PHYSICAL_LANE_INVALID; - if (!mipi->data_lane3) - ctrl->lane_map[DSI_LOGICAL_LANE_3] = DSI_PHYSICAL_LANE_INVALID; -} - static int mdss_dsi_ctrl_validate_config(struct mdss_dsi_ctrl_pdata *ctrl) { int rc = 0; @@ -3292,8 +3277,6 @@ static int mdss_dsi_ctrl_validate_config(struct mdss_dsi_ctrl_pdata *ctrl) goto error; } - mdss_dsi_ctrl_validate_lane_swap_config(ctrl); - /* * check to make sure that the byte interface clock is specified for * DSI ctrl version 2 and above.