From 55099ebe9a00b563d133061bf9b186ce55bcd11d Mon Sep 17 00:00:00 2001 From: Krishna Manikandan Date: Tue, 22 Sep 2020 17:30:59 +0530 Subject: [PATCH] disp: msm: sde: ignore sspp check in rm splash init during vm handoff The last commit in primary-vm before transitioning to trusted-vm during trusted-ui usecase will be NULL commit for video mode. In the current splash path, rm reserve during cont splash res init will succeed only if there are sspps staged on the mixer. Avoid this check for vm handoff usecase. Change-Id: I9829c66f8eb856cc009edc35e489bc9adad1c5d7 Signed-off-by: Krishna Manikandan --- msm/sde/sde_rm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/msm/sde/sde_rm.c b/msm/sde/sde_rm.c index 20e1dc9473..fd25b861db 100644 --- a/msm/sde/sde_rm.c +++ b/msm/sde/sde_rm.c @@ -1868,12 +1868,15 @@ static int _sde_rm_get_hw_blk_for_cont_splash(struct sde_rm *rm, { u32 lm_reg; struct sde_rm_hw_iter iter_lm, iter_dsc; + struct sde_kms *sde_kms; if (!rm || !ctl || !splash_display) { SDE_ERROR("invalid input parameters\n"); return 0; } + sde_kms = container_of(rm, struct sde_kms, rm); + sde_rm_init_hw_iter(&iter_lm, 0, SDE_HW_BLK_LM); sde_rm_init_hw_iter(&iter_dsc, 0, SDE_HW_BLK_DSC); while (_sde_rm_get_hw_locked(rm, &iter_lm)) { @@ -1894,6 +1897,12 @@ static int _sde_rm_get_hw_blk_for_cont_splash(struct sde_rm *rm, &splash_display->pipes[ splash_display->pipe_cnt], 1)) { splash_display->pipe_cnt++; + } else if (sde_kms->splash_data.type == SDE_VM_HANDOFF) { + /* Allow VM handoff without any pipes, as it is a + * valid case to have NULL commit before the + * transition. + */ + SDE_DEBUG("VM handoff with no pipes staged\n"); } else { SDE_ERROR("no pipe detected on LM-%d\n", iter_lm.blk->id - LM_0);