Commit cb7130ea authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

media: meye: use u64 for the timestamp internally



Just like vb2 does, use u64 internally to store the timestamps
of the buffers. Only convert to timeval when interfacing with
userspace.

Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Acked-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent 15a40b27
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -805,7 +805,7 @@ again:
				      mchip_hsize() * mchip_vsize() * 2);
		meye.grab_buffer[reqnr].size = mchip_hsize() * mchip_vsize() * 2;
		meye.grab_buffer[reqnr].state = MEYE_BUF_DONE;
		v4l2_get_timestamp(&meye.grab_buffer[reqnr].timestamp);
		meye.grab_buffer[reqnr].ts = ktime_get_ns();
		meye.grab_buffer[reqnr].sequence = sequence++;
		kfifo_in_locked(&meye.doneq, (unsigned char *)&reqnr,
				sizeof(int), &meye.doneq_lock);
@@ -826,7 +826,7 @@ again:
		       size);
		meye.grab_buffer[reqnr].size = size;
		meye.grab_buffer[reqnr].state = MEYE_BUF_DONE;
		v4l2_get_timestamp(&meye.grab_buffer[reqnr].timestamp);
		meye.grab_buffer[reqnr].ts = ktime_get_ns();
		meye.grab_buffer[reqnr].sequence = sequence++;
		kfifo_in_locked(&meye.doneq, (unsigned char *)&reqnr,
				sizeof(int), &meye.doneq_lock);
@@ -1283,7 +1283,7 @@ static int vidioc_querybuf(struct file *file, void *fh, struct v4l2_buffer *buf)
		buf->flags |= V4L2_BUF_FLAG_DONE;

	buf->field = V4L2_FIELD_NONE;
	buf->timestamp = meye.grab_buffer[index].timestamp;
	buf->timestamp = ns_to_timeval(meye.grab_buffer[index].ts);
	buf->sequence = meye.grab_buffer[index].sequence;
	buf->memory = V4L2_MEMORY_MMAP;
	buf->m.offset = index * gbufsize;
@@ -1349,7 +1349,7 @@ static int vidioc_dqbuf(struct file *file, void *fh, struct v4l2_buffer *buf)
	buf->bytesused = meye.grab_buffer[reqnr].size;
	buf->flags = V4L2_BUF_FLAG_MAPPED | V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
	buf->field = V4L2_FIELD_NONE;
	buf->timestamp = meye.grab_buffer[reqnr].timestamp;
	buf->timestamp = ns_to_timeval(meye.grab_buffer[reqnr].ts);
	buf->sequence = meye.grab_buffer[reqnr].sequence;
	buf->memory = V4L2_MEMORY_MMAP;
	buf->m.offset = reqnr * gbufsize;
+1 −1
Original line number Diff line number Diff line
@@ -277,7 +277,7 @@
struct meye_grab_buffer {
	int state;			/* state of buffer */
	unsigned long size;		/* size of jpg frame */
	struct timeval timestamp;	/* timestamp */
	u64 ts;				/* timestamp */
	unsigned long sequence;		/* sequence number */
};