On Fri, 30 Jan 2026, Uma Shankar <[email protected]> wrote: > Move GEN2_ISR and some interrupt definitions to common header. > This removes dependency of i915_reg.h from intel_overlay.c. > > v2: Create a separate file for common interrupts (Jani) > > Signed-off-by: Uma Shankar <[email protected]> > --- > .../gpu/drm/i915/display/intel_display_irq.c | 1 + > .../gpu/drm/i915/display/intel_display_regs.h | 2 + > drivers/gpu/drm/i915/display/intel_overlay.c | 2 +- > drivers/gpu/drm/i915/gt/intel_gt.c | 1 + > .../gpu/drm/i915/gt/intel_ring_submission.c | 1 + > drivers/gpu/drm/i915/i915_irq.c | 1 + > drivers/gpu/drm/i915/i915_reg.h | 37 ---------------- > include/drm/intel/intel_gmd_interrupt.h | 43 +++++++++++++++++++ > 8 files changed, 50 insertions(+), 38 deletions(-) > create mode 100644 include/drm/intel/intel_gmd_interrupt.h > > diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c > b/drivers/gpu/drm/i915/display/intel_display_irq.c > index 0a71840041de..31c78dc3d63b 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_irq.c > +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c > @@ -5,6 +5,7 @@ > > #include <drm/drm_print.h> > #include <drm/drm_vblank.h> > +#include <drm/intel/intel_gmd_interrupt.h> > > #include "i915_reg.h" > #include "icl_dsi_regs.h" > diff --git a/drivers/gpu/drm/i915/display/intel_display_regs.h > b/drivers/gpu/drm/i915/display/intel_display_regs.h > index 706024c2a463..40538910cb09 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_regs.h > +++ b/drivers/gpu/drm/i915/display/intel_display_regs.h > @@ -94,6 +94,8 @@ > #define VLV_ERROR_PAGE_TABLE (1 << 4) > #define VLV_ERROR_CLAIM (1 << 0) > > +#define GEN2_ISR _MMIO(0x20ac) > + > #define VLV_ERROR_REGS I915_ERROR_REGS(VLV_EMR, VLV_EIR) > > #define _MBUS_ABOX0_CTL 0x45038 > diff --git a/drivers/gpu/drm/i915/display/intel_overlay.c > b/drivers/gpu/drm/i915/display/intel_overlay.c > index 88eb7ae5765c..3a45836b8373 100644 > --- a/drivers/gpu/drm/i915/display/intel_overlay.c > +++ b/drivers/gpu/drm/i915/display/intel_overlay.c > @@ -28,6 +28,7 @@ > > #include <drm/drm_fourcc.h> > #include <drm/drm_print.h> > +#include <drm/intel/intel_gmd_interrupt.h> > > #include "gem/i915_gem_internal.h" > #include "gem/i915_gem_object_frontbuffer.h" > @@ -37,7 +38,6 @@ > #include "gt/intel_ring.h" > > #include "i915_drv.h" > -#include "i915_reg.h" > #include "intel_color_regs.h" > #include "intel_de.h" > #include "intel_display_regs.h" > diff --git a/drivers/gpu/drm/i915/gt/intel_gt.c > b/drivers/gpu/drm/i915/gt/intel_gt.c > index ac527d878820..998dea65fcff 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt.c > +++ b/drivers/gpu/drm/i915/gt/intel_gt.c > @@ -5,6 +5,7 @@ > > #include <drm/drm_managed.h> > #include <drm/intel/intel-gtt.h> > +#include <drm/intel/intel_gmd_interrupt.h> > > #include "gem/i915_gem_internal.h" > #include "gem/i915_gem_lmem.h" > diff --git a/drivers/gpu/drm/i915/gt/intel_ring_submission.c > b/drivers/gpu/drm/i915/gt/intel_ring_submission.c > index 8314a4b0505e..7391c9b2ceb5 100644 > --- a/drivers/gpu/drm/i915/gt/intel_ring_submission.c > +++ b/drivers/gpu/drm/i915/gt/intel_ring_submission.c > @@ -4,6 +4,7 @@ > */ > > #include <drm/drm_cache.h> > +#include <drm/intel/intel_gmd_interrupt.h> > > #include "gem/i915_gem_internal.h" > > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index 3fe978d4ea53..2acdd739335f 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -34,6 +34,7 @@ > #include <drm/drm_drv.h> > #include <drm/drm_print.h> > #include <drm/intel/display_parent_interface.h> > +#include <drm/intel/intel_gmd_interrupt.h> > > #include "display/intel_display_irq.h" > #include "display/intel_hotplug.h" > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h > index 10928e8406dc..22b68ddfa7b4 100644 > --- a/drivers/gpu/drm/i915/i915_reg.h > +++ b/drivers/gpu/drm/i915/i915_reg.h > @@ -365,7 +365,6 @@ > #define GEN2_IER _MMIO(0x20a0) > #define GEN2_IIR _MMIO(0x20a4) > #define GEN2_IMR _MMIO(0x20a8) > -#define GEN2_ISR _MMIO(0x20ac) > > #define GEN2_IRQ_REGS I915_IRQ_REGS(GEN2_IMR, \ > GEN2_IER, \ > @@ -522,42 +521,6 @@ > /* These are all the "old" interrupts */ > #define ILK_BSD_USER_INTERRUPT (1 << 5) > > -#define I915_PM_INTERRUPT (1 << 31) > -#define I915_ISP_INTERRUPT (1 << 22) > -#define I915_LPE_PIPE_B_INTERRUPT (1 << 21) > -#define I915_LPE_PIPE_A_INTERRUPT (1 << 20) > -#define I915_MIPIC_INTERRUPT (1 << 19) > -#define I915_MIPIA_INTERRUPT (1 << 18) > -#define I915_PIPE_CONTROL_NOTIFY_INTERRUPT (1 << 18) > -#define I915_DISPLAY_PORT_INTERRUPT (1 << 17) > -#define I915_DISPLAY_PIPE_C_HBLANK_INTERRUPT (1 << 16) > -#define I915_MASTER_ERROR_INTERRUPT (1 << 15) > -#define I915_DISPLAY_PIPE_B_HBLANK_INTERRUPT (1 << 14) > -#define I915_GMCH_THERMAL_SENSOR_EVENT_INTERRUPT (1 << 14) /* p-state */ > -#define I915_DISPLAY_PIPE_A_HBLANK_INTERRUPT (1 << 13) > -#define I915_HWB_OOM_INTERRUPT (1 << 13) > -#define I915_LPE_PIPE_C_INTERRUPT (1 << 12) > -#define I915_SYNC_STATUS_INTERRUPT (1 << 12) > -#define I915_MISC_INTERRUPT (1 << 11) > -#define I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT (1 << 11) > -#define I915_DISPLAY_PIPE_C_VBLANK_INTERRUPT (1 << 10) > -#define I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT (1 << 10) > -#define I915_DISPLAY_PIPE_C_EVENT_INTERRUPT (1 << 9) > -#define I915_OVERLAY_PLANE_FLIP_PENDING_INTERRUPT (1 << 9) > -#define I915_DISPLAY_PIPE_C_DPBM_INTERRUPT (1 << 8) > -#define I915_DISPLAY_PLANE_C_FLIP_PENDING_INTERRUPT (1 << 8) > -#define I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT (1 << 7) > -#define I915_DISPLAY_PIPE_A_EVENT_INTERRUPT (1 << 6) > -#define I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT (1 << 5) > -#define I915_DISPLAY_PIPE_B_EVENT_INTERRUPT (1 << 4) > -#define I915_DISPLAY_PIPE_A_DPBM_INTERRUPT (1 << 3) > -#define I915_DISPLAY_PIPE_B_DPBM_INTERRUPT (1 << 2) > -#define I915_DEBUG_INTERRUPT (1 << 2) > -#define I915_WINVALID_INTERRUPT (1 << 1) > -#define I915_USER_INTERRUPT (1 << 1) > -#define I915_ASLE_INTERRUPT (1 << 0) > -#define I915_BSD_USER_INTERRUPT (1 << 25) > - > #define GEN6_BSD_RNCID _MMIO(0x12198) > > #define GEN7_FF_THREAD_MODE _MMIO(0x20a0) > diff --git a/include/drm/intel/intel_gmd_interrupt.h > b/include/drm/intel/intel_gmd_interrupt.h > new file mode 100644 > index 000000000000..eae0acade16a > --- /dev/null > +++ b/include/drm/intel/intel_gmd_interrupt.h
Here too I think I'd name this *_regs.h. Other than that, Reviewed-by: Jani Nikula <[email protected]> > @@ -0,0 +1,43 @@ > +/* SPDX-License-Identifier: MIT */ > +/* Copyright © 2026 Intel Corporation */ > + > +#ifndef _INTEL_GMD_INTERRUPT_H_ > +#define _INTEL_GMD_INTERRUPT_H_ > + > +#define I915_PM_INTERRUPT (1 << 31) > +#define I915_ISP_INTERRUPT (1 << 22) > +#define I915_LPE_PIPE_B_INTERRUPT (1 << 21) > +#define I915_LPE_PIPE_A_INTERRUPT (1 << 20) > +#define I915_MIPIC_INTERRUPT (1 << 19) > +#define I915_MIPIA_INTERRUPT (1 << 18) > +#define I915_PIPE_CONTROL_NOTIFY_INTERRUPT (1 << 18) > +#define I915_DISPLAY_PORT_INTERRUPT (1 << 17) > +#define I915_DISPLAY_PIPE_C_HBLANK_INTERRUPT (1 << 16) > +#define I915_MASTER_ERROR_INTERRUPT (1 << 15) > +#define I915_DISPLAY_PIPE_B_HBLANK_INTERRUPT (1 << 14) > +#define I915_GMCH_THERMAL_SENSOR_EVENT_INTERRUPT (1 << 14) /* p-state */ > +#define I915_DISPLAY_PIPE_A_HBLANK_INTERRUPT (1 << 13) > +#define I915_HWB_OOM_INTERRUPT (1 << 13) > +#define I915_LPE_PIPE_C_INTERRUPT (1 << 12) > +#define I915_SYNC_STATUS_INTERRUPT (1 << 12) > +#define I915_MISC_INTERRUPT (1 << 11) > +#define I915_DISPLAY_PLANE_A_FLIP_PENDING_INTERRUPT (1 << 11) > +#define I915_DISPLAY_PIPE_C_VBLANK_INTERRUPT (1 << 10) > +#define I915_DISPLAY_PLANE_B_FLIP_PENDING_INTERRUPT (1 << 10) > +#define I915_DISPLAY_PIPE_C_EVENT_INTERRUPT (1 << 9) > +#define I915_OVERLAY_PLANE_FLIP_PENDING_INTERRUPT (1 << 9) > +#define I915_DISPLAY_PIPE_C_DPBM_INTERRUPT (1 << 8) > +#define I915_DISPLAY_PLANE_C_FLIP_PENDING_INTERRUPT (1 << 8) > +#define I915_DISPLAY_PIPE_A_VBLANK_INTERRUPT (1 << 7) > +#define I915_DISPLAY_PIPE_A_EVENT_INTERRUPT (1 << 6) > +#define I915_DISPLAY_PIPE_B_VBLANK_INTERRUPT (1 << 5) > +#define I915_DISPLAY_PIPE_B_EVENT_INTERRUPT (1 << 4) > +#define I915_DISPLAY_PIPE_A_DPBM_INTERRUPT (1 << 3) > +#define I915_DISPLAY_PIPE_B_DPBM_INTERRUPT (1 << 2) > +#define I915_DEBUG_INTERRUPT (1 << 2) > +#define I915_WINVALID_INTERRUPT (1 << 1) > +#define I915_USER_INTERRUPT (1 << 1) > +#define I915_ASLE_INTERRUPT (1 << 0) > +#define I915_BSD_USER_INTERRUPT (1 << 25) > + > +#endif -- Jani Nikula, Intel
