lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 29 Jul 2020 17:48:09 +0200
From:   Guido Günther <agx@...xcpu.org>
To:     Ondřej Jirman <megous@...ous.com>,
        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

Hi,
On Sat, Jul 18, 2020 at 07:42:15PM +0200, Ondřej Jirman wrote:
> 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?

We need both sleeps to make this work reliably so basically
reverting your 'drm/panel: st7703: Make the sleep exit timing match the
spec' makes things stable again.

We don't need to sleep 120ms after sleep out though since our panel only
requires 15ms as per data sheet there so it really makes sense to make
these configurable.
Cheers,
 -- Guido

> 
> 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

Powered by Openwall GNU/*/Linux Powered by OpenVZ