From: Thierry Reding <thierry.reding@gmail.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: Mark Rutland <mark.rutland@arm.com>,
devicetree <devicetree@vger.kernel.org>,
Archit Taneja <architt@codeaurora.org>,
Andrzej Hajda <a.hajda@samsung.com>,
David Airlie <airlied@linux.ie>,
linux-sunxi <linux-sunxi@googlegroups.com>,
dri-devel <dri-devel@lists.freedesktop.org>,
Maxime Ripard <maxime.ripard@bootlin.com>,
Chen-Yu Tsai <wens@csie.org>, Rob Herring <robh+dt@kernel.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 17:22:58 +0100 [thread overview]
Message-ID: <20190204162258.GB25476@ulmo> (raw)
In-Reply-To: <20190204155909.GU3271@phenom.ffwll.local>
[-- Attachment #1.1: Type: text/plain, Size: 5918 bytes --]
On Mon, Feb 04, 2019 at 04:59:09PM +0100, Daniel Vetter wrote:
> On Mon, Feb 04, 2019 at 12:22:18PM +0100, Thierry Reding wrote:
> > On Mon, Feb 04, 2019 at 10:40:12AM +0100, Daniel Vetter wrote:
> > > On Mon, Feb 04, 2019 at 09:23:59AM +0100, Thierry Reding 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.
> > >
> > > This would defeat the point of edp, which is to standardize the mess of
> > > panels (at least somewhat) and avoid having to change the DT/ACPI
> > > tables/firmware for every board you ship. Also, we do have DP quirking
> > > infrastructure already (using the OUI), I think if there's something that
> > > doesn't work then we should quirk it there.
> >
> > The problem is that while the attempt may have been to standardize, it
> > failed. It doesn't take into account any of the details such as timing
> > between things like powering up the display and enabling the backlight
> > or similar. I don't know how you'd want to "quirk" those kinds of
> > requirements because they are highly panel specific.
>
> Hm right, we get these from some firmware tables (and mix them with the
> spec one, since some of the firmware values are nonsense). I don't even
> know whether we can read the timings over dp aux somehow (you can power up
> the panel with some pessimistic values to figure those out, and you only
> need dp aux to work, which is much simpler than the entire panel).
>
> > > What does make sense though imo is if we try not to stuff the edp panel
> > > into panel-simple, because it's anything like a simple dumb panel. There's
> > > also some integration awkwardness since with this panel you need to do dp
> > > aux/i2c transactions to get at the information (edid alone isn't good
> > > enough for edp), and I'm not sure how exactly that's supposed to be
> > > instantiated. Maybe a special function to instantiate an edp panel, which
> > > takes both a DT node and the dp_aux controller would be much better,
> > > instead of trying to auto-match against a DT compatible string and load a
> > > panel driver which is almost all fake.
> > >
> > > Or we teach dp_aux to register itself and somehow teach panel-edp how it
> > > can get hold of the dp_aux channel it needs.
> >
> > We already do that. drm_dp_aux registers as an I2C adapter that can be
> > used to read EDID EEPROMs using I2C-over-AUX transactions. We already
> > use that on some platforms.
> >
> > Also note that simple-panel already supports getting video timings from
> > EDID. If a DDC link is present in DT, the driver will load the modes
> > from EDID and use them.
>
> Could we extend this to dp aux somehow? For edp you need the dp aux (which
> then gives you the ddc link automatically).
I suppose we could do that. We could introduce a new property that would
allow the panel driver to get at the struct drm_dp_aux that can access
the panel. I'm not sure how much that would buy us. I suppose the driver
could go and use that drm_dp_aux to do I2C-over-AUX and ignore any
ddc-bus property in device tree. A drm_dp_aux object could also be used
to access DPCD if that's helpful.
The driver proposed here doesn't need access to DPCD, so I'm not sure
that would immediately help.
Thierry
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-02-04 16:23 UTC|newest]
Thread overview: 77+ 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
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
2019-02-04 14:20 ` Maxime Ripard
2019-02-04 16:26 ` Vasily Khoruzhick
2019-02-04 16:28 ` Icenowy Zheng
2019-02-04 18:50 ` [linux-sunxi] " Vasily Khoruzhick
2019-02-05 15:41 ` Maxime Ripard
2019-02-05 17:49 ` Vasily Khoruzhick
2019-02-06 9:16 ` 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
2019-02-04 7:43 ` Thierry Reding
2019-02-04 8:13 ` Vasily Khoruzhick
2019-02-04 8:23 ` Thierry Reding
2019-02-04 9:40 ` Daniel Vetter
2019-02-04 11:22 ` Thierry Reding
2019-02-04 15:59 ` Daniel Vetter
2019-02-04 16:22 ` Thierry Reding [this message]
2019-02-05 8:57 ` Daniel Vetter
2019-02-05 10:24 ` Thierry Reding
2019-02-05 16:36 ` Daniel Vetter
2019-02-14 19:51 ` Vasily Khoruzhick
2019-02-14 20:05 ` Vasily Khoruzhick
2019-02-14 20:38 ` Rob Herring
2019-02-14 20:54 ` Vasily Khoruzhick
2019-02-04 16:11 ` Vasily Khoruzhick
2019-02-04 16:27 ` Thierry Reding
2019-02-04 16:39 ` Rob Herring
2019-02-04 17:02 ` [linux-sunxi] " Vasily Khoruzhick
2019-02-04 16:27 ` Rob Herring
2019-02-04 16:56 ` Thierry Reding
2019-02-04 17:07 ` Vasily Khoruzhick
2019-02-04 20:23 ` Rob Herring
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 1/9] drm/bridge: move ANA78xx driver to analogix subdirectory Icenowy Zheng
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 4/9] dt-bindings: Add ANX6345 DP/eDP transmitter binding Icenowy Zheng
2018-10-18 8:53 ` Laurent Pinchart
2018-10-18 10:00 ` Icenowy Zheng
2018-10-18 11:23 ` Laurent Pinchart
2018-10-18 12:40 ` Icenowy Zheng
2018-10-25 18:30 ` Rob Herring
2018-10-26 0:08 ` Icenowy Zheng
2018-10-18 7:33 ` [PATCH 5/9] drm/bridge: Add Analogix anx6345 support 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
2018-10-18 7:33 ` [PATCH 9/9] [DO NOT MERGE] drm/sun4i: rgb: Add 5% tolerance to dot clock frequency check Icenowy Zheng
2018-10-18 8:55 ` Laurent Pinchart
2018-10-18 9:18 ` Daniel Vetter
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-29 2:20 ` [PATCH 0/9] Analogix ANX6345 RGB-(e)DP bridge support Vasily Khoruzhick
2019-02-04 12:22 ` Torsten Duwe
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=20190204162258.GB25476@ulmo \
--to=thierry.reding@gmail.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=a.hajda@samsung.com \
--cc=airlied@linux.ie \
--cc=architt@codeaurora.org \
--cc=daniel@ffwll.ch \
--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=robh+dt@kernel.org \
--cc=seanpaul@chromium.org \
--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).