[media] omap3isp: ccdc: Increment the frame number at VD0 time for BT.656
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 10 Jun 2014 12:16:08 +0000 (09:16 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 21 Aug 2014 20:25:16 +0000 (15:25 -0500)
We will stop using VD1 in BT.656 mode, move frame number increment to
the VD0 interrupt handler.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Tested-by: Enrico Butera <ebutera@users.sourceforge.net>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/platform/omap3isp/ispccdc.c

index 6a62cb76cd1f99d10469a55b108001df79ed5590..112bced5af99b1d63d5b0dcd79eb57703eea0e8b 100644 (file)
@@ -1637,6 +1637,16 @@ static void ccdc_vd0_isr(struct isp_ccdc_device *ccdc)
        unsigned long flags;
        int restart = 0;
 
+       /* In BT.656 mode the CCDC doesn't generate an HS/VS interrupt. We thus
+        * need to increment the frame counter here.
+        */
+       if (ccdc->bt656) {
+               struct isp_pipeline *pipe =
+                       to_isp_pipeline(&ccdc->subdev.entity);
+
+               atomic_inc(&pipe->frame_number);
+       }
+
        if (ccdc->output & CCDC_OUTPUT_MEMORY)
                restart = ccdc_isr_buffer(ccdc);
 
@@ -1662,16 +1672,6 @@ static void ccdc_vd1_isr(struct isp_ccdc_device *ccdc)
 {
        unsigned long flags;
 
-       /* In BT.656 mode the CCDC doesn't generate an HS/VS interrupt. We thus
-        * need to increment the frame counter here.
-        */
-       if (ccdc->bt656) {
-               struct isp_pipeline *pipe =
-                       to_isp_pipeline(&ccdc->subdev.entity);
-
-               atomic_inc(&pipe->frame_number);
-       }
-
        spin_lock_irqsave(&ccdc->lsc.req_lock, flags);
 
        /*