brcm2708: update against latest rpi-3.10.y branch
[15.05/openwrt.git] / target / linux / brcm2708 / patches-3.10 / 0140-V4L2-Fix-JPEG-timestamp-issue.patch
diff --git a/target/linux/brcm2708/patches-3.10/0140-V4L2-Fix-JPEG-timestamp-issue.patch b/target/linux/brcm2708/patches-3.10/0140-V4L2-Fix-JPEG-timestamp-issue.patch
new file mode 100644 (file)
index 0000000..1c9277f
--- /dev/null
@@ -0,0 +1,35 @@
+From 126bd13f65c8e88fd4eb037433ab39f7faf803ca Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dsteve@broadcom.com>
+Date: Thu, 19 Dec 2013 17:33:02 +0000
+Subject: [PATCH 140/174] V4L2: Fix JPEG timestamp issue
+
+JPEG images were coming through from the GPU with timestamp
+of 0. Detect this and give current system time instead
+of some invalid value.
+
+Signed-off-by: Dave Stevenson <dsteve@broadcom.com>
+---
+ drivers/media/platform/bcm2835/bcm2835-camera.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/drivers/media/platform/bcm2835/bcm2835-camera.c
++++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
+@@ -238,7 +238,8 @@ static void buffer_cb(struct vchiq_mmal_
+               }
+       } else {
+               if (dev->capture.frame_count) {
+-                      if (dev->capture.vc_start_timestamp != -1) {
++                      if (dev->capture.vc_start_timestamp != -1 &&
++                          pts != 0) {
+                               s64 runtime_us = pts -
+                                   dev->capture.vc_start_timestamp;
+                               u32 div = 0;
+@@ -259,7 +260,7 @@ static void buffer_cb(struct vchiq_mmal_
+                                           USEC_PER_SEC;
+                               }
+                               v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
+-                                       "Convert start time %d.%06d and %llu"
++                                       "Convert start time %d.%06d and %llu "
+                                        "with offset %llu to %d.%06d\n",
+                                        (int)dev->capture.kernel_start_ts.
+                                        tv_sec,