* [PATCH 01/15] drm/i915: move display/intel_plane_initial.c to i915_initial_plane.c
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 02/15] drm/xe/display: rename xe_plane_initial.c to xe_initial_plane.c Jani Nikula
` (16 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
intel_plane_initial.c is i915 specific. Move it to i915 core. Start
renaming stuff with the slightly more natural "initial plane" rather
than "plane initial".
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 2 +-
...tel_plane_initial.c => i915_initial_plane.c} | 17 +++++++++--------
2 files changed, 10 insertions(+), 9 deletions(-)
rename drivers/gpu/drm/i915/{display/intel_plane_initial.c => i915_initial_plane.c} (97%)
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index f01b5d8a07c7..8d2ca226c86f 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -77,6 +77,7 @@ i915-$(CONFIG_PERF_EVENTS) += \
# core display adaptation
i915-y += \
i915_hdcp_gsc.o \
+ i915_initial_plane.o \
i915_panic.o
# "Graphics Technology" (aka we talk to the gpu)
@@ -299,7 +300,6 @@ i915-y += \
display/intel_pch_display.o \
display/intel_pch_refclk.o \
display/intel_plane.o \
- display/intel_plane_initial.o \
display/intel_pmdemand.o \
display/intel_psr.o \
display/intel_quirks.o \
diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.c b/drivers/gpu/drm/i915/i915_initial_plane.c
similarity index 97%
rename from drivers/gpu/drm/i915/display/intel_plane_initial.c
rename to drivers/gpu/drm/i915/i915_initial_plane.c
index ff1afd3a8f20..87c964485a41 100644
--- a/drivers/gpu/drm/i915/display/intel_plane_initial.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -5,17 +5,18 @@
#include <drm/drm_print.h>
+#include "display/intel_crtc.h"
+#include "display/intel_display.h"
+#include "display/intel_display_core.h"
+#include "display/intel_display_types.h"
+#include "display/intel_fb.h"
+#include "display/intel_frontbuffer.h"
+#include "display/intel_plane.h"
+#include "display/intel_plane_initial.h"
#include "gem/i915_gem_lmem.h"
#include "gem/i915_gem_region.h"
+
#include "i915_drv.h"
-#include "intel_crtc.h"
-#include "intel_display.h"
-#include "intel_display_core.h"
-#include "intel_display_types.h"
-#include "intel_fb.h"
-#include "intel_frontbuffer.h"
-#include "intel_plane.h"
-#include "intel_plane_initial.h"
void intel_plane_initial_vblank_wait(struct intel_crtc *crtc)
{
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 02/15] drm/xe/display: rename xe_plane_initial.c to xe_initial_plane.c
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
2025-12-15 15:28 ` [PATCH 01/15] drm/i915: move display/intel_plane_initial.c to i915_initial_plane.c Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 03/15] drm/i915: rename intel_plane_initial.h to intel_initial_plane.h Jani Nikula
` (15 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Follow i915 with the more naturally flowing naming.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/xe/Makefile | 2 +-
.../drm/xe/display/{xe_plane_initial.c => xe_initial_plane.c} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
rename drivers/gpu/drm/xe/display/{xe_plane_initial.c => xe_initial_plane.c} (100%)
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 7f08b4cd91d6..84fd9f88f63d 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -217,8 +217,8 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
display/xe_dsb_buffer.o \
display/xe_fb_pin.o \
display/xe_hdcp_gsc.o \
+ display/xe_initial_plane.o \
display/xe_panic.o \
- display/xe_plane_initial.o \
display/xe_stolen.o \
display/xe_tdf.o
diff --git a/drivers/gpu/drm/xe/display/xe_plane_initial.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
similarity index 100%
rename from drivers/gpu/drm/xe/display/xe_plane_initial.c
rename to drivers/gpu/drm/xe/display/xe_initial_plane.c
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 03/15] drm/i915: rename intel_plane_initial.h to intel_initial_plane.h
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
2025-12-15 15:28 ` [PATCH 01/15] drm/i915: move display/intel_plane_initial.c to i915_initial_plane.c Jani Nikula
2025-12-15 15:28 ` [PATCH 02/15] drm/xe/display: rename xe_plane_initial.c to xe_initial_plane.c Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 04/15] drm/{i915, xe}: move initial plane calls to parent interface Jani Nikula
` (14 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Follow the more naturally flowing naming. Rename both the header and the
vblank wait function.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display.c | 8 ++++----
drivers/gpu/drm/i915/display/intel_display_driver.c | 2 +-
.../{intel_plane_initial.h => intel_initial_plane.h} | 6 +++---
drivers/gpu/drm/i915/i915_initial_plane.c | 6 +++---
drivers/gpu/drm/xe/display/xe_initial_plane.c | 6 +++---
5 files changed, 14 insertions(+), 14 deletions(-)
rename drivers/gpu/drm/i915/display/{intel_plane_initial.h => intel_initial_plane.h} (60%)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 9c6d3ecdb589..a29a12bcec0b 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -100,6 +100,7 @@
#include "intel_frontbuffer.h"
#include "intel_hdmi.h"
#include "intel_hotplug.h"
+#include "intel_initial_plane.h"
#include "intel_link_bw.h"
#include "intel_lt_phy.h"
#include "intel_lvds.h"
@@ -113,7 +114,6 @@
#include "intel_pfit.h"
#include "intel_pipe_crc.h"
#include "intel_plane.h"
-#include "intel_plane_initial.h"
#include "intel_pmdemand.h"
#include "intel_pps.h"
#include "intel_psr.h"
@@ -639,7 +639,7 @@ void intel_plane_disable_noatomic(struct intel_crtc *crtc,
if ((crtc_state->active_planes & ~BIT(PLANE_CURSOR)) == 0 &&
hsw_ips_disable(crtc_state)) {
crtc_state->ips_enabled = false;
- intel_plane_initial_vblank_wait(crtc);
+ intel_initial_plane_vblank_wait(crtc);
}
/*
@@ -653,7 +653,7 @@ void intel_plane_disable_noatomic(struct intel_crtc *crtc,
*/
if (HAS_GMCH(display) &&
intel_set_memory_cxsr(display, false))
- intel_plane_initial_vblank_wait(crtc);
+ intel_initial_plane_vblank_wait(crtc);
/*
* Gen2 reports pipe underruns whenever all planes are disabled.
@@ -663,7 +663,7 @@ void intel_plane_disable_noatomic(struct intel_crtc *crtc,
intel_set_cpu_fifo_underrun_reporting(display, crtc->pipe, false);
intel_plane_disable_arm(NULL, plane, crtc_state);
- intel_plane_initial_vblank_wait(crtc);
+ intel_initial_plane_vblank_wait(crtc);
}
unsigned int
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index e282b533d5b6..b471e230fcb1 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -54,11 +54,11 @@
#include "intel_hdcp.h"
#include "intel_hotplug.h"
#include "intel_hti.h"
+#include "intel_initial_plane.h"
#include "intel_modeset_lock.h"
#include "intel_modeset_setup.h"
#include "intel_opregion.h"
#include "intel_overlay.h"
-#include "intel_plane_initial.h"
#include "intel_pmdemand.h"
#include "intel_pps.h"
#include "intel_psr.h"
diff --git a/drivers/gpu/drm/i915/display/intel_plane_initial.h b/drivers/gpu/drm/i915/display/intel_initial_plane.h
similarity index 60%
rename from drivers/gpu/drm/i915/display/intel_plane_initial.h
rename to drivers/gpu/drm/i915/display/intel_initial_plane.h
index 5c315acda210..5f9a347be8f0 100644
--- a/drivers/gpu/drm/i915/display/intel_plane_initial.h
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.h
@@ -3,13 +3,13 @@
* Copyright © 2021 Intel Corporation
*/
-#ifndef __INTEL_PLANE_INITIAL_H__
-#define __INTEL_PLANE_INITIAL_H__
+#ifndef __INTEL_INITIAL_PLANE_H__
+#define __INTEL_INITIAL_PLANE_H__
struct intel_crtc;
struct intel_display;
void intel_initial_plane_config(struct intel_display *display);
-void intel_plane_initial_vblank_wait(struct intel_crtc *crtc);
+void intel_initial_plane_vblank_wait(struct intel_crtc *crtc);
#endif
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index 87c964485a41..b7f115708c32 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -11,14 +11,14 @@
#include "display/intel_display_types.h"
#include "display/intel_fb.h"
#include "display/intel_frontbuffer.h"
+#include "display/intel_initial_plane.h"
#include "display/intel_plane.h"
-#include "display/intel_plane_initial.h"
#include "gem/i915_gem_lmem.h"
#include "gem/i915_gem_region.h"
#include "i915_drv.h"
-void intel_plane_initial_vblank_wait(struct intel_crtc *crtc)
+void intel_initial_plane_vblank_wait(struct intel_crtc *crtc)
{
intel_crtc_wait_for_next_vblank(crtc);
}
@@ -436,7 +436,7 @@ void intel_initial_plane_config(struct intel_display *display)
intel_find_initial_plane_obj(crtc, plane_configs);
if (display->funcs.display->fixup_initial_plane_config(crtc, plane_config))
- intel_plane_initial_vblank_wait(crtc);
+ intel_initial_plane_vblank_wait(crtc);
plane_config_fini(plane_config);
}
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 01c105a93bb9..9d5760e56c4c 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -19,15 +19,15 @@
#include "intel_fb.h"
#include "intel_fb_pin.h"
#include "intel_frontbuffer.h"
+#include "intel_initial_plane.h"
#include "intel_plane.h"
-#include "intel_plane_initial.h"
#include "xe_bo.h"
#include "xe_vram_types.h"
#include "xe_wa.h"
#include <generated/xe_device_wa_oob.h>
-void intel_plane_initial_vblank_wait(struct intel_crtc *crtc)
+void intel_initial_plane_vblank_wait(struct intel_crtc *crtc)
{
/* Early xe has no irq */
struct xe_device *xe = to_xe_device(crtc->base.dev);
@@ -314,7 +314,7 @@ void intel_initial_plane_config(struct intel_display *display)
intel_find_initial_plane_obj(crtc, plane_configs);
if (display->funcs.display->fixup_initial_plane_config(crtc, plane_config))
- intel_plane_initial_vblank_wait(crtc);
+ intel_initial_plane_vblank_wait(crtc);
plane_config_fini(plane_config);
}
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 04/15] drm/{i915, xe}: move initial plane calls to parent interface
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (2 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 03/15] drm/i915: rename intel_plane_initial.h to intel_initial_plane.h Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 05/15] drm/{i915, xe}: deduplicate intel_initial_plane_config() between i915 and xe Jani Nikula
` (13 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Add the initial plane handling functions to the display parent
interface. Add the call wrappers in dedicated intel_initial_plane.c
instead of intel_parent.c, as we'll be refactoring the calls heavily.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/Makefile | 1 +
.../drm/i915/display/intel_initial_plane.c | 20 +++++++++++++++++++
drivers/gpu/drm/i915/i915_driver.c | 2 ++
drivers/gpu/drm/i915/i915_initial_plane.c | 16 +++++++++++----
drivers/gpu/drm/i915/i915_initial_plane.h | 9 +++++++++
drivers/gpu/drm/xe/Makefile | 1 +
drivers/gpu/drm/xe/display/xe_display.c | 2 ++
drivers/gpu/drm/xe/display/xe_initial_plane.c | 17 ++++++++++++----
drivers/gpu/drm/xe/display/xe_initial_plane.h | 9 +++++++++
include/drm/intel/display_parent_interface.h | 9 +++++++++
10 files changed, 78 insertions(+), 8 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_initial_plane.c
create mode 100644 drivers/gpu/drm/i915/i915_initial_plane.h
create mode 100644 drivers/gpu/drm/xe/display/xe_initial_plane.h
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 8d2ca226c86f..6f6b8e0ba647 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -288,6 +288,7 @@ i915-y += \
display/intel_hotplug.o \
display/intel_hotplug_irq.o \
display/intel_hti.o \
+ display/intel_initial_plane.o \
display/intel_link_bw.o \
display/intel_load_detect.o \
display/intel_lpe_audio.o \
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
new file mode 100644
index 000000000000..c68d7555aee5
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: MIT
+/* Copyright © 2025 Intel Corporation */
+
+#include <drm/intel/display_parent_interface.h>
+
+#include "intel_display_core.h"
+#include "intel_display_types.h"
+#include "intel_initial_plane.h"
+
+void intel_initial_plane_vblank_wait(struct intel_crtc *crtc)
+{
+ struct intel_display *display = to_intel_display(crtc);
+
+ display->parent->initial_plane->vblank_wait(&crtc->base);
+}
+
+void intel_initial_plane_config(struct intel_display *display)
+{
+ display->parent->initial_plane->config(display->drm);
+}
diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c
index 9bc5ef988be7..a6057c7cdd5c 100644
--- a/drivers/gpu/drm/i915/i915_driver.c
+++ b/drivers/gpu/drm/i915/i915_driver.c
@@ -98,6 +98,7 @@
#include "i915_gmch.h"
#include "i915_hdcp_gsc.h"
#include "i915_hwmon.h"
+#include "i915_initial_plane.h"
#include "i915_ioc32.h"
#include "i915_ioctl.h"
#include "i915_irq.h"
@@ -769,6 +770,7 @@ static bool vgpu_active(struct drm_device *drm)
static const struct intel_display_parent_interface parent = {
.hdcp = &i915_display_hdcp_interface,
+ .initial_plane = &i915_display_initial_plane_interface,
.irq = &i915_display_irq_interface,
.panic = &i915_display_panic_interface,
.rpm = &i915_display_rpm_interface,
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index b7f115708c32..f26563eed9ba 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -4,6 +4,7 @@
*/
#include <drm/drm_print.h>
+#include <drm/intel/display_parent_interface.h>
#include "display/intel_crtc.h"
#include "display/intel_display.h"
@@ -17,10 +18,11 @@
#include "gem/i915_gem_region.h"
#include "i915_drv.h"
+#include "i915_initial_plane.h"
-void intel_initial_plane_vblank_wait(struct intel_crtc *crtc)
+static void i915_initial_plane_vblank_wait(struct drm_crtc *crtc)
{
- intel_crtc_wait_for_next_vblank(crtc);
+ intel_crtc_wait_for_next_vblank(to_intel_crtc(crtc));
}
static bool
@@ -406,8 +408,9 @@ static void plane_config_fini(struct intel_initial_plane_config *plane_config)
i915_vma_put(plane_config->vma);
}
-void intel_initial_plane_config(struct intel_display *display)
+static void i915_initial_plane_config(struct drm_device *drm)
{
+ struct intel_display *display = to_intel_display(drm);
struct intel_initial_plane_config plane_configs[I915_MAX_PIPES] = {};
struct intel_crtc *crtc;
@@ -436,8 +439,13 @@ void intel_initial_plane_config(struct intel_display *display)
intel_find_initial_plane_obj(crtc, plane_configs);
if (display->funcs.display->fixup_initial_plane_config(crtc, plane_config))
- intel_initial_plane_vblank_wait(crtc);
+ i915_initial_plane_vblank_wait(&crtc->base);
plane_config_fini(plane_config);
}
}
+
+const struct intel_display_initial_plane_interface i915_display_initial_plane_interface = {
+ .vblank_wait = i915_initial_plane_vblank_wait,
+ .config = i915_initial_plane_config,
+};
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.h b/drivers/gpu/drm/i915/i915_initial_plane.h
new file mode 100644
index 000000000000..99ba462659a6
--- /dev/null
+++ b/drivers/gpu/drm/i915/i915_initial_plane.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2025 Intel Corporation */
+
+#ifndef __I915_INITIAL_PLANE_H__
+#define __I915_INITIAL_PLANE_H__
+
+extern const struct intel_display_initial_plane_interface i915_display_initial_plane_interface;
+
+#endif
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 84fd9f88f63d..89dc48cd73e2 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -294,6 +294,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
i915-display/intel_hotplug.o \
i915-display/intel_hotplug_irq.o \
i915-display/intel_hti.o \
+ i915-display/intel_initial_plane.o \
i915-display/intel_link_bw.o \
i915-display/intel_lspcon.o \
i915-display/intel_lt_phy.o \
diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index eda65a05f601..f8a831b5dc7d 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -37,6 +37,7 @@
#include "skl_watermark.h"
#include "xe_display_rpm.h"
#include "xe_hdcp_gsc.h"
+#include "xe_initial_plane.h"
#include "xe_module.h"
#include "xe_panic.h"
#include "xe_stolen.h"
@@ -538,6 +539,7 @@ static const struct intel_display_irq_interface xe_display_irq_interface = {
static const struct intel_display_parent_interface parent = {
.hdcp = &xe_display_hdcp_interface,
+ .initial_plane = &xe_display_initial_plane_interface,
.irq = &xe_display_irq_interface,
.panic = &xe_display_panic_interface,
.rpm = &xe_display_rpm_interface,
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 9d5760e56c4c..dd69f1c65903 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -6,6 +6,8 @@
/* for ioread64 */
#include <linux/io-64-nonatomic-lo-hi.h>
+#include <drm/intel/display_parent_interface.h>
+
#include "regs/xe_gtt_defs.h"
#include "xe_ggtt.h"
#include "xe_mmio.h"
@@ -27,9 +29,10 @@
#include <generated/xe_device_wa_oob.h>
-void intel_initial_plane_vblank_wait(struct intel_crtc *crtc)
+/* Early xe has no irq */
+static void xe_initial_plane_vblank_wait(struct drm_crtc *_crtc)
{
- /* Early xe has no irq */
+ struct intel_crtc *crtc = to_intel_crtc(_crtc);
struct xe_device *xe = to_xe_device(crtc->base.dev);
struct xe_reg pipe_frmtmstmp = XE_REG(i915_mmio_reg_offset(PIPE_FRMTMSTMP(crtc->pipe)));
u32 timestamp;
@@ -284,8 +287,9 @@ static void plane_config_fini(struct intel_initial_plane_config *plane_config)
}
}
-void intel_initial_plane_config(struct intel_display *display)
+static void xe_initial_plane_config(struct drm_device *drm)
{
+ struct intel_display *display = to_intel_display(drm);
struct intel_initial_plane_config plane_configs[I915_MAX_PIPES] = {};
struct intel_crtc *crtc;
@@ -314,8 +318,13 @@ void intel_initial_plane_config(struct intel_display *display)
intel_find_initial_plane_obj(crtc, plane_configs);
if (display->funcs.display->fixup_initial_plane_config(crtc, plane_config))
- intel_initial_plane_vblank_wait(crtc);
+ xe_initial_plane_vblank_wait(&crtc->base);
plane_config_fini(plane_config);
}
}
+
+const struct intel_display_initial_plane_interface xe_display_initial_plane_interface = {
+ .vblank_wait = xe_initial_plane_vblank_wait,
+ .config = xe_initial_plane_config,
+};
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.h b/drivers/gpu/drm/xe/display/xe_initial_plane.h
new file mode 100644
index 000000000000..399d15f14441
--- /dev/null
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2025 Intel Corporation */
+
+#ifndef __XE_INITIAL_PLANE_H__
+#define __XE_INITIAL_PLANE_H__
+
+extern const struct intel_display_initial_plane_interface xe_display_initial_plane_interface;
+
+#endif
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index 55d4df714645..76341b4b03f7 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -7,6 +7,7 @@
#include <linux/types.h>
struct dma_fence;
+struct drm_crtc;
struct drm_device;
struct drm_scanout_buffer;
struct intel_hdcp_gsc_context;
@@ -25,6 +26,11 @@ struct intel_display_hdcp_interface {
void (*gsc_context_free)(struct intel_hdcp_gsc_context *gsc_context);
};
+struct intel_display_initial_plane_interface {
+ void (*vblank_wait)(struct drm_crtc *crtc);
+ void (*config)(struct drm_device *drm);
+};
+
struct intel_display_irq_interface {
bool (*enabled)(struct drm_device *drm);
void (*synchronize)(struct drm_device *drm);
@@ -90,6 +96,9 @@ struct intel_display_parent_interface {
/** @hdcp: HDCP GSC interface */
const struct intel_display_hdcp_interface *hdcp;
+ /** @initial_plane: Initial plane interface */
+ const struct intel_display_initial_plane_interface *initial_plane;
+
/** @irq: IRQ interface */
const struct intel_display_irq_interface *irq;
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 05/15] drm/{i915, xe}: deduplicate intel_initial_plane_config() between i915 and xe
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (3 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 04/15] drm/{i915, xe}: move initial plane calls to parent interface Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 06/15] drm/{i915, xe}: deduplicate plane_config_fini() " Jani Nikula
` (12 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Move the parent interface at one step lower level, allowing
deduplication.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_initial_plane.c | 48 ++++++++++++++++++-
drivers/gpu/drm/i915/i915_initial_plane.c | 47 +++---------------
drivers/gpu/drm/xe/display/xe_initial_plane.c | 47 +++---------------
include/drm/intel/display_parent_interface.h | 4 +-
4 files changed, 62 insertions(+), 84 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index c68d7555aee5..561a2ba2a486 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -14,7 +14,53 @@ void intel_initial_plane_vblank_wait(struct intel_crtc *crtc)
display->parent->initial_plane->vblank_wait(&crtc->base);
}
+static void
+intel_find_initial_plane_obj(struct intel_crtc *crtc,
+ struct intel_initial_plane_config plane_configs[])
+{
+ struct intel_display *display = to_intel_display(crtc);
+
+ display->parent->initial_plane->find_obj(&crtc->base, plane_configs);
+}
+
+static void plane_config_fini(struct intel_display *display,
+ struct intel_initial_plane_config *plane_config)
+{
+ display->parent->initial_plane->config_fini(plane_config);
+}
+
void intel_initial_plane_config(struct intel_display *display)
{
- display->parent->initial_plane->config(display->drm);
+ struct intel_initial_plane_config plane_configs[I915_MAX_PIPES] = {};
+ struct intel_crtc *crtc;
+
+ for_each_intel_crtc(display->drm, crtc) {
+ const struct intel_crtc_state *crtc_state =
+ to_intel_crtc_state(crtc->base.state);
+ struct intel_initial_plane_config *plane_config =
+ &plane_configs[crtc->pipe];
+
+ if (!crtc_state->hw.active)
+ continue;
+
+ /*
+ * Note that reserving the BIOS fb up front prevents us
+ * from stuffing other stolen allocations like the ring
+ * on top. This prevents some ugliness at boot time, and
+ * can even allow for smooth boot transitions if the BIOS
+ * fb is large enough for the active pipe configuration.
+ */
+ display->funcs.display->get_initial_plane_config(crtc, plane_config);
+
+ /*
+ * If the fb is shared between multiple heads, we'll
+ * just get the first one.
+ */
+ intel_find_initial_plane_obj(crtc, plane_configs);
+
+ if (display->funcs.display->fixup_initial_plane_config(crtc, plane_config))
+ intel_initial_plane_vblank_wait(crtc);
+
+ plane_config_fini(display, plane_config);
+ }
}
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index f26563eed9ba..68cf2499855a 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -312,9 +312,10 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
}
static void
-intel_find_initial_plane_obj(struct intel_crtc *crtc,
- struct intel_initial_plane_config plane_configs[])
+i915_find_initial_plane_obj(struct drm_crtc *_crtc,
+ struct intel_initial_plane_config plane_configs[])
{
+ struct intel_crtc *crtc = to_intel_crtc(_crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
struct intel_initial_plane_config *plane_config =
&plane_configs[crtc->pipe];
@@ -392,7 +393,7 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
atomic_or(plane->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits);
}
-static void plane_config_fini(struct intel_initial_plane_config *plane_config)
+static void i915_plane_config_fini(struct intel_initial_plane_config *plane_config)
{
if (plane_config->fb) {
struct drm_framebuffer *fb = &plane_config->fb->base;
@@ -408,44 +409,8 @@ static void plane_config_fini(struct intel_initial_plane_config *plane_config)
i915_vma_put(plane_config->vma);
}
-static void i915_initial_plane_config(struct drm_device *drm)
-{
- struct intel_display *display = to_intel_display(drm);
- struct intel_initial_plane_config plane_configs[I915_MAX_PIPES] = {};
- struct intel_crtc *crtc;
-
- for_each_intel_crtc(display->drm, crtc) {
- const struct intel_crtc_state *crtc_state =
- to_intel_crtc_state(crtc->base.state);
- struct intel_initial_plane_config *plane_config =
- &plane_configs[crtc->pipe];
-
- if (!crtc_state->hw.active)
- continue;
-
- /*
- * Note that reserving the BIOS fb up front prevents us
- * from stuffing other stolen allocations like the ring
- * on top. This prevents some ugliness at boot time, and
- * can even allow for smooth boot transitions if the BIOS
- * fb is large enough for the active pipe configuration.
- */
- display->funcs.display->get_initial_plane_config(crtc, plane_config);
-
- /*
- * If the fb is shared between multiple heads, we'll
- * just get the first one.
- */
- intel_find_initial_plane_obj(crtc, plane_configs);
-
- if (display->funcs.display->fixup_initial_plane_config(crtc, plane_config))
- i915_initial_plane_vblank_wait(&crtc->base);
-
- plane_config_fini(plane_config);
- }
-}
-
const struct intel_display_initial_plane_interface i915_display_initial_plane_interface = {
.vblank_wait = i915_initial_plane_vblank_wait,
- .config = i915_initial_plane_config,
+ .find_obj = i915_find_initial_plane_obj,
+ .config_fini = i915_plane_config_fini,
};
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index dd69f1c65903..0007337c60da 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -204,9 +204,10 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
}
static void
-intel_find_initial_plane_obj(struct intel_crtc *crtc,
- struct intel_initial_plane_config plane_configs[])
+xe_find_initial_plane_obj(struct drm_crtc *_crtc,
+ struct intel_initial_plane_config plane_configs[])
{
+ struct intel_crtc *crtc = to_intel_crtc(_crtc);
struct intel_initial_plane_config *plane_config =
&plane_configs[crtc->pipe];
struct intel_plane *plane =
@@ -274,7 +275,7 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
intel_plane_disable_noatomic(crtc, plane);
}
-static void plane_config_fini(struct intel_initial_plane_config *plane_config)
+static void xe_plane_config_fini(struct intel_initial_plane_config *plane_config)
{
if (plane_config->fb) {
struct drm_framebuffer *fb = &plane_config->fb->base;
@@ -287,44 +288,8 @@ static void plane_config_fini(struct intel_initial_plane_config *plane_config)
}
}
-static void xe_initial_plane_config(struct drm_device *drm)
-{
- struct intel_display *display = to_intel_display(drm);
- struct intel_initial_plane_config plane_configs[I915_MAX_PIPES] = {};
- struct intel_crtc *crtc;
-
- for_each_intel_crtc(display->drm, crtc) {
- const struct intel_crtc_state *crtc_state =
- to_intel_crtc_state(crtc->base.state);
- struct intel_initial_plane_config *plane_config =
- &plane_configs[crtc->pipe];
-
- if (!crtc_state->hw.active)
- continue;
-
- /*
- * Note that reserving the BIOS fb up front prevents us
- * from stuffing other stolen allocations like the ring
- * on top. This prevents some ugliness at boot time, and
- * can even allow for smooth boot transitions if the BIOS
- * fb is large enough for the active pipe configuration.
- */
- display->funcs.display->get_initial_plane_config(crtc, plane_config);
-
- /*
- * If the fb is shared between multiple heads, we'll
- * just get the first one.
- */
- intel_find_initial_plane_obj(crtc, plane_configs);
-
- if (display->funcs.display->fixup_initial_plane_config(crtc, plane_config))
- xe_initial_plane_vblank_wait(&crtc->base);
-
- plane_config_fini(plane_config);
- }
-}
-
const struct intel_display_initial_plane_interface xe_display_initial_plane_interface = {
.vblank_wait = xe_initial_plane_vblank_wait,
- .config = xe_initial_plane_config,
+ .find_obj = xe_find_initial_plane_obj,
+ .config_fini = xe_plane_config_fini,
};
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index 76341b4b03f7..b6559fe22d1c 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -11,6 +11,7 @@ struct drm_crtc;
struct drm_device;
struct drm_scanout_buffer;
struct intel_hdcp_gsc_context;
+struct intel_initial_plane_config;
struct intel_panic;
struct intel_stolen_node;
struct ref_tracker;
@@ -28,7 +29,8 @@ struct intel_display_hdcp_interface {
struct intel_display_initial_plane_interface {
void (*vblank_wait)(struct drm_crtc *crtc);
- void (*config)(struct drm_device *drm);
+ void (*find_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_configs);
+ void (*config_fini)(struct intel_initial_plane_config *plane_configs);
};
struct intel_display_irq_interface {
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 06/15] drm/{i915, xe}: deduplicate plane_config_fini() between i915 and xe
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (4 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 05/15] drm/{i915, xe}: deduplicate intel_initial_plane_config() between i915 and xe Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 07/15] drm/{i915, xe}: start deduplicating intel_find_initial_plane_obj() " Jani Nikula
` (11 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Move the common code to display. Retain empty xe_plane_config_fini() for
now, in case it's needed in the future.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_initial_plane.c | 10 ++++++++++
drivers/gpu/drm/i915/i915_initial_plane.c | 10 ----------
drivers/gpu/drm/xe/display/xe_initial_plane.c | 9 ---------
3 files changed, 10 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index 561a2ba2a486..62f4fb3be9f0 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -26,6 +26,16 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
static void plane_config_fini(struct intel_display *display,
struct intel_initial_plane_config *plane_config)
{
+ if (plane_config->fb) {
+ struct drm_framebuffer *fb = &plane_config->fb->base;
+
+ /* We may only have the stub and not a full framebuffer */
+ if (drm_framebuffer_read_refcount(fb))
+ drm_framebuffer_put(fb);
+ else
+ kfree(fb);
+ }
+
display->parent->initial_plane->config_fini(plane_config);
}
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index 68cf2499855a..d8f2a2a11dd0 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -395,16 +395,6 @@ i915_find_initial_plane_obj(struct drm_crtc *_crtc,
static void i915_plane_config_fini(struct intel_initial_plane_config *plane_config)
{
- if (plane_config->fb) {
- struct drm_framebuffer *fb = &plane_config->fb->base;
-
- /* We may only have the stub and not a full framebuffer */
- if (drm_framebuffer_read_refcount(fb))
- drm_framebuffer_put(fb);
- else
- kfree(fb);
- }
-
if (plane_config->vma)
i915_vma_put(plane_config->vma);
}
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 0007337c60da..95000f8b0662 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -277,15 +277,6 @@ xe_find_initial_plane_obj(struct drm_crtc *_crtc,
static void xe_plane_config_fini(struct intel_initial_plane_config *plane_config)
{
- if (plane_config->fb) {
- struct drm_framebuffer *fb = &plane_config->fb->base;
-
- /* We may only have the stub and not a full framebuffer */
- if (drm_framebuffer_read_refcount(fb))
- drm_framebuffer_put(fb);
- else
- kfree(fb);
- }
}
const struct intel_display_initial_plane_interface xe_display_initial_plane_interface = {
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 07/15] drm/{i915, xe}: start deduplicating intel_find_initial_plane_obj() between i915 and xe
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (5 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 06/15] drm/{i915, xe}: deduplicate plane_config_fini() " Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 08/15] drm/i915: return plane_state from intel_reuse_initial_plane_obj() Jani Nikula
` (10 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Move some easy common parts to display. Initially, the
intel_find_initial_plane_obj() error path seems silly, but it'll be more
helpful this way for later changes.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_initial_plane.c | 29 ++++++++++++++--
drivers/gpu/drm/i915/i915_initial_plane.c | 34 +++----------------
drivers/gpu/drm/xe/display/xe_initial_plane.c | 27 +++------------
include/drm/intel/display_parent_interface.h | 2 +-
4 files changed, 38 insertions(+), 54 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index 62f4fb3be9f0..9e67da94ac02 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -19,8 +19,33 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
struct intel_initial_plane_config plane_configs[])
{
struct intel_display *display = to_intel_display(crtc);
-
- display->parent->initial_plane->find_obj(&crtc->base, plane_configs);
+ struct intel_initial_plane_config *plane_config = &plane_configs[crtc->pipe];
+ struct intel_plane *plane = to_intel_plane(crtc->base.primary);
+ int ret;
+
+ /*
+ * TODO:
+ * Disable planes if get_initial_plane_config() failed.
+ * Make sure things work if the surface base is not page aligned.
+ */
+ if (!plane_config->fb)
+ return;
+
+ ret = display->parent->initial_plane->find_obj(&crtc->base, plane_configs);
+ if (ret)
+ goto nofb;
+
+ return;
+
+nofb:
+ /*
+ * We've failed to reconstruct the BIOS FB. Current display state
+ * indicates that the primary plane is visible, but has a NULL FB,
+ * which will lead to problems later if we don't fix it up. The
+ * simplest solution is to just disable the primary plane now and
+ * pretend the BIOS never had it enabled.
+ */
+ intel_plane_disable_noatomic(crtc, plane);
}
static void plane_config_fini(struct intel_display *display,
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index d8f2a2a11dd0..57afe6e29ce3 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -311,7 +311,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
return false;
}
-static void
+static int
i915_find_initial_plane_obj(struct drm_crtc *_crtc,
struct intel_initial_plane_config plane_configs[])
{
@@ -326,39 +326,13 @@ i915_find_initial_plane_obj(struct drm_crtc *_crtc,
struct drm_framebuffer *fb;
struct i915_vma *vma;
- /*
- * TODO:
- * Disable planes if get_initial_plane_config() failed.
- * Make sure things work if the surface base is not page aligned.
- */
- if (!plane_config->fb)
- return;
-
if (intel_alloc_initial_plane_obj(crtc, plane_config)) {
fb = &plane_config->fb->base;
vma = plane_config->vma;
- goto valid_fb;
+ } else if (!intel_reuse_initial_plane_obj(crtc, plane_configs, &fb, &vma)) {
+ return -EINVAL;
}
- /*
- * Failed to alloc the obj, check to see if we should share
- * an fb with another CRTC instead
- */
- if (intel_reuse_initial_plane_obj(crtc, plane_configs, &fb, &vma))
- goto valid_fb;
-
- /*
- * We've failed to reconstruct the BIOS FB. Current display state
- * indicates that the primary plane is visible, but has a NULL FB,
- * which will lead to problems later if we don't fix it up. The
- * simplest solution is to just disable the primary plane now and
- * pretend the BIOS never had it enabled.
- */
- intel_plane_disable_noatomic(crtc, plane);
-
- return;
-
-valid_fb:
plane_state->uapi.rotation = plane_config->rotation;
intel_fb_fill_view(to_intel_framebuffer(fb),
plane_state->uapi.rotation, &plane_state->view);
@@ -391,6 +365,8 @@ i915_find_initial_plane_obj(struct drm_crtc *_crtc,
intel_plane_copy_uapi_to_hw_state(plane_state, plane_state, crtc);
atomic_or(plane->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits);
+
+ return 0;
}
static void i915_plane_config_fini(struct intel_initial_plane_config *plane_config)
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 95000f8b0662..ddf22631240e 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -203,7 +203,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
return false;
}
-static void
+static int
xe_find_initial_plane_obj(struct drm_crtc *_crtc,
struct intel_initial_plane_config plane_configs[])
{
@@ -217,18 +217,10 @@ xe_find_initial_plane_obj(struct drm_crtc *_crtc,
struct drm_framebuffer *fb;
struct i915_vma *vma;
- /*
- * TODO:
- * Disable planes if get_initial_plane_config() failed.
- * Make sure things work if the surface base is not page aligned.
- */
- if (!plane_config->fb)
- return;
-
if (intel_alloc_initial_plane_obj(crtc, plane_config))
fb = &plane_config->fb->base;
else if (!intel_reuse_initial_plane_obj(crtc, plane_configs, &fb))
- goto nofb;
+ return -EINVAL;
plane_state->uapi.rotation = plane_config->rotation;
intel_fb_fill_view(to_intel_framebuffer(fb),
@@ -237,7 +229,7 @@ xe_find_initial_plane_obj(struct drm_crtc *_crtc,
vma = intel_fb_pin_to_ggtt(fb, &plane_state->view.gtt,
0, 0, 0, false, &plane_state->flags);
if (IS_ERR(vma))
- goto nofb;
+ return PTR_ERR(vma);
plane_state->ggtt_vma = vma;
@@ -262,17 +254,8 @@ xe_find_initial_plane_obj(struct drm_crtc *_crtc,
atomic_or(plane->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits);
plane_config->vma = vma;
- return;
-
-nofb:
- /*
- * We've failed to reconstruct the BIOS FB. Current display state
- * indicates that the primary plane is visible, but has a NULL FB,
- * which will lead to problems later if we don't fix it up. The
- * simplest solution is to just disable the primary plane now and
- * pretend the BIOS never had it enabled.
- */
- intel_plane_disable_noatomic(crtc, plane);
+
+ return 0;
}
static void xe_plane_config_fini(struct intel_initial_plane_config *plane_config)
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index b6559fe22d1c..1be6320a5fc4 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -29,7 +29,7 @@ struct intel_display_hdcp_interface {
struct intel_display_initial_plane_interface {
void (*vblank_wait)(struct drm_crtc *crtc);
- void (*find_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_configs);
+ int (*find_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_configs);
void (*config_fini)(struct intel_initial_plane_config *plane_configs);
};
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 08/15] drm/i915: return plane_state from intel_reuse_initial_plane_obj()
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (6 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 07/15] drm/{i915, xe}: start deduplicating intel_find_initial_plane_obj() " Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 09/15] drm/xe: " Jani Nikula
` (9 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Initialize fb and vma in the same level as the other code path.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_initial_plane.c | 26 ++++++++++++-----------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index 57afe6e29ce3..40b9f981c9ac 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -25,11 +25,9 @@ static void i915_initial_plane_vblank_wait(struct drm_crtc *crtc)
intel_crtc_wait_for_next_vblank(to_intel_crtc(crtc));
}
-static bool
+static const struct intel_plane_state *
intel_reuse_initial_plane_obj(struct intel_crtc *this,
- const struct intel_initial_plane_config plane_configs[],
- struct drm_framebuffer **fb,
- struct i915_vma **vma)
+ const struct intel_initial_plane_config plane_configs[])
{
struct intel_display *display = to_intel_display(this);
struct intel_crtc *crtc;
@@ -48,14 +46,11 @@ intel_reuse_initial_plane_obj(struct intel_crtc *this,
if (!plane_state->ggtt_vma)
continue;
- if (plane_configs[this->pipe].base == plane_configs[crtc->pipe].base) {
- *fb = plane_state->hw.fb;
- *vma = plane_state->ggtt_vma;
- return true;
- }
+ if (plane_configs[this->pipe].base == plane_configs[crtc->pipe].base)
+ return plane_state;
}
- return false;
+ return NULL;
}
static enum intel_memory_type
@@ -329,8 +324,15 @@ i915_find_initial_plane_obj(struct drm_crtc *_crtc,
if (intel_alloc_initial_plane_obj(crtc, plane_config)) {
fb = &plane_config->fb->base;
vma = plane_config->vma;
- } else if (!intel_reuse_initial_plane_obj(crtc, plane_configs, &fb, &vma)) {
- return -EINVAL;
+ } else {
+ const struct intel_plane_state *other_plane_state;
+
+ other_plane_state = intel_reuse_initial_plane_obj(crtc, plane_configs);
+ if (!other_plane_state)
+ return -EINVAL;
+
+ fb = other_plane_state->hw.fb;
+ vma = other_plane_state->ggtt_vma;
}
plane_state->uapi.rotation = plane_config->rotation;
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 09/15] drm/xe: return plane_state from intel_reuse_initial_plane_obj()
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (7 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 08/15] drm/i915: return plane_state from intel_reuse_initial_plane_obj() Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 10/15] drm/i915: further deduplicate intel_find_initial_plane_obj() Jani Nikula
` (8 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Initialize fb in the same level as the other code path.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/xe/display/xe_initial_plane.c | 26 +++++++++++--------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index ddf22631240e..42d2c2f8138e 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -45,10 +45,9 @@ static void xe_initial_plane_vblank_wait(struct drm_crtc *_crtc)
drm_warn(&xe->drm, "waiting for early vblank failed with %i\n", ret);
}
-static bool
+static const struct intel_plane_state *
intel_reuse_initial_plane_obj(struct intel_crtc *this,
- const struct intel_initial_plane_config plane_configs[],
- struct drm_framebuffer **fb)
+ const struct intel_initial_plane_config plane_configs[])
{
struct xe_device *xe = to_xe_device(this->base.dev);
struct intel_crtc *crtc;
@@ -67,13 +66,11 @@ intel_reuse_initial_plane_obj(struct intel_crtc *this,
if (!plane_state->ggtt_vma)
continue;
- if (plane_configs[this->pipe].base == plane_configs[crtc->pipe].base) {
- *fb = plane_state->hw.fb;
- return true;
- }
+ if (plane_configs[this->pipe].base == plane_configs[crtc->pipe].base)
+ return plane_state;
}
- return false;
+ return NULL;
}
static struct xe_bo *
@@ -217,10 +214,17 @@ xe_find_initial_plane_obj(struct drm_crtc *_crtc,
struct drm_framebuffer *fb;
struct i915_vma *vma;
- if (intel_alloc_initial_plane_obj(crtc, plane_config))
+ if (intel_alloc_initial_plane_obj(crtc, plane_config)) {
fb = &plane_config->fb->base;
- else if (!intel_reuse_initial_plane_obj(crtc, plane_configs, &fb))
- return -EINVAL;
+ } else {
+ const struct intel_plane_state *other_plane_state;
+
+ other_plane_state = intel_reuse_initial_plane_obj(crtc, plane_configs);
+ if (!other_plane_state)
+ return -EINVAL;
+
+ fb = other_plane_state->hw.fb;
+ }
plane_state->uapi.rotation = plane_config->rotation;
intel_fb_fill_view(to_intel_framebuffer(fb),
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 10/15] drm/i915: further deduplicate intel_find_initial_plane_obj()
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (8 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 09/15] drm/xe: " Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 11/15] drm/{i915, xe}: deduplicate intel_alloc_initial_plane_obj() FB modifier checks Jani Nikula
` (7 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Move intel_reuse_initial_plane_obj() into common display code, and split
the ->find_obj hook into ->alloc_obj and ->setup hooks.
Return the struct drm_gem_object from ->alloc_obj in preparation for
moving more things to display.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_initial_plane.c | 55 ++++++++++++++-
drivers/gpu/drm/i915/i915_initial_plane.c | 70 ++++---------------
drivers/gpu/drm/xe/display/xe_initial_plane.c | 67 ++++--------------
include/drm/intel/display_parent_interface.h | 7 +-
4 files changed, 88 insertions(+), 111 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index 9e67da94ac02..cbfcc52f180f 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -14,6 +14,43 @@ void intel_initial_plane_vblank_wait(struct intel_crtc *crtc)
display->parent->initial_plane->vblank_wait(&crtc->base);
}
+static const struct intel_plane_state *
+intel_reuse_initial_plane_obj(struct intel_crtc *this,
+ const struct intel_initial_plane_config plane_configs[])
+{
+ struct intel_display *display = to_intel_display(this);
+ struct intel_crtc *crtc;
+
+ for_each_intel_crtc(display->drm, crtc) {
+ struct intel_plane *plane =
+ to_intel_plane(crtc->base.primary);
+ const struct intel_plane_state *plane_state =
+ to_intel_plane_state(plane->base.state);
+ const struct intel_crtc_state *crtc_state =
+ to_intel_crtc_state(crtc->base.state);
+
+ if (!crtc_state->hw.active)
+ continue;
+
+ if (!plane_state->ggtt_vma)
+ continue;
+
+ if (plane_configs[this->pipe].base == plane_configs[crtc->pipe].base)
+ return plane_state;
+ }
+
+ return NULL;
+}
+
+static struct drm_gem_object *
+intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
+ struct intel_initial_plane_config *plane_config)
+{
+ struct intel_display *display = to_intel_display(crtc);
+
+ return display->parent->initial_plane->alloc_obj(&crtc->base, plane_config);
+}
+
static void
intel_find_initial_plane_obj(struct intel_crtc *crtc,
struct intel_initial_plane_config plane_configs[])
@@ -21,6 +58,8 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
struct intel_display *display = to_intel_display(crtc);
struct intel_initial_plane_config *plane_config = &plane_configs[crtc->pipe];
struct intel_plane *plane = to_intel_plane(crtc->base.primary);
+ struct drm_framebuffer *fb;
+ struct i915_vma *vma;
int ret;
/*
@@ -31,7 +70,21 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
if (!plane_config->fb)
return;
- ret = display->parent->initial_plane->find_obj(&crtc->base, plane_configs);
+ if (intel_alloc_initial_plane_obj(crtc, plane_config)) {
+ fb = &plane_config->fb->base;
+ vma = plane_config->vma;
+ } else {
+ const struct intel_plane_state *other_plane_state;
+
+ other_plane_state = intel_reuse_initial_plane_obj(crtc, plane_configs);
+ if (!other_plane_state)
+ goto nofb;
+
+ fb = other_plane_state->hw.fb;
+ vma = other_plane_state->ggtt_vma;
+ }
+
+ ret = display->parent->initial_plane->setup(&crtc->base, plane_config, fb, vma);
if (ret)
goto nofb;
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index 40b9f981c9ac..0117f9e115d1 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -25,34 +25,6 @@ static void i915_initial_plane_vblank_wait(struct drm_crtc *crtc)
intel_crtc_wait_for_next_vblank(to_intel_crtc(crtc));
}
-static const struct intel_plane_state *
-intel_reuse_initial_plane_obj(struct intel_crtc *this,
- const struct intel_initial_plane_config plane_configs[])
-{
- struct intel_display *display = to_intel_display(this);
- struct intel_crtc *crtc;
-
- for_each_intel_crtc(display->drm, crtc) {
- struct intel_plane *plane =
- to_intel_plane(crtc->base.primary);
- const struct intel_plane_state *plane_state =
- to_intel_plane_state(plane->base.state);
- const struct intel_crtc_state *crtc_state =
- to_intel_crtc_state(crtc->base.state);
-
- if (!crtc_state->hw.active)
- continue;
-
- if (!plane_state->ggtt_vma)
- continue;
-
- if (plane_configs[this->pipe].base == plane_configs[crtc->pipe].base)
- return plane_state;
- }
-
- return NULL;
-}
-
static enum intel_memory_type
initial_plane_memory_type(struct intel_display *display)
{
@@ -258,10 +230,11 @@ initial_plane_vma(struct intel_display *display,
return NULL;
}
-static bool
-intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
- struct intel_initial_plane_config *plane_config)
+static struct drm_gem_object *
+i915_alloc_initial_plane_obj(struct drm_crtc *_crtc,
+ struct intel_initial_plane_config *plane_config)
{
+ struct intel_crtc *crtc = to_intel_crtc(_crtc);
struct intel_display *display = to_intel_display(crtc);
struct drm_mode_fb_cmd2 mode_cmd = {};
struct drm_framebuffer *fb = &plane_config->fb->base;
@@ -277,12 +250,12 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
drm_dbg(display->drm,
"Unsupported modifier for initial FB: 0x%llx\n",
fb->modifier);
- return false;
+ return NULL;
}
vma = initial_plane_vma(display, plane_config);
if (!vma)
- return false;
+ return NULL;
mode_cmd.pixel_format = fb->format->format;
mode_cmd.width = fb->width;
@@ -299,41 +272,25 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
}
plane_config->vma = vma;
- return true;
+ return intel_bo_to_drm_bo(vma->obj);
err_vma:
i915_vma_put(vma);
- return false;
+ return NULL;
}
static int
-i915_find_initial_plane_obj(struct drm_crtc *_crtc,
- struct intel_initial_plane_config plane_configs[])
+i915_initial_plane_setup(struct drm_crtc *_crtc,
+ struct intel_initial_plane_config *plane_config,
+ struct drm_framebuffer *fb,
+ struct i915_vma *vma)
{
struct intel_crtc *crtc = to_intel_crtc(_crtc);
struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
- struct intel_initial_plane_config *plane_config =
- &plane_configs[crtc->pipe];
struct intel_plane *plane =
to_intel_plane(crtc->base.primary);
struct intel_plane_state *plane_state =
to_intel_plane_state(plane->base.state);
- struct drm_framebuffer *fb;
- struct i915_vma *vma;
-
- if (intel_alloc_initial_plane_obj(crtc, plane_config)) {
- fb = &plane_config->fb->base;
- vma = plane_config->vma;
- } else {
- const struct intel_plane_state *other_plane_state;
-
- other_plane_state = intel_reuse_initial_plane_obj(crtc, plane_configs);
- if (!other_plane_state)
- return -EINVAL;
-
- fb = other_plane_state->hw.fb;
- vma = other_plane_state->ggtt_vma;
- }
plane_state->uapi.rotation = plane_config->rotation;
intel_fb_fill_view(to_intel_framebuffer(fb),
@@ -379,6 +336,7 @@ static void i915_plane_config_fini(struct intel_initial_plane_config *plane_conf
const struct intel_display_initial_plane_interface i915_display_initial_plane_interface = {
.vblank_wait = i915_initial_plane_vblank_wait,
- .find_obj = i915_find_initial_plane_obj,
+ .alloc_obj = i915_alloc_initial_plane_obj,
+ .setup = i915_initial_plane_setup,
.config_fini = i915_plane_config_fini,
};
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 42d2c2f8138e..2ce0f78cd7b1 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -45,34 +45,6 @@ static void xe_initial_plane_vblank_wait(struct drm_crtc *_crtc)
drm_warn(&xe->drm, "waiting for early vblank failed with %i\n", ret);
}
-static const struct intel_plane_state *
-intel_reuse_initial_plane_obj(struct intel_crtc *this,
- const struct intel_initial_plane_config plane_configs[])
-{
- struct xe_device *xe = to_xe_device(this->base.dev);
- struct intel_crtc *crtc;
-
- for_each_intel_crtc(&xe->drm, crtc) {
- struct intel_plane *plane =
- to_intel_plane(crtc->base.primary);
- const struct intel_plane_state *plane_state =
- to_intel_plane_state(plane->base.state);
- const struct intel_crtc_state *crtc_state =
- to_intel_crtc_state(crtc->base.state);
-
- if (!crtc_state->hw.active)
- continue;
-
- if (!plane_state->ggtt_vma)
- continue;
-
- if (plane_configs[this->pipe].base == plane_configs[crtc->pipe].base)
- return plane_state;
- }
-
- return NULL;
-}
-
static struct xe_bo *
initial_plane_bo(struct xe_device *xe,
struct intel_initial_plane_config *plane_config)
@@ -152,10 +124,11 @@ initial_plane_bo(struct xe_device *xe,
return bo;
}
-static bool
-intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
- struct intel_initial_plane_config *plane_config)
+static struct drm_gem_object *
+xe_alloc_initial_plane_obj(struct drm_crtc *_crtc,
+ struct intel_initial_plane_config *plane_config)
{
+ struct intel_crtc *crtc = to_intel_crtc(_crtc);
struct xe_device *xe = to_xe_device(crtc->base.dev);
struct drm_mode_fb_cmd2 mode_cmd = { 0 };
struct drm_framebuffer *fb = &plane_config->fb->base;
@@ -171,7 +144,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
drm_dbg_kms(&xe->drm,
"Unsupported modifier for initial FB: 0x%llx\n",
fb->modifier);
- return false;
+ return NULL;
}
mode_cmd.pixel_format = fb->format->format;
@@ -183,7 +156,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
bo = initial_plane_bo(xe, plane_config);
if (!bo)
- return false;
+ return NULL;
if (intel_framebuffer_init(to_intel_framebuffer(fb),
&bo->ttm.base, fb->format, &mode_cmd)) {
@@ -193,39 +166,26 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
/* Reference handed over to fb */
xe_bo_put(bo);
- return true;
+ return &bo->ttm.base;
err_bo:
xe_bo_unpin_map_no_vm(bo);
- return false;
+ return NULL;
}
static int
-xe_find_initial_plane_obj(struct drm_crtc *_crtc,
- struct intel_initial_plane_config plane_configs[])
+xe_initial_plane_setup(struct drm_crtc *_crtc,
+ struct intel_initial_plane_config *plane_config,
+ struct drm_framebuffer *fb,
+ struct i915_vma *_unused)
{
struct intel_crtc *crtc = to_intel_crtc(_crtc);
- struct intel_initial_plane_config *plane_config =
- &plane_configs[crtc->pipe];
struct intel_plane *plane =
to_intel_plane(crtc->base.primary);
struct intel_plane_state *plane_state =
to_intel_plane_state(plane->base.state);
- struct drm_framebuffer *fb;
struct i915_vma *vma;
- if (intel_alloc_initial_plane_obj(crtc, plane_config)) {
- fb = &plane_config->fb->base;
- } else {
- const struct intel_plane_state *other_plane_state;
-
- other_plane_state = intel_reuse_initial_plane_obj(crtc, plane_configs);
- if (!other_plane_state)
- return -EINVAL;
-
- fb = other_plane_state->hw.fb;
- }
-
plane_state->uapi.rotation = plane_config->rotation;
intel_fb_fill_view(to_intel_framebuffer(fb),
plane_state->uapi.rotation, &plane_state->view);
@@ -268,6 +228,7 @@ static void xe_plane_config_fini(struct intel_initial_plane_config *plane_config
const struct intel_display_initial_plane_interface xe_display_initial_plane_interface = {
.vblank_wait = xe_initial_plane_vblank_wait,
- .find_obj = xe_find_initial_plane_obj,
+ .alloc_obj = xe_alloc_initial_plane_obj,
+ .setup = xe_initial_plane_setup,
.config_fini = xe_plane_config_fini,
};
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index 1be6320a5fc4..164f3d473e3a 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -9,7 +9,10 @@
struct dma_fence;
struct drm_crtc;
struct drm_device;
+struct drm_framebuffer;
+struct drm_gem_object;
struct drm_scanout_buffer;
+struct i915_vma;
struct intel_hdcp_gsc_context;
struct intel_initial_plane_config;
struct intel_panic;
@@ -29,7 +32,9 @@ struct intel_display_hdcp_interface {
struct intel_display_initial_plane_interface {
void (*vblank_wait)(struct drm_crtc *crtc);
- int (*find_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_configs);
+ struct drm_gem_object *(*alloc_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config);
+ int (*setup)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config,
+ struct drm_framebuffer *fb, struct i915_vma *vma);
void (*config_fini)(struct intel_initial_plane_config *plane_configs);
};
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 11/15] drm/{i915, xe}: deduplicate intel_alloc_initial_plane_obj() FB modifier checks
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (9 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 10/15] drm/i915: further deduplicate intel_find_initial_plane_obj() Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 12/15] drm/{i915,xe}: deduplicate initial plane setup Jani Nikula
` (6 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Move the modifier checks into common code to deduplicate.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_initial_plane.c | 14 ++++++++++++++
drivers/gpu/drm/i915/i915_initial_plane.c | 13 -------------
drivers/gpu/drm/xe/display/xe_initial_plane.c | 13 -------------
3 files changed, 14 insertions(+), 26 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index cbfcc52f180f..e45d2f4e80ad 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -1,6 +1,7 @@
// SPDX-License-Identifier: MIT
/* Copyright © 2025 Intel Corporation */
+#include <drm/drm_print.h>
#include <drm/intel/display_parent_interface.h>
#include "intel_display_core.h"
@@ -47,6 +48,19 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
struct intel_initial_plane_config *plane_config)
{
struct intel_display *display = to_intel_display(crtc);
+ struct intel_framebuffer *fb = plane_config->fb;
+
+ switch (fb->base.modifier) {
+ case DRM_FORMAT_MOD_LINEAR:
+ case I915_FORMAT_MOD_X_TILED:
+ case I915_FORMAT_MOD_Y_TILED:
+ case I915_FORMAT_MOD_4_TILED:
+ break;
+ default:
+ drm_dbg_kms(display->drm, "Unsupported modifier for initial FB: 0x%llx\n",
+ fb->base.modifier);
+ return NULL;
+ }
return display->parent->initial_plane->alloc_obj(&crtc->base, plane_config);
}
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index 0117f9e115d1..5f7dfe7c6d42 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -240,19 +240,6 @@ i915_alloc_initial_plane_obj(struct drm_crtc *_crtc,
struct drm_framebuffer *fb = &plane_config->fb->base;
struct i915_vma *vma;
- switch (fb->modifier) {
- case DRM_FORMAT_MOD_LINEAR:
- case I915_FORMAT_MOD_X_TILED:
- case I915_FORMAT_MOD_Y_TILED:
- case I915_FORMAT_MOD_4_TILED:
- break;
- default:
- drm_dbg(display->drm,
- "Unsupported modifier for initial FB: 0x%llx\n",
- fb->modifier);
- return NULL;
- }
-
vma = initial_plane_vma(display, plane_config);
if (!vma)
return NULL;
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 2ce0f78cd7b1..e819175d5946 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -134,19 +134,6 @@ xe_alloc_initial_plane_obj(struct drm_crtc *_crtc,
struct drm_framebuffer *fb = &plane_config->fb->base;
struct xe_bo *bo;
- switch (fb->modifier) {
- case DRM_FORMAT_MOD_LINEAR:
- case I915_FORMAT_MOD_X_TILED:
- case I915_FORMAT_MOD_Y_TILED:
- case I915_FORMAT_MOD_4_TILED:
- break;
- default:
- drm_dbg_kms(&xe->drm,
- "Unsupported modifier for initial FB: 0x%llx\n",
- fb->modifier);
- return NULL;
- }
-
mode_cmd.pixel_format = fb->format->format;
mode_cmd.width = fb->width;
mode_cmd.height = fb->height;
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 12/15] drm/{i915,xe}: deduplicate initial plane setup
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (10 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 11/15] drm/{i915, xe}: deduplicate intel_alloc_initial_plane_obj() FB modifier checks Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 13/15] drm/{i915, xe}: pass struct drm_plane_state instead of struct drm_crtc to ->setup Jani Nikula
` (5 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Deduplicate more of the identical parts of i915 and xe initial plane
setup. This lets us reduce the core dependency on display internals.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_initial_plane.c | 26 +++++++++++++++++++
drivers/gpu/drm/i915/i915_initial_plane.c | 25 ------------------
drivers/gpu/drm/xe/display/xe_initial_plane.c | 25 ------------------
3 files changed, 26 insertions(+), 50 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index e45d2f4e80ad..6e7bd6c3c02d 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -6,7 +6,10 @@
#include "intel_display_core.h"
#include "intel_display_types.h"
+#include "intel_fb.h"
+#include "intel_frontbuffer.h"
#include "intel_initial_plane.h"
+#include "intel_plane.h"
void intel_initial_plane_vblank_wait(struct intel_crtc *crtc)
{
@@ -72,6 +75,7 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
struct intel_display *display = to_intel_display(crtc);
struct intel_initial_plane_config *plane_config = &plane_configs[crtc->pipe];
struct intel_plane *plane = to_intel_plane(crtc->base.primary);
+ struct intel_plane_state *plane_state = to_intel_plane_state(plane->base.state);
struct drm_framebuffer *fb;
struct i915_vma *vma;
int ret;
@@ -98,10 +102,32 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
vma = other_plane_state->ggtt_vma;
}
+ plane_state->uapi.rotation = plane_config->rotation;
+ intel_fb_fill_view(to_intel_framebuffer(fb),
+ plane_state->uapi.rotation, &plane_state->view);
+
ret = display->parent->initial_plane->setup(&crtc->base, plane_config, fb, vma);
if (ret)
goto nofb;
+ plane_state->uapi.src_x = 0;
+ plane_state->uapi.src_y = 0;
+ plane_state->uapi.src_w = fb->width << 16;
+ plane_state->uapi.src_h = fb->height << 16;
+
+ plane_state->uapi.crtc_x = 0;
+ plane_state->uapi.crtc_y = 0;
+ plane_state->uapi.crtc_w = fb->width;
+ plane_state->uapi.crtc_h = fb->height;
+
+ plane_state->uapi.fb = fb;
+ drm_framebuffer_get(fb);
+
+ plane_state->uapi.crtc = &crtc->base;
+ intel_plane_copy_uapi_to_hw_state(plane_state, plane_state, crtc);
+
+ atomic_or(plane->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits);
+
return;
nofb:
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index 5f7dfe7c6d42..5fe96b52d2cd 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -11,9 +11,6 @@
#include "display/intel_display_core.h"
#include "display/intel_display_types.h"
#include "display/intel_fb.h"
-#include "display/intel_frontbuffer.h"
-#include "display/intel_initial_plane.h"
-#include "display/intel_plane.h"
#include "gem/i915_gem_lmem.h"
#include "gem/i915_gem_region.h"
@@ -279,10 +276,6 @@ i915_initial_plane_setup(struct drm_crtc *_crtc,
struct intel_plane_state *plane_state =
to_intel_plane_state(plane->base.state);
- plane_state->uapi.rotation = plane_config->rotation;
- intel_fb_fill_view(to_intel_framebuffer(fb),
- plane_state->uapi.rotation, &plane_state->view);
-
__i915_vma_pin(vma);
plane_state->ggtt_vma = i915_vma_get(vma);
if (intel_plane_uses_fence(plane_state) &&
@@ -291,27 +284,9 @@ i915_initial_plane_setup(struct drm_crtc *_crtc,
plane_state->surf = i915_ggtt_offset(plane_state->ggtt_vma);
- plane_state->uapi.src_x = 0;
- plane_state->uapi.src_y = 0;
- plane_state->uapi.src_w = fb->width << 16;
- plane_state->uapi.src_h = fb->height << 16;
-
- plane_state->uapi.crtc_x = 0;
- plane_state->uapi.crtc_y = 0;
- plane_state->uapi.crtc_w = fb->width;
- plane_state->uapi.crtc_h = fb->height;
-
if (fb->modifier != DRM_FORMAT_MOD_LINEAR)
dev_priv->preserve_bios_swizzle = true;
- plane_state->uapi.fb = fb;
- drm_framebuffer_get(fb);
-
- plane_state->uapi.crtc = &crtc->base;
- intel_plane_copy_uapi_to_hw_state(plane_state, plane_state, crtc);
-
- atomic_or(plane->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits);
-
return 0;
}
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index e819175d5946..45513fd79766 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -20,9 +20,6 @@
#include "intel_display_types.h"
#include "intel_fb.h"
#include "intel_fb_pin.h"
-#include "intel_frontbuffer.h"
-#include "intel_initial_plane.h"
-#include "intel_plane.h"
#include "xe_bo.h"
#include "xe_vram_types.h"
#include "xe_wa.h"
@@ -173,10 +170,6 @@ xe_initial_plane_setup(struct drm_crtc *_crtc,
to_intel_plane_state(plane->base.state);
struct i915_vma *vma;
- plane_state->uapi.rotation = plane_config->rotation;
- intel_fb_fill_view(to_intel_framebuffer(fb),
- plane_state->uapi.rotation, &plane_state->view);
-
vma = intel_fb_pin_to_ggtt(fb, &plane_state->view.gtt,
0, 0, 0, false, &plane_state->flags);
if (IS_ERR(vma))
@@ -186,24 +179,6 @@ xe_initial_plane_setup(struct drm_crtc *_crtc,
plane_state->surf = i915_ggtt_offset(plane_state->ggtt_vma);
- plane_state->uapi.src_x = 0;
- plane_state->uapi.src_y = 0;
- plane_state->uapi.src_w = fb->width << 16;
- plane_state->uapi.src_h = fb->height << 16;
-
- plane_state->uapi.crtc_x = 0;
- plane_state->uapi.crtc_y = 0;
- plane_state->uapi.crtc_w = fb->width;
- plane_state->uapi.crtc_h = fb->height;
-
- plane_state->uapi.fb = fb;
- drm_framebuffer_get(fb);
-
- plane_state->uapi.crtc = &crtc->base;
- intel_plane_copy_uapi_to_hw_state(plane_state, plane_state, crtc);
-
- atomic_or(plane->frontbuffer_bit, &to_intel_frontbuffer(fb)->bits);
-
plane_config->vma = vma;
return 0;
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 13/15] drm/{i915, xe}: pass struct drm_plane_state instead of struct drm_crtc to ->setup
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (11 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 12/15] drm/{i915,xe}: deduplicate initial plane setup Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 14/15] drm/{i915, xe}: pass struct drm_device instead of drm_device to ->alloc_obj Jani Nikula
` (4 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
The initial plane parent interface ->setup hook no longer needs the crtc
for anything. Pass the struct drm_plane_state instead.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_initial_plane.c | 2 +-
drivers/gpu/drm/i915/i915_initial_plane.c | 10 +++-------
drivers/gpu/drm/xe/display/xe_initial_plane.c | 8 ++------
include/drm/intel/display_parent_interface.h | 3 ++-
4 files changed, 8 insertions(+), 15 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index 6e7bd6c3c02d..e4d6aa438e66 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -106,7 +106,7 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
intel_fb_fill_view(to_intel_framebuffer(fb),
plane_state->uapi.rotation, &plane_state->view);
- ret = display->parent->initial_plane->setup(&crtc->base, plane_config, fb, vma);
+ ret = display->parent->initial_plane->setup(plane->base.state, plane_config, fb, vma);
if (ret)
goto nofb;
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index 5fe96b52d2cd..40d4f990f23c 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -264,17 +264,13 @@ i915_alloc_initial_plane_obj(struct drm_crtc *_crtc,
}
static int
-i915_initial_plane_setup(struct drm_crtc *_crtc,
+i915_initial_plane_setup(struct drm_plane_state *_plane_state,
struct intel_initial_plane_config *plane_config,
struct drm_framebuffer *fb,
struct i915_vma *vma)
{
- struct intel_crtc *crtc = to_intel_crtc(_crtc);
- struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
- struct intel_plane *plane =
- to_intel_plane(crtc->base.primary);
- struct intel_plane_state *plane_state =
- to_intel_plane_state(plane->base.state);
+ struct intel_plane_state *plane_state = to_intel_plane_state(_plane_state);
+ struct drm_i915_private *dev_priv = to_i915(_plane_state->plane->dev);
__i915_vma_pin(vma);
plane_state->ggtt_vma = i915_vma_get(vma);
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 45513fd79766..9999bc07743b 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -158,16 +158,12 @@ xe_alloc_initial_plane_obj(struct drm_crtc *_crtc,
}
static int
-xe_initial_plane_setup(struct drm_crtc *_crtc,
+xe_initial_plane_setup(struct drm_plane_state *_plane_state,
struct intel_initial_plane_config *plane_config,
struct drm_framebuffer *fb,
struct i915_vma *_unused)
{
- struct intel_crtc *crtc = to_intel_crtc(_crtc);
- struct intel_plane *plane =
- to_intel_plane(crtc->base.primary);
- struct intel_plane_state *plane_state =
- to_intel_plane_state(plane->base.state);
+ struct intel_plane_state *plane_state = to_intel_plane_state(_plane_state);
struct i915_vma *vma;
vma = intel_fb_pin_to_ggtt(fb, &plane_state->view.gtt,
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index 164f3d473e3a..040a014b49ce 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -11,6 +11,7 @@ struct drm_crtc;
struct drm_device;
struct drm_framebuffer;
struct drm_gem_object;
+struct drm_plane_state;
struct drm_scanout_buffer;
struct i915_vma;
struct intel_hdcp_gsc_context;
@@ -33,7 +34,7 @@ struct intel_display_hdcp_interface {
struct intel_display_initial_plane_interface {
void (*vblank_wait)(struct drm_crtc *crtc);
struct drm_gem_object *(*alloc_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config);
- int (*setup)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config,
+ int (*setup)(struct drm_plane_state *plane_state, struct intel_initial_plane_config *plane_config,
struct drm_framebuffer *fb, struct i915_vma *vma);
void (*config_fini)(struct intel_initial_plane_config *plane_configs);
};
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 14/15] drm/{i915, xe}: pass struct drm_device instead of drm_device to ->alloc_obj
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (12 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 13/15] drm/{i915, xe}: pass struct drm_plane_state instead of struct drm_crtc to ->setup Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 15:28 ` [PATCH 15/15] drm/i915: drop dependency on struct intel_display from i915 initial plane Jani Nikula
` (3 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
The initial plane parent interface ->alloc_obj hook no longer needs the
crtc for anything. Pass struct drm_device instead.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_initial_plane.c | 7 +++----
drivers/gpu/drm/i915/i915_initial_plane.c | 5 ++---
drivers/gpu/drm/xe/display/xe_initial_plane.c | 7 ++-----
include/drm/intel/display_parent_interface.h | 2 +-
4 files changed, 8 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_initial_plane.c b/drivers/gpu/drm/i915/display/intel_initial_plane.c
index e4d6aa438e66..ee545c033da6 100644
--- a/drivers/gpu/drm/i915/display/intel_initial_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_initial_plane.c
@@ -47,10 +47,9 @@ intel_reuse_initial_plane_obj(struct intel_crtc *this,
}
static struct drm_gem_object *
-intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
+intel_alloc_initial_plane_obj(struct intel_display *display,
struct intel_initial_plane_config *plane_config)
{
- struct intel_display *display = to_intel_display(crtc);
struct intel_framebuffer *fb = plane_config->fb;
switch (fb->base.modifier) {
@@ -65,7 +64,7 @@ intel_alloc_initial_plane_obj(struct intel_crtc *crtc,
return NULL;
}
- return display->parent->initial_plane->alloc_obj(&crtc->base, plane_config);
+ return display->parent->initial_plane->alloc_obj(display->drm, plane_config);
}
static void
@@ -88,7 +87,7 @@ intel_find_initial_plane_obj(struct intel_crtc *crtc,
if (!plane_config->fb)
return;
- if (intel_alloc_initial_plane_obj(crtc, plane_config)) {
+ if (intel_alloc_initial_plane_obj(display, plane_config)) {
fb = &plane_config->fb->base;
vma = plane_config->vma;
} else {
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index 40d4f990f23c..de90ca69e0bb 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -228,11 +228,10 @@ initial_plane_vma(struct intel_display *display,
}
static struct drm_gem_object *
-i915_alloc_initial_plane_obj(struct drm_crtc *_crtc,
+i915_alloc_initial_plane_obj(struct drm_device *drm,
struct intel_initial_plane_config *plane_config)
{
- struct intel_crtc *crtc = to_intel_crtc(_crtc);
- struct intel_display *display = to_intel_display(crtc);
+ struct intel_display *display = to_intel_display(drm);
struct drm_mode_fb_cmd2 mode_cmd = {};
struct drm_framebuffer *fb = &plane_config->fb->base;
struct i915_vma *vma;
diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c b/drivers/gpu/drm/xe/display/xe_initial_plane.c
index 9999bc07743b..4cfeafcc158d 100644
--- a/drivers/gpu/drm/xe/display/xe_initial_plane.c
+++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c
@@ -14,8 +14,6 @@
#include "i915_vma.h"
#include "intel_crtc.h"
-#include "intel_display.h"
-#include "intel_display_core.h"
#include "intel_display_regs.h"
#include "intel_display_types.h"
#include "intel_fb.h"
@@ -122,11 +120,10 @@ initial_plane_bo(struct xe_device *xe,
}
static struct drm_gem_object *
-xe_alloc_initial_plane_obj(struct drm_crtc *_crtc,
+xe_alloc_initial_plane_obj(struct drm_device *drm,
struct intel_initial_plane_config *plane_config)
{
- struct intel_crtc *crtc = to_intel_crtc(_crtc);
- struct xe_device *xe = to_xe_device(crtc->base.dev);
+ struct xe_device *xe = to_xe_device(drm);
struct drm_mode_fb_cmd2 mode_cmd = { 0 };
struct drm_framebuffer *fb = &plane_config->fb->base;
struct xe_bo *bo;
diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h
index 040a014b49ce..b3acb6e49ed8 100644
--- a/include/drm/intel/display_parent_interface.h
+++ b/include/drm/intel/display_parent_interface.h
@@ -33,7 +33,7 @@ struct intel_display_hdcp_interface {
struct intel_display_initial_plane_interface {
void (*vblank_wait)(struct drm_crtc *crtc);
- struct drm_gem_object *(*alloc_obj)(struct drm_crtc *crtc, struct intel_initial_plane_config *plane_config);
+ struct drm_gem_object *(*alloc_obj)(struct drm_device *drm, struct intel_initial_plane_config *plane_config);
int (*setup)(struct drm_plane_state *plane_state, struct intel_initial_plane_config *plane_config,
struct drm_framebuffer *fb, struct i915_vma *vma);
void (*config_fini)(struct intel_initial_plane_config *plane_configs);
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* [PATCH 15/15] drm/i915: drop dependency on struct intel_display from i915 initial plane
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (13 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 14/15] drm/{i915, xe}: pass struct drm_device instead of drm_device to ->alloc_obj Jani Nikula
@ 2025-12-15 15:28 ` Jani Nikula
2025-12-15 18:00 ` ✓ i915.CI.BAT: success for drm/{i915, xe}: clean up and deduplicate initial plane handling Patchwork
` (2 subsequent siblings)
17 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-15 15:28 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
The i915 core initial plane handling doesn't actually need struct
intel_display for anything. Switch to i915 specific data structures in
i915 core code.
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_initial_plane.c | 43 +++++++++--------------
1 file changed, 17 insertions(+), 26 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_initial_plane.c b/drivers/gpu/drm/i915/i915_initial_plane.c
index de90ca69e0bb..7fb52d81f7b6 100644
--- a/drivers/gpu/drm/i915/i915_initial_plane.c
+++ b/drivers/gpu/drm/i915/i915_initial_plane.c
@@ -7,8 +7,6 @@
#include <drm/intel/display_parent_interface.h>
#include "display/intel_crtc.h"
-#include "display/intel_display.h"
-#include "display/intel_display_core.h"
#include "display/intel_display_types.h"
#include "display/intel_fb.h"
#include "gem/i915_gem_lmem.h"
@@ -23,11 +21,9 @@ static void i915_initial_plane_vblank_wait(struct drm_crtc *crtc)
}
static enum intel_memory_type
-initial_plane_memory_type(struct intel_display *display)
+initial_plane_memory_type(struct drm_i915_private *i915)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
-
- if (display->platform.dgfx)
+ if (IS_DGFX(i915))
return INTEL_MEMORY_LOCAL;
else if (HAS_LMEMBAR_SMEM_STOLEN(i915))
return INTEL_MEMORY_STOLEN_LOCAL;
@@ -36,10 +32,9 @@ initial_plane_memory_type(struct intel_display *display)
}
static bool
-initial_plane_phys(struct intel_display *display,
+initial_plane_phys(struct drm_i915_private *i915,
struct intel_initial_plane_config *plane_config)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
struct i915_ggtt *ggtt = to_gt(i915)->ggtt;
struct intel_memory_region *mem;
enum intel_memory_type mem_type;
@@ -47,10 +42,10 @@ initial_plane_phys(struct intel_display *display,
dma_addr_t dma_addr;
u32 base;
- mem_type = initial_plane_memory_type(display);
+ mem_type = initial_plane_memory_type(i915);
mem = intel_memory_region_by_type(i915, mem_type);
if (!mem) {
- drm_dbg_kms(display->drm,
+ drm_dbg_kms(&i915->drm,
"Initial plane memory region (type %s) not initialized\n",
intel_memory_type_str(mem_type));
return false;
@@ -61,27 +56,24 @@ initial_plane_phys(struct intel_display *display,
dma_addr = intel_ggtt_read_entry(&ggtt->vm, base, &is_present, &is_local);
if (!is_present) {
- drm_err(display->drm,
- "Initial plane FB PTE not present\n");
+ drm_err(&i915->drm, "Initial plane FB PTE not present\n");
return false;
}
if (intel_memory_type_is_local(mem->type) != is_local) {
- drm_err(display->drm,
- "Initial plane FB PTE unsuitable for %s\n",
+ drm_err(&i915->drm, "Initial plane FB PTE unsuitable for %s\n",
mem->region.name);
return false;
}
if (dma_addr < mem->region.start || dma_addr > mem->region.end) {
- drm_err(display->drm,
+ drm_err(&i915->drm,
"Initial plane programming using invalid range, dma_addr=%pa (%s [%pa-%pa])\n",
&dma_addr, mem->region.name, &mem->region.start, &mem->region.end);
return false;
}
- drm_dbg(display->drm,
- "Using dma_addr=%pa, based on initial plane programming\n",
+ drm_dbg(&i915->drm, "Using dma_addr=%pa, based on initial plane programming\n",
&dma_addr);
plane_config->phys_base = dma_addr - mem->region.start;
@@ -91,10 +83,9 @@ initial_plane_phys(struct intel_display *display,
}
static struct i915_vma *
-initial_plane_vma(struct intel_display *display,
+initial_plane_vma(struct drm_i915_private *i915,
struct intel_initial_plane_config *plane_config)
{
- struct drm_i915_private *i915 = to_i915(display->drm);
struct intel_memory_region *mem;
struct drm_i915_gem_object *obj;
struct drm_mm_node orig_mm = {};
@@ -107,7 +98,7 @@ initial_plane_vma(struct intel_display *display,
if (plane_config->size == 0)
return NULL;
- if (!initial_plane_phys(display, plane_config))
+ if (!initial_plane_phys(i915, plane_config))
return NULL;
phys_base = plane_config->phys_base;
@@ -126,7 +117,7 @@ initial_plane_vma(struct intel_display *display,
if (IS_ENABLED(CONFIG_FRAMEBUFFER_CONSOLE) &&
mem == i915->mm.stolen_region &&
size * 2 > i915->dsm.usable_size) {
- drm_dbg_kms(display->drm, "Initial FB size exceeds half of stolen, discarding\n");
+ drm_dbg_kms(&i915->drm, "Initial FB size exceeds half of stolen, discarding\n");
return NULL;
}
@@ -134,7 +125,7 @@ initial_plane_vma(struct intel_display *display,
I915_BO_ALLOC_USER |
I915_BO_PREALLOC);
if (IS_ERR(obj)) {
- drm_dbg_kms(display->drm, "Failed to preallocate initial FB in %s\n",
+ drm_dbg_kms(&i915->drm, "Failed to preallocate initial FB in %s\n",
mem->region.name);
return NULL;
}
@@ -214,7 +205,7 @@ initial_plane_vma(struct intel_display *display,
if (drm_mm_node_allocated(&orig_mm))
drm_mm_remove_node(&orig_mm);
- drm_dbg_kms(display->drm,
+ drm_dbg_kms(&i915->drm,
"Initial plane fb bound to 0x%x in the ggtt (original 0x%x)\n",
i915_ggtt_offset(vma), plane_config->base);
@@ -231,12 +222,12 @@ static struct drm_gem_object *
i915_alloc_initial_plane_obj(struct drm_device *drm,
struct intel_initial_plane_config *plane_config)
{
- struct intel_display *display = to_intel_display(drm);
+ struct drm_i915_private *i915 = to_i915(drm);
struct drm_mode_fb_cmd2 mode_cmd = {};
struct drm_framebuffer *fb = &plane_config->fb->base;
struct i915_vma *vma;
- vma = initial_plane_vma(display, plane_config);
+ vma = initial_plane_vma(i915, plane_config);
if (!vma)
return NULL;
@@ -250,7 +241,7 @@ i915_alloc_initial_plane_obj(struct drm_device *drm,
if (intel_framebuffer_init(to_intel_framebuffer(fb),
intel_bo_to_drm_bo(vma->obj),
fb->format, &mode_cmd)) {
- drm_dbg_kms(display->drm, "intel fb init failed\n");
+ drm_dbg_kms(&i915->drm, "intel fb init failed\n");
goto err_vma;
}
--
2.47.3
^ permalink raw reply related [flat|nested] 20+ messages in thread* ✓ i915.CI.BAT: success for drm/{i915, xe}: clean up and deduplicate initial plane handling
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (14 preceding siblings ...)
2025-12-15 15:28 ` [PATCH 15/15] drm/i915: drop dependency on struct intel_display from i915 initial plane Jani Nikula
@ 2025-12-15 18:00 ` Patchwork
2025-12-15 23:43 ` ✗ i915.CI.Full: failure " Patchwork
2025-12-19 20:17 ` [PATCH 00/15] " Ville Syrjälä
17 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-12-15 18:00 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 2343 bytes --]
== Series Details ==
Series: drm/{i915, xe}: clean up and deduplicate initial plane handling
URL : https://patchwork.freedesktop.org/series/159032/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_17686 -> Patchwork_159032v1
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/index.html
Participating hosts (42 -> 40)
------------------------------
Missing (2): bat-dg2-13 fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_159032v1 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@workarounds:
- bat-dg2-14: [PASS][1] -> [DMESG-FAIL][2] ([i915#12061]) +1 other test dmesg-fail
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/bat-dg2-14/igt@i915_selftest@live@workarounds.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/bat-dg2-14/igt@i915_selftest@live@workarounds.html
- bat-mtlp-9: [PASS][3] -> [DMESG-FAIL][4] ([i915#12061]) +1 other test dmesg-fail
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/bat-mtlp-9/igt@i915_selftest@live@workarounds.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-jsl-1: [DMESG-FAIL][5] ([i915#15281]) -> [PASS][6] +1 other test pass
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/bat-jsl-1/igt@i915_selftest@live.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/bat-jsl-1/igt@i915_selftest@live.html
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#15281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15281
Build changes
-------------
* Linux: CI_DRM_17686 -> Patchwork_159032v1
CI-20190529: 20190529
CI_DRM_17686: 342b565445c93d6fb5221aa9c23be20d65fa16f2 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8666: 8666
Patchwork_159032v1: 342b565445c93d6fb5221aa9c23be20d65fa16f2 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/index.html
[-- Attachment #2: Type: text/html, Size: 3035 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread* ✗ i915.CI.Full: failure for drm/{i915, xe}: clean up and deduplicate initial plane handling
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (15 preceding siblings ...)
2025-12-15 18:00 ` ✓ i915.CI.BAT: success for drm/{i915, xe}: clean up and deduplicate initial plane handling Patchwork
@ 2025-12-15 23:43 ` Patchwork
2025-12-19 20:17 ` [PATCH 00/15] " Ville Syrjälä
17 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-12-15 23:43 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 95823 bytes --]
== Series Details ==
Series: drm/{i915, xe}: clean up and deduplicate initial plane handling
URL : https://patchwork.freedesktop.org/series/159032/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_17686_full -> Patchwork_159032v1_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_159032v1_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_159032v1_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 (9 -> 9)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_159032v1_full:
### IGT changes ###
#### Possible regressions ####
* igt@i915_module_load@reload-with-fault-injection:
- shard-tglu: NOTRUN -> [ABORT][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@i915_module_load@reload-with-fault-injection.html
- shard-glk: NOTRUN -> [ABORT][2]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk8/igt@i915_module_load@reload-with-fault-injection.html
Known issues
------------
Here are the changes found in Patchwork_159032v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@crc32:
- shard-tglu-1: NOTRUN -> [SKIP][3] ([i915#6230])
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@api_intel_bb@crc32.html
* igt@gem_ccs@block-copy-compressed:
- shard-tglu-1: NOTRUN -> [SKIP][4] ([i915#3555] / [i915#9323])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@gem_ccs@block-copy-compressed.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-tglu: NOTRUN -> [SKIP][5] ([i915#3555] / [i915#9323])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0:
- shard-dg2: [PASS][6] -> [INCOMPLETE][7] ([i915#12392] / [i915#13356])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-1/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-5/igt@gem_ccs@suspend-resume@linear-compressed-compfmt0-lmem0-lmem0.html
* igt@gem_create@create-ext-cpu-access-sanity-check:
- shard-rkl: NOTRUN -> [SKIP][8] ([i915#14544] / [i915#6335])
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_create@create-ext-cpu-access-sanity-check.html
* igt@gem_ctx_isolation@preservation-s3:
- shard-glk10: NOTRUN -> [INCOMPLETE][9] ([i915#13356]) +1 other test incomplete
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk10/igt@gem_ctx_isolation@preservation-s3.html
* igt@gem_ctx_sseu@engines:
- shard-tglu: NOTRUN -> [SKIP][10] ([i915#280])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@gem_ctx_sseu@engines.html
* igt@gem_exec_balancer@parallel-dmabuf-import-out-fence:
- shard-tglu: NOTRUN -> [SKIP][11] ([i915#4525])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@gem_exec_balancer@parallel-dmabuf-import-out-fence.html
* igt@gem_exec_reloc@basic-write-cpu-active:
- shard-mtlp: NOTRUN -> [SKIP][12] ([i915#3281]) +2 other tests skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@gem_exec_reloc@basic-write-cpu-active.html
* igt@gem_huc_copy@huc-copy:
- shard-tglu: NOTRUN -> [SKIP][13] ([i915#2190])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@gem_huc_copy@huc-copy.html
* igt@gem_lmem_swapping@parallel-random-verify-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][14] ([i915#4613]) +1 other test skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@gem_lmem_swapping@parallel-random-verify-ccs.html
* igt@gem_lmem_swapping@random:
- shard-glk: NOTRUN -> [SKIP][15] ([i915#4613]) +2 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk6/igt@gem_lmem_swapping@random.html
* igt@gem_lmem_swapping@verify-ccs:
- shard-tglu: NOTRUN -> [SKIP][16] ([i915#4613])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@gem_lmem_swapping@verify-ccs.html
* igt@gem_madvise@dontneed-before-pwrite:
- shard-rkl: NOTRUN -> [SKIP][17] ([i915#3282])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@gem_madvise@dontneed-before-pwrite.html
* igt@gem_media_vme:
- shard-tglu-1: NOTRUN -> [SKIP][18] ([i915#284])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@gem_media_vme.html
* igt@gem_mmap_gtt@close-race:
- shard-mtlp: NOTRUN -> [SKIP][19] ([i915#4077])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@gem_mmap_gtt@close-race.html
* igt@gem_mmap_wc@pf-nonblock:
- shard-mtlp: NOTRUN -> [SKIP][20] ([i915#4083])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@gem_mmap_wc@pf-nonblock.html
* igt@gem_pread@display:
- shard-mtlp: NOTRUN -> [SKIP][21] ([i915#3282]) +1 other test skip
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@gem_pread@display.html
* igt@gem_pwrite@basic-exhaustion:
- shard-tglu: NOTRUN -> [WARN][22] ([i915#2658])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@gem_pwrite@basic-exhaustion.html
* igt@gem_softpin@evict-snoop:
- shard-rkl: NOTRUN -> [SKIP][23] +2 other tests skip
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@gem_softpin@evict-snoop.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-tglu-1: NOTRUN -> [SKIP][24] ([i915#3297] / [i915#3323])
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-tglu-1: NOTRUN -> [SKIP][25] ([i915#3297]) +1 other test skip
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gem_userptr_blits@readonly-unsync:
- shard-mtlp: NOTRUN -> [SKIP][26] ([i915#3297])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@gem_userptr_blits@readonly-unsync.html
* igt@gem_userptr_blits@unsync-overlap:
- shard-rkl: NOTRUN -> [SKIP][27] ([i915#3297])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@gem_userptr_blits@unsync-overlap.html
* igt@gen9_exec_parse@allowed-all:
- shard-glk: NOTRUN -> [ABORT][28] ([i915#5566])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk9/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@basic-rejected-ctx-param:
- shard-mtlp: NOTRUN -> [SKIP][29] ([i915#2856])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@gen9_exec_parse@basic-rejected-ctx-param.html
* igt@gen9_exec_parse@bb-large:
- shard-tglu: NOTRUN -> [SKIP][30] ([i915#2527] / [i915#2856]) +1 other test skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@gen9_exec_parse@bb-large.html
* igt@gen9_exec_parse@bb-secure:
- shard-tglu-1: NOTRUN -> [SKIP][31] ([i915#2527] / [i915#2856]) +1 other test skip
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@gen9_exec_parse@bb-secure.html
* igt@i915_module_load@reload-no-display:
- shard-dg2: [PASS][32] -> [DMESG-WARN][33] ([i915#13029] / [i915#14545])
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-6/igt@i915_module_load@reload-no-display.html
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-7/igt@i915_module_load@reload-no-display.html
* igt@i915_pm_freq_api@freq-suspend:
- shard-tglu-1: NOTRUN -> [SKIP][34] ([i915#8399])
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@i915_pm_freq_api@freq-suspend.html
* igt@i915_pm_freq_mult@media-freq@gt1:
- shard-mtlp: NOTRUN -> [SKIP][35] ([i915#6590]) +2 other tests skip
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@i915_pm_freq_mult@media-freq@gt1.html
* igt@i915_pm_rc6_residency@rc6-fence:
- shard-tglu: NOTRUN -> [WARN][36] ([i915#13790] / [i915#2681]) +1 other test warn
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@i915_pm_rc6_residency@rc6-fence.html
* igt@i915_pm_rc6_residency@rc6-idle:
- shard-tglu-1: NOTRUN -> [SKIP][37] ([i915#14498])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@i915_pm_rc6_residency@rc6-idle.html
* igt@i915_query@test-query-geometry-subslices:
- shard-tglu: NOTRUN -> [SKIP][38] ([i915#5723])
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@i915_query@test-query-geometry-subslices.html
* igt@i915_suspend@basic-s2idle-without-i915:
- shard-dg1: [PASS][39] -> [DMESG-WARN][40] ([i915#4391] / [i915#4423])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg1-12/igt@i915_suspend@basic-s2idle-without-i915.html
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg1-15/igt@i915_suspend@basic-s2idle-without-i915.html
* igt@i915_suspend@debugfs-reader:
- shard-rkl: [PASS][41] -> [INCOMPLETE][42] ([i915#4817])
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@i915_suspend@debugfs-reader.html
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@i915_suspend@debugfs-reader.html
- shard-glk: NOTRUN -> [INCOMPLETE][43] ([i915#4817])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk6/igt@i915_suspend@debugfs-reader.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-glk: [PASS][44] -> [INCOMPLETE][45] ([i915#4817]) +1 other test incomplete
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-glk9/igt@i915_suspend@fence-restore-tiled2untiled.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk1/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@kms_async_flips@async-flip-suspend-resume:
- shard-glk: NOTRUN -> [INCOMPLETE][46] ([i915#12761]) +1 other test incomplete
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk9/igt@kms_async_flips@async-flip-suspend-resume.html
* igt@kms_async_flips@async-flip-suspend-resume@pipe-d-dp-3:
- shard-dg2: [PASS][47] -> [FAIL][48] ([i915#15285])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-11/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-dp-3.html
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-11/igt@kms_async_flips@async-flip-suspend-resume@pipe-d-dp-3.html
* igt@kms_async_flips@invalid-async-flip-atomic:
- shard-mtlp: NOTRUN -> [FAIL][49] ([i915#15313]) +2 other tests fail
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_async_flips@invalid-async-flip-atomic.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-0:
- shard-rkl: NOTRUN -> [SKIP][50] ([i915#14544] / [i915#5286])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_big_fb@4-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-64bpp-rotate-90:
- shard-tglu: NOTRUN -> [SKIP][51] ([i915#5286]) +1 other test skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_big_fb@4-tiled-64bpp-rotate-90.html
* igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180-hflip-async-flip:
- shard-tglu-1: NOTRUN -> [SKIP][52] ([i915#5286]) +3 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/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-180-hflip:
- shard-mtlp: [PASS][53] -> [FAIL][54] ([i915#5138])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-mtlp-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-5/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-180-hflip.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-90:
- shard-tglu: NOTRUN -> [SKIP][55] +30 other tests skip
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-270:
- shard-rkl: NOTRUN -> [SKIP][56] ([i915#14544] / [i915#3638])
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-addfb-size-overflow:
- shard-mtlp: NOTRUN -> [SKIP][57] ([i915#6187])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_big_fb@yf-tiled-addfb-size-overflow.html
* igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][58] ([i915#10307] / [i915#10434] / [i915#6095]) +3 other tests skip
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-4/igt@kms_ccs@bad-pixel-format-y-tiled-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@bad-pixel-format-yf-tiled-ccs:
- shard-mtlp: NOTRUN -> [SKIP][59] ([i915#6095]) +24 other tests skip
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_ccs@bad-pixel-format-yf-tiled-ccs.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][60] ([i915#6095]) +51 other tests skip
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg1-15/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4.html
* igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][61] ([i915#10307] / [i915#6095]) +83 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-3/igt@kms_ccs@ccs-on-another-bo-yf-tiled-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs:
- shard-tglu: NOTRUN -> [SKIP][62] ([i915#12313])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][63] ([i915#14098] / [i915#6095]) +15 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-1/igt@kms_ccs@crc-primary-rotation-180-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-c-hdmi-a-1:
- shard-tglu-1: NOTRUN -> [SKIP][64] ([i915#6095]) +34 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_ccs@crc-primary-rotation-180-y-tiled-ccs@pipe-c-hdmi-a-1.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][65] ([i915#6095]) +47 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-3/igt@kms_ccs@crc-primary-suspend-4-tiled-dg2-rc-ccs@pipe-a-hdmi-a-3.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][66] ([i915#14098] / [i915#14544] / [i915#6095]) +8 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][67] ([i915#6095]) +31 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-4/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-a-hdmi-a-2:
- shard-rkl: NOTRUN -> [SKIP][68] ([i915#14544] / [i915#6095]) +11 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs:
- shard-tglu-1: NOTRUN -> [SKIP][69] ([i915#12313]) +2 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_ccs@random-ccs-data-4-tiled-lnl-ccs.html
* igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-c-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][70] ([i915#6095]) +49 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-c-hdmi-a-1.html
* igt@kms_cdclk@mode-transition:
- shard-tglu-1: NOTRUN -> [SKIP][71] ([i915#3742])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_cdclk@mode-transition.html
* igt@kms_cdclk@mode-transition@pipe-b-dp-3:
- shard-dg2: NOTRUN -> [SKIP][72] ([i915#13781]) +3 other tests skip
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-11/igt@kms_cdclk@mode-transition@pipe-b-dp-3.html
* igt@kms_chamelium_audio@dp-audio:
- shard-tglu: NOTRUN -> [SKIP][73] ([i915#11151] / [i915#7828]) +3 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_chamelium_audio@dp-audio.html
* igt@kms_chamelium_frames@dp-crc-multiple:
- shard-tglu-1: NOTRUN -> [SKIP][74] ([i915#11151] / [i915#7828]) +5 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_chamelium_frames@dp-crc-multiple.html
* igt@kms_chamelium_hpd@common-hpd-after-suspend:
- shard-mtlp: NOTRUN -> [SKIP][75] ([i915#11151] / [i915#7828]) +1 other test skip
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_chamelium_hpd@common-hpd-after-suspend.html
* igt@kms_content_protection@dp-mst-type-0:
- shard-tglu: NOTRUN -> [SKIP][76] ([i915#3116] / [i915#3299])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_content_protection@dp-mst-type-0.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-3:
- shard-dg2: NOTRUN -> [FAIL][77] ([i915#7173])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-11/igt@kms_content_protection@lic-type-0@pipe-a-dp-3.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-tglu-1: NOTRUN -> [SKIP][78] ([i915#13049])
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_crc@cursor-onscreen-max-size:
- shard-tglu-1: NOTRUN -> [SKIP][79] ([i915#3555]) +3 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_cursor_crc@cursor-onscreen-max-size.html
* igt@kms_cursor_crc@cursor-random-32x32:
- shard-tglu: NOTRUN -> [SKIP][80] ([i915#3555]) +3 other tests skip
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_cursor_crc@cursor-random-32x32.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-tglu: NOTRUN -> [FAIL][81] ([i915#13566]) +1 other test fail
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_crc@cursor-sliding-64x21:
- shard-rkl: [PASS][82] -> [FAIL][83] ([i915#13566]) +3 other tests fail
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@kms_cursor_crc@cursor-sliding-64x21.html
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_cursor_crc@cursor-sliding-64x21.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-legacy:
- shard-rkl: NOTRUN -> [SKIP][84] ([i915#14544]) +2 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_cursor_legacy@cursorb-vs-flipb-legacy.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-tglu-1: NOTRUN -> [SKIP][85] ([i915#4103])
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-tglu: NOTRUN -> [SKIP][86] ([i915#9723])
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dp_aux_dev:
- shard-tglu: NOTRUN -> [SKIP][87] ([i915#1257])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_dp_aux_dev.html
* igt@kms_dp_link_training@uhbr-sst:
- shard-tglu: NOTRUN -> [SKIP][88] ([i915#13748])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_dp_link_training@uhbr-sst.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-tglu: NOTRUN -> [SKIP][89] ([i915#13707])
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_dsc@dsc-with-formats:
- shard-mtlp: NOTRUN -> [SKIP][90] ([i915#3555] / [i915#3840])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_dsc@dsc-with-formats.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-tglu-1: NOTRUN -> [SKIP][91] ([i915#3555] / [i915#3840])
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_fbcon_fbt@psr:
- shard-tglu-1: NOTRUN -> [SKIP][92] ([i915#3469])
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_fbcon_fbt@psr.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank:
- shard-mtlp: NOTRUN -> [SKIP][93] ([i915#3637] / [i915#9934])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_flip@2x-flip-vs-absolute-wf_vblank.html
* igt@kms_flip@2x-flip-vs-blocking-wf-vblank:
- shard-tglu: NOTRUN -> [SKIP][94] ([i915#3637] / [i915#9934]) +2 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_flip@2x-flip-vs-blocking-wf-vblank.html
* igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible:
- shard-tglu: NOTRUN -> [SKIP][95] ([i915#9934])
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_flip@2x-flip-vs-dpms-on-nop-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-snb: [PASS][96] -> [TIMEOUT][97] ([i915#14033] / [i915#14350])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-snb7/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-snb1/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1:
- shard-snb: [PASS][98] -> [TIMEOUT][99] ([i915#14033])
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-snb7/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-snb1/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-vga1-hdmi-a1.html
* igt@kms_flip@2x-plain-flip-fb-recreate-interruptible:
- shard-tglu-1: NOTRUN -> [SKIP][100] ([i915#3637] / [i915#9934]) +4 other tests skip
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a3:
- shard-dg2: [PASS][101] -> [FAIL][102] ([i915#13027]) +1 other test fail
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-7/igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a3.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-6/igt@kms_flip@flip-vs-expired-vblank@d-hdmi-a3.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling:
- shard-rkl: NOTRUN -> [SKIP][103] ([i915#2672] / [i915#3555])
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][104] ([i915#2672])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-glk10: NOTRUN -> [SKIP][105] +179 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk10/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
- shard-tglu-1: NOTRUN -> [SKIP][106] ([i915#2672] / [i915#3555]) +2 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode:
- shard-tglu-1: NOTRUN -> [SKIP][107] ([i915#2587] / [i915#2672]) +2 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling:
- shard-mtlp: NOTRUN -> [SKIP][108] ([i915#2672] / [i915#3555] / [i915#8813])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode:
- shard-mtlp: NOTRUN -> [SKIP][109] ([i915#2672] / [i915#8813])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling@pipe-a-default-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling:
- shard-tglu: NOTRUN -> [SKIP][110] ([i915#2587] / [i915#2672] / [i915#3555])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-tglu: NOTRUN -> [SKIP][111] ([i915#2672] / [i915#3555])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode:
- shard-tglu: NOTRUN -> [SKIP][112] ([i915#2587] / [i915#2672]) +1 other test skip
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-tglu-1: NOTRUN -> [SKIP][113] +43 other tests skip
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite:
- shard-rkl: NOTRUN -> [SKIP][114] ([i915#1825]) +3 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbc-tiling-4:
- shard-tglu-1: NOTRUN -> [SKIP][115] ([i915#5439])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbc-tiling-4.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-rte:
- shard-rkl: NOTRUN -> [SKIP][116] ([i915#14544] / [i915#1825]) +2 other tests skip
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary:
- shard-rkl: NOTRUN -> [SKIP][117] ([i915#15102] / [i915#3023])
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-render:
- shard-tglu: NOTRUN -> [SKIP][118] ([i915#15102]) +11 other tests skip
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-pri-shrfb-draw-render.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
- shard-rkl: NOTRUN -> [SKIP][119] ([i915#14544] / [i915#15102] / [i915#3023]) +1 other test skip
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt:
- shard-mtlp: NOTRUN -> [SKIP][120] ([i915#1825]) +6 other tests skip
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_frontbuffer_tracking@psr-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
- shard-mtlp: NOTRUN -> [SKIP][121] ([i915#8708]) +1 other test skip
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu:
- shard-tglu-1: NOTRUN -> [SKIP][122] ([i915#15102]) +16 other tests skip
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu.html
* igt@kms_hdr@bpc-switch-suspend:
- shard-dg2: [PASS][123] -> [SKIP][124] ([i915#3555] / [i915#8228])
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-11/igt@kms_hdr@bpc-switch-suspend.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-8/igt@kms_hdr@bpc-switch-suspend.html
* igt@kms_hdr@brightness-with-hdr:
- shard-tglu-1: NOTRUN -> [SKIP][125] ([i915#12713])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_hdr@brightness-with-hdr.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-tglu-1: NOTRUN -> [SKIP][126] ([i915#3555] / [i915#8228])
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-toggle-suspend:
- shard-tglu: NOTRUN -> [SKIP][127] ([i915#3555] / [i915#8228])
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_hdr@static-toggle-suspend.html
* igt@kms_joiner@basic-force-ultra-joiner:
- shard-rkl: NOTRUN -> [SKIP][128] ([i915#12394])
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_joiner@basic-force-ultra-joiner.html
* igt@kms_joiner@basic-max-non-joiner:
- shard-tglu: NOTRUN -> [SKIP][129] ([i915#15283])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_joiner@basic-max-non-joiner.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-tglu-1: NOTRUN -> [SKIP][130] ([i915#10656])
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-rkl: NOTRUN -> [SKIP][131] ([i915#10656] / [i915#12388] / [i915#14544])
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_plane@plane-panning-bottom-right-suspend:
- shard-dg1: [PASS][132] -> [DMESG-WARN][133] ([i915#4423])
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg1-16/igt@kms_plane@plane-panning-bottom-right-suspend.html
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg1-17/igt@kms_plane@plane-panning-bottom-right-suspend.html
* igt@kms_plane_alpha_blend@alpha-opaque-fb:
- shard-glk: NOTRUN -> [FAIL][134] ([i915#10647] / [i915#12169])
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk2/igt@kms_plane_alpha_blend@alpha-opaque-fb.html
* igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [FAIL][135] ([i915#10647]) +1 other test fail
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk2/igt@kms_plane_alpha_blend@alpha-opaque-fb@pipe-a-hdmi-a-1.html
* igt@kms_plane_multiple@2x-tiling-4:
- shard-tglu: NOTRUN -> [SKIP][136] ([i915#13958])
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_plane_multiple@2x-tiling-4.html
* igt@kms_plane_multiple@2x-tiling-none:
- shard-mtlp: NOTRUN -> [SKIP][137] ([i915#13958])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_plane_multiple@2x-tiling-none.html
* igt@kms_plane_multiple@2x-tiling-yf:
- shard-tglu-1: NOTRUN -> [SKIP][138] ([i915#13958])
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_plane_multiple@2x-tiling-yf.html
* igt@kms_plane_scaling@intel-max-src-size:
- shard-rkl: [PASS][139] -> [SKIP][140] ([i915#6953])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-1/igt@kms_plane_scaling@intel-max-src-size.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_plane_scaling@intel-max-src-size.html
* igt@kms_plane_scaling@plane-upscale-20x20-with-rotation:
- shard-glk: NOTRUN -> [SKIP][141] +269 other tests skip
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk5/igt@kms_plane_scaling@plane-upscale-20x20-with-rotation.html
* igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d:
- shard-tglu: NOTRUN -> [SKIP][142] ([i915#15329]) +4 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-d.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-d:
- shard-mtlp: NOTRUN -> [SKIP][143] ([i915#15329]) +4 other tests skip
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-20x20@pipe-d.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-tglu-1: NOTRUN -> [SKIP][144] ([i915#9812])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_dc@dc3co-vpb-simulation:
- shard-tglu: NOTRUN -> [SKIP][145] ([i915#9685])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_pm_dc@dc3co-vpb-simulation.html
* igt@kms_pm_dc@dc9-dpms:
- shard-rkl: NOTRUN -> [SKIP][146] ([i915#4281])
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_rpm@modeset-lpsp:
- shard-rkl: [PASS][147] -> [SKIP][148] ([i915#15073])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_pm_rpm@modeset-lpsp.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress:
- shard-tglu-1: NOTRUN -> [SKIP][149] ([i915#15073]) +1 other test skip
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area:
- shard-glk: NOTRUN -> [SKIP][150] ([i915#11520]) +5 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk5/igt@kms_psr2_sf@fbc-pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf:
- shard-tglu-1: NOTRUN -> [SKIP][151] ([i915#11520]) +6 other tests skip
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
- shard-glk10: NOTRUN -> [SKIP][152] ([i915#11520]) +5 other tests skip
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk10/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
* igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-a-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][153] ([i915#9808])
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-a-edp-1.html
* igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][154] ([i915#12316]) +1 other test skip
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_psr2_sf@fbc-psr2-primary-plane-update-sf-dmg-area@pipe-b-edp-1.html
* igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf:
- shard-rkl: NOTRUN -> [SKIP][155] ([i915#11520] / [i915#14544]) +1 other test skip
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf:
- shard-tglu: NOTRUN -> [SKIP][156] ([i915#11520]) +2 other tests skip
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_su@page_flip-p010:
- shard-rkl: NOTRUN -> [SKIP][157] ([i915#14544] / [i915#9683])
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_psr2_su@page_flip-p010.html
* igt@kms_psr@fbc-psr-primary-blt@edp-1:
- shard-mtlp: NOTRUN -> [SKIP][158] ([i915#9688]) +4 other tests skip
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_psr@fbc-psr-primary-blt@edp-1.html
* igt@kms_psr@fbc-psr2-cursor-blt:
- shard-tglu-1: NOTRUN -> [SKIP][159] ([i915#9732]) +13 other tests skip
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_psr@fbc-psr2-cursor-blt.html
* igt@kms_psr@pr-cursor-render:
- shard-rkl: NOTRUN -> [SKIP][160] ([i915#1072] / [i915#14544] / [i915#9732])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_psr@pr-cursor-render.html
* igt@kms_psr@psr-primary-render:
- shard-tglu: NOTRUN -> [SKIP][161] ([i915#9732]) +10 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-7/igt@kms_psr@psr-primary-render.html
* igt@kms_psr_stress_test@invalidate-primary-flip-overlay:
- shard-tglu-1: NOTRUN -> [SKIP][162] ([i915#9685]) +1 other test skip
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_psr_stress_test@invalidate-primary-flip-overlay.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
- shard-tglu-1: NOTRUN -> [SKIP][163] ([i915#5289]) +1 other test skip
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html
* igt@kms_rotation_crc@sprite-rotation-270:
- shard-mtlp: NOTRUN -> [SKIP][164] ([i915#12755])
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@kms_rotation_crc@sprite-rotation-270.html
* igt@kms_vrr@seamless-rr-switch-virtual:
- shard-rkl: NOTRUN -> [SKIP][165] ([i915#9906])
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_vrr@seamless-rr-switch-virtual.html
* igt@perf@gen8-unprivileged-single-ctx-counters:
- shard-mtlp: NOTRUN -> [SKIP][166] +5 other tests skip
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@perf@gen8-unprivileged-single-ctx-counters.html
* igt@perf_pmu@busy-double-start@vecs1:
- shard-dg2: [PASS][167] -> [FAIL][168] ([i915#4349]) +4 other tests fail
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-11/igt@perf_pmu@busy-double-start@vecs1.html
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-8/igt@perf_pmu@busy-double-start@vecs1.html
* igt@perf_pmu@module-unload:
- shard-rkl: NOTRUN -> [FAIL][169] ([i915#14433])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@perf_pmu@module-unload.html
* igt@perf_pmu@rc6-all-gts:
- shard-tglu-1: NOTRUN -> [SKIP][170] ([i915#8516])
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@perf_pmu@rc6-all-gts.html
* igt@prime_vgem@basic-read:
- shard-mtlp: NOTRUN -> [SKIP][171] ([i915#3708])
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@prime_vgem@basic-read.html
* igt@sriov_basic@bind-unbind-vf@vf-1:
- shard-tglu-1: NOTRUN -> [FAIL][172] ([i915#12910]) +9 other tests fail
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-1/igt@sriov_basic@bind-unbind-vf@vf-1.html
#### Possible fixes ####
* igt@gem_mmap_offset@clear-via-pagefault:
- shard-mtlp: [ABORT][173] -> [PASS][174] +1 other test pass
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-mtlp-8/igt@gem_mmap_offset@clear-via-pagefault.html
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-8/igt@gem_mmap_offset@clear-via-pagefault.html
* igt@i915_pm_rpm@system-suspend-execbuf:
- shard-rkl: [INCOMPLETE][175] ([i915#13356]) -> [PASS][176]
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@i915_pm_rpm@system-suspend-execbuf.html
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@i915_pm_rpm@system-suspend-execbuf.html
* igt@i915_suspend@basic-s3-without-i915:
- shard-glk: [INCOMPLETE][177] ([i915#4817]) -> [PASS][178]
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-glk8/igt@i915_suspend@basic-s3-without-i915.html
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk2/igt@i915_suspend@basic-s3-without-i915.html
* igt@i915_suspend@forcewake:
- shard-rkl: [INCOMPLETE][179] ([i915#4817]) -> [PASS][180]
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@i915_suspend@forcewake.html
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@i915_suspend@forcewake.html
* igt@kms_async_flips@async-flip-suspend-resume@pipe-c-dp-3:
- shard-dg2: [FAIL][181] ([i915#15285]) -> [PASS][182]
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-11/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-dp-3.html
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-11/igt@kms_async_flips@async-flip-suspend-resume@pipe-c-dp-3.html
* igt@kms_cursor_crc@cursor-sliding-64x21:
- shard-tglu: [FAIL][183] ([i915#13566]) -> [PASS][184] +1 other test pass
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-tglu-3/igt@kms_cursor_crc@cursor-sliding-64x21.html
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-tglu-5/igt@kms_cursor_crc@cursor-sliding-64x21.html
* igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2:
- shard-glk: [FAIL][185] ([i915#13027]) -> [PASS][186] +1 other test pass
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-glk9/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk1/igt@kms_flip@2x-flip-vs-expired-vblank-interruptible@bc-hdmi-a1-hdmi-a2.html
* igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2:
- shard-rkl: [ABORT][187] -> [PASS][188] +1 other test pass
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-1/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-hdmi-a2.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-dg2: [SKIP][189] ([i915#3555] / [i915#8228]) -> [PASS][190]
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-5/igt@kms_hdr@invalid-metadata-sizes.html
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-11/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-dg2: [SKIP][191] ([i915#15073]) -> [PASS][192] +1 other test pass
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-8/igt@kms_pm_rpm@dpms-lpsp.html
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-4/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@i2c:
- shard-dg1: [DMESG-WARN][193] ([i915#4423]) -> [PASS][194] +2 other tests pass
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg1-15/igt@kms_pm_rpm@i2c.html
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg1-19/igt@kms_pm_rpm@i2c.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-rkl: [SKIP][195] ([i915#15073]) -> [PASS][196] +1 other test pass
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-2/igt@kms_pm_rpm@modeset-non-lpsp.html
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-1/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_setmode@basic@pipe-a-hdmi-a-1:
- shard-rkl: [FAIL][197] ([i915#15106]) -> [PASS][198] +2 other tests pass
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-8/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-5/igt@kms_setmode@basic@pipe-a-hdmi-a-1.html
* igt@perf_pmu@busy-double-start@bcs0:
- shard-mtlp: [FAIL][199] ([i915#4349]) -> [PASS][200]
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-mtlp-7/igt@perf_pmu@busy-double-start@bcs0.html
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-mtlp-7/igt@perf_pmu@busy-double-start@bcs0.html
#### Warnings ####
* igt@api_intel_bb@object-reloc-keep-cache:
- shard-rkl: [SKIP][201] ([i915#14544] / [i915#8411]) -> [SKIP][202] ([i915#8411])
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@api_intel_bb@object-reloc-keep-cache.html
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@api_intel_bb@object-reloc-keep-cache.html
* igt@device_reset@unbind-cold-reset-rebind:
- shard-rkl: [SKIP][203] ([i915#11078]) -> [SKIP][204] ([i915#11078] / [i915#14544])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@device_reset@unbind-cold-reset-rebind.html
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@device_reset@unbind-cold-reset-rebind.html
* igt@gem_basic@multigpu-create-close:
- shard-rkl: [SKIP][205] ([i915#7697]) -> [SKIP][206] ([i915#14544] / [i915#7697])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@gem_basic@multigpu-create-close.html
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_basic@multigpu-create-close.html
* igt@gem_ccs@block-multicopy-compressed:
- shard-rkl: [SKIP][207] ([i915#14544] / [i915#9323]) -> [SKIP][208] ([i915#9323])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@gem_ccs@block-multicopy-compressed.html
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@gem_ccs@block-multicopy-compressed.html
* igt@gem_create@create-ext-set-pat:
- shard-rkl: [SKIP][209] ([i915#8562]) -> [SKIP][210] ([i915#14544] / [i915#8562])
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@gem_create@create-ext-set-pat.html
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_create@create-ext-set-pat.html
* igt@gem_exec_balancer@parallel:
- shard-rkl: [SKIP][211] ([i915#14544] / [i915#4525]) -> [SKIP][212] ([i915#4525])
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@gem_exec_balancer@parallel.html
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@gem_exec_balancer@parallel.html
* igt@gem_exec_balancer@parallel-keep-in-fence:
- shard-rkl: [SKIP][213] ([i915#4525]) -> [SKIP][214] ([i915#14544] / [i915#4525])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@gem_exec_balancer@parallel-keep-in-fence.html
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_exec_balancer@parallel-keep-in-fence.html
* igt@gem_exec_reloc@basic-gtt-wc-noreloc:
- shard-rkl: [SKIP][215] ([i915#3281]) -> [SKIP][216] ([i915#14544] / [i915#3281]) +4 other tests skip
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-wc-noreloc.html
* igt@gem_exec_reloc@basic-write-read-noreloc:
- shard-rkl: [SKIP][217] ([i915#14544] / [i915#3281]) -> [SKIP][218] ([i915#3281]) +8 other tests skip
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@gem_exec_reloc@basic-write-read-noreloc.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@gem_exec_reloc@basic-write-read-noreloc.html
* igt@gem_lmem_swapping@heavy-verify-random-ccs:
- shard-rkl: [SKIP][219] ([i915#4613]) -> [SKIP][220] ([i915#14544] / [i915#4613]) +3 other tests skip
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-random-ccs.html
* igt@gem_lmem_swapping@parallel-random:
- shard-rkl: [SKIP][221] ([i915#14544] / [i915#4613]) -> [SKIP][222] ([i915#4613]) +1 other test skip
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@gem_lmem_swapping@parallel-random.html
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@gem_lmem_swapping@parallel-random.html
* igt@gem_media_vme:
- shard-rkl: [SKIP][223] ([i915#14544] / [i915#284]) -> [SKIP][224] ([i915#284])
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@gem_media_vme.html
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@gem_media_vme.html
* igt@gem_partial_pwrite_pread@reads:
- shard-rkl: [SKIP][225] ([i915#3282]) -> [SKIP][226] ([i915#14544] / [i915#3282]) +2 other tests skip
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@gem_partial_pwrite_pread@reads.html
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_partial_pwrite_pread@reads.html
* igt@gem_readwrite@new-obj:
- shard-rkl: [SKIP][227] ([i915#14544] / [i915#3282]) -> [SKIP][228] ([i915#3282]) +1 other test skip
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@gem_readwrite@new-obj.html
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@gem_readwrite@new-obj.html
* igt@gem_userptr_blits@forbidden-operations:
- shard-rkl: [SKIP][229] ([i915#3282] / [i915#3297]) -> [SKIP][230] ([i915#14544] / [i915#3282] / [i915#3297])
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@gem_userptr_blits@forbidden-operations.html
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_userptr_blits@forbidden-operations.html
* igt@gem_userptr_blits@unsync-unmap-cycles:
- shard-rkl: [SKIP][231] ([i915#3297]) -> [SKIP][232] ([i915#14544] / [i915#3297]) +4 other tests skip
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@gem_userptr_blits@unsync-unmap-cycles.html
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gem_userptr_blits@unsync-unmap-cycles.html
* igt@gen9_exec_parse@bb-chained:
- shard-rkl: [SKIP][233] ([i915#2527]) -> [SKIP][234] ([i915#14544] / [i915#2527]) +2 other tests skip
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@gen9_exec_parse@bb-chained.html
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@gen9_exec_parse@bb-chained.html
* igt@gen9_exec_parse@unaligned-access:
- shard-rkl: [SKIP][235] ([i915#14544] / [i915#2527]) -> [SKIP][236] ([i915#2527]) +1 other test skip
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@gen9_exec_parse@unaligned-access.html
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@gen9_exec_parse@unaligned-access.html
* igt@i915_pm_freq_api@freq-basic-api:
- shard-rkl: [SKIP][237] ([i915#8399]) -> [SKIP][238] ([i915#14544] / [i915#8399])
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@i915_pm_freq_api@freq-basic-api.html
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@i915_pm_freq_api@freq-basic-api.html
* igt@i915_power@sanity:
- shard-rkl: [SKIP][239] ([i915#7984]) -> [SKIP][240] ([i915#14544] / [i915#7984])
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@i915_power@sanity.html
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@i915_power@sanity.html
* igt@kms_big_fb@4-tiled-32bpp-rotate-0:
- shard-rkl: [SKIP][241] ([i915#14544] / [i915#5286]) -> [SKIP][242] ([i915#5286]) +1 other test skip
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-rkl: [SKIP][243] ([i915#5286]) -> [SKIP][244] ([i915#14544] / [i915#5286]) +3 other tests skip
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@linear-8bpp-rotate-90:
- shard-rkl: [SKIP][245] ([i915#3638]) -> [SKIP][246] ([i915#14544] / [i915#3638])
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_big_fb@linear-8bpp-rotate-90.html
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_big_fb@linear-8bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-270:
- shard-rkl: [SKIP][247] ([i915#14544] / [i915#3638]) -> [SKIP][248] ([i915#3638]) +1 other test skip
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-8bpp-rotate-270:
- shard-dg1: [SKIP][249] ([i915#3638] / [i915#4423]) -> [SKIP][250] ([i915#3638])
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg1-17/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg1-19/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-16bpp-rotate-270:
- shard-rkl: [SKIP][251] ([i915#14544]) -> [SKIP][252] +8 other tests skip
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_big_fb@yf-tiled-16bpp-rotate-270.html
* igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc:
- shard-rkl: [SKIP][253] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][254] ([i915#14098] / [i915#6095]) +9 other tests skip
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-a-hdmi-a-2:
- shard-rkl: [SKIP][255] ([i915#14544] / [i915#6095]) -> [SKIP][256] ([i915#6095]) +8 other tests skip
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-a-hdmi-a-2.html
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-a-hdmi-a-2.html
* igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
- shard-rkl: [SKIP][257] ([i915#6095]) -> [SKIP][258] ([i915#14544] / [i915#6095]) +11 other tests skip
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html
* igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc:
- shard-rkl: [SKIP][259] ([i915#14098] / [i915#6095]) -> [SKIP][260] ([i915#14098] / [i915#14544] / [i915#6095]) +14 other tests skip
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc.html
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_ccs@missing-ccs-buffer-4-tiled-mtl-rc-ccs-cc.html
* igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe:
- shard-rkl: [SKIP][261] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][262] ([i915#11151] / [i915#7828]) +2 other tests skip
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
* igt@kms_chamelium_hpd@vga-hpd-for-each-pipe:
- shard-rkl: [SKIP][263] ([i915#11151] / [i915#7828]) -> [SKIP][264] ([i915#11151] / [i915#14544] / [i915#7828]) +4 other tests skip
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_chamelium_hpd@vga-hpd-for-each-pipe.html
* igt@kms_content_protection@legacy:
- shard-rkl: [SKIP][265] ([i915#6944] / [i915#7118] / [i915#9424]) -> [SKIP][266] ([i915#14544] / [i915#6944] / [i915#7118] / [i915#9424]) +1 other test skip
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_content_protection@legacy.html
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_content_protection@legacy.html
* igt@kms_content_protection@lic-type-0:
- shard-dg2: [SKIP][267] ([i915#6944] / [i915#9424]) -> [FAIL][268] ([i915#7173])
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-4/igt@kms_content_protection@lic-type-0.html
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-11/igt@kms_content_protection@lic-type-0.html
- shard-rkl: [SKIP][269] ([i915#14544] / [i915#6944] / [i915#9424]) -> [SKIP][270] ([i915#6944] / [i915#9424])
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_content_protection@lic-type-0.html
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_content_protection@lic-type-0.html
* igt@kms_content_protection@srm:
- shard-rkl: [SKIP][271] ([i915#6944] / [i915#7118]) -> [SKIP][272] ([i915#14544] / [i915#6944] / [i915#7118])
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_content_protection@srm.html
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_content_protection@srm.html
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- shard-rkl: [SKIP][273] ([i915#13049]) -> [SKIP][274] ([i915#13049] / [i915#14544]) +1 other test skip
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_cursor_crc@cursor-onscreen-512x512.html
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-512x512.html
* igt@kms_cursor_crc@cursor-rapid-movement-32x32:
- shard-rkl: [SKIP][275] ([i915#3555]) -> [SKIP][276] ([i915#14544] / [i915#3555]) +2 other tests skip
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- shard-rkl: [SKIP][277] ([i915#13049] / [i915#14544]) -> [SKIP][278] ([i915#13049])
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-rkl: [SKIP][279] ([i915#4103]) -> [SKIP][280] ([i915#14544] / [i915#4103]) +1 other test skip
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
- shard-rkl: [SKIP][281] -> [SKIP][282] ([i915#14544]) +11 other tests skip
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
* igt@kms_dp_link_training@non-uhbr-sst:
- shard-rkl: [SKIP][283] ([i915#13749]) -> [SKIP][284] ([i915#13749] / [i915#14544])
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_dp_link_training@non-uhbr-sst.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_dp_link_training@non-uhbr-sst.html
* igt@kms_dsc@dsc-fractional-bpp:
- shard-rkl: [SKIP][285] ([i915#3840]) -> [SKIP][286] ([i915#14544] / [i915#3840])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_dsc@dsc-fractional-bpp.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_dsc@dsc-fractional-bpp.html
* igt@kms_feature_discovery@display-4x:
- shard-rkl: [SKIP][287] ([i915#14544] / [i915#1839]) -> [SKIP][288] ([i915#1839])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_feature_discovery@display-4x.html
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_feature_discovery@display-4x.html
* igt@kms_feature_discovery@psr1:
- shard-rkl: [SKIP][289] ([i915#658]) -> [SKIP][290] ([i915#14544] / [i915#658])
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_feature_discovery@psr1.html
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_feature_discovery@psr1.html
* igt@kms_flip@2x-blocking-wf_vblank:
- shard-rkl: [SKIP][291] ([i915#14544] / [i915#9934]) -> [SKIP][292] ([i915#9934]) +2 other tests skip
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_flip@2x-blocking-wf_vblank.html
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_flip@2x-blocking-wf_vblank.html
* igt@kms_flip@2x-flip-vs-suspend:
- shard-glk: [INCOMPLETE][293] ([i915#12745] / [i915#4839]) -> [INCOMPLETE][294] ([i915#12314] / [i915#12745] / [i915#4839] / [i915#6113])
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-glk6/igt@kms_flip@2x-flip-vs-suspend.html
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk5/igt@kms_flip@2x-flip-vs-suspend.html
* igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2:
- shard-glk: [INCOMPLETE][295] ([i915#4839]) -> [INCOMPLETE][296] ([i915#12314] / [i915#4839] / [i915#6113])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-glk6/igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2.html
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-glk5/igt@kms_flip@2x-flip-vs-suspend@ab-hdmi-a1-hdmi-a2.html
* igt@kms_flip@2x-plain-flip-interruptible:
- shard-rkl: [SKIP][297] ([i915#9934]) -> [SKIP][298] ([i915#14544] / [i915#9934]) +1 other test skip
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_flip@2x-plain-flip-interruptible.html
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_flip@2x-plain-flip-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode:
- shard-rkl: [SKIP][299] ([i915#2672]) -> [SKIP][300] ([i915#14544] / [i915#2672]) +1 other test skip
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode.html
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-upscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling:
- shard-rkl: [SKIP][301] ([i915#14544] / [i915#2672] / [i915#3555]) -> [SKIP][302] ([i915#2672] / [i915#3555]) +2 other tests skip
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode:
- shard-rkl: [SKIP][303] ([i915#14544] / [i915#2672]) -> [SKIP][304] ([i915#2672]) +2 other tests skip
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling:
- shard-rkl: [SKIP][305] ([i915#2672] / [i915#3555]) -> [SKIP][306] ([i915#14544] / [i915#2672] / [i915#3555]) +1 other test skip
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tile-downscaling.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render:
- shard-rkl: [SKIP][307] ([i915#15102]) -> [SKIP][308] ([i915#14544] / [i915#15102]) +3 other tests skip
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc:
- shard-dg1: [SKIP][309] ([i915#4423] / [i915#8708]) -> [SKIP][310] ([i915#8708])
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg1-12/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc.html
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg1-15/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-rte:
- shard-rkl: [SKIP][311] ([i915#15102] / [i915#3023]) -> [SKIP][312] ([i915#14544] / [i915#15102] / [i915#3023]) +11 other tests skip
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-rte.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt:
- shard-rkl: [SKIP][313] ([i915#14544] / [i915#1825]) -> [SKIP][314] ([i915#1825]) +8 other tests skip
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-onoff:
- shard-rkl: [SKIP][315] ([i915#1825]) -> [SKIP][316] ([i915#14544] / [i915#1825]) +22 other tests skip
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-onoff.html
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary:
- shard-dg2: [SKIP][317] ([i915#15102] / [i915#3458]) -> [SKIP][318] ([i915#10433] / [i915#15102] / [i915#3458]) +3 other tests skip
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary.html
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-shrfb-scaledprimary.html
* igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt:
- shard-rkl: [SKIP][319] ([i915#14544] / [i915#15102]) -> [SKIP][320] ([i915#15102]) +1 other test skip
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
- shard-dg2: [SKIP][321] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][322] ([i915#15102] / [i915#3458]) +3 other tests skip
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt:
- shard-rkl: [SKIP][323] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][324] ([i915#15102] / [i915#3023]) +5 other tests skip
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render:
- shard-dg1: [SKIP][325] -> [SKIP][326] ([i915#4423])
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg1-17/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-spr-indfb-draw-render.html
* igt@kms_multipipe_modeset@basic-max-pipe-crc-check:
- shard-rkl: [SKIP][327] ([i915#1839] / [i915#4816]) -> [SKIP][328] ([i915#14544] / [i915#1839] / [i915#4816])
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html
* igt@kms_pipe_stress@stress-xrgb8888-4tiled:
- shard-rkl: [SKIP][329] ([i915#14712]) -> [SKIP][330] ([i915#14544] / [i915#14712])
[329]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
[330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_pipe_stress@stress-xrgb8888-4tiled.html
* igt@kms_plane_multiple@tiling-4:
- shard-rkl: [SKIP][331] ([i915#14259] / [i915#14544]) -> [SKIP][332] ([i915#14259])
[331]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_plane_multiple@tiling-4.html
[332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_plane_multiple@tiling-4.html
* igt@kms_plane_multiple@tiling-yf:
- shard-rkl: [SKIP][333] ([i915#14259]) -> [SKIP][334] ([i915#14259] / [i915#14544])
[333]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-3/igt@kms_plane_multiple@tiling-yf.html
[334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_plane_multiple@tiling-yf.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a:
- shard-rkl: [SKIP][335] ([i915#14544] / [i915#15329]) -> [SKIP][336] ([i915#15329]) +3 other tests skip
[335]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html
[336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a.html
* igt@kms_pm_dc@dc5-psr:
- shard-rkl: [SKIP][337] ([i915#14544] / [i915#9685]) -> [SKIP][338] ([i915#9685])
[337]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_pm_dc@dc5-psr.html
[338]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_pm_dc@dc5-psr.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-rkl: [SKIP][339] ([i915#14544] / [i915#8430]) -> [SKIP][340] ([i915#8430])
[339]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_pm_lpsp@screens-disabled.html
[340]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@modeset-lpsp-stress:
- shard-rkl: [SKIP][341] ([i915#15073]) -> [SKIP][342] ([i915#14544] / [i915#15073])
[341]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp-stress.html
[342]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress.html
* igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area:
- shard-rkl: [SKIP][343] ([i915#11520]) -> [SKIP][344] ([i915#11520] / [i915#14544]) +4 other tests skip
[343]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
[344]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_psr2_sf@fbc-pr-overlay-primary-update-sf-dmg-area.html
* igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf:
- shard-rkl: [SKIP][345] ([i915#11520] / [i915#14544]) -> [SKIP][346] ([i915#11520]) +1 other test skip
[345]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf.html
[346]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_psr2_sf@psr2-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr@fbc-pr-suspend:
- shard-rkl: [SKIP][347] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][348] ([i915#1072] / [i915#9732]) +5 other tests skip
[347]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_psr@fbc-pr-suspend.html
[348]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_psr@fbc-pr-suspend.html
* igt@kms_psr@psr-sprite-plane-move:
- shard-rkl: [SKIP][349] ([i915#1072] / [i915#9732]) -> [SKIP][350] ([i915#1072] / [i915#14544] / [i915#9732]) +14 other tests skip
[349]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_psr@psr-sprite-plane-move.html
[350]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_psr@psr-sprite-plane-move.html
* igt@kms_rotation_crc@primary-4-tiled-reflect-x-0:
- shard-rkl: [SKIP][351] ([i915#14544] / [i915#5289]) -> [SKIP][352] ([i915#5289])
[351]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html
[352]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-3/igt@kms_rotation_crc@primary-4-tiled-reflect-x-0.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90:
- shard-rkl: [SKIP][353] ([i915#5289]) -> [SKIP][354] ([i915#14544] / [i915#5289])
[353]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
[354]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-rkl: [SKIP][355] ([i915#14544] / [i915#3555]) -> [SKIP][356] ([i915#3555])
[355]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@kms_scaling_modes@scaling-mode-full-aspect.html
[356]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@kms_scaling_modes@scaling-mode-full-aspect.html
- shard-dg1: [SKIP][357] ([i915#3555] / [i915#4423]) -> [SKIP][358] ([i915#3555])
[357]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-dg1-12/igt@kms_scaling_modes@scaling-mode-full-aspect.html
[358]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-dg1-15/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-rkl: [SKIP][359] ([i915#8623]) -> [SKIP][360] ([i915#14544] / [i915#8623])
[359]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
[360]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vrr@flip-basic:
- shard-rkl: [SKIP][361] ([i915#15243] / [i915#3555]) -> [SKIP][362] ([i915#14544] / [i915#15243] / [i915#3555])
[361]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@kms_vrr@flip-basic.html
[362]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_vrr@flip-basic.html
* igt@kms_vrr@negative-basic:
- shard-rkl: [SKIP][363] ([i915#3555] / [i915#9906]) -> [SKIP][364] ([i915#14544] / [i915#3555] / [i915#9906])
[363]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@kms_vrr@negative-basic.html
[364]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@kms_vrr@negative-basic.html
* igt@perf@mi-rpc:
- shard-rkl: [SKIP][365] ([i915#2434]) -> [SKIP][366] ([i915#14544] / [i915#2434])
[365]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@perf@mi-rpc.html
[366]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@perf@mi-rpc.html
* igt@prime_vgem@basic-write:
- shard-rkl: [SKIP][367] ([i915#3291] / [i915#3708]) -> [SKIP][368] ([i915#14544] / [i915#3291] / [i915#3708])
[367]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-5/igt@prime_vgem@basic-write.html
[368]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@prime_vgem@basic-write.html
* igt@prime_vgem@coherency-gtt:
- shard-rkl: [SKIP][369] ([i915#14544] / [i915#3708]) -> [SKIP][370] ([i915#3708])
[369]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-6/igt@prime_vgem@coherency-gtt.html
[370]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-7/igt@prime_vgem@coherency-gtt.html
* igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all:
- shard-rkl: [SKIP][371] ([i915#9917]) -> [SKIP][372] ([i915#14544] / [i915#9917])
[371]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17686/shard-rkl-4/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
[372]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_159032v1/shard-rkl-6/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html
[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#10647]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10647
[i915#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[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#12169]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12169
[i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313
[i915#12314]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12314
[i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
[i915#12388]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12388
[i915#12392]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12392
[i915#12394]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12394
[i915#1257]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1257
[i915#12713]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12713
[i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745
[i915#12755]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12755
[i915#12761]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12761
[i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910
[i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027
[i915#13029]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13029
[i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049
[i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356
[i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566
[i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707
[i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748
[i915#13749]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13749
[i915#13781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13781
[i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790
[i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958
[i915#14033]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14033
[i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098
[i915#14259]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14259
[i915#14350]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14350
[i915#14433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14433
[i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#14545]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14545
[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#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243
[i915#15283]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15283
[i915#15285]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15285
[i915#15313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15313
[i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
[i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434
[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#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
[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#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#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
[i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
[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#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#4816]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4816
[i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817
[i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566
[i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6113]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6113
[i915#6187]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6187
[i915#6230]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6230
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590
[i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
[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#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[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#8813]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8813
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9808
[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_17686 -> Patchwork_159032v1
CI-20190529: 20190529
CI_DRM_17686: 342b565445c93d6fb5221aa9c23be20d65fa16f2 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8666: 8666
Patchwork_159032v1: 342b565445c93d6fb5221aa9c23be20d65fa16f2 @ 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_159032v1/index.html
[-- Attachment #2: Type: text/html, Size: 130597 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling
2025-12-15 15:28 [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling Jani Nikula
` (16 preceding siblings ...)
2025-12-15 23:43 ` ✗ i915.CI.Full: failure " Patchwork
@ 2025-12-19 20:17 ` Ville Syrjälä
2025-12-22 13:36 ` Jani Nikula
17 siblings, 1 reply; 20+ messages in thread
From: Ville Syrjälä @ 2025-12-19 20:17 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe
On Mon, Dec 15, 2025 at 05:28:14PM +0200, Jani Nikula wrote:
> The i915 and xe initial plane handling deviate at a too high level,
> leading to lots of duplication between the two. This series starts to
> clean it up by moving it to display parent interface, and deduplicating
> piecemeal.
>
> This is intentionally done in small chunks to ease review and catch
> regressions (hopefully none).
>
> There's still more to be done, e.g. it's pointless to have both i915 and
> xe call intel_framebuffer_init(), but there's some error path stuff to
> figure out before doing this. And I ran out of steam a bit, and the
> series got pretty long already.
>
> Anyway, by reducing duplication, the series highlights the differences
> between i915 and xe.
>
> BR,
> Jani.
>
>
> Jani Nikula (15):
> drm/i915: move display/intel_plane_initial.c to i915_initial_plane.c
> drm/xe/display: rename xe_plane_initial.c to xe_initial_plane.c
> drm/i915: rename intel_plane_initial.h to intel_initial_plane.h
> drm/{i915,xe}: move initial plane calls to parent interface
> drm/{i915,xe}: deduplicate intel_initial_plane_config() between i915
> and xe
> drm/{i915,xe}: deduplicate plane_config_fini() between i915 and xe
> drm/{i915,xe}: start deduplicating intel_find_initial_plane_obj()
> between i915 and xe
> drm/i915: return plane_state from intel_reuse_initial_plane_obj()
> drm/xe: return plane_state from intel_reuse_initial_plane_obj()
> drm/i915: further deduplicate intel_find_initial_plane_obj()
> drm/{i915,xe}: deduplicate intel_alloc_initial_plane_obj() FB modifier
> checks
> drm/{i915,xe}: deduplicate initial plane setup
> drm/{i915,xe}: pass struct drm_plane_state instead of struct drm_crtc
> to ->setup
> drm/{i915,xe}: pass struct drm_device instead of drm_device to
> ->alloc_obj
> drm/i915: drop dependency on struct intel_display from i915 initial
> plane
Everything looked quite reasonable. Series is
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> drivers/gpu/drm/i915/Makefile | 3 +-
> drivers/gpu/drm/i915/display/intel_display.c | 8 +-
> .../drm/i915/display/intel_display_driver.c | 2 +-
> .../drm/i915/display/intel_initial_plane.c | 193 ++++++++
> ..._plane_initial.h => intel_initial_plane.h} | 6 +-
> .../drm/i915/display/intel_plane_initial.c | 442 ------------------
> drivers/gpu/drm/i915/i915_driver.c | 2 +
> drivers/gpu/drm/i915/i915_initial_plane.c | 290 ++++++++++++
> drivers/gpu/drm/i915/i915_initial_plane.h | 9 +
> drivers/gpu/drm/xe/Makefile | 3 +-
> drivers/gpu/drm/xe/display/xe_display.c | 2 +
> drivers/gpu/drm/xe/display/xe_initial_plane.c | 189 ++++++++
> drivers/gpu/drm/xe/display/xe_initial_plane.h | 9 +
> drivers/gpu/drm/xe/display/xe_plane_initial.c | 321 -------------
> include/drm/intel/display_parent_interface.h | 17 +
> 15 files changed, 723 insertions(+), 773 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/display/intel_initial_plane.c
> rename drivers/gpu/drm/i915/display/{intel_plane_initial.h => intel_initial_plane.h} (60%)
> delete mode 100644 drivers/gpu/drm/i915/display/intel_plane_initial.c
> create mode 100644 drivers/gpu/drm/i915/i915_initial_plane.c
> create mode 100644 drivers/gpu/drm/i915/i915_initial_plane.h
> create mode 100644 drivers/gpu/drm/xe/display/xe_initial_plane.c
> create mode 100644 drivers/gpu/drm/xe/display/xe_initial_plane.h
> delete mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
>
> --
> 2.47.3
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling
2025-12-19 20:17 ` [PATCH 00/15] " Ville Syrjälä
@ 2025-12-22 13:36 ` Jani Nikula
0 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-12-22 13:36 UTC (permalink / raw)
To: Ville Syrjälä; +Cc: intel-gfx, intel-xe
On Fri, 19 Dec 2025, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Mon, Dec 15, 2025 at 05:28:14PM +0200, Jani Nikula wrote:
>> The i915 and xe initial plane handling deviate at a too high level,
>> leading to lots of duplication between the two. This series starts to
>> clean it up by moving it to display parent interface, and deduplicating
>> piecemeal.
>>
>> This is intentionally done in small chunks to ease review and catch
>> regressions (hopefully none).
>>
>> There's still more to be done, e.g. it's pointless to have both i915 and
>> xe call intel_framebuffer_init(), but there's some error path stuff to
>> figure out before doing this. And I ran out of steam a bit, and the
>> series got pretty long already.
>>
>> Anyway, by reducing duplication, the series highlights the differences
>> between i915 and xe.
>>
>> BR,
>> Jani.
>>
>>
>> Jani Nikula (15):
>> drm/i915: move display/intel_plane_initial.c to i915_initial_plane.c
>> drm/xe/display: rename xe_plane_initial.c to xe_initial_plane.c
>> drm/i915: rename intel_plane_initial.h to intel_initial_plane.h
>> drm/{i915,xe}: move initial plane calls to parent interface
>> drm/{i915,xe}: deduplicate intel_initial_plane_config() between i915
>> and xe
>> drm/{i915,xe}: deduplicate plane_config_fini() between i915 and xe
>> drm/{i915,xe}: start deduplicating intel_find_initial_plane_obj()
>> between i915 and xe
>> drm/i915: return plane_state from intel_reuse_initial_plane_obj()
>> drm/xe: return plane_state from intel_reuse_initial_plane_obj()
>> drm/i915: further deduplicate intel_find_initial_plane_obj()
>> drm/{i915,xe}: deduplicate intel_alloc_initial_plane_obj() FB modifier
>> checks
>> drm/{i915,xe}: deduplicate initial plane setup
>> drm/{i915,xe}: pass struct drm_plane_state instead of struct drm_crtc
>> to ->setup
>> drm/{i915,xe}: pass struct drm_device instead of drm_device to
>> ->alloc_obj
>> drm/i915: drop dependency on struct intel_display from i915 initial
>> plane
>
> Everything looked quite reasonable. Series is
> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Thanks, pushed the lot to din.
BR,
Jani.
>
>>
>> drivers/gpu/drm/i915/Makefile | 3 +-
>> drivers/gpu/drm/i915/display/intel_display.c | 8 +-
>> .../drm/i915/display/intel_display_driver.c | 2 +-
>> .../drm/i915/display/intel_initial_plane.c | 193 ++++++++
>> ..._plane_initial.h => intel_initial_plane.h} | 6 +-
>> .../drm/i915/display/intel_plane_initial.c | 442 ------------------
>> drivers/gpu/drm/i915/i915_driver.c | 2 +
>> drivers/gpu/drm/i915/i915_initial_plane.c | 290 ++++++++++++
>> drivers/gpu/drm/i915/i915_initial_plane.h | 9 +
>> drivers/gpu/drm/xe/Makefile | 3 +-
>> drivers/gpu/drm/xe/display/xe_display.c | 2 +
>> drivers/gpu/drm/xe/display/xe_initial_plane.c | 189 ++++++++
>> drivers/gpu/drm/xe/display/xe_initial_plane.h | 9 +
>> drivers/gpu/drm/xe/display/xe_plane_initial.c | 321 -------------
>> include/drm/intel/display_parent_interface.h | 17 +
>> 15 files changed, 723 insertions(+), 773 deletions(-)
>> create mode 100644 drivers/gpu/drm/i915/display/intel_initial_plane.c
>> rename drivers/gpu/drm/i915/display/{intel_plane_initial.h => intel_initial_plane.h} (60%)
>> delete mode 100644 drivers/gpu/drm/i915/display/intel_plane_initial.c
>> create mode 100644 drivers/gpu/drm/i915/i915_initial_plane.c
>> create mode 100644 drivers/gpu/drm/i915/i915_initial_plane.h
>> create mode 100644 drivers/gpu/drm/xe/display/xe_initial_plane.c
>> create mode 100644 drivers/gpu/drm/xe/display/xe_initial_plane.h
>> delete mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
>>
>> --
>> 2.47.3
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 20+ messages in thread