[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140312102556.GC21483@n2100.arm.linux.org.uk>
Date: Wed, 12 Mar 2014 10:25:56 +0000
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc: Tomi Valkeinen <tomi.valkeinen@...com>,
Grant Likely <grant.likely@...aro.org>,
Philipp Zabel <p.zabel@...gutronix.de>,
Sascha Hauer <s.hauer@...gutronix.de>,
Rob Herring <robherring2@...il.com>,
Mauro Carvalho Chehab <m.chehab@...sung.com>,
Rob Herring <robh+dt@...nel.org>,
Sylwester Nawrocki <s.nawrocki@...sung.com>,
Kyungmin Park <kyungmin.park@...sung.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-media@...r.kernel.org" <linux-media@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
Philipp Zabel <philipp.zabel@...il.com>
Subject: Re: [RFC PATCH] [media]: of: move graph helpers from
drivers/media/v4l2-core to drivers/of
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.
--
FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists