]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/irq: move check for HAS_HOTPLUG() inside i9xx_hpd_irq_ack()
authorJani Nikula <jani.nikula@intel.com>
Tue, 23 Sep 2025 14:31:07 +0000 (17:31 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 24 Sep 2025 06:31:07 +0000 (09:31 +0300)
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.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/2f97c077e67667bf420196c7381553d5286da958.1758637773.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_hotplug_irq.c
drivers/gpu/drm/i915/i915_irq.c

index 4f72f3fb9af5a25b8a97087b35b043ce3c1bb2ab..9a4da818ad61d466801b9ea7cf1dbc6af474a6a0 100644 (file)
@@ -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 |
index f9fbb88b9e26ad6b825f1cee3c14a6fb7b808729..90174ce9195c3acdd8f0636663f1d163cbf74f26 100644 (file)
@@ -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