From: Laurent Pinchart <laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
To: Grant Likely <grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Mauro Carvalho Chehab
<m.chehab-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
Russell King - ARM Linux
<linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
Tomi Valkeinen <tomi.valkeinen-l0cyMroinI0@public.gmane.org>,
Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
Sascha Hauer <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
Rob Herring <robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Sylwester Nawrocki
<s.nawrocki-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
Kyungmin Park
<kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Philipp Zabel
<philipp.zabel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Subject: Re: [RFC PATCH] [media]: of: move graph helpers from drivers/media/v4l2-core to drivers/of
Date: Thu, 20 Mar 2014 19:52:53 +0100 [thread overview]
Message-ID: <12151803.GHyzFUphWh@avalon> (raw)
In-Reply-To: <20140320184816.7AB02C4067A-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
On Thursday 20 March 2014 18:48:16 Grant Likely wrote:
> On Thu, 20 Mar 2014 15:38:04 -0300, Mauro Carvalho Chehab wrote:
> > Em Thu, 20 Mar 2014 17:54:31 +0000 Grant Likely escreveu:
> > > On Wed, 12 Mar 2014 10:25:56 +0000, Russell King - ARM Linux wrote:
> > > > On Mon, Mar 10, 2014 at 02:52:53PM +0100, Laurent Pinchart wrote:
> > > > > In theory unidirectional links in DT are indeed enough. However,
> > > > > let's not forget the following.
> > > > >
> > > > > - There's no such thing as single start points for graphs. Sure, in
> > > > > some simple cases the graph will have a single start point, but
> > > > > that's not a generic rule. For instance the camera graphs
> > > > > http://ideasonboard.org/media/omap3isp.ps and
> > > > > http://ideasonboard.org/media/eyecam.ps have two camera sensors, and
> > > > > thus two starting points from a data flow point of view.
> > > >
> > > > I think we need to stop thinking of a graph linked in terms of data
> > > > flow - that's really not useful.
> > > >
> > > > Consider a display subsystem. The CRTC is the primary interface for
> > > > the CPU - this is the "most interesting" interface, it's the interface
> > > > which provides access to the picture to be displayed for the CPU.
> > > > Other interfaces are secondary to that purpose - reading the I2C DDC
> > > > bus for the display information is all secondary to the primary
> > > > purpose of displaying a picture.
> > > >
> > > > For a capture subsystem, the primary interface for the CPU is the
> > > > frame grabber (whether it be an already encoded frame or not.) The
> > > > sensor devices are all secondary to that.
> > > >
> > > > So, the primary software interface in each case is where the data for
> > > > the primary purpose is transferred. This is the point at which these
> > > > graphs should commence since this is where we would normally start
> > > > enumeration of the secondary interfaces.
> > > >
> > > > V4L2 even provides interfaces for this: you open the capture device,
> > > > which then allows you to enumerate the capture device's inputs, and
> > > > this in turn allows you to enumerate their properties. You don't open
> > > > a particular sensor and work back up the tree.
> > > >
> > > > I believe trying to do this according to the flow of data is just
> > > > wrong. You should always describe things from the primary device for
> > > > the CPU towards the peripheral devices and never the opposite
> > > > direction.
> > >
> > > Agreed.
> >
> > I don't agree, as what's the primary device is relative.
> >
> > Actually, in the case of a media data flow, the CPU is generally not
> > the primary device.
> >
> > Even on general purpose computers, if the full data flow is taken into
> > the account, the CPU is a mere device that will just be used to copy
> > data either to GPU and speakers or to disk, eventually doing format
> > conversions, when the hardware is cheap and don't provide format
> > converters.
> >
> > On more complex devices, like the ones we want to solve with the
> > media controller, like an embedded hardware like a TV or a STB, the CPU
> > is just an ancillary component that could even hang without stopping
> > TV reception, as the data flow can be fully done inside the chipset.
>
> We're talking about wiring up device drivers here, not data flow. Yes, I
> completely understand that data flow is often not even remotely
> cpu-centric. However, device drivers are, and the kernel needs to know
> the dependency graph for choosing what devices depend on other devices.
Then we might not be talking about the same thing. I'm talking about DT
bindings to represent the topology of the device, not how drivers are wired
together. The latter isn't a property of the hardware.
--
Regards,
Laurent Pinchart
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-03-20 18:52 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-11 11:45 [RFC PATCH] [media]: of: move graph helpers from drivers/media/v4l2-core to drivers/of Philipp Zabel
[not found] ` < 4339286.FzhQ2m6hoA@avalon>
[not found] ` < CAL_Jsq+U9zU1i+STLHMBjY5BeEP6djYnJVE5X1ix-D2q_zWztQ@mail.gmail.com>
[not found] ` < 20140217181451.7EB7FC4044D@trevor.secretlab.ca>
[not found] ` < 20140320153804.35d5b835@samsung.com>
[not found] ` < 20140310145815.17595C405FA@trevor.secretlab.ca>
2014-02-11 13:56 ` Rob Herring
2014-02-11 14:52 ` Russell King - ARM Linux
2014-02-11 15:23 ` Laurent Pinchart
2014-02-11 16:36 ` Philipp Zabel
[not found] ` <1392136617.6943.33.camel-/rZezPiN1rtR6QfukMTsflXZhhPuCNm+@public.gmane.org>
2014-02-11 17:22 ` Sylwester Nawrocki
2014-02-11 17:41 ` Mauro Carvalho Chehab
2014-02-11 21:00 ` Guennadi Liakhovetski
2014-02-11 21:46 ` Philipp Zabel
2014-02-11 17:24 ` Laurent Pinchart
2014-02-11 16:30 ` Rob Herring
2014-02-11 15:27 ` Philipp Zabel
2014-02-17 18:14 ` Grant Likely
2014-02-18 7:06 ` Sascha Hauer
2014-02-18 16:26 ` Grant Likely
[not found] ` < 1393263389.3091.82.camel@pizza.hi.pengutronix.de>
[not found] ` <20140226110114. CF2C7C40A89@trevor.secretlab.ca>
[not found] ` <20140218162627.32BA4C40517-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-02-24 17:36 ` Philipp Zabel
2014-02-26 11:01 ` Grant Likely
2014-02-26 14:48 ` Philipp Zabel
[not found] ` <1393426129.3248.64.camel-+qGW7pzALmz7o/J7KWpOmN53zsg1cpMQ@public.gmane.org>
2014-02-27 8:36 ` Tomi Valkeinen
2014-03-07 17:06 ` Grant Likely
2014-03-08 10:57 ` Tomi Valkeinen
2014-03-07 17:05 ` Grant Likely
2014-03-08 10:33 ` Tomi Valkeinen
2014-03-08 11:41 ` Grant Likely
2014-03-08 23:25 ` Sylwester Nawrocki
2014-03-10 10:18 ` Tomi Valkeinen
[not found] ` <531D916C.2010903-l0cyMroinI0@public.gmane.org>
2014-03-10 13:52 ` Laurent Pinchart
2014-03-10 14:10 ` Tomi Valkeinen
2014-03-10 14:58 ` Grant Likely
2014-03-10 15:15 ` Laurent Pinchart
2014-03-10 15:40 ` Philipp Zabel
2014-03-11 11:43 ` Laurent Pinchart
2014-03-11 12:59 ` Tomi Valkeinen
[not found] ` <1883687.VdfitvQEN3@samsung.com>
[not found] ` <avalon@samsung.com>
[not found] ` <531F08A8.300-l0cyMroinI0@public.gmane.org>
2014-03-11 13:16 ` Laurent Pinchart
2014-03-11 13:27 ` Tomi Valkeinen
2014-03-11 13:44 ` Philipp Zabel
2014-03-20 17:23 ` Grant Likely
2014-03-21 10:44 ` Andrzej Hajda
2014-03-21 11:47 ` Grant Likely
2014-03-21 12:16 ` Tomi Valkeinen
[not found] ` <532C2D94.4020705-l0cyMroinI0@public.gmane.org>
2014-03-21 14:33 ` Grant Likely
2014-03-20 17:09 ` Grant Likely
2014-03-11 13:04 ` Andrzej Hajda
[not found] ` <531F09E2.3070407-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-20 17:33 ` Grant Likely
2014-03-20 17:01 ` Grant Likely
2014-03-21 12:10 ` Tomi Valkeinen
2014-03-11 15:07 ` Philipp Zabel
[not found] ` <1394550420.3772.29.camel-+qGW7pzALmz7o/J7KWpOmN53zsg1cpMQ@public.gmane.org>
2014-03-11 15:21 ` Laurent Pinchart
2014-03-11 18:52 ` Philipp Zabel
2014-03-20 17:53 ` Grant Likely
2014-03-20 17:36 ` Grant Likely
2014-03-12 10:25 ` Russell King - ARM Linux
2014-03-12 10:47 ` Tomi Valkeinen
[not found] ` <53203B2D.6080201-l0cyMroinI0@public.gmane.org>
2014-03-12 11:21 ` Laurent Pinchart
2014-03-20 17:54 ` Grant Likely
[not found] ` <20140320175432.0559CC4067A-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-03-20 18:16 ` Laurent Pinchart
2014-03-20 18:18 ` Russell King - ARM Linux
[not found] ` <20140320181820.GY7528-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-03-20 18:50 ` Laurent Pinchart
2014-03-20 19:27 ` Laurent Pinchart
2014-03-20 18:38 ` Mauro Carvalho Chehab
2014-03-20 18:43 ` Russell King - ARM Linux
2014-03-20 18:49 ` Laurent Pinchart
2014-03-21 8:20 ` Tomi Valkeinen
[not found] ` <20140320153804.35d5b835@ samsung.com>
[not found] ` <20140320153804.35d5b835-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-20 18:48 ` Grant Likely
[not found] ` <20140320184816.7AB02C4067A-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-03-20 18:52 ` Laurent Pinchart [this message]
2014-03-20 23:12 ` Grant Likely
[not found] ` <20140320231250.8F0E0C412EA-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-03-20 23:26 ` Laurent Pinchart
2014-03-21 8:15 ` Grant Likely
2014-03-21 12:44 ` Laurent Pinchart
2014-03-21 13:26 ` Grant Likely
2014-03-10 14:41 ` Grant Likely
2014-03-08 11:54 ` Russell King - ARM Linux
[not found] ` <20140217181451.7EB7FC4044D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-02-18 10:43 ` Sylwester Nawrocki
2014-02-18 13:41 ` Philipp Zabel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=12151803.GHyzFUphWh@avalon \
--to=laurent.pinchart-rylnwiuwjnjg/c1bvhzhaw@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=kyungmin.park-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=m.chehab-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=philipp.zabel-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=robherring2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=s.nawrocki-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org \
--cc=tomi.valkeinen-l0cyMroinI0@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).