void mdp4_mddi_kickoff_ui(struct msm_fb_data_type *mfd,
				struct mdp4_overlay_pipe *pipe)
{

	if (mdp4_overlay_mixer_play(mddi_pipe->mixer_num) > 0) {
#ifdef MDDI_TIMER
		mddi_add_delay_timer(10);
#endif
		atomic_set(&mddi_delay_kickoff_cnt, 1);
		INIT_COMPLETION(mddi_delay_comp);
		mutex_unlock(&mfd->dma->ov_mutex);
		wait_for_completion_killable(&mddi_delay_comp);
		mutex_lock(&mfd->dma->ov_mutex);
	}

	mdp4_mddi_overlay_kickoff(mfd, pipe);
}
void mdp4_mddi_kickoff_ui(struct msm_fb_data_type *mfd,
				struct mdp4_overlay_pipe *pipe)
{

	if (mdp4_overlay_mixer_play(mddi_pipe->mixer_num) > 0) {
#ifdef MDDI_TIMER
		mddi_add_delay_timer(10);
#endif
		atomic_set(&mddi_delay_kickoff_cnt, 1);
		INIT_COMPLETION(mddi_delay_comp);
		up(&mfd->dma->ov_sem);
		wait_for_completion_killable(&mddi_delay_comp);
		down(&mfd->dma->ov_sem);
		/* semaphore was re-locked, wait for DMA completion again*/
		mdp4_mddi_dma_busy_wait(mfd, pipe);
	}

	mdp4_mddi_overlay_kickoff(mfd, pipe);
}