Messages in this thread |  | | From | Hans Verkuil <> | Subject | Re: [PATCH V4 2/3] sta2x11_vip: convert to videobuf2 and control framework | Date | Mon, 7 Jan 2013 10:46:43 +0100 |
| |
Hi Frederico!
Just one comment, see below:
On Sun January 6 2013 18:29:02 Federico Vaga wrote: > This patch re-write the driver and use the videobuf2 > interface instead of the old videobuf. Moreover, it uses also > the control framework which allows the driver to inherit > controls from its subdevice (ADV7180) > > Signed-off-by: Federico Vaga <federico.vaga@gmail.com> > Acked-by: Giancarlo Asnaghi <giancarlo.asnaghi@st.com> > --- > drivers/media/pci/sta2x11/Kconfig | 2 +- > drivers/media/pci/sta2x11/sta2x11_vip.c | 1244 ++++++++++--------------------- > 2 file modificati, 414 inserzioni(+), 832 rimozioni(-) > > diff --git a/drivers/media/pci/sta2x11/Kconfig b/drivers/media/pci/sta2x11/Kconfig > index 6749f67..a94ccad 100644 > --- a/drivers/media/pci/sta2x11/Kconfig > +++ b/drivers/media/pci/sta2x11/Kconfig > @@ -2,7 +2,7 @@ config STA2X11_VIP > tristate "STA2X11 VIP Video For Linux" > depends on STA2X11 > select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT > - select VIDEOBUF_DMA_CONTIG > + select VIDEOBUF2_DMA_CONTIG > depends on PCI && VIDEO_V4L2 && VIRT_TO_BUS > help > Say Y for support for STA2X11 VIP (Video Input Port) capture > diff --git a/drivers/media/pci/sta2x11/sta2x11_vip.c b/drivers/media/pci/sta2x11/sta2x11_vip.c > index ed1337a..e379e03 100644 > --- a/drivers/media/pci/sta2x11/sta2x11_vip.c > +++ b/drivers/media/pci/sta2x11/sta2x11_vip.c
<snip>
> -/** > - * vidioc_try_fmt_vid_cap - set video capture format > - * @file: descriptor of device ( not used) > - * @priv: points to current videodevice > - * @f: new format > - * > - * new video format is set which includes width and > - * field type. width is fixed to 720, no scaling. > - * Only UYVY is supported by this hardware. > - * the minimum height is 200, the maximum is 576 (PAL) > - * > - * return value: 0, no error > - * > - * -EINVAL, pixel or field format not supported > - * > - */ > static int vidioc_try_fmt_vid_cap(struct file *file, void *priv, > struct v4l2_format *f) > { > - struct video_device *dev = priv; > - struct sta2x11_vip *vip = video_get_drvdata(dev); > + struct sta2x11_vip *vip = video_drvdata(file); > int interlace_lim; > > - if (V4L2_PIX_FMT_UYVY != f->fmt.pix.pixelformat) > - return -EINVAL; > -
You should keep this check for now. See this discussion:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg56550.html
I'm going to change v4l2-compliance to make this a warning instead of an error for now.
> if (V4L2_STD_525_60 & vip->std) > interlace_lim = 240; > else > interlace_lim = 288; > > switch (f->fmt.pix.field) { > + default: > case V4L2_FIELD_ANY: > if (interlace_lim < f->fmt.pix.height) > f->fmt.pix.field = V4L2_FIELD_INTERLACED;
After updating v4l2-compliance (I've just made the change to v4l2-compliance) can you also post the output of v4l2-compliance for this driver?
Thanks,
Hans
|  |