From: Thierry Reding <thierry.reding@gmail.com>
To: Laurent Pinchart
<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
Cc: Tomi Valkeinen <tomi.valkeinen-l0cyMroinI0@public.gmane.org>,
Laurent Pinchart
<laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
Ian Campbell
<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
Dave Airlie <airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Rob Clark <robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Daniel Vetter <daniel.vetter-/w4YWyX8dFk@public.gmane.org>
Subject: Re: [RFR 2/2] drm/panel: Add simple panel support
Date: Thu, 17 Oct 2013 12:55:22 +0000 [thread overview]
Message-ID: <20131017125521.GH10993@ulmo.nvidia.com> (raw)
In-Reply-To: <2414405.blLIekLlE8@avalon>
[-- Attachment #1: Type: text/plain, Size: 4135 bytes --]
On Thu, Oct 17, 2013 at 02:23:32PM +0200, Laurent Pinchart wrote:
> Hi Thierry,
>
> On Thursday 17 October 2013 14:06:47 Thierry Reding wrote:
> > On Thu, Oct 17, 2013 at 01:15:22PM +0200, Laurent Pinchart wrote:
> > > On Thursday 17 October 2013 13:05:18 Thierry Reding wrote:
> > > > On Thu, Oct 17, 2013 at 01:22:21PM +0300, Tomi Valkeinen wrote:
> > > > > On 17/10/13 11:53, Thierry Reding wrote:
> > > > > > I keep wondering why we absolutely must have compatibility between
> > > > > > CDF and this simple panel binding. DT content is supposed to concern
> > > > > > itself with the description of hardware only. What about the
> > > > > > following isn't an accurate description of the panel hardware?
> > > > > >
> > > > > > panel: panel {
> > > > > > compatible = "cptt,claa101wb01";
> > > > > >
> > > > > > power-supply = <&vdd_pnl_reg>;
> > > > > > enable-gpios = <&gpio 90 0>;
> > > > > >
> > > > > > backlight = <&backlight>;
> > > > > > };
> > > > > >
> > > > > > dsi-controller {
> > > > > > panel = <&panel>;
> > > > > > };
> > > > >
> > > > > That's quite similar to how my current out-of-mainline OMAP DSS DT
> > > > > bindings work. The difference is that I have a reference from the
> > > > > panel node to the video source (dsi-controller), instead of the other
> > > > > way around. I just find it more natural. It works the same way as,
> > > > > say, regulators, gpios, etc.
> > > >
> > > > I suppose that depends on the way you look at it. In the above proposal
> > > > I consider the output (DSI controller) to use the panel as a resource
> > > > that provides a certain set of services (query mode timings, provide a
> > > > way to enable or disable the panel). Similarly the panel uses the
> > > > backlight as a resource that provides a certain set of services (such as
> > > > changing the brightness).
> > > >
> > > > The above also follows the natural order of control. The panel has no
> > > > way to control the DSI output. However, it is the output that controls
> > > > when a panel is required and turn it on as appropriate.
> > >
> > > I'm no DSI expert, but I know enough about it to be sure that Tomi will
> > > disagree. DSI panels can have complex power sequences that require the
> > > input stream to be finely controlled (for instance it might require a
> > > clock without video frames for some time, switch a GPIO or regulator,
> > > send a command to the panel, and then only get video frames). For that
> > > reason all developers I've talked to who have an in-depth knowledge of
> > > DSI and DSI panels told me that the panel needs to control the video bus,
> > > and request the video source to start/stop the video stream.
> >
> > Oh, I'm very well aware of the various flavours of funkiness that DSI
> > panels come in. But it's wrong to say that the panel needs to control
> > the video bus. There's simply no way that a panel can actually do that.
> > It is true, however, that in order to make this work in a maintainable
> > fashion, the DSI panel *driver* may need to control the DSI bus. That's
> > an entirely different story.
>
> Sure, but I don't think that's really related to the DT bindings. We don't
> have to model every electrical signal in a detailed way that matches the
> direction of the electrons flow :-) What we need to model is a connection
> between a display controller and a panel (possibly with a direction). What I'd
> like to do is to express that link in a way that can also express more complex
> pipeline topologies. I don't want to make it overly complex, I had hoped that
> my DT bindings proposal would be a good approach as it's both generic and
> still pretty simple.
I get that, and for what it's worth I do think that your proposal looks
simple enough and if it can solve any of the problem you're facing with
CDF, then that's great.
But I don't think we should force inclusion of these properties on every
panel, even if it doesn't use any of the graph functionality. Is there
any problem with making them optional?
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Laurent Pinchart
<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>
Cc: Tomi Valkeinen <tomi.valkeinen-l0cyMroinI0@public.gmane.org>,
Laurent Pinchart
<laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
Ian Campbell
<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
Dave Airlie <airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Rob Clark <robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Daniel Vetter <daniel.vetter-/w4YWyX8dFk@public.gmane.org>
Subject: Re: [RFR 2/2] drm/panel: Add simple panel support
Date: Thu, 17 Oct 2013 14:55:22 +0200 [thread overview]
Message-ID: <20131017125521.GH10993@ulmo.nvidia.com> (raw)
In-Reply-To: <2414405.blLIekLlE8@avalon>
[-- Attachment #1: Type: text/plain, Size: 4135 bytes --]
On Thu, Oct 17, 2013 at 02:23:32PM +0200, Laurent Pinchart wrote:
> Hi Thierry,
>
> On Thursday 17 October 2013 14:06:47 Thierry Reding wrote:
> > On Thu, Oct 17, 2013 at 01:15:22PM +0200, Laurent Pinchart wrote:
> > > On Thursday 17 October 2013 13:05:18 Thierry Reding wrote:
> > > > On Thu, Oct 17, 2013 at 01:22:21PM +0300, Tomi Valkeinen wrote:
> > > > > On 17/10/13 11:53, Thierry Reding wrote:
> > > > > > I keep wondering why we absolutely must have compatibility between
> > > > > > CDF and this simple panel binding. DT content is supposed to concern
> > > > > > itself with the description of hardware only. What about the
> > > > > > following isn't an accurate description of the panel hardware?
> > > > > >
> > > > > > panel: panel {
> > > > > > compatible = "cptt,claa101wb01";
> > > > > >
> > > > > > power-supply = <&vdd_pnl_reg>;
> > > > > > enable-gpios = <&gpio 90 0>;
> > > > > >
> > > > > > backlight = <&backlight>;
> > > > > > };
> > > > > >
> > > > > > dsi-controller {
> > > > > > panel = <&panel>;
> > > > > > };
> > > > >
> > > > > That's quite similar to how my current out-of-mainline OMAP DSS DT
> > > > > bindings work. The difference is that I have a reference from the
> > > > > panel node to the video source (dsi-controller), instead of the other
> > > > > way around. I just find it more natural. It works the same way as,
> > > > > say, regulators, gpios, etc.
> > > >
> > > > I suppose that depends on the way you look at it. In the above proposal
> > > > I consider the output (DSI controller) to use the panel as a resource
> > > > that provides a certain set of services (query mode timings, provide a
> > > > way to enable or disable the panel). Similarly the panel uses the
> > > > backlight as a resource that provides a certain set of services (such as
> > > > changing the brightness).
> > > >
> > > > The above also follows the natural order of control. The panel has no
> > > > way to control the DSI output. However, it is the output that controls
> > > > when a panel is required and turn it on as appropriate.
> > >
> > > I'm no DSI expert, but I know enough about it to be sure that Tomi will
> > > disagree. DSI panels can have complex power sequences that require the
> > > input stream to be finely controlled (for instance it might require a
> > > clock without video frames for some time, switch a GPIO or regulator,
> > > send a command to the panel, and then only get video frames). For that
> > > reason all developers I've talked to who have an in-depth knowledge of
> > > DSI and DSI panels told me that the panel needs to control the video bus,
> > > and request the video source to start/stop the video stream.
> >
> > Oh, I'm very well aware of the various flavours of funkiness that DSI
> > panels come in. But it's wrong to say that the panel needs to control
> > the video bus. There's simply no way that a panel can actually do that.
> > It is true, however, that in order to make this work in a maintainable
> > fashion, the DSI panel *driver* may need to control the DSI bus. That's
> > an entirely different story.
>
> Sure, but I don't think that's really related to the DT bindings. We don't
> have to model every electrical signal in a detailed way that matches the
> direction of the electrons flow :-) What we need to model is a connection
> between a display controller and a panel (possibly with a direction). What I'd
> like to do is to express that link in a way that can also express more complex
> pipeline topologies. I don't want to make it overly complex, I had hoped that
> my DT bindings proposal would be a good approach as it's both generic and
> still pretty simple.
I get that, and for what it's worth I do think that your proposal looks
simple enough and if it can solve any of the problem you're facing with
CDF, then that's great.
But I don't think we should force inclusion of these properties on every
panel, even if it doesn't use any of the graph functionality. Is there
any problem with making them optional?
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2013-10-17 12:55 UTC|newest]
Thread overview: 97+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-16 18:25 [RFR 0/2] DRM display panel support Thierry Reding
2013-10-16 18:25 ` Thierry Reding
[not found] ` <1381947912-11741-1-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-16 18:25 ` [RFR 1/2] drm: Add " Thierry Reding
2013-10-16 18:25 ` Thierry Reding
2013-10-16 18:25 ` [RFR 2/2] drm/panel: Add simple " Thierry Reding
2013-10-16 18:25 ` Thierry Reding
[not found] ` <1381947912-11741-3-git-send-email-treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-10-17 0:47 ` Laurent Pinchart
2013-10-17 0:47 ` Laurent Pinchart
2013-10-17 8:28 ` Dave Airlie
2013-10-17 8:28 ` Dave Airlie
[not found] ` <CAPM=9tzU36cwcM0pH0J_Vgc6UOj5MHdVNDvn3wpGNuihbMqdQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-17 8:49 ` Tomi Valkeinen
2013-10-17 8:49 ` Tomi Valkeinen
[not found] ` <525FA4B0.8060504-l0cyMroinI0@public.gmane.org>
2013-10-17 9:16 ` Thierry Reding
2013-10-17 9:16 ` Thierry Reding
[not found] ` <20131017091614.GC2502-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 9:52 ` Tomi Valkeinen
2013-10-17 9:52 ` Tomi Valkeinen
[not found] ` <525FB368.6020003-l0cyMroinI0@public.gmane.org>
2013-10-17 10:48 ` Thierry Reding
2013-10-17 10:48 ` Thierry Reding
[not found] ` <20131017104856.GA10993-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 11:07 ` Laurent Pinchart
2013-10-17 11:07 ` Laurent Pinchart
2013-10-20 22:07 ` Stephen Warren
2013-10-20 22:07 ` Stephen Warren
[not found] ` <52645428.9080607-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-24 11:20 ` Laurent Pinchart
2013-10-24 11:20 ` Laurent Pinchart
2013-10-24 22:06 ` Stephen Warren
2013-10-24 22:06 ` Stephen Warren
[not found] ` <526999DA.7080409-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-25 8:13 ` Thierry Reding
2013-10-25 8:13 ` Thierry Reding
[not found] ` <20131025081314.GC19622-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-25 13:47 ` Laurent Pinchart
2013-10-25 13:47 ` Laurent Pinchart
2013-10-25 14:10 ` Thierry Reding
2013-10-25 14:10 ` Thierry Reding
[not found] ` <20131025141029.GD1551-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-25 14:22 ` Laurent Pinchart
2013-10-25 14:22 ` Laurent Pinchart
2013-10-25 11:33 ` Laurent Pinchart
2013-10-25 11:33 ` Laurent Pinchart
2013-10-25 12:29 ` Thierry Reding
2013-10-25 12:29 ` Thierry Reding
[not found] ` <20131025122925.GA24720-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-25 13:49 ` Laurent Pinchart
2013-10-25 13:49 ` Laurent Pinchart
2013-10-25 15:29 ` Stephen Warren
2013-10-25 15:29 ` Stephen Warren
2013-10-17 11:21 ` Tomi Valkeinen
2013-10-17 11:21 ` Tomi Valkeinen
2013-10-20 22:01 ` Stephen Warren
2013-10-20 22:01 ` Stephen Warren
2013-10-17 8:53 ` Thierry Reding
2013-10-17 8:53 ` Thierry Reding
[not found] ` <20131017085342.GB2502-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 10:22 ` Tomi Valkeinen
2013-10-17 10:22 ` Tomi Valkeinen
[not found] ` <525FBA5D.9000001-l0cyMroinI0@public.gmane.org>
2013-10-17 11:05 ` Thierry Reding
2013-10-17 11:05 ` Thierry Reding
[not found] ` <20131017110517.GC10993-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 11:15 ` Laurent Pinchart
2013-10-17 11:15 ` Laurent Pinchart
2013-10-17 12:06 ` Thierry Reding
2013-10-17 12:06 ` Thierry Reding
[not found] ` <20131017120646.GE10993-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 12:23 ` Laurent Pinchart
2013-10-17 12:23 ` Laurent Pinchart
2013-10-17 12:55 ` Thierry Reding [this message]
2013-10-17 12:55 ` Thierry Reding
2013-10-17 11:50 ` Tomi Valkeinen
2013-10-17 11:50 ` Tomi Valkeinen
[not found] ` <525FCF07.6070006-l0cyMroinI0@public.gmane.org>
2013-10-17 12:12 ` Thierry Reding
2013-10-17 12:12 ` Thierry Reding
2013-10-17 11:02 ` Laurent Pinchart
2013-10-17 11:02 ` Laurent Pinchart
2013-10-17 11:35 ` Tomi Valkeinen
2013-10-17 11:35 ` Tomi Valkeinen
[not found] ` <525FCB95.6070401-l0cyMroinI0@public.gmane.org>
2013-10-17 11:51 ` Laurent Pinchart
2013-10-17 11:51 ` Laurent Pinchart
2013-10-17 11:59 ` Tomi Valkeinen
2013-10-17 11:59 ` Tomi Valkeinen
[not found] ` <525FD12D.3000200-l0cyMroinI0@public.gmane.org>
2013-10-17 12:17 ` Laurent Pinchart
2013-10-17 12:17 ` Laurent Pinchart
2013-10-17 12:32 ` Tomi Valkeinen
2013-10-17 12:32 ` Tomi Valkeinen
[not found] ` <525FD8DD.3090509-l0cyMroinI0@public.gmane.org>
2013-10-20 19:29 ` Sylwester Nawrocki
2013-10-20 19:29 ` Sylwester Nawrocki
2013-10-24 10:40 ` Laurent Pinchart
2013-10-24 10:40 ` Laurent Pinchart
2013-10-24 10:52 ` Tomi Valkeinen
2013-10-24 10:52 ` Tomi Valkeinen
2013-10-24 10:52 ` Tomi Valkeinen
2013-10-25 10:54 ` Sylwester Nawrocki
2013-10-25 10:54 ` Sylwester Nawrocki
2013-10-17 11:41 ` Thierry Reding
2013-10-17 11:41 ` Thierry Reding
[not found] ` <20131017114139.GD10993-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 12:14 ` Laurent Pinchart
2013-10-17 12:14 ` Laurent Pinchart
2013-10-17 12:46 ` Thierry Reding
2013-10-17 12:46 ` Thierry Reding
[not found] ` <20131017124619.GG10993-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 11:05 ` Laurent Pinchart
2013-10-24 11:05 ` Laurent Pinchart
2013-10-24 11:48 ` Thierry Reding
2013-10-24 11:48 ` Thierry Reding
[not found] ` <20131024114823.GC11296-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-25 11:27 ` Laurent Pinchart
2013-10-25 11:27 ` 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=20131017125521.GH10993@ulmo.nvidia.com \
--to=thierry.reding@gmail.com \
--cc=airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=daniel.vetter-/w4YWyX8dFk@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
--cc=laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
--cc=linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
--cc=robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.