]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/irq: initialize gen2_imr_mask in terms of enable_mask
authorJani Nikula <jani.nikula@intel.com>
Tue, 23 Sep 2025 14:31:05 +0000 (17:31 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 24 Sep 2025 06:31:07 +0000 (09:31 +0300)
Instead of initializing gen2_imr_mask and enable_mask independently, use
the latter for initializing the former. This also highlights the
differences in the masks, i.e. what's set to enable_mask after it's been
used to initialize gen2_imr_mask.

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

index 56f231591a3e63dd3cc93be207a88e4bbd631fcf..04de02fc08d9eeeebb629d0c53d35fc840ac73a2 100644 (file)
@@ -895,26 +895,20 @@ static void i915_irq_postinstall(struct drm_i915_private *dev_priv)
 
        gen2_error_init(uncore, GEN2_ERROR_REGS, ~i9xx_error_mask(dev_priv));
 
-       dev_priv->gen2_imr_mask =
-               ~(I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
-                 I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
-                 I915_MASTER_ERROR_INTERRUPT);
-
        enable_mask =
                I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
                I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
-               I915_MASTER_ERROR_INTERRUPT |
-               I915_USER_INTERRUPT;
+               I915_MASTER_ERROR_INTERRUPT;
 
-       if (DISPLAY_VER(display) >= 3) {
-               dev_priv->gen2_imr_mask &= ~I915_ASLE_INTERRUPT;
+       if (DISPLAY_VER(display) >= 3)
                enable_mask |= I915_ASLE_INTERRUPT;
-       }
 
-       if (HAS_HOTPLUG(display)) {
-               dev_priv->gen2_imr_mask &= ~I915_DISPLAY_PORT_INTERRUPT;
+       if (HAS_HOTPLUG(display))
                enable_mask |= I915_DISPLAY_PORT_INTERRUPT;
-       }
+
+       dev_priv->gen2_imr_mask = ~enable_mask;
+
+       enable_mask |= I915_USER_INTERRUPT;
 
        gen2_irq_init(uncore, GEN2_IRQ_REGS, dev_priv->gen2_imr_mask, enable_mask);
 
@@ -1016,20 +1010,16 @@ static void i965_irq_postinstall(struct drm_i915_private *dev_priv)
 
        gen2_error_init(uncore, GEN2_ERROR_REGS, ~i965_error_mask(dev_priv));
 
-       dev_priv->gen2_imr_mask =
-               ~(I915_ASLE_INTERRUPT |
-                 I915_DISPLAY_PORT_INTERRUPT |
-                 I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
-                 I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
-                 I915_MASTER_ERROR_INTERRUPT);
-
        enable_mask =
                I915_ASLE_INTERRUPT |
                I915_DISPLAY_PORT_INTERRUPT |
                I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
                I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
-               I915_MASTER_ERROR_INTERRUPT |
-               I915_USER_INTERRUPT;
+               I915_MASTER_ERROR_INTERRUPT;
+
+       dev_priv->gen2_imr_mask = ~enable_mask;
+
+       enable_mask |= I915_USER_INTERRUPT;
 
        if (IS_G4X(dev_priv))
                enable_mask |= I915_BSD_USER_INTERRUPT;