RE: [PATCH] drm/bridge: adv7511: Clear HPD IRQ before powering on device during resume()

From: Biju Das

Date: Wed Apr 22 2026 - 07:03:24 EST


Hi Laurent,

> -----Original Message-----
> From: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> Sent: 18 March 2026 06:58
> Subject: RE: [PATCH] drm/bridge: adv7511: Clear HPD IRQ before powering on device during resume()
>
> Hi Laurent,
>
> > -----Original Message-----
> > From: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
> > Sent: 17 March 2026 23:30
> > Subject: Re: [PATCH] drm/bridge: adv7511: Clear HPD IRQ before
> > powering on device during resume()
> >
> > On Mon, Mar 16, 2026 at 05:59:57PM +0000, Biju Das wrote:
> > > On 16 March 2026 14:03, Laurent Pinchart wrote:
> > > > On Fri, Dec 19, 2025 at 10:46:53AM +0000, Biju wrote:
> > > > > From: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> > > > >
> > > > > On RZ/G3E SMARC EVK using PSCI, s2ram powers down the SoC.
> > > > > Testing
> > > > > ADV7535 IRQ configured as edge-triggered interrupt on RZ/G3E
> > > > > SMARC EVK shows that it is missing HPD IRQ during system resume,
> > > > > as the status change occurs before the IRQ/pincontrol resume.
> > > > > Once the status bit is set, there won't be any further IRQ unless the status bit is cleared.
> > > > >
> > > > > Clear any pending HPD IRQs before powering on the ADV7535 device
> > > > > to deliver HPD interrupts after resume().
> > > >
> > > > This issue doesn't seem to be specific to the ADV7511. Any device
> > > > that uses an edge-triggered interrupt could suffer from the same problem.
> > > > Implementing a work around in the driver doesn't seem to be a solution that would scale.
> > >
> > > I don't see any bridge device is complaining about similar issues in Linux kernel.
> >
> > This is exactly why this patch concerns me. The issue doesn't seem to
> > be specific to the ADV7511, yet no other bridge driver implements anything similar. It seems to
> indicate something else is wrong.
> >
> > I understand and agree with the analysis of the issue (although I find
> > it weird that the interrupt controller or pin controller would be
> > resumed after the ADV7511), but any device with an edge- triggered
> > interrupt should then suffer from the same problem. This means it
> > shouldn't be handled at individual drivers level, unless there's something I'm missing that makes the
> problem very specific to the ADV7511. Otherwise, a more generic solution is needed.
>
> ADV7535 is special device, hardware reset automatically set the status bit, if a connector is connected
> without software is turning power on unlike other devices.
>
> Do you know any other bridge device shows this issue? i.e., without software turning the power on,
> bridge device sets the status bit during power on reset??

I came up with a simple patch dropping PM support. I will send this as v2.

+ /*
+ * Clear the HPD status bit (ADV7511_INT0_HPD), so that any HPD
+ * interrupt latched before or during power loss is dismissed before
+ * normal operation resumes.
+ */
+ regmap_write(adv->regmap, ADV7511_REG_INT(0), ADV7511_INT0_HPD);
+

Cheers,
Biju