On 30/09/14 13:41, Geert Uytterhoeven wrote: > Hi Tomi, > > On Tue, Sep 30, 2014 at 12:24 PM, Tomi Valkeinen <tomi.valkeinen@xxxxxx> wrote: >> 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 <geert+renesas@xxxxxxxxx> >>> --- >>> 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. Ok, queued. Thanks! Tomi
Attachment:
signature.asc
Description: OpenPGP digital signature