From: Sascha Hauer <s.hauer@pengutronix.de>
To: Rob Clark <rob.clark@linaro.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Thomas Petazzoni <thomas.petazzoni@free-electrons.com>,
Linux Fbdev development list <linux-fbdev@vger.kernel.org>,
Benjamin Gaignard <benjamin.gaignard@linaro.org>,
Tom Gall <tom.gall@linaro.org>,
Kyungmin Park <kyungmin.park@samsung.com>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
Ragesh Radhakrishnan <ragesh.r@linaro.org>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Bryan Wu <bryan.wu@canonical.com>,
Maxime Ripard <maxime.ripard@free-electrons.com>,
Vikas Sajjan <vikas.sajjan@linaro.org>,
Sumit Semwal <sumit.semwal@linaro.org>,
Sebastien Guiriec <s-guiriec@ti.com>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: [RFC v2 0/5] Common Display Framework
Date: Thu, 27 Dec 2012 19:18:59 +0000 [thread overview]
Message-ID: <20121227191859.GX26326@pengutronix.de> (raw)
In-Reply-To: <CAF6AEGt+gwUq-xGze5bTgrKUMRijSBo_ORreq=Ot1RMD-WrbYQ@mail.gmail.com>
On Thu, Dec 27, 2012 at 09:54:55AM -0600, Rob Clark wrote:
> On Mon, Dec 24, 2012 at 7:37 AM, Laurent Pinchart
> <laurent.pinchart@ideasonboard.com> wrote:
> > Hi Rob,
> >
> > On Tuesday 18 December 2012 00:21:32 Rob Clark wrote:
> >> On Mon, Dec 17, 2012 at 11:04 PM, Dave Airlie <airlied@gmail.com> wrote:
> >> >> Many developers showed interest in the first RFC, and I've had the
> >> >> opportunity to discuss it with most of them. I would like to thank (in
> >> >> no particular order) Tomi Valkeinen for all the time he spend helping me
> >> >> to draft v2, Marcus Lorentzon for his useful input during Linaro Connect
> >> >> Q4 2012, and Linaro for inviting me to Connect and providing a venue to
> >> >> discuss this topic.
> >> >
> >> > So this might be a bit off topic but this whole CDF triggered me
> >> > looking at stuff I generally avoid:
> >> >
> >> > The biggest problem I'm having currently with the whole ARM graphics
> >> > and output world is the proliferation of platform drivers for every
> >> > little thing. The whole ordering of operations with respect to things
> >> > like suspend/resume or dynamic power management is going to be a real
> >> > nightmare if there are dependencies between the drivers. How do you
> >> > enforce ordering of s/r operations between all the various components?
> >>
> >> I tend to think that sub-devices are useful just to have a way to probe hw
> >> which may or may not be there, since on ARM we often don't have any
> >> alternative.. but beyond that, suspend/resume, and other life-cycle aspects,
> >> they should really be treated as all one device. Especially to avoid
> >> undefined suspend/resume ordering.
> >
> > I tend to agree, except that I try to reuse the existing PM infrastructure
> > when possible to avoid reinventing the wheel. So far handling suspend/resume
> > ordering related to data busses in early suspend/late resume operations and
> > allowing the Linux PM core to handle control busses using the Linux device
> > tree worked pretty well.
> >
> >> CDF or some sort of mechanism to share panel drivers between drivers is
> >> useful. Keeping it within drm, is probably a good idea, if nothing else to
> >> simplify re-use of helper fxns (like avi-infoframe stuff, for example) and
> >> avoid dealing with merging changes across multiple trees. Treating them more
> >> like shared libraries and less like sub-devices which can be dynamically
> >> loaded/unloaded (ie. they should be not built as separate modules or
> >> suspend/resumed or probed/removed independently of the master driver) is a
> >> really good idea to avoid uncovering nasty synchronization issues later
> >> (remove vs modeset or pageflip) or surprising userspace in bad ways.
> >
> > We've tried that in V4L2 years ago and realized that the approach led to a
> > dead-end, especially when OF/DT got involved. With DT-based device probing,
> > I2C camera sensors started getting probed asynchronously to the main camera
> > device, as they are children of the I2C bus master. We will have similar
> > issues with I2C HDMI transmitters or panels, so we should be prepared for it.
>
> What I've done to avoid that so far is that the master device
> registers the drivers for it's output sub-devices before registering
> it's own device. At least this way I can control that they are probed
> first. Not the prettiest thing, but avoids even uglier problems.
This implies that the master driver knows all potential subdevices,
something which is not true for SoCs which have external i2c encoders
attached to unrelated i2c controllers.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
next prev parent reply other threads:[~2012-12-27 19:18 UTC|newest]
Thread overview: 78+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-22 21:45 [RFC v2 0/5] Common Display Framework Laurent Pinchart
2012-11-22 21:45 ` [RFC v2 1/5] video: Add generic display entity core Laurent Pinchart
2012-11-27 13:07 ` Tomi Valkeinen
2012-11-22 21:45 ` [RFC v2 2/5] video: panel: Add DPI panel support Laurent Pinchart
2012-11-27 13:02 ` Tomi Valkeinen
2012-11-30 9:26 ` Philipp Zabel
2012-11-22 21:45 ` [RFC v2 3/5] video: display: Add MIPI DBI bus support Laurent Pinchart
2012-11-30 12:02 ` Tomi Valkeinen
2012-11-22 21:45 ` [RFC v2 4/5] video: panel: Add R61505 panel support Laurent Pinchart
2012-11-22 21:45 ` [RFC v2 5/5] video: panel: Add R61517 " Laurent Pinchart
2012-11-23 14:51 ` [RFC v2 0/5] Common Display Framework Tomi Valkeinen
2012-12-17 14:36 ` Laurent Pinchart
2012-12-17 15:29 ` Tomi Valkeinen
2012-12-17 23:18 ` Laurent Pinchart
2012-12-17 16:53 ` Jani Nikula
2012-12-17 22:19 ` Laurent Pinchart
2012-12-19 14:57 ` Jani Nikula
2012-12-19 15:07 ` Tomi Valkeinen
2012-12-24 17:31 ` Laurent Pinchart
2012-12-19 15:26 ` Rob Clark
2012-12-19 15:37 ` Tomi Valkeinen
2012-12-19 16:05 ` Rob Clark
2012-12-24 17:40 ` Laurent Pinchart
2012-12-24 17:35 ` Laurent Pinchart
2012-12-27 16:10 ` Rob Clark
2012-12-24 17:27 ` Laurent Pinchart
2012-12-27 16:04 ` Rob Clark
2012-12-27 19:19 ` Sascha Hauer
2012-11-23 19:56 ` Thierry Reding
2012-11-24 7:15 ` Tomi Valkeinen
2012-11-26 14:47 ` Alan Cox
2012-12-17 15:15 ` Laurent Pinchart
2012-11-26 7:53 ` Philipp Zabel
2012-12-17 14:58 ` Laurent Pinchart
2012-11-23 21:41 ` Sascha Hauer
2012-12-17 15:02 ` Laurent Pinchart
2012-12-18 5:04 ` Dave Airlie
2012-12-18 6:21 ` Rob Clark
2012-12-18 8:30 ` Daniel Vetter
[not found] ` <CAAQKjZMt+13oooEw39mOM1rF2=ss4ih1s7iVS362di-50h4+Hg@mail.gmail.com>
2012-12-19 20:13 ` Stéphane Marchesin
2012-12-24 14:08 ` Laurent Pinchart
2012-12-24 13:39 ` Laurent Pinchart
2012-12-18 10:59 ` Sylwester Nawrocki
2012-12-24 17:19 ` Laurent Pinchart
2012-12-19 20:05 ` Stéphane Marchesin
2012-12-24 13:37 ` Laurent Pinchart
2012-12-27 15:54 ` Rob Clark
2012-12-27 19:18 ` Sascha Hauer [this message]
2012-12-27 19:57 ` Rob Clark
2012-12-28 0:04 ` Sascha Hauer
2013-01-08 8:33 ` Laurent Pinchart
2013-01-08 8:25 ` Laurent Pinchart
2013-01-08 16:13 ` Rob Clark
2013-01-09 8:35 ` Rahul Sharma
2013-02-01 23:42 ` Laurent Pinchart
2013-02-02 10:08 ` Rob Clark
2012-12-18 10:39 ` Marcus Lorentzon
2012-12-24 17:09 ` Laurent Pinchart
2012-12-27 15:57 ` Rob Clark
2013-01-06 17:46 ` Daniel Vetter
2013-01-08 8:41 ` Laurent Pinchart
2012-12-24 13:24 ` Laurent Pinchart
[not found] ` <CAD025yS5rGMbiRBdDxv=YLP6_fsQndAkr+3t29_mNhcvow_SwA@mail.gmail.com>
[not found] ` <3133576.BkqAl7V01U@avalon>
[not found] ` <CAD025yQoCiNaKvaCwvUWhk_jV70CPhV35UzV9MR6HtE+1baCxg@mail.gmail.com>
2012-12-18 6:25 ` Vikas Sajjan
2012-12-21 10:00 ` Tomasz Figa
2012-12-24 14:12 ` Laurent Pinchart
2012-12-27 14:43 ` Tomasz Figa
2012-12-28 3:38 ` Vikas Sajjan
2013-01-08 8:18 ` Laurent Pinchart
2013-01-08 10:12 ` Marcus Lorentzon
2013-01-08 16:36 ` Tomasz Figa
2013-01-08 17:08 ` Marcus Lorentzon
2013-02-01 23:35 ` Laurent Pinchart
2013-02-04 10:05 ` Marcus Lorentzon
2013-02-06 9:52 ` Archit Taneja
2013-02-08 10:51 ` Tomi Valkeinen
2013-02-08 12:43 ` Marcus Lorentzon
2013-02-01 23:37 ` Laurent Pinchart
2012-12-24 12:59 ` Laurent Pinchart
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=20121227191859.GX26326@pengutronix.de \
--to=s.hauer@pengutronix.de \
--cc=benjamin.gaignard@linaro.org \
--cc=bryan.wu@canonical.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=kyungmin.park@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=maxime.ripard@free-electrons.com \
--cc=p.zabel@pengutronix.de \
--cc=ragesh.r@linaro.org \
--cc=rob.clark@linaro.org \
--cc=s-guiriec@ti.com \
--cc=sumit.semwal@linaro.org \
--cc=thomas.petazzoni@free-electrons.com \
--cc=tom.gall@linaro.org \
--cc=tomi.valkeinen@ti.com \
--cc=vikas.sajjan@linaro.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).