[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200718174215.mgjl3klytfa3nf3t@core.my.home>
Date: Sat, 18 Jul 2020 19:42:15 +0200
From: Ondřej Jirman <megous@...ous.com>
To: Guido Günther <agx@...xcpu.org>
Cc: David Airlie <airlied@...ux.ie>, Daniel Vetter <daniel@...ll.ch>,
Thierry Reding <thierry.reding@...il.com>,
Sam Ravnborg <sam@...nborg.org>,
Fabio Estevam <festevam@...il.com>,
Robert Chiras <robert.chiras@....com>,
Samuel Holland <samuel@...lland.org>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/2] Fix st7703 panel initialization failures
Hello,
On Sat, Jul 18, 2020 at 07:31:24PM +0200, Guido Günther wrote:
> Hi,
> On Thu, Jul 16, 2020 at 04:32:09PM +0200, Ondřej Jirman wrote:
> > Hi Guido,
> >
> > On Thu, Jul 16, 2020 at 04:08:43PM +0200, Guido Günther wrote:
> > > Hi Ondrej,
> > > On Thu, Jul 16, 2020 at 02:37:51PM +0200, Ondrej Jirman wrote:
> > > > When extending the driver for xbd599 panel support I tried to do minimal
> > > > changes and keep the existing initialization timing.
> > > >
> > > > It turned out that it's not good enough and the existing init sequence
> > > > is too aggressive and doesn't follow the specification. On PinePhone
> > > > panel is being powered down/up during suspend/resume and with current
> > > > timings this frequently leads to corrupted display.
> > >
> > > Given the amount of ST7703 look alikes i don't think you can go by the
> > > datasheet and hope not to break other panels. The current sleeps cater
> > > for the rocktech panel (which suffered from similar issues you describe
> > > when we took other parameters) so you need to make those panel specific.
> >
> > It should work on rocktech too. The patch mostly increases/reorders the delays
> > slightly, to match the controller documentation. I don't see a reason to
> > complicate the driver with per panel special delays, unless these patches don't
> > work on your panel.
>
> That's why i brought it up. It breaks the rocktech panel on
> blank/unblank loops where it just stays blank and then starts hitting
> DSI command timeouts.
Good to know. Does keeping the msleep(20); after init sequence and before sleep
exit make it work?
thank you and regards,
o.
> Cheers,
> -- Guido
>
> >
> > The init sequence is still suboptimal, and doesn't follow the kernel docs
> > completely, even after these patches. Controller spec also talks about adding
> > some delay before enabling the backlight to avoid visual glitches.
> >
> > Which is what enable callback is documented to be for. Currently part of the
> > initialization that belongs to prepare callback is also done in enable callback.
> >
> > I see the glitch (small vertical shift of the image on powerup), but personally
> > don't care much to introduce even more delays to the driver, just for the
> > cosmetic issue.
> >
> > regards,
> > o.
> >
> > > Cheers,
> > > -- Guido
> > >
> > > >
> > > > This patch series fixes the problems.
> > > >
> > > > The issue was reported by Samuel Holland.
> > > >
> > > > Relevant screenshots from the datasheet:
> > > >
> > > > Power on timing: https://megous.com/dl/tmp/35b72e674ce0ca27.png
> > > > Power off timing: https://megous.com/dl/tmp/dea195517106ff17.png
> > > > More optimal reset on poweron: https://megous.com/dl/tmp/a9e5caf14e1b0dc6.png
> > > > Less optimal reset on poweron: https://megous.com/dl/tmp/246761039283c4cf.png
> > > > Datasheet: https://megous.com/dl/tmp/ST7703_DS_v01_20160128.pdf
> > > >
> > > > Please take a look.
> > > >
> > > > thank you and regards,
> > > > Ondrej Jirman
> > > >
> > > > Ondrej Jirman (2):
> > > > drm/panel: st7703: Make the sleep exit timing match the spec
> > > > drm/panel: st7703: Fix the power up sequence of the panel
> > > >
> > > > drivers/gpu/drm/panel/panel-sitronix-st7703.c | 29 ++++++++++---------
> > > > 1 file changed, 15 insertions(+), 14 deletions(-)
> > > >
> > > > --
> > > > 2.27.0
> > > >
> >
Powered by blists - more mailing lists