Re: [v4 4/4] drm/panel: Support for Starry-ili9882t TDDI MIPI-DSI panel

From: Sam Ravnborg
Date: Fri Jul 07 2023 - 01:59:01 EST


Hi all,
On Thu, Jul 06, 2023 at 02:25:16PM -0700, Doug Anderson wrote:
> Hi,
>
> On Tue, Jul 4, 2023 at 12:47 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
> >
> > On Thu, Jun 1, 2023 at 5:55 PM Doug Anderson <dianders@xxxxxxxxxx> wrote:
> > > On Thu, May 25, 2023 at 2:32 AM Cong Yang
> > > <yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > > >
> > > > The Starry-ili9882 is a 10.51" WUXGA TFT panel. which fits in nicely with
> > > > the existing panel-boe-tv101wum-nl6 driver. From the datasheet,MIPI need
> > > > to keep the LP11 state before the lcm_reset pin is pulled high. So add
> > > > lp11_before_reset flag.
> > > >
> > > > Signed-off-by: Cong Yang <yangcong5@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
> > > > Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>
> > > > ---
> > > > .../gpu/drm/panel/panel-boe-tv101wum-nl6.c | 371 ++++++++++++++++++
> > > > 1 file changed, 371 insertions(+)
> > >
> > > Applied to drm-misc-next:
> > >
> > > 8716a6473e6c drm/panel: Support for Starry-ili9882t TDDI MIPI-DSI panel
> >
> > Sorry for noticing too late and coming after the fact and complaining.
> >
> > We must stop using the panel-boe-tv101wum-nl6.c driver as a
> > one-stop-shop for Chromium panels. The Starry panel in particular
> > hardware-wise has nothing in common with the other panels in this
> > driver and I'm suspicious about patch 3/4 as well.
> >
> > Please check my patch breaking it out to a separate driver, and
> > if you could check internally if you have a datasheet for Ilitek
> > ILI9882t or can use your vendor leverage to get one to improve
> > on the driver (such as define the DCS commands...) that would
> > be great.
> >
> > There are good reasons for grouping the panel drivers into
> > respective display controller such as fixing bugs in one place
> > and if we ever want to properly support things such as
> > gamma correction it will provide the proper per-display-controller
> > approach.
>
> I mentioned in response to your patch #3 also [1], but closing the
> loop here as well. The original reason several panels all ended up in
> one driver was in response to Sam's feedback [2]. That was even
> documented when the first of the "Chromium" panels landed in commit
> 93ee1a2c0f08 ("drm/panel: support for BOE and INX video mode panel").

If we should go with any sort of guideline then one-driver-per-controller.
So we do not mix display controllers in one driver, but we can have
different panels in one driver.

Then there may be two almost identical controllers that can share the
same driver, or there can be controllers used in two different ways so
they warrant independent drivers. In other words this should be used
with common sense.

And if someone can help naming all the magic constant that would be
super.

Sam