]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/display: add struct intel_error_regs and use it
authorJani Nikula <jani.nikula@intel.com>
Tue, 5 May 2026 09:16:47 +0000 (12:16 +0300)
committerJani Nikula <jani.nikula@intel.com>
Wed, 13 May 2026 13:03:17 +0000 (16:03 +0300)
Add struct intel_error_regs, a display version of struct
i915_error_regs, and use it. The goal is to reduce the dependency on
i915 core types and headers.

Reviewed-by: Michał Grzelak <michal.grzelak@intel.com>
Acked-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/7f909c6b1f7ae623792b5abc3d31d4a682006e24.1777972548.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_display_irq.c
drivers/gpu/drm/i915/display/intel_display_reg_defs.h
drivers/gpu/drm/i915/display/intel_display_regs.h

index 0c9c21b1290be193d273fe3a008a14965c6e12f3..b679992cb1e673b4ebc70f3d95e50d17e5c40510 100644 (file)
@@ -73,7 +73,7 @@ static void irq_init(struct intel_display *display, struct intel_irq_regs regs,
        intel_de_posting_read(display, regs.imr);
 }
 
-static void error_reset(struct intel_display *display, struct i915_error_regs regs)
+static void error_reset(struct intel_display *display, struct intel_error_regs regs)
 {
        intel_de_write(display, regs.emr, 0xffffffff);
        intel_de_posting_read(display, regs.emr);
@@ -84,7 +84,7 @@ static void error_reset(struct intel_display *display, struct i915_error_regs re
        intel_de_posting_read(display, regs.eir);
 }
 
-static void error_init(struct intel_display *display, struct i915_error_regs regs,
+static void error_init(struct intel_display *display, struct intel_error_regs regs,
                       u32 emr_val)
 {
        intel_de_write(display, regs.eir, 0xffffffff);
index d044967aa6d971be2b1d50e33750a20d0d1feaf0..a56f8ed055f6f84fc254bfc61748ce04302927ee 100644 (file)
@@ -20,6 +20,14 @@ struct intel_irq_regs {
 #define INTEL_IRQ_REGS(_imr, _ier, _iir) \
        ((const struct intel_irq_regs){ .imr = (_imr), .ier = (_ier), .iir = (_iir) })
 
+struct intel_error_regs {
+       intel_reg_t emr;
+       intel_reg_t eir;
+};
+
+#define INTEL_ERROR_REGS(_emr, _eir) \
+       ((const struct intel_error_regs){ .emr = (_emr), .eir = (_eir) })
+
 #define VLV_DISPLAY_BASE               0x180000
 
 /*
index d1387d98e36497b778a63f873de9d147cd743922..4321f8b529dae6f10d229dff6934eefbb0e7e16c 100644 (file)
 #define   VLV_ERROR_PAGE_TABLE                         (1 << 4)
 #define   VLV_ERROR_CLAIM                              (1 << 0)
 
-#define VLV_ERROR_REGS         I915_ERROR_REGS(VLV_EMR, VLV_EIR)
+#define VLV_ERROR_REGS         INTEL_ERROR_REGS(VLV_EMR, VLV_EIR)
 
 #define _MBUS_ABOX0_CTL                        0x45038
 #define _MBUS_ABOX1_CTL                        0x45048