Merge "msm: mdss: Handle ping pong split configuration in splash done"
This commit is contained in:
commit
60e0197aa0
1 changed files with 17 additions and 5 deletions
|
@ -1981,22 +1981,34 @@ int mdss_mdp_cmd_reconfigure_splash_done(struct mdss_mdp_ctl *ctl,
|
|||
bool handoff)
|
||||
{
|
||||
struct mdss_panel_data *pdata;
|
||||
struct mdss_mdp_ctl *sctl = mdss_mdp_get_split_ctl(ctl);
|
||||
struct mdss_mdp_ctl *sctl = NULL;
|
||||
struct mdss_mdp_cmd_ctx *sctx = NULL;
|
||||
struct dsi_panel_clk_ctrl clk_ctrl;
|
||||
int ret = 0;
|
||||
|
||||
/* Get both controllers in the correct order for dual displays */
|
||||
mdss_mdp_get_split_display_ctls(&ctl, &sctl);
|
||||
|
||||
if (sctl)
|
||||
sctx = (struct mdss_mdp_cmd_ctx *) sctl->intf_ctx[MASTER_CTX];
|
||||
|
||||
/* In pingpong split we have single controller, dual context */
|
||||
if (is_pingpong_split(ctl->mfd))
|
||||
sctx = (struct mdss_mdp_cmd_ctx *) ctl->intf_ctx[SLAVE_CTX];
|
||||
|
||||
pdata = ctl->panel_data;
|
||||
|
||||
clk_ctrl.state = MDSS_DSI_CLK_OFF;
|
||||
clk_ctrl.client = DSI_CLK_REQ_MDP_CLIENT;
|
||||
if (sctl) {
|
||||
|
||||
if (sctx) { /* then slave */
|
||||
u32 flags = CTL_INTF_EVENT_FLAG_SKIP_BROADCAST;
|
||||
|
||||
if (is_pingpong_split(sctl->mfd))
|
||||
if (sctx->pingpong_split_slave)
|
||||
flags |= CTL_INTF_EVENT_FLAG_SLAVE_INTF;
|
||||
|
||||
mdss_mdp_ctl_intf_event(sctl, MDSS_EVENT_PANEL_CLK_CTRL,
|
||||
(void *)&clk_ctrl, flags);
|
||||
mdss_mdp_ctl_intf_event(sctx->ctl, MDSS_EVENT_PANEL_CLK_CTRL,
|
||||
(void *)&clk_ctrl, flags);
|
||||
}
|
||||
|
||||
mdss_mdp_ctl_intf_event(ctl, MDSS_EVENT_PANEL_CLK_CTRL,
|
||||
|
|
Loading…
Add table
Reference in a new issue