disp: msm: dsi: enable dfps trigger at mdp intf flush

This change allows dynamic refresh trigger to sw trigger
and mdp intf flush. With this we can make sure that DSI
timing/clock update and mdp intf timings are updated in
one vsync.

Change-Id: Ic807f498e2e47be6dd0f1e11ff1fc0896a8ec758
Signed-off-by: Vara Reddy <varar@codeaurora.org>
This commit is contained in:
Vara Reddy
2020-08-18 08:45:42 -07:00
parent c75b0eb0a0
commit c9cb9f51f3
8 changed files with 117 additions and 2 deletions

View File

@@ -1196,6 +1196,32 @@ void dsi_phy_config_dynamic_refresh(struct msm_dsi_phy *phy,
mutex_unlock(&phy->phy_lock);
}
/**
* dsi_phy_dynamic_refresh_trigger_sel() - trigger dynamic refresh and
* update the video timings at next frame flush call.
* @phy: DSI PHY handle
* @is_master: Boolean to indicate if for master or slave.
*/
void dsi_phy_dynamic_refresh_trigger_sel(struct msm_dsi_phy *phy,
bool is_master)
{
if (!phy)
return;
mutex_lock(&phy->phy_lock);
/*
* program DYNAMIC_REFRESH_CTRL.TRIGGER_SEL for master.
*/
if (phy->hw.ops.dyn_refresh_ops.dyn_refresh_trigger_sel)
phy->hw.ops.dyn_refresh_ops.dyn_refresh_trigger_sel
(&phy->hw, is_master);
phy->dfps_trigger_mdpintf_flush = true;
SDE_EVT32(is_master, phy->index);
mutex_unlock(&phy->phy_lock);
}
/**
* dsi_phy_dynamic_refresh_trigger() - trigger dynamic refresh
* @phy: DSI PHY handle