Re: [PATCH/RFC] fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2014-09-30 10:41:18
Also in:
linux-pm, linux-sh
Hi Tomi, On Tue, Sep 30, 2014 at 12:24 PM, Tomi Valkeinen [off-list ref] wrote:
On 23/09/14 15:21, Geert Uytterhoeven wrote:quoted
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 <geert+renesas@glider.be> --- 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?
Given the lack of documentation, I cannot do more improvements.
Please apply this version, so the interrupt storm on resume is fixed.
Thanks for applying!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds