On Tue, Sep 23, 2025 at 05:31:07PM +0300, Jani Nikula wrote: > We want to avoid using the display dependent HAS_HOTPLUG() in generic > irq code. Since the enabling of I915_DISPLAY_PORT_INTERRUPT depends on > HAS_HOTPLUG() to begin with, we don't really expect to get the irqs for > !HAS_HOTPLUG(). At least in theory, checking for HAS_HOTPLUG() inside > i9xx_hpd_irq_ack() should not have any impact.
Yeah, IMR should keep the bit from making an appearance in IIR. But no real harm in checking I suppose. Reviewed-by: Ville Syrjälä <[email protected]> > > Signed-off-by: Jani Nikula <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 3 +++ > drivers/gpu/drm/i915/i915_irq.c | 3 +-- > 2 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c > b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c > index 4f72f3fb9af5..9a4da818ad61 100644 > --- a/drivers/gpu/drm/i915/display/intel_hotplug_irq.c > +++ b/drivers/gpu/drm/i915/display/intel_hotplug_irq.c > @@ -420,6 +420,9 @@ u32 i9xx_hpd_irq_ack(struct intel_display *display) > u32 hotplug_status = 0, hotplug_status_mask; > int i; > > + if (!HAS_HOTPLUG(display)) > + return 0; > + > if (display->platform.g4x || > display->platform.valleyview || display->platform.cherryview) > hotplug_status_mask = HOTPLUG_INT_STATUS_G4X | > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index f9fbb88b9e26..90174ce9195c 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -931,8 +931,7 @@ static irqreturn_t i915_irq_handler(int irq, void *arg) > > ret = IRQ_HANDLED; > > - if (HAS_HOTPLUG(display) && > - iir & I915_DISPLAY_PORT_INTERRUPT) > + if (iir & I915_DISPLAY_PORT_INTERRUPT) > hotplug_status = i9xx_hpd_irq_ack(display); > > /* Call regardless, as some status bits might not be > -- > 2.47.3 -- Ville Syrjälä Intel
