PXA PWM possible regression after 3.5: backlight remains off after resume
There is a possible PXA PWM regression between 3.5 and 3.6-rc6: if I suspend and then resume an iPAQ hx4700, the backlight remains off.
In 3.5 the backlight would turn on after the resume.
I presumed this is a PWM issue because the PXA PWM driver was reworked and moved trees between 3.5 and 3.6-rc6. And there was mention of broken PWM drivers about a month ago, for example:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-August/115717.html
Does my backlight breakage sound familiar to anybody? Is there anything obvious I can try before debugging it further?
Regards,
Paul
Quoted 5 lines · Paul Parsons
There is a possible PXA PWM regression between 3.5 and 3.6-rc6: if I suspend and then resume an iPAQ hx4700, the backlight remains off.
In 3.5 the backlight would turn on after the resume.
Quoted 7 lines
I presumed this is a PWM issue because the PXA PWM driver was reworked and moved trees between 3.5 and 3.6-rc6. And there was mention of broken PWM drivers about a month ago, for example:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-August/115717.htmlDoes my backlight breakage sound familiar to anybody? Is there anything obvious I can try before debugging it further?
Looking at the code from before the move to the PWM subsystem I have a hard time understanding how this could have worked for supend/resume in the first place. The driver has never supported the supend and resume callbacks. Maybe it is also a problem related to some other change. Clocking would be a likely candidate. But again I wonder how this ever worked properly without the suspend and resume callbacks.
Can you pinpoint more exactly when this failed to break. PXA PWM was already included in 3.6-rc1 so if it is related then it should have happened at that time already.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120923/21e1ae3c/attachment.sig>
Hello Thierry,
Quoted 21 lines · Thierry Reding
Quoted 5 lines · Paul Parsons
There is a possible PXA PWM regression between 3.5 and 3.6-rc6: if I suspend and then resume an iPAQ hx4700, the backlight remains off.
In 3.5 the backlight would turn on after the resume.
Quoted 7 lines
I presumed this is a PWM issue because the PXA PWM driver was reworked and moved trees between 3.5 and 3.6-rc6. And there was mention of broken PWM drivers about a month ago, for example:
http://lists.infradead.org/pipermail/linux-arm-kernel/2012-August/115717.htmlDoes my backlight breakage sound familiar to anybody? Is there anything obvious I can try before debugging it further?
Looking at the code from before the move to the PWM subsystem I have a hard time understanding how this could have worked for supend/resume in the first place. The driver has never supported the supend and resume callbacks. Maybe it is also a problem related to some other change. Clocking would be a likely candidate. But again I wonder how this ever worked properly without the suspend and resume callbacks.
Quoted 3 lines
Can you pinpoint more exactly when this failed to break. PXA PWM was already included in 3.6-rc1 so if it is related then it should have happened at that time already.
The same failure is also present in 3.6-rc1.
Just to be clear, are you saying that drivers/pwm/pwm-pxa.c should include suspend/resume handlers like in drivers/pwm/pwm-samsung.c ?
Agreed that it is possible that recent changes exposed a latent bug somewhere, and that turning the backlight on after resume should never have worked.
Quoted 8 lines · Paul Parsons
The same failure is also present in 3.6-rc1.
Just to be clear, are you saying that
drivers/pwm/pwm-pxa.cshould include suspend/resume handlers like indrivers/pwm/pwm-samsung.c?Agreed that it is possible that recent changes exposed a latent bug somewhere, and that turning the backlight on after resume should never have worked.
Hi Paul,
I checked on the mioa701 board (see [1]).
On my board, the backlight if fully driven by PXA PWM0, and the suspend/resume is working perfectly.
So I don't thing anything is needed for suspend/resume wrt PWM (empirically).
Cheers.
Signature · 14 lines
Robert [1] $ cat /sys/class/backlight/pwm-backlight/actual_brightness 50 $ cat /sys/class/backlight/pwm-backlight/actual_brightness 50 $ echo 90 > /sys/class/backlight/pwm-backlight/brightness $ echo mem > /sys/power/state $ $ cat /sys/class/backlight/pwm-backlight/actual_brightness 90 $ uname -a Linux mioa701 3.6.0-rc6+ #26 PREEMPT Sat Sep 22 22:08:41 CEST 2012 armv5tel unknown
Quoted 11 lines · Robert Jarzmik
Quoted 8 lines · Paul Parsons
The same failure is also present in 3.6-rc1.
Just to be clear, are you saying that
drivers/pwm/pwm-pxa.cshould include suspend/resume handlers like indrivers/pwm/pwm-samsung.c?Agreed that it is possible that recent changes exposed a latent bug somewhere, and that turning the backlight on after resume should never have worked.
Quoted 7 lines
Hi Paul,
I checked on the mioa701 board (see [1]).
On my board, the backlight if fully driven by PXA PWM0, and the suspend/resume is working perfectly.So I don't thing anything is needed for suspend/resume wrt PWM (empirically).
You're right. I belatedly reached the same conclusion after I noticed that only the pwm-samsung driver included any suspend/resume handlers:
the other drivers can't all be broken!
Fortunately I have just identified the problem: the PXA27X PWM device numbering scheme has changed, breaking the hx4700 platform and probably other PXA27X platforms which use PWM1 or PWM2.
Regards,
Paul