Re: [RFC V1 4/8] smi2021: Add smi2021_v4l2.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed 20 March 2013 11:16:26 Jon Arne Jørgensen wrote:
> On Wed, Mar 20, 2013 at 11:10:57AM +0100, Hans Verkuil wrote:
> > On Wed 20 March 2013 10:48:42 Jon Arne Jørgensen wrote:
> > > On Mon, Mar 18, 2013 at 09:29:07AM +0100, Hans Verkuil wrote:
> > > > On Thu March 14 2013 15:07:00 Jon Arne Jørgensen wrote:
> > > > > This file is responsible for registering the device with the v4l2 subsystem,
> > > > > and the communication with v4l2.
> > > > > Most of the v4l2 ioctls are just passed on to vidbuf2.
> > > > > 
> > > > > Signed-off-by: Jon Arne Jørgensen <jonarne@xxxxxxxxxx>
> > > > > ---
> > > > >  drivers/media/usb/smi2021/smi2021_v4l2.c | 566 +++++++++++++++++++++++++++++++
> > > > >  1 file changed, 566 insertions(+)
> > > > >  create mode 100644 drivers/media/usb/smi2021/smi2021_v4l2.c
> > > > > 
> > > > > diff --git a/drivers/media/usb/smi2021/smi2021_v4l2.c b/drivers/media/usb/smi2021/smi2021_v4l2.c
> > > > > new file mode 100644
> > > > > index 0000000..d402093
> > > > > --- /dev/null
> > > > > +++ b/drivers/media/usb/smi2021/smi2021_v4l2.c
> > > > > @@ -0,0 +1,566 @@
> > > > 
> > > > ...
> > > > 
> > > > > +int smi2021_vb2_setup(struct smi2021_dev *dev)
> > > > > +{
> > > > > +	int rc;
> > > > > +	struct vb2_queue *q;
> > > > > +
> > > > > +	q = &dev->vb_vidq;
> > > > > +	q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
> > > > > +	q->io_modes = VB2_READ | VB2_MMAP | VB2_USERPTR;
> > > > > +	q->drv_priv = dev;
> > > > > +	q->buf_struct_size = sizeof(struct smi2021_buffer);
> > > > > +	q->ops = &smi2021_video_qops;
> > > > > +	q->mem_ops = &vb2_vmalloc_memops;
> > > > 
> > > > q->timestamp_type isn't filled in.
> > > >
> > > I'll add that
> > >  
> > > > For that matter, neither the sequence number nor the timestamp are filled in
> > > > in v4l2_buffer during capturing.
> > > > 
> > > > You need to add a buf_finish op to fill those in (use v4l2_timestamp() for the
> > > > timestamp).
> > > >
> > > 
> > > I'm filling these variables in the smi2021_buffer_done function in
> > > smi2021_video.c?
> > 
> > Ah, I missed that. Sorry about that.
> > 
> > Just replace gettimeofday with v4l2_timestamp(), though. We no longer use
> > gettimeofday() in new drivers, but instead we use the monotonic clock.
> > 
> 
> No problem,
> I'll fix this.

BTW, I've tried your driver with my somagic USB device, but it doesn't work
for me. I get -71 errors on the USB bus. I do seem to have all the right chips
including the gm7113 (saa7113 replacement).

I need to double-check under Windows whether it is really working...

Regards,

	Hans
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux