diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c index 5322fa6988bc..2b7bfe56a55e 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c +++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c @@ -2455,18 +2455,6 @@ static void mdss_mdp_overlay_pan_display(struct msm_fb_data_type *mfd) goto clk_disable; } - ret = mdss_mdp_overlay_start(mfd); - if (ret) { - pr_err("unable to start overlay %d (%d)\n", mfd->index, ret); - goto clk_disable; - } - - ret = mdss_iommu_ctrl(1); - if (IS_ERR_VALUE(ret)) { - pr_err("IOMMU attach failed\n"); - goto clk_disable; - } - ret = mdss_mdp_overlay_get_fb_pipe(mfd, &l_pipe, MDSS_MDP_MIXER_MUX_LEFT, &l_pipe_allocated); if (ret) { @@ -2479,6 +2467,18 @@ static void mdss_mdp_overlay_pan_display(struct msm_fb_data_type *mfd) goto pipe_release; } + ret = mdss_mdp_overlay_start(mfd); + if (ret) { + pr_err("unable to start overlay %d (%d)\n", mfd->index, ret); + goto clk_disable; + } + + ret = mdss_iommu_ctrl(1); + if (IS_ERR_VALUE(ret)) { + pr_err("IOMMU attach failed\n"); + goto clk_disable; + } + buf_l = __mdp_overlay_buf_alloc(mfd, l_pipe); if (!buf_l) { pr_err("unable to allocate memory for fb buffer\n");