Re: [PATCH v5 1/7] media: add glossary.rst with a glossary of terms used at V4L2 spec
From: Mauro Carvalho Chehab
Date: Thu Oct 05 2017 - 14:39:54 EST
Em Thu, 5 Oct 2017 11:21:07 +0300
Sakari Ailus <sakari.ailus@xxxxxx> escreveu:
> Hi Mauro,
>
> My apologies for the late reply.
>
> On Tue, Aug 29, 2017 at 10:07:50AM -0300, Mauro Carvalho Chehab wrote:
> > Em Tue, 29 Aug 2017 10:47:48 +0300
> > Sakari Ailus <sakari.ailus@xxxxxx> escreveu:
> >
> > > Hi Mauro,
> > >
> > > Thanks for the update. A few comments below.
> > >
> > > On Mon, Aug 28, 2017 at 09:53:55AM -0300, Mauro Carvalho Chehab wrote:
> > > > Add a glossary of terms for V4L2, as several concepts are complex
> > > > enough to cause misunderstandings.
> > > >
> > > > Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxxx>
> > > > ---
> > > > Documentation/media/uapi/v4l/glossary.rst | 147 ++++++++++++++++++++++++++++++
> > > > Documentation/media/uapi/v4l/v4l2.rst | 1 +
> > > > 2 files changed, 148 insertions(+)
> > > > create mode 100644 Documentation/media/uapi/v4l/glossary.rst
> > > >
> > > > diff --git a/Documentation/media/uapi/v4l/glossary.rst b/Documentation/media/uapi/v4l/glossary.rst
> > > > new file mode 100644
> > > > index 000000000000..0b6ab5adec81
> > > > --- /dev/null
> > > > +++ b/Documentation/media/uapi/v4l/glossary.rst
> > > > @@ -0,0 +1,147 @@
> > > > +========
> > > > +Glossary
> > > > +========
> > > > +
> > > > +.. note::
> > > > +
> > > > + This goal of section is to standardize the terms used within the V4L2
> > > > + documentation. It is written incrementally as they are standardized in
> > > > + the V4L2 documentation. So, it is a Work In Progress.
> > >
> > > I'd leave the WiP part out.
> >
> > IMO, it is important to mention it, as the glossary, right now, covers
> > only what's used on the first two sections of the API book. There are
> > a lot more to be covered.
>
> Works for me.
>
> >
> > >
> > > > +
> > > > +.. Please keep the glossary entries in alphabetical order
> > > > +
> > > > +.. glossary::
> > > > +
> > > > + Bridge driver
> > > > + The same as V4L2 main driver.
> > >
> > > I've understood bridges being essentially a bus receiver + DMA. Most ISPs
> > > contain both but have more than that. How about:
> > >
> > > A driver for a bus (e.g. parallel, CSI-2) receiver and DMA. Bridge drivers
> > > typically act as V4L2 main drivers.
> >
> > No, only on some drivers the bridge driver has DMA. A vast amount of
> > drivers (USB ones) don't implement any DMA inside the driver, as it is
> > up to the USB host driver to implement support for DMA.
> >
> > There are even some USB host drivers that don't always use DMA for I/O
> > transfers, using direct I/O if the message is smaller than a threshold
> > or not multiple of the bus word. This is pretty common on SoC USB host
> > drivers.
> >
> > In any case, for the effect of this spec, and for all discussions we
> > ever had about it, bridge driver == V4L2 main driver. I don't
> > see any reason why to distinguish between them.
>
> I think you should precisely define what a bridge driver means. Generally
> ISP drivers aren't referred to as bridge drivers albeit they, too, function
> as V4L2 main drivers.
Btw, this is already defined, currently, at v4l2-subdev.h:
* Sub-devices are devices that are connected somehow to the main bridge
* device. These devices are usually audio/video muxers/encoders/decoders or
* sensors and webcam controllers.
*
* Usually these devices are controlled through an i2c bus, but other busses
* may also be used.
Please notice that there it says: "main bridge" :-)
Such definition was added since the beginning of the subdev concept, back in
2008 and was reviewed by several V4L core developers:
commit 2a1fcdf08230522bd5024f91da24aaa6e8d81f59
Author: Hans Verkuil <hverkuil@xxxxxxxxx>
Date: Sat Nov 29 21:36:58 2008 -0300
V4L/DVB (9820): v4l2: add v4l2_device and v4l2_subdev structs to the v4l2 framework.
Start implementing a proper v4l2 framework as discussed during the
Linux Plumbers Conference 2008.
Introduces v4l2_device (for device instances) and v4l2_subdev (representing
sub-device instances).
Signed-off-by: Hans Verkuil <hverkuil@xxxxxxxxx>
Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxx>
Reviewed-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx>
Reviewed-by: Andy Walls <awalls@xxxxxxxxx>
Reviewed-by: David Brownell <david-b@xxxxxxxxxxx>
Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx>
Thanks,
Mauro