dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh+dt@kernel.org>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	devicetree <devicetree@vger.kernel.org>,
	David Airlie <airlied@linux.ie>,
	linux-sunxi <linux-sunxi@googlegroups.com>,
	dri-devel <dri-devel@lists.freedesktop.org>,
	Vasily Khoruzhick <anarsoul@gmail.com>,
	Maxime Ripard <maxime.ripard@bootlin.com>,
	Chen-Yu Tsai <wens@csie.org>, Sean Paul <seanpaul@chromium.org>,
	Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
	arm-linux <linux-arm-kernel@lists.infradead.org>,
	Icenowy Zheng <icenowy@aosc.io>
Subject: Re: [PATCH RESEND v2 08/12] dt-bindings: add binding for generic eDP panel
Date: Mon, 4 Feb 2019 14:23:41 -0600	[thread overview]
Message-ID: <CAL_JsqJx98DfHZSafiXA8QiO=bn1zy8g6keQ15L=cUmbVkTTOA@mail.gmail.com> (raw)
In-Reply-To: <20190204165637.GA30876@ulmo>

On Mon, Feb 4, 2019 at 10:56 AM Thierry Reding <thierry.reding@gmail.com> wrote:
>
> On Mon, Feb 04, 2019 at 10:27:09AM -0600, Rob Herring wrote:
> > On Mon, Feb 4, 2019 at 2:24 AM Thierry Reding <thierry.reding@gmail.com> wrote:
> > >
> > > On Mon, Feb 04, 2019 at 12:13:55AM -0800, Vasily Khoruzhick wrote:
> > > > On Sun, Feb 3, 2019 at 11:43 PM Thierry Reding <thierry.reding@gmail.com> wrote:
> > > > >
> > > > > On Sun, Feb 03, 2019 at 10:54:57AM -0800, Vasily Khoruzhick wrote:
> > > > > > eDP panels usually have EDID EEPROM, so there's no need to define panel
> > > > > > width/height or any modes/timings in dts. But this panel still may have
> > > > > > regulator and/or backlight.
> > > > > >
> > > > > > Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
> > > > > > ---
> > > > > >  .../devicetree/bindings/display/panel/panel-edp.txt        | 7 +++++++
> > > > > >  1 file changed, 7 insertions(+)
> > > > > >  create mode 100644 Documentation/devicetree/bindings/display/panel/panel-edp.txt
> > > > >
> > > > > Please don't try to make panels look more generic than they really are.
> > > > > You're going to have to provide a compatible string for your device that
> > > > > is more specific than "panel-edp". You claim that you don't need any
> > > > > extra information that is panel specific, but you don't know that now.
> > > > > We have in the past thought that we didn't need things like prepare
> > > > > delay, but then we ran into situations where we did need them.
> > > > >
> > > > > Just do what everybody else does. Provide a specific compatible string
> > > > > and match on that in the panel-simple driver. Even if you can read all
> > > > > the video timings from an EDID EEPROM, you can still provide a mode in
> > > > > the panel descriptor to serve as a fallback if for example the EEPROM
> > > > > is faulty on some device.
> > > >
> > > > Pinebook used several 768p panels that have slightly different timings
> > > > and recent batch uses 1080p panel.
> > > >
> > > > What panel descriptor should I use as fallback?
> > >
> > > You don't use panel descriptors as fallback. The simple-panel driver
> > > will bind to a panel device and use the corresponding descriptor. If
> > > your device tree contains the correct information, the descriptor is
> > > correct for the panel you have.
> > >
> > > In other words you need to ensure that you have the correct panel in
> > > device tree for the board that you're using. This is exactly the same
> > > thing as for other devices.
> > >
> > > One way to to this is to have separate device trees for each variant
> > > of the board that you want to support. Another variant may be to have
> > > a common device tree and then have some early firmware update the DTB
> > > with the correct panel information.
> >
> > That can be a pain to manage especially if panels are swapped run to
> > run with 2nd sources.
> >
> > I think it is perfectly fine to have a generic-ish fallback as long as
> > it is just that, a fallback. If the panel has quirks, then you'd
> > better make sure the firmware is stuffing in the right compatibles or
> > that you can update the firmware.
>
> simple-panel would probably work if you stuck in some mostly compatible
> string and provided a ddc-i2c-bus property in the device tree node. The
> generic-ish fallback case could be implemented by providing a fallback
> compatible string (we used to have "simple-panel", which I think would
> still be adequate for this I suppose) and adding a dummy descriptor in
> the driver, perhaps one with pre-defined delays that could be adjusted
> to work for all cases, or they could just be 0. At least that way we'd
> be explicitly documenting that we support this as a fallback.

I'd like something more specific than 'simple-panel' that at least
implies it has EDID and whatever else we think it should imply.

Looking into this a bit more, why don't we just do a connector here?
eDP has a standard connector (with power). It's just like other
connectors, but with power and no hotplug. If someone does their own
interface, then they should do their own connector or panel binding.

> I'm not sure how you'd want to enforce that people provide the right
> compatible strings that way. Currently there's no way to make your panel
> work without adding a panel driver, so people are forced to write the
> DT bindings and a driver, or add support to an existing one. If we open
> this backdoor, I suspect many people will just take the easy route and
> rely on the fallback. And then what do we do when we get bug reports
> about panels not working, or requiring some quirks. How do we go and
> find out what the right compatible strings are for each board, or how to
> fix things for something we don't have access to.

We'll simply reject anything that should be implied by compatible. And
now we can enforce with schema that DTs aren't populated with
fallbacks alone. Of course, we can't make anyone pass all schema
checks before shipping a dtb.

Rob
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  parent reply	other threads:[~2019-02-04 20:23 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-03 18:54 [PATCH RESEND v2 00/12] Analogix ANX6345 RGB-(e)DP bridge support Vasily Khoruzhick
     [not found] ` <20190203185501.8958-1-anarsoul-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-02-03 18:54   ` [PATCH RESEND v2 01/12] drm/bridge: move ANA78xx driver to analogix subdirectory Vasily Khoruzhick
2019-02-03 18:54   ` [PATCH RESEND v2 02/12] drm/bridge: split some definitions of ANX78xx to dedicated headers Vasily Khoruzhick
2019-02-03 18:54   ` [PATCH RESEND v2 03/12] drm/bridge: extract some Analogix I2C DP common code Vasily Khoruzhick
2019-02-03 18:54   ` [PATCH RESEND v2 04/12] dt-bindings: Add ANX6345 DP/eDP transmitter binding Vasily Khoruzhick
2019-02-03 18:54   ` [PATCH RESEND v2 05/12] drm/bridge: Add Analogix anx6345 support Vasily Khoruzhick
2019-02-05 13:19     ` Torsten Duwe
2019-02-03 18:54   ` [PATCH RESEND v2 06/12] drm/sun4i: rgb: Add 1% tolerance to dclk frequency check when bridge is connected Vasily Khoruzhick
     [not found]     ` <20190203185501.8958-7-anarsoul-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-02-04 14:20       ` Maxime Ripard
2019-02-04 16:26         ` Vasily Khoruzhick
     [not found]           ` <CA+E=qVfTfJ9E29gz83tdVGx5_KGWSQVJOAxKTzC+-n7=gdj0cA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-04 16:28             ` Icenowy Zheng
     [not found]               ` <0F6CBEA4-6DB6-40F1-A2FD-65101AF64F1F-h8G6r0blFSE@public.gmane.org>
2019-02-04 18:50                 ` Vasily Khoruzhick
     [not found]                   ` <CA+E=qVd7yh=JNZSvrfY4Diu+VJWFK6yLUJ5MavBcZ8Cftn6f-Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-05 15:41                     ` Maxime Ripard
2019-02-05 17:49                       ` Vasily Khoruzhick
2019-02-06  9:16                         ` [linux-sunxi] " Maxime Ripard
2019-02-06 11:42                           ` Thierry Reding
2019-02-03 18:54   ` [PATCH RESEND v2 07/12] drm/panel: simple: don't fail if we don't have panel desc Vasily Khoruzhick
2019-02-03 18:54   ` [PATCH RESEND v2 08/12] dt-bindings: add binding for generic eDP panel Vasily Khoruzhick
     [not found]     ` <20190203185501.8958-9-anarsoul-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2019-02-04  7:43       ` Thierry Reding
2019-02-04  8:13         ` Vasily Khoruzhick
     [not found]           ` <CA+E=qVecudACOEXt74Kf=UA_F-uuHgEqHzKpYAq1ocMx3Sx+eQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-04  8:23             ` Thierry Reding
2019-02-04  9:40               ` Daniel Vetter
     [not found]                 ` <20190204094012.GP3271-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2019-02-04 11:22                   ` Thierry Reding
2019-02-04 15:59                     ` Daniel Vetter
     [not found]                       ` <20190204155909.GU3271-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2019-02-04 16:22                         ` Thierry Reding
2019-02-05  8:57                           ` Daniel Vetter
2019-02-05 10:24                             ` Thierry Reding
2019-02-05 16:36                               ` Daniel Vetter
     [not found]                                 ` <20190205163649.GG3271-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>
2019-02-14 19:51                                   ` Vasily Khoruzhick
2019-02-14 20:05                               ` Vasily Khoruzhick
     [not found]                                 ` <CA+E=qVcUsz=5s1+RqDdQ4Hm3_Q3jDFuZwuYXUuVx3ubFWmcG7w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-14 20:38                                   ` Rob Herring
     [not found]                                     ` <CAL_JsqKQ0EmyYGYvz__ZZGN7_6jLezevHWc+psn82Uy6hWZXMA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-14 20:54                                       ` Vasily Khoruzhick
2019-02-04 16:11               ` Vasily Khoruzhick
     [not found]                 ` <CA+E=qVew+8__yrAud1gFnLQ8HCwDdGhVjV=c173HGvZxH=7zZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-04 16:27                   ` Thierry Reding
2019-02-04 16:39                 ` Rob Herring
     [not found]                   ` <CAL_JsqLAODca_U94hCi9O3E6XiUjAYCoL7_0gkf_eMY0nnT8Ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-04 17:02                     ` Vasily Khoruzhick
2019-02-04 16:27               ` Rob Herring
     [not found]                 ` <CAL_JsqKt1kOXmRNvkYsQ6AL69+TPZURKpDbKkkEUb2+KZ5hKjQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-04 16:56                   ` Thierry Reding
2019-02-04 17:07                     ` Vasily Khoruzhick
2019-02-04 20:23                     ` Rob Herring [this message]
     [not found]                       ` <CAL_JsqJx98DfHZSafiXA8QiO=bn1zy8g6keQ15L=cUmbVkTTOA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-02-04 20:26                         ` Vasily Khoruzhick
2019-02-04 20:34                           ` Rob Herring
2019-02-03 18:54   ` [PATCH RESEND v2 09/12] drm/panel: simple: add " Vasily Khoruzhick
2019-02-03 18:54   ` [PATCH RESEND v2 10/12] arm64: allwinner: a64: add pinmux for RGB666 LCD Vasily Khoruzhick
2019-02-03 18:55   ` [PATCH RESEND v2 11/12] arm64: allwinner: a64: enable LCD-related hardware for Pinebook Vasily Khoruzhick
2019-02-03 18:55   ` [PATCH RESEND v2 12/12] arm64: allwinner: a64: enable LCD-related hardware for TERES-I Vasily Khoruzhick
  -- strict thread matches above, loose matches on Subject: below --
2018-10-18  7:33 [PATCH 0/9] Analogix ANX6345 RGB-(e)DP bridge support Icenowy Zheng
2018-10-18  7:33 ` [PATCH 4/9] dt-bindings: Add ANX6345 DP/eDP transmitter binding Icenowy Zheng
     [not found]   ` <20181018073327.64942-5-icenowy-h8G6r0blFSE@public.gmane.org>
2018-10-18  8:53     ` Laurent Pinchart
2018-10-18 10:00       ` Icenowy Zheng
     [not found]         ` <c68f0da9607805e1f6673a9a16a7dcfff4d8fe91.camel-h8G6r0blFSE@public.gmane.org>
2018-10-18 11:23           ` Laurent Pinchart
2018-10-18 12:40             ` Icenowy Zheng
     [not found]               ` <f71d442412f31828c466e3483e9d42f5e96ddc1d.camel-h8G6r0blFSE@public.gmane.org>
2018-10-25 18:30                 ` Rob Herring
2018-10-26  0:08                   ` Icenowy Zheng
2018-10-18  7:33 ` [PATCH 6/9] arm64: allwinner: a64: add pinmux for RGB666 LCD Icenowy Zheng
2018-10-18  7:33 ` [PATCH 7/9] arm64: allwinner: a64: enable ANX6345 bridge on Pinebook Icenowy Zheng
2018-10-18 15:17   ` Vasily Khoruzhick
2018-10-19  5:50     ` Icenowy Zheng
2018-10-18  7:33 ` [PATCH 8/9] arm64: allwinner: a64: enable ANX6345 bridge on TERES-I Icenowy Zheng
     [not found] ` <20181018073327.64942-1-icenowy-h8G6r0blFSE@public.gmane.org>
2018-10-18  7:33   ` [PATCH 1/9] drm/bridge: move ANA78xx driver to analogix subdirectory Icenowy Zheng
     [not found]     ` <20181018073327.64942-2-icenowy-h8G6r0blFSE@public.gmane.org>
2018-10-18  8:47       ` Laurent Pinchart
2018-10-18  7:33   ` [PATCH 2/9] drm/bridge: split some definitions of ANX78xx to dedicated headers Icenowy Zheng
2018-10-18  7:33   ` [PATCH 3/9] drm/bridge: extract some Analogix I2C DP common code Icenowy Zheng
2018-10-18  7:33   ` [PATCH 5/9] drm/bridge: Add Analogix anx6345 support Icenowy Zheng
2018-10-18  7:33   ` [PATCH 9/9] [DO NOT MERGE] drm/sun4i: rgb: Add 5% tolerance to dot clock frequency check Icenowy Zheng
     [not found]     ` <20181018073327.64942-10-icenowy-h8G6r0blFSE@public.gmane.org>
2018-10-18  8:55       ` Laurent Pinchart
2018-10-18  9:18         ` Daniel Vetter
     [not found]           ` <CAKMK7uFp2c=wqzPi096MTRB6Cdfacerkp6dM=fEqCAr99PQG9w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2018-10-18  9:42             ` Maxime Ripard
2018-10-18 11:31               ` Laurent Pinchart
2018-10-18 12:18                 ` Maxime Ripard
2018-10-18 12:50                   ` Icenowy Zheng
2018-10-18 13:07                     ` Maxime Ripard
2018-10-18 13:57                   ` Laurent Pinchart
2019-02-03  1:32                 ` Vasily Khoruzhick
2018-10-18 12:25               ` Stefan Monnier
2018-10-29  2:20 ` [PATCH 0/9] Analogix ANX6345 RGB-(e)DP bridge support Vasily Khoruzhick
2019-02-04 12:22 ` Torsten Duwe
     [not found]   ` <20190204122250.GB7660-jcswGhMUV9g@public.gmane.org>
2019-02-04 20:21     ` Vasily Khoruzhick

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='CAL_JsqJx98DfHZSafiXA8QiO=bn1zy8g6keQ15L=cUmbVkTTOA@mail.gmail.com' \
    --to=robh+dt@kernel.org \
    --cc=Laurent.pinchart@ideasonboard.com \
    --cc=airlied@linux.ie \
    --cc=anarsoul@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=icenowy@aosc.io \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-sunxi@googlegroups.com \
    --cc=mark.rutland@arm.com \
    --cc=maxime.ripard@bootlin.com \
    --cc=seanpaul@chromium.org \
    --cc=thierry.reding@gmail.com \
    --cc=wens@csie.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).