From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Thierry Reding <treding@nvidia.com>
Cc: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
Emil Velikov <emil.l.velikov@gmail.com>,
dri-devel <dri-devel@lists.freedesktop.org>
Subject: Re: [PATCH] drm: panels: Add MAINTAINERS entry for LVS panel driver
Date: Mon, 10 Apr 2017 12:03:07 +0300 [thread overview]
Message-ID: <1594881.cjtMSijjde@avalon> (raw)
In-Reply-To: <20170410071758.GA7819@ulmo.ba.sec>
Hi Thierry,
On Monday 10 Apr 2017 09:17:59 Thierry Reding wrote:
> On Sun, Apr 09, 2017 at 01:31:40PM +0100, Emil Velikov wrote:
> > Hi Thierry,
> >
> > I don't mean to stir up anything, just voicing "my 2c" as they say.
> >
> > On 7 April 2017 at 18:33, Thierry Reding <treding@nvidia.com> wrote:
> > > Ever since the simple-panel binding was introduced, which is now about
> > > 3 1/2 years ago,
> >
> > Do you have a link to these discussions? Your blog article does not
> > have any links and I only found the "Runtime Interpreted Power
> > Sequences" thread.
> > That in itself does not cover the pros/cons of storing HW information*
> > within DT.
>
> There's some discussion here:
>
> https://lists.freedesktop.org/archives/dri-devel/2013-November/049509.html
>
> which continues here:
>
> https://lists.freedesktop.org/archives/dri-devel/2013-December/050082.html
>
> There are a couple of earlier threads, though, that discuss similar
> issues. This one seems to be the earliest I can find that is publicly
> archived:
>
> http://www.spinics.net/lists/devicetree/msg08497.html
>
> Going over all these threads again wasn't a very pleasant experience. I
> realize how much time I already spent discussing these, and I don't have
> any desire to repeat that discussion.
>
> We've had these differences ever since the very beginning. So we're now
> again going in circles.
>
> The main concern back at the time was that having to specify timings in
> the driver would result in a complete mess because we have zillions of
> panels that we need to support. That's turned out to be a complete non-
> issue. We've got something on the order of 50 or 60 drivers supported in
> the simple-panel driver, and for everything that's more complicated we
> have a handful of separate drivers, all fairly simple as well.
>
> So while I understand why people want to put all this information into
> DT, we've repeatedly discussed the disadvantages that this would have.
> And while we were never able to get everyone to agree, the current
> solution has had enough agreement that we merged it. And it turned out
> to be good enough. There's nothing in panel-lvds that I can see that
> fundamentally changes this.
>
> > Personally, the idea of having hardware information* in DT does not
> > sound all that bad. The simple panel driver(s) can use those
> > properties and any panels that require anything more complex will
> > still need their own driver.
>
> Again, the point is that you're going to have to modify the driver in
> any case, because you need to support the new compatible string. Without
> that compatible string you have zero information about the panel, and
> matching on a generic one isn't going to give you a working panel.
It will *if* the panel doesn't need any device-specific handling. In all other
cases I agree with you, panel-specific code will be needed in the kernel (to
handle power sequences for instance).
> So if you're already going to have to support a panel in a driver, why not
> go all the way and fully describe its capabilities and properties? We do it
> for all other devices. Panels are not at all special.
That we agree on, panels are not special. They're not the only devices that
store in DT information that could be hardcoded in the driver based on the
compatible string. We have many devices whose compatible string contains the
SoC version. Driver could then hardcode interrupts or clocks without any need
to specific them in DT. We don't do that as it would be more complex to
handle.
Regarding timings, I've long hesitated (albeit I confess I was more on the
side of specifying them in DT) until Rob Herring convinced me with the generic
rule that adding information in DT that are generally exposed by devices
themselves makes sense. Displays traditionally expose video mode information
through EDID, which is effectively device firmware. When a panel is integrated
in a system, and the system designer decides to save money by removing the
EDID I2C EEPROM, moving that piece of device firmware data to system firmware
makes sense to me.
I certainly won't try to revive the power sequence discussions, I don't
believe it belongs to DT.
> > For better or for worse, there's already a handful of drivers and
> > bindings that rely on/provide these. Using that information
> > consistently across the board, would be of a benefit, IMHO.
>
> Would you mind pointing out which ones these are? I'm aware of only a
> couple that seemed to have sneeked in because people were trying to
> side-step adding drm/panel support for their boards, so I don't think
> that qualifies as a reason to rethink how drm/panel works.
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2017-04-10 9:02 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-04 14:17 [GIT PULL FOR v4.12] Renesas R-Car Gen3 DU HDMI support Laurent Pinchart
2017-04-04 15:21 ` Thierry Reding
2017-04-04 15:38 ` Laurent Pinchart
2017-04-04 16:03 ` Daniel Vetter
2017-04-07 17:40 ` Thierry Reding
2017-04-05 6:51 ` [PATCH] drm: panels: Add MAINTAINERS entry for LVS panel driver Laurent Pinchart
2017-04-05 6:56 ` Laurent Pinchart
2017-04-05 7:47 ` Jani Nikula
2017-04-06 19:44 ` Dave Airlie
2017-04-07 17:33 ` Thierry Reding
2017-04-09 12:31 ` Emil Velikov
2017-04-10 7:17 ` Thierry Reding
2017-04-10 9:03 ` Laurent Pinchart [this message]
2017-04-10 19:27 ` Dave Airlie
2017-04-11 4:41 ` Laurent Pinchart
2017-04-11 18:56 ` Rob Herring
2017-04-12 15:44 ` Thierry Reding
2017-04-12 17:42 ` Daniel Vetter
2017-04-12 19:46 ` Alex Deucher
2017-04-10 9:58 ` Lucas Stach
2017-04-10 11:38 ` Emil Velikov
2017-04-11 5:00 ` Laurent Pinchart
2017-04-11 10:03 ` Thierry Reding
2017-04-11 17:10 ` Rob Herring
2017-04-12 15:26 ` Thierry Reding
2017-04-12 23:27 ` Rob Herring
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=1594881.cjtMSijjde@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=emil.l.velikov@gmail.com \
--cc=laurent.pinchart+renesas@ideasonboard.com \
--cc=treding@nvidia.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 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.