Commit 381f04d8 authored by Jani Nikula's avatar Jani Nikula
Browse files

drm/i915/irq: initialize gen2_imr_mask in terms of enable_mask



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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/e3b612ce4decea699bde2c52aeaef48bf95f7abc.1758637773.git.jani.nikula@intel.com


Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
parent 3dc42238
Loading
Loading
Loading
Loading
+12 −22
Original line number Diff line number Diff line
@@ -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;