diff options
author | Sakari Ailus <sakari.ailus@iki.fi> | 2012-09-15 14:14:42 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-12-21 07:56:43 -0500 |
commit | 8e6057b510aad354e017c6dfca7f386a0eb91b63 (patch) | |
tree | ac76cc2593f255325972f05bde025954f2d3b41c /drivers/media/platform/davinci | |
parent | abd23295648a9e3ae72a806e70a510d3dcd8b374 (diff) |
[media] v4l: Convert drivers to use monotonic timestamps
Convert drivers using wall clock time (CLOCK_REALTIME) to timestamp from the
monotonic timer (CLOCK_MONOTONIC).
Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/platform/davinci')
-rw-r--r-- | drivers/media/platform/davinci/vpfe_capture.c | 5 | ||||
-rw-r--r-- | drivers/media/platform/davinci/vpif_capture.c | 2 | ||||
-rw-r--r-- | drivers/media/platform/davinci/vpif_display.c | 6 |
3 files changed, 5 insertions, 8 deletions
diff --git a/drivers/media/platform/davinci/vpfe_capture.c b/drivers/media/platform/davinci/vpfe_capture.c index 8be492cd8ed4..65f4264bd5b4 100644 --- a/drivers/media/platform/davinci/vpfe_capture.c +++ b/drivers/media/platform/davinci/vpfe_capture.c | |||
@@ -560,10 +560,7 @@ static void vpfe_schedule_bottom_field(struct vpfe_device *vpfe_dev) | |||
560 | 560 | ||
561 | static void vpfe_process_buffer_complete(struct vpfe_device *vpfe_dev) | 561 | static void vpfe_process_buffer_complete(struct vpfe_device *vpfe_dev) |
562 | { | 562 | { |
563 | struct timeval timevalue; | 563 | v4l2_get_timestamp(&vpfe_dev->cur_frm->ts); |
564 | |||
565 | do_gettimeofday(&timevalue); | ||
566 | vpfe_dev->cur_frm->ts = timevalue; | ||
567 | vpfe_dev->cur_frm->state = VIDEOBUF_DONE; | 564 | vpfe_dev->cur_frm->state = VIDEOBUF_DONE; |
568 | vpfe_dev->cur_frm->size = vpfe_dev->fmt.fmt.pix.sizeimage; | 565 | vpfe_dev->cur_frm->size = vpfe_dev->fmt.fmt.pix.sizeimage; |
569 | wake_up_interruptible(&vpfe_dev->cur_frm->done); | 566 | wake_up_interruptible(&vpfe_dev->cur_frm->done); |
diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c index a409ccefb380..5892d2bc8eee 100644 --- a/drivers/media/platform/davinci/vpif_capture.c +++ b/drivers/media/platform/davinci/vpif_capture.c | |||
@@ -411,7 +411,7 @@ static struct vb2_ops video_qops = { | |||
411 | */ | 411 | */ |
412 | static void vpif_process_buffer_complete(struct common_obj *common) | 412 | static void vpif_process_buffer_complete(struct common_obj *common) |
413 | { | 413 | { |
414 | do_gettimeofday(&common->cur_frm->vb.v4l2_buf.timestamp); | 414 | v4l2_get_timestamp(&common->cur_frm->vb.v4l2_buf.timestamp); |
415 | vb2_buffer_done(&common->cur_frm->vb, | 415 | vb2_buffer_done(&common->cur_frm->vb, |
416 | VB2_BUF_STATE_DONE); | 416 | VB2_BUF_STATE_DONE); |
417 | /* Make curFrm pointing to nextFrm */ | 417 | /* Make curFrm pointing to nextFrm */ |
diff --git a/drivers/media/platform/davinci/vpif_display.c b/drivers/media/platform/davinci/vpif_display.c index 9f2b603be9c9..dd249c96126d 100644 --- a/drivers/media/platform/davinci/vpif_display.c +++ b/drivers/media/platform/davinci/vpif_display.c | |||
@@ -402,7 +402,7 @@ static void process_interlaced_mode(int fid, struct common_obj *common) | |||
402 | /* one frame is displayed If next frame is | 402 | /* one frame is displayed If next frame is |
403 | * available, release cur_frm and move on */ | 403 | * available, release cur_frm and move on */ |
404 | /* Copy frame display time */ | 404 | /* Copy frame display time */ |
405 | do_gettimeofday(&common->cur_frm->vb.v4l2_buf.timestamp); | 405 | v4l2_get_timestamp(&common->cur_frm->vb.v4l2_buf.timestamp); |
406 | /* Change status of the cur_frm */ | 406 | /* Change status of the cur_frm */ |
407 | vb2_buffer_done(&common->cur_frm->vb, | 407 | vb2_buffer_done(&common->cur_frm->vb, |
408 | VB2_BUF_STATE_DONE); | 408 | VB2_BUF_STATE_DONE); |
@@ -462,8 +462,8 @@ static irqreturn_t vpif_channel_isr(int irq, void *dev_id) | |||
462 | if (!channel_first_int[i][channel_id]) { | 462 | if (!channel_first_int[i][channel_id]) { |
463 | /* Mark status of the cur_frm to | 463 | /* Mark status of the cur_frm to |
464 | * done and unlock semaphore on it */ | 464 | * done and unlock semaphore on it */ |
465 | do_gettimeofday(&common->cur_frm->vb. | 465 | v4l2_get_timestamp(&common->cur_frm->vb. |
466 | v4l2_buf.timestamp); | 466 | v4l2_buf.timestamp); |
467 | vb2_buffer_done(&common->cur_frm->vb, | 467 | vb2_buffer_done(&common->cur_frm->vb, |
468 | VB2_BUF_STATE_DONE); | 468 | VB2_BUF_STATE_DONE); |
469 | /* Make cur_frm pointing to next_frm */ | 469 | /* Make cur_frm pointing to next_frm */ |