diff --git a/msm/dsi/dsi_display.c b/msm/dsi/dsi_display.c index 809294bf50..c3caa7148c 100644 --- a/msm/dsi/dsi_display.c +++ b/msm/dsi/dsi_display.c @@ -5930,9 +5930,7 @@ int dsi_display_get_modes(struct dsi_display *display, display_mode.timing.min_dsi_clk_hz; display_mode.priv_info->mdp_transfer_time_us = - display_mode.priv_info->dsi_transfer_time_us; - display_mode.timing.mdp_transfer_time_us = - display_mode.timing.dsi_transfer_time_us; + display_mode.timing.mdp_transfer_time_us; } is_split_link = host->split_link.split_link_enabled; diff --git a/msm/dsi/dsi_panel.c b/msm/dsi/dsi_panel.c index c2d4886ed1..e48deb214e 100644 --- a/msm/dsi/dsi_panel.c +++ b/msm/dsi/dsi_panel.c @@ -3646,6 +3646,14 @@ void dsi_panel_calc_dsi_transfer_time(struct dsi_host_common_cfg *config, frame_threshold_us; } + timing->mdp_transfer_time_us = timing->dsi_transfer_time_us; + + /* Force update mdp xfer time to hal,if clk and mdp xfer time is set */ + if (mode->priv_info->mdp_transfer_time_us && timing->clk_rate_hz) { + timing->mdp_transfer_time_us = + mode->priv_info->mdp_transfer_time_us; + } + /* Calculate pclk_khz to update modeinfo */ pclk_rate_hz = mult_frac(min_bitclk_hz, frame_time_us, timing->dsi_transfer_time_us);