mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
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: 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>
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user