linux-renesas-soc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Rob Herring <robh@kernel.org>
Cc: dri-devel <dri-devel@lists.freedesktop.org>,
	"open list:MEDIA DRIVERS FOR RENESAS - FCP"
	<linux-renesas-soc@vger.kernel.org>,
	Tomi Valkeinen <tomi.valkeinen@ti.com>,
	Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>
Subject: Re: [PATCH v2 01/13] devicetree/bindings: display: Document common panel properties
Date: Tue, 29 Nov 2016 20:23:41 +0200	[thread overview]
Message-ID: <2064799.n5laApbQHL@avalon> (raw)
In-Reply-To: <CAL_JsqL0+4--nE1UDHWzqS-s18A+q2i76S8=woCb5huV3jUMew@mail.gmail.com>

Hi Rob,

On Tuesday 29 Nov 2016 09:14:09 Rob Herring wrote:
> On Tue, Nov 29, 2016 at 2:27 AM, Laurent Pinchart wrote:
> > On Tuesday 22 Nov 2016 11:36:55 Laurent Pinchart wrote:
> >> On Monday 21 Nov 2016 10:48:15 Rob Herring wrote:
> >>> On Sat, Nov 19, 2016 at 05:28:01AM +0200, Laurent Pinchart wrote:
> >>>> Document properties common to several display panels in a central
> >>>> location that can be referenced by the panel device tree bindings.
> >>> 
> >>> Looks good. Just one comment...
> >>> 
> >>> [...]
> >>> 
> >>>> +Connectivity
> >>>> +------------
> >>>> +
> >>>> +- ports: Panels receive video data through one or multiple
> >>>> connections. While
> >>>> +  the nature of those connections is specific to the panel type, the
> >>>> +  connectivity is expressed in a standard fashion using ports as
> >>>> specified in
> >>>> +  the device graph bindings defined in
> >>>> +  Documentation/devicetree/bindings/graph.txt.
> >>> 
> >>> We allow panels to either use graph binding or be a child of the
> >>> display controller.
> >> 
> >> I knew that some display controllers use a phandle to the panel (see the
> >> fsl,panel and nvidia,panel properties), but I didn't know we had panels
> >> as children of display controller nodes. I don't think we should allow
> >> that for anything but DSI panels, as the DT hierarchy is based on control
> >> buses. Are you sure we have other panels instantiated through that
> >> mechanism ?
>
> Some panels have no control bus, so were do we place them?

I'd say under the root node, like all similar control-less devices.

> I would say the hierarchy is based on buses with a preference for the
> control bus when there are multiple buses. I'm not a fan of just sticking
> things are the top level.

OK, so much for my comment a few lines up :-)

The problem with placing non-DSI panels as children of the display controller 
and not using OF graph is that the panel bindings become dependent of the 
display controller being used. A display controller using OF graph would 
require the panel to do the same, while a display controller expecting a panel 
child node (with a specific name) would require DT properties for the panel 
node.

I'm also not sure the complexity of OF graph is really that prohibitive if you 
compare it to panels as child nodes. To get the panel driver to bind to the 
panel DT node the display controller driver would need to create a platform 
device for the panel and register it. That's not very difficult, but parsing a 
single port and endpoint isn't either (and we could even provide a helper 
function for that, a version of of_drm_find_panel() that would take as an 
argument the display controller device node instead of the panel device node).

> > Ping ?
> > 
> > Please note that this file documents properties common to multiple panel
> > DT bindings, but in no way makes it mandatory to use the OF graph bindings
> > for panels. The decision is left to individual bindings.
> 
> It is mandatory in the sense that we don't want more cases of "fsl,panel".

That I agree with :-)

-- 
Regards,

Laurent Pinchart


  reply	other threads:[~2016-11-29 18:23 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-19  3:28 [PATCH v2 00/13] R-Car DU: Add support for LVDS mode selection Laurent Pinchart
2016-11-19  3:28 ` [PATCH v2 01/13] devicetree/bindings: display: Document common panel properties Laurent Pinchart
2016-11-21 16:48   ` Rob Herring
2016-11-22  9:36     ` Laurent Pinchart
2016-11-29  8:27       ` Laurent Pinchart
2016-11-29 15:14         ` Rob Herring
2016-11-29 18:23           ` Laurent Pinchart [this message]
2016-12-18 20:54             ` Laurent Pinchart
2016-12-19 15:38               ` Rob Herring
2016-12-19 16:54                 ` Laurent Pinchart
2017-01-03 22:33                   ` Rob Herring
2016-11-22 11:05   ` Thierry Reding
2016-11-22 13:14     ` Laurent Pinchart
2016-11-22 21:10     ` Rob Herring
2017-04-09 11:47   ` Emil Velikov
2017-04-11  5:12     ` Laurent Pinchart
2016-11-19  3:28 ` [PATCH v2 02/13] devicetree/bindings: display: Add bindings for LVDS panels Laurent Pinchart
2016-11-21 16:48   ` Rob Herring
2016-11-22 11:02   ` Thierry Reding
2016-11-22 13:21     ` Laurent Pinchart
2016-11-19  3:28 ` [PATCH v2 03/13] devicetree/bindings: display: Add bindings for two Mitsubishi panels Laurent Pinchart
2016-11-21 16:49   ` Rob Herring
2016-11-19  3:28 ` [PATCH v2 04/13] drm: Add data mirror bus flag Laurent Pinchart
2016-12-18 20:31   ` Laurent Pinchart
2016-12-20 13:01     ` Stefan Agner
2016-12-20 13:21       ` Laurent Pinchart
2016-12-20 13:31         ` Stefan Agner
2017-01-04  0:39           ` [PATCH v2.1 04/13] drm: Add data transmission order " Laurent Pinchart
2017-01-04  7:06             ` Thierry Reding
2017-01-04 11:58               ` Laurent Pinchart
2016-11-19  3:28 ` [PATCH v2 05/13] drm: panels: Constify device node argument to of_drm_find_panel() Laurent Pinchart
2016-12-18 20:57   ` Laurent Pinchart
2017-01-04  7:09   ` Thierry Reding
2016-11-19  3:28 ` [PATCH v2 06/13] drm: panels: Add LVDS panel driver Laurent Pinchart
2016-11-22 11:14   ` Thierry Reding
2016-11-22 13:17     ` Laurent Pinchart
2017-01-11 22:46       ` Laurent Pinchart
2016-11-19  3:28 ` [PATCH v2 07/13] arm64: dts: r8a7795: Add PWM support Laurent Pinchart
2016-11-21  8:27   ` Geert Uytterhoeven
2016-11-21  9:18     ` Laurent Pinchart
2017-01-04  1:06       ` Laurent Pinchart
2017-01-04  9:01         ` Simon Horman
2016-11-19  3:28 ` [PATCH v2 08/13] arm64: dts: r8a7795: salvator-x: Add DU LVDS output endpoint Laurent Pinchart
2017-01-04  1:07   ` Laurent Pinchart
2017-01-04  9:08     ` Simon Horman
2016-11-19  3:28 ` [PATCH v2 09/13] arm64: dts: r8a7795: salvator-x: Add panel backlight support Laurent Pinchart
2016-11-21  8:36   ` Geert Uytterhoeven
2016-11-21  9:19     ` Laurent Pinchart
2016-11-21  9:23       ` Geert Uytterhoeven
2016-11-21  9:59         ` Laurent Pinchart
2017-04-05  8:45           ` Laurent Pinchart
2017-04-05  8:55             ` Geert Uytterhoeven
2017-04-05 18:21               ` Simon Horman
2016-11-19  3:28 ` [PATCH v2 10/13] ARM: shmobile: dts: Switch to panel-lvds bindings for Mitsubishi panels Laurent Pinchart
2016-11-19  3:28 ` [PATCH v2 11/13] drm: rcar-du: Switch to encoder .atomic_mode_set() helper function Laurent Pinchart
2016-11-19  3:28 ` [PATCH v2 12/13] drm: rcar-du: Use the DRM panel API Laurent Pinchart
2016-11-19  3:28 ` [PATCH v2 13/13] drm: rcar-du: Add support for LVDS mode selection 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=2064799.n5laApbQHL@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=tomi.valkeinen@ti.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 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).