Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/i915: Disable display interrupts during display IRQ handler

During the Display Interrupt Service routine the Display Interrupt
Enable bit must be disabled, The interrupts handled, then the
Display Interrupt Enable bit must be set to prevent possible missed
interrupts.

Bspec: 49212
V2: Change Title to remove SDE reference.
V3: Fix TAB spacing.

Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: Aditya Swarup <aditya.swarup@intel.com>

Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191121201455.2558-1-clinton.a.taylor@intel.com

authored by

Clint Taylor and committed by
Lucas De Marchi
7e7129dc 07130981

+4
+4
drivers/gpu/drm/i915/i915_irq.c
··· 2484 2484 * GEN11_DISPLAY_INT_CTL has same format as GEN8_MASTER_IRQ 2485 2485 * for the display related bits. 2486 2486 */ 2487 + raw_reg_write(regs, GEN11_DISPLAY_INT_CTL, 0x0); 2487 2488 gen8_de_irq_handler(i915, disp_ctl); 2489 + raw_reg_write(regs, GEN11_DISPLAY_INT_CTL, 2490 + GEN11_DISPLAY_IRQ_ENABLE); 2491 + 2488 2492 enable_rpm_wakeref_asserts(&i915->runtime_pm); 2489 2493 } 2490 2494