On Tue, Sep 23, 2025 at 05:31:05PM +0300, Jani Nikula wrote: > 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. > > Signed-off-by: Jani Nikula <[email protected]> > --- > drivers/gpu/drm/i915/i915_irq.c | 34 ++++++++++++--------------------- > 1 file changed, 12 insertions(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index 56f231591a3e..04de02fc08d9 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -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;
This diff is susprisingly hard to read :/ But it *looks* ok to me. Reviewed-by: Ville Syrjälä <[email protected]> > > 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; > -- > 2.47.3 -- Ville Syrjälä Intel
