Thread (8 messages) flat view 8 messages, 3 authors, 2016-06-12

Re: ARM: mxs: warnings on PM resume

From: Stefan Wahren <hidden>
Date: 2016-06-12 10:27:02
Also in: linux-arm-kernel

Hi Rafael,
"Rafael J. Wysocki" [off-list ref] hat am 11. Juni 2016 um 03:42
geschrieben:


On Saturday, June 11, 2016 03:01:31 AM Stefan Wahren wrote:
quoted
Hi,

[add Rafael, Jörg and Jürgen to CC]
quoted
Stefan Wahren [off-list ref] hat am 1. Juni 2016 um 22:51
geschrieben:


Hi,

i'm currently working on standby support for MXS platform. If i trigger
the
standby per sysfs everything works fine, but mostly on resume i get a
bunch of
warnings (see below for full output):

[   67.040000] Interrupts enabled before system core resume.

My current working branch [1] based on Linux 4.5 ( cmdline has
no_console_suspend=1 ). The test hardware is a i.MX23 board (
iMX233-OLinuXino-MAXI ).

How can i narrow down this issue to the relevant driver / interrupt ?

What is the right way to fix this issue?
any hints or ideas to narrow down this issue are very welcome.
Interrupts should not be enabled before syscore_resume() is called, but they
are, apparently by the platform code.
sure, but it isn't that simple. I can't reproduce the warning everytime. At
least i need 5 tries and more to reproduce it.

I place the following code in the suspend code, before the low level suspend
code in SRAM gets executed:

if (!irqs_disabled())
	pr_info("IRQs not disabled before suspend\n");

The info message above only get printed if the warning "Interrupts enabled
before system core resume." appears.

After that i dumped all enabled IRQs (at the same code place) from the interrupt
collector (irqchip) and compared them with cat /proc/interrupts. I noticed that
the dump contains all interrupt from /proc/interrupts plus the IRQs from the 3
GPIO banks, which were not listed under PROC FS.

So i take a look at the GPIO driver gpio-mxs.c and noticed that it seems to miss
the flag IRQCHIP_MASK_ON_SUSPEND compared to a driver gpio-mxc.c for very
similiar hardware. Unfortunately adding the flag in the GPIO driver doesn't fix
the issue.

So any hints about narrowing down the issue would be helpful.

Stefan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help