From 03af5b7083ef020e9d3f59174bba5737fd91399b Mon Sep 17 00:00:00 2001 From: Vara Reddy Date: Tue, 1 Oct 2019 12:38:06 -0700 Subject: [PATCH] drm/msm/dsi: bypass dsi clock set during changing mode Bypass setting clkrate_change_pending flag if the current mode and the mode to be set has the same preferred clock rate. Change-Id: Id1f6c45e822492427cf3555beeaa5f0e7ea3243c Signed-off-by: Vara Reddy --- msm/dsi/dsi_display.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/msm/dsi/dsi_display.c b/msm/dsi/dsi_display.c index 612e9de9fb..44a62a2a7c 100644 --- a/msm/dsi/dsi_display.c +++ b/msm/dsi/dsi_display.c @@ -4489,8 +4489,13 @@ static int dsi_display_set_mode_sub(struct dsi_display *display, if ((mode->dsi_mode_flags & DSI_MODE_FLAG_DMS) && (display->panel->panel_mode == DSI_OP_CMD_MODE)) { + u64 cur_bitclk = display->panel->cur_mode->timing.clk_rate_hz; + u64 to_bitclk = mode->timing.clk_rate_hz; commit_phy_timing = true; - atomic_set(&display->clkrate_change_pending, 1); + + /* No need to set clkrate pending flag if clocks are same */ + if (cur_bitclk != to_bitclk) + atomic_set(&display->clkrate_change_pending, 1); dsi_display_validate_dms_fps(display->panel->cur_mode, mode); }