Hi Geert, Ulf, On 23/09/14 15:21, Geert Uytterhoeven wrote: > When the PM domain containing the HDMI hardware block is powered down, > the HDMI register values (incl. interrupt polarity settings) are lost. > During resume, after powering up the PM domain, interrupts are > re-enabled, and an interrupt storm happens due to incorrect interrupt > polarity settings: > > irq 163: nobody cared (try booting with the "irqpoll" option) > ... > Disabling IRQ #163 > > To fix this, re-initialize the interrupt polarity settings, and the > htop1 register block (if present), during resume. > > As the .suspend_noirq() and .resume_noirq() callbacks are not called > when using the generic PM domain, the normal .resume() callback is used, > and the device interrupt needs to be disabled/enabled manually. > > This fixes resume from s2ram with power down of the A4MP PM domain on > r8a7740/Armadillo. > > Signed-off-by: Geert Uytterhoeven > --- > Is there a specific reason why the .suspend_noirq() and .resume_noirq() > callbacks are not called when using genpd, unlike .suspend(), > .suspend_late(), .resume_early(), and .resume()? > --- > drivers/video/fbdev/sh_mobile_hdmi.c | 44 ++++++++++++++++++++++++++++++++++-- > 1 file changed, 42 insertions(+), 2 deletions(-) Should I queue this version for 3.18, or is there some modifications you think needs to be done first? Tomi