Re: interrupt handler not getting called after resume

From: anish singh
Date: Wed Dec 04 2019 - 14:25:42 EST


On Wed, Dec 4, 2019 at 1:49 AM Pintu Agarwal <pintu.ping@xxxxxxxxx> wrote:
>
> 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".

Is it something to do with MHL cable? Have you used scope
to find out if the interrupt was actually triggered?

> Apart from this I also tried calling enable_irq(irq) after resume, but
> it did not help much.