disp: msm: dsi: unify dynamic clk support for command mode
Currently the dynamic bit clock switch trigger for command mode is supported via sysfs node. This might lead to unnecessary race conditions, when dsi driver is enabling the dsi bit clock as part of commit and at the same time if bit rate change via sysfs happens. So make the trigger happens via kernel mode set call as done for video mode. Change-Id: I17acb408d2b6dbd6fa41994e56262e31e43d088b Signed-off-by: Ritesh Kumar <riteshk@codeaurora.org> Signed-off-by: Yujun Zhang <yujunzhang@codeaurora.org>
This commit is contained in:
@@ -3093,12 +3093,9 @@ struct dsi_panel *dsi_panel_get(struct device *parent,
|
||||
pr_err("failed to parse qsync features, rc=%d\n", rc);
|
||||
}
|
||||
|
||||
if (panel->panel_mode == DSI_OP_VIDEO_MODE) {
|
||||
rc = dsi_panel_parse_dyn_clk_caps(panel);
|
||||
if (rc)
|
||||
pr_err("failed to parse dynamic clk config, rc=%d\n",
|
||||
rc);
|
||||
}
|
||||
rc = dsi_panel_parse_dyn_clk_caps(panel);
|
||||
if (rc)
|
||||
pr_err("failed to parse dynamic clk config, rc=%d\n", rc);
|
||||
|
||||
rc = dsi_panel_parse_phy_props(panel);
|
||||
if (rc) {
|
||||
@@ -3522,6 +3519,7 @@ int dsi_panel_get_host_cfg_for_mode(struct dsi_panel *panel,
|
||||
struct dsi_host_config *config)
|
||||
{
|
||||
int rc = 0;
|
||||
struct dsi_dyn_clk_caps *dyn_clk_caps = &panel->dyn_clk_caps;
|
||||
|
||||
if (!panel || !mode || !config) {
|
||||
pr_err("invalid params\n");
|
||||
@@ -3549,7 +3547,11 @@ int dsi_panel_get_host_cfg_for_mode(struct dsi_panel *panel,
|
||||
config->video_timing.dsc_enabled = mode->priv_info->dsc_enabled;
|
||||
config->video_timing.dsc = &mode->priv_info->dsc;
|
||||
|
||||
config->bit_clk_rate_hz_override = mode->priv_info->clk_rate_hz;
|
||||
if (dyn_clk_caps->dyn_clk_support)
|
||||
config->bit_clk_rate_hz_override = mode->timing.clk_rate_hz;
|
||||
else
|
||||
config->bit_clk_rate_hz_override = mode->priv_info->clk_rate_hz;
|
||||
|
||||
config->esc_clk_rate_hz = 19200000;
|
||||
mutex_unlock(&panel->panel_lock);
|
||||
return rc;
|
||||
|
Viittaa uudesa ongelmassa
Block a user