On 11/02/2015 05:43 AM, Junghak Sung wrote:
> Move timestamp from struct vb2_v4l2_buffer to struct vb2_buffer
> for common use, and change its type to struct timespec in order to handling
> y2038 problem. This patch also includes all device drivers' changes related to
> this restructuring.
>
> Signed-off-by: Junghak Sung <[email protected]>
> Signed-off-by: Geunyoung Kim <[email protected]>
> Acked-by: Seung-Woo Kim <[email protected]>
> Acked-by: Inki Dae <[email protected]>
> ---
<snip>
> diff --git a/drivers/usb/gadget/function/uvc_queue.c
> b/drivers/usb/gadget/function/uvc_queue.c
> index 51d4a17..34525dc 100644
> --- a/drivers/usb/gadget/function/uvc_queue.c
> +++ b/drivers/usb/gadget/function/uvc_queue.c
> @@ -329,7 +329,7 @@ struct uvc_buffer *uvcg_queue_next_buffer(struct
> uvc_video_queue *queue,
>
> buf->buf.field = V4L2_FIELD_NONE;
> buf->buf.sequence = queue->sequence++;
> - v4l2_get_timestamp(&buf->buf.timestamp);
> + ktime_get_ts(&buf->buf.vb2_buf.timestamp);
>
> vb2_set_plane_payload(&buf->buf.vb2_buf, 0, buf->bytesused);
> vb2_buffer_done(&buf->buf.vb2_buf, VB2_BUF_STATE_DONE);
> diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
> index 647ebfe..3fe6600 100644
> --- a/include/media/videobuf2-core.h
> +++ b/include/media/videobuf2-core.h
> @@ -211,6 +211,7 @@ struct vb2_queue;
> * @num_planes: number of planes in the buffer
> * on an internal driver queue
> * @planes: private per-plane information; do not change
> + * @timestamp: frame timestamp
> */
> struct vb2_buffer {
> struct vb2_queue *vb2_queue;
> @@ -219,6 +220,7 @@ struct vb2_buffer {
> unsigned int memory;
> unsigned int num_planes;
> struct vb2_plane planes[VB2_MAX_PLANES];
> + struct timespec timestamp;
This should be a __u64 containing nanoseconds. That is the recommended way of
storing timestamps according to the y2038 team. The timespec struct is not
y2038 safe, whereas using __u64 is OK.
Please change!
And instead of using ktime_get_ts() in drivers use ktime_get_ns().
Regards,
Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html