Re: interrupt handler not getting called after resume

From: Pintu Agarwal
Date: Wed Dec 04 2019 - 04:50:01 EST


On Wed, 4 Dec 2019 at 00:28, anish singh <anish198519851985@xxxxxxxxx> wrote:
>
> On Tue, Dec 3, 2019 at 6:12 AM Pintu Agarwal <pintu.ping@xxxxxxxxx> wrote:
> >
> > Hi All,
> >
> > I have one general query.
> >
> > If an interrupt handler is NOT getting called (for one device) after
> > the system resume (from snapshot image), then what could be the issue?
>
> Most likely during resume the interrupt was not enabled. So check
> irq status registers to see in the working and non working case.
>
Oh sorry, I forgot to mention one thing.
After resume, I can see that the interrupts are visible under /proc/interrupts.
# cat /proc/interrupts
CPU0 CPU1
[...]
416: 1 0 IPU (null)
417: 0 0 IPU (null)
418: 0 0 IPU imx_drm ===> HDMI
419: 2242 2 IPU imx_drm ===> LCD
[...]

The interrupts are coming only for LCD display and thus its irq
handler is getting called.
But the interrupts are not coming for HDMI case, thus HDMI gives
"vblank timeout issue".
Apart from this I also tried calling enable_irq(irq) after resume, but
it did not help much.