* [PATCH v2 00/13] drm/i915: dissolve soc/
@ 2025-11-19 18:52 Jani Nikula
2025-11-19 18:52 ` [PATCH v2 01/13] drm/i915/edram: extract i915_edram.[ch] for edram detection Jani Nikula
` (16 more replies)
0 siblings, 17 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Split soc/ to i915 and display specific parts, and relocate code
accordingly.
In v2, cover all of soc/.
BR,
Jani.
Jani Nikula (13):
drm/i915/edram: extract i915_edram.[ch] for edram detection
drm/i915: split out i915_freq.[ch]
drm/i915: move intel_dram.[ch] from soc/ to display/
drm/xe: remove MISSING_CASE() from compat i915_utils.h
drm/i915/dram: convert to struct intel_display
drm/i915: move dram_info to struct intel_display
drm/i915: move intel_rom.[ch] from soc/ to display/
drm/xe: remove remaining platform checks from compat i915_drv.h
drm/i915/gmch: split out i915_gmch.[ch] from soc
drm/i915/gmch: switch to use pci_bus_{read,write}_config_word()
drm/i915/gmch: convert intel_gmch.c to struct intel_display
drm/i915: merge soc/intel_gmch.[ch] to display/intel_vga.c
drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915
drivers/gpu/drm/i915/Makefile | 11 +-
drivers/gpu/drm/i915/display/i9xx_wm.c | 5 +-
drivers/gpu/drm/i915/display/intel_bios.c | 3 +-
drivers/gpu/drm/i915/display/intel_bw.c | 5 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 7 +-
.../gpu/drm/i915/display/intel_display_core.h | 4 +
.../drm/i915/display/intel_display_power.c | 5 +-
.../drm/i915/{soc => display}/intel_dram.c | 249 ++++++++----------
.../drm/i915/{soc => display}/intel_dram.h | 12 +-
.../gpu/drm/i915/{soc => display}/intel_rom.c | 0
.../gpu/drm/i915/{soc => display}/intel_rom.h | 0
drivers/gpu/drm/i915/display/intel_vga.c | 44 +++-
drivers/gpu/drm/i915/display/skl_watermark.c | 6 +-
.../gpu/drm/i915/gt/intel_gt_clock_utils.c | 4 +-
drivers/gpu/drm/i915/gt/intel_rps.c | 6 +-
drivers/gpu/drm/i915/i915_driver.c | 18 +-
drivers/gpu/drm/i915/i915_drv.h | 3 -
drivers/gpu/drm/i915/i915_edram.c | 44 ++++
drivers/gpu/drm/i915/i915_edram.h | 11 +
drivers/gpu/drm/i915/i915_freq.c | 111 ++++++++
drivers/gpu/drm/i915/i915_freq.h | 13 +
.../i915/{soc/intel_gmch.c => i915_gmch.c} | 61 +----
drivers/gpu/drm/i915/i915_gmch.h | 13 +
drivers/gpu/drm/i915/soc/intel_gmch.h | 20 --
drivers/gpu/drm/xe/Makefile | 13 +-
.../gpu/drm/xe/compat-i915-headers/i915_drv.h | 15 --
.../drm/xe/compat-i915-headers/i915_utils.h | 6 -
.../xe/compat-i915-headers/soc/intel_dram.h | 6 -
.../xe/compat-i915-headers/soc/intel_gmch.h | 6 -
.../xe/compat-i915-headers/soc/intel_rom.h | 6 -
drivers/gpu/drm/xe/display/xe_display.c | 4 +-
drivers/gpu/drm/xe/display/xe_display_misc.c | 16 --
drivers/gpu/drm/xe/xe_device_types.h | 8 -
33 files changed, 394 insertions(+), 341 deletions(-)
rename drivers/gpu/drm/i915/{soc => display}/intel_dram.c (70%)
rename drivers/gpu/drm/i915/{soc => display}/intel_dram.h (68%)
rename drivers/gpu/drm/i915/{soc => display}/intel_rom.c (100%)
rename drivers/gpu/drm/i915/{soc => display}/intel_rom.h (100%)
create mode 100644 drivers/gpu/drm/i915/i915_edram.c
create mode 100644 drivers/gpu/drm/i915/i915_edram.h
create mode 100644 drivers/gpu/drm/i915/i915_freq.c
create mode 100644 drivers/gpu/drm/i915/i915_freq.h
rename drivers/gpu/drm/i915/{soc/intel_gmch.c => i915_gmch.c} (68%)
create mode 100644 drivers/gpu/drm/i915/i915_gmch.h
delete mode 100644 drivers/gpu/drm/i915/soc/intel_gmch.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_rom.h
delete mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
--
2.47.3
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v2 01/13] drm/i915/edram: extract i915_edram.[ch] for edram detection
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 02/13] drm/i915: split out i915_freq.[ch] Jani Nikula
` (15 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
While edram detection ostensibly belongs with the rest of the dram stuff
in soc/intel_dram.c, it's only required by i915 core, not
display. Extract it to a separate i915_edram.[ch] file.
This allows us to drop the edram_size_mb member from struct xe_device.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/i915_driver.c | 3 +-
drivers/gpu/drm/i915/i915_edram.c | 44 +++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_edram.h | 11 +++++++
drivers/gpu/drm/i915/soc/intel_dram.c | 36 ----------------------
drivers/gpu/drm/i915/soc/intel_dram.h | 1 -
drivers/gpu/drm/xe/xe_device_types.h | 6 ----
7 files changed, 58 insertions(+), 44 deletions(-)
create mode 100644 drivers/gpu/drm/i915/i915_edram.c
create mode 100644 drivers/gpu/drm/i915/i915_edram.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 9a4f89c9a1cd..3ca4e0cace76 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -27,6 +27,7 @@ i915-y += \
i915_config.o \
i915_driver.o \
i915_drm_client.o \
+ i915_edram.o \
i915_getparam.o \
i915_ioctl.o \
i915_irq.o \
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 7c60b6873934..44a17ffc3058 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -94,6 +94,7 @@
#include "i915_driver.h"
#include "i915_drm_client.h"
#include "i915_drv.h"
+#include "i915_edram.h"
#include "i915_file_private.h"
#include "i915_getparam.h"
#include "i915_hwmon.h"
@@ -493,7 +494,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
}
/* needs to be done before ggtt probe */
- intel_dram_edram_detect(dev_priv);
+ i915_edram_detect(dev_priv);
ret = i915_set_dma_info(dev_priv);
if (ret)
diff --git a/drivers/gpu/drm/i915/i915_edram.c b/drivers/gpu/drm/i915/i915_edram.c
new file mode 100644
index 000000000000..5818ec396d1e
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915_edram.c
@@ -0,0 +1,44 @@
+// SPDX-License-Identifier: MIT
+/* Copyright © 2025 Intel Corporation */
+
+#include <drm/drm_print.h>
+
+#include "i915_drv.h"
+#include "i915_edram.h"
+#include "i915_reg.h"
+
+static u32 gen9_edram_size_mb(struct drm_i915_private *i915, u32 cap)
+{
+ static const u8 ways[8] = { 4, 8, 12, 16, 16, 16, 16, 16 };
+ static const u8 sets[4] = { 1, 1, 2, 2 };
+
+ return EDRAM_NUM_BANKS(cap) *
+ ways[EDRAM_WAYS_IDX(cap)] *
+ sets[EDRAM_SETS_IDX(cap)];
+}
+
+void i915_edram_detect(struct drm_i915_private *i915)
+{
+ u32 edram_cap = 0;
+
+ if (!(IS_HASWELL(i915) || IS_BROADWELL(i915) || GRAPHICS_VER(i915) >= 9))
+ return;
+
+ edram_cap = intel_uncore_read_fw(&i915->uncore, HSW_EDRAM_CAP);
+
+ /* NB: We can't write IDICR yet because we don't have gt funcs set up */
+
+ if (!(edram_cap & EDRAM_ENABLED))
+ return;
+
+ /*
+ * The needed capability bits for size calculation are not there with
+ * pre gen9 so return 128MB always.
+ */
+ if (GRAPHICS_VER(i915) < 9)
+ i915->edram_size_mb = 128;
+ else
+ i915->edram_size_mb = gen9_edram_size_mb(i915, edram_cap);
+
+ drm_info(&i915->drm, "Found %uMB of eDRAM\n", i915->edram_size_mb);
+}
diff --git a/drivers/gpu/drm/i915/i915_edram.h b/drivers/gpu/drm/i915/i915_edram.h
new file mode 100644
index 000000000000..8319422ace9d
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915_edram.h
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2025 Intel Corporation */
+
+#ifndef __I915_DRAM_H__
+#define __I915_DRAM_H__
+
+struct drm_i915_private;
+
+void i915_edram_detect(struct drm_i915_private *i915);
+
+#endif /* __I915_DRAM_H__ */
diff --git a/drivers/gpu/drm/i915/soc/intel_dram.c b/drivers/gpu/drm/i915/soc/intel_dram.c
index 739cfe48f6db..cfe96c3c1b1a 100644
--- a/drivers/gpu/drm/i915/soc/intel_dram.c
+++ b/drivers/gpu/drm/i915/soc/intel_dram.c
@@ -861,39 +861,3 @@ const struct dram_info *intel_dram_info(struct drm_device *drm)
return i915->dram_info;
}
-
-static u32 gen9_edram_size_mb(struct drm_i915_private *i915, u32 cap)
-{
- static const u8 ways[8] = { 4, 8, 12, 16, 16, 16, 16, 16 };
- static const u8 sets[4] = { 1, 1, 2, 2 };
-
- return EDRAM_NUM_BANKS(cap) *
- ways[EDRAM_WAYS_IDX(cap)] *
- sets[EDRAM_SETS_IDX(cap)];
-}
-
-void intel_dram_edram_detect(struct drm_i915_private *i915)
-{
- u32 edram_cap = 0;
-
- if (!(IS_HASWELL(i915) || IS_BROADWELL(i915) || GRAPHICS_VER(i915) >= 9))
- return;
-
- edram_cap = intel_uncore_read_fw(&i915->uncore, HSW_EDRAM_CAP);
-
- /* NB: We can't write IDICR yet because we don't have gt funcs set up */
-
- if (!(edram_cap & EDRAM_ENABLED))
- return;
-
- /*
- * The needed capability bits for size calculation are not there with
- * pre gen9 so return 128MB always.
- */
- if (GRAPHICS_VER(i915) < 9)
- i915->edram_size_mb = 128;
- else
- i915->edram_size_mb = gen9_edram_size_mb(i915, edram_cap);
-
- drm_info(&i915->drm, "Found %uMB of eDRAM\n", i915->edram_size_mb);
-}
diff --git a/drivers/gpu/drm/i915/soc/intel_dram.h b/drivers/gpu/drm/i915/soc/intel_dram.h
index 8475ee379daa..58aaf2f91afe 100644
--- a/drivers/gpu/drm/i915/soc/intel_dram.h
+++ b/drivers/gpu/drm/i915/soc/intel_dram.h
@@ -35,7 +35,6 @@ struct dram_info {
bool has_16gb_dimms;
};
-void intel_dram_edram_detect(struct drm_i915_private *i915);
int intel_dram_detect(struct drm_i915_private *i915);
unsigned int intel_fsb_freq(struct drm_i915_private *i915);
unsigned int intel_mem_freq(struct drm_i915_private *i915);
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index 0b2fa7c56d38..a072c020b84b 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -650,12 +650,6 @@ struct xe_device {
*/
const struct dram_info *dram_info;
- /*
- * edram size in MB.
- * Cannot be determined by PCIID. You must always read a register.
- */
- u32 edram_size_mb;
-
struct intel_uncore {
spinlock_t lock;
} uncore;
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 02/13] drm/i915: split out i915_freq.[ch]
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
2025-11-19 18:52 ` [PATCH v2 01/13] drm/i915/edram: extract i915_edram.[ch] for edram detection Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 03/13] drm/i915: move intel_dram.[ch] from soc/ to display/ Jani Nikula
` (14 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
The i915 core only needs three rather specific functions from
soc/intel_dram.[ch]: i9xx_fsb_freq(), ilk_fsb_freq(), and
ilk_mem_freq(). Add new i915_freq.[ch] and duplicate those functions for
i915 to reduce the dependency on soc/ code.
Wile duplication in general is bad, here it's a tradeoff to simplify the
i915, xe and display interactions.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 1 +
.../gpu/drm/i915/gt/intel_gt_clock_utils.c | 4 +-
drivers/gpu/drm/i915/gt/intel_rps.c | 6 +-
drivers/gpu/drm/i915/i915_freq.c | 111 ++++++++++++++++++
drivers/gpu/drm/i915/i915_freq.h | 13 ++
5 files changed, 130 insertions(+), 5 deletions(-)
create mode 100644 drivers/gpu/drm/i915/i915_freq.c
create mode 100644 drivers/gpu/drm/i915/i915_freq.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 3ca4e0cace76..a696d8b77b4d 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -28,6 +28,7 @@ i915-y += \
i915_driver.o \
i915_drm_client.o \
i915_edram.o \
+ i915_freq.o \
i915_getparam.o \
i915_ioctl.o \
i915_irq.o \
diff --git a/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c b/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
index c90b35881a26..aecd120972ea 100644
--- a/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
+++ b/drivers/gpu/drm/i915/gt/intel_gt_clock_utils.c
@@ -4,12 +4,12 @@
*/
#include "i915_drv.h"
+#include "i915_freq.h"
#include "i915_reg.h"
#include "intel_gt.h"
#include "intel_gt_clock_utils.h"
#include "intel_gt_print.h"
#include "intel_gt_regs.h"
-#include "soc/intel_dram.h"
static u32 read_reference_ts_freq(struct intel_uncore *uncore)
{
@@ -148,7 +148,7 @@ static u32 gen4_read_clock_frequency(struct intel_uncore *uncore)
*
* Testing on actual hardware has shown there is no /16.
*/
- return DIV_ROUND_CLOSEST(intel_fsb_freq(uncore->i915), 4) * 1000;
+ return DIV_ROUND_CLOSEST(i9xx_fsb_freq(uncore->i915), 4) * 1000;
}
static u32 read_clock_frequency(struct intel_uncore *uncore)
diff --git a/drivers/gpu/drm/i915/gt/intel_rps.c b/drivers/gpu/drm/i915/gt/intel_rps.c
index d233dc122bd7..90b7eee78f1f 100644
--- a/drivers/gpu/drm/i915/gt/intel_rps.c
+++ b/drivers/gpu/drm/i915/gt/intel_rps.c
@@ -10,9 +10,9 @@
#include "display/intel_display_rps.h"
#include "display/vlv_clock.h"
-#include "soc/intel_dram.h"
#include "i915_drv.h"
+#include "i915_freq.h"
#include "i915_irq.h"
#include "i915_reg.h"
#include "i915_wait_util.h"
@@ -285,8 +285,8 @@ static void gen5_rps_init(struct intel_rps *rps)
u32 rgvmodectl;
int c_m, i;
- fsb_freq = intel_fsb_freq(i915);
- mem_freq = intel_mem_freq(i915);
+ fsb_freq = ilk_fsb_freq(i915);
+ mem_freq = ilk_mem_freq(i915);
if (fsb_freq <= 3200000)
c_m = 0;
diff --git a/drivers/gpu/drm/i915/i915_freq.c b/drivers/gpu/drm/i915/i915_freq.c
new file mode 100644
index 000000000000..9bdaea34aef9
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915_freq.c
@@ -0,0 +1,111 @@
+// SPDX-License-Identifier: MIT
+/* Copyright © 2025 Intel Corporation */
+
+#include <drm/drm_print.h>
+
+#include "i915_drv.h"
+#include "i915_freq.h"
+#include "intel_mchbar_regs.h"
+
+unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
+{
+ u32 fsb;
+
+ /*
+ * Note that this only reads the state of the FSB
+ * straps, not the actual FSB frequency. Some BIOSen
+ * let you configure each independently. Ideally we'd
+ * read out the actual FSB frequency but sadly we
+ * don't know which registers have that information,
+ * and all the relevant docs have gone to bit heaven :(
+ */
+ fsb = intel_uncore_read(&i915->uncore, CLKCFG) & CLKCFG_FSB_MASK;
+
+ if (IS_PINEVIEW(i915) || IS_MOBILE(i915)) {
+ switch (fsb) {
+ case CLKCFG_FSB_400:
+ return 400000;
+ case CLKCFG_FSB_533:
+ return 533333;
+ case CLKCFG_FSB_667:
+ return 666667;
+ case CLKCFG_FSB_800:
+ return 800000;
+ case CLKCFG_FSB_1067:
+ return 1066667;
+ case CLKCFG_FSB_1333:
+ return 1333333;
+ default:
+ MISSING_CASE(fsb);
+ return 1333333;
+ }
+ } else {
+ switch (fsb) {
+ case CLKCFG_FSB_400_ALT:
+ return 400000;
+ case CLKCFG_FSB_533:
+ return 533333;
+ case CLKCFG_FSB_667:
+ return 666667;
+ case CLKCFG_FSB_800:
+ return 800000;
+ case CLKCFG_FSB_1067_ALT:
+ return 1066667;
+ case CLKCFG_FSB_1333_ALT:
+ return 1333333;
+ case CLKCFG_FSB_1600_ALT:
+ return 1600000;
+ default:
+ MISSING_CASE(fsb);
+ return 1333333;
+ }
+ }
+}
+
+unsigned int ilk_fsb_freq(struct drm_i915_private *i915)
+{
+ u16 fsb;
+
+ fsb = intel_uncore_read16(&i915->uncore, CSIPLL0) & 0x3ff;
+
+ switch (fsb) {
+ case 0x00c:
+ return 3200000;
+ case 0x00e:
+ return 3733333;
+ case 0x010:
+ return 4266667;
+ case 0x012:
+ return 4800000;
+ case 0x014:
+ return 5333333;
+ case 0x016:
+ return 5866667;
+ case 0x018:
+ return 6400000;
+ default:
+ drm_dbg(&i915->drm, "unknown fsb frequency 0x%04x\n", fsb);
+ return 0;
+ }
+}
+
+unsigned int ilk_mem_freq(struct drm_i915_private *i915)
+{
+ u16 ddrpll;
+
+ ddrpll = intel_uncore_read16(&i915->uncore, DDRMPLL1);
+ switch (ddrpll & 0xff) {
+ case 0xc:
+ return 800000;
+ case 0x10:
+ return 1066667;
+ case 0x14:
+ return 1333333;
+ case 0x18:
+ return 1600000;
+ default:
+ drm_dbg(&i915->drm, "unknown memory frequency 0x%02x\n",
+ ddrpll & 0xff);
+ return 0;
+ }
+}
diff --git a/drivers/gpu/drm/i915/i915_freq.h b/drivers/gpu/drm/i915/i915_freq.h
new file mode 100644
index 000000000000..53b0ecb95440
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915_freq.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2025 Intel Corporation */
+
+#ifndef __I915_FREQ_H__
+#define __I915_FREQ_H__
+
+struct drm_i915_private;
+
+unsigned int i9xx_fsb_freq(struct drm_i915_private *i915);
+unsigned int ilk_fsb_freq(struct drm_i915_private *i915);
+unsigned int ilk_mem_freq(struct drm_i915_private *i915);
+
+#endif /* __I915_FREQ_H__ */
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 03/13] drm/i915: move intel_dram.[ch] from soc/ to display/
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
2025-11-19 18:52 ` [PATCH v2 01/13] drm/i915/edram: extract i915_edram.[ch] for edram detection Jani Nikula
2025-11-19 18:52 ` [PATCH v2 02/13] drm/i915: split out i915_freq.[ch] Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 04/13] drm/xe: remove MISSING_CASE() from compat i915_utils.h Jani Nikula
` (13 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
The remaining users of intel_dram.[ch] are all in display. Move them
under display.
This allows us to remove the compat soc/intel_dram.h from xe.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 2 +-
drivers/gpu/drm/i915/display/i9xx_wm.c | 3 +--
drivers/gpu/drm/i915/display/intel_bw.c | 3 +--
drivers/gpu/drm/i915/display/intel_cdclk.c | 3 +--
drivers/gpu/drm/i915/display/intel_display_power.c | 3 +--
drivers/gpu/drm/i915/{soc => display}/intel_dram.c | 5 ++---
drivers/gpu/drm/i915/{soc => display}/intel_dram.h | 0
drivers/gpu/drm/i915/display/skl_watermark.c | 2 +-
drivers/gpu/drm/i915/i915_driver.c | 2 +-
drivers/gpu/drm/xe/Makefile | 2 +-
| 6 ------
drivers/gpu/drm/xe/display/xe_display.c | 2 +-
12 files changed, 11 insertions(+), 22 deletions(-)
rename drivers/gpu/drm/i915/{soc => display}/intel_dram.c (99%)
rename drivers/gpu/drm/i915/{soc => display}/intel_dram.h (100%)
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index a696d8b77b4d..838c8e58e4a2 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -58,7 +58,6 @@ i915-y += \
# core peripheral code
i915-y += \
- soc/intel_dram.o \
soc/intel_gmch.o \
soc/intel_rom.o
@@ -268,6 +267,7 @@ i915-y += \
display/intel_dpll_mgr.o \
display/intel_dpt.o \
display/intel_dpt_common.o \
+ display/intel_dram.o \
display/intel_drrs.o \
display/intel_dsb.o \
display/intel_dsb_buffer.o \
diff --git a/drivers/gpu/drm/i915/display/i9xx_wm.c b/drivers/gpu/drm/i915/display/i9xx_wm.c
index 01f3803fa09f..27e2d73bc505 100644
--- a/drivers/gpu/drm/i915/display/i9xx_wm.c
+++ b/drivers/gpu/drm/i915/display/i9xx_wm.c
@@ -7,8 +7,6 @@
#include <drm/drm_print.h>
-#include "soc/intel_dram.h"
-
#include "i915_drv.h"
#include "i915_reg.h"
#include "i9xx_wm.h"
@@ -19,6 +17,7 @@
#include "intel_display.h"
#include "intel_display_regs.h"
#include "intel_display_trace.h"
+#include "intel_dram.h"
#include "intel_fb.h"
#include "intel_mchbar_regs.h"
#include "intel_wm.h"
diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index 1f6461be50ef..957c90e62569 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -6,8 +6,6 @@
#include <drm/drm_atomic_state_helper.h>
#include <drm/drm_print.h>
-#include "soc/intel_dram.h"
-
#include "i915_drv.h"
#include "i915_reg.h"
#include "intel_bw.h"
@@ -16,6 +14,7 @@
#include "intel_display_regs.h"
#include "intel_display_types.h"
#include "intel_display_utils.h"
+#include "intel_dram.h"
#include "intel_mchbar_regs.h"
#include "intel_pcode.h"
#include "intel_uncore.h"
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 37801c744b05..531819391c8c 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -28,8 +28,6 @@
#include <drm/drm_fixed.h>
#include <drm/drm_print.h>
-#include "soc/intel_dram.h"
-
#include "hsw_ips.h"
#include "i915_drv.h"
#include "i915_reg.h"
@@ -42,6 +40,7 @@
#include "intel_display_regs.h"
#include "intel_display_types.h"
#include "intel_display_utils.h"
+#include "intel_dram.h"
#include "intel_mchbar_regs.h"
#include "intel_pci_config.h"
#include "intel_pcode.h"
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index a383ef23391d..9c5f0277d8c2 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -8,8 +8,6 @@
#include <drm/drm_print.h>
-#include "soc/intel_dram.h"
-
#include "i915_drv.h"
#include "i915_reg.h"
#include "intel_backlight_regs.h"
@@ -25,6 +23,7 @@
#include "intel_display_types.h"
#include "intel_display_utils.h"
#include "intel_dmc.h"
+#include "intel_dram.h"
#include "intel_mchbar_regs.h"
#include "intel_parent.h"
#include "intel_pch_refclk.h"
diff --git a/drivers/gpu/drm/i915/soc/intel_dram.c b/drivers/gpu/drm/i915/display/intel_dram.c
similarity index 99%
rename from drivers/gpu/drm/i915/soc/intel_dram.c
rename to drivers/gpu/drm/i915/display/intel_dram.c
index cfe96c3c1b1a..7142772f2a6e 100644
--- a/drivers/gpu/drm/i915/soc/intel_dram.c
+++ b/drivers/gpu/drm/i915/display/intel_dram.c
@@ -8,11 +8,10 @@
#include <drm/drm_managed.h>
#include <drm/drm_print.h>
-#include "../display/intel_display_core.h" /* FIXME */
-
#include "i915_drv.h"
#include "i915_reg.h"
-#include "i915_utils.h"
+#include "intel_display_core.h"
+#include "intel_display_utils.h"
#include "intel_dram.h"
#include "intel_mchbar_regs.h"
#include "intel_pcode.h"
diff --git a/drivers/gpu/drm/i915/soc/intel_dram.h b/drivers/gpu/drm/i915/display/intel_dram.h
similarity index 100%
rename from drivers/gpu/drm/i915/soc/intel_dram.h
rename to drivers/gpu/drm/i915/display/intel_dram.h
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index 54e9e0be019d..a33e0cec8cba 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -8,7 +8,6 @@
#include <drm/drm_blend.h>
#include <drm/drm_print.h>
-#include "soc/intel_dram.h"
#include "i915_reg.h"
#include "i9xx_wm.h"
#include "intel_atomic.h"
@@ -23,6 +22,7 @@
#include "intel_display_rpm.h"
#include "intel_display_types.h"
#include "intel_display_utils.h"
+#include "intel_dram.h"
#include "intel_fb.h"
#include "intel_fixed.h"
#include "intel_flipq.h"
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 44a17ffc3058..d1f573f1b6cc 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -59,6 +59,7 @@
#include "display/intel_dmc.h"
#include "display/intel_dp.h"
#include "display/intel_dpt.h"
+#include "display/intel_dram.h"
#include "display/intel_encoder.h"
#include "display/intel_fbdev.h"
#include "display/intel_gmbus.h"
@@ -87,7 +88,6 @@
#include "pxp/intel_pxp_debugfs.h"
#include "pxp/intel_pxp_pm.h"
-#include "soc/intel_dram.h"
#include "soc/intel_gmch.h"
#include "i915_debugfs.h"
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 1a3aa041820d..85642340a8fa 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -224,7 +224,6 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
# SOC code shared with i915
xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-soc/intel_dram.o \
i915-soc/intel_rom.o
# Display code shared with i915
@@ -276,6 +275,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
i915-display/intel_dpll.o \
i915-display/intel_dpll_mgr.o \
i915-display/intel_dpt_common.o \
+ i915-display/intel_dram.o \
i915-display/intel_drrs.o \
i915-display/intel_dsb.o \
i915-display/intel_dsi.o \
diff --git a/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h b/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
deleted file mode 100644
index 65707e20c557..000000000000
--- a/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#include "../../../i915/soc/intel_dram.h"
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index e3320d9e6314..9b1d21e03df0 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -17,7 +17,6 @@
#include <drm/intel/display_parent_interface.h>
#include <uapi/drm/xe_drm.h>
-#include "soc/intel_dram.h"
#include "intel_acpi.h"
#include "intel_audio.h"
#include "intel_bw.h"
@@ -29,6 +28,7 @@
#include "intel_dmc.h"
#include "intel_dmc_wl.h"
#include "intel_dp.h"
+#include "intel_dram.h"
#include "intel_encoder.h"
#include "intel_fbdev.h"
#include "intel_hdcp.h"
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 04/13] drm/xe: remove MISSING_CASE() from compat i915_utils.h
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (2 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 03/13] drm/i915: move intel_dram.[ch] from soc/ to display/ Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 05/13] drm/i915/dram: convert to struct intel_display Jani Nikula
` (12 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
There are no longer users for MISSING_CASE() in the compat
i915_utils.h. Remove it to prevent new users from showing up.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
| 6 ------
1 file changed, 6 deletions(-)
--git a/drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
index bcd441dc0fce..3639721f0bf8 100644
--- a/drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
+++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
@@ -3,11 +3,5 @@
* Copyright © 2023 Intel Corporation
*/
-/* for soc/ */
-#ifndef MISSING_CASE
-#define MISSING_CASE(x) WARN(1, "Missing case (%s == %ld)\n", \
- __stringify(x), (long)(x))
-#endif
-
/* for a couple of users under i915/display */
#define i915_inject_probe_failure(unused) ((unused) && 0)
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 05/13] drm/i915/dram: convert to struct intel_display
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (3 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 04/13] drm/xe: remove MISSING_CASE() from compat i915_utils.h Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-20 8:31 ` Jani Nikula
2025-11-20 16:18 ` [PATCH v3] " Jani Nikula
2025-11-19 18:52 ` [PATCH v2 06/13] drm/i915: move dram_info " Jani Nikula
` (11 subsequent siblings)
16 siblings, 2 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Convert everything except uncore access to struct intel_display.
While at it, convert logging to drm_dbg_kms().
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/i9xx_wm.c | 2 +-
drivers/gpu/drm/i915/display/intel_bw.c | 2 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 4 +-
.../drm/i915/display/intel_display_power.c | 2 +-
drivers/gpu/drm/i915/display/intel_dram.c | 205 +++++++++---------
drivers/gpu/drm/i915/display/intel_dram.h | 11 +-
drivers/gpu/drm/i915/display/skl_watermark.c | 4 +-
drivers/gpu/drm/i915/i915_driver.c | 2 +-
drivers/gpu/drm/xe/display/xe_display.c | 2 +-
9 files changed, 120 insertions(+), 114 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/i9xx_wm.c b/drivers/gpu/drm/i915/display/i9xx_wm.c
index 27e2d73bc505..167277cd8877 100644
--- a/drivers/gpu/drm/i915/display/i9xx_wm.c
+++ b/drivers/gpu/drm/i915/display/i9xx_wm.c
@@ -90,7 +90,7 @@ static const struct cxsr_latency cxsr_latency_table[] = {
static const struct cxsr_latency *pnv_get_cxsr_latency(struct intel_display *display)
{
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
bool is_ddr3 = dram_info->type == INTEL_DRAM_DDR3;
int i;
diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index 957c90e62569..d27835ed49c2 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -799,7 +799,7 @@ static unsigned int icl_qgv_bw(struct intel_display *display,
void intel_bw_init_hw(struct intel_display *display)
{
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
if (!HAS_DISPLAY(display))
return;
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 531819391c8c..5c90e53b4e46 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -3737,10 +3737,8 @@ static int pch_rawclk(struct intel_display *display)
static int i9xx_hrawclk(struct intel_display *display)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
-
/* hrawclock is 1/4 the FSB frequency */
- return DIV_ROUND_CLOSEST(intel_fsb_freq(i915), 4);
+ return DIV_ROUND_CLOSEST(intel_fsb_freq(display), 4);
}
/**
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index 9c5f0277d8c2..08db9bbbfcb1 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -1616,7 +1616,7 @@ static const struct buddy_page_mask wa_1409767108_buddy_page_masks[] = {
static void tgl_bw_buddy_init(struct intel_display *display)
{
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
const struct buddy_page_mask *table;
unsigned long abox_mask = DISPLAY_INFO(display)->abox_mask;
int config, i;
diff --git a/drivers/gpu/drm/i915/display/intel_dram.c b/drivers/gpu/drm/i915/display/intel_dram.c
index 7142772f2a6e..3dfcc7938740 100644
--- a/drivers/gpu/drm/i915/display/intel_dram.c
+++ b/drivers/gpu/drm/i915/display/intel_dram.c
@@ -56,14 +56,17 @@ const char *intel_dram_type_str(enum intel_dram_type type)
#undef DRAM_TYPE_STR
-static enum intel_dram_type pnv_dram_type(struct drm_i915_private *i915)
+static enum intel_dram_type pnv_dram_type(struct intel_display *display)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
+
return intel_uncore_read(&i915->uncore, CSHRDDR3CTL) & CSHRDDR3CTL_DDR3 ?
INTEL_DRAM_DDR3 : INTEL_DRAM_DDR2;
}
-static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
+static unsigned int pnv_mem_freq(struct intel_display *display)
{
+ struct drm_i915_private *dev_priv = to_i915(display->drm);
u32 tmp;
tmp = intel_uncore_read(&dev_priv->uncore, CLKCFG);
@@ -80,8 +83,9 @@ static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
return 0;
}
-static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
+static unsigned int ilk_mem_freq(struct intel_display *display)
{
+ struct drm_i915_private *dev_priv = to_i915(display->drm);
u16 ddrpll;
ddrpll = intel_uncore_read16(&dev_priv->uncore, DDRMPLL1);
@@ -95,19 +99,19 @@ static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
case 0x18:
return 1600000;
default:
- drm_dbg(&dev_priv->drm, "unknown memory frequency 0x%02x\n",
- ddrpll & 0xff);
+ drm_dbg_kms(display->drm, "unknown memory frequency 0x%02x\n",
+ ddrpll & 0xff);
return 0;
}
}
-static unsigned int chv_mem_freq(struct drm_i915_private *i915)
+static unsigned int chv_mem_freq(struct intel_display *display)
{
u32 val;
- vlv_iosf_sb_get(&i915->drm, BIT(VLV_IOSF_SB_CCK));
- val = vlv_iosf_sb_read(&i915->drm, VLV_IOSF_SB_CCK, CCK_FUSE_REG);
- vlv_iosf_sb_put(&i915->drm, BIT(VLV_IOSF_SB_CCK));
+ vlv_iosf_sb_get(display->drm, BIT(VLV_IOSF_SB_CCK));
+ val = vlv_iosf_sb_read(display->drm, VLV_IOSF_SB_CCK, CCK_FUSE_REG);
+ vlv_iosf_sb_put(display->drm, BIT(VLV_IOSF_SB_CCK));
switch ((val >> 2) & 0x7) {
case 3:
@@ -117,13 +121,13 @@ static unsigned int chv_mem_freq(struct drm_i915_private *i915)
}
}
-static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
+static unsigned int vlv_mem_freq(struct intel_display *display)
{
u32 val;
- vlv_iosf_sb_get(&i915->drm, BIT(VLV_IOSF_SB_PUNIT));
- val = vlv_iosf_sb_read(&i915->drm, VLV_IOSF_SB_PUNIT, PUNIT_REG_GPU_FREQ_STS);
- vlv_iosf_sb_put(&i915->drm, BIT(VLV_IOSF_SB_PUNIT));
+ vlv_iosf_sb_get(display->drm, BIT(VLV_IOSF_SB_PUNIT));
+ val = vlv_iosf_sb_read(display->drm, VLV_IOSF_SB_PUNIT, PUNIT_REG_GPU_FREQ_STS);
+ vlv_iosf_sb_put(display->drm, BIT(VLV_IOSF_SB_PUNIT));
switch ((val >> 6) & 3) {
case 0:
@@ -138,22 +142,23 @@ static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
return 0;
}
-unsigned int intel_mem_freq(struct drm_i915_private *i915)
+unsigned int intel_mem_freq(struct intel_display *display)
{
- if (IS_PINEVIEW(i915))
- return pnv_mem_freq(i915);
- else if (GRAPHICS_VER(i915) == 5)
- return ilk_mem_freq(i915);
- else if (IS_CHERRYVIEW(i915))
- return chv_mem_freq(i915);
- else if (IS_VALLEYVIEW(i915))
- return vlv_mem_freq(i915);
+ if (display->platform.pineview)
+ return pnv_mem_freq(display);
+ else if (DISPLAY_VER(display) == 5)
+ return ilk_mem_freq(display);
+ else if (display->platform.cherryview)
+ return chv_mem_freq(display);
+ else if (display->platform.valleyview)
+ return vlv_mem_freq(display);
else
return 0;
}
-static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
+static unsigned int i9xx_fsb_freq(struct intel_display *display)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
u32 fsb;
/*
@@ -166,7 +171,7 @@ static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
*/
fsb = intel_uncore_read(&i915->uncore, CLKCFG) & CLKCFG_FSB_MASK;
- if (IS_PINEVIEW(i915) || IS_MOBILE(i915)) {
+ if (display->platform.pineview || display->platform.mobile) {
switch (fsb) {
case CLKCFG_FSB_400:
return 400000;
@@ -207,8 +212,9 @@ static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
}
}
-static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
+static unsigned int ilk_fsb_freq(struct intel_display *display)
{
+ struct drm_i915_private *dev_priv = to_i915(display->drm);
u16 fsb;
fsb = intel_uncore_read16(&dev_priv->uncore, CSIPLL0) & 0x3ff;
@@ -229,33 +235,33 @@ static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
case 0x018:
return 6400000;
default:
- drm_dbg(&dev_priv->drm, "unknown fsb frequency 0x%04x\n", fsb);
+ drm_dbg_kms(display->drm, "unknown fsb frequency 0x%04x\n", fsb);
return 0;
}
}
-unsigned int intel_fsb_freq(struct drm_i915_private *i915)
+unsigned int intel_fsb_freq(struct intel_display *display)
{
- if (GRAPHICS_VER(i915) == 5)
- return ilk_fsb_freq(i915);
- else if (GRAPHICS_VER(i915) == 3 || GRAPHICS_VER(i915) == 4)
- return i9xx_fsb_freq(i915);
+ if (DISPLAY_VER(display) == 5)
+ return ilk_fsb_freq(display);
+ else if (IS_DISPLAY_VER(display, 3, 4))
+ return i9xx_fsb_freq(display);
else
return 0;
}
-static int i915_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int i915_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
- dram_info->fsb_freq = intel_fsb_freq(i915);
+ dram_info->fsb_freq = intel_fsb_freq(display);
if (dram_info->fsb_freq)
- drm_dbg(&i915->drm, "FSB frequency: %d kHz\n", dram_info->fsb_freq);
+ drm_dbg_kms(display->drm, "FSB frequency: %d kHz\n", dram_info->fsb_freq);
- dram_info->mem_freq = intel_mem_freq(i915);
+ dram_info->mem_freq = intel_mem_freq(display);
if (dram_info->mem_freq)
- drm_dbg(&i915->drm, "DDR speed: %d kHz\n", dram_info->mem_freq);
+ drm_dbg_kms(display->drm, "DDR speed: %d kHz\n", dram_info->mem_freq);
- if (IS_PINEVIEW(i915))
- dram_info->type = pnv_dram_type(i915);
+ if (display->platform.pineview)
+ dram_info->type = pnv_dram_type(display);
return 0;
}
@@ -391,22 +397,22 @@ skl_is_16gb_dimm(const struct dram_dimm_info *dimm)
}
static void
-skl_dram_print_dimm_info(struct drm_i915_private *i915,
+skl_dram_print_dimm_info(struct intel_display *display,
struct dram_dimm_info *dimm,
int channel, char dimm_name)
{
- drm_dbg_kms(&i915->drm,
+ drm_dbg_kms(display->drm,
"CH%u DIMM %c size: %u Gb, width: X%u, ranks: %u, 16Gb+ DIMMs: %s\n",
channel, dimm_name, dimm->size, dimm->width, dimm->ranks,
str_yes_no(skl_is_16gb_dimm(dimm)));
}
static void
-skl_dram_get_dimm_l_info(struct drm_i915_private *i915,
+skl_dram_get_dimm_l_info(struct intel_display *display,
struct dram_dimm_info *dimm,
int channel, u32 val)
{
- if (GRAPHICS_VER(i915) >= 11) {
+ if (DISPLAY_VER(display) >= 11) {
dimm->size = icl_get_dimm_l_size(val);
dimm->width = icl_get_dimm_l_width(val);
dimm->ranks = icl_get_dimm_l_ranks(val);
@@ -416,15 +422,15 @@ skl_dram_get_dimm_l_info(struct drm_i915_private *i915,
dimm->ranks = skl_get_dimm_l_ranks(val);
}
- skl_dram_print_dimm_info(i915, dimm, channel, 'L');
+ skl_dram_print_dimm_info(display, dimm, channel, 'L');
}
static void
-skl_dram_get_dimm_s_info(struct drm_i915_private *i915,
+skl_dram_get_dimm_s_info(struct intel_display *display,
struct dram_dimm_info *dimm,
int channel, u32 val)
{
- if (GRAPHICS_VER(i915) >= 11) {
+ if (DISPLAY_VER(display) >= 11) {
dimm->size = icl_get_dimm_s_size(val);
dimm->width = icl_get_dimm_s_width(val);
dimm->ranks = icl_get_dimm_s_ranks(val);
@@ -434,19 +440,19 @@ skl_dram_get_dimm_s_info(struct drm_i915_private *i915,
dimm->ranks = skl_get_dimm_s_ranks(val);
}
- skl_dram_print_dimm_info(i915, dimm, channel, 'S');
+ skl_dram_print_dimm_info(display, dimm, channel, 'S');
}
static int
-skl_dram_get_channel_info(struct drm_i915_private *i915,
+skl_dram_get_channel_info(struct intel_display *display,
struct dram_channel_info *ch,
int channel, u32 val)
{
- skl_dram_get_dimm_l_info(i915, &ch->dimm_l, channel, val);
- skl_dram_get_dimm_s_info(i915, &ch->dimm_s, channel, val);
+ skl_dram_get_dimm_l_info(display, &ch->dimm_l, channel, val);
+ skl_dram_get_dimm_s_info(display, &ch->dimm_s, channel, val);
if (ch->dimm_l.size == 0 && ch->dimm_s.size == 0) {
- drm_dbg_kms(&i915->drm, "CH%u not populated\n", channel);
+ drm_dbg_kms(display->drm, "CH%u not populated\n", channel);
return -EINVAL;
}
@@ -460,7 +466,7 @@ skl_dram_get_channel_info(struct drm_i915_private *i915,
ch->is_16gb_dimm = skl_is_16gb_dimm(&ch->dimm_l) ||
skl_is_16gb_dimm(&ch->dimm_s);
- drm_dbg_kms(&i915->drm, "CH%u ranks: %u, 16Gb+ DIMMs: %s\n",
+ drm_dbg_kms(display->drm, "CH%u ranks: %u, 16Gb+ DIMMs: %s\n",
channel, ch->ranks, str_yes_no(ch->is_16gb_dimm));
return 0;
@@ -476,8 +482,9 @@ intel_is_dram_symmetric(const struct dram_channel_info *ch0,
}
static int
-skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+skl_dram_get_channels_info(struct intel_display *display, struct dram_info *dram_info)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
struct dram_channel_info ch0 = {}, ch1 = {};
u32 val;
int ret;
@@ -487,23 +494,23 @@ skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram
val = intel_uncore_read(&i915->uncore,
SKL_MAD_DIMM_CH0_0_0_0_MCHBAR_MCMAIN);
- ret = skl_dram_get_channel_info(i915, &ch0, 0, val);
+ ret = skl_dram_get_channel_info(display, &ch0, 0, val);
if (ret == 0)
dram_info->num_channels++;
val = intel_uncore_read(&i915->uncore,
SKL_MAD_DIMM_CH1_0_0_0_MCHBAR_MCMAIN);
- ret = skl_dram_get_channel_info(i915, &ch1, 1, val);
+ ret = skl_dram_get_channel_info(display, &ch1, 1, val);
if (ret == 0)
dram_info->num_channels++;
if (dram_info->num_channels == 0) {
- drm_info(&i915->drm, "Number of memory channels is zero\n");
+ drm_info(display->drm, "Number of memory channels is zero\n");
return -EINVAL;
}
if (ch0.ranks == 0 && ch1.ranks == 0) {
- drm_info(&i915->drm, "couldn't get memory rank information\n");
+ drm_info(display->drm, "couldn't get memory rank information\n");
return -EINVAL;
}
@@ -511,18 +518,19 @@ skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram
dram_info->symmetric_memory = intel_is_dram_symmetric(&ch0, &ch1);
- drm_dbg_kms(&i915->drm, "Memory configuration is symmetric? %s\n",
+ drm_dbg_kms(display->drm, "Memory configuration is symmetric? %s\n",
str_yes_no(dram_info->symmetric_memory));
- drm_dbg_kms(&i915->drm, "16Gb+ DIMMs: %s\n",
+ drm_dbg_kms(display->drm, "16Gb+ DIMMs: %s\n",
str_yes_no(dram_info->has_16gb_dimms));
return 0;
}
static enum intel_dram_type
-skl_get_dram_type(struct drm_i915_private *i915)
+skl_get_dram_type(struct intel_display *display)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
u32 val;
val = intel_uncore_read(&i915->uncore,
@@ -544,13 +552,13 @@ skl_get_dram_type(struct drm_i915_private *i915)
}
static int
-skl_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+skl_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
int ret;
- dram_info->type = skl_get_dram_type(i915);
+ dram_info->type = skl_get_dram_type(display);
- ret = skl_dram_get_channels_info(i915, dram_info);
+ ret = skl_dram_get_channels_info(display, dram_info);
if (ret)
return ret;
@@ -635,8 +643,9 @@ static void bxt_get_dimm_info(struct dram_dimm_info *dimm, u32 val)
dimm->size = bxt_get_dimm_size(val) * intel_dimm_num_devices(dimm);
}
-static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int bxt_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
u32 val;
u8 valid_ranks = 0;
int i;
@@ -657,11 +666,11 @@ static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dr
bxt_get_dimm_info(&dimm, val);
type = bxt_get_dimm_type(val);
- drm_WARN_ON(&i915->drm, type != INTEL_DRAM_UNKNOWN &&
+ drm_WARN_ON(display->drm, type != INTEL_DRAM_UNKNOWN &&
dram_info->type != INTEL_DRAM_UNKNOWN &&
dram_info->type != type);
- drm_dbg_kms(&i915->drm,
+ drm_dbg_kms(display->drm,
"CH%u DIMM size: %u Gb, width: X%u, ranks: %u\n",
i - BXT_D_CR_DRP0_DUNIT_START,
dimm.size, dimm.width, dimm.ranks);
@@ -674,25 +683,25 @@ static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dr
}
if (dram_info->type == INTEL_DRAM_UNKNOWN || valid_ranks == 0) {
- drm_info(&i915->drm, "couldn't get memory information\n");
+ drm_info(display->drm, "couldn't get memory information\n");
return -EINVAL;
}
return 0;
}
-static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv,
+static int icl_pcode_read_mem_global_info(struct intel_display *display,
struct dram_info *dram_info)
{
u32 val = 0;
int ret;
- ret = intel_pcode_read(&dev_priv->drm, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
+ ret = intel_pcode_read(display->drm, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
ICL_PCODE_MEM_SS_READ_GLOBAL_INFO, &val, NULL);
if (ret)
return ret;
- if (GRAPHICS_VER(dev_priv) == 12) {
+ if (DISPLAY_VER(display) == 12) {
switch (val & 0xf) {
case 0:
dram_info->type = INTEL_DRAM_DDR4;
@@ -743,25 +752,25 @@ static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv,
return 0;
}
-static int gen11_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int gen11_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
int ret;
- ret = skl_dram_get_channels_info(i915, dram_info);
+ ret = skl_dram_get_channels_info(display, dram_info);
if (ret)
return ret;
- return icl_pcode_read_mem_global_info(i915, dram_info);
+ return icl_pcode_read_mem_global_info(display, dram_info);
}
-static int gen12_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int gen12_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
- return icl_pcode_read_mem_global_info(i915, dram_info);
+ return icl_pcode_read_mem_global_info(display, dram_info);
}
-static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int xelpdp_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
- struct intel_display *display = i915->display;
+ struct drm_i915_private *i915 = to_i915(display->drm);
u32 val = intel_uncore_read(&i915->uncore, MTL_MEM_SS_INFO_GLOBAL);
switch (REG_FIELD_GET(MTL_DDR_TYPE_MASK, val)) {
@@ -784,11 +793,11 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info
dram_info->type = INTEL_DRAM_LPDDR3;
break;
case 8:
- drm_WARN_ON(&i915->drm, !IS_DGFX(i915));
+ drm_WARN_ON(display->drm, !display->platform.dgfx);
dram_info->type = INTEL_DRAM_GDDR;
break;
case 9:
- drm_WARN_ON(&i915->drm, !IS_DGFX(i915));
+ drm_WARN_ON(display->drm, !display->platform.dgfx);
dram_info->type = INTEL_DRAM_GDDR_ECC;
break;
default:
@@ -806,41 +815,41 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info
return 0;
}
-int intel_dram_detect(struct drm_i915_private *i915)
+int intel_dram_detect(struct intel_display *display)
{
- struct intel_display *display = i915->display;
+ struct drm_i915_private *i915 = to_i915(display->drm);
struct dram_info *dram_info;
int ret;
- if (IS_DG2(i915) || !intel_display_device_present(display))
+ if (display->platform.dg2 || !HAS_DISPLAY(display))
return 0;
- dram_info = drmm_kzalloc(&i915->drm, sizeof(*dram_info), GFP_KERNEL);
+ dram_info = drmm_kzalloc(display->drm, sizeof(*dram_info), GFP_KERNEL);
if (!dram_info)
return -ENOMEM;
i915->dram_info = dram_info;
if (DISPLAY_VER(display) >= 14)
- ret = xelpdp_get_dram_info(i915, dram_info);
- else if (GRAPHICS_VER(i915) >= 12)
- ret = gen12_get_dram_info(i915, dram_info);
- else if (GRAPHICS_VER(i915) >= 11)
- ret = gen11_get_dram_info(i915, dram_info);
- else if (IS_BROXTON(i915) || IS_GEMINILAKE(i915))
- ret = bxt_get_dram_info(i915, dram_info);
- else if (GRAPHICS_VER(i915) >= 9)
- ret = skl_get_dram_info(i915, dram_info);
+ ret = xelpdp_get_dram_info(display, dram_info);
+ else if (DISPLAY_VER(display) >= 12)
+ ret = gen12_get_dram_info(display, dram_info);
+ else if (DISPLAY_VER(display) >= 11)
+ ret = gen11_get_dram_info(display, dram_info);
+ else if (display->platform.broxton || display->platform.geminilake)
+ ret = bxt_get_dram_info(display, dram_info);
+ else if (DISPLAY_VER(display) >= 9)
+ ret = skl_get_dram_info(display, dram_info);
else
- ret = i915_get_dram_info(i915, dram_info);
+ ret = i915_get_dram_info(display, dram_info);
- drm_dbg_kms(&i915->drm, "DRAM type: %s\n",
+ drm_dbg_kms(display->drm, "DRAM type: %s\n",
intel_dram_type_str(dram_info->type));
- drm_dbg_kms(&i915->drm, "DRAM channels: %u\n", dram_info->num_channels);
+ drm_dbg_kms(display->drm, "DRAM channels: %u\n", dram_info->num_channels);
- drm_dbg_kms(&i915->drm, "Num QGV points %u\n", dram_info->num_qgv_points);
- drm_dbg_kms(&i915->drm, "Num PSF GV points %u\n", dram_info->num_psf_gv_points);
+ drm_dbg_kms(display->drm, "Num QGV points %u\n", dram_info->num_qgv_points);
+ drm_dbg_kms(display->drm, "Num PSF GV points %u\n", dram_info->num_psf_gv_points);
/* TODO: Do we want to abort probe on dram detection failures? */
if (ret)
@@ -854,9 +863,9 @@ int intel_dram_detect(struct drm_i915_private *i915)
* checks, and prefer not dereferencing on platforms that shouldn't look at dram
* info, to catch accidental and incorrect dram info checks.
*/
-const struct dram_info *intel_dram_info(struct drm_device *drm)
+const struct dram_info *intel_dram_info(struct intel_display *display)
{
- struct drm_i915_private *i915 = to_i915(drm);
+ struct drm_i915_private *i915 = to_i915(display->drm);
return i915->dram_info;
}
diff --git a/drivers/gpu/drm/i915/display/intel_dram.h b/drivers/gpu/drm/i915/display/intel_dram.h
index 58aaf2f91afe..5800b7b4e614 100644
--- a/drivers/gpu/drm/i915/display/intel_dram.h
+++ b/drivers/gpu/drm/i915/display/intel_dram.h
@@ -8,8 +8,7 @@
#include <linux/types.h>
-struct drm_i915_private;
-struct drm_device;
+struct intel_display;
struct dram_info {
enum intel_dram_type {
@@ -35,10 +34,10 @@ struct dram_info {
bool has_16gb_dimms;
};
-int intel_dram_detect(struct drm_i915_private *i915);
-unsigned int intel_fsb_freq(struct drm_i915_private *i915);
-unsigned int intel_mem_freq(struct drm_i915_private *i915);
-const struct dram_info *intel_dram_info(struct drm_device *drm);
+int intel_dram_detect(struct intel_display *display);
+unsigned int intel_fsb_freq(struct intel_display *display);
+unsigned int intel_mem_freq(struct intel_display *display);
+const struct dram_info *intel_dram_info(struct intel_display *display);
const char *intel_dram_type_str(enum intel_dram_type type);
#endif /* __INTEL_DRAM_H__ */
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index a33e0cec8cba..7964cfffdaae 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -3125,7 +3125,7 @@ static bool skl_watermark_ipc_can_enable(struct intel_display *display)
if (display->platform.kabylake ||
display->platform.coffeelake ||
display->platform.cometlake) {
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
return dram_info->symmetric_memory;
}
@@ -3169,7 +3169,7 @@ static void increase_wm_latency(struct intel_display *display, int inc)
static bool need_16gb_dimm_wa(struct intel_display *display)
{
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
return (display->platform.skylake || display->platform.kabylake ||
display->platform.coffeelake || display->platform.cometlake ||
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index d1f573f1b6cc..2369e2b55096 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -574,7 +574,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
* Fill the dram structure to get the system dram info. This will be
* used for memory latency calculation.
*/
- ret = intel_dram_detect(dev_priv);
+ ret = intel_dram_detect(display);
if (ret)
goto err_opregion;
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 9b1d21e03df0..793115077615 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -122,7 +122,7 @@ int xe_display_init_early(struct xe_device *xe)
* Fill the dram structure to get the system dram info. This will be
* used for memory latency calculation.
*/
- err = intel_dram_detect(xe);
+ err = intel_dram_detect(display);
if (err)
goto err_opregion;
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 06/13] drm/i915: move dram_info to struct intel_display
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (4 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 05/13] drm/i915/dram: convert to struct intel_display Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 07/13] drm/i915: move intel_rom.[ch] from soc/ to display/ Jani Nikula
` (10 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
With all of dram code under display, also move dram_info to struct
intel_display.
This further cleans up struct xe_device from display related members.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_core.h | 4 ++++
drivers/gpu/drm/i915/display/intel_dram.c | 7 ++-----
drivers/gpu/drm/i915/i915_drv.h | 3 ---
drivers/gpu/drm/xe/xe_device_types.h | 2 --
4 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
index 9b8414b77c15..9b36654b593d 100644
--- a/drivers/gpu/drm/i915/display/intel_display_core.h
+++ b/drivers/gpu/drm/i915/display/intel_display_core.h
@@ -394,6 +394,10 @@ struct intel_display {
u32 mmio_base;
} dsi;
+ struct {
+ const struct dram_info *info;
+ } dram;
+
struct {
/* list of fbdev register on this device */
struct intel_fbdev *fbdev;
diff --git a/drivers/gpu/drm/i915/display/intel_dram.c b/drivers/gpu/drm/i915/display/intel_dram.c
index 3dfcc7938740..b078fd9fe3c0 100644
--- a/drivers/gpu/drm/i915/display/intel_dram.c
+++ b/drivers/gpu/drm/i915/display/intel_dram.c
@@ -817,7 +817,6 @@ static int xelpdp_get_dram_info(struct intel_display *display, struct dram_info
int intel_dram_detect(struct intel_display *display)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
struct dram_info *dram_info;
int ret;
@@ -828,7 +827,7 @@ int intel_dram_detect(struct intel_display *display)
if (!dram_info)
return -ENOMEM;
- i915->dram_info = dram_info;
+ display->dram.info = dram_info;
if (DISPLAY_VER(display) >= 14)
ret = xelpdp_get_dram_info(display, dram_info);
@@ -865,7 +864,5 @@ int intel_dram_detect(struct intel_display *display)
*/
const struct dram_info *intel_dram_info(struct intel_display *display)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
-
- return i915->dram_info;
+ return display->dram.info;
}
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 5381a934a671..96af7776bee5 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -60,7 +60,6 @@
#include "intel_step.h"
#include "intel_uncore.h"
-struct dram_info;
struct drm_i915_clock_gating_funcs;
struct intel_display;
struct intel_pxp;
@@ -279,8 +278,6 @@ struct drm_i915_private {
u32 suspend_count;
struct vlv_s0ix_state *vlv_s0ix_state;
- const struct dram_info *dram_info;
-
struct intel_runtime_pm runtime_pm;
struct i915_perf perf;
diff --git a/drivers/gpu/drm/xe/xe_device_types.h b/drivers/gpu/drm/xe/xe_device_types.h
index a072c020b84b..6ce3247d1bd8 100644
--- a/drivers/gpu/drm/xe/xe_device_types.h
+++ b/drivers/gpu/drm/xe/xe_device_types.h
@@ -35,7 +35,6 @@
#define TEST_VM_OPS_ERROR
#endif
-struct dram_info;
struct intel_display;
struct intel_dg_nvm_dev;
struct xe_ggtt;
@@ -648,7 +647,6 @@ struct xe_device {
* drm_i915_private during build. After cleanup these should go away,
* migrating to the right sub-structs
*/
- const struct dram_info *dram_info;
struct intel_uncore {
spinlock_t lock;
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 07/13] drm/i915: move intel_rom.[ch] from soc/ to display/
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (5 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 06/13] drm/i915: move dram_info " Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 08/13] drm/xe: remove remaining platform checks from compat i915_drv.h Jani Nikula
` (9 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
The sole user of intel_rom.[ch] has always been in display. Move them
under display.
This allows us to remove the compat soc/intel_rom.h from xe, as well as
the Makefile rules to build anything from soc/.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 4 ++--
drivers/gpu/drm/i915/display/intel_bios.c | 3 +--
drivers/gpu/drm/i915/{soc => display}/intel_rom.c | 0
drivers/gpu/drm/i915/{soc => display}/intel_rom.h | 0
drivers/gpu/drm/xe/Makefile | 10 +---------
| 6 ------
6 files changed, 4 insertions(+), 19 deletions(-)
rename drivers/gpu/drm/i915/{soc => display}/intel_rom.c (100%)
rename drivers/gpu/drm/i915/{soc => display}/intel_rom.h (100%)
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_rom.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 838c8e58e4a2..12f948f0062c 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -58,8 +58,7 @@ i915-y += \
# core peripheral code
i915-y += \
- soc/intel_gmch.o \
- soc/intel_rom.o
+ soc/intel_gmch.o
# core library code
i915-y += \
@@ -303,6 +302,7 @@ i915-y += \
display/intel_pmdemand.o \
display/intel_psr.o \
display/intel_quirks.o \
+ display/intel_rom.o \
display/intel_sbi.o \
display/intel_sprite.o \
display/intel_sprite_uapi.o \
diff --git a/drivers/gpu/drm/i915/display/intel_bios.c b/drivers/gpu/drm/i915/display/intel_bios.c
index 4b41068e9e35..a639c5eb3245 100644
--- a/drivers/gpu/drm/i915/display/intel_bios.c
+++ b/drivers/gpu/drm/i915/display/intel_bios.c
@@ -34,14 +34,13 @@
#include <drm/drm_fixed.h>
#include <drm/drm_print.h>
-#include "soc/intel_rom.h"
-
#include "intel_display.h"
#include "intel_display_core.h"
#include "intel_display_rpm.h"
#include "intel_display_types.h"
#include "intel_display_utils.h"
#include "intel_gmbus.h"
+#include "intel_rom.h"
#define _INTEL_BIOS_PRIVATE
#include "intel_vbt_defs.h"
diff --git a/drivers/gpu/drm/i915/soc/intel_rom.c b/drivers/gpu/drm/i915/display/intel_rom.c
similarity index 100%
rename from drivers/gpu/drm/i915/soc/intel_rom.c
rename to drivers/gpu/drm/i915/display/intel_rom.c
diff --git a/drivers/gpu/drm/i915/soc/intel_rom.h b/drivers/gpu/drm/i915/display/intel_rom.h
similarity index 100%
rename from drivers/gpu/drm/i915/soc/intel_rom.h
rename to drivers/gpu/drm/i915/display/intel_rom.h
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 85642340a8fa..9331212117a1 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -195,11 +195,6 @@ subdir-ccflags-$(CONFIG_DRM_XE_DISPLAY) += \
-I$(srctree)/drivers/gpu/drm/i915/display/ \
-Ddrm_i915_private=xe_device
-# Rule to build SOC code shared with i915
-$(obj)/i915-soc/%.o: $(srctree)/drivers/gpu/drm/i915/soc/%.c FORCE
- $(call cmd,force_checksrc)
- $(call if_changed_rule,cc_o_c)
-
# Rule to build display code shared with i915
$(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE
$(call cmd,force_checksrc)
@@ -222,10 +217,6 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
display/xe_stolen.o \
display/xe_tdf.o
-# SOC code shared with i915
-xe-$(CONFIG_DRM_XE_DISPLAY) += \
- i915-soc/intel_rom.o
-
# Display code shared with i915
xe-$(CONFIG_DRM_XE_DISPLAY) += \
i915-display/icl_dsi.o \
@@ -312,6 +303,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
i915-display/intel_psr.o \
i915-display/intel_qp_tables.o \
i915-display/intel_quirks.o \
+ i915-display/intel_rom.o \
i915-display/intel_snps_hdmi_pll.o \
i915-display/intel_snps_phy.o \
i915-display/intel_tc.o \
diff --git a/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_rom.h b/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_rom.h
deleted file mode 100644
index 05cbfb697b2b..000000000000
--- a/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_rom.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2024 Intel Corporation
- */
-
-#include "../../../i915/soc/intel_rom.h"
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 08/13] drm/xe: remove remaining platform checks from compat i915_drv.h
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (6 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 07/13] drm/i915: move intel_rom.[ch] from soc/ to display/ Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 09/13] drm/i915/gmch: split out i915_gmch.[ch] from soc Jani Nikula
` (8 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
With xe no longer building anything from soc/, we can remove the compat
platform checks from i915_drv.h, reducing the file to just the to_i915()
pointer conversion helper.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
| 15 ---------------
1 file changed, 15 deletions(-)
--git a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
index 3e79a74ff7de..04d1925f9a19 100644
--- a/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
+++ b/drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
@@ -19,19 +19,4 @@ static inline struct drm_i915_private *to_i915(const struct drm_device *dev)
return container_of(dev, struct drm_i915_private, drm);
}
-/* compat platform checks only for soc/ usage */
-#define IS_PLATFORM(xe, x) ((xe)->info.platform == x)
-#define IS_I915G(dev_priv) (dev_priv && 0)
-#define IS_I915GM(dev_priv) (dev_priv && 0)
-#define IS_PINEVIEW(dev_priv) (dev_priv && 0)
-#define IS_VALLEYVIEW(dev_priv) (dev_priv && 0)
-#define IS_CHERRYVIEW(dev_priv) (dev_priv && 0)
-#define IS_HASWELL(dev_priv) (dev_priv && 0)
-#define IS_BROADWELL(dev_priv) (dev_priv && 0)
-#define IS_BROXTON(dev_priv) (dev_priv && 0)
-#define IS_GEMINILAKE(dev_priv) (dev_priv && 0)
-#define IS_DG2(dev_priv) IS_PLATFORM(dev_priv, XE_DG2)
-
-#define IS_MOBILE(xe) (xe && 0)
-
#endif
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 09/13] drm/i915/gmch: split out i915_gmch.[ch] from soc
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (7 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 08/13] drm/xe: remove remaining platform checks from compat i915_drv.h Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 10/13] drm/i915/gmch: switch to use pci_bus_{read, write}_config_word() Jani Nikula
` (7 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Most of the soc/intel_gmch.[ch] code is i915 core specific. Split it out
to i915_gmch.[ch].
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/i915_driver.c | 11 +-
drivers/gpu/drm/i915/i915_gmch.c | 141 ++++++++++++++++++++++++++
drivers/gpu/drm/i915/i915_gmch.h | 13 +++
drivers/gpu/drm/i915/soc/intel_gmch.c | 132 ------------------------
drivers/gpu/drm/i915/soc/intel_gmch.h | 3 -
6 files changed, 160 insertions(+), 141 deletions(-)
create mode 100644 drivers/gpu/drm/i915/i915_gmch.c
create mode 100644 drivers/gpu/drm/i915/i915_gmch.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 12f948f0062c..c591e5ba47f9 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -30,6 +30,7 @@ i915-y += \
i915_edram.o \
i915_freq.o \
i915_getparam.o \
+ i915_gmch.o \
i915_ioctl.o \
i915_irq.o \
i915_mitigations.o \
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 2369e2b55096..2e837865f829 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -88,8 +88,6 @@
#include "pxp/intel_pxp_debugfs.h"
#include "pxp/intel_pxp_pm.h"
-#include "soc/intel_gmch.h"
-
#include "i915_debugfs.h"
#include "i915_driver.h"
#include "i915_drm_client.h"
@@ -97,6 +95,7 @@
#include "i915_edram.h"
#include "i915_file_private.h"
#include "i915_getparam.h"
+#include "i915_gmch.h"
#include "i915_hwmon.h"
#include "i915_ioc32.h"
#include "i915_ioctl.h"
@@ -323,7 +322,7 @@ static int i915_driver_mmio_probe(struct drm_i915_private *dev_priv)
if (i915_inject_probe_failure(dev_priv))
return -ENODEV;
- ret = intel_gmch_bridge_setup(dev_priv);
+ ret = i915_gmch_bridge_setup(dev_priv);
if (ret < 0)
return ret;
@@ -340,7 +339,7 @@ static int i915_driver_mmio_probe(struct drm_i915_private *dev_priv)
}
/* Try to make sure MCHBAR is enabled before poking at it */
- intel_gmch_bar_setup(dev_priv);
+ i915_gmch_bar_setup(dev_priv);
intel_device_info_runtime_init(dev_priv);
intel_display_device_info_runtime_init(display);
@@ -356,7 +355,7 @@ static int i915_driver_mmio_probe(struct drm_i915_private *dev_priv)
return 0;
err_uncore:
- intel_gmch_bar_teardown(dev_priv);
+ i915_gmch_bar_teardown(dev_priv);
return ret;
}
@@ -367,7 +366,7 @@ static int i915_driver_mmio_probe(struct drm_i915_private *dev_priv)
*/
static void i915_driver_mmio_release(struct drm_i915_private *dev_priv)
{
- intel_gmch_bar_teardown(dev_priv);
+ i915_gmch_bar_teardown(dev_priv);
}
/**
diff --git a/drivers/gpu/drm/i915/i915_gmch.c b/drivers/gpu/drm/i915/i915_gmch.c
new file mode 100644
index 000000000000..2d55831b3c58
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915_gmch.c
@@ -0,0 +1,141 @@
+// SPDX-License-Identifier: MIT
+/* Copyright © 2025 Intel Corporation */
+
+#include <linux/pnp.h>
+
+#include <drm/drm_managed.h>
+#include <drm/drm_print.h>
+
+#include "i915_drv.h"
+#include "i915_gmch.h"
+#include "intel_pci_config.h"
+
+static void i915_gmch_bridge_release(struct drm_device *dev, void *bridge)
+{
+ pci_dev_put(bridge);
+}
+
+int i915_gmch_bridge_setup(struct drm_i915_private *i915)
+{
+ int domain = pci_domain_nr(to_pci_dev(i915->drm.dev)->bus);
+
+ i915->gmch.pdev = pci_get_domain_bus_and_slot(domain, 0, PCI_DEVFN(0, 0));
+ if (!i915->gmch.pdev) {
+ drm_err(&i915->drm, "bridge device not found\n");
+ return -EIO;
+ }
+
+ return drmm_add_action_or_reset(&i915->drm, i915_gmch_bridge_release,
+ i915->gmch.pdev);
+}
+
+static int mchbar_reg(struct drm_i915_private *i915)
+{
+ return GRAPHICS_VER(i915) >= 4 ? MCHBAR_I965 : MCHBAR_I915;
+}
+
+/* Allocate space for the MCH regs if needed, return nonzero on error */
+static int
+intel_alloc_mchbar_resource(struct drm_i915_private *i915)
+{
+ u32 temp_lo, temp_hi = 0;
+ u64 mchbar_addr;
+ int ret;
+
+ if (GRAPHICS_VER(i915) >= 4)
+ pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915) + 4, &temp_hi);
+ pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915), &temp_lo);
+ mchbar_addr = ((u64)temp_hi << 32) | temp_lo;
+
+ /* If ACPI doesn't have it, assume we need to allocate it ourselves */
+ if (IS_ENABLED(CONFIG_PNP) && mchbar_addr &&
+ pnp_range_reserved(mchbar_addr, mchbar_addr + MCHBAR_SIZE))
+ return 0;
+
+ /* Get some space for it */
+ i915->gmch.mch_res.name = "i915 MCHBAR";
+ i915->gmch.mch_res.flags = IORESOURCE_MEM;
+ ret = pci_bus_alloc_resource(i915->gmch.pdev->bus,
+ &i915->gmch.mch_res,
+ MCHBAR_SIZE, MCHBAR_SIZE,
+ PCIBIOS_MIN_MEM,
+ 0, pcibios_align_resource,
+ i915->gmch.pdev);
+ if (ret) {
+ drm_dbg(&i915->drm, "failed bus alloc: %d\n", ret);
+ i915->gmch.mch_res.start = 0;
+ return ret;
+ }
+
+ if (GRAPHICS_VER(i915) >= 4)
+ pci_write_config_dword(i915->gmch.pdev, mchbar_reg(i915) + 4,
+ upper_32_bits(i915->gmch.mch_res.start));
+
+ pci_write_config_dword(i915->gmch.pdev, mchbar_reg(i915),
+ lower_32_bits(i915->gmch.mch_res.start));
+ return 0;
+}
+
+/* Setup MCHBAR if possible, return true if we should disable it again */
+void i915_gmch_bar_setup(struct drm_i915_private *i915)
+{
+ u32 temp;
+ bool enabled;
+
+ if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915))
+ return;
+
+ i915->gmch.mchbar_need_disable = false;
+
+ if (IS_I915G(i915) || IS_I915GM(i915)) {
+ pci_read_config_dword(i915->gmch.pdev, DEVEN, &temp);
+ enabled = !!(temp & DEVEN_MCHBAR_EN);
+ } else {
+ pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915), &temp);
+ enabled = temp & 1;
+ }
+
+ /* If it's already enabled, don't have to do anything */
+ if (enabled)
+ return;
+
+ if (intel_alloc_mchbar_resource(i915))
+ return;
+
+ i915->gmch.mchbar_need_disable = true;
+
+ /* Space is allocated or reserved, so enable it. */
+ if (IS_I915G(i915) || IS_I915GM(i915)) {
+ pci_write_config_dword(i915->gmch.pdev, DEVEN,
+ temp | DEVEN_MCHBAR_EN);
+ } else {
+ pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915), &temp);
+ pci_write_config_dword(i915->gmch.pdev, mchbar_reg(i915), temp | 1);
+ }
+}
+
+void i915_gmch_bar_teardown(struct drm_i915_private *i915)
+{
+ if (i915->gmch.mchbar_need_disable) {
+ if (IS_I915G(i915) || IS_I915GM(i915)) {
+ u32 deven_val;
+
+ pci_read_config_dword(i915->gmch.pdev, DEVEN,
+ &deven_val);
+ deven_val &= ~DEVEN_MCHBAR_EN;
+ pci_write_config_dword(i915->gmch.pdev, DEVEN,
+ deven_val);
+ } else {
+ u32 mchbar_val;
+
+ pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915),
+ &mchbar_val);
+ mchbar_val &= ~1;
+ pci_write_config_dword(i915->gmch.pdev, mchbar_reg(i915),
+ mchbar_val);
+ }
+ }
+
+ if (i915->gmch.mch_res.start)
+ release_resource(&i915->gmch.mch_res);
+}
diff --git a/drivers/gpu/drm/i915/i915_gmch.h b/drivers/gpu/drm/i915/i915_gmch.h
new file mode 100644
index 000000000000..3ae50bef04ea
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915_gmch.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2025 Intel Corporation */
+
+#ifndef __I915_GMCH_H__
+#define __I915_GMCH_H__
+
+struct drm_i915_private;
+
+int i915_gmch_bridge_setup(struct drm_i915_private *i915);
+void i915_gmch_bar_setup(struct drm_i915_private *i915);
+void i915_gmch_bar_teardown(struct drm_i915_private *i915);
+
+#endif /* __I915_GMCH_H__ */
diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.c b/drivers/gpu/drm/i915/soc/intel_gmch.c
index 271da30c8290..30f489417064 100644
--- a/drivers/gpu/drm/i915/soc/intel_gmch.c
+++ b/drivers/gpu/drm/i915/soc/intel_gmch.c
@@ -4,10 +4,8 @@
*/
#include <linux/pci.h>
-#include <linux/pnp.h>
#include <linux/vgaarb.h>
-#include <drm/drm_managed.h>
#include <drm/drm_print.h>
#include <drm/intel/i915_drm.h>
@@ -17,136 +15,6 @@
#include "intel_gmch.h"
#include "intel_pci_config.h"
-static void intel_gmch_bridge_release(struct drm_device *dev, void *bridge)
-{
- pci_dev_put(bridge);
-}
-
-int intel_gmch_bridge_setup(struct drm_i915_private *i915)
-{
- int domain = pci_domain_nr(to_pci_dev(i915->drm.dev)->bus);
-
- i915->gmch.pdev = pci_get_domain_bus_and_slot(domain, 0, PCI_DEVFN(0, 0));
- if (!i915->gmch.pdev) {
- drm_err(&i915->drm, "bridge device not found\n");
- return -EIO;
- }
-
- return drmm_add_action_or_reset(&i915->drm, intel_gmch_bridge_release,
- i915->gmch.pdev);
-}
-
-static int mchbar_reg(struct drm_i915_private *i915)
-{
- return GRAPHICS_VER(i915) >= 4 ? MCHBAR_I965 : MCHBAR_I915;
-}
-
-/* Allocate space for the MCH regs if needed, return nonzero on error */
-static int
-intel_alloc_mchbar_resource(struct drm_i915_private *i915)
-{
- u32 temp_lo, temp_hi = 0;
- u64 mchbar_addr;
- int ret;
-
- if (GRAPHICS_VER(i915) >= 4)
- pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915) + 4, &temp_hi);
- pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915), &temp_lo);
- mchbar_addr = ((u64)temp_hi << 32) | temp_lo;
-
- /* If ACPI doesn't have it, assume we need to allocate it ourselves */
- if (IS_ENABLED(CONFIG_PNP) && mchbar_addr &&
- pnp_range_reserved(mchbar_addr, mchbar_addr + MCHBAR_SIZE))
- return 0;
-
- /* Get some space for it */
- i915->gmch.mch_res.name = "i915 MCHBAR";
- i915->gmch.mch_res.flags = IORESOURCE_MEM;
- ret = pci_bus_alloc_resource(i915->gmch.pdev->bus,
- &i915->gmch.mch_res,
- MCHBAR_SIZE, MCHBAR_SIZE,
- PCIBIOS_MIN_MEM,
- 0, pcibios_align_resource,
- i915->gmch.pdev);
- if (ret) {
- drm_dbg(&i915->drm, "failed bus alloc: %d\n", ret);
- i915->gmch.mch_res.start = 0;
- return ret;
- }
-
- if (GRAPHICS_VER(i915) >= 4)
- pci_write_config_dword(i915->gmch.pdev, mchbar_reg(i915) + 4,
- upper_32_bits(i915->gmch.mch_res.start));
-
- pci_write_config_dword(i915->gmch.pdev, mchbar_reg(i915),
- lower_32_bits(i915->gmch.mch_res.start));
- return 0;
-}
-
-/* Setup MCHBAR if possible, return true if we should disable it again */
-void intel_gmch_bar_setup(struct drm_i915_private *i915)
-{
- u32 temp;
- bool enabled;
-
- if (IS_VALLEYVIEW(i915) || IS_CHERRYVIEW(i915))
- return;
-
- i915->gmch.mchbar_need_disable = false;
-
- if (IS_I915G(i915) || IS_I915GM(i915)) {
- pci_read_config_dword(i915->gmch.pdev, DEVEN, &temp);
- enabled = !!(temp & DEVEN_MCHBAR_EN);
- } else {
- pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915), &temp);
- enabled = temp & 1;
- }
-
- /* If it's already enabled, don't have to do anything */
- if (enabled)
- return;
-
- if (intel_alloc_mchbar_resource(i915))
- return;
-
- i915->gmch.mchbar_need_disable = true;
-
- /* Space is allocated or reserved, so enable it. */
- if (IS_I915G(i915) || IS_I915GM(i915)) {
- pci_write_config_dword(i915->gmch.pdev, DEVEN,
- temp | DEVEN_MCHBAR_EN);
- } else {
- pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915), &temp);
- pci_write_config_dword(i915->gmch.pdev, mchbar_reg(i915), temp | 1);
- }
-}
-
-void intel_gmch_bar_teardown(struct drm_i915_private *i915)
-{
- if (i915->gmch.mchbar_need_disable) {
- if (IS_I915G(i915) || IS_I915GM(i915)) {
- u32 deven_val;
-
- pci_read_config_dword(i915->gmch.pdev, DEVEN,
- &deven_val);
- deven_val &= ~DEVEN_MCHBAR_EN;
- pci_write_config_dword(i915->gmch.pdev, DEVEN,
- deven_val);
- } else {
- u32 mchbar_val;
-
- pci_read_config_dword(i915->gmch.pdev, mchbar_reg(i915),
- &mchbar_val);
- mchbar_val &= ~1;
- pci_write_config_dword(i915->gmch.pdev, mchbar_reg(i915),
- mchbar_val);
- }
- }
-
- if (i915->gmch.mch_res.start)
- release_resource(&i915->gmch.mch_res);
-}
-
int intel_gmch_vga_set_state(struct drm_i915_private *i915, bool enable_decode)
{
struct intel_display *display = i915->display;
diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.h b/drivers/gpu/drm/i915/soc/intel_gmch.h
index 23be2d113afd..907e1ae921e0 100644
--- a/drivers/gpu/drm/i915/soc/intel_gmch.h
+++ b/drivers/gpu/drm/i915/soc/intel_gmch.h
@@ -11,9 +11,6 @@
struct pci_dev;
struct drm_i915_private;
-int intel_gmch_bridge_setup(struct drm_i915_private *i915);
-void intel_gmch_bar_setup(struct drm_i915_private *i915);
-void intel_gmch_bar_teardown(struct drm_i915_private *i915);
int intel_gmch_vga_set_state(struct drm_i915_private *i915, bool enable_decode);
unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode);
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 10/13] drm/i915/gmch: switch to use pci_bus_{read, write}_config_word()
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (8 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 09/13] drm/i915/gmch: split out i915_gmch.[ch] from soc Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 11/13] drm/i915/gmch: convert intel_gmch.c to struct intel_display Jani Nikula
` (6 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Ville Syrjälä
Switch to use pci_bus_{read,write}_config_word(), and stop using
i915->gmch.pdev reference for the bridge.
Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/soc/intel_gmch.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.c b/drivers/gpu/drm/i915/soc/intel_gmch.c
index 30f489417064..d43b5d89cae7 100644
--- a/drivers/gpu/drm/i915/soc/intel_gmch.c
+++ b/drivers/gpu/drm/i915/soc/intel_gmch.c
@@ -18,10 +18,11 @@
int intel_gmch_vga_set_state(struct drm_i915_private *i915, bool enable_decode)
{
struct intel_display *display = i915->display;
+ struct pci_dev *pdev = to_pci_dev(display->drm->dev);
unsigned int reg = DISPLAY_VER(display) >= 6 ? SNB_GMCH_CTRL : INTEL_GMCH_CTRL;
u16 gmch_ctrl;
- if (pci_read_config_word(i915->gmch.pdev, reg, &gmch_ctrl)) {
+ if (pci_bus_read_config_word(pdev->bus, PCI_DEVFN(0, 0), reg, &gmch_ctrl)) {
drm_err(&i915->drm, "failed to read control word\n");
return -EIO;
}
@@ -34,7 +35,7 @@ int intel_gmch_vga_set_state(struct drm_i915_private *i915, bool enable_decode)
else
gmch_ctrl |= INTEL_GMCH_VGA_DISABLE;
- if (pci_write_config_word(i915->gmch.pdev, reg, gmch_ctrl)) {
+ if (pci_bus_write_config_word(pdev->bus, PCI_DEVFN(0, 0), reg, gmch_ctrl)) {
drm_err(&i915->drm, "failed to write control word\n");
return -EIO;
}
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 11/13] drm/i915/gmch: convert intel_gmch.c to struct intel_display
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (9 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 10/13] drm/i915/gmch: switch to use pci_bus_{read, write}_config_word() Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 12/13] drm/i915: merge soc/intel_gmch.[ch] to display/intel_vga.c Jani Nikula
` (5 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Convert intel_gmch.[ch] to struct intel_display. Remove the final
dependency on struct drm_i915_private and i915_drv.h. This is in
preparation of moving the code under display/.
intel_gmch_vga_set_state() is only used internally, make it static while
at it.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/soc/intel_gmch.c | 13 ++++++-------
drivers/gpu/drm/i915/soc/intel_gmch.h | 2 --
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.c b/drivers/gpu/drm/i915/soc/intel_gmch.c
index d43b5d89cae7..4e7abe056551 100644
--- a/drivers/gpu/drm/i915/soc/intel_gmch.c
+++ b/drivers/gpu/drm/i915/soc/intel_gmch.c
@@ -10,20 +10,19 @@
#include <drm/intel/i915_drm.h>
#include "../display/intel_display_core.h" /* FIXME */
+#include "../display/intel_display_types.h" /* FIXME */
-#include "i915_drv.h"
#include "intel_gmch.h"
#include "intel_pci_config.h"
-int intel_gmch_vga_set_state(struct drm_i915_private *i915, bool enable_decode)
+static int intel_gmch_vga_set_state(struct intel_display *display, bool enable_decode)
{
- struct intel_display *display = i915->display;
struct pci_dev *pdev = to_pci_dev(display->drm->dev);
unsigned int reg = DISPLAY_VER(display) >= 6 ? SNB_GMCH_CTRL : INTEL_GMCH_CTRL;
u16 gmch_ctrl;
if (pci_bus_read_config_word(pdev->bus, PCI_DEVFN(0, 0), reg, &gmch_ctrl)) {
- drm_err(&i915->drm, "failed to read control word\n");
+ drm_err(display->drm, "failed to read control word\n");
return -EIO;
}
@@ -36,7 +35,7 @@ int intel_gmch_vga_set_state(struct drm_i915_private *i915, bool enable_decode)
gmch_ctrl |= INTEL_GMCH_VGA_DISABLE;
if (pci_bus_write_config_word(pdev->bus, PCI_DEVFN(0, 0), reg, gmch_ctrl)) {
- drm_err(&i915->drm, "failed to write control word\n");
+ drm_err(display->drm, "failed to write control word\n");
return -EIO;
}
@@ -45,9 +44,9 @@ int intel_gmch_vga_set_state(struct drm_i915_private *i915, bool enable_decode)
unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode)
{
- struct drm_i915_private *i915 = pdev_to_i915(pdev);
+ struct intel_display *display = to_intel_display(pdev);
- intel_gmch_vga_set_state(i915, enable_decode);
+ intel_gmch_vga_set_state(display, enable_decode);
if (enable_decode)
return VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM |
diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.h b/drivers/gpu/drm/i915/soc/intel_gmch.h
index 907e1ae921e0..bc3421ab5ba6 100644
--- a/drivers/gpu/drm/i915/soc/intel_gmch.h
+++ b/drivers/gpu/drm/i915/soc/intel_gmch.h
@@ -9,9 +9,7 @@
#include <linux/types.h>
struct pci_dev;
-struct drm_i915_private;
-int intel_gmch_vga_set_state(struct drm_i915_private *i915, bool enable_decode);
unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode);
#endif /* __INTEL_GMCH_H__ */
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 12/13] drm/i915: merge soc/intel_gmch.[ch] to display/intel_vga.c
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (10 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 11/13] drm/i915/gmch: convert intel_gmch.c to struct intel_display Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-19 18:52 ` [PATCH v2 13/13] drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915 Jani Nikula
` (4 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
The sole user of the remaining functions in intel_gmch.[ch] is in
intel_vga.c. Move everything there.
Since intel_gmch.c hasn't been part of xe, use a dummy function
relocated from xe_display_misc.c, with #ifdef. This is purely to keep
this change non-functional.
This allows us to remove soc/intel_gmch.[ch] from i915, compat
soc/intel_gmch.h from xe, and xe_display_misc.c from xe.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 4 --
drivers/gpu/drm/i915/display/intel_vga.c | 52 ++++++++++++++++-
drivers/gpu/drm/i915/soc/intel_gmch.c | 56 -------------------
drivers/gpu/drm/i915/soc/intel_gmch.h | 15 -----
drivers/gpu/drm/xe/Makefile | 1 -
| 6 --
drivers/gpu/drm/xe/display/xe_display_misc.c | 16 ------
7 files changed, 50 insertions(+), 100 deletions(-)
delete mode 100644 drivers/gpu/drm/i915/soc/intel_gmch.c
delete mode 100644 drivers/gpu/drm/i915/soc/intel_gmch.h
delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
delete mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index c591e5ba47f9..2ff8938b3a7c 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -57,10 +57,6 @@ i915-y += \
vlv_iosf_sb.o \
vlv_suspend.o
-# core peripheral code
-i915-y += \
- soc/intel_gmch.o
-
# core library code
i915-y += \
i915_memcpy.o \
diff --git a/drivers/gpu/drm/i915/display/intel_vga.c b/drivers/gpu/drm/i915/display/intel_vga.c
index 6e125564db34..5e516c79e2f7 100644
--- a/drivers/gpu/drm/i915/display/intel_vga.c
+++ b/drivers/gpu/drm/i915/display/intel_vga.c
@@ -9,12 +9,12 @@
#include <drm/drm_device.h>
#include <drm/drm_print.h>
+#include <drm/intel/i915_drm.h>
#include <video/vga.h>
-#include "soc/intel_gmch.h"
-
#include "intel_de.h"
#include "intel_display.h"
+#include "intel_display_types.h"
#include "intel_vga.h"
#include "intel_vga_regs.h"
@@ -95,6 +95,54 @@ void intel_vga_reset_io_mem(struct intel_display *display)
vga_put(pdev, VGA_RSRC_LEGACY_IO);
}
+#ifdef I915
+static int intel_gmch_vga_set_state(struct intel_display *display, bool enable_decode)
+{
+ struct pci_dev *pdev = to_pci_dev(display->drm->dev);
+ unsigned int reg = DISPLAY_VER(display) >= 6 ? SNB_GMCH_CTRL : INTEL_GMCH_CTRL;
+ u16 gmch_ctrl;
+
+ if (pci_bus_read_config_word(pdev->bus, PCI_DEVFN(0, 0), reg, &gmch_ctrl)) {
+ drm_err(display->drm, "failed to read control word\n");
+ return -EIO;
+ }
+
+ if (!!(gmch_ctrl & INTEL_GMCH_VGA_DISABLE) == !enable_decode)
+ return 0;
+
+ if (enable_decode)
+ gmch_ctrl &= ~INTEL_GMCH_VGA_DISABLE;
+ else
+ gmch_ctrl |= INTEL_GMCH_VGA_DISABLE;
+
+ if (pci_bus_write_config_word(pdev->bus, PCI_DEVFN(0, 0), reg, gmch_ctrl)) {
+ drm_err(display->drm, "failed to write control word\n");
+ return -EIO;
+ }
+
+ return 0;
+}
+
+static unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode)
+{
+ struct intel_display *display = to_intel_display(pdev);
+
+ intel_gmch_vga_set_state(display, enable_decode);
+
+ if (enable_decode)
+ return VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM |
+ VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM;
+ else
+ return VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM;
+}
+#else
+static unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode)
+{
+ /* ToDo: Implement the actual handling of vga decode */
+ return 0;
+}
+#endif
+
int intel_vga_register(struct intel_display *display)
{
diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.c b/drivers/gpu/drm/i915/soc/intel_gmch.c
deleted file mode 100644
index 4e7abe056551..000000000000
--- a/drivers/gpu/drm/i915/soc/intel_gmch.c
+++ /dev/null
@@ -1,56 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#include <linux/pci.h>
-#include <linux/vgaarb.h>
-
-#include <drm/drm_print.h>
-#include <drm/intel/i915_drm.h>
-
-#include "../display/intel_display_core.h" /* FIXME */
-#include "../display/intel_display_types.h" /* FIXME */
-
-#include "intel_gmch.h"
-#include "intel_pci_config.h"
-
-static int intel_gmch_vga_set_state(struct intel_display *display, bool enable_decode)
-{
- struct pci_dev *pdev = to_pci_dev(display->drm->dev);
- unsigned int reg = DISPLAY_VER(display) >= 6 ? SNB_GMCH_CTRL : INTEL_GMCH_CTRL;
- u16 gmch_ctrl;
-
- if (pci_bus_read_config_word(pdev->bus, PCI_DEVFN(0, 0), reg, &gmch_ctrl)) {
- drm_err(display->drm, "failed to read control word\n");
- return -EIO;
- }
-
- if (!!(gmch_ctrl & INTEL_GMCH_VGA_DISABLE) == !enable_decode)
- return 0;
-
- if (enable_decode)
- gmch_ctrl &= ~INTEL_GMCH_VGA_DISABLE;
- else
- gmch_ctrl |= INTEL_GMCH_VGA_DISABLE;
-
- if (pci_bus_write_config_word(pdev->bus, PCI_DEVFN(0, 0), reg, gmch_ctrl)) {
- drm_err(display->drm, "failed to write control word\n");
- return -EIO;
- }
-
- return 0;
-}
-
-unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode)
-{
- struct intel_display *display = to_intel_display(pdev);
-
- intel_gmch_vga_set_state(display, enable_decode);
-
- if (enable_decode)
- return VGA_RSRC_LEGACY_IO | VGA_RSRC_LEGACY_MEM |
- VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM;
- else
- return VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM;
-}
diff --git a/drivers/gpu/drm/i915/soc/intel_gmch.h b/drivers/gpu/drm/i915/soc/intel_gmch.h
deleted file mode 100644
index bc3421ab5ba6..000000000000
--- a/drivers/gpu/drm/i915/soc/intel_gmch.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#ifndef __INTEL_GMCH_H__
-#define __INTEL_GMCH_H__
-
-#include <linux/types.h>
-
-struct pci_dev;
-
-unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode);
-
-#endif /* __INTEL_GMCH_H__ */
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 9331212117a1..b848da79a4e1 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -206,7 +206,6 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
display/intel_fb_bo.o \
display/intel_fbdev_fb.o \
display/xe_display.o \
- display/xe_display_misc.o \
display/xe_display_rpm.o \
display/xe_display_wa.o \
display/xe_dsb_buffer.o \
diff --git a/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h b/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
deleted file mode 100644
index 33c5257b3a71..000000000000
--- a/drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#include "../../../i915/soc/intel_gmch.h"
diff --git a/drivers/gpu/drm/xe/display/xe_display_misc.c b/drivers/gpu/drm/xe/display/xe_display_misc.c
deleted file mode 100644
index 242c2ef4ca93..000000000000
--- a/drivers/gpu/drm/xe/display/xe_display_misc.c
+++ /dev/null
@@ -1,16 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2023 Intel Corporation
- */
-
-#include "intel_display_types.h"
-
-struct pci_dev;
-
-unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode);
-
-unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode)
-{
- /* ToDo: Implement the actual handling of vga decode */
- return 0;
-}
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH v2 13/13] drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (11 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 12/13] drm/i915: merge soc/intel_gmch.[ch] to display/intel_vga.c Jani Nikula
@ 2025-11-19 18:52 ` Jani Nikula
2025-11-20 22:11 ` Lucas De Marchi
2025-11-19 21:55 ` ✗ i915.CI.BAT: failure for drm/i915: dissolve soc/ Patchwork
` (3 subsequent siblings)
16 siblings, 1 reply; 23+ messages in thread
From: Jani Nikula @ 2025-11-19 18:52 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Drop the #ifdef I915, and use the same intel_gmch_vga_set_decode() for
both i915 and xe.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_vga.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_vga.c b/drivers/gpu/drm/i915/display/intel_vga.c
index 5e516c79e2f7..c45c4bbc3f95 100644
--- a/drivers/gpu/drm/i915/display/intel_vga.c
+++ b/drivers/gpu/drm/i915/display/intel_vga.c
@@ -95,7 +95,6 @@ void intel_vga_reset_io_mem(struct intel_display *display)
vga_put(pdev, VGA_RSRC_LEGACY_IO);
}
-#ifdef I915
static int intel_gmch_vga_set_state(struct intel_display *display, bool enable_decode)
{
struct pci_dev *pdev = to_pci_dev(display->drm->dev);
@@ -135,13 +134,6 @@ static unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_
else
return VGA_RSRC_NORMAL_IO | VGA_RSRC_NORMAL_MEM;
}
-#else
-static unsigned int intel_gmch_vga_set_decode(struct pci_dev *pdev, bool enable_decode)
-{
- /* ToDo: Implement the actual handling of vga decode */
- return 0;
-}
-#endif
int intel_vga_register(struct intel_display *display)
{
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* ✗ i915.CI.BAT: failure for drm/i915: dissolve soc/
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (12 preceding siblings ...)
2025-11-19 18:52 ` [PATCH v2 13/13] drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915 Jani Nikula
@ 2025-11-19 21:55 ` Patchwork
2025-11-20 16:52 ` [PATCH v2 00/13] " Ville Syrjälä
` (2 subsequent siblings)
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-11-19 21:55 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 9742 bytes --]
== Series Details ==
Series: drm/i915: dissolve soc/
URL : https://patchwork.freedesktop.org/series/157793/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_17572 -> Patchwork_157793v1
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_157793v1 absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_157793v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/index.html
Participating hosts (45 -> 44)
------------------------------
Missing (1): fi-snb-2520m
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_157793v1:
### IGT changes ###
#### Possible regressions ####
* igt@core_hotunplug@unbind-rebind:
- bat-twl-2: [PASS][1] -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-2/igt@core_hotunplug@unbind-rebind.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-2/igt@core_hotunplug@unbind-rebind.html
- bat-adlp-9: [PASS][3] -> [ABORT][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-adlp-9/igt@core_hotunplug@unbind-rebind.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-adlp-9/igt@core_hotunplug@unbind-rebind.html
* igt@i915_module_load@load:
- bat-adlp-9: [PASS][5] -> [DMESG-WARN][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-adlp-9/igt@i915_module_load@load.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-adlp-9/igt@i915_module_load@load.html
- bat-twl-2: [PASS][7] -> [DMESG-WARN][8]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-2/igt@i915_module_load@load.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-2/igt@i915_module_load@load.html
* igt@i915_selftest@live@coherency:
- bat-adlp-11: [PASS][9] -> [DMESG-WARN][10] +41 other tests dmesg-warn
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-adlp-11/igt@i915_selftest@live@coherency.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-adlp-11/igt@i915_selftest@live@coherency.html
* igt@i915_selftest@live@sanitycheck:
- bat-twl-1: [PASS][11] -> [DMESG-WARN][12] +41 other tests dmesg-warn
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-1/igt@i915_selftest@live@sanitycheck.html
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-1/igt@i915_selftest@live@sanitycheck.html
- bat-rplp-1: [PASS][13] -> [DMESG-WARN][14] +41 other tests dmesg-warn
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-rplp-1/igt@i915_selftest@live@sanitycheck.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-rplp-1/igt@i915_selftest@live@sanitycheck.html
* igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1:
- bat-twl-2: [PASS][15] -> [FAIL][16] +65 other tests fail
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-2/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-2/igt@kms_flip@basic-flip-vs-wf_vblank@a-edp1.html
* igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1:
- bat-adlp-9: [PASS][17] -> [FAIL][18] +68 other tests fail
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-adlp-9/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-adlp-9/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-xr24@pipe-a-dp-1.html
* igt@kms_pipe_crc_basic@hang-read-crc:
- bat-rplp-1: [PASS][19] -> [FAIL][20] +64 other tests fail
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-rplp-1/igt@kms_pipe_crc_basic@hang-read-crc.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-rplp-1/igt@kms_pipe_crc_basic@hang-read-crc.html
* igt@kms_pm_backlight@basic-brightness:
- bat-twl-2: [PASS][21] -> [INCOMPLETE][22]
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-2/igt@kms_pm_backlight@basic-brightness.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-2/igt@kms_pm_backlight@basic-brightness.html
- bat-twl-1: [PASS][23] -> [INCOMPLETE][24]
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-1/igt@kms_pm_backlight@basic-brightness.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-1/igt@kms_pm_backlight@basic-brightness.html
- bat-rplp-1: [PASS][25] -> [INCOMPLETE][26]
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-rplp-1/igt@kms_pm_backlight@basic-brightness.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-rplp-1/igt@kms_pm_backlight@basic-brightness.html
* igt@kms_psr@psr-primary-page-flip@edp-1:
- bat-twl-1: [PASS][27] -> [FAIL][28] +62 other tests fail
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-1/igt@kms_psr@psr-primary-page-flip@edp-1.html
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-1/igt@kms_psr@psr-primary-page-flip@edp-1.html
Known issues
------------
Here are the changes found in Patchwork_157793v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@workarounds:
- bat-mtlp-6: [PASS][29] -> [DMESG-FAIL][30] ([i915#12061]) +1 other test dmesg-fail
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-mtlp-6/igt@i915_selftest@live@workarounds.html
- bat-dg2-9: [PASS][31] -> [DMESG-FAIL][32] ([i915#12061]) +1 other test dmesg-fail
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-dg2-9/igt@i915_selftest@live@workarounds.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-dg2-9/igt@i915_selftest@live@workarounds.html
* igt@prime_vgem@basic-fence-flip:
- bat-twl-2: [PASS][33] -> [SKIP][34] ([i915#3708])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-2/igt@prime_vgem@basic-fence-flip.html
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-2/igt@prime_vgem@basic-fence-flip.html
- bat-adlp-9: [PASS][35] -> [SKIP][36] ([i915#3708])
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-adlp-9/igt@prime_vgem@basic-fence-flip.html
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-adlp-9/igt@prime_vgem@basic-fence-flip.html
- bat-twl-1: [PASS][37] -> [SKIP][38] ([i915#3708])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-twl-1/igt@prime_vgem@basic-fence-flip.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-twl-1/igt@prime_vgem@basic-fence-flip.html
- bat-rplp-1: [PASS][39] -> [SKIP][40] ([i915#3708])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-rplp-1/igt@prime_vgem@basic-fence-flip.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-rplp-1/igt@prime_vgem@basic-fence-flip.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-mtlp-8: [DMESG-FAIL][41] ([i915#12061]) -> [PASS][42] +1 other test pass
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-mtlp-8/igt@i915_selftest@live.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-mtlp-8/igt@i915_selftest@live.html
- bat-jsl-1: [DMESG-FAIL][43] ([i915#15281]) -> [PASS][44] +1 other test pass
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-jsl-1/igt@i915_selftest@live.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-jsl-1/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-arlh-3: [DMESG-FAIL][45] ([i915#12061]) -> [PASS][46] +1 other test pass
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-arlh-3/igt@i915_selftest@live@workarounds.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-arlh-3/igt@i915_selftest@live@workarounds.html
- bat-arls-6: [DMESG-FAIL][47] ([i915#12061]) -> [PASS][48] +1 other test pass
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17572/bat-arls-6/igt@i915_selftest@live@workarounds.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/bat-arls-6/igt@i915_selftest@live@workarounds.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#15281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15281
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
Build changes
-------------
* Linux: CI_DRM_17572 -> Patchwork_157793v1
CI-20190529: 20190529
CI_DRM_17572: a95032b2166b5ae428c065917b843a1caf1e82b8 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8633: 8633
Patchwork_157793v1: a95032b2166b5ae428c065917b843a1caf1e82b8 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v1/index.html
[-- Attachment #2: Type: text/html, Size: 11262 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 05/13] drm/i915/dram: convert to struct intel_display
2025-11-19 18:52 ` [PATCH v2 05/13] drm/i915/dram: convert to struct intel_display Jani Nikula
@ 2025-11-20 8:31 ` Jani Nikula
2025-11-20 13:59 ` Ville Syrjälä
2025-11-20 16:18 ` [PATCH v3] " Jani Nikula
1 sibling, 1 reply; 23+ messages in thread
From: Jani Nikula @ 2025-11-20 8:31 UTC (permalink / raw)
To: intel-gfx, intel-xe, ville.syrjala
On Wed, 19 Nov 2025, Jani Nikula <jani.nikula@intel.com> wrote:
> Convert everything except uncore access to struct intel_display.
>
> While at it, convert logging to drm_dbg_kms().
>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/i9xx_wm.c | 2 +-
> drivers/gpu/drm/i915/display/intel_bw.c | 2 +-
> drivers/gpu/drm/i915/display/intel_cdclk.c | 4 +-
> .../drm/i915/display/intel_display_power.c | 2 +-
> drivers/gpu/drm/i915/display/intel_dram.c | 205 +++++++++---------
> drivers/gpu/drm/i915/display/intel_dram.h | 11 +-
> drivers/gpu/drm/i915/display/skl_watermark.c | 4 +-
> drivers/gpu/drm/i915/i915_driver.c | 2 +-
> drivers/gpu/drm/xe/display/xe_display.c | 2 +-
> 9 files changed, 120 insertions(+), 114 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/i9xx_wm.c b/drivers/gpu/drm/i915/display/i9xx_wm.c
> index 27e2d73bc505..167277cd8877 100644
> --- a/drivers/gpu/drm/i915/display/i9xx_wm.c
> +++ b/drivers/gpu/drm/i915/display/i9xx_wm.c
> @@ -90,7 +90,7 @@ static const struct cxsr_latency cxsr_latency_table[] = {
>
> static const struct cxsr_latency *pnv_get_cxsr_latency(struct intel_display *display)
> {
> - const struct dram_info *dram_info = intel_dram_info(display->drm);
> + const struct dram_info *dram_info = intel_dram_info(display);
> bool is_ddr3 = dram_info->type == INTEL_DRAM_DDR3;
> int i;
>
> diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
> index 957c90e62569..d27835ed49c2 100644
> --- a/drivers/gpu/drm/i915/display/intel_bw.c
> +++ b/drivers/gpu/drm/i915/display/intel_bw.c
> @@ -799,7 +799,7 @@ static unsigned int icl_qgv_bw(struct intel_display *display,
>
> void intel_bw_init_hw(struct intel_display *display)
> {
> - const struct dram_info *dram_info = intel_dram_info(display->drm);
> + const struct dram_info *dram_info = intel_dram_info(display);
>
> if (!HAS_DISPLAY(display))
> return;
> diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> index 531819391c8c..5c90e53b4e46 100644
> --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> @@ -3737,10 +3737,8 @@ static int pch_rawclk(struct intel_display *display)
>
> static int i9xx_hrawclk(struct intel_display *display)
> {
> - struct drm_i915_private *i915 = to_i915(display->drm);
> -
> /* hrawclock is 1/4 the FSB frequency */
> - return DIV_ROUND_CLOSEST(intel_fsb_freq(i915), 4);
> + return DIV_ROUND_CLOSEST(intel_fsb_freq(display), 4);
> }
>
> /**
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index 9c5f0277d8c2..08db9bbbfcb1 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -1616,7 +1616,7 @@ static const struct buddy_page_mask wa_1409767108_buddy_page_masks[] = {
>
> static void tgl_bw_buddy_init(struct intel_display *display)
> {
> - const struct dram_info *dram_info = intel_dram_info(display->drm);
> + const struct dram_info *dram_info = intel_dram_info(display);
> const struct buddy_page_mask *table;
> unsigned long abox_mask = DISPLAY_INFO(display)->abox_mask;
> int config, i;
> diff --git a/drivers/gpu/drm/i915/display/intel_dram.c b/drivers/gpu/drm/i915/display/intel_dram.c
> index 7142772f2a6e..3dfcc7938740 100644
> --- a/drivers/gpu/drm/i915/display/intel_dram.c
> +++ b/drivers/gpu/drm/i915/display/intel_dram.c
> @@ -56,14 +56,17 @@ const char *intel_dram_type_str(enum intel_dram_type type)
>
> #undef DRAM_TYPE_STR
>
> -static enum intel_dram_type pnv_dram_type(struct drm_i915_private *i915)
> +static enum intel_dram_type pnv_dram_type(struct intel_display *display)
> {
> + struct drm_i915_private *i915 = to_i915(display->drm);
> +
> return intel_uncore_read(&i915->uncore, CSHRDDR3CTL) & CSHRDDR3CTL_DDR3 ?
> INTEL_DRAM_DDR3 : INTEL_DRAM_DDR2;
> }
>
> -static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
> +static unsigned int pnv_mem_freq(struct intel_display *display)
> {
> + struct drm_i915_private *dev_priv = to_i915(display->drm);
> u32 tmp;
>
> tmp = intel_uncore_read(&dev_priv->uncore, CLKCFG);
> @@ -80,8 +83,9 @@ static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
> return 0;
> }
>
> -static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
> +static unsigned int ilk_mem_freq(struct intel_display *display)
> {
> + struct drm_i915_private *dev_priv = to_i915(display->drm);
> u16 ddrpll;
>
> ddrpll = intel_uncore_read16(&dev_priv->uncore, DDRMPLL1);
> @@ -95,19 +99,19 @@ static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
> case 0x18:
> return 1600000;
> default:
> - drm_dbg(&dev_priv->drm, "unknown memory frequency 0x%02x\n",
> - ddrpll & 0xff);
> + drm_dbg_kms(display->drm, "unknown memory frequency 0x%02x\n",
> + ddrpll & 0xff);
> return 0;
> }
> }
>
> -static unsigned int chv_mem_freq(struct drm_i915_private *i915)
> +static unsigned int chv_mem_freq(struct intel_display *display)
> {
> u32 val;
>
> - vlv_iosf_sb_get(&i915->drm, BIT(VLV_IOSF_SB_CCK));
> - val = vlv_iosf_sb_read(&i915->drm, VLV_IOSF_SB_CCK, CCK_FUSE_REG);
> - vlv_iosf_sb_put(&i915->drm, BIT(VLV_IOSF_SB_CCK));
> + vlv_iosf_sb_get(display->drm, BIT(VLV_IOSF_SB_CCK));
> + val = vlv_iosf_sb_read(display->drm, VLV_IOSF_SB_CCK, CCK_FUSE_REG);
> + vlv_iosf_sb_put(display->drm, BIT(VLV_IOSF_SB_CCK));
>
> switch ((val >> 2) & 0x7) {
> case 3:
> @@ -117,13 +121,13 @@ static unsigned int chv_mem_freq(struct drm_i915_private *i915)
> }
> }
>
> -static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
> +static unsigned int vlv_mem_freq(struct intel_display *display)
> {
> u32 val;
>
> - vlv_iosf_sb_get(&i915->drm, BIT(VLV_IOSF_SB_PUNIT));
> - val = vlv_iosf_sb_read(&i915->drm, VLV_IOSF_SB_PUNIT, PUNIT_REG_GPU_FREQ_STS);
> - vlv_iosf_sb_put(&i915->drm, BIT(VLV_IOSF_SB_PUNIT));
> + vlv_iosf_sb_get(display->drm, BIT(VLV_IOSF_SB_PUNIT));
> + val = vlv_iosf_sb_read(display->drm, VLV_IOSF_SB_PUNIT, PUNIT_REG_GPU_FREQ_STS);
> + vlv_iosf_sb_put(display->drm, BIT(VLV_IOSF_SB_PUNIT));
>
> switch ((val >> 6) & 3) {
> case 0:
> @@ -138,22 +142,23 @@ static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
> return 0;
> }
>
> -unsigned int intel_mem_freq(struct drm_i915_private *i915)
> +unsigned int intel_mem_freq(struct intel_display *display)
> {
> - if (IS_PINEVIEW(i915))
> - return pnv_mem_freq(i915);
> - else if (GRAPHICS_VER(i915) == 5)
> - return ilk_mem_freq(i915);
> - else if (IS_CHERRYVIEW(i915))
> - return chv_mem_freq(i915);
> - else if (IS_VALLEYVIEW(i915))
> - return vlv_mem_freq(i915);
> + if (display->platform.pineview)
> + return pnv_mem_freq(display);
> + else if (DISPLAY_VER(display) == 5)
> + return ilk_mem_freq(display);
> + else if (display->platform.cherryview)
> + return chv_mem_freq(display);
> + else if (display->platform.valleyview)
> + return vlv_mem_freq(display);
> else
> return 0;
> }
>
> -static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
> +static unsigned int i9xx_fsb_freq(struct intel_display *display)
> {
> + struct drm_i915_private *i915 = to_i915(display->drm);
> u32 fsb;
>
> /*
> @@ -166,7 +171,7 @@ static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
> */
> fsb = intel_uncore_read(&i915->uncore, CLKCFG) & CLKCFG_FSB_MASK;
>
> - if (IS_PINEVIEW(i915) || IS_MOBILE(i915)) {
> + if (display->platform.pineview || display->platform.mobile) {
> switch (fsb) {
> case CLKCFG_FSB_400:
> return 400000;
> @@ -207,8 +212,9 @@ static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
> }
> }
>
> -static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
> +static unsigned int ilk_fsb_freq(struct intel_display *display)
> {
> + struct drm_i915_private *dev_priv = to_i915(display->drm);
> u16 fsb;
>
> fsb = intel_uncore_read16(&dev_priv->uncore, CSIPLL0) & 0x3ff;
> @@ -229,33 +235,33 @@ static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
> case 0x018:
> return 6400000;
> default:
> - drm_dbg(&dev_priv->drm, "unknown fsb frequency 0x%04x\n", fsb);
> + drm_dbg_kms(display->drm, "unknown fsb frequency 0x%04x\n", fsb);
> return 0;
> }
> }
>
> -unsigned int intel_fsb_freq(struct drm_i915_private *i915)
> +unsigned int intel_fsb_freq(struct intel_display *display)
> {
> - if (GRAPHICS_VER(i915) == 5)
> - return ilk_fsb_freq(i915);
> - else if (GRAPHICS_VER(i915) == 3 || GRAPHICS_VER(i915) == 4)
> - return i9xx_fsb_freq(i915);
> + if (DISPLAY_VER(display) == 5)
> + return ilk_fsb_freq(display);
> + else if (IS_DISPLAY_VER(display, 3, 4))
> + return i9xx_fsb_freq(display);
> else
> return 0;
> }
>
> -static int i915_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> +static int i915_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> {
> - dram_info->fsb_freq = intel_fsb_freq(i915);
> + dram_info->fsb_freq = intel_fsb_freq(display);
> if (dram_info->fsb_freq)
> - drm_dbg(&i915->drm, "FSB frequency: %d kHz\n", dram_info->fsb_freq);
> + drm_dbg_kms(display->drm, "FSB frequency: %d kHz\n", dram_info->fsb_freq);
>
> - dram_info->mem_freq = intel_mem_freq(i915);
> + dram_info->mem_freq = intel_mem_freq(display);
> if (dram_info->mem_freq)
> - drm_dbg(&i915->drm, "DDR speed: %d kHz\n", dram_info->mem_freq);
> + drm_dbg_kms(display->drm, "DDR speed: %d kHz\n", dram_info->mem_freq);
>
> - if (IS_PINEVIEW(i915))
> - dram_info->type = pnv_dram_type(i915);
> + if (display->platform.pineview)
> + dram_info->type = pnv_dram_type(display);
>
> return 0;
> }
> @@ -391,22 +397,22 @@ skl_is_16gb_dimm(const struct dram_dimm_info *dimm)
> }
>
> static void
> -skl_dram_print_dimm_info(struct drm_i915_private *i915,
> +skl_dram_print_dimm_info(struct intel_display *display,
> struct dram_dimm_info *dimm,
> int channel, char dimm_name)
> {
> - drm_dbg_kms(&i915->drm,
> + drm_dbg_kms(display->drm,
> "CH%u DIMM %c size: %u Gb, width: X%u, ranks: %u, 16Gb+ DIMMs: %s\n",
> channel, dimm_name, dimm->size, dimm->width, dimm->ranks,
> str_yes_no(skl_is_16gb_dimm(dimm)));
> }
>
> static void
> -skl_dram_get_dimm_l_info(struct drm_i915_private *i915,
> +skl_dram_get_dimm_l_info(struct intel_display *display,
> struct dram_dimm_info *dimm,
> int channel, u32 val)
> {
> - if (GRAPHICS_VER(i915) >= 11) {
> + if (DISPLAY_VER(display) >= 11) {
> dimm->size = icl_get_dimm_l_size(val);
> dimm->width = icl_get_dimm_l_width(val);
> dimm->ranks = icl_get_dimm_l_ranks(val);
> @@ -416,15 +422,15 @@ skl_dram_get_dimm_l_info(struct drm_i915_private *i915,
> dimm->ranks = skl_get_dimm_l_ranks(val);
> }
>
> - skl_dram_print_dimm_info(i915, dimm, channel, 'L');
> + skl_dram_print_dimm_info(display, dimm, channel, 'L');
> }
>
> static void
> -skl_dram_get_dimm_s_info(struct drm_i915_private *i915,
> +skl_dram_get_dimm_s_info(struct intel_display *display,
> struct dram_dimm_info *dimm,
> int channel, u32 val)
> {
> - if (GRAPHICS_VER(i915) >= 11) {
> + if (DISPLAY_VER(display) >= 11) {
> dimm->size = icl_get_dimm_s_size(val);
> dimm->width = icl_get_dimm_s_width(val);
> dimm->ranks = icl_get_dimm_s_ranks(val);
> @@ -434,19 +440,19 @@ skl_dram_get_dimm_s_info(struct drm_i915_private *i915,
> dimm->ranks = skl_get_dimm_s_ranks(val);
> }
>
> - skl_dram_print_dimm_info(i915, dimm, channel, 'S');
> + skl_dram_print_dimm_info(display, dimm, channel, 'S');
> }
>
> static int
> -skl_dram_get_channel_info(struct drm_i915_private *i915,
> +skl_dram_get_channel_info(struct intel_display *display,
> struct dram_channel_info *ch,
> int channel, u32 val)
> {
> - skl_dram_get_dimm_l_info(i915, &ch->dimm_l, channel, val);
> - skl_dram_get_dimm_s_info(i915, &ch->dimm_s, channel, val);
> + skl_dram_get_dimm_l_info(display, &ch->dimm_l, channel, val);
> + skl_dram_get_dimm_s_info(display, &ch->dimm_s, channel, val);
>
> if (ch->dimm_l.size == 0 && ch->dimm_s.size == 0) {
> - drm_dbg_kms(&i915->drm, "CH%u not populated\n", channel);
> + drm_dbg_kms(display->drm, "CH%u not populated\n", channel);
> return -EINVAL;
> }
>
> @@ -460,7 +466,7 @@ skl_dram_get_channel_info(struct drm_i915_private *i915,
> ch->is_16gb_dimm = skl_is_16gb_dimm(&ch->dimm_l) ||
> skl_is_16gb_dimm(&ch->dimm_s);
>
> - drm_dbg_kms(&i915->drm, "CH%u ranks: %u, 16Gb+ DIMMs: %s\n",
> + drm_dbg_kms(display->drm, "CH%u ranks: %u, 16Gb+ DIMMs: %s\n",
> channel, ch->ranks, str_yes_no(ch->is_16gb_dimm));
>
> return 0;
> @@ -476,8 +482,9 @@ intel_is_dram_symmetric(const struct dram_channel_info *ch0,
> }
>
> static int
> -skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> +skl_dram_get_channels_info(struct intel_display *display, struct dram_info *dram_info)
> {
> + struct drm_i915_private *i915 = to_i915(display->drm);
> struct dram_channel_info ch0 = {}, ch1 = {};
> u32 val;
> int ret;
> @@ -487,23 +494,23 @@ skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram
>
> val = intel_uncore_read(&i915->uncore,
> SKL_MAD_DIMM_CH0_0_0_0_MCHBAR_MCMAIN);
> - ret = skl_dram_get_channel_info(i915, &ch0, 0, val);
> + ret = skl_dram_get_channel_info(display, &ch0, 0, val);
> if (ret == 0)
> dram_info->num_channels++;
>
> val = intel_uncore_read(&i915->uncore,
> SKL_MAD_DIMM_CH1_0_0_0_MCHBAR_MCMAIN);
> - ret = skl_dram_get_channel_info(i915, &ch1, 1, val);
> + ret = skl_dram_get_channel_info(display, &ch1, 1, val);
> if (ret == 0)
> dram_info->num_channels++;
>
> if (dram_info->num_channels == 0) {
> - drm_info(&i915->drm, "Number of memory channels is zero\n");
> + drm_info(display->drm, "Number of memory channels is zero\n");
> return -EINVAL;
> }
>
> if (ch0.ranks == 0 && ch1.ranks == 0) {
> - drm_info(&i915->drm, "couldn't get memory rank information\n");
> + drm_info(display->drm, "couldn't get memory rank information\n");
> return -EINVAL;
> }
>
> @@ -511,18 +518,19 @@ skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram
>
> dram_info->symmetric_memory = intel_is_dram_symmetric(&ch0, &ch1);
>
> - drm_dbg_kms(&i915->drm, "Memory configuration is symmetric? %s\n",
> + drm_dbg_kms(display->drm, "Memory configuration is symmetric? %s\n",
> str_yes_no(dram_info->symmetric_memory));
>
> - drm_dbg_kms(&i915->drm, "16Gb+ DIMMs: %s\n",
> + drm_dbg_kms(display->drm, "16Gb+ DIMMs: %s\n",
> str_yes_no(dram_info->has_16gb_dimms));
>
> return 0;
> }
>
> static enum intel_dram_type
> -skl_get_dram_type(struct drm_i915_private *i915)
> +skl_get_dram_type(struct intel_display *display)
> {
> + struct drm_i915_private *i915 = to_i915(display->drm);
> u32 val;
>
> val = intel_uncore_read(&i915->uncore,
> @@ -544,13 +552,13 @@ skl_get_dram_type(struct drm_i915_private *i915)
> }
>
> static int
> -skl_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> +skl_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> {
> int ret;
>
> - dram_info->type = skl_get_dram_type(i915);
> + dram_info->type = skl_get_dram_type(display);
>
> - ret = skl_dram_get_channels_info(i915, dram_info);
> + ret = skl_dram_get_channels_info(display, dram_info);
> if (ret)
> return ret;
>
> @@ -635,8 +643,9 @@ static void bxt_get_dimm_info(struct dram_dimm_info *dimm, u32 val)
> dimm->size = bxt_get_dimm_size(val) * intel_dimm_num_devices(dimm);
> }
>
> -static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> +static int bxt_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> {
> + struct drm_i915_private *i915 = to_i915(display->drm);
> u32 val;
> u8 valid_ranks = 0;
> int i;
> @@ -657,11 +666,11 @@ static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dr
> bxt_get_dimm_info(&dimm, val);
> type = bxt_get_dimm_type(val);
>
> - drm_WARN_ON(&i915->drm, type != INTEL_DRAM_UNKNOWN &&
> + drm_WARN_ON(display->drm, type != INTEL_DRAM_UNKNOWN &&
> dram_info->type != INTEL_DRAM_UNKNOWN &&
> dram_info->type != type);
>
> - drm_dbg_kms(&i915->drm,
> + drm_dbg_kms(display->drm,
> "CH%u DIMM size: %u Gb, width: X%u, ranks: %u\n",
> i - BXT_D_CR_DRP0_DUNIT_START,
> dimm.size, dimm.width, dimm.ranks);
> @@ -674,25 +683,25 @@ static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dr
> }
>
> if (dram_info->type == INTEL_DRAM_UNKNOWN || valid_ranks == 0) {
> - drm_info(&i915->drm, "couldn't get memory information\n");
> + drm_info(display->drm, "couldn't get memory information\n");
> return -EINVAL;
> }
>
> return 0;
> }
>
> -static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv,
> +static int icl_pcode_read_mem_global_info(struct intel_display *display,
> struct dram_info *dram_info)
> {
> u32 val = 0;
> int ret;
>
> - ret = intel_pcode_read(&dev_priv->drm, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
> + ret = intel_pcode_read(display->drm, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
> ICL_PCODE_MEM_SS_READ_GLOBAL_INFO, &val, NULL);
> if (ret)
> return ret;
>
> - if (GRAPHICS_VER(dev_priv) == 12) {
> + if (DISPLAY_VER(display) == 12) {
CI tells me this goes south on e.g. ADL-P (or TWL) which has graphics
version 12 but display version 13.
What to do.
BR,
Jani.
> switch (val & 0xf) {
> case 0:
> dram_info->type = INTEL_DRAM_DDR4;
> @@ -743,25 +752,25 @@ static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv,
> return 0;
> }
>
> -static int gen11_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> +static int gen11_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> {
> int ret;
>
> - ret = skl_dram_get_channels_info(i915, dram_info);
> + ret = skl_dram_get_channels_info(display, dram_info);
> if (ret)
> return ret;
>
> - return icl_pcode_read_mem_global_info(i915, dram_info);
> + return icl_pcode_read_mem_global_info(display, dram_info);
> }
>
> -static int gen12_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> +static int gen12_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> {
> - return icl_pcode_read_mem_global_info(i915, dram_info);
> + return icl_pcode_read_mem_global_info(display, dram_info);
> }
>
> -static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> +static int xelpdp_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> {
> - struct intel_display *display = i915->display;
> + struct drm_i915_private *i915 = to_i915(display->drm);
> u32 val = intel_uncore_read(&i915->uncore, MTL_MEM_SS_INFO_GLOBAL);
>
> switch (REG_FIELD_GET(MTL_DDR_TYPE_MASK, val)) {
> @@ -784,11 +793,11 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info
> dram_info->type = INTEL_DRAM_LPDDR3;
> break;
> case 8:
> - drm_WARN_ON(&i915->drm, !IS_DGFX(i915));
> + drm_WARN_ON(display->drm, !display->platform.dgfx);
> dram_info->type = INTEL_DRAM_GDDR;
> break;
> case 9:
> - drm_WARN_ON(&i915->drm, !IS_DGFX(i915));
> + drm_WARN_ON(display->drm, !display->platform.dgfx);
> dram_info->type = INTEL_DRAM_GDDR_ECC;
> break;
> default:
> @@ -806,41 +815,41 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info
> return 0;
> }
>
> -int intel_dram_detect(struct drm_i915_private *i915)
> +int intel_dram_detect(struct intel_display *display)
> {
> - struct intel_display *display = i915->display;
> + struct drm_i915_private *i915 = to_i915(display->drm);
> struct dram_info *dram_info;
> int ret;
>
> - if (IS_DG2(i915) || !intel_display_device_present(display))
> + if (display->platform.dg2 || !HAS_DISPLAY(display))
> return 0;
>
> - dram_info = drmm_kzalloc(&i915->drm, sizeof(*dram_info), GFP_KERNEL);
> + dram_info = drmm_kzalloc(display->drm, sizeof(*dram_info), GFP_KERNEL);
> if (!dram_info)
> return -ENOMEM;
>
> i915->dram_info = dram_info;
>
> if (DISPLAY_VER(display) >= 14)
> - ret = xelpdp_get_dram_info(i915, dram_info);
> - else if (GRAPHICS_VER(i915) >= 12)
> - ret = gen12_get_dram_info(i915, dram_info);
> - else if (GRAPHICS_VER(i915) >= 11)
> - ret = gen11_get_dram_info(i915, dram_info);
> - else if (IS_BROXTON(i915) || IS_GEMINILAKE(i915))
> - ret = bxt_get_dram_info(i915, dram_info);
> - else if (GRAPHICS_VER(i915) >= 9)
> - ret = skl_get_dram_info(i915, dram_info);
> + ret = xelpdp_get_dram_info(display, dram_info);
> + else if (DISPLAY_VER(display) >= 12)
> + ret = gen12_get_dram_info(display, dram_info);
> + else if (DISPLAY_VER(display) >= 11)
> + ret = gen11_get_dram_info(display, dram_info);
> + else if (display->platform.broxton || display->platform.geminilake)
> + ret = bxt_get_dram_info(display, dram_info);
> + else if (DISPLAY_VER(display) >= 9)
> + ret = skl_get_dram_info(display, dram_info);
> else
> - ret = i915_get_dram_info(i915, dram_info);
> + ret = i915_get_dram_info(display, dram_info);
>
> - drm_dbg_kms(&i915->drm, "DRAM type: %s\n",
> + drm_dbg_kms(display->drm, "DRAM type: %s\n",
> intel_dram_type_str(dram_info->type));
>
> - drm_dbg_kms(&i915->drm, "DRAM channels: %u\n", dram_info->num_channels);
> + drm_dbg_kms(display->drm, "DRAM channels: %u\n", dram_info->num_channels);
>
> - drm_dbg_kms(&i915->drm, "Num QGV points %u\n", dram_info->num_qgv_points);
> - drm_dbg_kms(&i915->drm, "Num PSF GV points %u\n", dram_info->num_psf_gv_points);
> + drm_dbg_kms(display->drm, "Num QGV points %u\n", dram_info->num_qgv_points);
> + drm_dbg_kms(display->drm, "Num PSF GV points %u\n", dram_info->num_psf_gv_points);
>
> /* TODO: Do we want to abort probe on dram detection failures? */
> if (ret)
> @@ -854,9 +863,9 @@ int intel_dram_detect(struct drm_i915_private *i915)
> * checks, and prefer not dereferencing on platforms that shouldn't look at dram
> * info, to catch accidental and incorrect dram info checks.
> */
> -const struct dram_info *intel_dram_info(struct drm_device *drm)
> +const struct dram_info *intel_dram_info(struct intel_display *display)
> {
> - struct drm_i915_private *i915 = to_i915(drm);
> + struct drm_i915_private *i915 = to_i915(display->drm);
>
> return i915->dram_info;
> }
> diff --git a/drivers/gpu/drm/i915/display/intel_dram.h b/drivers/gpu/drm/i915/display/intel_dram.h
> index 58aaf2f91afe..5800b7b4e614 100644
> --- a/drivers/gpu/drm/i915/display/intel_dram.h
> +++ b/drivers/gpu/drm/i915/display/intel_dram.h
> @@ -8,8 +8,7 @@
>
> #include <linux/types.h>
>
> -struct drm_i915_private;
> -struct drm_device;
> +struct intel_display;
>
> struct dram_info {
> enum intel_dram_type {
> @@ -35,10 +34,10 @@ struct dram_info {
> bool has_16gb_dimms;
> };
>
> -int intel_dram_detect(struct drm_i915_private *i915);
> -unsigned int intel_fsb_freq(struct drm_i915_private *i915);
> -unsigned int intel_mem_freq(struct drm_i915_private *i915);
> -const struct dram_info *intel_dram_info(struct drm_device *drm);
> +int intel_dram_detect(struct intel_display *display);
> +unsigned int intel_fsb_freq(struct intel_display *display);
> +unsigned int intel_mem_freq(struct intel_display *display);
> +const struct dram_info *intel_dram_info(struct intel_display *display);
> const char *intel_dram_type_str(enum intel_dram_type type);
>
> #endif /* __INTEL_DRAM_H__ */
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index a33e0cec8cba..7964cfffdaae 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -3125,7 +3125,7 @@ static bool skl_watermark_ipc_can_enable(struct intel_display *display)
> if (display->platform.kabylake ||
> display->platform.coffeelake ||
> display->platform.cometlake) {
> - const struct dram_info *dram_info = intel_dram_info(display->drm);
> + const struct dram_info *dram_info = intel_dram_info(display);
>
> return dram_info->symmetric_memory;
> }
> @@ -3169,7 +3169,7 @@ static void increase_wm_latency(struct intel_display *display, int inc)
>
> static bool need_16gb_dimm_wa(struct intel_display *display)
> {
> - const struct dram_info *dram_info = intel_dram_info(display->drm);
> + const struct dram_info *dram_info = intel_dram_info(display);
>
> return (display->platform.skylake || display->platform.kabylake ||
> display->platform.coffeelake || display->platform.cometlake ||
> diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> index d1f573f1b6cc..2369e2b55096 100644
> --- a/drivers/gpu/drm/i915/i915_driver.c
> +++ b/drivers/gpu/drm/i915/i915_driver.c
> @@ -574,7 +574,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
> * Fill the dram structure to get the system dram info. This will be
> * used for memory latency calculation.
> */
> - ret = intel_dram_detect(dev_priv);
> + ret = intel_dram_detect(display);
> if (ret)
> goto err_opregion;
>
> diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> index 9b1d21e03df0..793115077615 100644
> --- a/drivers/gpu/drm/xe/display/xe_display.c
> +++ b/drivers/gpu/drm/xe/display/xe_display.c
> @@ -122,7 +122,7 @@ int xe_display_init_early(struct xe_device *xe)
> * Fill the dram structure to get the system dram info. This will be
> * used for memory latency calculation.
> */
> - err = intel_dram_detect(xe);
> + err = intel_dram_detect(display);
> if (err)
> goto err_opregion;
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 05/13] drm/i915/dram: convert to struct intel_display
2025-11-20 8:31 ` Jani Nikula
@ 2025-11-20 13:59 ` Ville Syrjälä
0 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjälä @ 2025-11-20 13:59 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe
On Thu, Nov 20, 2025 at 10:31:06AM +0200, Jani Nikula wrote:
> On Wed, 19 Nov 2025, Jani Nikula <jani.nikula@intel.com> wrote:
> > Convert everything except uncore access to struct intel_display.
> >
> > While at it, convert logging to drm_dbg_kms().
> >
> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/i9xx_wm.c | 2 +-
> > drivers/gpu/drm/i915/display/intel_bw.c | 2 +-
> > drivers/gpu/drm/i915/display/intel_cdclk.c | 4 +-
> > .../drm/i915/display/intel_display_power.c | 2 +-
> > drivers/gpu/drm/i915/display/intel_dram.c | 205 +++++++++---------
> > drivers/gpu/drm/i915/display/intel_dram.h | 11 +-
> > drivers/gpu/drm/i915/display/skl_watermark.c | 4 +-
> > drivers/gpu/drm/i915/i915_driver.c | 2 +-
> > drivers/gpu/drm/xe/display/xe_display.c | 2 +-
> > 9 files changed, 120 insertions(+), 114 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/i9xx_wm.c b/drivers/gpu/drm/i915/display/i9xx_wm.c
> > index 27e2d73bc505..167277cd8877 100644
> > --- a/drivers/gpu/drm/i915/display/i9xx_wm.c
> > +++ b/drivers/gpu/drm/i915/display/i9xx_wm.c
> > @@ -90,7 +90,7 @@ static const struct cxsr_latency cxsr_latency_table[] = {
> >
> > static const struct cxsr_latency *pnv_get_cxsr_latency(struct intel_display *display)
> > {
> > - const struct dram_info *dram_info = intel_dram_info(display->drm);
> > + const struct dram_info *dram_info = intel_dram_info(display);
> > bool is_ddr3 = dram_info->type == INTEL_DRAM_DDR3;
> > int i;
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
> > index 957c90e62569..d27835ed49c2 100644
> > --- a/drivers/gpu/drm/i915/display/intel_bw.c
> > +++ b/drivers/gpu/drm/i915/display/intel_bw.c
> > @@ -799,7 +799,7 @@ static unsigned int icl_qgv_bw(struct intel_display *display,
> >
> > void intel_bw_init_hw(struct intel_display *display)
> > {
> > - const struct dram_info *dram_info = intel_dram_info(display->drm);
> > + const struct dram_info *dram_info = intel_dram_info(display);
> >
> > if (!HAS_DISPLAY(display))
> > return;
> > diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > index 531819391c8c..5c90e53b4e46 100644
> > --- a/drivers/gpu/drm/i915/display/intel_cdclk.c
> > +++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
> > @@ -3737,10 +3737,8 @@ static int pch_rawclk(struct intel_display *display)
> >
> > static int i9xx_hrawclk(struct intel_display *display)
> > {
> > - struct drm_i915_private *i915 = to_i915(display->drm);
> > -
> > /* hrawclock is 1/4 the FSB frequency */
> > - return DIV_ROUND_CLOSEST(intel_fsb_freq(i915), 4);
> > + return DIV_ROUND_CLOSEST(intel_fsb_freq(display), 4);
> > }
> >
> > /**
> > diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> > index 9c5f0277d8c2..08db9bbbfcb1 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> > @@ -1616,7 +1616,7 @@ static const struct buddy_page_mask wa_1409767108_buddy_page_masks[] = {
> >
> > static void tgl_bw_buddy_init(struct intel_display *display)
> > {
> > - const struct dram_info *dram_info = intel_dram_info(display->drm);
> > + const struct dram_info *dram_info = intel_dram_info(display);
> > const struct buddy_page_mask *table;
> > unsigned long abox_mask = DISPLAY_INFO(display)->abox_mask;
> > int config, i;
> > diff --git a/drivers/gpu/drm/i915/display/intel_dram.c b/drivers/gpu/drm/i915/display/intel_dram.c
> > index 7142772f2a6e..3dfcc7938740 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dram.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dram.c
> > @@ -56,14 +56,17 @@ const char *intel_dram_type_str(enum intel_dram_type type)
> >
> > #undef DRAM_TYPE_STR
> >
> > -static enum intel_dram_type pnv_dram_type(struct drm_i915_private *i915)
> > +static enum intel_dram_type pnv_dram_type(struct intel_display *display)
> > {
> > + struct drm_i915_private *i915 = to_i915(display->drm);
> > +
> > return intel_uncore_read(&i915->uncore, CSHRDDR3CTL) & CSHRDDR3CTL_DDR3 ?
> > INTEL_DRAM_DDR3 : INTEL_DRAM_DDR2;
> > }
> >
> > -static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
> > +static unsigned int pnv_mem_freq(struct intel_display *display)
> > {
> > + struct drm_i915_private *dev_priv = to_i915(display->drm);
> > u32 tmp;
> >
> > tmp = intel_uncore_read(&dev_priv->uncore, CLKCFG);
> > @@ -80,8 +83,9 @@ static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
> > return 0;
> > }
> >
> > -static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
> > +static unsigned int ilk_mem_freq(struct intel_display *display)
> > {
> > + struct drm_i915_private *dev_priv = to_i915(display->drm);
> > u16 ddrpll;
> >
> > ddrpll = intel_uncore_read16(&dev_priv->uncore, DDRMPLL1);
> > @@ -95,19 +99,19 @@ static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
> > case 0x18:
> > return 1600000;
> > default:
> > - drm_dbg(&dev_priv->drm, "unknown memory frequency 0x%02x\n",
> > - ddrpll & 0xff);
> > + drm_dbg_kms(display->drm, "unknown memory frequency 0x%02x\n",
> > + ddrpll & 0xff);
> > return 0;
> > }
> > }
> >
> > -static unsigned int chv_mem_freq(struct drm_i915_private *i915)
> > +static unsigned int chv_mem_freq(struct intel_display *display)
> > {
> > u32 val;
> >
> > - vlv_iosf_sb_get(&i915->drm, BIT(VLV_IOSF_SB_CCK));
> > - val = vlv_iosf_sb_read(&i915->drm, VLV_IOSF_SB_CCK, CCK_FUSE_REG);
> > - vlv_iosf_sb_put(&i915->drm, BIT(VLV_IOSF_SB_CCK));
> > + vlv_iosf_sb_get(display->drm, BIT(VLV_IOSF_SB_CCK));
> > + val = vlv_iosf_sb_read(display->drm, VLV_IOSF_SB_CCK, CCK_FUSE_REG);
> > + vlv_iosf_sb_put(display->drm, BIT(VLV_IOSF_SB_CCK));
> >
> > switch ((val >> 2) & 0x7) {
> > case 3:
> > @@ -117,13 +121,13 @@ static unsigned int chv_mem_freq(struct drm_i915_private *i915)
> > }
> > }
> >
> > -static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
> > +static unsigned int vlv_mem_freq(struct intel_display *display)
> > {
> > u32 val;
> >
> > - vlv_iosf_sb_get(&i915->drm, BIT(VLV_IOSF_SB_PUNIT));
> > - val = vlv_iosf_sb_read(&i915->drm, VLV_IOSF_SB_PUNIT, PUNIT_REG_GPU_FREQ_STS);
> > - vlv_iosf_sb_put(&i915->drm, BIT(VLV_IOSF_SB_PUNIT));
> > + vlv_iosf_sb_get(display->drm, BIT(VLV_IOSF_SB_PUNIT));
> > + val = vlv_iosf_sb_read(display->drm, VLV_IOSF_SB_PUNIT, PUNIT_REG_GPU_FREQ_STS);
> > + vlv_iosf_sb_put(display->drm, BIT(VLV_IOSF_SB_PUNIT));
> >
> > switch ((val >> 6) & 3) {
> > case 0:
> > @@ -138,22 +142,23 @@ static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
> > return 0;
> > }
> >
> > -unsigned int intel_mem_freq(struct drm_i915_private *i915)
> > +unsigned int intel_mem_freq(struct intel_display *display)
> > {
> > - if (IS_PINEVIEW(i915))
> > - return pnv_mem_freq(i915);
> > - else if (GRAPHICS_VER(i915) == 5)
> > - return ilk_mem_freq(i915);
> > - else if (IS_CHERRYVIEW(i915))
> > - return chv_mem_freq(i915);
> > - else if (IS_VALLEYVIEW(i915))
> > - return vlv_mem_freq(i915);
> > + if (display->platform.pineview)
> > + return pnv_mem_freq(display);
> > + else if (DISPLAY_VER(display) == 5)
> > + return ilk_mem_freq(display);
> > + else if (display->platform.cherryview)
> > + return chv_mem_freq(display);
> > + else if (display->platform.valleyview)
> > + return vlv_mem_freq(display);
> > else
> > return 0;
> > }
> >
> > -static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
> > +static unsigned int i9xx_fsb_freq(struct intel_display *display)
> > {
> > + struct drm_i915_private *i915 = to_i915(display->drm);
> > u32 fsb;
> >
> > /*
> > @@ -166,7 +171,7 @@ static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
> > */
> > fsb = intel_uncore_read(&i915->uncore, CLKCFG) & CLKCFG_FSB_MASK;
> >
> > - if (IS_PINEVIEW(i915) || IS_MOBILE(i915)) {
> > + if (display->platform.pineview || display->platform.mobile) {
> > switch (fsb) {
> > case CLKCFG_FSB_400:
> > return 400000;
> > @@ -207,8 +212,9 @@ static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
> > }
> > }
> >
> > -static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
> > +static unsigned int ilk_fsb_freq(struct intel_display *display)
> > {
> > + struct drm_i915_private *dev_priv = to_i915(display->drm);
> > u16 fsb;
> >
> > fsb = intel_uncore_read16(&dev_priv->uncore, CSIPLL0) & 0x3ff;
> > @@ -229,33 +235,33 @@ static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
> > case 0x018:
> > return 6400000;
> > default:
> > - drm_dbg(&dev_priv->drm, "unknown fsb frequency 0x%04x\n", fsb);
> > + drm_dbg_kms(display->drm, "unknown fsb frequency 0x%04x\n", fsb);
> > return 0;
> > }
> > }
> >
> > -unsigned int intel_fsb_freq(struct drm_i915_private *i915)
> > +unsigned int intel_fsb_freq(struct intel_display *display)
> > {
> > - if (GRAPHICS_VER(i915) == 5)
> > - return ilk_fsb_freq(i915);
> > - else if (GRAPHICS_VER(i915) == 3 || GRAPHICS_VER(i915) == 4)
> > - return i9xx_fsb_freq(i915);
> > + if (DISPLAY_VER(display) == 5)
> > + return ilk_fsb_freq(display);
> > + else if (IS_DISPLAY_VER(display, 3, 4))
> > + return i9xx_fsb_freq(display);
> > else
> > return 0;
> > }
> >
> > -static int i915_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> > +static int i915_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> > {
> > - dram_info->fsb_freq = intel_fsb_freq(i915);
> > + dram_info->fsb_freq = intel_fsb_freq(display);
> > if (dram_info->fsb_freq)
> > - drm_dbg(&i915->drm, "FSB frequency: %d kHz\n", dram_info->fsb_freq);
> > + drm_dbg_kms(display->drm, "FSB frequency: %d kHz\n", dram_info->fsb_freq);
> >
> > - dram_info->mem_freq = intel_mem_freq(i915);
> > + dram_info->mem_freq = intel_mem_freq(display);
> > if (dram_info->mem_freq)
> > - drm_dbg(&i915->drm, "DDR speed: %d kHz\n", dram_info->mem_freq);
> > + drm_dbg_kms(display->drm, "DDR speed: %d kHz\n", dram_info->mem_freq);
> >
> > - if (IS_PINEVIEW(i915))
> > - dram_info->type = pnv_dram_type(i915);
> > + if (display->platform.pineview)
> > + dram_info->type = pnv_dram_type(display);
> >
> > return 0;
> > }
> > @@ -391,22 +397,22 @@ skl_is_16gb_dimm(const struct dram_dimm_info *dimm)
> > }
> >
> > static void
> > -skl_dram_print_dimm_info(struct drm_i915_private *i915,
> > +skl_dram_print_dimm_info(struct intel_display *display,
> > struct dram_dimm_info *dimm,
> > int channel, char dimm_name)
> > {
> > - drm_dbg_kms(&i915->drm,
> > + drm_dbg_kms(display->drm,
> > "CH%u DIMM %c size: %u Gb, width: X%u, ranks: %u, 16Gb+ DIMMs: %s\n",
> > channel, dimm_name, dimm->size, dimm->width, dimm->ranks,
> > str_yes_no(skl_is_16gb_dimm(dimm)));
> > }
> >
> > static void
> > -skl_dram_get_dimm_l_info(struct drm_i915_private *i915,
> > +skl_dram_get_dimm_l_info(struct intel_display *display,
> > struct dram_dimm_info *dimm,
> > int channel, u32 val)
> > {
> > - if (GRAPHICS_VER(i915) >= 11) {
> > + if (DISPLAY_VER(display) >= 11) {
> > dimm->size = icl_get_dimm_l_size(val);
> > dimm->width = icl_get_dimm_l_width(val);
> > dimm->ranks = icl_get_dimm_l_ranks(val);
> > @@ -416,15 +422,15 @@ skl_dram_get_dimm_l_info(struct drm_i915_private *i915,
> > dimm->ranks = skl_get_dimm_l_ranks(val);
> > }
> >
> > - skl_dram_print_dimm_info(i915, dimm, channel, 'L');
> > + skl_dram_print_dimm_info(display, dimm, channel, 'L');
> > }
> >
> > static void
> > -skl_dram_get_dimm_s_info(struct drm_i915_private *i915,
> > +skl_dram_get_dimm_s_info(struct intel_display *display,
> > struct dram_dimm_info *dimm,
> > int channel, u32 val)
> > {
> > - if (GRAPHICS_VER(i915) >= 11) {
> > + if (DISPLAY_VER(display) >= 11) {
> > dimm->size = icl_get_dimm_s_size(val);
> > dimm->width = icl_get_dimm_s_width(val);
> > dimm->ranks = icl_get_dimm_s_ranks(val);
> > @@ -434,19 +440,19 @@ skl_dram_get_dimm_s_info(struct drm_i915_private *i915,
> > dimm->ranks = skl_get_dimm_s_ranks(val);
> > }
> >
> > - skl_dram_print_dimm_info(i915, dimm, channel, 'S');
> > + skl_dram_print_dimm_info(display, dimm, channel, 'S');
> > }
> >
> > static int
> > -skl_dram_get_channel_info(struct drm_i915_private *i915,
> > +skl_dram_get_channel_info(struct intel_display *display,
> > struct dram_channel_info *ch,
> > int channel, u32 val)
> > {
> > - skl_dram_get_dimm_l_info(i915, &ch->dimm_l, channel, val);
> > - skl_dram_get_dimm_s_info(i915, &ch->dimm_s, channel, val);
> > + skl_dram_get_dimm_l_info(display, &ch->dimm_l, channel, val);
> > + skl_dram_get_dimm_s_info(display, &ch->dimm_s, channel, val);
> >
> > if (ch->dimm_l.size == 0 && ch->dimm_s.size == 0) {
> > - drm_dbg_kms(&i915->drm, "CH%u not populated\n", channel);
> > + drm_dbg_kms(display->drm, "CH%u not populated\n", channel);
> > return -EINVAL;
> > }
> >
> > @@ -460,7 +466,7 @@ skl_dram_get_channel_info(struct drm_i915_private *i915,
> > ch->is_16gb_dimm = skl_is_16gb_dimm(&ch->dimm_l) ||
> > skl_is_16gb_dimm(&ch->dimm_s);
> >
> > - drm_dbg_kms(&i915->drm, "CH%u ranks: %u, 16Gb+ DIMMs: %s\n",
> > + drm_dbg_kms(display->drm, "CH%u ranks: %u, 16Gb+ DIMMs: %s\n",
> > channel, ch->ranks, str_yes_no(ch->is_16gb_dimm));
> >
> > return 0;
> > @@ -476,8 +482,9 @@ intel_is_dram_symmetric(const struct dram_channel_info *ch0,
> > }
> >
> > static int
> > -skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> > +skl_dram_get_channels_info(struct intel_display *display, struct dram_info *dram_info)
> > {
> > + struct drm_i915_private *i915 = to_i915(display->drm);
> > struct dram_channel_info ch0 = {}, ch1 = {};
> > u32 val;
> > int ret;
> > @@ -487,23 +494,23 @@ skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram
> >
> > val = intel_uncore_read(&i915->uncore,
> > SKL_MAD_DIMM_CH0_0_0_0_MCHBAR_MCMAIN);
> > - ret = skl_dram_get_channel_info(i915, &ch0, 0, val);
> > + ret = skl_dram_get_channel_info(display, &ch0, 0, val);
> > if (ret == 0)
> > dram_info->num_channels++;
> >
> > val = intel_uncore_read(&i915->uncore,
> > SKL_MAD_DIMM_CH1_0_0_0_MCHBAR_MCMAIN);
> > - ret = skl_dram_get_channel_info(i915, &ch1, 1, val);
> > + ret = skl_dram_get_channel_info(display, &ch1, 1, val);
> > if (ret == 0)
> > dram_info->num_channels++;
> >
> > if (dram_info->num_channels == 0) {
> > - drm_info(&i915->drm, "Number of memory channels is zero\n");
> > + drm_info(display->drm, "Number of memory channels is zero\n");
> > return -EINVAL;
> > }
> >
> > if (ch0.ranks == 0 && ch1.ranks == 0) {
> > - drm_info(&i915->drm, "couldn't get memory rank information\n");
> > + drm_info(display->drm, "couldn't get memory rank information\n");
> > return -EINVAL;
> > }
> >
> > @@ -511,18 +518,19 @@ skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram
> >
> > dram_info->symmetric_memory = intel_is_dram_symmetric(&ch0, &ch1);
> >
> > - drm_dbg_kms(&i915->drm, "Memory configuration is symmetric? %s\n",
> > + drm_dbg_kms(display->drm, "Memory configuration is symmetric? %s\n",
> > str_yes_no(dram_info->symmetric_memory));
> >
> > - drm_dbg_kms(&i915->drm, "16Gb+ DIMMs: %s\n",
> > + drm_dbg_kms(display->drm, "16Gb+ DIMMs: %s\n",
> > str_yes_no(dram_info->has_16gb_dimms));
> >
> > return 0;
> > }
> >
> > static enum intel_dram_type
> > -skl_get_dram_type(struct drm_i915_private *i915)
> > +skl_get_dram_type(struct intel_display *display)
> > {
> > + struct drm_i915_private *i915 = to_i915(display->drm);
> > u32 val;
> >
> > val = intel_uncore_read(&i915->uncore,
> > @@ -544,13 +552,13 @@ skl_get_dram_type(struct drm_i915_private *i915)
> > }
> >
> > static int
> > -skl_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> > +skl_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> > {
> > int ret;
> >
> > - dram_info->type = skl_get_dram_type(i915);
> > + dram_info->type = skl_get_dram_type(display);
> >
> > - ret = skl_dram_get_channels_info(i915, dram_info);
> > + ret = skl_dram_get_channels_info(display, dram_info);
> > if (ret)
> > return ret;
> >
> > @@ -635,8 +643,9 @@ static void bxt_get_dimm_info(struct dram_dimm_info *dimm, u32 val)
> > dimm->size = bxt_get_dimm_size(val) * intel_dimm_num_devices(dimm);
> > }
> >
> > -static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> > +static int bxt_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> > {
> > + struct drm_i915_private *i915 = to_i915(display->drm);
> > u32 val;
> > u8 valid_ranks = 0;
> > int i;
> > @@ -657,11 +666,11 @@ static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dr
> > bxt_get_dimm_info(&dimm, val);
> > type = bxt_get_dimm_type(val);
> >
> > - drm_WARN_ON(&i915->drm, type != INTEL_DRAM_UNKNOWN &&
> > + drm_WARN_ON(display->drm, type != INTEL_DRAM_UNKNOWN &&
> > dram_info->type != INTEL_DRAM_UNKNOWN &&
> > dram_info->type != type);
> >
> > - drm_dbg_kms(&i915->drm,
> > + drm_dbg_kms(display->drm,
> > "CH%u DIMM size: %u Gb, width: X%u, ranks: %u\n",
> > i - BXT_D_CR_DRP0_DUNIT_START,
> > dimm.size, dimm.width, dimm.ranks);
> > @@ -674,25 +683,25 @@ static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dr
> > }
> >
> > if (dram_info->type == INTEL_DRAM_UNKNOWN || valid_ranks == 0) {
> > - drm_info(&i915->drm, "couldn't get memory information\n");
> > + drm_info(display->drm, "couldn't get memory information\n");
> > return -EINVAL;
> > }
> >
> > return 0;
> > }
> >
> > -static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv,
> > +static int icl_pcode_read_mem_global_info(struct intel_display *display,
> > struct dram_info *dram_info)
> > {
> > u32 val = 0;
> > int ret;
> >
> > - ret = intel_pcode_read(&dev_priv->drm, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
> > + ret = intel_pcode_read(display->drm, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
> > ICL_PCODE_MEM_SS_READ_GLOBAL_INFO, &val, NULL);
> > if (ret)
> > return ret;
> >
> > - if (GRAPHICS_VER(dev_priv) == 12) {
> > + if (DISPLAY_VER(display) == 12) {
>
> CI tells me this goes south on e.g. ADL-P (or TWL) which has graphics
> version 12 but display version 13.
>
> What to do.
You can just check for >=12 here.
>
>
> BR,
> Jani.
>
> > switch (val & 0xf) {
> > case 0:
> > dram_info->type = INTEL_DRAM_DDR4;
> > @@ -743,25 +752,25 @@ static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv,
> > return 0;
> > }
> >
> > -static int gen11_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> > +static int gen11_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> > {
> > int ret;
> >
> > - ret = skl_dram_get_channels_info(i915, dram_info);
> > + ret = skl_dram_get_channels_info(display, dram_info);
> > if (ret)
> > return ret;
> >
> > - return icl_pcode_read_mem_global_info(i915, dram_info);
> > + return icl_pcode_read_mem_global_info(display, dram_info);
> > }
> >
> > -static int gen12_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> > +static int gen12_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> > {
> > - return icl_pcode_read_mem_global_info(i915, dram_info);
> > + return icl_pcode_read_mem_global_info(display, dram_info);
> > }
> >
> > -static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
> > +static int xelpdp_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
> > {
> > - struct intel_display *display = i915->display;
> > + struct drm_i915_private *i915 = to_i915(display->drm);
> > u32 val = intel_uncore_read(&i915->uncore, MTL_MEM_SS_INFO_GLOBAL);
> >
> > switch (REG_FIELD_GET(MTL_DDR_TYPE_MASK, val)) {
> > @@ -784,11 +793,11 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info
> > dram_info->type = INTEL_DRAM_LPDDR3;
> > break;
> > case 8:
> > - drm_WARN_ON(&i915->drm, !IS_DGFX(i915));
> > + drm_WARN_ON(display->drm, !display->platform.dgfx);
> > dram_info->type = INTEL_DRAM_GDDR;
> > break;
> > case 9:
> > - drm_WARN_ON(&i915->drm, !IS_DGFX(i915));
> > + drm_WARN_ON(display->drm, !display->platform.dgfx);
> > dram_info->type = INTEL_DRAM_GDDR_ECC;
> > break;
> > default:
> > @@ -806,41 +815,41 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info
> > return 0;
> > }
> >
> > -int intel_dram_detect(struct drm_i915_private *i915)
> > +int intel_dram_detect(struct intel_display *display)
> > {
> > - struct intel_display *display = i915->display;
> > + struct drm_i915_private *i915 = to_i915(display->drm);
> > struct dram_info *dram_info;
> > int ret;
> >
> > - if (IS_DG2(i915) || !intel_display_device_present(display))
> > + if (display->platform.dg2 || !HAS_DISPLAY(display))
> > return 0;
> >
> > - dram_info = drmm_kzalloc(&i915->drm, sizeof(*dram_info), GFP_KERNEL);
> > + dram_info = drmm_kzalloc(display->drm, sizeof(*dram_info), GFP_KERNEL);
> > if (!dram_info)
> > return -ENOMEM;
> >
> > i915->dram_info = dram_info;
> >
> > if (DISPLAY_VER(display) >= 14)
> > - ret = xelpdp_get_dram_info(i915, dram_info);
> > - else if (GRAPHICS_VER(i915) >= 12)
> > - ret = gen12_get_dram_info(i915, dram_info);
> > - else if (GRAPHICS_VER(i915) >= 11)
> > - ret = gen11_get_dram_info(i915, dram_info);
> > - else if (IS_BROXTON(i915) || IS_GEMINILAKE(i915))
> > - ret = bxt_get_dram_info(i915, dram_info);
> > - else if (GRAPHICS_VER(i915) >= 9)
> > - ret = skl_get_dram_info(i915, dram_info);
> > + ret = xelpdp_get_dram_info(display, dram_info);
> > + else if (DISPLAY_VER(display) >= 12)
> > + ret = gen12_get_dram_info(display, dram_info);
> > + else if (DISPLAY_VER(display) >= 11)
> > + ret = gen11_get_dram_info(display, dram_info);
> > + else if (display->platform.broxton || display->platform.geminilake)
> > + ret = bxt_get_dram_info(display, dram_info);
> > + else if (DISPLAY_VER(display) >= 9)
> > + ret = skl_get_dram_info(display, dram_info);
> > else
> > - ret = i915_get_dram_info(i915, dram_info);
> > + ret = i915_get_dram_info(display, dram_info);
> >
> > - drm_dbg_kms(&i915->drm, "DRAM type: %s\n",
> > + drm_dbg_kms(display->drm, "DRAM type: %s\n",
> > intel_dram_type_str(dram_info->type));
> >
> > - drm_dbg_kms(&i915->drm, "DRAM channels: %u\n", dram_info->num_channels);
> > + drm_dbg_kms(display->drm, "DRAM channels: %u\n", dram_info->num_channels);
> >
> > - drm_dbg_kms(&i915->drm, "Num QGV points %u\n", dram_info->num_qgv_points);
> > - drm_dbg_kms(&i915->drm, "Num PSF GV points %u\n", dram_info->num_psf_gv_points);
> > + drm_dbg_kms(display->drm, "Num QGV points %u\n", dram_info->num_qgv_points);
> > + drm_dbg_kms(display->drm, "Num PSF GV points %u\n", dram_info->num_psf_gv_points);
> >
> > /* TODO: Do we want to abort probe on dram detection failures? */
> > if (ret)
> > @@ -854,9 +863,9 @@ int intel_dram_detect(struct drm_i915_private *i915)
> > * checks, and prefer not dereferencing on platforms that shouldn't look at dram
> > * info, to catch accidental and incorrect dram info checks.
> > */
> > -const struct dram_info *intel_dram_info(struct drm_device *drm)
> > +const struct dram_info *intel_dram_info(struct intel_display *display)
> > {
> > - struct drm_i915_private *i915 = to_i915(drm);
> > + struct drm_i915_private *i915 = to_i915(display->drm);
> >
> > return i915->dram_info;
> > }
> > diff --git a/drivers/gpu/drm/i915/display/intel_dram.h b/drivers/gpu/drm/i915/display/intel_dram.h
> > index 58aaf2f91afe..5800b7b4e614 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dram.h
> > +++ b/drivers/gpu/drm/i915/display/intel_dram.h
> > @@ -8,8 +8,7 @@
> >
> > #include <linux/types.h>
> >
> > -struct drm_i915_private;
> > -struct drm_device;
> > +struct intel_display;
> >
> > struct dram_info {
> > enum intel_dram_type {
> > @@ -35,10 +34,10 @@ struct dram_info {
> > bool has_16gb_dimms;
> > };
> >
> > -int intel_dram_detect(struct drm_i915_private *i915);
> > -unsigned int intel_fsb_freq(struct drm_i915_private *i915);
> > -unsigned int intel_mem_freq(struct drm_i915_private *i915);
> > -const struct dram_info *intel_dram_info(struct drm_device *drm);
> > +int intel_dram_detect(struct intel_display *display);
> > +unsigned int intel_fsb_freq(struct intel_display *display);
> > +unsigned int intel_mem_freq(struct intel_display *display);
> > +const struct dram_info *intel_dram_info(struct intel_display *display);
> > const char *intel_dram_type_str(enum intel_dram_type type);
> >
> > #endif /* __INTEL_DRAM_H__ */
> > diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> > index a33e0cec8cba..7964cfffdaae 100644
> > --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> > +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> > @@ -3125,7 +3125,7 @@ static bool skl_watermark_ipc_can_enable(struct intel_display *display)
> > if (display->platform.kabylake ||
> > display->platform.coffeelake ||
> > display->platform.cometlake) {
> > - const struct dram_info *dram_info = intel_dram_info(display->drm);
> > + const struct dram_info *dram_info = intel_dram_info(display);
> >
> > return dram_info->symmetric_memory;
> > }
> > @@ -3169,7 +3169,7 @@ static void increase_wm_latency(struct intel_display *display, int inc)
> >
> > static bool need_16gb_dimm_wa(struct intel_display *display)
> > {
> > - const struct dram_info *dram_info = intel_dram_info(display->drm);
> > + const struct dram_info *dram_info = intel_dram_info(display);
> >
> > return (display->platform.skylake || display->platform.kabylake ||
> > display->platform.coffeelake || display->platform.cometlake ||
> > diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
> > index d1f573f1b6cc..2369e2b55096 100644
> > --- a/drivers/gpu/drm/i915/i915_driver.c
> > +++ b/drivers/gpu/drm/i915/i915_driver.c
> > @@ -574,7 +574,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
> > * Fill the dram structure to get the system dram info. This will be
> > * used for memory latency calculation.
> > */
> > - ret = intel_dram_detect(dev_priv);
> > + ret = intel_dram_detect(display);
> > if (ret)
> > goto err_opregion;
> >
> > diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
> > index 9b1d21e03df0..793115077615 100644
> > --- a/drivers/gpu/drm/xe/display/xe_display.c
> > +++ b/drivers/gpu/drm/xe/display/xe_display.c
> > @@ -122,7 +122,7 @@ int xe_display_init_early(struct xe_device *xe)
> > * Fill the dram structure to get the system dram info. This will be
> > * used for memory latency calculation.
> > */
> > - err = intel_dram_detect(xe);
> > + err = intel_dram_detect(display);
> > if (err)
> > goto err_opregion;
>
> --
> Jani Nikula, Intel
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH v3] drm/i915/dram: convert to struct intel_display
2025-11-19 18:52 ` [PATCH v2 05/13] drm/i915/dram: convert to struct intel_display Jani Nikula
2025-11-20 8:31 ` Jani Nikula
@ 2025-11-20 16:18 ` Jani Nikula
1 sibling, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-20 16:18 UTC (permalink / raw)
To: Jani Nikula, intel-gfx, intel-xe
Convert everything except uncore access to struct
intel_display. Converting the graphics version checks to display version
checks needs a tweak for display version 13, which have graphics version
12.
While at it, convert logging to drm_dbg_kms().
v2: Handle display version 13
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/i9xx_wm.c | 2 +-
drivers/gpu/drm/i915/display/intel_bw.c | 2 +-
drivers/gpu/drm/i915/display/intel_cdclk.c | 4 +-
.../drm/i915/display/intel_display_power.c | 2 +-
drivers/gpu/drm/i915/display/intel_dram.c | 205 +++++++++---------
drivers/gpu/drm/i915/display/intel_dram.h | 11 +-
drivers/gpu/drm/i915/display/skl_watermark.c | 4 +-
drivers/gpu/drm/i915/i915_driver.c | 2 +-
drivers/gpu/drm/xe/display/xe_display.c | 2 +-
9 files changed, 120 insertions(+), 114 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/i9xx_wm.c b/drivers/gpu/drm/i915/display/i9xx_wm.c
index 27e2d73bc505..167277cd8877 100644
--- a/drivers/gpu/drm/i915/display/i9xx_wm.c
+++ b/drivers/gpu/drm/i915/display/i9xx_wm.c
@@ -90,7 +90,7 @@ static const struct cxsr_latency cxsr_latency_table[] = {
static const struct cxsr_latency *pnv_get_cxsr_latency(struct intel_display *display)
{
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
bool is_ddr3 = dram_info->type == INTEL_DRAM_DDR3;
int i;
diff --git a/drivers/gpu/drm/i915/display/intel_bw.c b/drivers/gpu/drm/i915/display/intel_bw.c
index 957c90e62569..d27835ed49c2 100644
--- a/drivers/gpu/drm/i915/display/intel_bw.c
+++ b/drivers/gpu/drm/i915/display/intel_bw.c
@@ -799,7 +799,7 @@ static unsigned int icl_qgv_bw(struct intel_display *display,
void intel_bw_init_hw(struct intel_display *display)
{
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
if (!HAS_DISPLAY(display))
return;
diff --git a/drivers/gpu/drm/i915/display/intel_cdclk.c b/drivers/gpu/drm/i915/display/intel_cdclk.c
index 531819391c8c..5c90e53b4e46 100644
--- a/drivers/gpu/drm/i915/display/intel_cdclk.c
+++ b/drivers/gpu/drm/i915/display/intel_cdclk.c
@@ -3737,10 +3737,8 @@ static int pch_rawclk(struct intel_display *display)
static int i9xx_hrawclk(struct intel_display *display)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
-
/* hrawclock is 1/4 the FSB frequency */
- return DIV_ROUND_CLOSEST(intel_fsb_freq(i915), 4);
+ return DIV_ROUND_CLOSEST(intel_fsb_freq(display), 4);
}
/**
diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
index 9c5f0277d8c2..08db9bbbfcb1 100644
--- a/drivers/gpu/drm/i915/display/intel_display_power.c
+++ b/drivers/gpu/drm/i915/display/intel_display_power.c
@@ -1616,7 +1616,7 @@ static const struct buddy_page_mask wa_1409767108_buddy_page_masks[] = {
static void tgl_bw_buddy_init(struct intel_display *display)
{
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
const struct buddy_page_mask *table;
unsigned long abox_mask = DISPLAY_INFO(display)->abox_mask;
int config, i;
diff --git a/drivers/gpu/drm/i915/display/intel_dram.c b/drivers/gpu/drm/i915/display/intel_dram.c
index 7142772f2a6e..b4fa1fe8709c 100644
--- a/drivers/gpu/drm/i915/display/intel_dram.c
+++ b/drivers/gpu/drm/i915/display/intel_dram.c
@@ -56,14 +56,17 @@ const char *intel_dram_type_str(enum intel_dram_type type)
#undef DRAM_TYPE_STR
-static enum intel_dram_type pnv_dram_type(struct drm_i915_private *i915)
+static enum intel_dram_type pnv_dram_type(struct intel_display *display)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
+
return intel_uncore_read(&i915->uncore, CSHRDDR3CTL) & CSHRDDR3CTL_DDR3 ?
INTEL_DRAM_DDR3 : INTEL_DRAM_DDR2;
}
-static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
+static unsigned int pnv_mem_freq(struct intel_display *display)
{
+ struct drm_i915_private *dev_priv = to_i915(display->drm);
u32 tmp;
tmp = intel_uncore_read(&dev_priv->uncore, CLKCFG);
@@ -80,8 +83,9 @@ static unsigned int pnv_mem_freq(struct drm_i915_private *dev_priv)
return 0;
}
-static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
+static unsigned int ilk_mem_freq(struct intel_display *display)
{
+ struct drm_i915_private *dev_priv = to_i915(display->drm);
u16 ddrpll;
ddrpll = intel_uncore_read16(&dev_priv->uncore, DDRMPLL1);
@@ -95,19 +99,19 @@ static unsigned int ilk_mem_freq(struct drm_i915_private *dev_priv)
case 0x18:
return 1600000;
default:
- drm_dbg(&dev_priv->drm, "unknown memory frequency 0x%02x\n",
- ddrpll & 0xff);
+ drm_dbg_kms(display->drm, "unknown memory frequency 0x%02x\n",
+ ddrpll & 0xff);
return 0;
}
}
-static unsigned int chv_mem_freq(struct drm_i915_private *i915)
+static unsigned int chv_mem_freq(struct intel_display *display)
{
u32 val;
- vlv_iosf_sb_get(&i915->drm, BIT(VLV_IOSF_SB_CCK));
- val = vlv_iosf_sb_read(&i915->drm, VLV_IOSF_SB_CCK, CCK_FUSE_REG);
- vlv_iosf_sb_put(&i915->drm, BIT(VLV_IOSF_SB_CCK));
+ vlv_iosf_sb_get(display->drm, BIT(VLV_IOSF_SB_CCK));
+ val = vlv_iosf_sb_read(display->drm, VLV_IOSF_SB_CCK, CCK_FUSE_REG);
+ vlv_iosf_sb_put(display->drm, BIT(VLV_IOSF_SB_CCK));
switch ((val >> 2) & 0x7) {
case 3:
@@ -117,13 +121,13 @@ static unsigned int chv_mem_freq(struct drm_i915_private *i915)
}
}
-static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
+static unsigned int vlv_mem_freq(struct intel_display *display)
{
u32 val;
- vlv_iosf_sb_get(&i915->drm, BIT(VLV_IOSF_SB_PUNIT));
- val = vlv_iosf_sb_read(&i915->drm, VLV_IOSF_SB_PUNIT, PUNIT_REG_GPU_FREQ_STS);
- vlv_iosf_sb_put(&i915->drm, BIT(VLV_IOSF_SB_PUNIT));
+ vlv_iosf_sb_get(display->drm, BIT(VLV_IOSF_SB_PUNIT));
+ val = vlv_iosf_sb_read(display->drm, VLV_IOSF_SB_PUNIT, PUNIT_REG_GPU_FREQ_STS);
+ vlv_iosf_sb_put(display->drm, BIT(VLV_IOSF_SB_PUNIT));
switch ((val >> 6) & 3) {
case 0:
@@ -138,22 +142,23 @@ static unsigned int vlv_mem_freq(struct drm_i915_private *i915)
return 0;
}
-unsigned int intel_mem_freq(struct drm_i915_private *i915)
+unsigned int intel_mem_freq(struct intel_display *display)
{
- if (IS_PINEVIEW(i915))
- return pnv_mem_freq(i915);
- else if (GRAPHICS_VER(i915) == 5)
- return ilk_mem_freq(i915);
- else if (IS_CHERRYVIEW(i915))
- return chv_mem_freq(i915);
- else if (IS_VALLEYVIEW(i915))
- return vlv_mem_freq(i915);
+ if (display->platform.pineview)
+ return pnv_mem_freq(display);
+ else if (DISPLAY_VER(display) == 5)
+ return ilk_mem_freq(display);
+ else if (display->platform.cherryview)
+ return chv_mem_freq(display);
+ else if (display->platform.valleyview)
+ return vlv_mem_freq(display);
else
return 0;
}
-static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
+static unsigned int i9xx_fsb_freq(struct intel_display *display)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
u32 fsb;
/*
@@ -166,7 +171,7 @@ static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
*/
fsb = intel_uncore_read(&i915->uncore, CLKCFG) & CLKCFG_FSB_MASK;
- if (IS_PINEVIEW(i915) || IS_MOBILE(i915)) {
+ if (display->platform.pineview || display->platform.mobile) {
switch (fsb) {
case CLKCFG_FSB_400:
return 400000;
@@ -207,8 +212,9 @@ static unsigned int i9xx_fsb_freq(struct drm_i915_private *i915)
}
}
-static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
+static unsigned int ilk_fsb_freq(struct intel_display *display)
{
+ struct drm_i915_private *dev_priv = to_i915(display->drm);
u16 fsb;
fsb = intel_uncore_read16(&dev_priv->uncore, CSIPLL0) & 0x3ff;
@@ -229,33 +235,33 @@ static unsigned int ilk_fsb_freq(struct drm_i915_private *dev_priv)
case 0x018:
return 6400000;
default:
- drm_dbg(&dev_priv->drm, "unknown fsb frequency 0x%04x\n", fsb);
+ drm_dbg_kms(display->drm, "unknown fsb frequency 0x%04x\n", fsb);
return 0;
}
}
-unsigned int intel_fsb_freq(struct drm_i915_private *i915)
+unsigned int intel_fsb_freq(struct intel_display *display)
{
- if (GRAPHICS_VER(i915) == 5)
- return ilk_fsb_freq(i915);
- else if (GRAPHICS_VER(i915) == 3 || GRAPHICS_VER(i915) == 4)
- return i9xx_fsb_freq(i915);
+ if (DISPLAY_VER(display) == 5)
+ return ilk_fsb_freq(display);
+ else if (IS_DISPLAY_VER(display, 3, 4))
+ return i9xx_fsb_freq(display);
else
return 0;
}
-static int i915_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int i915_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
- dram_info->fsb_freq = intel_fsb_freq(i915);
+ dram_info->fsb_freq = intel_fsb_freq(display);
if (dram_info->fsb_freq)
- drm_dbg(&i915->drm, "FSB frequency: %d kHz\n", dram_info->fsb_freq);
+ drm_dbg_kms(display->drm, "FSB frequency: %d kHz\n", dram_info->fsb_freq);
- dram_info->mem_freq = intel_mem_freq(i915);
+ dram_info->mem_freq = intel_mem_freq(display);
if (dram_info->mem_freq)
- drm_dbg(&i915->drm, "DDR speed: %d kHz\n", dram_info->mem_freq);
+ drm_dbg_kms(display->drm, "DDR speed: %d kHz\n", dram_info->mem_freq);
- if (IS_PINEVIEW(i915))
- dram_info->type = pnv_dram_type(i915);
+ if (display->platform.pineview)
+ dram_info->type = pnv_dram_type(display);
return 0;
}
@@ -391,22 +397,22 @@ skl_is_16gb_dimm(const struct dram_dimm_info *dimm)
}
static void
-skl_dram_print_dimm_info(struct drm_i915_private *i915,
+skl_dram_print_dimm_info(struct intel_display *display,
struct dram_dimm_info *dimm,
int channel, char dimm_name)
{
- drm_dbg_kms(&i915->drm,
+ drm_dbg_kms(display->drm,
"CH%u DIMM %c size: %u Gb, width: X%u, ranks: %u, 16Gb+ DIMMs: %s\n",
channel, dimm_name, dimm->size, dimm->width, dimm->ranks,
str_yes_no(skl_is_16gb_dimm(dimm)));
}
static void
-skl_dram_get_dimm_l_info(struct drm_i915_private *i915,
+skl_dram_get_dimm_l_info(struct intel_display *display,
struct dram_dimm_info *dimm,
int channel, u32 val)
{
- if (GRAPHICS_VER(i915) >= 11) {
+ if (DISPLAY_VER(display) >= 11) {
dimm->size = icl_get_dimm_l_size(val);
dimm->width = icl_get_dimm_l_width(val);
dimm->ranks = icl_get_dimm_l_ranks(val);
@@ -416,15 +422,15 @@ skl_dram_get_dimm_l_info(struct drm_i915_private *i915,
dimm->ranks = skl_get_dimm_l_ranks(val);
}
- skl_dram_print_dimm_info(i915, dimm, channel, 'L');
+ skl_dram_print_dimm_info(display, dimm, channel, 'L');
}
static void
-skl_dram_get_dimm_s_info(struct drm_i915_private *i915,
+skl_dram_get_dimm_s_info(struct intel_display *display,
struct dram_dimm_info *dimm,
int channel, u32 val)
{
- if (GRAPHICS_VER(i915) >= 11) {
+ if (DISPLAY_VER(display) >= 11) {
dimm->size = icl_get_dimm_s_size(val);
dimm->width = icl_get_dimm_s_width(val);
dimm->ranks = icl_get_dimm_s_ranks(val);
@@ -434,19 +440,19 @@ skl_dram_get_dimm_s_info(struct drm_i915_private *i915,
dimm->ranks = skl_get_dimm_s_ranks(val);
}
- skl_dram_print_dimm_info(i915, dimm, channel, 'S');
+ skl_dram_print_dimm_info(display, dimm, channel, 'S');
}
static int
-skl_dram_get_channel_info(struct drm_i915_private *i915,
+skl_dram_get_channel_info(struct intel_display *display,
struct dram_channel_info *ch,
int channel, u32 val)
{
- skl_dram_get_dimm_l_info(i915, &ch->dimm_l, channel, val);
- skl_dram_get_dimm_s_info(i915, &ch->dimm_s, channel, val);
+ skl_dram_get_dimm_l_info(display, &ch->dimm_l, channel, val);
+ skl_dram_get_dimm_s_info(display, &ch->dimm_s, channel, val);
if (ch->dimm_l.size == 0 && ch->dimm_s.size == 0) {
- drm_dbg_kms(&i915->drm, "CH%u not populated\n", channel);
+ drm_dbg_kms(display->drm, "CH%u not populated\n", channel);
return -EINVAL;
}
@@ -460,7 +466,7 @@ skl_dram_get_channel_info(struct drm_i915_private *i915,
ch->is_16gb_dimm = skl_is_16gb_dimm(&ch->dimm_l) ||
skl_is_16gb_dimm(&ch->dimm_s);
- drm_dbg_kms(&i915->drm, "CH%u ranks: %u, 16Gb+ DIMMs: %s\n",
+ drm_dbg_kms(display->drm, "CH%u ranks: %u, 16Gb+ DIMMs: %s\n",
channel, ch->ranks, str_yes_no(ch->is_16gb_dimm));
return 0;
@@ -476,8 +482,9 @@ intel_is_dram_symmetric(const struct dram_channel_info *ch0,
}
static int
-skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+skl_dram_get_channels_info(struct intel_display *display, struct dram_info *dram_info)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
struct dram_channel_info ch0 = {}, ch1 = {};
u32 val;
int ret;
@@ -487,23 +494,23 @@ skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram
val = intel_uncore_read(&i915->uncore,
SKL_MAD_DIMM_CH0_0_0_0_MCHBAR_MCMAIN);
- ret = skl_dram_get_channel_info(i915, &ch0, 0, val);
+ ret = skl_dram_get_channel_info(display, &ch0, 0, val);
if (ret == 0)
dram_info->num_channels++;
val = intel_uncore_read(&i915->uncore,
SKL_MAD_DIMM_CH1_0_0_0_MCHBAR_MCMAIN);
- ret = skl_dram_get_channel_info(i915, &ch1, 1, val);
+ ret = skl_dram_get_channel_info(display, &ch1, 1, val);
if (ret == 0)
dram_info->num_channels++;
if (dram_info->num_channels == 0) {
- drm_info(&i915->drm, "Number of memory channels is zero\n");
+ drm_info(display->drm, "Number of memory channels is zero\n");
return -EINVAL;
}
if (ch0.ranks == 0 && ch1.ranks == 0) {
- drm_info(&i915->drm, "couldn't get memory rank information\n");
+ drm_info(display->drm, "couldn't get memory rank information\n");
return -EINVAL;
}
@@ -511,18 +518,19 @@ skl_dram_get_channels_info(struct drm_i915_private *i915, struct dram_info *dram
dram_info->symmetric_memory = intel_is_dram_symmetric(&ch0, &ch1);
- drm_dbg_kms(&i915->drm, "Memory configuration is symmetric? %s\n",
+ drm_dbg_kms(display->drm, "Memory configuration is symmetric? %s\n",
str_yes_no(dram_info->symmetric_memory));
- drm_dbg_kms(&i915->drm, "16Gb+ DIMMs: %s\n",
+ drm_dbg_kms(display->drm, "16Gb+ DIMMs: %s\n",
str_yes_no(dram_info->has_16gb_dimms));
return 0;
}
static enum intel_dram_type
-skl_get_dram_type(struct drm_i915_private *i915)
+skl_get_dram_type(struct intel_display *display)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
u32 val;
val = intel_uncore_read(&i915->uncore,
@@ -544,13 +552,13 @@ skl_get_dram_type(struct drm_i915_private *i915)
}
static int
-skl_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+skl_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
int ret;
- dram_info->type = skl_get_dram_type(i915);
+ dram_info->type = skl_get_dram_type(display);
- ret = skl_dram_get_channels_info(i915, dram_info);
+ ret = skl_dram_get_channels_info(display, dram_info);
if (ret)
return ret;
@@ -635,8 +643,9 @@ static void bxt_get_dimm_info(struct dram_dimm_info *dimm, u32 val)
dimm->size = bxt_get_dimm_size(val) * intel_dimm_num_devices(dimm);
}
-static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int bxt_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
+ struct drm_i915_private *i915 = to_i915(display->drm);
u32 val;
u8 valid_ranks = 0;
int i;
@@ -657,11 +666,11 @@ static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dr
bxt_get_dimm_info(&dimm, val);
type = bxt_get_dimm_type(val);
- drm_WARN_ON(&i915->drm, type != INTEL_DRAM_UNKNOWN &&
+ drm_WARN_ON(display->drm, type != INTEL_DRAM_UNKNOWN &&
dram_info->type != INTEL_DRAM_UNKNOWN &&
dram_info->type != type);
- drm_dbg_kms(&i915->drm,
+ drm_dbg_kms(display->drm,
"CH%u DIMM size: %u Gb, width: X%u, ranks: %u\n",
i - BXT_D_CR_DRP0_DUNIT_START,
dimm.size, dimm.width, dimm.ranks);
@@ -674,25 +683,25 @@ static int bxt_get_dram_info(struct drm_i915_private *i915, struct dram_info *dr
}
if (dram_info->type == INTEL_DRAM_UNKNOWN || valid_ranks == 0) {
- drm_info(&i915->drm, "couldn't get memory information\n");
+ drm_info(display->drm, "couldn't get memory information\n");
return -EINVAL;
}
return 0;
}
-static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv,
+static int icl_pcode_read_mem_global_info(struct intel_display *display,
struct dram_info *dram_info)
{
u32 val = 0;
int ret;
- ret = intel_pcode_read(&dev_priv->drm, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
+ ret = intel_pcode_read(display->drm, ICL_PCODE_MEM_SUBSYSYSTEM_INFO |
ICL_PCODE_MEM_SS_READ_GLOBAL_INFO, &val, NULL);
if (ret)
return ret;
- if (GRAPHICS_VER(dev_priv) == 12) {
+ if (DISPLAY_VER(display) >= 12) {
switch (val & 0xf) {
case 0:
dram_info->type = INTEL_DRAM_DDR4;
@@ -743,25 +752,25 @@ static int icl_pcode_read_mem_global_info(struct drm_i915_private *dev_priv,
return 0;
}
-static int gen11_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int gen11_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
int ret;
- ret = skl_dram_get_channels_info(i915, dram_info);
+ ret = skl_dram_get_channels_info(display, dram_info);
if (ret)
return ret;
- return icl_pcode_read_mem_global_info(i915, dram_info);
+ return icl_pcode_read_mem_global_info(display, dram_info);
}
-static int gen12_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int gen12_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
- return icl_pcode_read_mem_global_info(i915, dram_info);
+ return icl_pcode_read_mem_global_info(display, dram_info);
}
-static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info *dram_info)
+static int xelpdp_get_dram_info(struct intel_display *display, struct dram_info *dram_info)
{
- struct intel_display *display = i915->display;
+ struct drm_i915_private *i915 = to_i915(display->drm);
u32 val = intel_uncore_read(&i915->uncore, MTL_MEM_SS_INFO_GLOBAL);
switch (REG_FIELD_GET(MTL_DDR_TYPE_MASK, val)) {
@@ -784,11 +793,11 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info
dram_info->type = INTEL_DRAM_LPDDR3;
break;
case 8:
- drm_WARN_ON(&i915->drm, !IS_DGFX(i915));
+ drm_WARN_ON(display->drm, !display->platform.dgfx);
dram_info->type = INTEL_DRAM_GDDR;
break;
case 9:
- drm_WARN_ON(&i915->drm, !IS_DGFX(i915));
+ drm_WARN_ON(display->drm, !display->platform.dgfx);
dram_info->type = INTEL_DRAM_GDDR_ECC;
break;
default:
@@ -806,41 +815,41 @@ static int xelpdp_get_dram_info(struct drm_i915_private *i915, struct dram_info
return 0;
}
-int intel_dram_detect(struct drm_i915_private *i915)
+int intel_dram_detect(struct intel_display *display)
{
- struct intel_display *display = i915->display;
+ struct drm_i915_private *i915 = to_i915(display->drm);
struct dram_info *dram_info;
int ret;
- if (IS_DG2(i915) || !intel_display_device_present(display))
+ if (display->platform.dg2 || !HAS_DISPLAY(display))
return 0;
- dram_info = drmm_kzalloc(&i915->drm, sizeof(*dram_info), GFP_KERNEL);
+ dram_info = drmm_kzalloc(display->drm, sizeof(*dram_info), GFP_KERNEL);
if (!dram_info)
return -ENOMEM;
i915->dram_info = dram_info;
if (DISPLAY_VER(display) >= 14)
- ret = xelpdp_get_dram_info(i915, dram_info);
- else if (GRAPHICS_VER(i915) >= 12)
- ret = gen12_get_dram_info(i915, dram_info);
- else if (GRAPHICS_VER(i915) >= 11)
- ret = gen11_get_dram_info(i915, dram_info);
- else if (IS_BROXTON(i915) || IS_GEMINILAKE(i915))
- ret = bxt_get_dram_info(i915, dram_info);
- else if (GRAPHICS_VER(i915) >= 9)
- ret = skl_get_dram_info(i915, dram_info);
+ ret = xelpdp_get_dram_info(display, dram_info);
+ else if (DISPLAY_VER(display) >= 12)
+ ret = gen12_get_dram_info(display, dram_info);
+ else if (DISPLAY_VER(display) >= 11)
+ ret = gen11_get_dram_info(display, dram_info);
+ else if (display->platform.broxton || display->platform.geminilake)
+ ret = bxt_get_dram_info(display, dram_info);
+ else if (DISPLAY_VER(display) >= 9)
+ ret = skl_get_dram_info(display, dram_info);
else
- ret = i915_get_dram_info(i915, dram_info);
+ ret = i915_get_dram_info(display, dram_info);
- drm_dbg_kms(&i915->drm, "DRAM type: %s\n",
+ drm_dbg_kms(display->drm, "DRAM type: %s\n",
intel_dram_type_str(dram_info->type));
- drm_dbg_kms(&i915->drm, "DRAM channels: %u\n", dram_info->num_channels);
+ drm_dbg_kms(display->drm, "DRAM channels: %u\n", dram_info->num_channels);
- drm_dbg_kms(&i915->drm, "Num QGV points %u\n", dram_info->num_qgv_points);
- drm_dbg_kms(&i915->drm, "Num PSF GV points %u\n", dram_info->num_psf_gv_points);
+ drm_dbg_kms(display->drm, "Num QGV points %u\n", dram_info->num_qgv_points);
+ drm_dbg_kms(display->drm, "Num PSF GV points %u\n", dram_info->num_psf_gv_points);
/* TODO: Do we want to abort probe on dram detection failures? */
if (ret)
@@ -854,9 +863,9 @@ int intel_dram_detect(struct drm_i915_private *i915)
* checks, and prefer not dereferencing on platforms that shouldn't look at dram
* info, to catch accidental and incorrect dram info checks.
*/
-const struct dram_info *intel_dram_info(struct drm_device *drm)
+const struct dram_info *intel_dram_info(struct intel_display *display)
{
- struct drm_i915_private *i915 = to_i915(drm);
+ struct drm_i915_private *i915 = to_i915(display->drm);
return i915->dram_info;
}
diff --git a/drivers/gpu/drm/i915/display/intel_dram.h b/drivers/gpu/drm/i915/display/intel_dram.h
index 58aaf2f91afe..5800b7b4e614 100644
--- a/drivers/gpu/drm/i915/display/intel_dram.h
+++ b/drivers/gpu/drm/i915/display/intel_dram.h
@@ -8,8 +8,7 @@
#include <linux/types.h>
-struct drm_i915_private;
-struct drm_device;
+struct intel_display;
struct dram_info {
enum intel_dram_type {
@@ -35,10 +34,10 @@ struct dram_info {
bool has_16gb_dimms;
};
-int intel_dram_detect(struct drm_i915_private *i915);
-unsigned int intel_fsb_freq(struct drm_i915_private *i915);
-unsigned int intel_mem_freq(struct drm_i915_private *i915);
-const struct dram_info *intel_dram_info(struct drm_device *drm);
+int intel_dram_detect(struct intel_display *display);
+unsigned int intel_fsb_freq(struct intel_display *display);
+unsigned int intel_mem_freq(struct intel_display *display);
+const struct dram_info *intel_dram_info(struct intel_display *display);
const char *intel_dram_type_str(enum intel_dram_type type);
#endif /* __INTEL_DRAM_H__ */
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
index a33e0cec8cba..7964cfffdaae 100644
--- a/drivers/gpu/drm/i915/display/skl_watermark.c
+++ b/drivers/gpu/drm/i915/display/skl_watermark.c
@@ -3125,7 +3125,7 @@ static bool skl_watermark_ipc_can_enable(struct intel_display *display)
if (display->platform.kabylake ||
display->platform.coffeelake ||
display->platform.cometlake) {
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
return dram_info->symmetric_memory;
}
@@ -3169,7 +3169,7 @@ static void increase_wm_latency(struct intel_display *display, int inc)
static bool need_16gb_dimm_wa(struct intel_display *display)
{
- const struct dram_info *dram_info = intel_dram_info(display->drm);
+ const struct dram_info *dram_info = intel_dram_info(display);
return (display->platform.skylake || display->platform.kabylake ||
display->platform.coffeelake || display->platform.cometlake ||
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index d1f573f1b6cc..2369e2b55096 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -574,7 +574,7 @@ static int i915_driver_hw_probe(struct drm_i915_private *dev_priv)
* Fill the dram structure to get the system dram info. This will be
* used for memory latency calculation.
*/
- ret = intel_dram_detect(dev_priv);
+ ret = intel_dram_detect(display);
if (ret)
goto err_opregion;
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 9b1d21e03df0..793115077615 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -122,7 +122,7 @@ int xe_display_init_early(struct xe_device *xe)
* Fill the dram structure to get the system dram info. This will be
* used for memory latency calculation.
*/
- err = intel_dram_detect(xe);
+ err = intel_dram_detect(display);
if (err)
goto err_opregion;
--
2.47.3
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH v2 00/13] drm/i915: dissolve soc/
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (13 preceding siblings ...)
2025-11-19 21:55 ` ✗ i915.CI.BAT: failure for drm/i915: dissolve soc/ Patchwork
@ 2025-11-20 16:52 ` Ville Syrjälä
2025-11-20 17:32 ` ✓ i915.CI.BAT: success for drm/i915: dissolve soc/ (rev2) Patchwork
2025-11-21 3:39 ` ✗ i915.CI.Full: failure " Patchwork
16 siblings, 0 replies; 23+ messages in thread
From: Ville Syrjälä @ 2025-11-20 16:52 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe
On Wed, Nov 19, 2025 at 08:52:39PM +0200, Jani Nikula wrote:
> Split soc/ to i915 and display specific parts, and relocate code
> accordingly.
>
> In v2, cover all of soc/.
>
> BR,
> Jani.
>
> Jani Nikula (13):
> drm/i915/edram: extract i915_edram.[ch] for edram detection
> drm/i915: split out i915_freq.[ch]
> drm/i915: move intel_dram.[ch] from soc/ to display/
> drm/xe: remove MISSING_CASE() from compat i915_utils.h
> drm/i915/dram: convert to struct intel_display
> drm/i915: move dram_info to struct intel_display
> drm/i915: move intel_rom.[ch] from soc/ to display/
> drm/xe: remove remaining platform checks from compat i915_drv.h
> drm/i915/gmch: split out i915_gmch.[ch] from soc
> drm/i915/gmch: switch to use pci_bus_{read,write}_config_word()
> drm/i915/gmch: convert intel_gmch.c to struct intel_display
> drm/i915: merge soc/intel_gmch.[ch] to display/intel_vga.c
> drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915
Looks all right to me. Series is
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> drivers/gpu/drm/i915/Makefile | 11 +-
> drivers/gpu/drm/i915/display/i9xx_wm.c | 5 +-
> drivers/gpu/drm/i915/display/intel_bios.c | 3 +-
> drivers/gpu/drm/i915/display/intel_bw.c | 5 +-
> drivers/gpu/drm/i915/display/intel_cdclk.c | 7 +-
> .../gpu/drm/i915/display/intel_display_core.h | 4 +
> .../drm/i915/display/intel_display_power.c | 5 +-
> .../drm/i915/{soc => display}/intel_dram.c | 249 ++++++++----------
> .../drm/i915/{soc => display}/intel_dram.h | 12 +-
> .../gpu/drm/i915/{soc => display}/intel_rom.c | 0
> .../gpu/drm/i915/{soc => display}/intel_rom.h | 0
> drivers/gpu/drm/i915/display/intel_vga.c | 44 +++-
> drivers/gpu/drm/i915/display/skl_watermark.c | 6 +-
> .../gpu/drm/i915/gt/intel_gt_clock_utils.c | 4 +-
> drivers/gpu/drm/i915/gt/intel_rps.c | 6 +-
> drivers/gpu/drm/i915/i915_driver.c | 18 +-
> drivers/gpu/drm/i915/i915_drv.h | 3 -
> drivers/gpu/drm/i915/i915_edram.c | 44 ++++
> drivers/gpu/drm/i915/i915_edram.h | 11 +
> drivers/gpu/drm/i915/i915_freq.c | 111 ++++++++
> drivers/gpu/drm/i915/i915_freq.h | 13 +
> .../i915/{soc/intel_gmch.c => i915_gmch.c} | 61 +----
> drivers/gpu/drm/i915/i915_gmch.h | 13 +
> drivers/gpu/drm/i915/soc/intel_gmch.h | 20 --
> drivers/gpu/drm/xe/Makefile | 13 +-
> .../gpu/drm/xe/compat-i915-headers/i915_drv.h | 15 --
> .../drm/xe/compat-i915-headers/i915_utils.h | 6 -
> .../xe/compat-i915-headers/soc/intel_dram.h | 6 -
> .../xe/compat-i915-headers/soc/intel_gmch.h | 6 -
> .../xe/compat-i915-headers/soc/intel_rom.h | 6 -
> drivers/gpu/drm/xe/display/xe_display.c | 4 +-
> drivers/gpu/drm/xe/display/xe_display_misc.c | 16 --
> drivers/gpu/drm/xe/xe_device_types.h | 8 -
> 33 files changed, 394 insertions(+), 341 deletions(-)
> rename drivers/gpu/drm/i915/{soc => display}/intel_dram.c (70%)
> rename drivers/gpu/drm/i915/{soc => display}/intel_dram.h (68%)
> rename drivers/gpu/drm/i915/{soc => display}/intel_rom.c (100%)
> rename drivers/gpu/drm/i915/{soc => display}/intel_rom.h (100%)
> create mode 100644 drivers/gpu/drm/i915/i915_edram.c
> create mode 100644 drivers/gpu/drm/i915/i915_edram.h
> create mode 100644 drivers/gpu/drm/i915/i915_freq.c
> create mode 100644 drivers/gpu/drm/i915/i915_freq.h
> rename drivers/gpu/drm/i915/{soc/intel_gmch.c => i915_gmch.c} (68%)
> create mode 100644 drivers/gpu/drm/i915/i915_gmch.h
> delete mode 100644 drivers/gpu/drm/i915/soc/intel_gmch.h
> delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
> delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
> delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_rom.h
> delete mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
>
> --
> 2.47.3
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✓ i915.CI.BAT: success for drm/i915: dissolve soc/ (rev2)
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (14 preceding siblings ...)
2025-11-20 16:52 ` [PATCH v2 00/13] " Ville Syrjälä
@ 2025-11-20 17:32 ` Patchwork
2025-11-21 3:39 ` ✗ i915.CI.Full: failure " Patchwork
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-11-20 17:32 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 1554 bytes --]
== Series Details ==
Series: drm/i915: dissolve soc/ (rev2)
URL : https://patchwork.freedesktop.org/series/157793/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_17575 -> Patchwork_157793v2
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/index.html
Participating hosts (45 -> 43)
------------------------------
Missing (2): fi-glk-j4005 fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_157793v2 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@workarounds:
- bat-mtlp-9: [PASS][1] -> [DMESG-FAIL][2] ([i915#12061]) +1 other test dmesg-fail
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
Build changes
-------------
* Linux: CI_DRM_17575 -> Patchwork_157793v2
CI-20190529: 20190529
CI_DRM_17575: 13909978d70fc4ded88b778a313b68ad86ba881a @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8635: 8635
Patchwork_157793v2: 13909978d70fc4ded88b778a313b68ad86ba881a @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/index.html
[-- Attachment #2: Type: text/html, Size: 2139 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 13/13] drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915
2025-11-19 18:52 ` [PATCH v2 13/13] drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915 Jani Nikula
@ 2025-11-20 22:11 ` Lucas De Marchi
2025-11-21 10:30 ` Jani Nikula
0 siblings, 1 reply; 23+ messages in thread
From: Lucas De Marchi @ 2025-11-20 22:11 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe
On Wed, Nov 19, 2025 at 08:52:52PM +0200, Jani Nikula wrote:
>Drop the #ifdef I915, and use the same intel_gmch_vga_set_decode() for
>both i915 and xe.
I hope this doesn't regress our display side on other archs. We are very
close to having display working, but this messing with VGA is likely to
break it.
See "drm/i915/display: Stop touching vga on post enable", which is
needed for xe to use a DG2/BMG with a raspberry pi (+pci/resources
branch + a few other patches).
Lucas De Marchi
^ permalink raw reply [flat|nested] 23+ messages in thread
* ✗ i915.CI.Full: failure for drm/i915: dissolve soc/ (rev2)
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
` (15 preceding siblings ...)
2025-11-20 17:32 ` ✓ i915.CI.BAT: success for drm/i915: dissolve soc/ (rev2) Patchwork
@ 2025-11-21 3:39 ` Patchwork
16 siblings, 0 replies; 23+ messages in thread
From: Patchwork @ 2025-11-21 3:39 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 115229 bytes --]
== Series Details ==
Series: drm/i915: dissolve soc/ (rev2)
URL : https://patchwork.freedesktop.org/series/157793/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_17575_full -> Patchwork_157793v2_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_157793v2_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_157793v2_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) 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_157793v2_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1:
- shard-tglu: [PASS][1] -> [FAIL][2] +1 other test fail
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-tglu-6/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
* igt@kms_pipe_stress@stress-xrgb8888-xtiled:
- shard-mtlp: [PASS][3] -> [DMESG-WARN][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-mtlp-5/igt@kms_pipe_stress@stress-xrgb8888-xtiled.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-mtlp-2/igt@kms_pipe_stress@stress-xrgb8888-xtiled.html
New tests
---------
New tests have been introduced between CI_DRM_17575_full and Patchwork_157793v2_full:
### New IGT tests (8) ###
* igt@kms_dirtyfb@default-dirtyfb-ioctl@a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.63] s
* igt@kms_dirtyfb@default-dirtyfb-ioctl@a-hdmi-a-1:
- Statuses : 3 pass(s)
- Exec time: [1.24, 1.72] s
* igt@kms_dirtyfb@default-dirtyfb-ioctl@a-hdmi-a-2:
- Statuses : 2 pass(s)
- Exec time: [1.32, 1.57] s
* igt@kms_dirtyfb@default-dirtyfb-ioctl@a-hdmi-a-3:
- Statuses : 1 pass(s)
- Exec time: [1.41] s
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [2.63] s
* igt@kms_dirtyfb@fbc-dirtyfb-ioctl@a-hdmi-a-1:
- Statuses : 3 pass(s)
- Exec time: [1.19, 1.36] s
* igt@kms_dirtyfb@psr-dirtyfb-ioctl@a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.85] s
* igt@kms_selftest@drm_dp_mst_helper@drm_test_dp_mst_calc_pbn_div:
- Statuses : 6 pass(s)
- Exec time: [0.09, 0.16] s
Known issues
------------
Here are the changes found in Patchwork_157793v2_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@gem_bad_reloc@negative-reloc:
- shard-dg2: NOTRUN -> [SKIP][5] ([i915#3281]) +3 other tests skip
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@gem_bad_reloc@negative-reloc.html
* igt@gem_ccs@block-copy-compressed:
- shard-tglu-1: NOTRUN -> [SKIP][6] ([i915#3555] / [i915#9323])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@block-multicopy-compressed:
- shard-tglu-1: NOTRUN -> [SKIP][7] ([i915#9323])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@gem_ccs@block-multicopy-compressed.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-rkl: NOTRUN -> [SKIP][8] ([i915#3555] / [i915#9323])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_close_race@multigpu-basic-threads:
- shard-tglu: NOTRUN -> [SKIP][9] ([i915#7697])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@gem_close_race@multigpu-basic-threads.html
* igt@gem_create@create-ext-cpu-access-big:
- shard-rkl: NOTRUN -> [SKIP][10] ([i915#6335])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@gem_create@create-ext-cpu-access-big.html
* igt@gem_create@create-ext-cpu-access-sanity-check:
- shard-tglu: NOTRUN -> [SKIP][11] ([i915#6335])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@gem_create@create-ext-cpu-access-sanity-check.html
* igt@gem_create@create-ext-set-pat:
- shard-rkl: NOTRUN -> [SKIP][12] ([i915#8562])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@gem_create@create-ext-set-pat.html
* igt@gem_ctx_isolation@preservation-s3:
- shard-glk10: NOTRUN -> [INCOMPLETE][13] ([i915#13356]) +1 other test incomplete
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk10/igt@gem_ctx_isolation@preservation-s3.html
* igt@gem_ctx_persistence@heartbeat-close:
- shard-dg2: NOTRUN -> [SKIP][14] ([i915#8555])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@gem_ctx_persistence@heartbeat-close.html
* igt@gem_ctx_sseu@engines:
- shard-tglu: NOTRUN -> [SKIP][15] ([i915#280])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@gem_ctx_sseu@engines.html
* igt@gem_ctx_sseu@mmap-args:
- shard-tglu-1: NOTRUN -> [SKIP][16] ([i915#280])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@gem_ctx_sseu@mmap-args.html
* igt@gem_eio@in-flight-suspend:
- shard-dg1: [PASS][17] -> [DMESG-WARN][18] ([i915#4391] / [i915#4423])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-14/igt@gem_eio@in-flight-suspend.html
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-19/igt@gem_eio@in-flight-suspend.html
* igt@gem_eio@kms:
- shard-tglu-1: NOTRUN -> [DMESG-WARN][19] ([i915#13363])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@gem_eio@kms.html
* igt@gem_exec_balancer@parallel:
- shard-tglu-1: NOTRUN -> [SKIP][20] ([i915#4525])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@gem_exec_balancer@parallel.html
* igt@gem_exec_balancer@parallel-keep-in-fence:
- shard-rkl: NOTRUN -> [SKIP][21] ([i915#4525])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@gem_exec_balancer@parallel-keep-in-fence.html
* igt@gem_exec_balancer@parallel-ordering:
- shard-tglu: NOTRUN -> [SKIP][22] ([i915#4525]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@gem_exec_balancer@parallel-ordering.html
* igt@gem_exec_reloc@basic-gtt-read:
- shard-rkl: NOTRUN -> [SKIP][23] ([i915#3281]) +7 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@gem_exec_reloc@basic-gtt-read.html
* igt@gem_lmem_evict@dontneed-evict-race:
- shard-tglu: NOTRUN -> [SKIP][24] ([i915#4613] / [i915#7582])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@gem_lmem_evict@dontneed-evict-race.html
* igt@gem_lmem_swapping@heavy-verify-random:
- shard-rkl: NOTRUN -> [SKIP][25] ([i915#4613]) +4 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@gem_lmem_swapping@heavy-verify-random.html
* igt@gem_lmem_swapping@massive:
- shard-tglu: NOTRUN -> [SKIP][26] ([i915#4613])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@gem_lmem_swapping@massive.html
* igt@gem_lmem_swapping@random:
- shard-glk: NOTRUN -> [SKIP][27] ([i915#4613])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk6/igt@gem_lmem_swapping@random.html
* igt@gem_mmap_gtt@basic-small-bo:
- shard-dg2: NOTRUN -> [SKIP][28] ([i915#4077])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@gem_mmap_gtt@basic-small-bo.html
* igt@gem_mmap_wc@write-gtt-read-wc:
- shard-dg2: NOTRUN -> [SKIP][29] ([i915#4083])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@gem_mmap_wc@write-gtt-read-wc.html
* igt@gem_pwrite@basic-exhaustion:
- shard-tglu: NOTRUN -> [WARN][30] ([i915#2658])
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_pwrite_snooped:
- shard-dg2: NOTRUN -> [SKIP][31] ([i915#3282])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@gem_pwrite_snooped.html
* igt@gem_pxp@create-regular-context-1:
- shard-dg2: NOTRUN -> [SKIP][32] ([i915#4270])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@gem_pxp@create-regular-context-1.html
* igt@gem_pxp@hw-rejects-pxp-buffer:
- shard-tglu: NOTRUN -> [SKIP][33] ([i915#13398])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@gem_pxp@hw-rejects-pxp-buffer.html
* igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled:
- shard-dg2: NOTRUN -> [SKIP][34] ([i915#5190] / [i915#8428])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@gem_render_copy@yf-tiled-mc-ccs-to-vebox-y-tiled.html
* igt@gem_set_tiling_vs_pwrite:
- shard-rkl: NOTRUN -> [SKIP][35] ([i915#3282]) +3 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@gem_set_tiling_vs_pwrite.html
* igt@gem_userptr_blits@unsync-unmap-cycles:
- shard-tglu: NOTRUN -> [SKIP][36] ([i915#3297]) +1 other test skip
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@gem_userptr_blits@unsync-unmap-cycles.html
* igt@gen9_exec_parse@allowed-all:
- shard-tglu: NOTRUN -> [SKIP][37] ([i915#2527] / [i915#2856]) +2 other tests skip
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@bb-oversize:
- shard-tglu-1: NOTRUN -> [SKIP][38] ([i915#2527] / [i915#2856]) +1 other test skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@gen9_exec_parse@bb-oversize.html
* igt@gen9_exec_parse@bb-start-far:
- shard-rkl: NOTRUN -> [SKIP][39] ([i915#2527]) +2 other tests skip
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@gen9_exec_parse@bb-start-far.html
* igt@gen9_exec_parse@secure-batches:
- shard-dg2: NOTRUN -> [SKIP][40] ([i915#2856]) +1 other test skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@gen9_exec_parse@secure-batches.html
* igt@i915_module_load@load:
- shard-snb: ([PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], [PASS][47], [PASS][48], [PASS][49], [PASS][50], [PASS][51], [PASS][52], [PASS][53], [PASS][54], [PASS][55], [PASS][56], [PASS][57], [PASS][58], [PASS][59], [PASS][60], [PASS][61], [PASS][62], [PASS][63], [PASS][64], [PASS][65]) -> ([PASS][66], [PASS][67], [PASS][68], [PASS][69], [PASS][70], [PASS][71], [PASS][72], [PASS][73], [PASS][74], [PASS][75], [PASS][76], [PASS][77], [PASS][78], [PASS][79], [PASS][80], [PASS][81], [PASS][82], [PASS][83], [SKIP][84], [PASS][85], [PASS][86], [PASS][87], [PASS][88], [PASS][89])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb4/igt@i915_module_load@load.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb4/igt@i915_module_load@load.html
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb5/igt@i915_module_load@load.html
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb1/igt@i915_module_load@load.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb1/igt@i915_module_load@load.html
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb1/igt@i915_module_load@load.html
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb1/igt@i915_module_load@load.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb1/igt@i915_module_load@load.html
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb6/igt@i915_module_load@load.html
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb4/igt@i915_module_load@load.html
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb5/igt@i915_module_load@load.html
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb6/igt@i915_module_load@load.html
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb6/igt@i915_module_load@load.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb5/igt@i915_module_load@load.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb5/igt@i915_module_load@load.html
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb6/igt@i915_module_load@load.html
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb6/igt@i915_module_load@load.html
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb5/igt@i915_module_load@load.html
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb7/igt@i915_module_load@load.html
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb7/igt@i915_module_load@load.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb4/igt@i915_module_load@load.html
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb7/igt@i915_module_load@load.html
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb7/igt@i915_module_load@load.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb4/igt@i915_module_load@load.html
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb7/igt@i915_module_load@load.html
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb6/igt@i915_module_load@load.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb7/igt@i915_module_load@load.html
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb7/igt@i915_module_load@load.html
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb1/igt@i915_module_load@load.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb4/igt@i915_module_load@load.html
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb6/igt@i915_module_load@load.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb1/igt@i915_module_load@load.html
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb5/igt@i915_module_load@load.html
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb4/igt@i915_module_load@load.html
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb7/igt@i915_module_load@load.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb5/igt@i915_module_load@load.html
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb5/igt@i915_module_load@load.html
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb4/igt@i915_module_load@load.html
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb6/igt@i915_module_load@load.html
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb6/igt@i915_module_load@load.html
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb1/igt@i915_module_load@load.html
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb7/igt@i915_module_load@load.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb6/igt@i915_module_load@load.html
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb5/igt@i915_module_load@load.html
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb1/igt@i915_module_load@load.html
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb1/igt@i915_module_load@load.html
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb7/igt@i915_module_load@load.html
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb5/igt@i915_module_load@load.html
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb4/igt@i915_module_load@load.html
* igt@i915_module_load@resize-bar:
- shard-rkl: NOTRUN -> [SKIP][90] ([i915#6412])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@i915_module_load@resize-bar.html
* igt@i915_pm_freq_api@freq-reset-multiple:
- shard-rkl: NOTRUN -> [SKIP][91] ([i915#8399])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@i915_pm_freq_api@freq-reset-multiple.html
* igt@i915_pm_rc6_residency@media-rc6-accuracy:
- shard-rkl: NOTRUN -> [SKIP][92] +14 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@i915_pm_rc6_residency@media-rc6-accuracy.html
* igt@i915_pm_sseu@full-enable:
- shard-tglu: NOTRUN -> [SKIP][93] ([i915#4387])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@i915_pm_sseu@full-enable.html
* igt@kms_addfb_basic@framebuffer-vs-set-tiling:
- shard-dg2: NOTRUN -> [SKIP][94] ([i915#4212])
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-tglu: NOTRUN -> [SKIP][95] ([i915#12454] / [i915#12712])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-tglu: NOTRUN -> [SKIP][96] ([i915#1769] / [i915#3555])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels:
- shard-tglu-1: NOTRUN -> [SKIP][97] ([i915#1769] / [i915#3555])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_atomic_transition@plane-all-modeset-transition-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-tglu: NOTRUN -> [SKIP][98] ([i915#5286]) +3 other tests skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip:
- shard-rkl: NOTRUN -> [SKIP][99] ([i915#5286]) +5 other tests skip
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0-hflip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-tglu-1: NOTRUN -> [SKIP][100] ([i915#5286]) +1 other test skip
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-mtlp: [PASS][101] -> [FAIL][102] ([i915#5138])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@linear-16bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][103] ([i915#3638]) +3 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_big_fb@linear-16bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip:
- shard-dg2: NOTRUN -> [SKIP][104] ([i915#4538] / [i915#5190]) +4 other tests skip
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][105] ([i915#10307] / [i915#10434] / [i915#6095]) +3 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-4/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-1:
- shard-glk10: NOTRUN -> [SKIP][106] +35 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk10/igt@kms_ccs@bad-pixel-format-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][107] ([i915#14098] / [i915#6095]) +40 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-1/igt@kms_ccs@bad-rotation-90-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-2.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][108] ([i915#6095]) +65 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-3:
- shard-dg1: NOTRUN -> [SKIP][109] ([i915#6095]) +119 other tests skip
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-12/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-3.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][110] ([i915#14544] / [i915#6095]) +7 other tests skip
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-tglu: NOTRUN -> [SKIP][111] ([i915#12313])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs@pipe-a-dp-3:
- shard-dg2: NOTRUN -> [SKIP][112] ([i915#10307] / [i915#6095]) +98 other tests skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-11/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs@pipe-a-dp-3.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs:
- shard-rkl: NOTRUN -> [SKIP][113] ([i915#12313])
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_ccs@crc-primary-rotation-180-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs:
- shard-dg2: NOTRUN -> [SKIP][114] ([i915#12313])
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
- shard-tglu-1: NOTRUN -> [SKIP][115] ([i915#12313])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs:
- shard-tglu: NOTRUN -> [SKIP][116] ([i915#12805])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][117] ([i915#6095]) +11 other tests skip
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-4/igt@kms_ccs@crc-primary-suspend-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][118] ([i915#6095]) +44 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][119] ([i915#14098] / [i915#14544] / [i915#6095]) +4 other tests skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-d-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][120] ([i915#6095]) +29 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_ccs@random-ccs-data-y-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-tglu-1: NOTRUN -> [SKIP][121] ([i915#3742])
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][122] ([i915#13783]) +3 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-4/igt@kms_cdclk@plane-scaling@pipe-d-hdmi-a-1.html
* igt@kms_chamelium_edid@hdmi-edid-read:
- shard-dg2: NOTRUN -> [SKIP][123] ([i915#11151] / [i915#7828])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_chamelium_edid@hdmi-edid-read.html
* igt@kms_chamelium_edid@vga-edid-read:
- shard-rkl: NOTRUN -> [SKIP][124] ([i915#11151] / [i915#7828]) +4 other tests skip
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_chamelium_edid@vga-edid-read.html
* igt@kms_chamelium_hpd@dp-hpd-fast:
- shard-tglu-1: NOTRUN -> [SKIP][125] ([i915#11151] / [i915#7828]) +2 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_chamelium_hpd@dp-hpd-fast.html
* igt@kms_chamelium_hpd@vga-hpd-fast:
- shard-tglu: NOTRUN -> [SKIP][126] ([i915#11151] / [i915#7828]) +6 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_chamelium_hpd@vga-hpd-fast.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-tglu-1: NOTRUN -> [SKIP][127] ([i915#3116] / [i915#3299])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_content_protection@legacy:
- shard-rkl: NOTRUN -> [SKIP][128] ([i915#7118] / [i915#9424]) +1 other test skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@lic-type-1:
- shard-dg2: NOTRUN -> [SKIP][129] ([i915#9424])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@kms_content_protection@lic-type-1.html
* igt@kms_content_protection@mei-interface:
- shard-tglu-1: NOTRUN -> [SKIP][130] ([i915#6944] / [i915#9424]) +1 other test skip
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_content_protection@mei-interface.html
* igt@kms_cursor_crc@cursor-offscreen-32x10:
- shard-dg2: NOTRUN -> [SKIP][131] ([i915#3555]) +1 other test skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_cursor_crc@cursor-offscreen-32x10.html
* igt@kms_cursor_crc@cursor-offscreen-512x170:
- shard-rkl: NOTRUN -> [SKIP][132] ([i915#13049])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_cursor_crc@cursor-offscreen-512x170.html
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- shard-rkl: NOTRUN -> [SKIP][133] ([i915#3555]) +4 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_cursor_crc@cursor-onscreen-32x32.html
* igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [FAIL][134] ([i915#13566])
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-7/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-2.html
* igt@kms_cursor_crc@cursor-sliding-512x170:
- shard-tglu-1: NOTRUN -> [SKIP][135] ([i915#13049])
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-512x170.html
* igt@kms_cursor_crc@cursor-suspend:
- shard-snb: [PASS][136] -> [INCOMPLETE][137] ([i915#14152] / [i915#7882])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb7/igt@kms_cursor_crc@cursor-suspend.html
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb5/igt@kms_cursor_crc@cursor-suspend.html
* igt@kms_cursor_crc@cursor-suspend@pipe-b-hdmi-a-1:
- shard-snb: [PASS][138] -> [INCOMPLETE][139] ([i915#14152])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb7/igt@kms_cursor_crc@cursor-suspend@pipe-b-hdmi-a-1.html
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb5/igt@kms_cursor_crc@cursor-suspend@pipe-b-hdmi-a-1.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-rkl: NOTRUN -> [SKIP][140] ([i915#4103])
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
- shard-tglu-1: NOTRUN -> [SKIP][141] +25 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
- shard-dg2: NOTRUN -> [SKIP][142] ([i915#13046] / [i915#5354])
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-dg1: [PASS][143] -> [DMESG-WARN][144] ([i915#4423])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-19/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-15/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
- shard-rkl: NOTRUN -> [SKIP][145] ([i915#9067])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-tglu: NOTRUN -> [SKIP][146] ([i915#4103])
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_display_modes@extended-mode-basic:
- shard-tglu-1: NOTRUN -> [SKIP][147] ([i915#13691])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_display_modes@extended-mode-basic.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc:
- shard-tglu-1: NOTRUN -> [SKIP][148] ([i915#1769] / [i915#3555] / [i915#3804])
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html
* igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][149] ([i915#3804])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html
* igt@kms_dp_aux_dev:
- shard-rkl: NOTRUN -> [SKIP][150] ([i915#1257])
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_dp_aux_dev.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-rkl: NOTRUN -> [SKIP][151] ([i915#13749])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dp_link_training@uhbr-mst:
- shard-tglu-1: NOTRUN -> [SKIP][152] ([i915#13748])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_dp_link_training@uhbr-mst.html
* igt@kms_dsc@dsc-basic:
- shard-tglu: NOTRUN -> [SKIP][153] ([i915#3555] / [i915#3840])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_dsc@dsc-basic.html
* igt@kms_dsc@dsc-with-formats:
- shard-tglu-1: NOTRUN -> [SKIP][154] ([i915#3555] / [i915#3840])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_dsc@dsc-with-formats.html
* igt@kms_feature_discovery@display-3x:
- shard-tglu: NOTRUN -> [SKIP][155] ([i915#1839])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@dp-mst:
- shard-rkl: NOTRUN -> [SKIP][156] ([i915#9337])
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_feature_discovery@dp-mst.html
* igt@kms_feature_discovery@psr2:
- shard-tglu: NOTRUN -> [SKIP][157] ([i915#658])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_feature_discovery@psr2.html
* igt@kms_flip@2x-blocking-absolute-wf_vblank:
- shard-tglu: NOTRUN -> [SKIP][158] ([i915#3637] / [i915#9934]) +4 other tests skip
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_flip@2x-blocking-absolute-wf_vblank.html
* igt@kms_flip@2x-busy-flip:
- shard-dg2: NOTRUN -> [SKIP][159] ([i915#9934])
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@kms_flip@2x-busy-flip.html
* igt@kms_flip@2x-plain-flip-interruptible:
- shard-rkl: NOTRUN -> [SKIP][160] ([i915#9934]) +3 other tests skip
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_flip@2x-plain-flip-interruptible.html
* igt@kms_flip@2x-plain-flip-ts-check:
- shard-tglu-1: NOTRUN -> [SKIP][161] ([i915#3637] / [i915#9934]) +4 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_flip@2x-plain-flip-ts-check.html
* igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3:
- shard-dg2: [PASS][162] -> [FAIL][163] ([i915#13027]) +1 other test fail
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-1/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3.html
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-6/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a3.html
* igt@kms_flip@plain-flip-ts-check-interruptible:
- shard-snb: [PASS][164] -> [FAIL][165] ([i915#14600]) +1 other test fail
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-snb4/igt@kms_flip@plain-flip-ts-check-interruptible.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-snb4/igt@kms_flip@plain-flip-ts-check-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
- shard-tglu-1: NOTRUN -> [SKIP][166] ([i915#2672] / [i915#3555])
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling:
- shard-tglu-1: NOTRUN -> [SKIP][167] ([i915#2587] / [i915#2672] / [i915#3555])
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode:
- shard-tglu-1: NOTRUN -> [SKIP][168] ([i915#2587] / [i915#2672]) +1 other test skip
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling:
- shard-tglu: NOTRUN -> [SKIP][169] ([i915#2672] / [i915#3555]) +2 other tests skip
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-tglu: NOTRUN -> [SKIP][170] ([i915#2587] / [i915#2672]) +2 other tests skip
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling:
- shard-rkl: NOTRUN -> [SKIP][171] ([i915#2672] / [i915#3555]) +4 other tests skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][172] ([i915#2672]) +4 other tests skip
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt:
- shard-rkl: NOTRUN -> [SKIP][173] ([i915#1825]) +24 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][174] ([i915#5354]) +5 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-gtt:
- shard-tglu: NOTRUN -> [SKIP][175] +41 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt:
- shard-rkl: NOTRUN -> [SKIP][176] ([i915#15102]) +2 other tests skip
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move:
- shard-rkl: NOTRUN -> [SKIP][177] ([i915#15102] / [i915#3023]) +10 other tests skip
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt:
- shard-tglu: NOTRUN -> [SKIP][178] ([i915#15102]) +15 other tests skip
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-indfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-dg2: NOTRUN -> [SKIP][179] ([i915#8708]) +4 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-suspend:
- shard-dg2: NOTRUN -> [SKIP][180] ([i915#15102] / [i915#3458]) +2 other tests skip
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-suspend.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt:
- shard-tglu-1: NOTRUN -> [SKIP][181] ([i915#15102]) +10 other tests skip
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-dg2: [PASS][182] -> [SKIP][183] ([i915#3555] / [i915#8228])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-11/igt@kms_hdr@bpc-switch-suspend.html
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-rkl: NOTRUN -> [SKIP][184] ([i915#3555] / [i915#8228]) +2 other tests skip
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-swap:
- shard-tglu: NOTRUN -> [SKIP][185] ([i915#3555] / [i915#8228])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@kms_hdr@static-swap.html
* igt@kms_hdr@static-toggle-suspend:
- shard-tglu-1: NOTRUN -> [SKIP][186] ([i915#3555] / [i915#8228])
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-tglu: NOTRUN -> [SKIP][187] ([i915#12388])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_joiner@basic-force-big-joiner.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-rkl: NOTRUN -> [SKIP][188] ([i915#15283])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@basic-ultra-joiner:
- shard-rkl: NOTRUN -> [SKIP][189] ([i915#12339])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-1/igt@kms_joiner@basic-ultra-joiner.html
* igt@kms_joiner@invalid-modeset-ultra-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][190] ([i915#12339])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_joiner@invalid-modeset-ultra-joiner.html
* igt@kms_panel_fitting@atomic-fastset:
- shard-dg2: NOTRUN -> [SKIP][191] ([i915#6301])
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_panel_fitting@atomic-fastset.html
* igt@kms_panel_fitting@legacy:
- shard-rkl: NOTRUN -> [SKIP][192] ([i915#6301])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_panel_fitting@legacy.html
* igt@kms_plane_alpha_blend@alpha-basic:
- shard-glk: NOTRUN -> [FAIL][193] ([i915#12178])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk6/igt@kms_plane_alpha_blend@alpha-basic.html
* igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][194] ([i915#7862]) +1 other test fail
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk6/igt@kms_plane_alpha_blend@alpha-basic@pipe-a-hdmi-a-1.html
* igt@kms_plane_multiple@2x-tiling-y:
- shard-tglu: NOTRUN -> [SKIP][195] ([i915#13958]) +1 other test skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@kms_plane_multiple@2x-tiling-y.html
* igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b:
- shard-rkl: NOTRUN -> [SKIP][196] ([i915#12247]) +3 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-b.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation:
- shard-tglu-1: NOTRUN -> [SKIP][197] ([i915#3555]) +5 other tests skip
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b:
- shard-tglu-1: NOTRUN -> [SKIP][198] ([i915#12247]) +3 other tests skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b.html
* igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-c:
- shard-tglu: NOTRUN -> [SKIP][199] ([i915#12247]) +9 other tests skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation@pipe-c.html
* igt@kms_pm_backlight@bad-brightness:
- shard-rkl: NOTRUN -> [SKIP][200] ([i915#5354])
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_pm_backlight@bad-brightness.html
* igt@kms_pm_backlight@brightness-with-dpms:
- shard-rkl: NOTRUN -> [SKIP][201] ([i915#12343])
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_pm_backlight@brightness-with-dpms.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-tglu-1: NOTRUN -> [SKIP][202] ([i915#9812]) +1 other test skip
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_dc@dc5-retention-flops:
- shard-rkl: NOTRUN -> [SKIP][203] ([i915#3828])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_pm_dc@dc5-retention-flops.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-tglu-1: NOTRUN -> [SKIP][204] ([i915#3828])
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_rpm@dpms-non-lpsp:
- shard-tglu: NOTRUN -> [SKIP][205] ([i915#15073]) +1 other test skip
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@kms_pm_rpm@dpms-non-lpsp.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-rkl: [PASS][206] -> [SKIP][207] ([i915#15073]) +2 other tests skip
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_pm_rpm@modeset-lpsp-stress.html
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-3/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-dg2: [PASS][208] -> [SKIP][209] ([i915#15073])
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-11/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-4/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-tglu: NOTRUN -> [SKIP][210] ([i915#6524]) +1 other test skip
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area:
- shard-glk: NOTRUN -> [SKIP][211] ([i915#11520]) +1 other test skip
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk6/igt@kms_psr2_sf@fbc-psr2-plane-move-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area:
- shard-tglu-1: NOTRUN -> [SKIP][212] ([i915#11520]) +3 other tests skip
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf:
- shard-rkl: NOTRUN -> [SKIP][213] ([i915#11520]) +6 other tests skip
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-1/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf:
- shard-tglu: NOTRUN -> [SKIP][214] ([i915#11520]) +6 other tests skip
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf:
- shard-glk10: NOTRUN -> [SKIP][215] ([i915#11520])
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk10/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-sf.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-tglu: NOTRUN -> [SKIP][216] ([i915#9683])
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-7/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@fbc-psr-no-drrs:
- shard-tglu: NOTRUN -> [SKIP][217] ([i915#9732]) +12 other tests skip
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_psr@fbc-psr-no-drrs.html
* igt@kms_psr@pr-cursor-mmap-cpu:
- shard-dg2: NOTRUN -> [SKIP][218] ([i915#1072] / [i915#9732]) +5 other tests skip
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_psr@pr-cursor-mmap-cpu.html
* igt@kms_psr@pr-sprite-plane-onoff:
- shard-tglu-1: NOTRUN -> [SKIP][219] ([i915#9732]) +10 other tests skip
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_psr@pr-sprite-plane-onoff.html
* igt@kms_psr@psr2-sprite-mmap-cpu:
- shard-rkl: NOTRUN -> [SKIP][220] ([i915#1072] / [i915#9732]) +10 other tests skip
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_psr@psr2-sprite-mmap-cpu.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
- shard-rkl: NOTRUN -> [SKIP][221] ([i915#5289])
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-rotation-270:
- shard-dg2: NOTRUN -> [SKIP][222] ([i915#12755])
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_rotation_crc@primary-rotation-270.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-tglu: NOTRUN -> [SKIP][223] ([i915#5289])
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-tglu: NOTRUN -> [SKIP][224] ([i915#3555]) +2 other tests skip
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_setmode@basic:
- shard-dg2: [PASS][225] -> [FAIL][226] ([i915#15106])
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-11/igt@kms_setmode@basic.html
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-4/igt@kms_setmode@basic.html
- shard-rkl: [PASS][227] -> [FAIL][228] ([i915#15106])
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_setmode@basic.html
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_setmode@basic.html
* igt@kms_setmode@basic@pipe-a-hdmi-a-1:
- shard-dg2: NOTRUN -> [FAIL][229] ([i915#15106]) +1 other test fail
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-4/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
- shard-rkl: NOTRUN -> [FAIL][230] ([i915#15106]) +1 other test fail
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
* igt@kms_sharpness_filter@filter-basic:
- shard-rkl: NOTRUN -> [SKIP][231] ([i915#15232]) +1 other test skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_sharpness_filter@filter-basic.html
* igt@kms_sharpness_filter@filter-toggle:
- shard-tglu: NOTRUN -> [SKIP][232] ([i915#15232]) +1 other test skip
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_sharpness_filter@filter-toggle.html
* igt@kms_sharpness_filter@invalid-filter-with-plane:
- shard-dg2: NOTRUN -> [SKIP][233] ([i915#15232])
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_sharpness_filter@invalid-filter-with-plane.html
* igt@kms_sharpness_filter@invalid-plane-with-filter:
- shard-tglu-1: NOTRUN -> [SKIP][234] ([i915#15232]) +1 other test skip
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_sharpness_filter@invalid-plane-with-filter.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-glk: NOTRUN -> [FAIL][235] ([i915#10959])
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk6/igt@kms_tiled_display@basic-test-pattern.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-rkl: NOTRUN -> [SKIP][236] ([i915#8623])
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_universal_plane@cursor-fb-leak:
- shard-mtlp: [PASS][237] -> [FAIL][238] ([i915#9196]) +1 other test fail
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-mtlp-2/igt@kms_universal_plane@cursor-fb-leak.html
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-mtlp-3/igt@kms_universal_plane@cursor-fb-leak.html
* igt@kms_vrr@flip-suspend:
- shard-rkl: NOTRUN -> [SKIP][239] ([i915#15243] / [i915#3555])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_vrr@flip-suspend.html
* igt@kms_vrr@max-min:
- shard-tglu: NOTRUN -> [SKIP][240] ([i915#9906])
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@kms_vrr@max-min.html
* igt@kms_vrr@negative-basic:
- shard-glk: NOTRUN -> [SKIP][241] +63 other tests skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-glk6/igt@kms_vrr@negative-basic.html
* igt@kms_vrr@seamless-rr-switch-drrs:
- shard-tglu-1: NOTRUN -> [SKIP][242] ([i915#9906])
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-drrs.html
* igt@kms_writeback@writeback-check-output-xrgb2101010:
- shard-rkl: NOTRUN -> [SKIP][243] ([i915#2437] / [i915#9412])
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_writeback@writeback-check-output-xrgb2101010.html
* igt@kms_writeback@writeback-fb-id:
- shard-rkl: NOTRUN -> [SKIP][244] ([i915#2437])
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_writeback@writeback-fb-id.html
* igt@perf@unprivileged-single-ctx-counters:
- shard-rkl: NOTRUN -> [SKIP][245] ([i915#2433])
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-1/igt@perf@unprivileged-single-ctx-counters.html
* igt@perf_pmu@rc6-all-gts:
- shard-rkl: NOTRUN -> [SKIP][246] ([i915#8516])
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@perf_pmu@rc6-all-gts.html
* igt@prime_vgem@coherency-gtt:
- shard-rkl: NOTRUN -> [SKIP][247] ([i915#3708])
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@prime_vgem@coherency-gtt.html
* igt@sriov_basic@enable-vfs-bind-unbind-each@numvfs-random:
- shard-tglu: NOTRUN -> [FAIL][248] ([i915#12910]) +8 other tests fail
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-8/igt@sriov_basic@enable-vfs-bind-unbind-each@numvfs-random.html
#### Possible fixes ####
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-tglu: [WARN][249] ([i915#13790] / [i915#2681]) -> [PASS][250] +1 other test pass
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-tglu-3/igt@i915_pm_rc6_residency@rc6-fence.html
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-6/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@i915_selftest@live@workarounds:
- shard-mtlp: [DMESG-FAIL][251] ([i915#12061]) -> [PASS][252] +1 other test pass
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-mtlp-5/igt@i915_selftest@live@workarounds.html
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-mtlp-2/igt@i915_selftest@live@workarounds.html
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-rkl: [INCOMPLETE][253] ([i915#12761]) -> [PASS][254] +1 other test pass
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_async_flips@async-flip-suspend-resume.html
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip:
- shard-mtlp: [FAIL][255] ([i915#5138]) -> [PASS][256]
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-mtlp-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-mtlp-8/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-3:
- shard-dg2: [INCOMPLETE][257] ([i915#12796]) -> [PASS][258] +1 other test pass
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-6/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-3.html
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-1/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-mc-ccs@pipe-b-hdmi-a-3.html
* igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a4:
- shard-dg1: [DMESG-WARN][259] ([i915#4423]) -> [PASS][260] +1 other test pass
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-17/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a4.html
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-17/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a4.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-rkl: [INCOMPLETE][261] ([i915#10056]) -> [PASS][262]
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-suspend.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_hdr@static-toggle:
- shard-rkl: [SKIP][263] ([i915#3555] / [i915#8228]) -> [PASS][264] +2 other tests pass
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_hdr@static-toggle.html
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-1/igt@kms_hdr@static-toggle.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-rkl: [SKIP][265] ([i915#15073]) -> [PASS][266] +3 other tests pass
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-1/igt@kms_pm_rpm@dpms-lpsp.html
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@system-suspend-idle:
- shard-dg2: [INCOMPLETE][267] ([i915#14419]) -> [PASS][268]
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-5/igt@kms_pm_rpm@system-suspend-idle.html
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-3/igt@kms_pm_rpm@system-suspend-idle.html
* igt@kms_setmode@basic:
- shard-mtlp: [FAIL][269] ([i915#15106]) -> [PASS][270] +1 other test pass
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-mtlp-4/igt@kms_setmode@basic.html
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-mtlp-6/igt@kms_setmode@basic.html
* igt@perf_pmu@busy-double-start@rcs0:
- shard-mtlp: [FAIL][271] ([i915#4349]) -> [PASS][272]
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-mtlp-6/igt@perf_pmu@busy-double-start@rcs0.html
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-mtlp-8/igt@perf_pmu@busy-double-start@rcs0.html
#### Warnings ####
* igt@api_intel_bb@crc32:
- shard-rkl: [SKIP][273] ([i915#6230]) -> [SKIP][274] ([i915#14544] / [i915#6230])
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@api_intel_bb@crc32.html
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@api_intel_bb@crc32.html
* igt@api_intel_bb@object-reloc-keep-cache:
- shard-rkl: [SKIP][275] ([i915#14544] / [i915#8411]) -> [SKIP][276] ([i915#8411])
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@api_intel_bb@object-reloc-keep-cache.html
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@api_intel_bb@object-reloc-keep-cache.html
* igt@device_reset@unbind-cold-reset-rebind:
- shard-rkl: [SKIP][277] ([i915#11078] / [i915#14544]) -> [SKIP][278] ([i915#11078])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@device_reset@unbind-cold-reset-rebind.html
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@device_reset@unbind-cold-reset-rebind.html
* igt@gem_bad_reloc@negative-reloc-lut:
- shard-rkl: [SKIP][279] ([i915#14544] / [i915#3281]) -> [SKIP][280] ([i915#3281]) +4 other tests skip
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_bad_reloc@negative-reloc-lut.html
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@gem_bad_reloc@negative-reloc-lut.html
* igt@gem_basic@multigpu-create-close:
- shard-rkl: [SKIP][281] ([i915#7697]) -> [SKIP][282] ([i915#14544] / [i915#7697]) +1 other test skip
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@gem_basic@multigpu-create-close.html
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@suspend-resume:
- shard-rkl: [SKIP][283] ([i915#14544] / [i915#9323]) -> [SKIP][284] ([i915#9323])
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_ccs@suspend-resume.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@gem_ccs@suspend-resume.html
* igt@gem_close_race@multigpu-basic-threads:
- shard-rkl: [SKIP][285] ([i915#14544] / [i915#7697]) -> [SKIP][286] ([i915#7697])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_close_race@multigpu-basic-threads.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@gem_close_race@multigpu-basic-threads.html
* igt@gem_ctx_sseu@engines:
- shard-rkl: [SKIP][287] ([i915#14544] / [i915#280]) -> [SKIP][288] ([i915#280])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_ctx_sseu@engines.html
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@gem_ctx_sseu@engines.html
* igt@gem_exec_balancer@parallel-bb-first:
- shard-rkl: [SKIP][289] ([i915#14544] / [i915#4525]) -> [SKIP][290] ([i915#4525])
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_exec_balancer@parallel-bb-first.html
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@gem_exec_balancer@parallel-bb-first.html
* igt@gem_exec_balancer@parallel-dmabuf-import-out-fence:
- shard-rkl: [SKIP][291] ([i915#4525]) -> [SKIP][292] ([i915#14544] / [i915#4525])
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@gem_exec_balancer@parallel-dmabuf-import-out-fence.html
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_exec_balancer@parallel-dmabuf-import-out-fence.html
* igt@gem_exec_reloc@basic-gtt-cpu:
- shard-rkl: [SKIP][293] ([i915#3281]) -> [SKIP][294] ([i915#14544] / [i915#3281]) +6 other tests skip
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@gem_exec_reloc@basic-gtt-cpu.html
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-cpu.html
* igt@gem_lmem_evict@dontneed-evict-race:
- shard-rkl: [SKIP][295] ([i915#4613] / [i915#7582]) -> [SKIP][296] ([i915#14544] / [i915#4613] / [i915#7582])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@gem_lmem_evict@dontneed-evict-race.html
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_lmem_evict@dontneed-evict-race.html
* igt@gem_lmem_swapping@parallel-random:
- shard-rkl: [SKIP][297] ([i915#4613]) -> [SKIP][298] ([i915#14544] / [i915#4613])
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@gem_lmem_swapping@parallel-random.html
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_lmem_swapping@parallel-random.html
* igt@gem_lmem_swapping@parallel-random-verify:
- shard-rkl: [SKIP][299] ([i915#14544] / [i915#4613]) -> [SKIP][300] ([i915#4613]) +1 other test skip
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_lmem_swapping@parallel-random-verify.html
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@gem_lmem_swapping@parallel-random-verify.html
* igt@gem_media_vme:
- shard-rkl: [SKIP][301] ([i915#284]) -> [SKIP][302] ([i915#14544] / [i915#284])
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@gem_media_vme.html
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_media_vme.html
* igt@gem_partial_pwrite_pread@reads-uncached:
- shard-rkl: [SKIP][303] ([i915#14544] / [i915#3282]) -> [SKIP][304] ([i915#3282]) +4 other tests skip
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_partial_pwrite_pread@reads-uncached.html
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@gem_partial_pwrite_pread@reads-uncached.html
* igt@gem_partial_pwrite_pread@write-display:
- shard-rkl: [SKIP][305] ([i915#3282]) -> [SKIP][306] ([i915#14544] / [i915#3282]) +3 other tests skip
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@gem_partial_pwrite_pread@write-display.html
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_partial_pwrite_pread@write-display.html
* igt@gem_pxp@hw-rejects-pxp-buffer:
- shard-rkl: [SKIP][307] ([i915#13717] / [i915#14544]) -> [SKIP][308] ([i915#13717])
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_pxp@hw-rejects-pxp-buffer.html
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@gem_pxp@hw-rejects-pxp-buffer.html
* igt@gem_pxp@hw-rejects-pxp-context:
- shard-rkl: [SKIP][309] ([i915#13717]) -> [SKIP][310] ([i915#13717] / [i915#14544])
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@gem_pxp@hw-rejects-pxp-context.html
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_pxp@hw-rejects-pxp-context.html
* igt@gem_set_tiling_vs_blt@tiled-to-tiled:
- shard-rkl: [SKIP][311] ([i915#8411]) -> [SKIP][312] ([i915#14544] / [i915#8411])
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-tiled.html
* igt@gem_userptr_blits@create-destroy-unsync:
- shard-rkl: [SKIP][313] ([i915#14544] / [i915#3297]) -> [SKIP][314] ([i915#3297]) +3 other tests skip
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gem_userptr_blits@create-destroy-unsync.html
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@gem_userptr_blits@create-destroy-unsync.html
* igt@gem_userptr_blits@unsync-overlap:
- shard-rkl: [SKIP][315] ([i915#3297]) -> [SKIP][316] ([i915#14544] / [i915#3297]) +1 other test skip
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@gem_userptr_blits@unsync-overlap.html
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gem_userptr_blits@unsync-overlap.html
* igt@gen9_exec_parse@bb-start-param:
- shard-rkl: [SKIP][317] ([i915#14544] / [i915#2527]) -> [SKIP][318] ([i915#2527]) +2 other tests skip
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@gen9_exec_parse@bb-start-param.html
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@gen9_exec_parse@bb-start-param.html
* igt@gen9_exec_parse@shadow-peek:
- shard-rkl: [SKIP][319] ([i915#2527]) -> [SKIP][320] ([i915#14544] / [i915#2527]) +1 other test skip
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@gen9_exec_parse@shadow-peek.html
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@gen9_exec_parse@shadow-peek.html
* igt@i915_pm_sseu@full-enable:
- shard-rkl: [SKIP][321] ([i915#14544] / [i915#4387]) -> [SKIP][322] ([i915#4387])
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@i915_pm_sseu@full-enable.html
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@i915_pm_sseu@full-enable.html
* igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
- shard-rkl: [SKIP][323] ([i915#14544] / [i915#1769] / [i915#3555]) -> [SKIP][324] ([i915#1769] / [i915#3555])
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-180:
- shard-rkl: [SKIP][325] ([i915#14544] / [i915#5286]) -> [SKIP][326] ([i915#5286]) +2 other tests skip
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_big_fb@4-tiled-32bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-0:
- shard-rkl: [SKIP][327] ([i915#5286]) -> [SKIP][328] ([i915#14544] / [i915#5286]) +3 other tests skip
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@linear-32bpp-rotate-90:
- shard-rkl: [SKIP][329] ([i915#14544] / [i915#3638]) -> [SKIP][330] ([i915#3638]) +1 other test skip
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_big_fb@linear-32bpp-rotate-90.html
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_big_fb@linear-32bpp-rotate-90.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-rkl: [SKIP][331] ([i915#3638]) -> [SKIP][332] ([i915#14544] / [i915#3638]) +3 other tests skip
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_big_fb@linear-64bpp-rotate-90.html
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
- shard-rkl: [SKIP][333] ([i915#12313]) -> [SKIP][334] ([i915#12313] / [i915#14544])
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs:
- shard-rkl: [SKIP][335] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][336] ([i915#14098] / [i915#6095]) +14 other tests skip
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs.html
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs:
- shard-rkl: [SKIP][337] ([i915#14098] / [i915#6095]) -> [SKIP][338] ([i915#14098] / [i915#14544] / [i915#6095]) +12 other tests skip
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-yf-tiled-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2:
- shard-rkl: [SKIP][339] ([i915#6095]) -> [SKIP][340] ([i915#14544] / [i915#6095]) +6 other tests skip
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-a-hdmi-a-2:
- shard-rkl: [SKIP][341] ([i915#14544] / [i915#6095]) -> [SKIP][342] ([i915#6095]) +7 other tests skip
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-a-hdmi-a-2.html
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-a-hdmi-a-2.html
* igt@kms_cdclk@plane-scaling:
- shard-rkl: [SKIP][343] ([i915#14544] / [i915#3742]) -> [SKIP][344] ([i915#3742])
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_cdclk@plane-scaling.html
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_cdclk@plane-scaling.html
* igt@kms_chamelium_color@degamma:
- shard-rkl: [SKIP][345] ([i915#14544]) -> [SKIP][346] +9 other tests skip
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_chamelium_color@degamma.html
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_chamelium_color@degamma.html
* igt@kms_chamelium_frames@dp-frame-dump:
- shard-rkl: [SKIP][347] ([i915#11151] / [i915#7828]) -> [SKIP][348] ([i915#11151] / [i915#14544] / [i915#7828]) +5 other tests skip
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_chamelium_frames@dp-frame-dump.html
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_chamelium_frames@dp-frame-dump.html
* igt@kms_chamelium_frames@hdmi-crc-multiple:
- shard-rkl: [SKIP][349] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][350] ([i915#11151] / [i915#7828]) +5 other tests skip
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_chamelium_frames@hdmi-crc-multiple.html
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_chamelium_frames@hdmi-crc-multiple.html
* igt@kms_content_protection@atomic-dpms:
- shard-rkl: [SKIP][351] ([i915#14544] / [i915#7118] / [i915#9424]) -> [SKIP][352] ([i915#7118] / [i915#9424])
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_content_protection@atomic-dpms.html
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@mei-interface:
- shard-dg1: [SKIP][353] ([i915#9433]) -> [SKIP][354] ([i915#9424])
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-12/igt@kms_content_protection@mei-interface.html
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-14/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@srm:
- shard-dg2: [FAIL][355] ([i915#7173]) -> [SKIP][356] ([i915#7118])
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-11/igt@kms_content_protection@srm.html
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-4/igt@kms_content_protection@srm.html
- shard-rkl: [SKIP][357] ([i915#14544] / [i915#7118]) -> [SKIP][358] ([i915#7118])
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_content_protection@srm.html
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-rkl: [SKIP][359] ([i915#13049]) -> [SKIP][360] ([i915#13049] / [i915#14544]) +1 other test skip
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-512x512.html
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x32:
- shard-rkl: [SKIP][361] ([i915#14544] / [i915#3555]) -> [SKIP][362] ([i915#3555]) +2 other tests skip
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
* igt@kms_cursor_crc@cursor-sliding-32x10:
- shard-rkl: [SKIP][363] ([i915#3555]) -> [SKIP][364] ([i915#14544] / [i915#3555]) +2 other tests skip
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@kms_cursor_crc@cursor-sliding-32x10.html
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_cursor_crc@cursor-sliding-32x10.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-rkl: [SKIP][365] -> [SKIP][366] ([i915#14544]) +14 other tests skip
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle:
- shard-rkl: [SKIP][367] ([i915#14544] / [i915#4103]) -> [SKIP][368] ([i915#4103])
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html
* igt@kms_dp_link_training@non-uhbr-mst:
- shard-rkl: [SKIP][369] ([i915#13749] / [i915#14544]) -> [SKIP][370] ([i915#13749])
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_dp_link_training@non-uhbr-mst.html
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_dp_link_training@non-uhbr-mst.html
* igt@kms_dp_link_training@uhbr-sst:
- shard-rkl: [SKIP][371] ([i915#13748] / [i915#14544]) -> [SKIP][372] ([i915#13748])
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_dp_link_training@uhbr-sst.html
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_dp_link_training@uhbr-sst.html
* igt@kms_dp_linktrain_fallback@dsc-fallback:
- shard-rkl: [SKIP][373] ([i915#13707]) -> [SKIP][374] ([i915#13707] / [i915#14544])
[373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@kms_dp_linktrain_fallback@dsc-fallback.html
[374]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_dp_linktrain_fallback@dsc-fallback.html
* igt@kms_dsc@dsc-basic:
- shard-rkl: [SKIP][375] ([i915#14544] / [i915#3555] / [i915#3840]) -> [SKIP][376] ([i915#3555] / [i915#3840])
[375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_dsc@dsc-basic.html
[376]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_dsc@dsc-basic.html
* igt@kms_feature_discovery@display-3x:
- shard-rkl: [SKIP][377] ([i915#1839]) -> [SKIP][378] ([i915#14544] / [i915#1839])
[377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_feature_discovery@display-3x.html
[378]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_feature_discovery@display-3x.html
* igt@kms_feature_discovery@display-4x:
- shard-rkl: [SKIP][379] ([i915#14544] / [i915#1839]) -> [SKIP][380] ([i915#1839])
[379]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_feature_discovery@display-4x.html
[380]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_feature_discovery@display-4x.html
* igt@kms_flip@2x-modeset-vs-vblank-race:
- shard-rkl: [SKIP][381] ([i915#14544] / [i915#9934]) -> [SKIP][382] ([i915#9934]) +6 other tests skip
[381]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_flip@2x-modeset-vs-vblank-race.html
[382]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_flip@2x-modeset-vs-vblank-race.html
* igt@kms_flip@2x-plain-flip:
- shard-rkl: [SKIP][383] ([i915#9934]) -> [SKIP][384] ([i915#14544] / [i915#9934]) +6 other tests skip
[383]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_flip@2x-plain-flip.html
[384]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-rkl: [SKIP][385] ([i915#2672] / [i915#3555]) -> [SKIP][386] ([i915#14544] / [i915#2672] / [i915#3555]) +2 other tests skip
[385]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
[386]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode:
- shard-rkl: [SKIP][387] ([i915#2672]) -> [SKIP][388] ([i915#14544] / [i915#2672]) +2 other tests skip
[387]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode.html
[388]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
- shard-rkl: [SKIP][389] ([i915#14544] / [i915#2672] / [i915#3555]) -> [SKIP][390] ([i915#2672] / [i915#3555]) +1 other test skip
[389]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
[390]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
- shard-dg1: [SKIP][391] ([i915#2672] / [i915#3555]) -> [SKIP][392] ([i915#2672] / [i915#3555] / [i915#4423])
[391]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-19/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
[392]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-15/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-rkl: [SKIP][393] ([i915#14544] / [i915#2672]) -> [SKIP][394] ([i915#2672]) +1 other test skip
[393]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html
[394]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html
- shard-dg1: [SKIP][395] ([i915#2587] / [i915#2672]) -> [SKIP][396] ([i915#2587] / [i915#2672] / [i915#4423])
[395]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-19/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html
[396]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-15/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc:
- shard-rkl: [SKIP][397] ([i915#15102]) -> [SKIP][398] ([i915#14544] / [i915#15102]) +1 other test skip
[397]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html
[398]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
- shard-rkl: [SKIP][399] ([i915#15102] / [i915#3023]) -> [SKIP][400] ([i915#14544] / [i915#15102] / [i915#3023]) +9 other tests skip
[399]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
[400]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt:
- shard-dg1: [SKIP][401] ([i915#8708]) -> [SKIP][402] ([i915#4423] / [i915#8708])
[401]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-19/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt.html
[402]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt:
- shard-rkl: [SKIP][403] ([i915#1825]) -> [SKIP][404] ([i915#14544] / [i915#1825]) +29 other tests skip
[403]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt.html
[404]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-cur-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-pgflip-blt:
- shard-dg1: [SKIP][405] ([i915#4423]) -> [SKIP][406]
[405]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-pgflip-blt.html
[406]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-2p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt:
- shard-dg1: [SKIP][407] ([i915#4423] / [i915#8708]) -> [SKIP][408] ([i915#8708])
[407]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-14/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt.html
[408]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-19/igt@kms_frontbuffer_tracking@fbcpsr-rgb101010-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt:
- shard-rkl: [SKIP][409] ([i915#14544] / [i915#15102]) -> [SKIP][410] ([i915#15102]) +4 other tests skip
[409]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt.html
[410]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render:
- shard-dg2: [SKIP][411] ([i915#15102] / [i915#3458]) -> [SKIP][412] ([i915#10433] / [i915#15102] / [i915#3458]) +1 other test skip
[411]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-11/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render.html
[412]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt:
- shard-rkl: [SKIP][413] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][414] ([i915#15102] / [i915#3023]) +12 other tests skip
[413]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
[414]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-render:
- shard-dg1: [SKIP][415] ([i915#15102] / [i915#3458]) -> [SKIP][416] ([i915#15102] / [i915#3458] / [i915#4423])
[415]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg1-14/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-render.html
[416]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg1-19/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render:
- shard-rkl: [SKIP][417] ([i915#14544] / [i915#1825]) -> [SKIP][418] ([i915#1825]) +26 other tests skip
[417]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render.html
[418]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary:
- shard-dg2: [SKIP][419] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][420] ([i915#15102] / [i915#3458])
[419]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
[420]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-indfb-scaledprimary.html
* igt@kms_hdr@brightness-with-hdr:
- shard-rkl: [SKIP][421] ([i915#12713]) -> [SKIP][422] ([i915#14544])
[421]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_hdr@brightness-with-hdr.html
[422]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_joiner@basic-big-joiner:
- shard-rkl: [SKIP][423] ([i915#10656]) -> [SKIP][424] ([i915#10656] / [i915#14544])
[423]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@kms_joiner@basic-big-joiner.html
[424]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_joiner@basic-big-joiner.html
* igt@kms_pipe_stress@stress-xrgb8888-yftiled:
- shard-rkl: [SKIP][425] ([i915#14544] / [i915#14712]) -> [SKIP][426] ([i915#14712])
[425]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
[426]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_pipe_stress@stress-xrgb8888-yftiled.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-rkl: [SKIP][427] ([i915#13958]) -> [SKIP][428] ([i915#13958] / [i915#14544]) +1 other test skip
[427]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-2/igt@kms_plane_multiple@2x-tiling-4.html
[428]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_plane_multiple@2x-tiling-4.html
* igt@kms_plane_multiple@tiling-4:
- shard-rkl: [SKIP][429] ([i915#14259]) -> [SKIP][430] ([i915#14259] / [i915#14544])
[429]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_plane_multiple@tiling-4.html
[430]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_plane_multiple@tiling-4.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a:
- shard-rkl: [SKIP][431] ([i915#12247] / [i915#14544]) -> [SKIP][432] ([i915#12247]) +3 other tests skip
[431]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
[432]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-rotation@pipe-a.html
* igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c:
- shard-rkl: [SKIP][433] ([i915#12247]) -> [SKIP][434] ([i915#12247] / [i915#14544]) +7 other tests skip
[433]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html
[434]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html
* igt@kms_pm_backlight@fade-with-suspend:
- shard-rkl: [SKIP][435] ([i915#14544] / [i915#5354]) -> [SKIP][436] ([i915#5354])
[435]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_pm_backlight@fade-with-suspend.html
[436]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_pm_backlight@fade-with-suspend.html
* igt@kms_pm_dc@dc6-dpms:
- shard-tglu: [SKIP][437] ([i915#15128]) -> [FAIL][438] ([i915#9295])
[437]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-tglu-6/igt@kms_pm_dc@dc6-dpms.html
[438]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-4/igt@kms_pm_dc@dc6-dpms.html
* igt@kms_pm_dc@dc9-dpms:
- shard-rkl: [SKIP][439] ([i915#14544] / [i915#4281]) -> [SKIP][440] ([i915#4281])
[439]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_pm_dc@dc9-dpms.html
[440]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-8/igt@kms_pm_dc@dc9-dpms.html
- shard-tglu: [SKIP][441] ([i915#4281]) -> [SKIP][442] ([i915#15128])
[441]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-tglu-2/igt@kms_pm_dc@dc9-dpms.html
[442]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-tglu-6/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-rkl: [SKIP][443] ([i915#8430]) -> [SKIP][444] ([i915#14544] / [i915#8430])
[443]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_pm_lpsp@screens-disabled.html
[444]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_prime@d3hot:
- shard-rkl: [SKIP][445] ([i915#6524]) -> [SKIP][446] ([i915#14544] / [i915#6524])
[445]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_prime@d3hot.html
[446]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_prime@d3hot.html
* igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area:
- shard-rkl: [SKIP][447] ([i915#11520]) -> [SKIP][448] ([i915#11520] / [i915#14544]) +6 other tests skip
[447]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html
[448]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-primary-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-rkl: [SKIP][449] ([i915#11520] / [i915#14544]) -> [SKIP][450] ([i915#11520]) +5 other tests skip
[449]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
[450]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr@psr2-cursor-mmap-gtt:
- shard-rkl: [SKIP][451] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][452] ([i915#1072] / [i915#9732]) +16 other tests skip
[451]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_psr@psr2-cursor-mmap-gtt.html
[452]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_psr@psr2-cursor-mmap-gtt.html
* igt@kms_psr@psr2-primary-mmap-gtt:
- shard-rkl: [SKIP][453] ([i915#1072] / [i915#9732]) -> [SKIP][454] ([i915#1072] / [i915#14544] / [i915#9732]) +13 other tests skip
[453]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_psr@psr2-primary-mmap-gtt.html
[454]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_psr@psr2-primary-mmap-gtt.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-rkl: [SKIP][455] ([i915#9685]) -> [SKIP][456] ([i915#14544] / [i915#9685])
[455]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
[456]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-rkl: [SKIP][457] ([i915#5289]) -> [SKIP][458] ([i915#14544] / [i915#5289])
[457]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
[458]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_sharpness_filter@filter-formats:
- shard-rkl: [SKIP][459] ([i915#15232]) -> [SKIP][460] ([i915#14544] / [i915#15232]) +2 other tests skip
[459]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_sharpness_filter@filter-formats.html
[460]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_sharpness_filter@filter-formats.html
* igt@kms_sharpness_filter@filter-toggle:
- shard-rkl: [SKIP][461] ([i915#14544] / [i915#15232]) -> [SKIP][462] ([i915#15232]) +1 other test skip
[461]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_sharpness_filter@filter-toggle.html
[462]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-4/igt@kms_sharpness_filter@filter-toggle.html
* igt@kms_vrr@flip-basic-fastset:
- shard-rkl: [SKIP][463] ([i915#9906]) -> [SKIP][464] ([i915#14544] / [i915#9906]) +1 other test skip
[463]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@kms_vrr@flip-basic-fastset.html
[464]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@kms_vrr@flip-basic-fastset.html
* igt@kms_vrr@flip-dpms:
- shard-rkl: [SKIP][465] ([i915#14544] / [i915#15243] / [i915#3555]) -> [SKIP][466] ([i915#15243] / [i915#3555])
[465]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@kms_vrr@flip-dpms.html
[466]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@kms_vrr@flip-dpms.html
* igt@perf@mi-rpc:
- shard-rkl: [SKIP][467] ([i915#2434]) -> [SKIP][468] ([i915#14544] / [i915#2434])
[467]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@perf@mi-rpc.html
[468]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@perf@mi-rpc.html
* igt@prime_vgem@fence-flip-hang:
- shard-rkl: [SKIP][469] ([i915#14544] / [i915#3708]) -> [SKIP][470] ([i915#3708])
[469]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@prime_vgem@fence-flip-hang.html
[470]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@prime_vgem@fence-flip-hang.html
* igt@sriov_basic@bind-unbind-vf:
- shard-rkl: [SKIP][471] ([i915#9917]) -> [SKIP][472] ([i915#14544] / [i915#9917]) +1 other test skip
[471]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-4/igt@sriov_basic@bind-unbind-vf.html
[472]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-6/igt@sriov_basic@bind-unbind-vf.html
* igt@sriov_basic@enable-vfs-autoprobe-off:
- shard-rkl: [SKIP][473] ([i915#14544] / [i915#9917]) -> [SKIP][474] ([i915#9917])
[473]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17575/shard-rkl-6/igt@sriov_basic@enable-vfs-autoprobe-off.html
[474]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/shard-rkl-5/igt@sriov_basic@enable-vfs-autoprobe-off.html
[i915#10056]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10056
[i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307
[i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433
[i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434
[i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#10959]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10959
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12178]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12178
[i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12339]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12339
[i915#12343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12343
[i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
[i915#12454]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12454
[i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
[i915#12712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12712
[i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
[i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
[i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
[i915#12796]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12796
[i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805
[i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
[i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027
[i915#13046]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13046
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13363]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13363
[i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13691]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13691
[i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
[i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717
[i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
[i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
[i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783
[i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152
[i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
[i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14600]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14600
[i915#14712]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14712
[i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073
[i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102
[i915#15106]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15106
[i915#15128]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15128
[i915#15232]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15232
[i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
[i915#15283]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15283
[i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
[i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
[i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
[i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
[i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#284]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/284
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
[i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
[i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
[i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804
[i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
[i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
[i915#4387]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4387
[i915#4391]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4391
[i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
[i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
[i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
[i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#6412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6412
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7862]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7862
[i915#7882]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7882
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
[i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8555
[i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
[i915#9196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9196
[i915#9295]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9295
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
[i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
[i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906
[i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* Linux: CI_DRM_17575 -> Patchwork_157793v2
CI-20190529: 20190529
CI_DRM_17575: 13909978d70fc4ded88b778a313b68ad86ba881a @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8635: 8635
Patchwork_157793v2: 13909978d70fc4ded88b778a313b68ad86ba881a @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_157793v2/index.html
[-- Attachment #2: Type: text/html, Size: 156647 bytes --]
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH v2 13/13] drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915
2025-11-20 22:11 ` Lucas De Marchi
@ 2025-11-21 10:30 ` Jani Nikula
0 siblings, 0 replies; 23+ messages in thread
From: Jani Nikula @ 2025-11-21 10:30 UTC (permalink / raw)
To: Lucas De Marchi; +Cc: intel-gfx, intel-xe
On Thu, 20 Nov 2025, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> On Wed, Nov 19, 2025 at 08:52:52PM +0200, Jani Nikula wrote:
>>Drop the #ifdef I915, and use the same intel_gmch_vga_set_decode() for
>>both i915 and xe.
>
> I hope this doesn't regress our display side on other archs. We are very
> close to having display working, but this messing with VGA is likely to
> break it.
>
> See "drm/i915/display: Stop touching vga on post enable", which is
> needed for xe to use a DG2/BMG with a raspberry pi (+pci/resources
> branch + a few other patches).
I'm feeling confident [1] that the patch at hand does not have similar
issues. This is about VGA arbitration on the PCI bridge, not about
actually poking at VGA registers.
I went ahead and merged the series. If there are any ill effects with
the last patch, we can revert with a low bar.
BR,
Jani.
[1] https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2025-11-21 10:30 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-19 18:52 [PATCH v2 00/13] drm/i915: dissolve soc/ Jani Nikula
2025-11-19 18:52 ` [PATCH v2 01/13] drm/i915/edram: extract i915_edram.[ch] for edram detection Jani Nikula
2025-11-19 18:52 ` [PATCH v2 02/13] drm/i915: split out i915_freq.[ch] Jani Nikula
2025-11-19 18:52 ` [PATCH v2 03/13] drm/i915: move intel_dram.[ch] from soc/ to display/ Jani Nikula
2025-11-19 18:52 ` [PATCH v2 04/13] drm/xe: remove MISSING_CASE() from compat i915_utils.h Jani Nikula
2025-11-19 18:52 ` [PATCH v2 05/13] drm/i915/dram: convert to struct intel_display Jani Nikula
2025-11-20 8:31 ` Jani Nikula
2025-11-20 13:59 ` Ville Syrjälä
2025-11-20 16:18 ` [PATCH v3] " Jani Nikula
2025-11-19 18:52 ` [PATCH v2 06/13] drm/i915: move dram_info " Jani Nikula
2025-11-19 18:52 ` [PATCH v2 07/13] drm/i915: move intel_rom.[ch] from soc/ to display/ Jani Nikula
2025-11-19 18:52 ` [PATCH v2 08/13] drm/xe: remove remaining platform checks from compat i915_drv.h Jani Nikula
2025-11-19 18:52 ` [PATCH v2 09/13] drm/i915/gmch: split out i915_gmch.[ch] from soc Jani Nikula
2025-11-19 18:52 ` [PATCH v2 10/13] drm/i915/gmch: switch to use pci_bus_{read, write}_config_word() Jani Nikula
2025-11-19 18:52 ` [PATCH v2 11/13] drm/i915/gmch: convert intel_gmch.c to struct intel_display Jani Nikula
2025-11-19 18:52 ` [PATCH v2 12/13] drm/i915: merge soc/intel_gmch.[ch] to display/intel_vga.c Jani Nikula
2025-11-19 18:52 ` [PATCH v2 13/13] drm/xe/vga: use the same intel_gmch_vga_set_decode() as i915 Jani Nikula
2025-11-20 22:11 ` Lucas De Marchi
2025-11-21 10:30 ` Jani Nikula
2025-11-19 21:55 ` ✗ i915.CI.BAT: failure for drm/i915: dissolve soc/ Patchwork
2025-11-20 16:52 ` [PATCH v2 00/13] " Ville Syrjälä
2025-11-20 17:32 ` ✓ i915.CI.BAT: success for drm/i915: dissolve soc/ (rev2) Patchwork
2025-11-21 3:39 ` ✗ i915.CI.Full: failure " Patchwork
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).