Commit a9d7bbcc authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

media: atomisp: Fix support for time 64 API

The time 64 API patchset changed the ts stamp to u64.

Update this driver accordingly.

Fixes: 15a40b27 ("media: videobuf: use u64 for the timestamp internally")
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent e58eeb5a
...@@ -686,14 +686,6 @@ static struct videobuf_buffer *atomisp_css_frame_to_vbuf( ...@@ -686,14 +686,6 @@ static struct videobuf_buffer *atomisp_css_frame_to_vbuf(
return NULL; return NULL;
} }
static void get_buf_timestamp(struct timeval *tv)
{
struct timespec ts;
ktime_get_ts(&ts);
tv->tv_sec = ts.tv_sec;
tv->tv_usec = ts.tv_nsec / NSEC_PER_USEC;
}
static void atomisp_flush_video_pipe(struct atomisp_sub_device *asd, static void atomisp_flush_video_pipe(struct atomisp_sub_device *asd,
struct atomisp_video_pipe *pipe) struct atomisp_video_pipe *pipe)
{ {
...@@ -707,7 +699,7 @@ static void atomisp_flush_video_pipe(struct atomisp_sub_device *asd, ...@@ -707,7 +699,7 @@ static void atomisp_flush_video_pipe(struct atomisp_sub_device *asd,
spin_lock_irqsave(&pipe->irq_lock, irqflags); spin_lock_irqsave(&pipe->irq_lock, irqflags);
if (pipe->capq.bufs[i]->state == VIDEOBUF_ACTIVE || if (pipe->capq.bufs[i]->state == VIDEOBUF_ACTIVE ||
pipe->capq.bufs[i]->state == VIDEOBUF_QUEUED) { pipe->capq.bufs[i]->state == VIDEOBUF_QUEUED) {
get_buf_timestamp(&pipe->capq.bufs[i]->ts); pipe->capq.bufs[i]->ts = ktime_get_ns();
pipe->capq.bufs[i]->field_count = pipe->capq.bufs[i]->field_count =
atomic_read(&asd->sequence) << 1; atomic_read(&asd->sequence) << 1;
dev_dbg(asd->isp->dev, "release buffers on device %s\n", dev_dbg(asd->isp->dev, "release buffers on device %s\n",
...@@ -1206,7 +1198,7 @@ void atomisp_buf_done(struct atomisp_sub_device *asd, int error, ...@@ -1206,7 +1198,7 @@ void atomisp_buf_done(struct atomisp_sub_device *asd, int error,
break; break;
} }
if (vb) { if (vb) {
get_buf_timestamp(&vb->ts); vb->ts = ktime_get_ns();
vb->field_count = atomic_read(&asd->sequence) << 1; vb->field_count = atomic_read(&asd->sequence) << 1;
/*mark videobuffer done for dequeue*/ /*mark videobuffer done for dequeue*/
spin_lock_irqsave(&pipe->irq_lock, irqflags); spin_lock_irqsave(&pipe->irq_lock, irqflags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment