From: Tomi Valkeinen <tomi.valkeinen-l0cyMroinI0@public.gmane.org>
To: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Laurent Pinchart
<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@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>
Subject: Re: [RFR 2/2] drm/panel: Add simple panel support
Date: Thu, 17 Oct 2013 14:50:31 +0300 [thread overview]
Message-ID: <525FCF07.6070006@ti.com> (raw)
In-Reply-To: <20131017110517.GC10993-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2619 bytes --]
On 17/10/13 14:05, Thierry Reding wrote:
>> 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've discussed this issue to death with other people, and for some
reason I still see this the other way =).
I see the panel using the DSI controller as a resource. The panel driver
uses the DSI controller to send the video data to the panel device.
Compare this to, say, i2c client driver, which uses i2c master to send
data to the i2c device.
In the OMAP DSS driver model, the panel driver is in control. The panel
driver tells the DSI controller which kind of video timings to use, or
which bus speed to use, or whether to use low-power or high-speed mode,
when to enable the DSI clock or DSI video stream, etc.
With a simple panel the model you describe works usually fine. The
reason I went with the different model is that we had rather complex
display peripherals, that needed more specific control of the bus.
A simple example could be the enable sequence. I presume in your model
the DSI controller's enable would be maybe something like:
configure_dsi_timings(panel->get_timings());
enable_dsi_output();
panel->enable();
What if the DSI peripheral requires an enable sequence of, say:
- enable DSI clock
- use LP mode
- send some config messages
- re-configure DSI clock to higher speed
- send some more config messages
- enable HS mode
- send some more config messages
- enable DSI video stream
It gets a bit difficult to manage that kind of setup in a generic way in
the DSI controller driver. As I see it, the DSI peripheral driver has to
be in control of the nuances. The same goes for other video buses also,
but DSI is perhaps one of the most complex ones to support.
Tomi
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 901 bytes --]
next prev parent reply other threads:[~2013-10-17 11:50 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-16 18:25 [RFR 0/2] DRM display panel support 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 ` [RFR 2/2] drm/panel: Add simple " 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 8:28 ` Dave Airlie
[not found] ` <CAPM=9tzU36cwcM0pH0J_Vgc6UOj5MHdVNDvn3wpGNuihbMqdQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-10-17 8:49 ` Tomi Valkeinen
[not found] ` <525FA4B0.8060504-l0cyMroinI0@public.gmane.org>
2013-10-17 9:16 ` Thierry Reding
[not found] ` <20131017091614.GC2502-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 9:52 ` Tomi Valkeinen
[not found] ` <525FB368.6020003-l0cyMroinI0@public.gmane.org>
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-20 22:07 ` Stephen Warren
[not found] ` <52645428.9080607-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-10-24 11:20 ` Laurent Pinchart
2013-10-24 22:06 ` Stephen Warren
[not found] ` <526999DA.7080409-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
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 14:10 ` Thierry Reding
[not found] ` <20131025141029.GD1551-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-25 14:22 ` Laurent Pinchart
2013-10-25 11:33 ` Laurent Pinchart
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 15:29 ` Stephen Warren
2013-10-17 11:21 ` Tomi Valkeinen
2013-10-20 22:01 ` Stephen Warren
2013-10-17 8:53 ` Thierry Reding
[not found] ` <20131017085342.GB2502-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 10:22 ` Tomi Valkeinen
[not found] ` <525FBA5D.9000001-l0cyMroinI0@public.gmane.org>
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 12:06 ` Thierry Reding
[not found] ` <20131017120646.GE10993-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-17 12:23 ` Laurent Pinchart
2013-10-17 12:55 ` Thierry Reding
2013-10-17 11:50 ` Tomi Valkeinen [this message]
[not found] ` <525FCF07.6070006-l0cyMroinI0@public.gmane.org>
2013-10-17 12:12 ` Thierry Reding
2013-10-17 11:02 ` Laurent Pinchart
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:59 ` Tomi Valkeinen
[not found] ` <525FD12D.3000200-l0cyMroinI0@public.gmane.org>
2013-10-17 12:17 ` Laurent Pinchart
2013-10-17 12:32 ` Tomi Valkeinen
[not found] ` <525FD8DD.3090509-l0cyMroinI0@public.gmane.org>
2013-10-20 19:29 ` Sylwester Nawrocki
2013-10-24 10:40 ` Laurent Pinchart
2013-10-24 10:52 ` Tomi Valkeinen
2013-10-25 10:54 ` Sylwester Nawrocki
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:46 ` Thierry Reding
[not found] ` <20131017124619.GG10993-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2013-10-24 11:05 ` Laurent Pinchart
2013-10-24 11:48 ` Thierry Reding
[not found] ` <20131024114823.GC11296-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
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=525FCF07.6070006@ti.com \
--to=tomi.valkeinen-l0cymroini0@public.gmane.org \
--cc=airlied-Re5JQEeQqe8AvxtiuMwx3w@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=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@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).