]> git.baikalelectronics.ru Git - kernel.git/commit
fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 23 Sep 2014 12:21:58 +0000 (14:21 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 30 Sep 2014 10:42:13 +0000 (13:42 +0300)
commitca0b727a3b21a54189d2fe26a0ed31b53e79addd
tree6a379687526afecf02b932d0064896f34ca6e453
parentcb4fec186a25d51e73efa77d932ee6eefd184840
fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume

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>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/fbdev/sh_mobile_hdmi.c