Re: pwm: sun4i: pwm-backlight not working since 5.6-rc1

From: Uwe Kleine-König
Date: Mon Mar 16 2020 - 03:26:25 EST


Hello,

On Thu, Mar 12, 2020 at 04:06:07PM +0100, Pascal Roeleven wrote:
> On 2020-03-12 14:29, Uwe Kleine-König wrote:
> > On Thu, Mar 12, 2020 at 01:22:13PM +0100, Pascal Roeleven wrote:
> > > Hi all,
> > >
> > > I am working on adding an old A10 device to mainline and noticed an
> > > issue
> > > when testing on 5.5.8 vs master.
> > >
> > > Since 5.6-rc1, I can't control the brightness of my LCD backlight
> > > anymore.
> > > The backlight stays on full brightness instead. I am controlling the
> > > brightness value via sysfs for testing.
> > >
> > > I am not sure if this is a general pwm-sun4i issue or if it is
> > > related to
> > > the backlight. However I narrowed it down to one commit for pwm-sun4i:
> > >
> > > fa4d81784681a26bcf7d2a43c6ac5cf991ef28f5
> > >
> > > If I use pwm-sun4i.c from 5b090b430d750961305030232314b6acdb0102aa on
> > > master, the backlight works fine. Unfortunately, due to my lack of
> > > kernel
> > > experience, I can't see how the commit above broke it.
> >
> > Hmm, I cannot see how fa4d81784681a26bcf7d2a43c6ac5cf991ef28f5 breaks
> > this. Looking at the output of
> >
> > git show -b fa4d81784681a26bcf7d2a43c6ac5cf991ef28f5
> >
> > (i.e. ignoring whitespace changes) I don't see how the behaviour you're
> > reporting can be explained.
> >
> > Are you sure that fa4d81784681a26bcf7d2a43c6ac5cf991ef28f5 is the bad
> > commit?
> >
> > Can you install a tool to inspect register values and check how the
> > affected registers change if you switch kernel versions and/or pwm
> > settings?
> >
> > (e.g.
> > memtool md 0x1c20e00+0xc
> > )
> >
> > Best regards
> > Uwe
>
> Thanks for your response.
>
> Yes I am sure that is the commit. If I am on master, and replace pwm-sun4i.c
> with the one from 5b090b43, everything works. If I then apply fa4d8178, it
> stops working.
>
> And strangely the output of the registers is exactly the same before and
> after fa4d8178:
>
> 01c20e00: 00000050 00130014 00000000 (full brightness)
> 01c20e00: 00000050 00130006 00000000 (min brightness)
>
> Even when I'm on 5b090b43 and cherry-pick fa4d8178 can I reproduce the
> issue.

Very strange. I'm out of sensible ideas. The remaining ones are:

- enable tracing in the kernel and boot with

trace_event=pwm

And then check after the problem occurred in
/sys/kernel/debug/tracing/trace if something sticks out.

- Try modifying the registers using memtool. E.g.

memtool mw 0x01c20e04 0x00130012

- Do you have equipment to check the actual output of the PWM hardware?
If so, what do you see?

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | https://www.pengutronix.de/ |