public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely@linaro.org>
To: Mauro Carvalho Chehab <m.chehab@samsung.com>
Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Sascha Hauer <s.hauer@pengutronix.de>,
	Rob Herring <robherring2@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Philipp Zabel <philipp.zabel@gmail.com>
Subject: Re: [RFC PATCH] [media]: of: move graph helpers from drivers/media/v4l2-core to drivers/of
Date: Thu, 20 Mar 2014 18:48:16 +0000	[thread overview]
Message-ID: <20140320184816.7AB02C4067A@trevor.secretlab.ca> (raw)
In-Reply-To: <20140320153804.35d5b835@samsung.com>

On Thu, 20 Mar 2014 15:38:04 -0300, Mauro Carvalho Chehab <m.chehab@samsung.com> wrote:
> Em Thu, 20 Mar 2014 17:54:31 +0000
> Grant Likely <grant.likely@linaro.org> escreveu:
> 
> > On Wed, 12 Mar 2014 10:25:56 +0000, Russell King - ARM Linux <linux@arm.linux.org.uk> 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.

g.


  parent reply	other threads:[~2014-03-20 18:48 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] ` < CAL_Jsq+U9zU1i+STLHMBjY5BeEP6djYnJVE5X1ix-D2q_zWztQ@mail.gmail.com>
     [not found]   ` < 20140217181451.7EB7FC4044D@trevor.secretlab.ca>
     [not found] ` < 20140310145815.17595C405FA@trevor.secretlab.ca>
     [not found] ` < 20140320153804.35d5b835@samsung.com>
     [not found] ` < 4339286.FzhQ2m6hoA@avalon>
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
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>
2014-02-24 17:36         ` Philipp Zabel
2014-02-26 11:01           ` Grant Likely
2014-02-26 14:48             ` Philipp Zabel
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
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>
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
2014-03-21 14:33                                             ` Grant Likely
2014-03-20 17:09                                 ` Grant Likely
2014-03-11 13:04                             ` Andrzej Hajda
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
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
2014-03-12 11:21                             ` Laurent Pinchart
2014-03-20 17:54                           ` Grant Likely
2014-03-20 18:16                             ` Laurent Pinchart
2014-03-20 18:18                               ` Russell King - ARM Linux
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
2014-03-20 18:48                               ` Grant Likely [this message]
2014-03-20 18:52                                 ` Laurent Pinchart
2014-03-20 23:12                                   ` Grant Likely
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
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=20140320184816.7AB02C4067A@trevor.secretlab.ca \
    --to=grant.likely@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=m.chehab@samsung.com \
    --cc=p.zabel@pengutronix.de \
    --cc=philipp.zabel@gmail.com \
    --cc=robh+dt@kernel.org \
    --cc=robherring2@gmail.com \
    --cc=s.hauer@pengutronix.de \
    --cc=s.nawrocki@samsung.com \
    --cc=tomi.valkeinen@ti.com \
    /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