* [PATCH 00/15] drm/{i915, xe}: clean up and deduplicate initial plane handling
@ 2025-12-15 15:28 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
` (17 more replies)
0 siblings, 18 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 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
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
^ permalink raw reply [flat|nested] 20+ messages in thread
* [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
end of thread, other threads:[~2025-12-22 13:37 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH 03/15] drm/i915: rename intel_plane_initial.h to intel_initial_plane.h Jani Nikula
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 ` [PATCH 05/15] drm/{i915, xe}: deduplicate intel_initial_plane_config() between i915 and xe Jani Nikula
2025-12-15 15:28 ` [PATCH 06/15] drm/{i915, xe}: deduplicate plane_config_fini() " Jani Nikula
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 ` [PATCH 08/15] drm/i915: return plane_state from intel_reuse_initial_plane_obj() Jani Nikula
2025-12-15 15:28 ` [PATCH 09/15] drm/xe: " Jani Nikula
2025-12-15 15:28 ` [PATCH 10/15] drm/i915: further deduplicate intel_find_initial_plane_obj() Jani Nikula
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 ` [PATCH 12/15] drm/{i915,xe}: deduplicate initial plane setup 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
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 ` [PATCH 15/15] drm/i915: drop dependency on struct intel_display from i915 initial plane Jani Nikula
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 ` ✗ i915.CI.Full: failure " Patchwork
2025-12-19 20:17 ` [PATCH 00/15] " Ville Syrjälä
2025-12-22 13:36 ` Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).