[PATCH 0/2] Fix st7703 panel initialization failures

Guido Günther agx at sigxcpu.org
Sat Jul 18 17:31:24 UTC 2020


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


More information about the dri-devel mailing list