Esempio n. 1
0
/*
 * mdp4_overlay1_done_dtv: called from isr
 */
void mdp4_overlay1_done_dtv()
{
	if (dtv_pipe->blt_addr) {
		mdp4_dtv_blt_dmae_update(dtv_pipe);
		dtv_pipe->dmae_cnt++;
	}
	complete_all(&dtv_pipe->comp);
}
Esempio n. 2
0
/*
 * mdp4_overlay1_done_dtv: called from isr
 */
void mdp4_overlay1_done_dtv()
{
#ifdef CONFIG_MACH_LGE
/* QCT Patch : Prevent kernel Crash (mdp4_overlay1_done_dtv()) */
	if (!dtv_pipe)
		return;
#endif

	if (dtv_pipe->blt_addr) {
		mdp4_dtv_blt_dmae_update(dtv_pipe);
		dtv_pipe->dmae_cnt++;
	}
	complete_all(&dtv_pipe->comp);
}
/*
 * mdp4_overlay1_done_dtv: called from isr
 */
void mdp4_overlay1_done_dtv(void)
{
	struct vsycn_ctrl *vctrl;
	struct mdp4_overlay_pipe *pipe;
	int cndx = 0;

	vctrl = &vsync_ctrl_db[cndx];
	pipe = vctrl->base_pipe;

	spin_lock(&vctrl->spin_lock);
	if (pipe->ov_blt_addr == 0) {
		spin_unlock(&vctrl->spin_lock);
		return;
	}

	mdp4_dtv_blt_dmae_update(pipe);
	pipe->blt_dmap_done++;
	vsync_irq_disable(INTR_OVERLAY1_DONE, MDP_OVERLAY1_TERM);
	spin_unlock(&vctrl->spin_lock);
}