lkml.org 
[lkml]   [2020]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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
> > > >
> >

\
 
 \ /
  Last update: 2020-07-18 19:43    [W:0.083 / U:1.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site