From cb72a803fd0ab74f6d9a8162d4a6edfffaf0df1a Mon Sep 17 00:00:00 2001 From: Archit Taneja Date: Wed, 28 Sep 2011 10:49:26 -0300 Subject: [PATCH] --- yaml --- r: 285160 b: refs/heads/master c: e144ca6426655aec8ec828e339ac57a3e00fefd0 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/video/omap/omap_vout.c | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 3eb737fb32cf..79ba54ddc8be 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2780168859645353086b98492a979ae97da0a2dc +refs/heads/master: e144ca6426655aec8ec828e339ac57a3e00fefd0 diff --git a/trunk/drivers/media/video/omap/omap_vout.c b/trunk/drivers/media/video/omap/omap_vout.c index 7bfe577a7230..c344d5992f3c 100644 --- a/trunk/drivers/media/video/omap/omap_vout.c +++ b/trunk/drivers/media/video/omap/omap_vout.c @@ -565,8 +565,8 @@ static int omapvid_handle_interlace_display(struct omap_vout_device *vout, static void omap_vout_isr(void *arg, unsigned int irqstatus) { - int ret, fid; - u32 addr; + int ret, fid, mgr_id; + u32 addr, irq; struct omap_overlay *ovl; struct timeval timevalue; struct omapvideo_info *ovid; @@ -582,6 +582,7 @@ static void omap_vout_isr(void *arg, unsigned int irqstatus) if (!ovl->manager || !ovl->manager->device) return; + mgr_id = ovl->manager->id; cur_display = ovl->manager->device; spin_lock(&vout->vbq_lock); @@ -589,7 +590,14 @@ static void omap_vout_isr(void *arg, unsigned int irqstatus) switch (cur_display->type) { case OMAP_DISPLAY_TYPE_DPI: - if (!(irqstatus & (DISPC_IRQ_VSYNC | DISPC_IRQ_VSYNC2))) + if (mgr_id == OMAP_DSS_CHANNEL_LCD) + irq = DISPC_IRQ_VSYNC; + else if (mgr_id == OMAP_DSS_CHANNEL_LCD2) + irq = DISPC_IRQ_VSYNC2; + else + goto vout_isr_err; + + if (!(irqstatus & irq)) goto vout_isr_err; break; case OMAP_DISPLAY_TYPE_VENC: