summaryrefslogtreecommitdiff
path: root/drivers/media/video/omap3isp/ispccdc.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-02-09 13:00:45 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-05-08 13:51:25 -0300
commitb43883d659aa3f3aced5e400538b200341e910e0 (patch)
tree3df28ffc8c5c1cfc276da278d8b49406d6c05b62 /drivers/media/video/omap3isp/ispccdc.c
parenta32f2f90543853449f0e49eaf885e8d24d5809a7 (diff)
[media] omap3isp: Fix frame number propagation
When propagating the frame number through the pipeline, the frame number must be incremented at frame start by the appropriate IRQ handler. This was properly handled for the CSI2 and CCP2 receivers, but not when the CCDC parallel interface is used. ADD frame number incrementation to the HS/VS interrupt handler. As the HS/VS interrupt is also generated for frames received by the CSI2 and CCP2 receivers, remove explicit propagation handling from the serial receivers. Reported-by: Kruno Mrak <kruno.mrak@matrix-vision.de> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Sakari Ailus <sakari.ailus@iki.fi> Tested-by: Sakari Ailus <sakari.ailus@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/omap3isp/ispccdc.c')
-rw-r--r--drivers/media/video/omap3isp/ispccdc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/media/video/omap3isp/ispccdc.c b/drivers/media/video/omap3isp/ispccdc.c
index 1f3c16d8f0b4..17207c7037f7 100644
--- a/drivers/media/video/omap3isp/ispccdc.c
+++ b/drivers/media/video/omap3isp/ispccdc.c
@@ -1410,6 +1410,9 @@ static void ccdc_hs_vs_isr(struct isp_ccdc_device *ccdc)
struct video_device *vdev = ccdc->subdev.devnode;
struct v4l2_event event;
+ /* Frame number propagation */
+ atomic_inc(&pipe->frame_number);
+
memset(&event, 0, sizeof(event));
event.type = V4L2_EVENT_FRAME_SYNC;
event.u.frame_sync.frame_sequence = atomic_read(&pipe->frame_number);