Skip to contentSkip to conversation

Second round of i915_reg.h splitting

PATCH Superseded Matt Roper 4 participants 14 messages Jan 20, 2022

Subsystems (4)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Matt Roper

author
#0 lore raw

cover Second round of i915_reg.h splitting

Let's continue to split our giant i915_reg.h file into more logical domain-specific headers. In addition to a bunch of register definition segregation, the final patch of this series ensures that i915_reg.h is only #include'd from .c files that truly need its definitions (and removes all of the places it was included by other headers). This significantly reduces how much of the driver code gets rebuilt after a modifications to i915_reg.h.

There's still more work to do after this series (especially moving display registers to their own header(s)). We'll also need to do a lot of cleanup of the definitions themselves in a future series --- for now the definitions have mostly been moved to new locations as-is without modification to order, coding-style, etc.

Cc Jani Nikula <[email protected]>
Cc Lucas De Marchi <[email protected]>

Matt Roper (6):
drm/i915/perf: Move OA regs to their own header drm/i915/perf: Express OA register ranges with i915_range drm/i915: Parameterize R_PWR_CLK_STATE register definition drm/i915: Parameterize MI_PREDICATE registers drm/i915: Move GT registers to their own header file drm/i915: Only include i915_reg.h from .c files

 drivers/gpu/drm/i915/display/g4x_hdmi.h       |    2 +-
 drivers/gpu/drm/i915/display/intel_atomic.c   |    1 +
 drivers/gpu/drm/i915/display/intel_bios.c     |    1 +
 drivers/gpu/drm/i915/display/intel_bw.c       |    1 +
 drivers/gpu/drm/i915/display/intel_crt.h      |    2 +-
 drivers/gpu/drm/i915/display/intel_ddi.h      |    2 +-
 drivers/gpu/drm/i915/display/intel_de.h       |    1 -
 .../drm/i915/display/intel_display_power.h    |    1 -
 drivers/gpu/drm/i915/display/intel_dmc.h      |    2 +-
 drivers/gpu/drm/i915/display/intel_dp.h       |    2 -
 drivers/gpu/drm/i915/display/intel_dsb.h      |    2 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c  |    1 +
 drivers/gpu/drm/i915/display/intel_dvo_dev.h  |    2 +-
 drivers/gpu/drm/i915/display/intel_hdmi.h     |    2 -
 drivers/gpu/drm/i915/display/intel_lvds.h     |    2 +-
 drivers/gpu/drm/i915/display/intel_sdvo.h     |    2 +-
 drivers/gpu/drm/i915/display/intel_tc.c       |    1 +
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c    |    1 +
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c    |    1 +
 .../i915/gem/selftests/i915_gem_client_blt.c  |    3 +-
 .../drm/i915/gem/selftests/i915_gem_context.c |    3 +-
 drivers/gpu/drm/i915/gt/gen2_engine_cs.c      |    1 +
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c          |    1 +
 drivers/gpu/drm/i915/gt/gen7_renderclear.c    |    1 +
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c      |    3 +-
 drivers/gpu/drm/i915/gt/intel_engine.h        |    1 -
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |    1 +
 drivers/gpu/drm/i915/gt/intel_engine_regs.h   |   26 +
 .../drm/i915/gt/intel_execlists_submission.c  |    1 +
 drivers/gpu/drm/i915/gt/intel_ggtt.c          |    1 +
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c  |    2 +
 drivers/gpu/drm/i915/gt/intel_gt.c            |    3 +-
 .../gpu/drm/i915/gt/intel_gt_clock_utils.c    |    2 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c        |    2 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c |    2 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c     |    1 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h       | 1538 ++++++++++++
 drivers/gpu/drm/i915/gt/intel_gtt.c           |    1 +
 drivers/gpu/drm/i915/gt/intel_llc.c           |    1 +
 drivers/gpu/drm/i915/gt/intel_lrc.c           |    1 +
 drivers/gpu/drm/i915/gt/intel_mocs.c          |    2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c           |    2 +
 drivers/gpu/drm/i915/gt/intel_rc6.h           |    2 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c   |    1 +
 drivers/gpu/drm/i915/gt/intel_reset.c         |    2 +
 .../gpu/drm/i915/gt/intel_ring_submission.c   |    1 +
 drivers/gpu/drm/i915/gt/intel_rps.c           |    1 +
 drivers/gpu/drm/i915/gt/intel_sseu.c          |    3 +-
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c  |    1 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c   |    1 +
 .../gpu/drm/i915/gt/intel_workarounds_types.h |    2 +-
 .../drm/i915/gt/uc/abi/guc_actions_slpc_abi.h |    1 -
 drivers/gpu/drm/i915/gt/uc/intel_guc.c        |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c    |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c     |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h    |    2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |    2 +
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_huc.h        |    2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c      |    1 +
 drivers/gpu/drm/i915/gvt/aperture_gm.c        |    1 +
 drivers/gpu/drm/i915/gvt/cmd_parser.c         |    1 +
 drivers/gpu/drm/i915/gvt/display.c            |    1 +
 drivers/gpu/drm/i915/gvt/dmabuf.c             |    1 +
 drivers/gpu/drm/i915/gvt/edid.c               |    1 +
 drivers/gpu/drm/i915/gvt/fb_decoder.c         |    1 +
 drivers/gpu/drm/i915/gvt/gtt.c                |    2 +
 drivers/gpu/drm/i915/gvt/handlers.c           |    2 +
 drivers/gpu/drm/i915/gvt/interrupt.c          |    1 +
 drivers/gpu/drm/i915/gvt/interrupt.h          |    2 +-
 drivers/gpu/drm/i915/gvt/mmio.c               |    3 +
 drivers/gpu/drm/i915/gvt/mmio_context.c       |    1 +
 drivers/gpu/drm/i915/gvt/mmio_context.h       |    1 -
 drivers/gpu/drm/i915/gvt/scheduler.c          |    2 +
 drivers/gpu/drm/i915/i915_cmd_parser.c        |    6 +-
 drivers/gpu/drm/i915/i915_debugfs.c           |    1 +
 drivers/gpu/drm/i915/i915_drv.h               |    1 -
 drivers/gpu/drm/i915/i915_gpu_error.c         |    1 +
 drivers/gpu/drm/i915/i915_irq.c               |    1 +
 drivers/gpu/drm/i915/i915_pci.c               |    1 +
 drivers/gpu/drm/i915/i915_perf.c              |  134 +-
 drivers/gpu/drm/i915/i915_perf_oa_regs.h      |  137 ++
 drivers/gpu/drm/i915/i915_perf_types.h        |    2 +-
 drivers/gpu/drm/i915/i915_pmu.c               |    1 +
 drivers/gpu/drm/i915/i915_reg.h               | 2052 -----------------
 drivers/gpu/drm/i915/i915_reg_defs.h          |    4 +
 drivers/gpu/drm/i915/i915_sysfs.c             |    1 +
 drivers/gpu/drm/i915/intel_dram.c             |    1 +
 drivers/gpu/drm/i915/intel_pcode.c            |    1 +
 drivers/gpu/drm/i915/intel_pm.c               |    1 +
 drivers/gpu/drm/i915/intel_pm.h               |    1 -
 drivers/gpu/drm/i915/intel_sbi.c              |    1 +
 drivers/gpu/drm/i915/intel_uncore.c           |    1 +
 drivers/gpu/drm/i915/intel_uncore.h           |    2 +-
 drivers/gpu/drm/i915/vlv_sideband.c           |    1 +
 drivers/gpu/drm/i915/vlv_suspend.c            |    2 +
 96 files changed, 1891 insertions(+), 2136 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_regs.h
 create mode 100644 drivers/gpu/drm/i915/i915_perf_oa_regs.h
Signature · 1 line
2.34.1
author
#1 lore raw

PATCH 1/6 drm/i915/perf: Move OA regs to their own header

The OA unit registers are only used by the perf code; move them to their own header file.

Cc Jani Nikula <[email protected]>
Cc Umesh Nerlige Ramappa <[email protected]>
Cc Lionel Landwerlin <[email protected]>
---
 drivers/gpu/drm/i915/gvt/scheduler.c     |   1 +
 drivers/gpu/drm/i915/i915_perf.c         |   1 +
 drivers/gpu/drm/i915/i915_perf_oa_regs.h | 497 +++++++++++++++++++++++
 drivers/gpu/drm/i915/i915_reg.h          | 485 ----------------------
 4 files changed, 499 insertions(+), 485 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/i915_perf_oa_regs.h
drivers/gpu/drm/i915/gvt/scheduler.c +1 -0
index 42a0c9ae0a73..ecd90dbd9544 100644
@@ -43,6 +43,7 @@
 
 #include "i915_drv.h"
 #include "i915_gem_gtt.h"
+#include "i915_perf_oa_regs.h"
 #include "gvt.h"
 
 #define RING_CTX_OFF(x) \
drivers/gpu/drm/i915/i915_perf.c +1 -0
index 19647f0d6f14..41cbfb399432 100644
@@ -208,6 +208,7 @@
 
 #include "i915_drv.h"
 #include "i915_perf.h"
+#include "i915_perf_oa_regs.h"
 
 /* HW requires this to be a power of two, between 128k and 16M, though driver
  * is currently generally designed assuming the largest 16M size is used such
drivers/gpu/drm/i915/i915_perf_oa_regs.h new file +497 -0

497 lines not on this page · raw message

drivers/gpu/drm/i915/i915_reg.h +0 -485

512 lines not on this page · raw message

Signature · 1 line
2.34.1
author
#2 lore raw

PATCH 2/6 drm/i915/perf: Express OA register ranges with i915_range

In reply to Matt Roper

Let's use 'struct i915_range' to express sets of b-counter and mux registers in the perf code. This makes the code more similar to how we handle things like multicast register ranges, forcewake tables, shadow tables, etc. and also lets us avoid needing symbolic register name definitions for the various range end points. With this change, many of the OA register definitions are no longer used in the code, so we can drop their #define's for simplicity.

Cc Jani Nikula <[email protected]>
Cc Umesh Nerlige Ramappa <[email protected]>
Cc Lionel Landwerlin <[email protected]>
---
 drivers/gpu/drm/i915/i915_perf.c         | 120 +++++---
 drivers/gpu/drm/i915/i915_perf_oa_regs.h | 360 -----------------------
 2 files changed, 77 insertions(+), 403 deletions(-)
drivers/gpu/drm/i915/i915_perf.c +77 -43
index 41cbfb399432..385e17f167ec 100644
@@ -3864,80 +3864,114 @@ static bool gen8_is_valid_flex_addr(struct i915_perf *perf, u32 addr)
 	return false;
 }
 
-#define ADDR_IN_RANGE(addr, start, end) \
-	((addr) >= (start) && \
-	 (addr) <= (end))
+static inline bool reg_in_range_table(u32 addr, const struct i915_range *table) {
+	while (table->start || table->end) {
+		if (addr >= table->start && addr <= table->end)
+			return true;
+
+		table++;
+	}
 
-#define REG_IN_RANGE(addr, start, end) \
-	((addr) >= i915_mmio_reg_offset(start) && \
-	 (addr) <= i915_mmio_reg_offset(end))
+	return false;
+}
 
 #define REG_EQUAL(addr, mmio) \
 	((addr) == i915_mmio_reg_offset(mmio))
 
-static bool gen7_is_valid_b_counter_addr(struct i915_perf *perf, u32 addr)
-{
-	return REG_IN_RANGE(addr, OASTARTTRIG1, OASTARTTRIG8) ||
-	       REG_IN_RANGE(addr, OAREPORTTRIG1, OAREPORTTRIG8) ||
-	       REG_IN_RANGE(addr, OACEC0_0, OACEC7_1);
-}
+static const struct i915_range gen7_oa_b_counters[] = {
+	{ .start = 0x2710, .end = 0x272c },	/* OASTARTTRIG[1-8] */
+	{ .start = 0x2740, .end = 0x275c },	/* OAREPORTTRIG[1-8] */
+	{ .start = 0x2770, .end = 0x27ac },	/* OACEC[0-7][0-1] */
+	{}
+};
+
+static const struct i915_range gen12_oa_b_counters[] = {
+	{ .start = 0x2b2c, .end = 0x2b2c },	/* GEN12_OAG_OA_PESS */
+	{ .start = 0xd900, .end = 0xd91c },	/* GEN12_OAG_OASTARTTRIG[1-8] */
+	{ .start = 0xd920, .end = 0xd93c },	/* GEN12_OAG_OAREPORTTRIG1[1-8] */
+	{ .start = 0xd940, .end = 0xd97c },	/* GEN12_OAG_CEC[0-7][0-1] */
+	{ .start = 0xdc00, .end = 0xdc3c },	/* GEN12_OAG_SCEC[0-7][0-1] */
+	{ .start = 0xdc40, .end = 0xdc40 },	/* GEN12_OAG_SPCTR_CNF */
+	{ .start = 0xdc44, .end = 0xdc44 },	/* GEN12_OAA_DBG_REG */
+	{}
+};
+
+static const struct i915_range gen7_oa_mux_regs[] = {
+	{ .start = 0x91b8, .end = 0x91cc },	/* OA_PERFCNT[1-2], OA_PERFMATRIX */
+	{ .start = 0x9800, .end = 0x9888 },	/* MICRO_BP0_0 - NOA_WRITE */
+	{ .start = 0xe180, .end = 0xe180 },	/* HALF_SLICE_CHICKEN2 */
+	{}
+};
 
-static bool gen7_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
+static const struct i915_range hsw_oa_mux_regs[] = {
+	{ .start = 0x09e80, .end = 0x09ea4 }, /* HSW_MBVID2_NOA[0-9] */
+	{ .start = 0x09ec0, .end = 0x09ec0 }, /* HSW_MBVID2_MISR0 */
+	{ .start = 0x25100, .end = 0x2ff90 },
+	{}
+};
+
+static const struct i915_range chv_oa_mux_regs[] = {
+       { .start = 0x182300, .end = 0x1823a4 },
+       {}
+};
+
+static const struct i915_range gen8_oa_mux_regs[] = {
+	{ .start = 0x0d00, .end = 0x0d2c },	/* RPM_CONFIG[0-1], NOA_CONFIG[0-8] */
+	{ .start = 0x20cc, .end = 0x20cc },	/* WAIT_FOR_RC6_EXIT */
+	{}
+};
+
+static const struct i915_range gen11_oa_mux_regs[] = {
+	{ .start = 0x91c8, .end = 0x91dc },	/* OA_PERFCNT[3-4] */
+	{}
+};
+
+static const struct i915_range gen12_oa_mux_regs[] = {
+	{ .start = 0x0d00, .end = 0x0d2c },	/* RPM_CONFIG[0-1], NOA_CONFIG[0-8] */
+	{ .start = 0x9840, .end = 0x9840 },	/* GDT_CHICKEN_BITS */
+	{ .start = 0x9884, .end = 0x9888 },	/* NOA_WRITE */
+	{ .start = 0x20cc, .end = 0x20cc },	/* WAIT_FOR_RC6_EXIT */
+	{}
+};
+
+static bool gen7_is_valid_b_counter_addr(struct i915_perf *perf, u32 addr)
 {
-	return REG_EQUAL(addr, HALF_SLICE_CHICKEN2) ||
-	       REG_IN_RANGE(addr, MICRO_BP0_0, NOA_WRITE) ||
-	       REG_IN_RANGE(addr, OA_PERFCNT1_LO, OA_PERFCNT2_HI) ||
-	       REG_IN_RANGE(addr, OA_PERFMATRIX_LO, OA_PERFMATRIX_HI);
+	return reg_in_range_table(addr, gen7_oa_b_counters);
 }
 
 static bool gen8_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return gen7_is_valid_mux_addr(perf, addr) ||
-	       REG_EQUAL(addr, WAIT_FOR_RC6_EXIT) ||
-	       REG_IN_RANGE(addr, RPM_CONFIG0, NOA_CONFIG(8));
+	return reg_in_range_table(addr, gen7_oa_mux_regs) ||
+		reg_in_range_table(addr, gen8_oa_mux_regs);
 }
 
 static bool gen11_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return gen8_is_valid_mux_addr(perf, addr) ||
-	       REG_EQUAL(addr, GEN10_NOA_WRITE_HIGH) ||
-	       REG_IN_RANGE(addr, OA_PERFCNT3_LO, OA_PERFCNT4_HI);
+	return reg_in_range_table(addr, gen7_oa_mux_regs) ||
+		reg_in_range_table(addr, gen8_oa_mux_regs) ||
+		reg_in_range_table(addr, gen11_oa_mux_regs);
 }
 
 static bool hsw_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return gen7_is_valid_mux_addr(perf, addr) ||
-	       ADDR_IN_RANGE(addr, 0x25100, 0x2FF90) ||
-	       REG_IN_RANGE(addr, HSW_MBVID2_NOA0, HSW_MBVID2_NOA9) ||
-	       REG_EQUAL(addr, HSW_MBVID2_MISR0);
+	return reg_in_range_table(addr, gen7_oa_mux_regs) ||
+		reg_in_range_table(addr, hsw_oa_mux_regs);
 }
 
 static bool chv_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return gen7_is_valid_mux_addr(perf, addr) ||
-	       ADDR_IN_RANGE(addr, 0x182300, 0x1823A4);
+	return reg_in_range_table(addr, gen7_oa_mux_regs) ||
+		reg_in_range_table(addr, chv_oa_mux_regs);
 }
 
 static bool gen12_is_valid_b_counter_addr(struct i915_perf *perf, u32 addr)
 {
-	return REG_IN_RANGE(addr, GEN12_OAG_OASTARTTRIG1, GEN12_OAG_OASTARTTRIG8) ||
-	       REG_IN_RANGE(addr, GEN12_OAG_OAREPORTTRIG1, GEN12_OAG_OAREPORTTRIG8) ||
-	       REG_IN_RANGE(addr, GEN12_OAG_CEC0_0, GEN12_OAG_CEC7_1) ||
-	       REG_IN_RANGE(addr, GEN12_OAG_SCEC0_0, GEN12_OAG_SCEC7_1) ||
-	       REG_EQUAL(addr, GEN12_OAA_DBG_REG) ||
-	       REG_EQUAL(addr, GEN12_OAG_OA_PESS) ||
-	       REG_EQUAL(addr, GEN12_OAG_SPCTR_CNF);
+	return reg_in_range_table(addr, gen12_oa_b_counters);
 }
 
 static bool gen12_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return REG_EQUAL(addr, NOA_WRITE) ||
-	       REG_EQUAL(addr, GEN10_NOA_WRITE_HIGH) ||
-	       REG_EQUAL(addr, GDT_CHICKEN_BITS) ||
-	       REG_EQUAL(addr, WAIT_FOR_RC6_EXIT) ||
-	       REG_EQUAL(addr, RPM_CONFIG0) ||
-	       REG_EQUAL(addr, RPM_CONFIG1) ||
-	       REG_IN_RANGE(addr, NOA_CONFIG(0), NOA_CONFIG(8));
+	return reg_in_range_table(addr, gen12_oa_mux_regs);
 }
 
 static u32 mask_reg_value(u32 reg, u32 val)
drivers/gpu/drm/i915/i915_perf_oa_regs.h +0 -360

367 lines not on this page · raw message

Signature · 1 line
2.34.1
#3 lore raw

Re: [Intel-gfx] [PATCH 2/6] drm/i915/perf: Express OA register ranges with i915_range

Quoted 22 lines · Matt Roper

Let's use 'struct i915_range' to express sets of b-counter and mux registers in the perf code. This makes the code more similar to how we handle things like multicast register ranges, forcewake tables, shadow tables, etc. and also lets us avoid needing symbolic register name definitions for the various range end points. With this change, many of the OA register definitions are no longer used in the code, so we can drop their #define's for simplicity.

Cc Jani Nikula <[email protected]>
Cc Umesh Nerlige Ramappa <[email protected]>
Cc Lionel Landwerlin <[email protected]>
---
 drivers/gpu/drm/i915/i915_perf.c         | 120 +++++---
 drivers/gpu/drm/i915/i915_perf_oa_regs.h | 360 -----------------------
 2 files changed, 77 insertions(+), 403 deletions(-)
drivers/gpu/drm/i915/i915_perf.c +0 -0
index 41cbfb399432..385e17f167ec 100644

drivers/gpu/drm/i915/i915_perf.c static bool gen8_is_valid_flex_addr(struct i915_perf *perf, u32 addr) · line 3867

Quoted 7 lines
drivers/gpu/drm/i915/i915_perf.c +1 -3
@@ -3864,80 +3864,114 @@ static bool gen8_is_valid_flex_addr(struct i915_perf *perf, u32 addr)
 	return false;
 }
 
-#define ADDR_IN_RANGE(addr, start, end) \
-	((addr) >= (start) && \
-	 (addr) <= (end))
+static inline bool reg_in_range_table(u32 addr, const struct i915_range *table) {

Nitpick, please don't add inline in .c files, mainly for two reasons. First and foremost, just let the compiler decide what's best here. Second, you won't get warnings for unused static inlines, say if you refactor this later.

BR,
Jani.

Quoted 522 lines
drivers/gpu/drm/i915/i915_perf.c +76 -40
+	while (table->start || table->end) {
+		if (addr >= table->start && addr <= table->end)
+			return true;
+
+		table++;
+	}
 
-#define REG_IN_RANGE(addr, start, end) \
-	((addr) >= i915_mmio_reg_offset(start) && \
-	 (addr) <= i915_mmio_reg_offset(end))
+	return false;
+}
 
 #define REG_EQUAL(addr, mmio) \
 	((addr) == i915_mmio_reg_offset(mmio))
 
-static bool gen7_is_valid_b_counter_addr(struct i915_perf *perf, u32 addr)
-{
-	return REG_IN_RANGE(addr, OASTARTTRIG1, OASTARTTRIG8) ||
-	       REG_IN_RANGE(addr, OAREPORTTRIG1, OAREPORTTRIG8) ||
-	       REG_IN_RANGE(addr, OACEC0_0, OACEC7_1);
-}
+static const struct i915_range gen7_oa_b_counters[] = {
+	{ .start = 0x2710, .end = 0x272c },	/* OASTARTTRIG[1-8] */
+	{ .start = 0x2740, .end = 0x275c },	/* OAREPORTTRIG[1-8] */
+	{ .start = 0x2770, .end = 0x27ac },	/* OACEC[0-7][0-1] */
+	{}
+};
+
+static const struct i915_range gen12_oa_b_counters[] = {
+	{ .start = 0x2b2c, .end = 0x2b2c },	/* GEN12_OAG_OA_PESS */
+	{ .start = 0xd900, .end = 0xd91c },	/* GEN12_OAG_OASTARTTRIG[1-8] */
+	{ .start = 0xd920, .end = 0xd93c },	/* GEN12_OAG_OAREPORTTRIG1[1-8] */
+	{ .start = 0xd940, .end = 0xd97c },	/* GEN12_OAG_CEC[0-7][0-1] */
+	{ .start = 0xdc00, .end = 0xdc3c },	/* GEN12_OAG_SCEC[0-7][0-1] */
+	{ .start = 0xdc40, .end = 0xdc40 },	/* GEN12_OAG_SPCTR_CNF */
+	{ .start = 0xdc44, .end = 0xdc44 },	/* GEN12_OAA_DBG_REG */
+	{}
+};
+
+static const struct i915_range gen7_oa_mux_regs[] = {
+	{ .start = 0x91b8, .end = 0x91cc },	/* OA_PERFCNT[1-2], OA_PERFMATRIX */
+	{ .start = 0x9800, .end = 0x9888 },	/* MICRO_BP0_0 - NOA_WRITE */
+	{ .start = 0xe180, .end = 0xe180 },	/* HALF_SLICE_CHICKEN2 */
+	{}
+};
 
-static bool gen7_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
+static const struct i915_range hsw_oa_mux_regs[] = {
+	{ .start = 0x09e80, .end = 0x09ea4 }, /* HSW_MBVID2_NOA[0-9] */
+	{ .start = 0x09ec0, .end = 0x09ec0 }, /* HSW_MBVID2_MISR0 */
+	{ .start = 0x25100, .end = 0x2ff90 },
+	{}
+};
+
+static const struct i915_range chv_oa_mux_regs[] = {
+       { .start = 0x182300, .end = 0x1823a4 },
+       {}
+};
+
+static const struct i915_range gen8_oa_mux_regs[] = {
+	{ .start = 0x0d00, .end = 0x0d2c },	/* RPM_CONFIG[0-1], NOA_CONFIG[0-8] */
+	{ .start = 0x20cc, .end = 0x20cc },	/* WAIT_FOR_RC6_EXIT */
+	{}
+};
+
+static const struct i915_range gen11_oa_mux_regs[] = {
+	{ .start = 0x91c8, .end = 0x91dc },	/* OA_PERFCNT[3-4] */
+	{}
+};
+
+static const struct i915_range gen12_oa_mux_regs[] = {
+	{ .start = 0x0d00, .end = 0x0d2c },	/* RPM_CONFIG[0-1], NOA_CONFIG[0-8] */
+	{ .start = 0x9840, .end = 0x9840 },	/* GDT_CHICKEN_BITS */
+	{ .start = 0x9884, .end = 0x9888 },	/* NOA_WRITE */
+	{ .start = 0x20cc, .end = 0x20cc },	/* WAIT_FOR_RC6_EXIT */
+	{}
+};
+
+static bool gen7_is_valid_b_counter_addr(struct i915_perf *perf, u32 addr)
 {
-	return REG_EQUAL(addr, HALF_SLICE_CHICKEN2) ||
-	       REG_IN_RANGE(addr, MICRO_BP0_0, NOA_WRITE) ||
-	       REG_IN_RANGE(addr, OA_PERFCNT1_LO, OA_PERFCNT2_HI) ||
-	       REG_IN_RANGE(addr, OA_PERFMATRIX_LO, OA_PERFMATRIX_HI);
+	return reg_in_range_table(addr, gen7_oa_b_counters);
 }
 
 static bool gen8_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return gen7_is_valid_mux_addr(perf, addr) ||
-	       REG_EQUAL(addr, WAIT_FOR_RC6_EXIT) ||
-	       REG_IN_RANGE(addr, RPM_CONFIG0, NOA_CONFIG(8));
+	return reg_in_range_table(addr, gen7_oa_mux_regs) ||
+		reg_in_range_table(addr, gen8_oa_mux_regs);
 }
 
 static bool gen11_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return gen8_is_valid_mux_addr(perf, addr) ||
-	       REG_EQUAL(addr, GEN10_NOA_WRITE_HIGH) ||
-	       REG_IN_RANGE(addr, OA_PERFCNT3_LO, OA_PERFCNT4_HI);
+	return reg_in_range_table(addr, gen7_oa_mux_regs) ||
+		reg_in_range_table(addr, gen8_oa_mux_regs) ||
+		reg_in_range_table(addr, gen11_oa_mux_regs);
 }
 
 static bool hsw_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return gen7_is_valid_mux_addr(perf, addr) ||
-	       ADDR_IN_RANGE(addr, 0x25100, 0x2FF90) ||
-	       REG_IN_RANGE(addr, HSW_MBVID2_NOA0, HSW_MBVID2_NOA9) ||
-	       REG_EQUAL(addr, HSW_MBVID2_MISR0);
+	return reg_in_range_table(addr, gen7_oa_mux_regs) ||
+		reg_in_range_table(addr, hsw_oa_mux_regs);
 }
 
 static bool chv_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return gen7_is_valid_mux_addr(perf, addr) ||
-	       ADDR_IN_RANGE(addr, 0x182300, 0x1823A4);
+	return reg_in_range_table(addr, gen7_oa_mux_regs) ||
+		reg_in_range_table(addr, chv_oa_mux_regs);
 }
 
 static bool gen12_is_valid_b_counter_addr(struct i915_perf *perf, u32 addr)
 {
-	return REG_IN_RANGE(addr, GEN12_OAG_OASTARTTRIG1, GEN12_OAG_OASTARTTRIG8) ||
-	       REG_IN_RANGE(addr, GEN12_OAG_OAREPORTTRIG1, GEN12_OAG_OAREPORTTRIG8) ||
-	       REG_IN_RANGE(addr, GEN12_OAG_CEC0_0, GEN12_OAG_CEC7_1) ||
-	       REG_IN_RANGE(addr, GEN12_OAG_SCEC0_0, GEN12_OAG_SCEC7_1) ||
-	       REG_EQUAL(addr, GEN12_OAA_DBG_REG) ||
-	       REG_EQUAL(addr, GEN12_OAG_OA_PESS) ||
-	       REG_EQUAL(addr, GEN12_OAG_SPCTR_CNF);
+	return reg_in_range_table(addr, gen12_oa_b_counters);
 }
 
 static bool gen12_is_valid_mux_addr(struct i915_perf *perf, u32 addr)
 {
-	return REG_EQUAL(addr, NOA_WRITE) ||
-	       REG_EQUAL(addr, GEN10_NOA_WRITE_HIGH) ||
-	       REG_EQUAL(addr, GDT_CHICKEN_BITS) ||
-	       REG_EQUAL(addr, WAIT_FOR_RC6_EXIT) ||
-	       REG_EQUAL(addr, RPM_CONFIG0) ||
-	       REG_EQUAL(addr, RPM_CONFIG1) ||
-	       REG_IN_RANGE(addr, NOA_CONFIG(0), NOA_CONFIG(8));
+	return reg_in_range_table(addr, gen12_oa_mux_regs);
 }
 
 static u32 mask_reg_value(u32 reg, u32 val)
drivers/gpu/drm/i915/i915_perf_oa_regs.h +0 -360
index 5896ed43f5c4..f31c9f13a9fc 100644
@@ -131,367 +131,7 @@
 #define  GEN12_OAG_OASTATUS_BUFFER_OVERFLOW  (1 << 1)
 #define  GEN12_OAG_OASTATUS_REPORT_LOST      (1 << 0)
 
-/*
- * OA Boolean state
- */
-
-#define OASTARTTRIG1 _MMIO(0x2710)
-#define OASTARTTRIG1_THRESHOLD_COUNT_MASK_MBZ 0xffff0000
-#define OASTARTTRIG1_THRESHOLD_MASK	      0xffff
-
-#define OASTARTTRIG2 _MMIO(0x2714)
-#define OASTARTTRIG2_INVERT_A_0 (1 << 0)
-#define OASTARTTRIG2_INVERT_A_1 (1 << 1)
-#define OASTARTTRIG2_INVERT_A_2 (1 << 2)
-#define OASTARTTRIG2_INVERT_A_3 (1 << 3)
-#define OASTARTTRIG2_INVERT_A_4 (1 << 4)
-#define OASTARTTRIG2_INVERT_A_5 (1 << 5)
-#define OASTARTTRIG2_INVERT_A_6 (1 << 6)
-#define OASTARTTRIG2_INVERT_A_7 (1 << 7)
-#define OASTARTTRIG2_INVERT_A_8 (1 << 8)
-#define OASTARTTRIG2_INVERT_A_9 (1 << 9)
-#define OASTARTTRIG2_INVERT_A_10 (1 << 10)
-#define OASTARTTRIG2_INVERT_A_11 (1 << 11)
-#define OASTARTTRIG2_INVERT_A_12 (1 << 12)
-#define OASTARTTRIG2_INVERT_A_13 (1 << 13)
-#define OASTARTTRIG2_INVERT_A_14 (1 << 14)
-#define OASTARTTRIG2_INVERT_A_15 (1 << 15)
-#define OASTARTTRIG2_INVERT_B_0 (1 << 16)
-#define OASTARTTRIG2_INVERT_B_1 (1 << 17)
-#define OASTARTTRIG2_INVERT_B_2 (1 << 18)
-#define OASTARTTRIG2_INVERT_B_3 (1 << 19)
-#define OASTARTTRIG2_INVERT_C_0 (1 << 20)
-#define OASTARTTRIG2_INVERT_C_1 (1 << 21)
-#define OASTARTTRIG2_INVERT_D_0 (1 << 22)
-#define OASTARTTRIG2_THRESHOLD_ENABLE	    (1 << 23)
-#define OASTARTTRIG2_START_TRIG_FLAG_MBZ    (1 << 24)
-#define OASTARTTRIG2_EVENT_SELECT_0  (1 << 28)
-#define OASTARTTRIG2_EVENT_SELECT_1  (1 << 29)
-#define OASTARTTRIG2_EVENT_SELECT_2  (1 << 30)
-#define OASTARTTRIG2_EVENT_SELECT_3  (1 << 31)
-
-#define OASTARTTRIG3 _MMIO(0x2718)
-#define OASTARTTRIG3_NOA_SELECT_MASK	   0xf
-#define OASTARTTRIG3_NOA_SELECT_8_SHIFT    0
-#define OASTARTTRIG3_NOA_SELECT_9_SHIFT    4
-#define OASTARTTRIG3_NOA_SELECT_10_SHIFT   8
-#define OASTARTTRIG3_NOA_SELECT_11_SHIFT   12
-#define OASTARTTRIG3_NOA_SELECT_12_SHIFT   16
-#define OASTARTTRIG3_NOA_SELECT_13_SHIFT   20
-#define OASTARTTRIG3_NOA_SELECT_14_SHIFT   24
-#define OASTARTTRIG3_NOA_SELECT_15_SHIFT   28
-
-#define OASTARTTRIG4 _MMIO(0x271c)
-#define OASTARTTRIG4_NOA_SELECT_MASK	    0xf
-#define OASTARTTRIG4_NOA_SELECT_0_SHIFT    0
-#define OASTARTTRIG4_NOA_SELECT_1_SHIFT    4
-#define OASTARTTRIG4_NOA_SELECT_2_SHIFT    8
-#define OASTARTTRIG4_NOA_SELECT_3_SHIFT    12
-#define OASTARTTRIG4_NOA_SELECT_4_SHIFT    16
-#define OASTARTTRIG4_NOA_SELECT_5_SHIFT    20
-#define OASTARTTRIG4_NOA_SELECT_6_SHIFT    24
-#define OASTARTTRIG4_NOA_SELECT_7_SHIFT    28
-
-#define OASTARTTRIG5 _MMIO(0x2720)
-#define OASTARTTRIG5_THRESHOLD_COUNT_MASK_MBZ 0xffff0000
-#define OASTARTTRIG5_THRESHOLD_MASK	      0xffff
-
-#define OASTARTTRIG6 _MMIO(0x2724)
-#define OASTARTTRIG6_INVERT_A_0 (1 << 0)
-#define OASTARTTRIG6_INVERT_A_1 (1 << 1)
-#define OASTARTTRIG6_INVERT_A_2 (1 << 2)
-#define OASTARTTRIG6_INVERT_A_3 (1 << 3)
-#define OASTARTTRIG6_INVERT_A_4 (1 << 4)
-#define OASTARTTRIG6_INVERT_A_5 (1 << 5)
-#define OASTARTTRIG6_INVERT_A_6 (1 << 6)
-#define OASTARTTRIG6_INVERT_A_7 (1 << 7)
-#define OASTARTTRIG6_INVERT_A_8 (1 << 8)
-#define OASTARTTRIG6_INVERT_A_9 (1 << 9)
-#define OASTARTTRIG6_INVERT_A_10 (1 << 10)
-#define OASTARTTRIG6_INVERT_A_11 (1 << 11)
-#define OASTARTTRIG6_INVERT_A_12 (1 << 12)
-#define OASTARTTRIG6_INVERT_A_13 (1 << 13)
-#define OASTARTTRIG6_INVERT_A_14 (1 << 14)
-#define OASTARTTRIG6_INVERT_A_15 (1 << 15)
-#define OASTARTTRIG6_INVERT_B_0 (1 << 16)
-#define OASTARTTRIG6_INVERT_B_1 (1 << 17)
-#define OASTARTTRIG6_INVERT_B_2 (1 << 18)
-#define OASTARTTRIG6_INVERT_B_3 (1 << 19)
-#define OASTARTTRIG6_INVERT_C_0 (1 << 20)
-#define OASTARTTRIG6_INVERT_C_1 (1 << 21)
-#define OASTARTTRIG6_INVERT_D_0 (1 << 22)
-#define OASTARTTRIG6_THRESHOLD_ENABLE	    (1 << 23)
-#define OASTARTTRIG6_START_TRIG_FLAG_MBZ    (1 << 24)
-#define OASTARTTRIG6_EVENT_SELECT_4  (1 << 28)
-#define OASTARTTRIG6_EVENT_SELECT_5  (1 << 29)
-#define OASTARTTRIG6_EVENT_SELECT_6  (1 << 30)
-#define OASTARTTRIG6_EVENT_SELECT_7  (1 << 31)
-
-#define OASTARTTRIG7 _MMIO(0x2728)
-#define OASTARTTRIG7_NOA_SELECT_MASK	   0xf
-#define OASTARTTRIG7_NOA_SELECT_8_SHIFT    0
-#define OASTARTTRIG7_NOA_SELECT_9_SHIFT    4
-#define OASTARTTRIG7_NOA_SELECT_10_SHIFT   8
-#define OASTARTTRIG7_NOA_SELECT_11_SHIFT   12
-#define OASTARTTRIG7_NOA_SELECT_12_SHIFT   16
-#define OASTARTTRIG7_NOA_SELECT_13_SHIFT   20
-#define OASTARTTRIG7_NOA_SELECT_14_SHIFT   24
-#define OASTARTTRIG7_NOA_SELECT_15_SHIFT   28
-
-#define OASTARTTRIG8 _MMIO(0x272c)
-#define OASTARTTRIG8_NOA_SELECT_MASK	   0xf
-#define OASTARTTRIG8_NOA_SELECT_0_SHIFT    0
-#define OASTARTTRIG8_NOA_SELECT_1_SHIFT    4
-#define OASTARTTRIG8_NOA_SELECT_2_SHIFT    8
-#define OASTARTTRIG8_NOA_SELECT_3_SHIFT    12
-#define OASTARTTRIG8_NOA_SELECT_4_SHIFT    16
-#define OASTARTTRIG8_NOA_SELECT_5_SHIFT    20
-#define OASTARTTRIG8_NOA_SELECT_6_SHIFT    24
-#define OASTARTTRIG8_NOA_SELECT_7_SHIFT    28
-
-#define OAREPORTTRIG1 _MMIO(0x2740)
-#define OAREPORTTRIG1_THRESHOLD_MASK 0xffff
-#define OAREPORTTRIG1_EDGE_LEVEL_TRIGGER_SELECT_MASK 0xffff0000 /* 0=level */
-
-#define OAREPORTTRIG2 _MMIO(0x2744)
-#define OAREPORTTRIG2_INVERT_A_0  (1 << 0)
-#define OAREPORTTRIG2_INVERT_A_1  (1 << 1)
-#define OAREPORTTRIG2_INVERT_A_2  (1 << 2)
-#define OAREPORTTRIG2_INVERT_A_3  (1 << 3)
-#define OAREPORTTRIG2_INVERT_A_4  (1 << 4)
-#define OAREPORTTRIG2_INVERT_A_5  (1 << 5)
-#define OAREPORTTRIG2_INVERT_A_6  (1 << 6)
-#define OAREPORTTRIG2_INVERT_A_7  (1 << 7)
-#define OAREPORTTRIG2_INVERT_A_8  (1 << 8)
-#define OAREPORTTRIG2_INVERT_A_9  (1 << 9)
-#define OAREPORTTRIG2_INVERT_A_10 (1 << 10)
-#define OAREPORTTRIG2_INVERT_A_11 (1 << 11)
-#define OAREPORTTRIG2_INVERT_A_12 (1 << 12)
-#define OAREPORTTRIG2_INVERT_A_13 (1 << 13)
-#define OAREPORTTRIG2_INVERT_A_14 (1 << 14)
-#define OAREPORTTRIG2_INVERT_A_15 (1 << 15)
-#define OAREPORTTRIG2_INVERT_B_0  (1 << 16)
-#define OAREPORTTRIG2_INVERT_B_1  (1 << 17)
-#define OAREPORTTRIG2_INVERT_B_2  (1 << 18)
-#define OAREPORTTRIG2_INVERT_B_3  (1 << 19)
-#define OAREPORTTRIG2_INVERT_C_0  (1 << 20)
-#define OAREPORTTRIG2_INVERT_C_1  (1 << 21)
-#define OAREPORTTRIG2_INVERT_D_0  (1 << 22)
-#define OAREPORTTRIG2_THRESHOLD_ENABLE	    (1 << 23)
-#define OAREPORTTRIG2_REPORT_TRIGGER_ENABLE (1 << 31)
-
-#define OAREPORTTRIG3 _MMIO(0x2748)
-#define OAREPORTTRIG3_NOA_SELECT_MASK	    0xf
-#define OAREPORTTRIG3_NOA_SELECT_8_SHIFT    0
-#define OAREPORTTRIG3_NOA_SELECT_9_SHIFT    4
-#define OAREPORTTRIG3_NOA_SELECT_10_SHIFT   8
-#define OAREPORTTRIG3_NOA_SELECT_11_SHIFT   12
-#define OAREPORTTRIG3_NOA_SELECT_12_SHIFT   16
-#define OAREPORTTRIG3_NOA_SELECT_13_SHIFT   20
-#define OAREPORTTRIG3_NOA_SELECT_14_SHIFT   24
-#define OAREPORTTRIG3_NOA_SELECT_15_SHIFT   28
-
-#define OAREPORTTRIG4 _MMIO(0x274c)
-#define OAREPORTTRIG4_NOA_SELECT_MASK	    0xf
-#define OAREPORTTRIG4_NOA_SELECT_0_SHIFT    0
-#define OAREPORTTRIG4_NOA_SELECT_1_SHIFT    4
-#define OAREPORTTRIG4_NOA_SELECT_2_SHIFT    8
-#define OAREPORTTRIG4_NOA_SELECT_3_SHIFT    12
-#define OAREPORTTRIG4_NOA_SELECT_4_SHIFT    16
-#define OAREPORTTRIG4_NOA_SELECT_5_SHIFT    20
-#define OAREPORTTRIG4_NOA_SELECT_6_SHIFT    24
-#define OAREPORTTRIG4_NOA_SELECT_7_SHIFT    28
-
-#define OAREPORTTRIG5 _MMIO(0x2750)
-#define OAREPORTTRIG5_THRESHOLD_MASK 0xffff
-#define OAREPORTTRIG5_EDGE_LEVEL_TRIGGER_SELECT_MASK 0xffff0000 /* 0=level */
-
-#define OAREPORTTRIG6 _MMIO(0x2754)
-#define OAREPORTTRIG6_INVERT_A_0  (1 << 0)
-#define OAREPORTTRIG6_INVERT_A_1  (1 << 1)
-#define OAREPORTTRIG6_INVERT_A_2  (1 << 2)
-#define OAREPORTTRIG6_INVERT_A_3  (1 << 3)
-#define OAREPORTTRIG6_INVERT_A_4  (1 << 4)
-#define OAREPORTTRIG6_INVERT_A_5  (1 << 5)
-#define OAREPORTTRIG6_INVERT_A_6  (1 << 6)
-#define OAREPORTTRIG6_INVERT_A_7  (1 << 7)
-#define OAREPORTTRIG6_INVERT_A_8  (1 << 8)
-#define OAREPORTTRIG6_INVERT_A_9  (1 << 9)
-#define OAREPORTTRIG6_INVERT_A_10 (1 << 10)
-#define OAREPORTTRIG6_INVERT_A_11 (1 << 11)
-#define OAREPORTTRIG6_INVERT_A_12 (1 << 12)
-#define OAREPORTTRIG6_INVERT_A_13 (1 << 13)
-#define OAREPORTTRIG6_INVERT_A_14 (1 << 14)
-#define OAREPORTTRIG6_INVERT_A_15 (1 << 15)
-#define OAREPORTTRIG6_INVERT_B_0  (1 << 16)
-#define OAREPORTTRIG6_INVERT_B_1  (1 << 17)
-#define OAREPORTTRIG6_INVERT_B_2  (1 << 18)
-#define OAREPORTTRIG6_INVERT_B_3  (1 << 19)
-#define OAREPORTTRIG6_INVERT_C_0  (1 << 20)
-#define OAREPORTTRIG6_INVERT_C_1  (1 << 21)
-#define OAREPORTTRIG6_INVERT_D_0  (1 << 22)
-#define OAREPORTTRIG6_THRESHOLD_ENABLE	    (1 << 23)
-#define OAREPORTTRIG6_REPORT_TRIGGER_ENABLE (1 << 31)
-
-#define OAREPORTTRIG7 _MMIO(0x2758)
-#define OAREPORTTRIG7_NOA_SELECT_MASK	    0xf
-#define OAREPORTTRIG7_NOA_SELECT_8_SHIFT    0
-#define OAREPORTTRIG7_NOA_SELECT_9_SHIFT    4
-#define OAREPORTTRIG7_NOA_SELECT_10_SHIFT   8
-#define OAREPORTTRIG7_NOA_SELECT_11_SHIFT   12
-#define OAREPORTTRIG7_NOA_SELECT_12_SHIFT   16
-#define OAREPORTTRIG7_NOA_SELECT_13_SHIFT   20
-#define OAREPORTTRIG7_NOA_SELECT_14_SHIFT   24
-#define OAREPORTTRIG7_NOA_SELECT_15_SHIFT   28
-
-#define OAREPORTTRIG8 _MMIO(0x275c)
-#define OAREPORTTRIG8_NOA_SELECT_MASK	    0xf
-#define OAREPORTTRIG8_NOA_SELECT_0_SHIFT    0
-#define OAREPORTTRIG8_NOA_SELECT_1_SHIFT    4
-#define OAREPORTTRIG8_NOA_SELECT_2_SHIFT    8
-#define OAREPORTTRIG8_NOA_SELECT_3_SHIFT    12
-#define OAREPORTTRIG8_NOA_SELECT_4_SHIFT    16
-#define OAREPORTTRIG8_NOA_SELECT_5_SHIFT    20
-#define OAREPORTTRIG8_NOA_SELECT_6_SHIFT    24
-#define OAREPORTTRIG8_NOA_SELECT_7_SHIFT    28
-
-/* Same layout as OASTARTTRIGX */
-#define GEN12_OAG_OASTARTTRIG1 _MMIO(0xd900)
-#define GEN12_OAG_OASTARTTRIG2 _MMIO(0xd904)
-#define GEN12_OAG_OASTARTTRIG3 _MMIO(0xd908)
-#define GEN12_OAG_OASTARTTRIG4 _MMIO(0xd90c)
-#define GEN12_OAG_OASTARTTRIG5 _MMIO(0xd910)
-#define GEN12_OAG_OASTARTTRIG6 _MMIO(0xd914)
-#define GEN12_OAG_OASTARTTRIG7 _MMIO(0xd918)
-#define GEN12_OAG_OASTARTTRIG8 _MMIO(0xd91c)
-
-/* Same layout as OAREPORTTRIGX */
-#define GEN12_OAG_OAREPORTTRIG1 _MMIO(0xd920)
-#define GEN12_OAG_OAREPORTTRIG2 _MMIO(0xd924)
-#define GEN12_OAG_OAREPORTTRIG3 _MMIO(0xd928)
-#define GEN12_OAG_OAREPORTTRIG4 _MMIO(0xd92c)
-#define GEN12_OAG_OAREPORTTRIG5 _MMIO(0xd930)
-#define GEN12_OAG_OAREPORTTRIG6 _MMIO(0xd934)
-#define GEN12_OAG_OAREPORTTRIG7 _MMIO(0xd938)
-#define GEN12_OAG_OAREPORTTRIG8 _MMIO(0xd93c)
-
-/* CECX_0 */
-#define OACEC_COMPARE_LESS_OR_EQUAL	6
-#define OACEC_COMPARE_NOT_EQUAL		5
-#define OACEC_COMPARE_LESS_THAN		4
-#define OACEC_COMPARE_GREATER_OR_EQUAL	3
-#define OACEC_COMPARE_EQUAL		2
-#define OACEC_COMPARE_GREATER_THAN	1
-#define OACEC_COMPARE_ANY_EQUAL		0
-
-#define OACEC_COMPARE_VALUE_MASK    0xffff
-#define OACEC_COMPARE_VALUE_SHIFT   3
-
-#define OACEC_SELECT_NOA	(0 << 19)
-#define OACEC_SELECT_PREV	(1 << 19)
-#define OACEC_SELECT_BOOLEAN	(2 << 19)
-
-/* 11-bit array 0: pass-through, 1: negated */
-#define GEN12_OASCEC_NEGATE_MASK  0x7ff
-#define GEN12_OASCEC_NEGATE_SHIFT 21
-
-/* CECX_1 */
-#define OACEC_MASK_MASK		    0xffff
-#define OACEC_CONSIDERATIONS_MASK   0xffff
-#define OACEC_CONSIDERATIONS_SHIFT  16
-
-#define OACEC0_0 _MMIO(0x2770)
-#define OACEC0_1 _MMIO(0x2774)
-#define OACEC1_0 _MMIO(0x2778)
-#define OACEC1_1 _MMIO(0x277c)
-#define OACEC2_0 _MMIO(0x2780)
-#define OACEC2_1 _MMIO(0x2784)
-#define OACEC3_0 _MMIO(0x2788)
-#define OACEC3_1 _MMIO(0x278c)
-#define OACEC4_0 _MMIO(0x2790)
-#define OACEC4_1 _MMIO(0x2794)
-#define OACEC5_0 _MMIO(0x2798)
-#define OACEC5_1 _MMIO(0x279c)
-#define OACEC6_0 _MMIO(0x27a0)
-#define OACEC6_1 _MMIO(0x27a4)
-#define OACEC7_0 _MMIO(0x27a8)
-#define OACEC7_1 _MMIO(0x27ac)
-
-/* Same layout as CECX_Y */
-#define GEN12_OAG_CEC0_0 _MMIO(0xd940)
-#define GEN12_OAG_CEC0_1 _MMIO(0xd944)
-#define GEN12_OAG_CEC1_0 _MMIO(0xd948)
-#define GEN12_OAG_CEC1_1 _MMIO(0xd94c)
-#define GEN12_OAG_CEC2_0 _MMIO(0xd950)
-#define GEN12_OAG_CEC2_1 _MMIO(0xd954)
-#define GEN12_OAG_CEC3_0 _MMIO(0xd958)
-#define GEN12_OAG_CEC3_1 _MMIO(0xd95c)
-#define GEN12_OAG_CEC4_0 _MMIO(0xd960)
-#define GEN12_OAG_CEC4_1 _MMIO(0xd964)
-#define GEN12_OAG_CEC5_0 _MMIO(0xd968)
-#define GEN12_OAG_CEC5_1 _MMIO(0xd96c)
-#define GEN12_OAG_CEC6_0 _MMIO(0xd970)
-#define GEN12_OAG_CEC6_1 _MMIO(0xd974)
-#define GEN12_OAG_CEC7_0 _MMIO(0xd978)
-#define GEN12_OAG_CEC7_1 _MMIO(0xd97c)
-
-/* Same layout as CECX_Y + negate 11-bit array */
-#define GEN12_OAG_SCEC0_0 _MMIO(0xdc00)
-#define GEN12_OAG_SCEC0_1 _MMIO(0xdc04)
-#define GEN12_OAG_SCEC1_0 _MMIO(0xdc08)
-#define GEN12_OAG_SCEC1_1 _MMIO(0xdc0c)
-#define GEN12_OAG_SCEC2_0 _MMIO(0xdc10)
-#define GEN12_OAG_SCEC2_1 _MMIO(0xdc14)
-#define GEN12_OAG_SCEC3_0 _MMIO(0xdc18)
-#define GEN12_OAG_SCEC3_1 _MMIO(0xdc1c)
-#define GEN12_OAG_SCEC4_0 _MMIO(0xdc20)
-#define GEN12_OAG_SCEC4_1 _MMIO(0xdc24)
-#define GEN12_OAG_SCEC5_0 _MMIO(0xdc28)
-#define GEN12_OAG_SCEC5_1 _MMIO(0xdc2c)
-#define GEN12_OAG_SCEC6_0 _MMIO(0xdc30)
-#define GEN12_OAG_SCEC6_1 _MMIO(0xdc34)
-#define GEN12_OAG_SCEC7_0 _MMIO(0xdc38)
-#define GEN12_OAG_SCEC7_1 _MMIO(0xdc3c)
-
-/* OA perf counters */
-#define OA_PERFCNT1_LO      _MMIO(0x91B8)
-#define OA_PERFCNT1_HI      _MMIO(0x91BC)
-#define OA_PERFCNT2_LO      _MMIO(0x91C0)
-#define OA_PERFCNT2_HI      _MMIO(0x91C4)
-#define OA_PERFCNT3_LO      _MMIO(0x91C8)
-#define OA_PERFCNT3_HI      _MMIO(0x91CC)
-#define OA_PERFCNT4_LO      _MMIO(0x91D8)
-#define OA_PERFCNT4_HI      _MMIO(0x91DC)
-
-#define OA_PERFMATRIX_LO    _MMIO(0x91C8)
-#define OA_PERFMATRIX_HI    _MMIO(0x91CC)
-
-/* NOA (HSW) */
-#define HSW_MBVID2_NOA0		_MMIO(0x9E80)
-#define HSW_MBVID2_NOA1		_MMIO(0x9E84)
-#define HSW_MBVID2_NOA2		_MMIO(0x9E88)
-#define HSW_MBVID2_NOA3		_MMIO(0x9E8C)
-#define HSW_MBVID2_NOA4		_MMIO(0x9E90)
-#define HSW_MBVID2_NOA5		_MMIO(0x9E94)
-#define HSW_MBVID2_NOA6		_MMIO(0x9E98)
-#define HSW_MBVID2_NOA7		_MMIO(0x9E9C)
-#define HSW_MBVID2_NOA8		_MMIO(0x9EA0)
-#define HSW_MBVID2_NOA9		_MMIO(0x9EA4)
-
-#define HSW_MBVID2_MISR0	_MMIO(0x9EC0)
-
-/* NOA (Gen8+) */
-#define NOA_CONFIG(i)	    _MMIO(0x0D0C + (i) * 4)
-
-#define GEN12_OAA_DBG_REG _MMIO(0xdc44)
-#define GEN12_OAG_OA_PESS _MMIO(0x2b2c)
-#define GEN12_OAG_SPCTR_CNF _MMIO(0xdc40)
-
 #define GDT_CHICKEN_BITS    _MMIO(0x9840)
 #define   GT_NOA_ENABLE	    0x00000080
 
-#define NOA_DATA	    _MMIO(0x986C)
-#define NOA_WRITE	    _MMIO(0x9888)
-#define GEN10_NOA_WRITE_HIGH _MMIO(0x9884)
-
 #endif /* __INTEL_PERF_OA_REGS__ */
Signature · 1 line
Jani Nikula, Intel Open Source Graphics Center
author
#4 lore raw

PATCH 3/6 drm/i915: Parameterize R_PWR_CLK_STATE register definition

In reply to Matt Roper

At the moment we only use R_PWR_CLK_STATE in the context of the RCS engine, but upcoming support for compute engines will start using instances relative to the CCS engine base offsets. Let's parameterize the register and move it to the engine reg header.

---
 .../gpu/drm/i915/gem/selftests/i915_gem_context.c |  3 ++-
 drivers/gpu/drm/i915/gt/intel_engine_regs.h       | 15 +++++++++++++++
 drivers/gpu/drm/i915/gt/intel_sseu.c              |  2 +-
 drivers/gpu/drm/i915/i915_perf.c                  |  4 ++--
 drivers/gpu/drm/i915/i915_reg.h                   | 15 ---------------
 5 files changed, 20 insertions(+), 19 deletions(-)
drivers/gpu/drm/i915/gem/selftests/i915_gem_context.c +2 -1
index 80d99b9c694f..7cc4fa8f8c56 100644
@@ -8,6 +8,7 @@
 
 #include "gem/i915_gem_pm.h"
 #include "gt/intel_engine_pm.h"
+#include "gt/intel_engine_regs.h"
 #include "gt/intel_gt.h"
 #include "gt/intel_gt_requests.h"
 #include "gt/intel_reset.h"
@@ -894,7 +895,7 @@ static int rpcs_query_batch(struct drm_i915_gem_object *rpcs, struct i915_vma *v
 		return PTR_ERR(cmd);
 
 	*cmd++ = MI_STORE_REGISTER_MEM_GEN8;
-	*cmd++ = i915_mmio_reg_offset(GEN8_R_PWR_CLK_STATE);
+	*cmd++ = i915_mmio_reg_offset(GEN8_R_PWR_CLK_STATE(RENDER_RING_BASE));
 	*cmd++ = lower_32_bits(vma->node.start);
 	*cmd++ = upper_32_bits(vma->node.start);
 	*cmd = MI_BATCH_BUFFER_END;
drivers/gpu/drm/i915/gt/intel_engine_regs.h +15 -0
index 60511f310767..daf4a241cf77 100644
@@ -77,6 +77,21 @@
 #define RING_INSTPM(base)			_MMIO((base) + 0xc0)
 #define RING_CMD_CCTL(base)			_MMIO((base) + 0xc4)
 #define ACTHD(base)				_MMIO((base) + 0xc8)
+#define GEN8_R_PWR_CLK_STATE(base)		_MMIO((base) + 0xc8)
+#define   GEN8_RPCS_ENABLE			(1 << 31)
+#define   GEN8_RPCS_S_CNT_ENABLE		(1 << 18)
+#define   GEN8_RPCS_S_CNT_SHIFT			15
+#define   GEN8_RPCS_S_CNT_MASK			(0x7 << GEN8_RPCS_S_CNT_SHIFT)
+#define   GEN11_RPCS_S_CNT_SHIFT		12
+#define   GEN11_RPCS_S_CNT_MASK			(0x3f << GEN11_RPCS_S_CNT_SHIFT)
+#define   GEN8_RPCS_SS_CNT_ENABLE		(1 << 11)
+#define   GEN8_RPCS_SS_CNT_SHIFT		8
+#define   GEN8_RPCS_SS_CNT_MASK			(0x7 << GEN8_RPCS_SS_CNT_SHIFT)
+#define   GEN8_RPCS_EU_MAX_SHIFT		4
+#define   GEN8_RPCS_EU_MAX_MASK			(0xf << GEN8_RPCS_EU_MAX_SHIFT)
+#define   GEN8_RPCS_EU_MIN_SHIFT		0
+#define   GEN8_RPCS_EU_MIN_MASK			(0xf << GEN8_RPCS_EU_MIN_SHIFT)
+
 #define RING_RESET_CTL(base)			_MMIO((base) + 0xd0)
 #define   RESET_CTL_CAT_ERROR			REG_BIT(2)
 #define   RESET_CTL_READY_TO_RESET		REG_BIT(1)
drivers/gpu/drm/i915/gt/intel_sseu.c +1 -1
index bdf09051b8a0..f161087f30d0 100644
@@ -4,7 +4,7 @@
  */
 
 #include "i915_drv.h"
-#include "intel_lrc_reg.h"
+#include "intel_engine_regs.h"
 #include "intel_sseu.h"
 
 void intel_sseu_set_info(struct sseu_dev_info *sseu, u8 max_slices,
drivers/gpu/drm/i915/i915_perf.c +2 -2
index 385e17f167ec..f25906f19d56 100644
@@ -2420,7 +2420,7 @@ gen12_configure_all_contexts(struct i915_perf_stream *stream,
 {
 	struct flex regs[] = {
 		{
-			GEN8_R_PWR_CLK_STATE,
+			GEN8_R_PWR_CLK_STATE(RENDER_RING_BASE),
 			CTX_R_PWR_CLK_STATE,
 		},
 	};
@@ -2440,7 +2440,7 @@ lrc_configure_all_contexts(struct i915_perf_stream *stream,
 #define ctx_flexeuN(N) (ctx_flexeu0 + 2 * (N) + 1)
 	struct flex regs[] = {
 		{
-			GEN8_R_PWR_CLK_STATE,
+			GEN8_R_PWR_CLK_STATE(RENDER_RING_BASE),
 			CTX_R_PWR_CLK_STATE,
 		},
 		{
drivers/gpu/drm/i915/i915_reg.h +0 -15
index bfc54d920110..0cd690f2418a 100644
@@ -272,21 +272,6 @@
 #define GEN12_SFC_DONE(n)		_MMIO(0x1cc000 + (n) * 0x1000)
 #define GEN12_SFC_DONE_MAX		4
 
-#define GEN8_R_PWR_CLK_STATE		_MMIO(0x20C8)
-#define   GEN8_RPCS_ENABLE		(1 << 31)
-#define   GEN8_RPCS_S_CNT_ENABLE	(1 << 18)
-#define   GEN8_RPCS_S_CNT_SHIFT		15
-#define   GEN8_RPCS_S_CNT_MASK		(0x7 << GEN8_RPCS_S_CNT_SHIFT)
-#define   GEN11_RPCS_S_CNT_SHIFT	12
-#define   GEN11_RPCS_S_CNT_MASK		(0x3f << GEN11_RPCS_S_CNT_SHIFT)
-#define   GEN8_RPCS_SS_CNT_ENABLE	(1 << 11)
-#define   GEN8_RPCS_SS_CNT_SHIFT	8
-#define   GEN8_RPCS_SS_CNT_MASK		(0x7 << GEN8_RPCS_SS_CNT_SHIFT)
-#define   GEN8_RPCS_EU_MAX_SHIFT	4
-#define   GEN8_RPCS_EU_MAX_MASK		(0xf << GEN8_RPCS_EU_MAX_SHIFT)
-#define   GEN8_RPCS_EU_MIN_SHIFT	0
-#define   GEN8_RPCS_EU_MIN_MASK		(0xf << GEN8_RPCS_EU_MIN_SHIFT)
-
 #define WAIT_FOR_RC6_EXIT		_MMIO(0x20CC)
 /* HSW only */
 #define   HSW_SELECTIVE_READ_ADDRESSING_SHIFT		2
Signature · 1 line
2.34.1
author
#5 lore raw

PATCH 4/6 drm/i915: Parameterize MI_PREDICATE registers

In reply to Matt Roper

The various MI_PREDICATE registers have per-engine instances. Today we only utilize the RCS0 instance of each, but that will likely change in the future; switch to parameterized register definitions to make these easier to work with going forward.

Of special note is MI_PREDICATE_RESULT_2; we only use it in one place in the driver today in HSW-specific code. It turns out that the bspec (page 94) lists two different offsets for this register on HSW; one is in the standard location shared by all other platforms (base + 0x3bc) and the other is an unusual location (0x2214). We're using the second, non-standard offset in i915 today; that offset doesn't exist on any other platforms (and it's not even 100% clear that it's correct for HSW) so I've renamed the current non-standard definition to HSW_MI_PREDICATE_RESULT_2; the new cross-platform parameterized macro (which is still unused at the moment) uses the standard offset.

---
 drivers/gpu/drm/i915/gt/intel_engine_regs.h | 11 +++++++++++
 drivers/gpu/drm/i915/gt/intel_gt.c          |  2 +-
 drivers/gpu/drm/i915/i915_cmd_parser.c      |  4 ++--
 drivers/gpu/drm/i915/i915_perf.c            |  8 ++++----
 drivers/gpu/drm/i915/i915_reg.h             | 11 +----------
 5 files changed, 19 insertions(+), 17 deletions(-)
drivers/gpu/drm/i915/gt/intel_engine_regs.h +11 -0
index daf4a241cf77..e9fec6214073 100644
@@ -142,6 +142,17 @@
 		(REG_FIELD_PREP(CMD_CCTL_WRITE_OVERRIDE_MASK, (write) << 1) | \
 		 REG_FIELD_PREP(CMD_CCTL_READ_OVERRIDE_MASK, (read) << 1))
 
+#define MI_PREDICATE_RESULT_2(base)		_MMIO((base) + 0x3bc)
+#define   LOWER_SLICE_ENABLED			(1 << 0)
+#define   LOWER_SLICE_DISABLED			(0 << 0)
+#define MI_PREDICATE_SRC0(base)			_MMIO((base) + 0x400)
+#define MI_PREDICATE_SRC0_UDW(base)		_MMIO((base) + 0x400 + 4)
+#define MI_PREDICATE_SRC1(base)			_MMIO((base) + 0x408)
+#define MI_PREDICATE_SRC1_UDW(base)		_MMIO((base) + 0x408 + 4)
+#define MI_PREDICATE_DATA(base)			_MMIO((base) + 0x410)
+#define MI_PREDICATE_RESULT(base)		_MMIO((base) + 0x418)
+#define MI_PREDICATE_RESULT_1(base)		_MMIO((base) + 0x41c)
+
 #define RING_PP_DIR_DCLV(base)			_MMIO((base) + 0x220)
 #define   PP_DIR_DCLV_2G			0xffffffff
 #define RING_PP_DIR_BASE(base)			_MMIO((base) + 0x228)
drivers/gpu/drm/i915/gt/intel_gt.c +1 -1
index 622cdfed8a8b..3889efb3ffa4 100644
@@ -209,7 +209,7 @@ int intel_gt_init_hw(struct intel_gt *gt)
 
 	if (IS_HASWELL(i915))
 		intel_uncore_write(uncore,
-				   MI_PREDICATE_RESULT_2,
+				   HSW_MI_PREDICATE_RESULT_2,
 				   IS_HSW_GT3(i915) ?
 				   LOWER_SLICE_ENABLED : LOWER_SLICE_DISABLED);
 
drivers/gpu/drm/i915/i915_cmd_parser.c +2 -2
index 96c398051084..332b8ffb58f8 100644
@@ -611,8 +611,8 @@ static const struct drm_i915_reg_descriptor gen7_render_regs[] = {
 	REG64(PS_INVOCATION_COUNT),
 	REG64(PS_DEPTH_COUNT),
 	REG64_IDX(RING_TIMESTAMP, RENDER_RING_BASE),
-	REG64(MI_PREDICATE_SRC0),
-	REG64(MI_PREDICATE_SRC1),
+	REG64_IDX(MI_PREDICATE_SRC0, RENDER_RING_BASE),
+	REG64_IDX(MI_PREDICATE_SRC1, RENDER_RING_BASE),
 	REG32(GEN7_3DPRIM_END_OFFSET),
 	REG32(GEN7_3DPRIM_START_VERTEX),
 	REG32(GEN7_3DPRIM_VERTEX_COUNT),
drivers/gpu/drm/i915/i915_perf.c +4 -4
index f25906f19d56..aa7ee60715f8 100644
@@ -1684,7 +1684,7 @@ static int alloc_noa_wait(struct i915_perf_stream *stream)
 			stream, cs, true /* save */, CS_GPR(i),
 			INTEL_GT_SCRATCH_FIELD_PERF_CS_GPR + 8 * i, 2);
 	cs = save_restore_register(
-		stream, cs, true /* save */, MI_PREDICATE_RESULT_1,
+		stream, cs, true /* save */, MI_PREDICATE_RESULT_1(RENDER_RING_BASE),
 		INTEL_GT_SCRATCH_FIELD_PERF_PREDICATE_RESULT_1, 1);
 
 	/* First timestamp snapshot location. */
@@ -1738,7 +1738,7 @@ static int alloc_noa_wait(struct i915_perf_stream *stream)
 	 */
 	*cs++ = MI_LOAD_REGISTER_REG | (3 - 2);
 	*cs++ = i915_mmio_reg_offset(CS_GPR(JUMP_PREDICATE));
-	*cs++ = i915_mmio_reg_offset(MI_PREDICATE_RESULT_1);
+	*cs++ = i915_mmio_reg_offset(MI_PREDICATE_RESULT_1(RENDER_RING_BASE));
 
 	/* Restart from the beginning if we had timestamps roll over. */
 	*cs++ = (GRAPHICS_VER(i915) < 8 ?
@@ -1775,7 +1775,7 @@ static int alloc_noa_wait(struct i915_perf_stream *stream)
 	 */
 	*cs++ = MI_LOAD_REGISTER_REG | (3 - 2);
 	*cs++ = i915_mmio_reg_offset(CS_GPR(JUMP_PREDICATE));
-	*cs++ = i915_mmio_reg_offset(MI_PREDICATE_RESULT_1);
+	*cs++ = i915_mmio_reg_offset(MI_PREDICATE_RESULT_1(RENDER_RING_BASE));
 
 	/* Predicate the jump.  */
 	*cs++ = (GRAPHICS_VER(i915) < 8 ?
@@ -1791,7 +1791,7 @@ static int alloc_noa_wait(struct i915_perf_stream *stream)
 			stream, cs, false /* restore */, CS_GPR(i),
 			INTEL_GT_SCRATCH_FIELD_PERF_CS_GPR + 8 * i, 2);
 	cs = save_restore_register(
-		stream, cs, false /* restore */, MI_PREDICATE_RESULT_1,
+		stream, cs, false /* restore */, MI_PREDICATE_RESULT_1(RENDER_RING_BASE),
 		INTEL_GT_SCRATCH_FIELD_PERF_PREDICATE_RESULT_1, 1);
 
 	/* And return to the ring. */
drivers/gpu/drm/i915/i915_reg.h +1 -10
index 0cd690f2418a..ce732166f41a 100644
@@ -394,16 +394,7 @@
 #define VGA_CR_INDEX_CGA 0x3d4
 #define VGA_CR_DATA_CGA 0x3d5
 
-#define MI_PREDICATE_SRC0	_MMIO(0x2400)
-#define MI_PREDICATE_SRC0_UDW	_MMIO(0x2400 + 4)
-#define MI_PREDICATE_SRC1	_MMIO(0x2408)
-#define MI_PREDICATE_SRC1_UDW	_MMIO(0x2408 + 4)
-#define MI_PREDICATE_DATA       _MMIO(0x2410)
-#define MI_PREDICATE_RESULT     _MMIO(0x2418)
-#define MI_PREDICATE_RESULT_1   _MMIO(0x241c)
-#define MI_PREDICATE_RESULT_2	_MMIO(0x2214)
-#define  LOWER_SLICE_ENABLED	(1 << 0)
-#define  LOWER_SLICE_DISABLED	(0 << 0)
+#define HSW_MI_PREDICATE_RESULT_2	_MMIO(0x2214)
 
 /*
  * Registers used only by the command parser
Signature · 1 line
2.34.1
author
#6 lore raw

PATCH 5/6 drm/i915: Move GT registers to their own header file

In reply to Matt Roper

This is a huge, chaotic mass of registers copied over as-is without any real cleanup. We'll come back and organize these better, align on consistent coding style, remove dead code, etc. in separate patches later that will be easier to review.

---
 .../i915/gem/selftests/i915_gem_client_blt.c  |    3 +-
 drivers/gpu/drm/i915/gt/gen6_ppgtt.c          |    1 +
 drivers/gpu/drm/i915/gt/gen7_renderclear.c    |    1 +
 drivers/gpu/drm/i915/gt/gen8_engine_cs.c      |    3 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c     |    1 +
 .../drm/i915/gt/intel_execlists_submission.c  |    1 +
 drivers/gpu/drm/i915/gt/intel_ggtt.c          |    1 +
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c  |    1 +
 drivers/gpu/drm/i915/gt/intel_gt.c            |    1 +
 .../gpu/drm/i915/gt/intel_gt_clock_utils.c    |    1 +
 drivers/gpu/drm/i915/gt/intel_gt_irq.c        |    2 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c |    1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c     |    1 +
 drivers/gpu/drm/i915/gt/intel_gt_regs.h       | 1538 ++++++++++++++++
 drivers/gpu/drm/i915/gt/intel_gtt.c           |    1 +
 drivers/gpu/drm/i915/gt/intel_lrc.c           |    1 +
 drivers/gpu/drm/i915/gt/intel_mocs.c          |    2 +-
 drivers/gpu/drm/i915/gt/intel_rc6.c           |    1 +
 drivers/gpu/drm/i915/gt/intel_reset.c         |    2 +
 .../gpu/drm/i915/gt/intel_ring_submission.c   |    1 +
 drivers/gpu/drm/i915/gt/intel_rps.c           |    1 +
 drivers/gpu/drm/i915/gt/intel_sseu.c          |    1 +
 drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c  |    1 +
 drivers/gpu/drm/i915/gt/intel_workarounds.c   |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc.c        |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c    |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c     |    1 +
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c   |    1 +
 .../gpu/drm/i915/gt/uc/intel_guc_submission.c |    1 +
 drivers/gpu/drm/i915/gvt/cmd_parser.c         |    1 +
 drivers/gpu/drm/i915/gvt/gtt.c                |    2 +
 drivers/gpu/drm/i915/gvt/handlers.c           |    1 +
 drivers/gpu/drm/i915/gvt/mmio.c               |    2 +
 drivers/gpu/drm/i915/gvt/mmio_context.c       |    1 +
 drivers/gpu/drm/i915/gvt/scheduler.c          |    1 +
 drivers/gpu/drm/i915/i915_cmd_parser.c        |    1 +
 drivers/gpu/drm/i915/i915_debugfs.c           |    1 +
 drivers/gpu/drm/i915/i915_gpu_error.c         |    1 +
 drivers/gpu/drm/i915/i915_irq.c               |    1 +
 drivers/gpu/drm/i915/i915_perf.c              |    1 +
 drivers/gpu/drm/i915/i915_pmu.c               |    1 +
 drivers/gpu/drm/i915/i915_reg.h               | 1540 -----------------
 drivers/gpu/drm/i915/i915_sysfs.c             |    1 +
 drivers/gpu/drm/i915/intel_pm.c               |    1 +
 drivers/gpu/drm/i915/intel_uncore.c           |    1 +
 drivers/gpu/drm/i915/vlv_suspend.c            |    2 +
 46 files changed, 1588 insertions(+), 1544 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/gt/intel_gt_regs.h
drivers/gpu/drm/i915/gem/selftests/i915_gem_client_blt.c +2 -1
index c8ff8bf0986d..8f28e46e8ee5 100644
@@ -7,8 +7,9 @@
 
 #include "gt/intel_context.h"
 #include "gt/intel_engine_user.h"
-#include "gt/intel_gt.h"
 #include "gt/intel_gpu_commands.h"
+#include "gt/intel_gt.h"
+#include "gt/intel_gt_regs.h"
 #include "gem/i915_gem_lmem.h"
 
 #include "selftests/igt_flush_test.h"
drivers/gpu/drm/i915/gt/gen6_ppgtt.c +1 -0
index 92649dbd2b06..be5b953ba07b 100644
@@ -9,6 +9,7 @@
 #include "i915_scatterlist.h"
 #include "i915_trace.h"
 #include "i915_vgpu.h"
+#include "intel_gt_regs.h"
 #include "intel_engine_regs.h"
 #include "intel_gt.h"
 
drivers/gpu/drm/i915/gt/gen7_renderclear.c +1 -0
index 21f08e53889c..317efb145787 100644
@@ -6,6 +6,7 @@
 #include "gen7_renderclear.h"
 #include "i915_drv.h"
 #include "intel_gpu_commands.h"
+#include "intel_gt_regs.h"
 
 #define GT3_INLINE_DATA_DELAYS 0x1E00
 #define batch_advance(Y, CS) GEM_BUG_ON((Y)->end != (CS))
drivers/gpu/drm/i915/gt/gen8_engine_cs.c +2 -1
index e320610dd0b8..1f8cf4f790b2 100644
@@ -5,8 +5,9 @@
 
 #include "gen8_engine_cs.h"
 #include "i915_drv.h"
-#include "intel_lrc.h"
 #include "intel_gpu_commands.h"
+#include "intel_gt_regs.h"
+#include "intel_lrc.h"
 #include "intel_ring.h"
 
 int gen8_emit_flush_rcs(struct i915_request *rq, u32 mode)
drivers/gpu/drm/i915/gt/intel_engine_cs.c +1 -0
index 4317ae5e525b..731c78a4acb0 100644
@@ -6,6 +6,7 @@
 #include <drm/drm_print.h>
 
 #include "gem/i915_gem_context.h"
+#include "gt/intel_gt_regs.h"
 
 #include "i915_cmd_parser.h"
 #include "i915_drv.h"
drivers/gpu/drm/i915/gt/intel_execlists_submission.c +1 -0
index 960a9aaf4f3a..9bb7c863172f 100644
@@ -122,6 +122,7 @@
 #include "intel_gt.h"
 #include "intel_gt_irq.h"
 #include "intel_gt_pm.h"
+#include "intel_gt_regs.h"
 #include "intel_gt_requests.h"
 #include "intel_lrc.h"
 #include "intel_lrc_reg.h"
drivers/gpu/drm/i915/gt/intel_ggtt.c +1 -0
index 536b0995b595..8850d4e0f9cc 100644
@@ -15,6 +15,7 @@
 #include "gem/i915_gem_lmem.h"
 
 #include "intel_gt.h"
+#include "intel_gt_regs.h"
 #include "i915_drv.h"
 #include "i915_scatterlist.h"
 #include "i915_vgpu.h"
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +1 -0
index c52d255e8ef3..85d66bd1667f 100644
@@ -7,6 +7,7 @@
 #include "i915_scatterlist.h"
 #include "i915_pvinfo.h"
 #include "i915_vgpu.h"
+#include "intel_gt_regs.h"
 
 /**
  * DOC: fence register handling
drivers/gpu/drm/i915/gt/intel_gt.c +1 -0
index 3889efb3ffa4..2948a0c1f944 100644
@@ -16,6 +16,7 @@
 #include "intel_gt_buffer_pool.h"
 #include "intel_gt_clock_utils.h"
 #include "intel_gt_pm.h"
+#include "intel_gt_regs.h"
 #include "intel_gt_requests.h"
 #include "intel_migrate.h"
 #include "intel_mocs.h"
drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c +1 -0
index 3513d6f90747..c7321c94b956 100644
@@ -6,6 +6,7 @@
 #include "i915_drv.h"
 #include "intel_gt.h"
 #include "intel_gt_clock_utils.h"
+#include "intel_gt_regs.h"
 
 static u32 read_reference_ts_freq(struct intel_uncore *uncore)
 {
drivers/gpu/drm/i915/gt/intel_gt_irq.c +1 -1
index 699a74582d32..983264e10e0a 100644
@@ -10,7 +10,7 @@
 #include "intel_breadcrumbs.h"
 #include "intel_gt.h"
 #include "intel_gt_irq.h"
-#include "intel_lrc_reg.h"
+#include "intel_gt_regs.h"
 #include "intel_uncore.h"
 #include "intel_rps.h"
 #include "pxp/intel_pxp_irq.h"
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c +1 -0
index 6c5c1d0363bf..47ec4b2043e8 100644
@@ -12,6 +12,7 @@
 #include "intel_gt_debugfs.h"
 #include "intel_gt_pm.h"
 #include "intel_gt_pm_debugfs.h"
+#include "intel_gt_regs.h"
 #include "intel_llc.h"
 #include "intel_pcode.h"
 #include "intel_rc6.h"
drivers/gpu/drm/i915/gt/intel_gt_pm_irq.c +1 -0
index fe51f894b073..11060f5a4c89 100644
@@ -8,6 +8,7 @@
 #include "intel_gt.h"
 #include "intel_gt_irq.h"
 #include "intel_gt_pm_irq.h"
+#include "intel_gt_regs.h"
 
 static void write_pm_imr(struct intel_gt *gt)
 {
drivers/gpu/drm/i915/gt/intel_gt_regs.h new file +1538 -0

1,538 lines not on this page · raw message

drivers/gpu/drm/i915/gt/intel_gtt.c +1 -0
index 46be4197b93f..0d6bbc8c57f2 100644
@@ -13,6 +13,7 @@
 #include "gem/i915_gem_lmem.h"
 #include "i915_trace.h"
 #include "intel_gt.h"
+#include "intel_gt_regs.h"
 #include "intel_gtt.h"
 
 struct drm_i915_gem_object *alloc_pt_lmem(struct i915_address_space *vm, int sz)
drivers/gpu/drm/i915/gt/intel_lrc.c +1 -0
index 89a95a125fc8..c23dd70d606d 100644
@@ -12,6 +12,7 @@
 #include "intel_engine_regs.h"
 #include "intel_gpu_commands.h"
 #include "intel_gt.h"
+#include "intel_gt_regs.h"
 #include "intel_lrc.h"
 #include "intel_lrc_reg.h"
 #include "intel_ring.h"
drivers/gpu/drm/i915/gt/intel_mocs.c +1 -1
index 9c253ba593c6..c4c37585ae8c 100644
@@ -7,7 +7,7 @@
 
 #include "intel_engine.h"
 #include "intel_gt.h"
-#include "intel_lrc_reg.h"
+#include "intel_gt_regs.h"
 #include "intel_mocs.h"
 #include "intel_ring.h"
 
drivers/gpu/drm/i915/gt/intel_rc6.c +1 -0
index bb0d6e363f5d..5458e6606301 100644
@@ -10,6 +10,7 @@
 #include "intel_engine_regs.h"
 #include "intel_gt.h"
 #include "intel_gt_pm.h"
+#include "intel_gt_regs.h"
 #include "intel_pcode.h"
 #include "intel_rc6.h"
 
drivers/gpu/drm/i915/gt/intel_reset.c +2 -0
index 6f2821cca409..59beb69ff6f2 100644
@@ -11,6 +11,8 @@
 
 #include "gem/i915_gem_context.h"
 
+#include "gt/intel_gt_regs.h"
+
 #include "i915_drv.h"
 #include "i915_gpu_error.h"
 #include "i915_irq.h"
drivers/gpu/drm/i915/gt/intel_ring_submission.c +1 -0
index a2b7be1d4f5c..8362eb09092e 100644
@@ -14,6 +14,7 @@
 #include "intel_engine_regs.h"
 #include "intel_gt.h"
 #include "intel_gt_irq.h"
+#include "intel_gt_regs.h"
 #include "intel_reset.h"
 #include "intel_ring.h"
 #include "shmem_utils.h"
drivers/gpu/drm/i915/gt/intel_rps.c +1 -0
index 8a13bc005b45..0cb299cdfc8f 100644
@@ -12,6 +12,7 @@
 #include "intel_gt_clock_utils.h"
 #include "intel_gt_irq.h"
 #include "intel_gt_pm_irq.h"
+#include "intel_gt_regs.h"
 #include "intel_pcode.h"
 #include "intel_rps.h"
 #include "vlv_sideband.h"
drivers/gpu/drm/i915/gt/intel_sseu.c +1 -0
index f161087f30d0..29118c652811 100644
@@ -5,6 +5,7 @@
 
 #include "i915_drv.h"
 #include "intel_engine_regs.h"
+#include "intel_gt_regs.h"
 #include "intel_sseu.h"
 
 void intel_sseu_set_info(struct sseu_dev_info *sseu, u8 max_slices,
drivers/gpu/drm/i915/gt/intel_sseu_debugfs.c +1 -0
index 8bb3a91dad82..903626f106ea 100644
@@ -6,6 +6,7 @@
 
 #include "i915_drv.h"
 #include "intel_gt_debugfs.h"
+#include "intel_gt_regs.h"
 #include "intel_sseu_debugfs.h"
 
 static void sseu_copy_subslices(const struct sseu_dev_info *sseu,
drivers/gpu/drm/i915/gt/intel_workarounds.c +1 -0
index 6a4372c3a3c5..59ad23118875 100644
@@ -9,6 +9,7 @@
 #include "intel_engine_regs.h"
 #include "intel_gpu_commands.h"
 #include "intel_gt.h"
+#include "intel_gt_regs.h"
 #include "intel_ring.h"
 #include "intel_workarounds.h"
 
drivers/gpu/drm/i915/gt/uc/intel_guc.c +1 -0
index ba2a67f9e500..447a976c9f25 100644
@@ -7,6 +7,7 @@
 #include "gt/intel_gt.h"
 #include "gt/intel_gt_irq.h"
 #include "gt/intel_gt_pm_irq.h"
+#include "gt/intel_gt_regs.h"
 #include "intel_guc.h"
 #include "intel_guc_slpc.h"
 #include "intel_guc_ads.h"
drivers/gpu/drm/i915/gt/uc/intel_guc_ads.c +1 -0
index 668bf4ac9b0c..e61150adcbe9 100644
@@ -7,6 +7,7 @@
 
 #include "gt/intel_engine_regs.h"
 #include "gt/intel_gt.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_lrc.h"
 #include "gt/shmem_utils.h"
 #include "intel_guc_ads.h"
drivers/gpu/drm/i915/gt/uc/intel_guc_fw.c +1 -0
index f773e7f35bc1..403dfa35790a 100644
@@ -10,6 +10,7 @@
  */
 
 #include "gt/intel_gt.h"
+#include "gt/intel_gt_regs.h"
 #include "intel_guc_fw.h"
 #include "i915_drv.h"
 
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c +1 -0
index 13b27b8ff74e..57ae9ac98505 100644
@@ -6,6 +6,7 @@
 #include "i915_drv.h"
 #include "intel_guc_slpc.h"
 #include "gt/intel_gt.h"
+#include "gt/intel_gt_regs.h"
 
 static inline struct intel_guc *slpc_to_guc(struct intel_guc_slpc *slpc)
 {
drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c +1 -0
index 3918f1be114f..9e6a9cf58f29 100644
@@ -17,6 +17,7 @@
 #include "gt/intel_gt_clock_utils.h"
 #include "gt/intel_gt_irq.h"
 #include "gt/intel_gt_pm.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_gt_requests.h"
 #include "gt/intel_lrc.h"
 #include "gt/intel_lrc_reg.h"
drivers/gpu/drm/i915/gvt/cmd_parser.c +1 -0
index ec18122cc216..2459213b6c87 100644
@@ -39,6 +39,7 @@
 #include "i915_drv.h"
 #include "gt/intel_engine_regs.h"
 #include "gt/intel_gpu_commands.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_lrc.h"
 #include "gt/intel_ring.h"
 #include "gt/intel_gt_requests.h"
drivers/gpu/drm/i915/gvt/gtt.c +2 -0
index 2aeaf8fd68f0..28a94c3dc991 100644
@@ -38,6 +38,8 @@
 #include "i915_pvinfo.h"
 #include "trace.h"
 
+#include "gt/intel_gt_regs.h"
+
 #if defined(VERBOSE_DEBUG)
 #define gvt_vdbg_mm(fmt, args...) gvt_dbg_mm(fmt, ##args)
 #else
drivers/gpu/drm/i915/gvt/handlers.c +1 -0
index 9f8ae6776e98..3eb9961f6b29 100644
@@ -41,6 +41,7 @@
 #include "i915_pvinfo.h"
 #include "display/intel_display_types.h"
 #include "display/intel_fbc.h"
+#include "gt/intel_gt_regs.h"
 
 /* XXX FIXME i915 has changed PP_XXX definition */
 #define PCH_PP_STATUS  _MMIO(0xc7200)
drivers/gpu/drm/i915/gvt/mmio.c +2 -0
index 24210b1eaec5..0215e1ea621d 100644
@@ -36,6 +36,8 @@
 #include "i915_drv.h"
 #include "gvt.h"
 
+#include "gt/intel_gt_regs.h"
+
 /**
  * intel_vgpu_gpa_to_mmio_offset - translate a GPA to MMIO offset
  * @vgpu: a vGPU
drivers/gpu/drm/i915/gvt/mmio_context.c +1 -0
index 99d3534d2bd8..c85bafe7539e 100644
@@ -37,6 +37,7 @@
 #include "gt/intel_context.h"
 #include "gt/intel_engine_regs.h"
 #include "gt/intel_gpu_commands.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_ring.h"
 #include "gvt.h"
 #include "trace.h"
drivers/gpu/drm/i915/gvt/scheduler.c +1 -0
index ecd90dbd9544..679476da0640 100644
@@ -38,6 +38,7 @@
 #include "gem/i915_gem_pm.h"
 #include "gt/intel_context.h"
 #include "gt/intel_execlists_submission.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_lrc.h"
 #include "gt/intel_ring.h"
 
drivers/gpu/drm/i915/i915_cmd_parser.c +1 -0
index 332b8ffb58f8..b394b3c3e073 100644
@@ -28,6 +28,7 @@
 #include "gt/intel_engine.h"
 #include "gt/intel_engine_regs.h"
 #include "gt/intel_gpu_commands.h"
+#include "gt/intel_gt_regs.h"
 
 #include "i915_cmd_parser.h"
 #include "i915_drv.h"
drivers/gpu/drm/i915/i915_debugfs.c +1 -0
index f3141b58d912..ca52ee0742ce 100644
@@ -38,6 +38,7 @@
 #include "gt/intel_gt_debugfs.h"
 #include "gt/intel_gt_pm.h"
 #include "gt/intel_gt_pm_debugfs.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_gt_requests.h"
 #include "gt/intel_rc6.h"
 #include "gt/intel_reset.h"
drivers/gpu/drm/i915/i915_gpu_error.c +1 -0
index 67f3515f07e7..1f2a840462c0 100644
@@ -44,6 +44,7 @@
 #include "gt/intel_engine_regs.h"
 #include "gt/intel_gt.h"
 #include "gt/intel_gt_pm.h"
+#include "gt/intel_gt_regs.h"
 
 #include "i915_drv.h"
 #include "i915_gpu_error.h"
drivers/gpu/drm/i915/i915_irq.c +1 -0
index 21f75b069fa8..4d6413220428 100644
@@ -46,6 +46,7 @@
 #include "gt/intel_gt.h"
 #include "gt/intel_gt_irq.h"
 #include "gt/intel_gt_pm_irq.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_rps.h"
 
 #include "i915_drv.h"
drivers/gpu/drm/i915/i915_perf.c +1 -0
index aa7ee60715f8..d90ec8156bd4 100644
@@ -203,6 +203,7 @@
 #include "gt/intel_gpu_commands.h"
 #include "gt/intel_gt.h"
 #include "gt/intel_gt_clock_utils.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_lrc.h"
 #include "gt/intel_ring.h"
 
drivers/gpu/drm/i915/i915_pmu.c +1 -0
index bf93f9720e0a..cfc21042499d 100644
@@ -11,6 +11,7 @@
 #include "gt/intel_engine_regs.h"
 #include "gt/intel_engine_user.h"
 #include "gt/intel_gt_pm.h"
+#include "gt/intel_gt_regs.h"
 #include "gt/intel_rc6.h"
 #include "gt/intel_rps.h"
 
drivers/gpu/drm/i915/i915_reg.h +0 -1540

1,171 lines not on this page · raw message

drivers/gpu/drm/i915/i915_sysfs.c +1 -0
index fae4d1f4f275..a4d1759375b9 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/i915/intel_pm.c +1 -0
index 2ec8e48806b6..70be1977a0ca 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/i915/intel_uncore.c +1 -0
index 41d082213e81..774fcba33a1d 100644

Lines of this file are not shown. View the raw message.

drivers/gpu/drm/i915/vlv_suspend.c +2 -0
index 23adb64d640a..1d9da32195c2 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Signature · 1 line
2.34.1

Part of the diff is not shown here. View the raw message.

#7 lore raw

Re: [Intel-gfx] [PATCH 5/6] drm/i915: Move GT registers to their own header file

Thank you for the patch! Yet something to improve:

Hi Matt,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on drm-tip/drm-tip]
[cannot apply to drm-intel/for-linux-next v5.16 next-20220120] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Matt-Roper/Second-round-of-i915_reg-h-splitting/20220120-144038
base:   git://anongit.freedesktop.org/drm/drm-tip drm-tip
config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20220120/202201201838.YQUqtmJI-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f7b7138a62648f4019c55e4671682af1f851f295)

reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross
# https://github.com/0day-ci/linux/commit/d7a6d230bd959372cab764baec5407256725e48b
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matt-Roper/Second-round-of-i915_reg-h-splitting/20220120-144038
git checkout d7a6d230bd959372cab764baec5407256725e48b
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/gpu/drm/i915/

If you fix the issue, kindly add following tag as appropriate

All errors (new ones prefixed by >>):

>> drivers/gpu/drm/i915/pxp/intel_pxp_irq.c:51:29: error: use of undeclared identifier 'GEN11_CRYPTO_RSVD_INTR_ENABLE'
           intel_uncore_write(uncore, GEN11_CRYPTO_RSVD_INTR_ENABLE, mask);
                                      ^
>> drivers/gpu/drm/i915/pxp/intel_pxp_irq.c:52:29: error: use of undeclared identifier 'GEN11_CRYPTO_RSVD_INTR_MASK'
           intel_uncore_write(uncore, GEN11_CRYPTO_RSVD_INTR_MASK,  ~mask);
                                      ^
>> drivers/gpu/drm/i915/pxp/intel_pxp_irq.c:58:32: error: use of undeclared identifier 'GEN11_KCR'
           gen11_gt_reset_one_iir(gt, 0, GEN11_KCR);
                                         ^
   drivers/gpu/drm/i915/pxp/intel_pxp_irq.c:69:46: error: use of undeclared identifier 'GEN11_KCR'
                   WARN_ON_ONCE(gen11_gt_reset_one_iir(gt, 0, GEN11_KCR));
                                                              ^

4 errors generated.

vim +/GEN11_CRYPTO_RSVD_INTR_ENABLE +51 drivers/gpu/drm/i915/pxp/intel_pxp_irq.c

2ae096872a2c61 Huang, Sean Z 2021-09-24  45  
2ae096872a2c61 Huang, Sean Z 2021-09-24  46  static inline void __pxp_set_interrupts(struct intel_gt *gt, u32 interrupts)
2ae096872a2c61 Huang, Sean Z 2021-09-24  47  {
2ae096872a2c61 Huang, Sean Z 2021-09-24  48  	struct intel_uncore *uncore = gt->uncore;
2ae096872a2c61 Huang, Sean Z 2021-09-24  49  	const u32 mask = interrupts << 16;
2ae096872a2c61 Huang, Sean Z 2021-09-24  50  
2ae096872a2c61 Huang, Sean Z 2021-09-24 @51  	intel_uncore_write(uncore, GEN11_CRYPTO_RSVD_INTR_ENABLE, mask);
2ae096872a2c61 Huang, Sean Z 2021-09-24 @52  	intel_uncore_write(uncore, GEN11_CRYPTO_RSVD_INTR_MASK,  ~mask);
2ae096872a2c61 Huang, Sean Z 2021-09-24  53  }
2ae096872a2c61 Huang, Sean Z 2021-09-24  54  
2ae096872a2c61 Huang, Sean Z 2021-09-24  55  static inline void pxp_irq_reset(struct intel_gt *gt)
2ae096872a2c61 Huang, Sean Z 2021-09-24  56  {
2ae096872a2c61 Huang, Sean Z 2021-09-24  57  	spin_lock_irq(&gt->irq_lock);
2ae096872a2c61 Huang, Sean Z 2021-09-24 @58  	gen11_gt_reset_one_iir(gt, 0, GEN11_KCR);
2ae096872a2c61 Huang, Sean Z 2021-09-24  59  	spin_unlock_irq(&gt->irq_lock);
2ae096872a2c61 Huang, Sean Z 2021-09-24  60  }

2ae096872a2c61 Huang, Sean Z 2021-09-24 61

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

author
#8 lore raw

PATCH 6/6 drm/i915: Only include i915_reg.h from .c files

In reply to Matt Roper

Several of our i915 header files, have been including i915_reg.h. This means that any change to i915_reg.h will trigger a full rebuild of pretty much every file of the driver, even those that don't have any kind of register access. Let's delete the i915_reg.h include from all headers and include an explicit include from the .c files that truly need the register definitions; those that need a definition of i915_reg_t for a function definition can get it from i915_reg_defs.h instead.

We also remove two non-register #define's (VLV_DISPLAY_BASE and GEN12_SFC_DONE_MAX) into i915_reg_defs.h to allow us to drop the i915_reg.h include from a couple of headers.

There's probably a lot more header dependency optimization possible, but the changes here roughly cut the number of files compiled after 'touch i915_reg.h' in half --- a good first step.

---
 drivers/gpu/drm/i915/display/g4x_hdmi.h               | 2 +-
 drivers/gpu/drm/i915/display/intel_atomic.c           | 1 +
 drivers/gpu/drm/i915/display/intel_bios.c             | 1 +
 drivers/gpu/drm/i915/display/intel_bw.c               | 1 +
 drivers/gpu/drm/i915/display/intel_crt.h              | 2 +-
 drivers/gpu/drm/i915/display/intel_ddi.h              | 2 +-
 drivers/gpu/drm/i915/display/intel_de.h               | 1 -
 drivers/gpu/drm/i915/display/intel_display_power.h    | 1 -
 drivers/gpu/drm/i915/display/intel_dmc.h              | 2 +-
 drivers/gpu/drm/i915/display/intel_dp.h               | 2 --
 drivers/gpu/drm/i915/display/intel_dsb.h              | 2 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c          | 1 +
 drivers/gpu/drm/i915/display/intel_dvo_dev.h          | 2 +-
 drivers/gpu/drm/i915/display/intel_hdmi.h             | 2 --
 drivers/gpu/drm/i915/display/intel_lvds.h             | 2 +-
 drivers/gpu/drm/i915/display/intel_sdvo.h             | 2 +-
 drivers/gpu/drm/i915/display/intel_tc.c               | 1 +
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c            | 1 +
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c            | 1 +
 drivers/gpu/drm/i915/gt/gen2_engine_cs.c              | 1 +
 drivers/gpu/drm/i915/gt/intel_engine.h                | 1 -
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c          | 1 +
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c        | 1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c         | 1 +
 drivers/gpu/drm/i915/gt/intel_llc.c                   | 1 +
 drivers/gpu/drm/i915/gt/intel_rc6.c                   | 1 +
 drivers/gpu/drm/i915/gt/intel_rc6.h                   | 2 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c           | 1 +
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h     | 2 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h | 1 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h            | 2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c           | 1 +
 drivers/gpu/drm/i915/gt/uc/intel_huc.h                | 2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c              | 1 +
 drivers/gpu/drm/i915/gvt/aperture_gm.c                | 1 +
 drivers/gpu/drm/i915/gvt/display.c                    | 1 +
 drivers/gpu/drm/i915/gvt/dmabuf.c                     | 1 +
 drivers/gpu/drm/i915/gvt/edid.c                       | 1 +
 drivers/gpu/drm/i915/gvt/fb_decoder.c                 | 1 +
 drivers/gpu/drm/i915/gvt/handlers.c                   | 1 +
 drivers/gpu/drm/i915/gvt/interrupt.c                  | 1 +
 drivers/gpu/drm/i915/gvt/interrupt.h                  | 2 +-
 drivers/gpu/drm/i915/gvt/mmio.c                       | 1 +
 drivers/gpu/drm/i915/gvt/mmio_context.h               | 1 -
 drivers/gpu/drm/i915/i915_cmd_parser.c                | 1 +
 drivers/gpu/drm/i915/i915_drv.h                       | 1 -
 drivers/gpu/drm/i915/i915_pci.c                       | 1 +
 drivers/gpu/drm/i915/i915_perf_types.h                | 2 +-
 drivers/gpu/drm/i915/i915_reg.h                       | 3 ---
 drivers/gpu/drm/i915/i915_reg_defs.h                  | 4 ++++
 drivers/gpu/drm/i915/intel_dram.c                     | 1 +
 drivers/gpu/drm/i915/intel_pcode.c                    | 1 +
 drivers/gpu/drm/i915/intel_pm.h                       | 1 -
 drivers/gpu/drm/i915/intel_sbi.c                      | 1 +
 drivers/gpu/drm/i915/intel_uncore.h                   | 2 +-
 drivers/gpu/drm/i915/vlv_sideband.c                   | 1 +
 56 files changed, 49 insertions(+), 29 deletions(-)
drivers/gpu/drm/i915/display/g4x_hdmi.h +1 -1
index 7aca14b602c6..db9a93bc9321 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum port;
 struct drm_i915_private;
drivers/gpu/drm/i915/display/intel_atomic.c +1 -0
index 1080741d1561..093904065112 100644
@@ -35,6 +35,7 @@
 #include <drm/drm_plane_helper.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_atomic.h"
 #include "intel_cdclk.h"
 #include "intel_display_types.h"
drivers/gpu/drm/i915/display/intel_bios.c +1 -0
index 7d04572dd18b..a0b818b127df 100644
@@ -32,6 +32,7 @@
 #include "display/intel_gmbus.h"
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 
 #define _INTEL_BIOS_PRIVATE
 #include "intel_vbt_defs.h"
drivers/gpu/drm/i915/display/intel_bw.c +1 -0
index c35bad21b657..5dce3cf0ed12 100644
@@ -5,6 +5,7 @@
 
 #include <drm/drm_atomic_state_helper.h>
 
+#include "i915_reg.h"
 #include "intel_atomic.h"
 #include "intel_bw.h"
 #include "intel_cdclk.h"
drivers/gpu/drm/i915/display/intel_crt.h +1 -1
index 6c5c44600cbd..c6071efd93ce 100644
@@ -6,7 +6,7 @@
 #ifndef __INTEL_CRT_H__
 #define __INTEL_CRT_H__
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum pipe;
 struct drm_encoder;
drivers/gpu/drm/i915/display/intel_ddi.h +1 -1
index c2fea6562917..d39076facdce 100644
@@ -6,7 +6,7 @@
 #ifndef __INTEL_DDI_H__
 #define __INTEL_DDI_H__
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct drm_connector_state;
 struct drm_i915_private;
drivers/gpu/drm/i915/display/intel_de.h +0 -1
index 9d8c177aa228..9c104f65e4c8 100644
@@ -7,7 +7,6 @@
 #define __INTEL_DE_H__
 
 #include "i915_drv.h"
-#include "i915_reg.h"
 #include "i915_trace.h"
 #include "intel_uncore.h"
 
drivers/gpu/drm/i915/display/intel_display_power.h +0 -1
index 686d18eaa24c..930be3a0f8ef 100644
@@ -7,7 +7,6 @@
 #define __INTEL_DISPLAY_POWER_H__
 
 #include "intel_runtime_pm.h"
-#include "i915_reg.h"
 
 enum dpio_channel;
 enum dpio_phy;
drivers/gpu/drm/i915/display/intel_dmc.h +1 -1
index b20f3441ca60..7c590309a3a9 100644
@@ -6,7 +6,7 @@
 #ifndef __INTEL_DMC_H__
 #define __INTEL_DMC_H__
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 #include "intel_wakeref.h"
 #include <linux/workqueue.h>
 
drivers/gpu/drm/i915/display/intel_dp.h +0 -2
index b64145a3869a..d457e17bdc57 100644
@@ -8,8 +8,6 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
-
 enum intel_output_format;
 enum pipe;
 enum port;
drivers/gpu/drm/i915/display/intel_dsb.h +1 -1
index 654a11f24b80..6cb9c580cdca 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct intel_crtc_state;
 struct i915_vma;
drivers/gpu/drm/i915/display/intel_dsi_vbt.c +1 -0
index da0bd056f3d3..a85574c413e8 100644
@@ -39,6 +39,7 @@
 #include <video/mipi_display.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_display_types.h"
 #include "intel_dsi.h"
 #include "intel_dsi_vbt.h"
drivers/gpu/drm/i915/display/intel_dvo_dev.h +1 -1
index 94a6ae1e0292..d96c3cc46e50 100644
@@ -27,7 +27,7 @@
 
 #include <drm/drm_crtc.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct intel_dvo_device {
 	const char *name;
drivers/gpu/drm/i915/display/intel_hdmi.h +0 -2
index 2bf440eb400a..ab3ae245eb66 100644
@@ -9,8 +9,6 @@
 #include <linux/hdmi.h>
 #include <linux/types.h>
 
-#include "i915_reg.h"
-
 struct drm_connector;
 struct drm_encoder;
 struct drm_i915_private;
drivers/gpu/drm/i915/display/intel_lvds.h +1 -1
index bc9c8b84ba2f..9d3372dc503f 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum pipe;
 struct drm_i915_private;
drivers/gpu/drm/i915/display/intel_sdvo.h +1 -1
index 72065e4360d5..2868852c85f2 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct drm_i915_private;
 enum pipe;
drivers/gpu/drm/i915/display/intel_tc.c +1 -0
index 4eefe7b0bb26..e5b8b52025de 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_display.h"
 #include "intel_display_types.h"
 #include "intel_dp_mst.h"
drivers/gpu/drm/i915/gem/i915_gem_stolen.c +1 -0
index 26975d857776..1de73a644965 100644
@@ -14,6 +14,7 @@
 #include "gem/i915_gem_region.h"
 #include "i915_drv.h"
 #include "i915_gem_stolen.h"
+#include "i915_reg.h"
 #include "i915_vgpu.h"
 
 /*
drivers/gpu/drm/i915/gem/i915_gem_tiling.c +1 -0
index f37ba4f54979..d6adda5bf96b 100644
@@ -13,6 +13,7 @@
 #include "i915_gem_mman.h"
 #include "i915_gem_object.h"
 #include "i915_gem_tiling.h"
+#include "i915_reg.h"
 
 /**
  * DOC: buffer object tiling
drivers/gpu/drm/i915/gt/gen2_engine_cs.c +1 -0
index e0e8d228b31f..1c82caf525c3 100644
@@ -5,6 +5,7 @@
 
 #include "gen2_engine_cs.h"
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_engine.h"
 #include "intel_engine_regs.h"
 #include "intel_gpu_commands.h"
drivers/gpu/drm/i915/gt/intel_engine.h +0 -1
index 08559ace0ada..0e353d8c2bc8 100644
@@ -11,7 +11,6 @@
 #include <linux/seqlock.h>
 
 #include "i915_pmu.h"
-#include "i915_reg.h"
 #include "i915_request.h"
 #include "i915_selftest.h"
 #include "intel_engine_types.h"
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +1 -0
index 85d66bd1667f..ee4049ee1fc9 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "i915_scatterlist.h"
 #include "i915_pvinfo.h"
 #include "i915_vgpu.h"
drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c +1 -0
index c7321c94b956..0db822c3b7e5 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_gt.h"
 #include "intel_gt_clock_utils.h"
 #include "intel_gt_regs.h"
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c +1 -0
index 47ec4b2043e8..4e448c13a64c 100644
@@ -7,6 +7,7 @@
 #include <linux/seq_file.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_gt.h"
 #include "intel_gt_clock_utils.h"
 #include "intel_gt_debugfs.h"
drivers/gpu/drm/i915/gt/intel_llc.c +1 -0
index 63f18830c611..335c65758d6f 100644
@@ -7,6 +7,7 @@
 #include <linux/cpufreq.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_gt.h"
 #include "intel_llc.h"
 #include "intel_pcode.h"
drivers/gpu/drm/i915/gt/intel_rc6.c +1 -0
index 5458e6606301..6df359c534fe 100644
@@ -6,6 +6,7 @@
 #include <linux/pm_runtime.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "i915_vgpu.h"
 #include "intel_engine_regs.h"
 #include "intel_gt.h"
drivers/gpu/drm/i915/gt/intel_rc6.h +1 -1
index e119ec4a0bcc..b6fea71afc22 100644
@@ -6,7 +6,7 @@
 #ifndef INTEL_RC6_H
 #define INTEL_RC6_H
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct intel_engine_cs;
 struct intel_rc6;
drivers/gpu/drm/i915/gt/intel_region_lmem.c +1 -0
index 21215a080088..cb3f66707b21 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_memory_region.h"
 #include "intel_region_lmem.h"
 #include "intel_region_ttm.h"
drivers/gpu/drm/i915/gt/intel_workarounds_types.h +1 -1
index 1e873681795d..8a4b6de4e754 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct i915_wa {
 	i915_reg_t	reg;
drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h +0 -1
index 7a8d4bfc5f6a..62cb4254a77a 100644
@@ -7,7 +7,6 @@
 #define _GUC_ACTIONS_SLPC_ABI_H_
 
 #include <linux/types.h>
-#include "i915_reg.h"
 
 /**
  * DOC: SLPC SHARED DATA STRUCTURE
drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h +1 -1
index e6bd66d6ce5a..aa057ac7e346 100644
@@ -9,7 +9,7 @@
 #include <linux/compiler.h>
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 /* Definitions of GuC H/W registers, bits, etc */
 
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c +1 -0
index 57ae9ac98505..ddbea939b1dc 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_guc_slpc.h"
 #include "gt/intel_gt.h"
 #include "gt/intel_gt_regs.h"
drivers/gpu/drm/i915/gt/uc/intel_huc.h +1 -1
index ae8c8a6c8cc8..73ec670800f2 100644
@@ -6,7 +6,7 @@
 #ifndef _INTEL_HUC_H_
 #define _INTEL_HUC_H_
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 #include "intel_uc_fw.h"
 #include "intel_huc_fw.h"
 
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +1 -0
index 62db14d41042..ba4f0970749b 100644
@@ -11,6 +11,7 @@
 #include "intel_uc_fw.h"
 #include "intel_uc_fw_abi.h"
 #include "i915_drv.h"
+#include "i915_reg.h"
 
 static inline struct intel_gt *
 ____uc_fw_to_gt(struct intel_uc_fw *uc_fw, enum intel_uc_fw_type type)
drivers/gpu/drm/i915/gvt/aperture_gm.c +1 -0
index c08098a167e9..557f3314291a 100644
@@ -35,6 +35,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gt/intel_ggtt_fencing.h"
 #include "gvt.h"
 
drivers/gpu/drm/i915/gvt/display.c +1 -0
index 8ce5d2b2e330..54bfb0f928cd 100644
@@ -33,6 +33,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 
 static int get_edp_pipe(struct intel_vgpu *vgpu)
drivers/gpu/drm/i915/gvt/dmabuf.c +1 -0
index 8882843bf7ab..6dd3757cdf87 100644
@@ -32,6 +32,7 @@
 #include <linux/vfio.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 
 #define GEN8_DECODE_PTE(pte) (pte & GENMASK_ULL(63, 12))
drivers/gpu/drm/i915/gvt/edid.c +1 -0
index 22247805c345..a30ba2d7b7ba 100644
@@ -33,6 +33,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 
 #define GMBUS1_TOTAL_BYTES_SHIFT 16
drivers/gpu/drm/i915/gvt/fb_decoder.c +1 -0
index 40ace46bad46..c81f232d05a8 100644
@@ -37,6 +37,7 @@
 #include "i915_drv.h"
 #include "gvt.h"
 #include "i915_pvinfo.h"
+#include "i915_reg.h"
 
 #define PRIMARY_FORMAT_NUM	16
 struct pixel_format {
drivers/gpu/drm/i915/gvt/handlers.c +1 -0
index 3eb9961f6b29..5476642a70fb 100644
@@ -37,6 +37,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 #include "i915_pvinfo.h"
 #include "display/intel_display_types.h"
drivers/gpu/drm/i915/gvt/interrupt.c +1 -0
index 9ccc6b1ecc28..228f623d466d 100644
@@ -30,6 +30,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 #include "trace.h"
 
drivers/gpu/drm/i915/gvt/interrupt.h +1 -1
index 0989e180ed54..b62f04ab47cb 100644
@@ -35,7 +35,7 @@
 #include <linux/hrtimer.h>
 #include <linux/kernel.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum intel_gvt_event_type {
 	RCS_MI_USER_INTERRUPT = 0,
drivers/gpu/drm/i915/gvt/mmio.c +1 -0
index 0215e1ea621d..5db0ef83d522 100644
@@ -34,6 +34,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 
 #include "gt/intel_gt_regs.h"
drivers/gpu/drm/i915/gvt/mmio_context.h +0 -1
index 128fd7f4d509..9540813b88e5 100644
@@ -41,7 +41,6 @@
 #include "gt/intel_engine_regs.h"
 #include "gt/intel_engine_types.h"
 #include "gt/intel_lrc_reg.h"
-#include "i915_reg.h"
 
 struct i915_request;
 struct intel_context;
drivers/gpu/drm/i915/i915_cmd_parser.c +1 -0
index b394b3c3e073..aea4c30645ff 100644
@@ -33,6 +33,7 @@
 #include "i915_cmd_parser.h"
 #include "i915_drv.h"
 #include "i915_memcpy.h"
+#include "i915_reg.h"
 
 /**
  * DOC: batch buffer command parser
drivers/gpu/drm/i915/i915_drv.h +0 -1
index 890f1f6fbc49..e969a5ca5038 100644
@@ -61,7 +61,6 @@
 #include <drm/ttm/ttm_device.h>
 
 #include "i915_params.h"
-#include "i915_reg.h"
 #include "i915_utils.h"
 
 #include "display/intel_bios.h"
drivers/gpu/drm/i915/i915_pci.c +1 -0
index 8261b6455747..189d3bb8955a 100644
@@ -28,6 +28,7 @@
 #include "i915_driver.h"
 #include "i915_drv.h"
 #include "i915_pci.h"
+#include "i915_reg.h"
 
 #define PLATFORM(x) .platform = (x)
 #define GEN(x) \
drivers/gpu/drm/i915/i915_perf_types.h +1 -1
index aa14354a5120..473a3c0544bb 100644
@@ -18,7 +18,7 @@
 #include <uapi/drm/i915_drm.h>
 
 #include "gt/intel_sseu.h"
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 #include "intel_wakeref.h"
 
 struct drm_i915_private;
drivers/gpu/drm/i915/i915_reg.h +0 -3
index 5e283bdb3ab7..f51751f9c8d8 100644
@@ -115,7 +115,6 @@
  *  #define GEN8_BAR                    _MMIO(0xb888)
  */
 
-#define VLV_DISPLAY_BASE		0x180000
 #define VLV_MIPI_BASE			VLV_DISPLAY_BASE
 #define BXT_MIPI_BASE			0x60000
 
@@ -189,8 +188,6 @@
 #define _MASKED_BIT_ENABLE(a)	({ typeof(a) _a = (a); _MASKED_FIELD(_a, _a); })
 #define _MASKED_BIT_DISABLE(a)	(_MASKED_FIELD((a), 0))
 
-#define GEN12_SFC_DONE_MAX		4
-
 #define GU_CNTL				_MMIO(0x101010)
 #define   LMEM_INIT			REG_BIT(7)
 
drivers/gpu/drm/i915/i915_reg_defs.h +4 -0
index 6ee51d4a233a..34d37bbf08cd 100644
@@ -94,4 +94,8 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 	return !i915_mmio_reg_equal(reg, INVALID_MMIO_REG);
 }
 
+#define VLV_DISPLAY_BASE		0x180000
+
+#define GEN12_SFC_DONE_MAX		4
+
 #endif /* __I915_REG_DEFS__ */
drivers/gpu/drm/i915/intel_dram.c +1 -0
index 3e26ccabf7f9..723bd0411a0e 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_dram.h"
 #include "intel_pcode.h"
 
drivers/gpu/drm/i915/intel_pcode.c +1 -0
index db4403f63cac..391a37492ce5 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_pcode.h"
 
 static int gen6_check_mailbox_status(u32 mbox)
drivers/gpu/drm/i915/intel_pm.h +0 -1
index 990cdcaf85ce..ae821e35d5fc 100644
@@ -12,7 +12,6 @@
 #include "display/intel_global_state.h"
 
 #include "i915_drv.h"
-#include "i915_reg.h"
 
 struct drm_device;
 struct drm_i915_private;
drivers/gpu/drm/i915/intel_sbi.c +1 -0
index 5ba8490a31e6..5c6e517c73f4 100644
@@ -7,6 +7,7 @@
 
 #include "i915_drv.h"
 #include "intel_sbi.h"
+#include "i915_reg.h"
 
 /* SBI access */
 static int intel_sbi_rw(struct drm_i915_private *i915, u16 reg,
drivers/gpu/drm/i915/intel_uncore.h +1 -1
index 210fe2a71612..785063025ec8 100644
@@ -30,7 +30,7 @@
 #include <linux/hrtimer.h>
 #include <linux/io-64-nonatomic-lo-hi.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct drm_i915_private;
 struct intel_runtime_pm;
drivers/gpu/drm/i915/vlv_sideband.c +1 -0
index ed2ac5752ac4..c26001300ebd 100644
@@ -5,6 +5,7 @@
 
 #include "i915_drv.h"
 #include "i915_iosf_mbi.h"
+#include "i915_reg.h"
 #include "vlv_sideband.h"
 
 /*
Signature · 1 line
2.34.1
Acked-by on v1 6/6
#9 lore raw

Re: [Intel-gfx] [PATCH 6/6] drm/i915: Only include i915_reg.h from .c files

Quoted 9 lines · Matt Roper

Several of our i915 header files, have been including i915_reg.h. This means that any change to i915_reg.h will trigger a full rebuild of pretty much every file of the driver, even those that don't have any kind of register access. Let's delete the i915_reg.h include from all headers and include an explicit include from the .c files that truly need the register definitions; those that need a definition of i915_reg_t for a function definition can get it from i915_reg_defs.h instead.

Quoted 3 lines

We also remove two non-register #define's (VLV_DISPLAY_BASE and GEN12_SFC_DONE_MAX) into i915_reg_defs.h to allow us to drop the i915_reg.h include from a couple of headers.

I don't think they really belong in i915_reg_defs.h, but it should be trivial to clean that up afterwards, so meh.

Overall on the series,

I like where this is heading.

Quoted 765 lines

There's probably a lot more header dependency optimization possible, but the changes here roughly cut the number of files compiled after 'touch i915_reg.h' in half --- a good first step.

---
 drivers/gpu/drm/i915/display/g4x_hdmi.h               | 2 +-
 drivers/gpu/drm/i915/display/intel_atomic.c           | 1 +
 drivers/gpu/drm/i915/display/intel_bios.c             | 1 +
 drivers/gpu/drm/i915/display/intel_bw.c               | 1 +
 drivers/gpu/drm/i915/display/intel_crt.h              | 2 +-
 drivers/gpu/drm/i915/display/intel_ddi.h              | 2 +-
 drivers/gpu/drm/i915/display/intel_de.h               | 1 -
 drivers/gpu/drm/i915/display/intel_display_power.h    | 1 -
 drivers/gpu/drm/i915/display/intel_dmc.h              | 2 +-
 drivers/gpu/drm/i915/display/intel_dp.h               | 2 --
 drivers/gpu/drm/i915/display/intel_dsb.h              | 2 +-
 drivers/gpu/drm/i915/display/intel_dsi_vbt.c          | 1 +
 drivers/gpu/drm/i915/display/intel_dvo_dev.h          | 2 +-
 drivers/gpu/drm/i915/display/intel_hdmi.h             | 2 --
 drivers/gpu/drm/i915/display/intel_lvds.h             | 2 +-
 drivers/gpu/drm/i915/display/intel_sdvo.h             | 2 +-
 drivers/gpu/drm/i915/display/intel_tc.c               | 1 +
 drivers/gpu/drm/i915/gem/i915_gem_stolen.c            | 1 +
 drivers/gpu/drm/i915/gem/i915_gem_tiling.c            | 1 +
 drivers/gpu/drm/i915/gt/gen2_engine_cs.c              | 1 +
 drivers/gpu/drm/i915/gt/intel_engine.h                | 1 -
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c          | 1 +
 drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c        | 1 +
 drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c         | 1 +
 drivers/gpu/drm/i915/gt/intel_llc.c                   | 1 +
 drivers/gpu/drm/i915/gt/intel_rc6.c                   | 1 +
 drivers/gpu/drm/i915/gt/intel_rc6.h                   | 2 +-
 drivers/gpu/drm/i915/gt/intel_region_lmem.c           | 1 +
 drivers/gpu/drm/i915/gt/intel_workarounds_types.h     | 2 +-
 drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h | 1 -
 drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h            | 2 +-
 drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c           | 1 +
 drivers/gpu/drm/i915/gt/uc/intel_huc.h                | 2 +-
 drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c              | 1 +
 drivers/gpu/drm/i915/gvt/aperture_gm.c                | 1 +
 drivers/gpu/drm/i915/gvt/display.c                    | 1 +
 drivers/gpu/drm/i915/gvt/dmabuf.c                     | 1 +
 drivers/gpu/drm/i915/gvt/edid.c                       | 1 +
 drivers/gpu/drm/i915/gvt/fb_decoder.c                 | 1 +
 drivers/gpu/drm/i915/gvt/handlers.c                   | 1 +
 drivers/gpu/drm/i915/gvt/interrupt.c                  | 1 +
 drivers/gpu/drm/i915/gvt/interrupt.h                  | 2 +-
 drivers/gpu/drm/i915/gvt/mmio.c                       | 1 +
 drivers/gpu/drm/i915/gvt/mmio_context.h               | 1 -
 drivers/gpu/drm/i915/i915_cmd_parser.c                | 1 +
 drivers/gpu/drm/i915/i915_drv.h                       | 1 -
 drivers/gpu/drm/i915/i915_pci.c                       | 1 +
 drivers/gpu/drm/i915/i915_perf_types.h                | 2 +-
 drivers/gpu/drm/i915/i915_reg.h                       | 3 ---
 drivers/gpu/drm/i915/i915_reg_defs.h                  | 4 ++++
 drivers/gpu/drm/i915/intel_dram.c                     | 1 +
 drivers/gpu/drm/i915/intel_pcode.c                    | 1 +
 drivers/gpu/drm/i915/intel_pm.h                       | 1 -
 drivers/gpu/drm/i915/intel_sbi.c                      | 1 +
 drivers/gpu/drm/i915/intel_uncore.h                   | 2 +-
 drivers/gpu/drm/i915/vlv_sideband.c                   | 1 +
 56 files changed, 49 insertions(+), 29 deletions(-)
drivers/gpu/drm/i915/display/g4x_hdmi.h +1 -1
index 7aca14b602c6..db9a93bc9321 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum port;
 struct drm_i915_private;
drivers/gpu/drm/i915/display/intel_atomic.c +1 -0
index 1080741d1561..093904065112 100644
@@ -35,6 +35,7 @@
 #include <drm/drm_plane_helper.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_atomic.h"
 #include "intel_cdclk.h"
 #include "intel_display_types.h"
drivers/gpu/drm/i915/display/intel_bios.c +1 -0
index 7d04572dd18b..a0b818b127df 100644
@@ -32,6 +32,7 @@
 #include "display/intel_gmbus.h"
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 
 #define _INTEL_BIOS_PRIVATE
 #include "intel_vbt_defs.h"
drivers/gpu/drm/i915/display/intel_bw.c +1 -0
index c35bad21b657..5dce3cf0ed12 100644
@@ -5,6 +5,7 @@
 
 #include <drm/drm_atomic_state_helper.h>
 
+#include "i915_reg.h"
 #include "intel_atomic.h"
 #include "intel_bw.h"
 #include "intel_cdclk.h"
drivers/gpu/drm/i915/display/intel_crt.h +1 -1
index 6c5c44600cbd..c6071efd93ce 100644
@@ -6,7 +6,7 @@
 #ifndef __INTEL_CRT_H__
 #define __INTEL_CRT_H__
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum pipe;
 struct drm_encoder;
drivers/gpu/drm/i915/display/intel_ddi.h +1 -1
index c2fea6562917..d39076facdce 100644
@@ -6,7 +6,7 @@
 #ifndef __INTEL_DDI_H__
 #define __INTEL_DDI_H__
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct drm_connector_state;
 struct drm_i915_private;
drivers/gpu/drm/i915/display/intel_de.h +0 -1
index 9d8c177aa228..9c104f65e4c8 100644
@@ -7,7 +7,6 @@
 #define __INTEL_DE_H__
 
 #include "i915_drv.h"
-#include "i915_reg.h"
 #include "i915_trace.h"
 #include "intel_uncore.h"
 
drivers/gpu/drm/i915/display/intel_display_power.h +0 -1
index 686d18eaa24c..930be3a0f8ef 100644
@@ -7,7 +7,6 @@
 #define __INTEL_DISPLAY_POWER_H__
 
 #include "intel_runtime_pm.h"
-#include "i915_reg.h"
 
 enum dpio_channel;
 enum dpio_phy;
drivers/gpu/drm/i915/display/intel_dmc.h +1 -1
index b20f3441ca60..7c590309a3a9 100644
@@ -6,7 +6,7 @@
 #ifndef __INTEL_DMC_H__
 #define __INTEL_DMC_H__
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 #include "intel_wakeref.h"
 #include <linux/workqueue.h>
 
drivers/gpu/drm/i915/display/intel_dp.h +0 -2
index b64145a3869a..d457e17bdc57 100644
@@ -8,8 +8,6 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
-
 enum intel_output_format;
 enum pipe;
 enum port;
drivers/gpu/drm/i915/display/intel_dsb.h +1 -1
index 654a11f24b80..6cb9c580cdca 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct intel_crtc_state;
 struct i915_vma;
drivers/gpu/drm/i915/display/intel_dsi_vbt.c +1 -0
index da0bd056f3d3..a85574c413e8 100644
@@ -39,6 +39,7 @@
 #include <video/mipi_display.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_display_types.h"
 #include "intel_dsi.h"
 #include "intel_dsi_vbt.h"
drivers/gpu/drm/i915/display/intel_dvo_dev.h +1 -1
index 94a6ae1e0292..d96c3cc46e50 100644
@@ -27,7 +27,7 @@
 
 #include <drm/drm_crtc.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct intel_dvo_device {
 	const char *name;
drivers/gpu/drm/i915/display/intel_hdmi.h +0 -2
index 2bf440eb400a..ab3ae245eb66 100644
@@ -9,8 +9,6 @@
 #include <linux/hdmi.h>
 #include <linux/types.h>
 
-#include "i915_reg.h"
-
 struct drm_connector;
 struct drm_encoder;
 struct drm_i915_private;
drivers/gpu/drm/i915/display/intel_lvds.h +1 -1
index bc9c8b84ba2f..9d3372dc503f 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum pipe;
 struct drm_i915_private;
drivers/gpu/drm/i915/display/intel_sdvo.h +1 -1
index 72065e4360d5..2868852c85f2 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct drm_i915_private;
 enum pipe;
drivers/gpu/drm/i915/display/intel_tc.c +1 -0
index 4eefe7b0bb26..e5b8b52025de 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_display.h"
 #include "intel_display_types.h"
 #include "intel_dp_mst.h"
drivers/gpu/drm/i915/gem/i915_gem_stolen.c +1 -0
index 26975d857776..1de73a644965 100644
@@ -14,6 +14,7 @@
 #include "gem/i915_gem_region.h"
 #include "i915_drv.h"
 #include "i915_gem_stolen.h"
+#include "i915_reg.h"
 #include "i915_vgpu.h"
 
 /*
drivers/gpu/drm/i915/gem/i915_gem_tiling.c +1 -0
index f37ba4f54979..d6adda5bf96b 100644
@@ -13,6 +13,7 @@
 #include "i915_gem_mman.h"
 #include "i915_gem_object.h"
 #include "i915_gem_tiling.h"
+#include "i915_reg.h"
 
 /**
  * DOC: buffer object tiling
drivers/gpu/drm/i915/gt/gen2_engine_cs.c +1 -0
index e0e8d228b31f..1c82caf525c3 100644
@@ -5,6 +5,7 @@
 
 #include "gen2_engine_cs.h"
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_engine.h"
 #include "intel_engine_regs.h"
 #include "intel_gpu_commands.h"
drivers/gpu/drm/i915/gt/intel_engine.h +0 -1
index 08559ace0ada..0e353d8c2bc8 100644
@@ -11,7 +11,6 @@
 #include <linux/seqlock.h>
 
 #include "i915_pmu.h"
-#include "i915_reg.h"
 #include "i915_request.h"
 #include "i915_selftest.h"
 #include "intel_engine_types.h"
drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c +1 -0
index 85d66bd1667f..ee4049ee1fc9 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "i915_scatterlist.h"
 #include "i915_pvinfo.h"
 #include "i915_vgpu.h"
drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c +1 -0
index c7321c94b956..0db822c3b7e5 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_gt.h"
 #include "intel_gt_clock_utils.h"
 #include "intel_gt_regs.h"
drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c +1 -0
index 47ec4b2043e8..4e448c13a64c 100644
@@ -7,6 +7,7 @@
 #include <linux/seq_file.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_gt.h"
 #include "intel_gt_clock_utils.h"
 #include "intel_gt_debugfs.h"
drivers/gpu/drm/i915/gt/intel_llc.c +1 -0
index 63f18830c611..335c65758d6f 100644
@@ -7,6 +7,7 @@
 #include <linux/cpufreq.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_gt.h"
 #include "intel_llc.h"
 #include "intel_pcode.h"
drivers/gpu/drm/i915/gt/intel_rc6.c +1 -0
index 5458e6606301..6df359c534fe 100644
@@ -6,6 +6,7 @@
 #include <linux/pm_runtime.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "i915_vgpu.h"
 #include "intel_engine_regs.h"
 #include "intel_gt.h"
drivers/gpu/drm/i915/gt/intel_rc6.h +1 -1
index e119ec4a0bcc..b6fea71afc22 100644
@@ -6,7 +6,7 @@
 #ifndef INTEL_RC6_H
 #define INTEL_RC6_H
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct intel_engine_cs;
 struct intel_rc6;
drivers/gpu/drm/i915/gt/intel_region_lmem.c +1 -0
index 21215a080088..cb3f66707b21 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_memory_region.h"
 #include "intel_region_lmem.h"
 #include "intel_region_ttm.h"
drivers/gpu/drm/i915/gt/intel_workarounds_types.h +1 -1
index 1e873681795d..8a4b6de4e754 100644
@@ -8,7 +8,7 @@
 
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct i915_wa {
 	i915_reg_t	reg;
drivers/gpu/drm/i915/gt/uc/abi/guc_actions_slpc_abi.h +0 -1
index 7a8d4bfc5f6a..62cb4254a77a 100644
@@ -7,7 +7,6 @@
 #define _GUC_ACTIONS_SLPC_ABI_H_
 
 #include <linux/types.h>
-#include "i915_reg.h"
 
 /**
  * DOC: SLPC SHARED DATA STRUCTURE
drivers/gpu/drm/i915/gt/uc/intel_guc_reg.h +1 -1
index e6bd66d6ce5a..aa057ac7e346 100644
@@ -9,7 +9,7 @@
 #include <linux/compiler.h>
 #include <linux/types.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 /* Definitions of GuC H/W registers, bits, etc */
 
drivers/gpu/drm/i915/gt/uc/intel_guc_slpc.c +1 -0
index 57ae9ac98505..ddbea939b1dc 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_guc_slpc.h"
 #include "gt/intel_gt.h"
 #include "gt/intel_gt_regs.h"
drivers/gpu/drm/i915/gt/uc/intel_huc.h +1 -1
index ae8c8a6c8cc8..73ec670800f2 100644
@@ -6,7 +6,7 @@
 #ifndef _INTEL_HUC_H_
 #define _INTEL_HUC_H_
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 #include "intel_uc_fw.h"
 #include "intel_huc_fw.h"
 
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c +1 -0
index 62db14d41042..ba4f0970749b 100644
@@ -11,6 +11,7 @@
 #include "intel_uc_fw.h"
 #include "intel_uc_fw_abi.h"
 #include "i915_drv.h"
+#include "i915_reg.h"
 
 static inline struct intel_gt *
 ____uc_fw_to_gt(struct intel_uc_fw *uc_fw, enum intel_uc_fw_type type)
drivers/gpu/drm/i915/gvt/aperture_gm.c +1 -0
index c08098a167e9..557f3314291a 100644
@@ -35,6 +35,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gt/intel_ggtt_fencing.h"
 #include "gvt.h"
 
drivers/gpu/drm/i915/gvt/display.c +1 -0
index 8ce5d2b2e330..54bfb0f928cd 100644
@@ -33,6 +33,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 
 static int get_edp_pipe(struct intel_vgpu *vgpu)
drivers/gpu/drm/i915/gvt/dmabuf.c +1 -0
index 8882843bf7ab..6dd3757cdf87 100644
@@ -32,6 +32,7 @@
 #include <linux/vfio.h>
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 
 #define GEN8_DECODE_PTE(pte) (pte & GENMASK_ULL(63, 12))
drivers/gpu/drm/i915/gvt/edid.c +1 -0
index 22247805c345..a30ba2d7b7ba 100644
@@ -33,6 +33,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 
 #define GMBUS1_TOTAL_BYTES_SHIFT 16
drivers/gpu/drm/i915/gvt/fb_decoder.c +1 -0
index 40ace46bad46..c81f232d05a8 100644
@@ -37,6 +37,7 @@
 #include "i915_drv.h"
 #include "gvt.h"
 #include "i915_pvinfo.h"
+#include "i915_reg.h"
 
 #define PRIMARY_FORMAT_NUM	16
 struct pixel_format {
drivers/gpu/drm/i915/gvt/handlers.c +1 -0
index 3eb9961f6b29..5476642a70fb 100644
@@ -37,6 +37,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 #include "i915_pvinfo.h"
 #include "display/intel_display_types.h"
drivers/gpu/drm/i915/gvt/interrupt.c +1 -0
index 9ccc6b1ecc28..228f623d466d 100644
@@ -30,6 +30,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 #include "trace.h"
 
drivers/gpu/drm/i915/gvt/interrupt.h +1 -1
index 0989e180ed54..b62f04ab47cb 100644
@@ -35,7 +35,7 @@
 #include <linux/hrtimer.h>
 #include <linux/kernel.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 enum intel_gvt_event_type {
 	RCS_MI_USER_INTERRUPT = 0,
drivers/gpu/drm/i915/gvt/mmio.c +1 -0
index 0215e1ea621d..5db0ef83d522 100644
@@ -34,6 +34,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "gvt.h"
 
 #include "gt/intel_gt_regs.h"
drivers/gpu/drm/i915/gvt/mmio_context.h +0 -1
index 128fd7f4d509..9540813b88e5 100644
@@ -41,7 +41,6 @@
 #include "gt/intel_engine_regs.h"
 #include "gt/intel_engine_types.h"
 #include "gt/intel_lrc_reg.h"
-#include "i915_reg.h"
 
 struct i915_request;
 struct intel_context;
drivers/gpu/drm/i915/i915_cmd_parser.c +1 -0
index b394b3c3e073..aea4c30645ff 100644
@@ -33,6 +33,7 @@
 #include "i915_cmd_parser.h"
 #include "i915_drv.h"
 #include "i915_memcpy.h"
+#include "i915_reg.h"
 
 /**
  * DOC: batch buffer command parser
drivers/gpu/drm/i915/i915_drv.h +0 -1
index 890f1f6fbc49..e969a5ca5038 100644
@@ -61,7 +61,6 @@
 #include <drm/ttm/ttm_device.h>
 
 #include "i915_params.h"
-#include "i915_reg.h"
 #include "i915_utils.h"
 
 #include "display/intel_bios.h"
drivers/gpu/drm/i915/i915_pci.c +1 -0
index 8261b6455747..189d3bb8955a 100644
@@ -28,6 +28,7 @@
 #include "i915_driver.h"
 #include "i915_drv.h"
 #include "i915_pci.h"
+#include "i915_reg.h"
 
 #define PLATFORM(x) .platform = (x)
 #define GEN(x) \
drivers/gpu/drm/i915/i915_perf_types.h +1 -1
index aa14354a5120..473a3c0544bb 100644
@@ -18,7 +18,7 @@
 #include <uapi/drm/i915_drm.h>
 
 #include "gt/intel_sseu.h"
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 #include "intel_wakeref.h"
 
 struct drm_i915_private;
drivers/gpu/drm/i915/i915_reg.h +0 -3
index 5e283bdb3ab7..f51751f9c8d8 100644
@@ -115,7 +115,6 @@
  *  #define GEN8_BAR                    _MMIO(0xb888)
  */
 
-#define VLV_DISPLAY_BASE		0x180000
 #define VLV_MIPI_BASE			VLV_DISPLAY_BASE
 #define BXT_MIPI_BASE			0x60000
 
@@ -189,8 +188,6 @@
 #define _MASKED_BIT_ENABLE(a)	({ typeof(a) _a = (a); _MASKED_FIELD(_a, _a); })
 #define _MASKED_BIT_DISABLE(a)	(_MASKED_FIELD((a), 0))
 
-#define GEN12_SFC_DONE_MAX		4
-
 #define GU_CNTL				_MMIO(0x101010)
 #define   LMEM_INIT			REG_BIT(7)
 
drivers/gpu/drm/i915/i915_reg_defs.h +4 -0
index 6ee51d4a233a..34d37bbf08cd 100644
@@ -94,4 +94,8 @@ static inline bool i915_mmio_reg_valid(i915_reg_t reg)
 	return !i915_mmio_reg_equal(reg, INVALID_MMIO_REG);
 }
 
+#define VLV_DISPLAY_BASE		0x180000
+
+#define GEN12_SFC_DONE_MAX		4
+
 #endif /* __I915_REG_DEFS__ */
drivers/gpu/drm/i915/intel_dram.c +1 -0
index 3e26ccabf7f9..723bd0411a0e 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_dram.h"
 #include "intel_pcode.h"
 
drivers/gpu/drm/i915/intel_pcode.c +1 -0
index db4403f63cac..391a37492ce5 100644
@@ -4,6 +4,7 @@
  */
 
 #include "i915_drv.h"
+#include "i915_reg.h"
 #include "intel_pcode.h"
 
 static int gen6_check_mailbox_status(u32 mbox)
drivers/gpu/drm/i915/intel_pm.h +0 -1
index 990cdcaf85ce..ae821e35d5fc 100644
@@ -12,7 +12,6 @@
 #include "display/intel_global_state.h"
 
 #include "i915_drv.h"
-#include "i915_reg.h"
 
 struct drm_device;
 struct drm_i915_private;
drivers/gpu/drm/i915/intel_sbi.c +1 -0
index 5ba8490a31e6..5c6e517c73f4 100644
@@ -7,6 +7,7 @@
 
 #include "i915_drv.h"
 #include "intel_sbi.h"
+#include "i915_reg.h"
 
 /* SBI access */
 static int intel_sbi_rw(struct drm_i915_private *i915, u16 reg,
drivers/gpu/drm/i915/intel_uncore.h +1 -1
index 210fe2a71612..785063025ec8 100644
@@ -30,7 +30,7 @@
 #include <linux/hrtimer.h>
 #include <linux/io-64-nonatomic-lo-hi.h>
 
-#include "i915_reg.h"
+#include "i915_reg_defs.h"
 
 struct drm_i915_private;
 struct intel_runtime_pm;
drivers/gpu/drm/i915/vlv_sideband.c +1 -0
index ed2ac5752ac4..c26001300ebd 100644
@@ -5,6 +5,7 @@
 
 #include "i915_drv.h"
 #include "i915_iosf_mbi.h"
+#include "i915_reg.h"
 #include "vlv_sideband.h"
 
 /*
Signature · 1 line
Jani Nikula, Intel Open Source Graphics Center
#10 lore raw

[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for Second round of i915_reg.h splitting

In reply to Matt Roper
== Series Details ==

== Series Details ==

Series: Second round of i915_reg.h splitting
URL : https://patchwork.freedesktop.org/series/99079/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
1e07c9d33aa4 drm/i915/perf: Move OA regs to their own header
-:39: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#39: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 1023 lines checked
e96246c3da89 drm/i915/perf: Express OA register ranges with i915_range -:30: ERROR:OPEN_BRACE: open brace '{' following function definitions go on the next line #30: FILE: drivers/gpu/drm/i915/i915_perf.c:3867:
+static inline bool reg_in_range_table(u32 addr, const struct i915_range *table) {

-:87: WARNING:LEADING_SPACE: please, no spaces at the start of a line #87: FILE: drivers/gpu/drm/i915/i915_perf.c:3914:
+ { .start = 0x182300, .end = 0x1823a4 },$

-:88: WARNING:LEADING_SPACE: please, no spaces at the start of a line #88: FILE: drivers/gpu/drm/i915/i915_perf.c:3915:
+ {}$

total: 1 errors, 2 warnings, 0 checks, 524 lines checked
313b83d52475 drm/i915: Parameterize R_PWR_CLK_STATE register definition 463b5c4cf89b drm/i915: Parameterize MI_PREDICATE registers
3761ccf4ed2a drm/i915: Move GT registers to their own header file
-:178: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #178:
new file mode 100644

-:291: WARNING:LONG_LINE: line length of 106 exceeds 100 columns #291: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:109:
+#define GEN8_SELECTIVE_READ_SUBSLICE_SELECT_MASK (0x3 << GEN8_SELECTIVE_READ_SUBSLICE_SELECT_SHIFT)

-:293: WARNING:LONG_LINE: line length of 103 exceeds 100 columns #293: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:111:
+#define GEN8_SELECTIVE_READ_SLICE_SELECT_MASK (0x3 << GEN8_SELECTIVE_READ_SLICE_SELECT_SHIFT)

-:404: WARNING:LONG_LINE: line length of 104 exceeds 100 columns #404: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:222:
+#define GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_MASK (1 << GEN9_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_SHIFT)

-:408: WARNING:LONG_LINE: line length of 107 exceeds 100 columns #408: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:226:
+#define GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_MASK (0x7 << GEN11_RPM_CONFIG0_CRYSTAL_CLOCK_FREQ_SHIFT)

-:414: WARNING:LONG_LINE: line length of 108 exceeds 100 columns #414: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:232:
+#define GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_MASK (0x3 << GEN10_RPM_CONFIG0_CTC_SHIFT_PARAMETER_SHIFT)

-:734: WARNING:LONG_LINE_COMMENT: line length of 104 exceeds 100 columns #734: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:552:
+#define PXVFREQ(fstart) _MMIO(0x11110 + (fstart) * 4) /* P[0-15]VIDFREQ (0x1114c) (Ironlake) */

-:773: WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines #773: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:591:
+#define MEMCTL_CMD_STS (1 << 12) /* write 1 triggers command, clears
+when command complete */

-:773: WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line #773: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:591:
+when command complete */

-:886: WARNING:LONG_LINE_COMMENT: line length of 134 exceeds 100 columns #886: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:704:
+#define IMPROMOEN (1 << 10) /* promo is immediate or delayed until next idle interval (only for timeout method above) */

-:973: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'cxt_reg' - possible side-effects? #973: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:791:
+#define GEN6_CXT_TOTAL_SIZE(cxt_reg) (GEN6_CXT_RING_SIZE(cxt_reg) + \
+ GEN6_CXT_EXTENDED_SIZE(cxt_reg) + \
+ GEN6_CXT_PIPELINE_SIZE(cxt_reg))

-:983: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'ctx_reg' - possible side-effects? #983: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:801:
+#define GEN7_CXT_TOTAL_SIZE(ctx_reg) (GEN7_CXT_EXTENDED_SIZE(ctx_reg) + \
+ GEN7_CXT_VFSTATE_SIZE(ctx_reg))

-:1553: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'slice' - possible side-effects? #1553: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:1371:
+#define GEN10_SLICE_PGCTL_ACK(slice) _MMIO(0x804c + ((slice) / 3) * 0x34 + \
+((slice) % 3) * 0x4)

-:1560: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'slice' - possible side-effects? #1560: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:1378:
+#define GEN10_SS01_EU_PGCTL_ACK(slice) _MMIO(0x805c + ((slice) / 3) * 0x30 + \
+((slice) % 3) * 0x8)

-:1563: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'slice' - possible side-effects? #1563: FILE: drivers/gpu/drm/i915/gt/intel_gt_regs.h:1381:
+#define GEN10_SS23_EU_PGCTL_ACK(slice) _MMIO(0x8060 + ((slice) / 3) * 0x30 + \
+((slice) % 3) * 0x8)

total: 0 errors, 10 warnings, 5 checks, 3520 lines checked 87c7015ee797 drm/i915: Only include i915_reg.h from .c files

#12 lore raw

[Intel-gfx] ✓ Fi.CI.BAT: success for Second round of i915_reg.h splitting

In reply to Matt Roper
== Series Details ==

== Series Details ==

Series: Second round of i915_reg.h splitting
URL : https://patchwork.freedesktop.org/series/99079/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_11111 -> Patchwork_22034
====================================================

Summary
-------

**SUCCESS**

No regressions found.

External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/index.html

Participating hosts (48 -> 40)
------------------------------

Missing (8): shard-tglu bat-dg1-5 fi-icl-u2 fi-bsw-cyan fi-pnv-d510 shard-rkl shard-dg1 fi-bdw-samus

Known issues
------------

Here are the changes found in Patchwork_22034 that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@amdgpu/amd_cs_nop@sync-fork-compute0:
- fi-snb-2600: NOTRUN -> [SKIP][1] ([fdo#109271]) +17 similar issues
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/fi-snb-2600/igt@amdgpu/[email protected]

* igt@gem_exec_suspend@basic-s3@smem:
- fi-tgl-1115g4: [PASS][2] -> [FAIL][3] ([i915#1888])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/fi-tgl-1115g4/igt@gem_exec_suspend@[email protected]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/fi-tgl-1115g4/igt@gem_exec_suspend@[email protected]

* igt@gem_flink_basic@bad-flink:
- fi-skl-6600u: [PASS][4] -> [FAIL][5] ([i915#4547])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/fi-skl-6600u/igt@[email protected]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/fi-skl-6600u/igt@[email protected]

* igt@i915_selftest@live@hangcheck:
- bat-dg1-6: [PASS][6] -> [DMESG-FAIL][7] ([i915#4494])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/bat-dg1-6/igt@i915_selftest@[email protected]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/bat-dg1-6/igt@i915_selftest@[email protected]
- fi-hsw-4770: [PASS][8] -> [INCOMPLETE][9] ([i915#4785])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/fi-hsw-4770/igt@i915_selftest@[email protected]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/fi-hsw-4770/igt@i915_selftest@[email protected]

* igt@runner@aborted:
- fi-hsw-4770: NOTRUN -> [FAIL][10] ([fdo#109271] / [i915#1436] / [i915#4312])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/fi-hsw-4770/igt@[email protected]
- fi-bdw-5557u: NOTRUN -> [FAIL][11] ([i915#2426] / [i915#4312])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/fi-bdw-5557u/igt@[email protected]

#### Possible fixes ####

* igt@i915_selftest@live@hangcheck:
- fi-snb-2600: [INCOMPLETE][12] ([i915#3921]) -> [PASS][13]
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/fi-snb-2600/igt@i915_selftest@[email protected]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/fi-snb-2600/igt@i915_selftest@[email protected]

[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436
[i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
[i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426
[i915#3921]: https://gitlab.freedesktop.org/drm/intel/issues/3921
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4494]: https://gitlab.freedesktop.org/drm/intel/issues/4494
[i915#4547]: https://gitlab.freedesktop.org/drm/intel/issues/4547
[i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785

Build changes
-------------

* Linux: CI_DRM_11111 -> Patchwork_22034

CI-20190529: 20190529
CI_DRM_11111: fe44f8bdb12374a6168cb561834eb714097f5e5f @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_6329: 38f656fdd61119105ecfa2c4dac157cd7dcad204 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_22034: 87c7015ee797898a661781527260262112fb64d2 @ git://anongit.freedesktop.org/gfx-ci/linux

== Linux commits ==

87c7015ee797 drm/i915: Only include i915_reg.h from .c files 3761ccf4ed2a drm/i915: Move GT registers to their own header file 463b5c4cf89b drm/i915: Parameterize MI_PREDICATE registers 313b83d52475 drm/i915: Parameterize R_PWR_CLK_STATE register definition e96246c3da89 drm/i915/perf: Express OA register ranges with i915_range 1e07c9d33aa4 drm/i915/perf: Move OA regs to their own header

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/index.html

#13 lore raw

[Intel-gfx] ✗ Fi.CI.IGT: failure for Second round of i915_reg.h splitting

In reply to Matt Roper
== Series Details ==

== Series Details ==

Series: Second round of i915_reg.h splitting
URL : https://patchwork.freedesktop.org/series/99079/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_11111_full -> Patchwork_22034_full
====================================================

Summary
-------

**FAILURE**

Serious unknown changes coming with Patchwork_22034_full absolutely need to be verified manually.

If you think the reported changes have nothing to do with the changes introduced in Patchwork_22034_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI.

Participating hosts (10 -> 10)
------------------------------

No changes in participating hosts

Possible new issues
-------------------

Here are the unknown changes that may have been introduced in Patchwork_22034_full:

### IGT changes ###

#### Possible regressions ####

* igt@gem_ppgtt@blt-vs-render-ctx0:
- shard-tglb: [PASS][1] -> [DMESG-FAIL][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-tglb7/igt@[email protected]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb7/igt@[email protected]

* igt@gem_userptr_blits@huge-split:
- shard-apl: [PASS][3] -> [FAIL][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-apl4/igt@[email protected]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl8/igt@[email protected]

Known issues
------------

Here are the changes found in Patchwork_22034_full that come from known issues:

### IGT changes ###

#### Issues hit ####

* igt@gem_create@create-massive:
- shard-tglb: NOTRUN -> [DMESG-WARN][5] ([i915#3002] / [i915#4856])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb2/igt@[email protected]
- shard-skl: NOTRUN -> [DMESG-WARN][6] ([i915#3002])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl3/igt@[email protected]

* igt@gem_ctx_isolation@preservation-s3@rcs0:
- shard-kbl: [PASS][7] -> [DMESG-WARN][8] ([i915#180]) +1 similar issue
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-kbl6/igt@gem_ctx_isolation@[email protected]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl4/igt@gem_ctx_isolation@[email protected]

* igt@gem_ctx_persistence@engines-hang:
- shard-snb: NOTRUN -> [SKIP][9] ([fdo#109271] / [i915#1099])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-snb2/igt@[email protected]

* igt@gem_eio@kms:
- shard-tglb: [PASS][10] -> [FAIL][11] ([i915#232])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-tglb6/igt@[email protected]
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb5/igt@[email protected]

* igt@gem_exec_balancer@parallel:
- shard-iclb: [PASS][12] -> [SKIP][13] ([i915#4525])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb1/igt@[email protected]
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb3/igt@[email protected]

* igt@gem_exec_fair@basic-deadline:
- shard-kbl: NOTRUN -> [FAIL][14] ([i915#2846])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@[email protected]

* igt@gem_exec_fair@basic-pace@vcs1:
- shard-iclb: NOTRUN -> [FAIL][15] ([i915#2842]) +1 similar issue
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb1/igt@gem_exec_fair@[email protected]

* igt@gem_exec_params@no-vebox:
- shard-skl: NOTRUN -> [SKIP][16] ([fdo#109271]) +207 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl1/igt@[email protected]

* igt@gem_exec_params@secure-non-root:
- shard-iclb: NOTRUN -> [SKIP][17] ([fdo#112283])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb6/igt@[email protected]

* igt@gem_lmem_swapping@heavy-random:
- shard-kbl: NOTRUN -> [SKIP][18] ([fdo#109271] / [i915#4613])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@[email protected]

* igt@gem_lmem_swapping@heavy-verify-multi:
- shard-skl: NOTRUN -> [SKIP][19] ([fdo#109271] / [i915#4613]) +1 similar issue
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl4/igt@[email protected]

* igt@gem_ppgtt@flink-and-close-vma-leak:
- shard-glk: [PASS][20] -> [FAIL][21] ([i915#644])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-glk5/igt@[email protected]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-glk3/igt@[email protected]

* igt@gem_pxp@regular-baseline-src-copy-readible:
- shard-kbl: NOTRUN -> [SKIP][22] ([fdo#109271]) +70 similar issues
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl1/igt@[email protected]

* igt@gem_softpin@allocator-evict-all-engines:
- shard-glk: [PASS][23] -> [FAIL][24] ([i915#4171])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-glk7/igt@[email protected]
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-glk6/igt@[email protected]

* igt@gem_userptr_blits@vma-merge:
- shard-skl: NOTRUN -> [FAIL][25] ([i915#3318])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl8/igt@[email protected]

* igt@gen9_exec_parse@batch-invalid-length:
- shard-iclb: NOTRUN -> [SKIP][26] ([i915#2856])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb6/igt@[email protected]

* igt@i915_selftest@live@gt_pm:
- shard-skl: NOTRUN -> [DMESG-FAIL][27] ([i915#1886] / [i915#2291])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl10/igt@i915_selftest@live@gt_pm.html

* igt@i915_suspend@sysfs-reader:
- shard-skl: [PASS][28] -> [INCOMPLETE][29] ([i915#4817])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-skl8/igt@[email protected]
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl6/igt@[email protected]

* igt@kms_async_flips@alternate-sync-async-flip:
- shard-skl: [PASS][30] -> [FAIL][31] ([i915#2521])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-skl6/igt@[email protected]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl8/igt@[email protected]

* igt@kms_async_flips@crc:
- shard-skl: NOTRUN -> [FAIL][32] ([i915#4272])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl3/igt@[email protected]

* igt@kms_big_fb@x-tiled-16bpp-rotate-270:
- shard-tglb: NOTRUN -> [SKIP][33] ([fdo#111614]) +1 similar issue
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb2/igt@[email protected]

* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-skl: NOTRUN -> [SKIP][34] ([fdo#109271] / [i915#3777])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl1/igt@[email protected]

* igt@kms_big_fb@y-tiled-16bpp-rotate-0:
- shard-glk: [PASS][35] -> [DMESG-WARN][36] ([i915#118]) +1 similar issue
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-glk9/igt@[email protected]
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-glk5/igt@[email protected]

* igt@kms_big_fb@y-tiled-max-hw-stride-32bpp-rotate-180-hflip:
- shard-apl: NOTRUN -> [SKIP][37] ([fdo#109271] / [i915#3777]) +1 similar issue
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl1/igt@[email protected]

* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-skl: NOTRUN -> [FAIL][38] ([i915#3763]) +1 similar issue
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl9/igt@[email protected]

* igt@kms_big_fb@yf-tiled-8bpp-rotate-180:
- shard-iclb: NOTRUN -> [SKIP][39] ([fdo#110723])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb6/igt@[email protected]

* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-async-flip:
- shard-skl: NOTRUN -> [FAIL][40] ([i915#3743])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl10/igt@[email protected]

* igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-kbl: NOTRUN -> [SKIP][41] ([fdo#109271] / [i915#3777])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@[email protected]

* igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc:
- shard-skl: NOTRUN -> [SKIP][42] ([fdo#109271] / [i915#3886]) +8 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl1/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_rc_ccs_cc.html

* igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][43] ([fdo#109271] / [i915#3886])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl1/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_mc_ccs.html

* igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc:
- shard-iclb: NOTRUN -> [SKIP][44] ([fdo#109278] / [i915#3886])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb7/igt@kms_ccs@pipe-a-missing-ccs-buffer-y_tiled_gen12_rc_ccs_cc.html

* igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_rc_ccs_cc:
- shard-kbl: NOTRUN -> [SKIP][45] ([fdo#109271] / [i915#3886]) +2 similar issues
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@kms_ccs@pipe-b-bad-pixel-format-y_tiled_gen12_rc_ccs_cc.html

* igt@kms_ccs@pipe-b-bad-rotation-90-yf_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][46] ([fdo#111615] / [i915#3689]) +1 similar issue
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb2/igt@kms_ccs@pipe-b-bad-rotation-90-yf_tiled_ccs.html

* igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs:
- shard-iclb: NOTRUN -> [SKIP][47] ([fdo#109278]) +3 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb7/igt@kms_ccs@pipe-c-bad-aux-stride-y_tiled_gen12_rc_ccs.html

* igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][48] ([i915#3689] / [i915#3886])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb3/igt@kms_ccs@pipe-c-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html

* igt@kms_chamelium@hdmi-mode-timings:
- shard-kbl: NOTRUN -> [SKIP][49] ([fdo#109271] / [fdo#111827]) +5 similar issues
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@[email protected]

* igt@kms_chamelium@vga-hpd-for-each-pipe:
- shard-skl: NOTRUN -> [SKIP][50] ([fdo#109271] / [fdo#111827]) +16 similar issues
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl3/igt@[email protected]
- shard-tglb: NOTRUN -> [SKIP][51] ([fdo#109284] / [fdo#111827]) +1 similar issue
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb2/igt@[email protected]

* igt@kms_color_chamelium@pipe-a-ctm-red-to-blue:
- shard-iclb: NOTRUN -> [SKIP][52] ([fdo#109284] / [fdo#111827]) +3 similar issues
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb6/igt@[email protected]

* igt@kms_color_chamelium@pipe-d-ctm-limited-range:
- shard-iclb: NOTRUN -> [SKIP][53] ([fdo#109278] / [fdo#109284] / [fdo#111827])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb7/igt@[email protected]

* igt@kms_color_chamelium@pipe-d-degamma:
- shard-snb: NOTRUN -> [SKIP][54] ([fdo#109271] / [fdo#111827])
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-snb2/igt@[email protected]

* igt@kms_content_protection@type1:
- shard-iclb: NOTRUN -> [SKIP][55] ([fdo#109300] / [fdo#111066])
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb7/igt@[email protected]

* igt@kms_cursor_crc@pipe-a-cursor-max-size-rapid-movement:
- shard-tglb: NOTRUN -> [SKIP][56] ([i915#3359]) +1 similar issue
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb2/igt@[email protected]

* igt@kms_cursor_crc@pipe-d-cursor-32x10-sliding:
- shard-snb: NOTRUN -> [SKIP][57] ([fdo#109271]) +20 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-snb2/igt@[email protected]

* igt@kms_cursor_crc@pipe-d-cursor-512x512-sliding:
- shard-tglb: NOTRUN -> [SKIP][58] ([fdo#109279] / [i915#3359]) +1 similar issue
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb2/igt@[email protected]

* igt@kms_cursor_edge_walk@pipe-b-256x256-bottom-edge:
- shard-skl: [PASS][59] -> [DMESG-WARN][60] ([i915#1982])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-skl4/igt@[email protected]
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl6/igt@[email protected]

* igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
- shard-tglb: NOTRUN -> [SKIP][61] ([fdo#109274] / [fdo#111825]) +1 similar issue
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb2/igt@[email protected]

* igt@kms_flip@flip-vs-suspend-interruptible@b-dp1:
- shard-kbl: [PASS][62] -> [INCOMPLETE][63] ([i915#3614])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-kbl3/igt@kms_flip@[email protected]
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl3/igt@kms_flip@[email protected]

* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling:
- shard-iclb: [PASS][64] -> [SKIP][65] ([i915#3701]) +1 similar issue
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb5/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-64bpp-ytile-downscaling.html

* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-apl: [PASS][66] -> [DMESG-WARN][67] ([i915#180]) +2 similar issues
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-apl1/igt@[email protected]
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl4/igt@[email protected]

* igt@kms_frontbuffer_tracking@psr-2p-primscrn-cur-indfb-onoff:
- shard-apl: NOTRUN -> [SKIP][68] ([fdo#109271]) +19 similar issues
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl1/igt@[email protected]

* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc:
- shard-iclb: NOTRUN -> [SKIP][69] ([fdo#109280]) +2 similar issues
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-mmap-wc.html

* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-tglb: NOTRUN -> [SKIP][70] ([fdo#109280] / [fdo#111825]) +2 similar issues
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-gtt.html

* igt@kms_pipe_crc_basic@suspend-read-crc-pipe-d:
- shard-skl: NOTRUN -> [SKIP][71] ([fdo#109271] / [i915#533])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl1/igt@[email protected]

* igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
- shard-skl: NOTRUN -> [FAIL][72] ([fdo#108145] / [i915#265]) +3 similar issues
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl8/igt@[email protected]

* igt@kms_psr2_sf@primary-plane-update-sf-dmg-area:
- shard-kbl: NOTRUN -> [SKIP][73] ([fdo#109271] / [i915#658])
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@[email protected]

* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-skl: NOTRUN -> [SKIP][74] ([fdo#109271] / [i915#658]) +2 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl1/igt@kms_psr2_su@page_flip-xrgb8888.html

* igt@kms_psr@psr2_cursor_plane_move:
- shard-iclb: [PASS][75] -> [SKIP][76] ([fdo#109441]) +1 similar issue
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb2/igt@kms_psr@psr2_cursor_plane_move.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb6/igt@kms_psr@psr2_cursor_plane_move.html

* igt@kms_psr@psr2_dpms:
- shard-iclb: NOTRUN -> [SKIP][77] ([fdo#109441])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb7/igt@kms_psr@psr2_dpms.html

* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-kbl: [PASS][78] -> [DMESG-WARN][79] ([i915#180] / [i915#295])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-kbl7/igt@[email protected]
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl4/igt@[email protected]

* igt@kms_vblank@pipe-d-wait-idle:
- shard-kbl: NOTRUN -> [SKIP][80] ([fdo#109271] / [i915#533]) +1 similar issue
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl1/igt@[email protected]

* igt@kms_writeback@writeback-invalid-parameters:
- shard-skl: NOTRUN -> [SKIP][81] ([fdo#109271] / [i915#2437])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl3/igt@[email protected]

* igt@kms_writeback@writeback-pixel-formats:
- shard-apl: NOTRUN -> [SKIP][82] ([fdo#109271] / [i915#2437])
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl1/igt@[email protected]

* igt@nouveau_crc@pipe-c-source-outp-inactive:
- shard-iclb: NOTRUN -> [SKIP][83] ([i915#2530])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb6/igt@[email protected]

* igt@perf@polling-parameterized:
- shard-skl: [PASS][84] -> [FAIL][85] ([i915#1542])
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-skl3/igt@[email protected]
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl10/igt@[email protected]

* igt@prime_nv_test@i915_import_gtt_mmap:
- shard-iclb: NOTRUN -> [SKIP][86] ([fdo#109291])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb7/igt@prime_nv_test@i915_import_gtt_mmap.html

* igt@sysfs_clients@create:
- shard-kbl: NOTRUN -> [SKIP][87] ([fdo#109271] / [i915#2994])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@[email protected]

* igt@sysfs_clients@recycle-many:
- shard-skl: NOTRUN -> [SKIP][88] ([fdo#109271] / [i915#2994]) +1 similar issue
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl3/igt@[email protected]

* igt@sysfs_heartbeat_interval@mixed@rcs0:
- shard-skl: [PASS][89] -> [FAIL][90] ([i915#1731])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-skl7/igt@sysfs_heartbeat_interval@[email protected]
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl8/igt@sysfs_heartbeat_interval@[email protected]

#### Possible fixes ####

* igt@gem_eio@in-flight-contexts-immediate:
- shard-tglb: [TIMEOUT][91] ([i915#3063]) -> [PASS][92]
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-tglb1/igt@[email protected]
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb1/igt@[email protected]

* igt@gem_eio@unwedge-stress:
- shard-tglb: [FAIL][93] ([i915#232]) -> [PASS][94]
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-tglb1/igt@[email protected]
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb7/igt@[email protected]

* igt@gem_exec_balancer@parallel-out-fence:
- shard-iclb: [SKIP][95] ([i915#4525]) -> [PASS][96] +2 similar issues
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb8/igt@[email protected]
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb1/igt@[email protected]

* igt@gem_exec_fair@basic-none-share@rcs0:
- shard-iclb: [FAIL][97] ([i915#2842]) -> [PASS][98]
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb7/igt@gem_exec_fair@[email protected]
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb7/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-none-solo@rcs0:
- shard-apl: [FAIL][99] ([i915#2842]) -> [PASS][100] +1 similar issue
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-apl1/igt@gem_exec_fair@[email protected]
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl6/igt@gem_exec_fair@[email protected]

* igt@gem_exec_fair@basic-pace@vecs0:
- shard-kbl: [FAIL][101] ([i915#2842]) -> [PASS][102] +3 similar issues
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-kbl7/igt@gem_exec_fair@[email protected]
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@gem_exec_fair@[email protected]

* igt@gem_huc_copy@huc-copy:
- shard-tglb: [SKIP][103] ([i915#2190]) -> [PASS][104]
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-tglb7/igt@[email protected]
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-tglb5/igt@[email protected]

* igt@i915_pm_dc@dc9-dpms:
- shard-iclb: [SKIP][105] ([i915#4281]) -> [PASS][106]
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb3/igt@[email protected]
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb5/igt@[email protected]

* igt@i915_selftest@live@hangcheck:
- shard-snb: [INCOMPLETE][107] ([i915#3921]) -> [PASS][108]
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-snb6/igt@i915_selftest@[email protected]
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-snb2/igt@i915_selftest@[email protected]

* igt@i915_suspend@debugfs-reader:
- shard-skl: [INCOMPLETE][109] -> [PASS][110]
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-skl8/igt@[email protected]
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl9/igt@[email protected]

* igt@kms_fbcon_fbt@fbc-suspend:
- shard-apl: [INCOMPLETE][111] ([i915#180] / [i915#1982]) -> [PASS][112]
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-apl4/igt@[email protected]
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl1/igt@[email protected]

* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@ac-hdmi-a1-hdmi-a2:
- shard-glk: [FAIL][113] ([i915#2122]) -> [PASS][114] +1 similar issue
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-glk7/igt@kms_flip@[email protected]
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-glk5/igt@kms_flip@[email protected]

* igt@kms_flip@flip-vs-expired-vblank-interruptible@b-dp1:
- shard-apl: [FAIL][115] ([i915#79]) -> [PASS][116]
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-apl7/igt@kms_flip@[email protected]
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl3/igt@kms_flip@[email protected]

* igt@kms_flip@flip-vs-expired-vblank@a-edp1:
- shard-skl: [FAIL][117] ([i915#2122]) -> [PASS][118] +3 similar issues
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-skl3/igt@kms_flip@[email protected]
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl3/igt@kms_flip@[email protected]

* igt@kms_flip@flip-vs-suspend@b-vga1:
- shard-snb: [SKIP][119] ([fdo#109271]) -> [PASS][120] +1 similar issue
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-snb6/igt@kms_flip@[email protected]
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-snb2/igt@kms_flip@[email protected]

* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling:
- shard-iclb: [SKIP][121] ([i915#3701]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-downscaling.html

* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-kbl: [DMESG-WARN][123] ([i915#180]) -> [PASS][124] +6 similar issues
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-kbl4/igt@[email protected]
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-kbl6/igt@[email protected]

* igt@kms_frontbuffer_tracking@fbcpsr-suspend:
- shard-iclb: [INCOMPLETE][125] -> [PASS][126]
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb4/igt@[email protected]
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb7/igt@[email protected]

* igt@kms_hdr@bpc-switch-suspend:
- shard-skl: [FAIL][127] ([i915#1188]) -> [PASS][128]
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-skl7/igt@[email protected]
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-skl2/igt@[email protected]

* igt@kms_psr@psr2_sprite_plane_move:
- shard-iclb: [SKIP][129] ([fdo#109441]) -> [PASS][130] +2 similar issues
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb5/igt@kms_psr@psr2_sprite_plane_move.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html

* igt@kms_setmode@basic:
- shard-apl: [FAIL][131] ([i915#31]) -> [PASS][132]
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-apl1/igt@[email protected]
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-apl6/igt@[email protected]

#### Warnings ####

* igt@gem_exec_balancer@parallel-ordering:
- shard-iclb: [SKIP][133] ([i915#4525]) -> [FAIL][134] ([i915#4916])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb5/igt@[email protected]
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb2/igt@[email protected]

* igt@i915_pm_rc6_residency@rc6-fence:
- shard-iclb: [WARN][135] ([i915#2684]) -> [WARN][136] ([i915#1804] / [i915#2684])
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb1/igt@[email protected]
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb3/igt@[email protected]

* igt@kms_psr2_sf@plane-move-sf-dmg-area:
- shard-iclb: [SKIP][137] ([fdo#111068] / [i915#658]) -> [SKIP][138] ([i915#2920])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_11111/shard-iclb5/igt@[email protected]
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/shard-iclb2/igt@[email protected]

* igt@runner@aborted:
- shard-kbl:

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_22034/index.html