Skip to content

Commit 4c05cef

Browse files
committed
drm/i915/irq: split out i915_display_irq_postinstall()
Split out i915_display_irq_postinstall() similar to other platforms. Reviewed-by: Gustavo Sousa <[email protected]> Link: https://lore.kernel.org/r/11de06206ff10c27104b0ac3efda085bf4c1f1a6.1746536745.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <[email protected]>
1 parent 0f9dd43 commit 4c05cef

File tree

3 files changed

+18
-8
lines changed

3 files changed

+18
-8
lines changed

drivers/gpu/drm/i915/display/intel_display_irq.c

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1902,6 +1902,22 @@ void i9xx_display_irq_reset(struct intel_display *display)
19021902
i9xx_pipestat_irq_reset(display);
19031903
}
19041904

1905+
void i915_display_irq_postinstall(struct intel_display *display)
1906+
{
1907+
struct drm_i915_private *dev_priv = to_i915(display->drm);
1908+
1909+
/*
1910+
* Interrupt setup is already guaranteed to be single-threaded, this is
1911+
* just to make the assert_spin_locked check happy.
1912+
*/
1913+
spin_lock_irq(&dev_priv->irq_lock);
1914+
i915_enable_pipestat(display, PIPE_A, PIPE_CRC_DONE_INTERRUPT_STATUS);
1915+
i915_enable_pipestat(display, PIPE_B, PIPE_CRC_DONE_INTERRUPT_STATUS);
1916+
spin_unlock_irq(&dev_priv->irq_lock);
1917+
1918+
i915_enable_asle_pipestat(display);
1919+
}
1920+
19051921
static u32 vlv_error_mask(void)
19061922
{
19071923
/* TODO enable other errors too? */

drivers/gpu/drm/i915/display/intel_display_irq.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ void vlv_display_irq_reset(struct intel_display *display);
6161
void gen8_display_irq_reset(struct intel_display *display);
6262
void gen11_display_irq_reset(struct intel_display *display);
6363

64+
void i915_display_irq_postinstall(struct intel_display *display);
6465
void vlv_display_irq_postinstall(struct intel_display *display);
6566
void ilk_de_irq_postinstall(struct intel_display *display);
6667
void gen8_de_irq_postinstall(struct intel_display *display);

drivers/gpu/drm/i915/i915_irq.c

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -935,14 +935,7 @@ static void i915_irq_postinstall(struct drm_i915_private *dev_priv)
935935

936936
gen2_irq_init(uncore, GEN2_IRQ_REGS, dev_priv->irq_mask, enable_mask);
937937

938-
/* Interrupt setup is already guaranteed to be single-threaded, this is
939-
* just to make the assert_spin_locked check happy. */
940-
spin_lock_irq(&dev_priv->irq_lock);
941-
i915_enable_pipestat(display, PIPE_A, PIPE_CRC_DONE_INTERRUPT_STATUS);
942-
i915_enable_pipestat(display, PIPE_B, PIPE_CRC_DONE_INTERRUPT_STATUS);
943-
spin_unlock_irq(&dev_priv->irq_lock);
944-
945-
i915_enable_asle_pipestat(display);
938+
i915_display_irq_postinstall(display);
946939
}
947940

948941
static irqreturn_t i915_irq_handler(int irq, void *arg)

0 commit comments

Comments
 (0)