[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAD=FV=U+dnyuGc9OuvMJpYWVx1x6yYQPJgi6fh+6Ne37+veedw@mail.gmail.com>
Date: Wed, 8 Sep 2021 17:24:28 -0700
From: Doug Anderson <dianders@...omium.org>
To: Sam Ravnborg <sam@...nborg.org>
Cc: Thierry Reding <thierry.reding@...il.com>,
Rob Herring <robh+dt@...nel.org>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
linux-arm-msm <linux-arm-msm@...r.kernel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
Linus W <linus.walleij@...aro.org>,
Daniel Vetter <daniel@...ll.ch>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree@...r.kernel.org>, Steev Klimaszewski <steev@...i.org>,
Thomas Zimmermann <tzimmermann@...e.de>,
Maxime Ripard <mripard@...nel.org>,
David Airlie <airlied@...ux.ie>,
dri-devel <dri-devel@...ts.freedesktop.org>,
Al Viro <viro@...iv.linux.org.uk>,
Alexandre Belloni <alexandre.belloni@...tlin.com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Andreas Kemnade <andreas@...nade.info>,
Andrey Zhizhikin <andrey.zhizhikin@...ca-geosystems.com>,
Anson Huang <Anson.Huang@....com>,
Arnd Bergmann <arnd@...db.de>,
Catalin Marinas <catalin.marinas@....com>,
Chen-Yu Tsai <wens@...e.org>,
Claudiu Beznea <claudiu.beznea@...rochip.com>,
Codrin Ciubotariu <codrin.ciubotariu@...rochip.com>,
Corentin Labbe <clabbe@...libre.com>,
Daniel Thompson <daniel.thompson@...aro.org>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Dmitry Osipenko <digetx@...il.com>,
Emil Velikov <emil.velikov@...labora.com>,
Enric Balletbo i Serra <enric.balletbo@...labora.com>,
Eugen Hristev <eugen.hristev@...rochip.com>,
Fabio Estevam <festevam@...il.com>,
Fabrice Gasnier <fabrice.gasnier@...com>,
Florian Fainelli <f.fainelli@...il.com>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Grygorii Strashko <grygorii.strashko@...com>,
Guido Günther <agx@...xcpu.org>,
Jagan Teki <jagan@...rulasolutions.com>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Joel Stanley <joel@....id.au>,
Jonathan Hunter <jonathanh@...dia.com>,
Kees Cook <keescook@...omium.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@...onical.com>,
Lionel Debieve <lionel.debieve@...com>,
Liviu Dudau <liviu.dudau@....com>,
Lorenzo Pieralisi <lorenzo.pieralisi@....com>,
Ludovic Desroches <ludovic.desroches@...rochip.com>,
Magnus Damm <magnus.damm@...il.com>,
Manivannan Sadhasivam <mani@...nel.org>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Martin Jücker <martin.juecker@...il.com>,
Michael Walle <michael@...le.cc>,
NXP Linux Team <linux-imx@....com>,
Nicolas Ferre <nicolas.ferre@...rochip.com>,
Nishanth Menon <nm@...com>,
Olivier Moysan <olivier.moysan@...com>,
Olof Johansson <olof@...om.net>,
Otavio Salvador <otavio@...ystems.com.br>,
Paul Cercueil <paul@...pouillou.net>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Razvan Stefanescu <razvan.stefanescu@...rochip.com>,
Robert Richter <rric@...nel.org>,
Russell King <linux@...linux.org.uk>,
Sascha Hauer <s.hauer@...gutronix.de>,
Shawn Guo <shawnguo@...nel.org>,
Stefan Wahren <stefan.wahren@...e.com>,
Sudeep Holla <sudeep.holla@....com>,
Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Tony Lindgren <tony@...mide.com>,
Tudor Ambarus <tudor.ambarus@...rochip.com>,
Vinod Koul <vkoul@...nel.org>,
Viresh Kumar <viresh.kumar@...aro.org>,
Vladimir Zapolskiy <vz@...ia.com>,
Will Deacon <will@...nel.org>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
LKML <linux-kernel@...r.kernel.org>,
linux-mips <linux-mips@...r.kernel.org>,
linux-omap <linux-omap@...r.kernel.org>,
Linux-Renesas <linux-renesas-soc@...r.kernel.org>,
linux-samsung-soc <linux-samsung-soc@...r.kernel.org>,
linux-sunxi@...ts.linux.dev,
"open list:TEGRA ARCHITECTURE SUPPORT" <linux-tegra@...r.kernel.org>,
Łukasz Stelmach <l.stelmach@...sung.com>
Subject: Re: [PATCH v3 00/16] eDP: Support probing eDP panels dynamically
instead of hardcoding
Hi,
On Sun, Sep 5, 2021 at 11:55 AM Sam Ravnborg <sam@...nborg.org> wrote:
>
> Hi Douglas,
>
> On Wed, Sep 01, 2021 at 01:19:18PM -0700, Douglas Anderson wrote:
> > The goal of this patch series is to move away from hardcoding exact
> > eDP panels in device tree files. As discussed in the various patches
> > in this series (I'm not repeating everything here), most eDP panels
> > are 99% probable and we can get that last 1% by allowing two "power
> > up" delays to be specified in the device tree file and then using the
> > panel ID (found in the EDID) to look up additional power sequencing
> > delays for the panel.
> >
> > This patch series is the logical contiunation of a previous patch
> > series where I proposed solving this problem by adding a
> > board-specific compatible string [1]. In the discussion that followed
> > it sounded like people were open to something like the solution
> > proposed in this new series.
> >
> > In version 2 I got rid of the idea that we could have a "fallback"
> > compatible string that we'd use if we didn't recognize the ID in the
> > EDID. This simplifies the bindings a lot and the implementation
> > somewhat. As a result of not having a "fallback", though, I'm not
> > confident in transitioning any existing boards over to this since
> > we'll have to fallback to very conservative timings if we don't
> > recognize the ID from the EDID and I can't guarantee that I've seen
> > every panel that might have shipped on an existing product. The plan
> > is to use "edp-panel" only on new boards or new revisions of old
> > boards where we can guarantee that every EDID that ships out of the
> > factory has an ID in the table.
> >
> > Version 3 of this series now splits out all eDP panels to their own
> > driver and adds the generic eDP panel support to this new driver. I
> > believe this is what Sam was looking for [2].
> >
> > [1] https://lore.kernel.org/r/YFKQaXOmOwYyeqvM@google.com/
> > [2] https://lore.kernel.org/r/YRTsFNTn%2FT8fLxyB@ravnborg.org/
> >
> > Changes in v3:
> > - Decode hex product ID w/ same endianness as everyone else.
> > - ("Reorder logicpd_type_28...") patch new for v3.
> > - Split eDP panels patch new for v3.
> > - Move wayward panels patch new for v3.
> > - ("Non-eDP panels don't need "HPD" handling") new for v3.
> > - Split the delay structure out patch just on eDP now.
> > - ("Better describe eDP panel delays") new for v3.
> > - Fix "prepare_to_enable" patch new for v3.
> > - ("Don't re-read the EDID every time") moved to eDP only patch.
> > - Generic "edp-panel" handled by the eDP panel driver now.
> > - Change init order to we power at the end.
> > - Adjust endianness of product ID.
> > - Fallback to conservative delays if panel not recognized.
> > - Add Sharp LQ116M1JW10 to table.
> > - Add AUO B116XAN06.1 to table.
> > - Rename delays more generically so they can be reused.
> >
> > Changes in v2:
> > - No longer allow fallback to panel-simple.
> > - Add "-ms" suffix to delays.
> > - Don't support a "fallback" panel. Probed panels must be probed.
> > - Not based on patch to copy "desc"--just allocate for probed panels.
> > - Add "-ms" suffix to delays.
> >
> > Douglas Anderson (16):
> > dt-bindings: drm/panel-simple-edp: Introduce generic eDP panels
> > drm/edid: Break out reading block 0 of the EDID
> > drm/edid: Allow the querying/working with the panel ID from the EDID
> > drm/panel-simple: Reorder logicpd_type_28 / mitsubishi_aa070mc01
> > drm/panel-simple-edp: Split eDP panels out of panel-simple
> > ARM: configs: Everyone who had PANEL_SIMPLE now gets PANEL_SIMPLE_EDP
> > arm64: defconfig: Everyone who had PANEL_SIMPLE now gets
> > PANEL_SIMPLE_EDP
> > MIPS: configs: Everyone who had PANEL_SIMPLE now gets PANEL_SIMPLE_EDP
> > drm/panel-simple-edp: Move some wayward panels to the eDP driver
> > drm/panel-simple: Non-eDP panels don't need "HPD" handling
> > drm/panel-simple-edp: Split the delay structure out
> > drm/panel-simple-edp: Better describe eDP panel delays
> > drm/panel-simple-edp: hpd_reliable shouldn't be subtraced from
> > hpd_absent
> > drm/panel-simple-edp: Fix "prepare_to_enable" if panel doesn't handle
> > HPD
> > drm/panel-simple-edp: Don't re-read the EDID every time we power off
> > the panel
> > drm/panel-simple-edp: Implement generic "edp-panel"s probed by EDID
>
> Thanks for looking into this. I really like the outcome.
> We have panel-simple that now (mostly) handle simple panels,
> and thus all the eDP functionality is in a separate driver.
>
> I have provided a few nits.
> My only take on this is the naming - as we do not want to confuse
> panel-simple and panel-edp I strongly suggest renaming the driver to
> panel-edp.
Sure, I'll do that. I was trying to express the fact that the new
"panel-edp" driver won't actually handle _all_ eDP panels, only the
eDP panels that are (comparatively) simpler. For instance, I'm not
planning to handle panel-samsung-atna33xc20.c in "panel-edp". I guess
people will figure it out, though.
> And then rename the corresponding Kconfig entry.
>
> With these few changes all patches are:
> Acked-by: Sam Ravnborg <sam@...nborg.org>
Thanks, I'll add it to the patches. If there's anything major I need
to change I'll give you a yell to make sure you see it.
> For bisectability I suggest to move the defconfig patches up before you
> introduce the new Kconfig symbol. Or maybe they will be added via
> another tree and then this is not possible to control
Yup, I'll do that. There was some question about the defconfig patch
but they are hopefully cleared up now.
> I assume you will apply the patches yourself.
Sure, I can do that with your Ack. I'll also make sure that patches
that Jani commented on get resolved.
-Doug
Powered by blists - more mailing lists