disp: msm: dsi: move panel regulator votes from bind to probe
Add vote for panel regulators in dsi probe to make sure panel regulators are ON until dsi bind is completed for cont-splash enabled usecase. Remove this panel regulator vote when dsi component bind is done. Change-Id: I0b1d43fa1b16385712abc1d8aaa0e778f31ba634 Signed-off-by: Chandan Uddaraju <chandanu@codeaurora.org>
此提交包含在:
@@ -5057,6 +5057,17 @@ static int dsi_display_bind(struct device *dev,
|
||||
}
|
||||
}
|
||||
|
||||
/* Remove the panel vote that was added during dsi display probe */
|
||||
if (display->panel) {
|
||||
rc = dsi_pwr_enable_regulator(&display->panel->power_info,
|
||||
false);
|
||||
if (rc) {
|
||||
DSI_ERR("[%s] failed to disable vregs, rc=%d\n",
|
||||
display->panel->name, rc);
|
||||
goto error_host_deinit;
|
||||
}
|
||||
}
|
||||
|
||||
/* register te irq handler */
|
||||
dsi_display_register_te_irq(display);
|
||||
|
||||
@@ -5167,6 +5178,24 @@ static int dsi_display_init(struct dsi_display *display)
|
||||
goto end;
|
||||
}
|
||||
|
||||
/*
|
||||
* Vote on panel regulator is added to make sure panel regulators
|
||||
* are ON until dsi bind is completed for cont-splash enabled usecase.
|
||||
* This panel regulator vote will be removed after bind is done.
|
||||
* For GKI, adding this vote will make sure that sync_state
|
||||
* kernel driver doesn't disable the panel regulators before
|
||||
* splash_config() function adds vote for these regulators.
|
||||
*/
|
||||
if (display->panel) {
|
||||
rc = dsi_pwr_enable_regulator(&display->panel->power_info,
|
||||
true);
|
||||
if (rc) {
|
||||
DSI_ERR("[%s] failed to enable vregs, rc=%d\n",
|
||||
display->panel->name, rc);
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
|
||||
rc = component_add(&pdev->dev, &dsi_display_comp_ops);
|
||||
if (rc)
|
||||
DSI_ERR("component add failed, rc=%d\n", rc);
|
||||
|
新增問題並參考
封鎖使用者