diff options
Diffstat (limited to 'drivers/media/v4l2-core/videobuf2-core.c')
-rw-r--r-- | drivers/media/v4l2-core/videobuf2-core.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c index db1235dcb328..be0448161c60 100644 --- a/drivers/media/v4l2-core/videobuf2-core.c +++ b/drivers/media/v4l2-core/videobuf2-core.c | |||
@@ -403,7 +403,7 @@ static void __fill_v4l2_buffer(struct vb2_buffer *vb, struct v4l2_buffer *b) | |||
403 | * Clear any buffer state related flags. | 403 | * Clear any buffer state related flags. |
404 | */ | 404 | */ |
405 | b->flags &= ~V4L2_BUFFER_MASK_FLAGS; | 405 | b->flags &= ~V4L2_BUFFER_MASK_FLAGS; |
406 | b->flags |= V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; | 406 | b->flags |= q->timestamp_type; |
407 | 407 | ||
408 | switch (vb->state) { | 408 | switch (vb->state) { |
409 | case VB2_BUF_STATE_QUEUED: | 409 | case VB2_BUF_STATE_QUEUED: |
@@ -2039,9 +2039,13 @@ int vb2_queue_init(struct vb2_queue *q) | |||
2039 | WARN_ON(!q->type) || | 2039 | WARN_ON(!q->type) || |
2040 | WARN_ON(!q->io_modes) || | 2040 | WARN_ON(!q->io_modes) || |
2041 | WARN_ON(!q->ops->queue_setup) || | 2041 | WARN_ON(!q->ops->queue_setup) || |
2042 | WARN_ON(!q->ops->buf_queue)) | 2042 | WARN_ON(!q->ops->buf_queue) || |
2043 | WARN_ON(q->timestamp_type & ~V4L2_BUF_FLAG_TIMESTAMP_MASK)) | ||
2043 | return -EINVAL; | 2044 | return -EINVAL; |
2044 | 2045 | ||
2046 | /* Warn that the driver should choose an appropriate timestamp type */ | ||
2047 | WARN_ON(q->timestamp_type == V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN); | ||
2048 | |||
2045 | INIT_LIST_HEAD(&q->queued_list); | 2049 | INIT_LIST_HEAD(&q->queued_list); |
2046 | INIT_LIST_HEAD(&q->done_list); | 2050 | INIT_LIST_HEAD(&q->done_list); |
2047 | spin_lock_init(&q->done_lock); | 2051 | spin_lock_init(&q->done_lock); |