* [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc.
@ 2025-09-02 17:51 Jani Nikula
2025-09-02 17:51 ` [PATCH 1/8] drm/i915/fb: add intel_framebuffer_alloc() Jani Nikula
` (13 more replies)
0 siblings, 14 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
Split out intel_panic functionality separate from intel_bo abstraction,
and lift the framebuffer allocation back to where it belongs in
intel_fb.c.
There's more that should be improved, ideally making struct
intel_framebuffer opaque towards i915 and xe, but this already goes
along way in adjusting where the abstractions should happen.
BR,
Jani.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Jani Nikula (8):
drm/i915/fb: add intel_framebuffer_alloc()
drm/{i915,xe}/panic: split out intel_panic.[ch]
drm/{i915,xe}/panic: rename intel_bo_panic_*() to intel_panic_*()
drm/{i915,xe}/fb: add panic pointer member to struct intel_framebuffer
drm/{i915,xe}/panic: rename struct {i915,xe}_panic_data to struct
intel_panic
drm/{i915,xe}/panic: move framebuffer allocation where it belongs
drm/{i915,xe}/panic: convert intel_panic_finish() to struct
intel_panic
drm/{i915,xe}/panic: pass struct intel_panic to intel_panic_setup()
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/i9xx_plane.c | 4 +-
drivers/gpu/drm/i915/display/intel_bo.c | 15 ---
drivers/gpu/drm/i915/display/intel_bo.h | 3 -
.../drm/i915/display/intel_display_types.h | 2 +
drivers/gpu/drm/i915/display/intel_fb.c | 23 ++++-
drivers/gpu/drm/i915/display/intel_fb.h | 3 +
drivers/gpu/drm/i915/display/intel_panic.c | 27 ++++++
drivers/gpu/drm/i915/display/intel_panic.h | 14 +++
drivers/gpu/drm/i915/display/intel_plane.c | 6 +-
.../drm/i915/display/skl_universal_plane.c | 3 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 11 ++-
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 40 +++-----
drivers/gpu/drm/xe/Makefile | 1 +
drivers/gpu/drm/xe/display/intel_bo.c | 91 -------------------
drivers/gpu/drm/xe/display/xe_panic.c | 80 ++++++++++++++++
16 files changed, 176 insertions(+), 148 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_panic.c
create mode 100644 drivers/gpu/drm/i915/display/intel_panic.h
create mode 100644 drivers/gpu/drm/xe/display/xe_panic.c
--
2.47.2
^ permalink raw reply [flat|nested] 20+ messages in thread
* [PATCH 1/8] drm/i915/fb: add intel_framebuffer_alloc()
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
@ 2025-09-02 17:51 ` Jani Nikula
2025-09-02 17:51 ` [PATCH 2/8] drm/{i915,xe}/panic: split out intel_panic.[ch] Jani Nikula
` (12 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
Add intel_framebuffer_alloc() to hide intel_bo_alloc_framebuffer(), as
that doesn't feel like the correct abstraction.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/i9xx_plane.c | 3 +--
drivers/gpu/drm/i915/display/intel_fb.c | 7 ++++++-
drivers/gpu/drm/i915/display/intel_fb.h | 3 +++
drivers/gpu/drm/i915/display/skl_universal_plane.c | 2 +-
4 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/i9xx_plane.c b/drivers/gpu/drm/i915/display/i9xx_plane.c
index 3eb96d8abba8..9a39e9efbfaf 100644
--- a/drivers/gpu/drm/i915/display/i9xx_plane.c
+++ b/drivers/gpu/drm/i915/display/i9xx_plane.c
@@ -15,7 +15,6 @@
#include "i9xx_plane.h"
#include "i9xx_plane_regs.h"
#include "intel_atomic.h"
-#include "intel_bo.h"
#include "intel_de.h"
#include "intel_display_irq.h"
#include "intel_display_regs.h"
@@ -1178,7 +1177,7 @@ i9xx_get_initial_plane_config(struct intel_crtc *crtc,
drm_WARN_ON(display->drm, pipe != crtc->pipe);
- intel_fb = intel_bo_alloc_framebuffer();
+ intel_fb = intel_framebuffer_alloc();
if (!intel_fb) {
drm_dbg_kms(display->drm, "failed to alloc fb\n");
return;
diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
index b210c3250501..c8feb6d4492c 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.c
+++ b/drivers/gpu/drm/i915/display/intel_fb.c
@@ -2343,6 +2343,11 @@ intel_user_framebuffer_create(struct drm_device *dev,
return fb;
}
+struct intel_framebuffer *intel_framebuffer_alloc(void)
+{
+ return intel_bo_alloc_framebuffer();
+}
+
struct drm_framebuffer *
intel_framebuffer_create(struct drm_gem_object *obj,
const struct drm_format_info *info,
@@ -2351,7 +2356,7 @@ intel_framebuffer_create(struct drm_gem_object *obj,
struct intel_framebuffer *intel_fb;
int ret;
- intel_fb = intel_bo_alloc_framebuffer();
+ intel_fb = intel_framebuffer_alloc();
if (!intel_fb)
return ERR_PTR(-ENOMEM);
diff --git a/drivers/gpu/drm/i915/display/intel_fb.h b/drivers/gpu/drm/i915/display/intel_fb.h
index 403b8b63721a..22514d5f2bb6 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.h
+++ b/drivers/gpu/drm/i915/display/intel_fb.h
@@ -104,6 +104,9 @@ int intel_framebuffer_init(struct intel_framebuffer *ifb,
struct drm_gem_object *obj,
const struct drm_format_info *info,
struct drm_mode_fb_cmd2 *mode_cmd);
+
+struct intel_framebuffer *intel_framebuffer_alloc(void);
+
struct drm_framebuffer *
intel_framebuffer_create(struct drm_gem_object *obj,
const struct drm_format_info *info,
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 950dc79dbdd4..59ee0830de02 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -3028,7 +3028,7 @@ skl_get_initial_plane_config(struct intel_crtc *crtc,
return;
}
- intel_fb = intel_bo_alloc_framebuffer();
+ intel_fb = intel_framebuffer_alloc();
if (!intel_fb) {
drm_dbg_kms(display->drm, "failed to alloc fb\n");
return;
--
2.47.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 2/8] drm/{i915,xe}/panic: split out intel_panic.[ch]
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
2025-09-02 17:51 ` [PATCH 1/8] drm/i915/fb: add intel_framebuffer_alloc() Jani Nikula
@ 2025-09-02 17:51 ` Jani Nikula
2025-09-02 17:51 ` [PATCH 3/8] drm/{i915, xe}/panic: rename intel_bo_panic_*() to intel_panic_*() Jani Nikula
` (11 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
intel_bo.[ch] is not the appropriate location for the panic
functionality. Split out intel_panic.[ch] and xe_panic.c in i915 and
xe. Keep the function names for now.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
This is just code movement, which is easy to review by applying and
using 'git show --color-moved'.
---
drivers/gpu/drm/i915/Makefile | 1 +
drivers/gpu/drm/i915/display/i9xx_plane.c | 1 +
drivers/gpu/drm/i915/display/intel_bo.c | 15 ---
drivers/gpu/drm/i915/display/intel_bo.h | 3 -
drivers/gpu/drm/i915/display/intel_fb.c | 1 +
drivers/gpu/drm/i915/display/intel_panic.c | 20 ++++
drivers/gpu/drm/i915/display/intel_panic.h | 14 +++
drivers/gpu/drm/i915/display/intel_plane.c | 2 +-
.../drm/i915/display/skl_universal_plane.c | 1 +
drivers/gpu/drm/xe/Makefile | 1 +
drivers/gpu/drm/xe/display/intel_bo.c | 91 ------------------
drivers/gpu/drm/xe/display/xe_panic.c | 96 +++++++++++++++++++
12 files changed, 136 insertions(+), 110 deletions(-)
create mode 100644 drivers/gpu/drm/i915/display/intel_panic.c
create mode 100644 drivers/gpu/drm/i915/display/intel_panic.h
create mode 100644 drivers/gpu/drm/xe/display/xe_panic.c
diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index 853543443072..db150a0c33ce 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -280,6 +280,7 @@ i915-y += \
display/intel_modeset_setup.o \
display/intel_modeset_verify.o \
display/intel_overlay.o \
+ display/intel_panic.o \
display/intel_pch.o \
display/intel_pch_display.o \
display/intel_pch_refclk.o \
diff --git a/drivers/gpu/drm/i915/display/i9xx_plane.c b/drivers/gpu/drm/i915/display/i9xx_plane.c
index 9a39e9efbfaf..407deb5dfb57 100644
--- a/drivers/gpu/drm/i915/display/i9xx_plane.c
+++ b/drivers/gpu/drm/i915/display/i9xx_plane.c
@@ -22,6 +22,7 @@
#include "intel_fb.h"
#include "intel_fbc.h"
#include "intel_frontbuffer.h"
+#include "intel_panic.h"
#include "intel_plane.h"
#include "intel_sprite.h"
diff --git a/drivers/gpu/drm/i915/display/intel_bo.c b/drivers/gpu/drm/i915/display/intel_bo.c
index d29c1508ccb9..6ae1374d5c2b 100644
--- a/drivers/gpu/drm/i915/display/intel_bo.c
+++ b/drivers/gpu/drm/i915/display/intel_bo.c
@@ -59,18 +59,3 @@ void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj)
{
i915_debugfs_describe_obj(m, to_intel_bo(obj));
}
-
-struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
-{
- return i915_gem_object_alloc_framebuffer();
-}
-
-int intel_bo_panic_setup(struct drm_scanout_buffer *sb)
-{
- return i915_gem_object_panic_setup(sb);
-}
-
-void intel_bo_panic_finish(struct intel_framebuffer *fb)
-{
- return i915_gem_object_panic_finish(fb);
-}
diff --git a/drivers/gpu/drm/i915/display/intel_bo.h b/drivers/gpu/drm/i915/display/intel_bo.h
index 97087a64d23b..48d87019e48a 100644
--- a/drivers/gpu/drm/i915/display/intel_bo.h
+++ b/drivers/gpu/drm/i915/display/intel_bo.h
@@ -25,8 +25,5 @@ struct intel_frontbuffer *intel_bo_set_frontbuffer(struct drm_gem_object *obj,
struct intel_frontbuffer *front);
void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj);
-struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
-int intel_bo_panic_setup(struct drm_scanout_buffer *sb);
-void intel_bo_panic_finish(struct intel_framebuffer *fb);
#endif /* __INTEL_BO__ */
diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
index c8feb6d4492c..2a2ed0f0461f 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.c
+++ b/drivers/gpu/drm/i915/display/intel_fb.c
@@ -20,6 +20,7 @@
#include "intel_fb.h"
#include "intel_fb_bo.h"
#include "intel_frontbuffer.h"
+#include "intel_panic.h"
#include "intel_plane.h"
#define check_array_bounds(display, a, i) drm_WARN_ON((display)->drm, (i) >= ARRAY_SIZE(a))
diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
new file mode 100644
index 000000000000..9eae210bb4cd
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_panic.c
@@ -0,0 +1,20 @@
+// SPDX-License-Identifier: MIT
+/* Copyright © 2025 Intel Corporation */
+
+#include "gem/i915_gem_object.h"
+#include "intel_panic.h"
+
+struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
+{
+ return i915_gem_object_alloc_framebuffer();
+}
+
+int intel_bo_panic_setup(struct drm_scanout_buffer *sb)
+{
+ return i915_gem_object_panic_setup(sb);
+}
+
+void intel_bo_panic_finish(struct intel_framebuffer *fb)
+{
+ return i915_gem_object_panic_finish(fb);
+}
diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
new file mode 100644
index 000000000000..07e72240cbd7
--- /dev/null
+++ b/drivers/gpu/drm/i915/display/intel_panic.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: MIT */
+/* Copyright © 2025 Intel Corporation */
+
+#ifndef __INTEL_PANIC_H__
+#define __INTEL_PANIC_H__
+
+struct drm_scanout_buffer;
+struct intel_framebuffer;
+
+struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
+int intel_bo_panic_setup(struct drm_scanout_buffer *sb);
+void intel_bo_panic_finish(struct intel_framebuffer *fb);
+
+#endif /* __INTEL_PANIC_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index 81f05ee9a21a..a467e14e6388 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -47,7 +47,6 @@
#include "gem/i915_gem_object.h"
#include "i915_scheduler_types.h"
#include "i9xx_plane_regs.h"
-#include "intel_bo.h"
#include "intel_cdclk.h"
#include "intel_cursor.h"
#include "intel_display_rps.h"
@@ -56,6 +55,7 @@
#include "intel_fb.h"
#include "intel_fb_pin.h"
#include "intel_fbdev.h"
+#include "intel_panic.h"
#include "intel_plane.h"
#include "intel_psr.h"
#include "skl_scaler.h"
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 59ee0830de02..e13fb781e7b2 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -20,6 +20,7 @@
#include "intel_fb.h"
#include "intel_fbc.h"
#include "intel_frontbuffer.h"
+#include "intel_panic.h"
#include "intel_plane.h"
#include "intel_psr.h"
#include "intel_psr_regs.h"
diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile
index 987e4fe10538..bb135f457a6c 100644
--- a/drivers/gpu/drm/xe/Makefile
+++ b/drivers/gpu/drm/xe/Makefile
@@ -210,6 +210,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \
display/xe_dsb_buffer.o \
display/xe_fb_pin.o \
display/xe_hdcp_gsc.o \
+ display/xe_panic.o \
display/xe_plane_initial.o \
display/xe_tdf.o
diff --git a/drivers/gpu/drm/xe/display/intel_bo.c b/drivers/gpu/drm/xe/display/intel_bo.c
index 910632f57c3d..27437c22bd70 100644
--- a/drivers/gpu/drm/xe/display/intel_bo.c
+++ b/drivers/gpu/drm/xe/display/intel_bo.c
@@ -1,12 +1,7 @@
// SPDX-License-Identifier: MIT
/* Copyright © 2024 Intel Corporation */
-#include <drm/drm_cache.h>
#include <drm/drm_gem.h>
-#include <drm/drm_panic.h>
-
-#include "intel_fb.h"
-#include "intel_display_types.h"
#include "xe_bo.h"
#include "intel_bo.h"
@@ -64,89 +59,3 @@ void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj)
{
/* FIXME */
}
-
-struct xe_panic_data {
- struct page **pages;
- int page;
- void *vaddr;
-};
-
-struct xe_framebuffer {
- struct intel_framebuffer base;
- struct xe_panic_data panic;
-};
-
-static inline struct xe_panic_data *to_xe_panic_data(struct intel_framebuffer *fb)
-{
- return &container_of_const(fb, struct xe_framebuffer, base)->panic;
-}
-
-static void xe_panic_kunmap(struct xe_panic_data *panic)
-{
- if (panic->vaddr) {
- drm_clflush_virt_range(panic->vaddr, PAGE_SIZE);
- kunmap_local(panic->vaddr);
- panic->vaddr = NULL;
- }
-}
-
-/*
- * The scanout buffer pages are not mapped, so for each pixel,
- * use kmap_local_page_try_from_panic() to map the page, and write the pixel.
- * Try to keep the map from the previous pixel, to avoid too much map/unmap.
- */
-static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int x,
- unsigned int y, u32 color)
-{
- struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct xe_panic_data *panic = to_xe_panic_data(fb);
- struct xe_bo *bo = gem_to_xe_bo(intel_fb_bo(&fb->base));
- unsigned int new_page;
- unsigned int offset;
-
- if (fb->panic_tiling)
- offset = fb->panic_tiling(sb->width, x, y);
- else
- offset = y * sb->pitch[0] + x * sb->format->cpp[0];
-
- new_page = offset >> PAGE_SHIFT;
- offset = offset % PAGE_SIZE;
- if (new_page != panic->page) {
- xe_panic_kunmap(panic);
- panic->page = new_page;
- panic->vaddr = ttm_bo_kmap_try_from_panic(&bo->ttm,
- panic->page);
- }
- if (panic->vaddr) {
- u32 *pix = panic->vaddr + offset;
- *pix = color;
- }
-}
-
-struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
-{
- struct xe_framebuffer *xe_fb;
-
- xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
- if (xe_fb)
- return &xe_fb->base;
- return NULL;
-}
-
-int intel_bo_panic_setup(struct drm_scanout_buffer *sb)
-{
- struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct xe_panic_data *panic = to_xe_panic_data(fb);
-
- panic->page = -1;
- sb->set_pixel = xe_panic_page_set_pixel;
- return 0;
-}
-
-void intel_bo_panic_finish(struct intel_framebuffer *fb)
-{
- struct xe_panic_data *panic = to_xe_panic_data(fb);
-
- xe_panic_kunmap(panic);
- panic->page = -1;
-}
diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
new file mode 100644
index 000000000000..14fba8aa4e5f
--- /dev/null
+++ b/drivers/gpu/drm/xe/display/xe_panic.c
@@ -0,0 +1,96 @@
+// SPDX-License-Identifier: MIT
+/* Copyright © 2025 Intel Corporation */
+
+#include <drm/drm_cache.h>
+#include <drm/drm_panic.h>
+
+#include "intel_display_types.h"
+#include "intel_fb.h"
+#include "intel_panic.h"
+#include "xe_bo.h"
+
+struct xe_panic_data {
+ struct page **pages;
+ int page;
+ void *vaddr;
+};
+
+struct xe_framebuffer {
+ struct intel_framebuffer base;
+ struct xe_panic_data panic;
+};
+
+static inline struct xe_panic_data *to_xe_panic_data(struct intel_framebuffer *fb)
+{
+ return &container_of_const(fb, struct xe_framebuffer, base)->panic;
+}
+
+static void xe_panic_kunmap(struct xe_panic_data *panic)
+{
+ if (panic->vaddr) {
+ drm_clflush_virt_range(panic->vaddr, PAGE_SIZE);
+ kunmap_local(panic->vaddr);
+ panic->vaddr = NULL;
+ }
+}
+
+/*
+ * The scanout buffer pages are not mapped, so for each pixel,
+ * use kmap_local_page_try_from_panic() to map the page, and write the pixel.
+ * Try to keep the map from the previous pixel, to avoid too much map/unmap.
+ */
+static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int x,
+ unsigned int y, u32 color)
+{
+ struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
+ struct xe_panic_data *panic = to_xe_panic_data(fb);
+ struct xe_bo *bo = gem_to_xe_bo(intel_fb_bo(&fb->base));
+ unsigned int new_page;
+ unsigned int offset;
+
+ if (fb->panic_tiling)
+ offset = fb->panic_tiling(sb->width, x, y);
+ else
+ offset = y * sb->pitch[0] + x * sb->format->cpp[0];
+
+ new_page = offset >> PAGE_SHIFT;
+ offset = offset % PAGE_SIZE;
+ if (new_page != panic->page) {
+ xe_panic_kunmap(panic);
+ panic->page = new_page;
+ panic->vaddr = ttm_bo_kmap_try_from_panic(&bo->ttm,
+ panic->page);
+ }
+ if (panic->vaddr) {
+ u32 *pix = panic->vaddr + offset;
+ *pix = color;
+ }
+}
+
+struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
+{
+ struct xe_framebuffer *xe_fb;
+
+ xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
+ if (xe_fb)
+ return &xe_fb->base;
+ return NULL;
+}
+
+int intel_bo_panic_setup(struct drm_scanout_buffer *sb)
+{
+ struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
+ struct xe_panic_data *panic = to_xe_panic_data(fb);
+
+ panic->page = -1;
+ sb->set_pixel = xe_panic_page_set_pixel;
+ return 0;
+}
+
+void intel_bo_panic_finish(struct intel_framebuffer *fb)
+{
+ struct xe_panic_data *panic = to_xe_panic_data(fb);
+
+ xe_panic_kunmap(panic);
+ panic->page = -1;
+}
--
2.47.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 3/8] drm/{i915, xe}/panic: rename intel_bo_panic_*() to intel_panic_*()
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
2025-09-02 17:51 ` [PATCH 1/8] drm/i915/fb: add intel_framebuffer_alloc() Jani Nikula
2025-09-02 17:51 ` [PATCH 2/8] drm/{i915,xe}/panic: split out intel_panic.[ch] Jani Nikula
@ 2025-09-02 17:51 ` Jani Nikula
2025-09-02 17:51 ` [PATCH 4/8] drm/{i915, xe}/fb: add panic pointer member to struct intel_framebuffer Jani Nikula
` (10 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
Rename the intel_bo_panic_*() functions according to the functionality,
dropping the misleading intel_bo reference.
Keep intel_bo_alloc_framebuffer() for now; it'll be refactored later.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_panic.c | 4 ++--
drivers/gpu/drm/i915/display/intel_panic.h | 4 ++--
drivers/gpu/drm/i915/display/intel_plane.c | 4 ++--
drivers/gpu/drm/xe/display/xe_panic.c | 4 ++--
4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
index 9eae210bb4cd..20eecb0f168f 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.c
+++ b/drivers/gpu/drm/i915/display/intel_panic.c
@@ -9,12 +9,12 @@ struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
return i915_gem_object_alloc_framebuffer();
}
-int intel_bo_panic_setup(struct drm_scanout_buffer *sb)
+int intel_panic_setup(struct drm_scanout_buffer *sb)
{
return i915_gem_object_panic_setup(sb);
}
-void intel_bo_panic_finish(struct intel_framebuffer *fb)
+void intel_panic_finish(struct intel_framebuffer *fb)
{
return i915_gem_object_panic_finish(fb);
}
diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
index 07e72240cbd7..67ce253fcdf5 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.h
+++ b/drivers/gpu/drm/i915/display/intel_panic.h
@@ -8,7 +8,7 @@ struct drm_scanout_buffer;
struct intel_framebuffer;
struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
-int intel_bo_panic_setup(struct drm_scanout_buffer *sb);
-void intel_bo_panic_finish(struct intel_framebuffer *fb);
+int intel_panic_setup(struct drm_scanout_buffer *sb);
+void intel_panic_finish(struct intel_framebuffer *fb);
#endif /* __INTEL_PANIC_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index a467e14e6388..890d897bda10 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -1326,7 +1326,7 @@ static void intel_panic_flush(struct drm_plane *plane)
struct drm_framebuffer *fb = plane_state->hw.fb;
struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb);
- intel_bo_panic_finish(intel_fb);
+ intel_panic_finish(intel_fb);
if (crtc_state->enable_psr2_sel_fetch) {
/* Force a full update for psr2 */
@@ -1409,7 +1409,7 @@ static int intel_get_scanout_buffer(struct drm_plane *plane,
return -EOPNOTSUPP;
}
sb->private = intel_fb;
- ret = intel_bo_panic_setup(sb);
+ ret = intel_panic_setup(sb);
if (ret)
return ret;
}
diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
index 14fba8aa4e5f..18b27a06b260 100644
--- a/drivers/gpu/drm/xe/display/xe_panic.c
+++ b/drivers/gpu/drm/xe/display/xe_panic.c
@@ -77,7 +77,7 @@ struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
return NULL;
}
-int intel_bo_panic_setup(struct drm_scanout_buffer *sb)
+int intel_panic_setup(struct drm_scanout_buffer *sb)
{
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
struct xe_panic_data *panic = to_xe_panic_data(fb);
@@ -87,7 +87,7 @@ int intel_bo_panic_setup(struct drm_scanout_buffer *sb)
return 0;
}
-void intel_bo_panic_finish(struct intel_framebuffer *fb)
+void intel_panic_finish(struct intel_framebuffer *fb)
{
struct xe_panic_data *panic = to_xe_panic_data(fb);
--
2.47.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 4/8] drm/{i915, xe}/fb: add panic pointer member to struct intel_framebuffer
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (2 preceding siblings ...)
2025-09-02 17:51 ` [PATCH 3/8] drm/{i915, xe}/panic: rename intel_bo_panic_*() to intel_panic_*() Jani Nikula
@ 2025-09-02 17:51 ` Jani Nikula
2025-09-02 17:51 ` [PATCH 5/8] drm/{i915, xe}/panic: rename struct {i915, xe}_panic_data to struct intel_panic Jani Nikula
` (9 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
Add a panic data pointer member in struct intel_framebuffer in
preparation for breaking the artificial subclassing between
intel_framebuffer and panic structures.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
.../drm/i915/display/intel_display_types.h | 1 +
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 20 +++++++++----------
drivers/gpu/drm/xe/display/xe_panic.c | 20 +++++++++----------
3 files changed, 19 insertions(+), 22 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index fd9d2527889b..608fd69af657 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -149,6 +149,7 @@ struct intel_framebuffer {
unsigned int vtd_guard;
unsigned int (*panic_tiling)(unsigned int x, unsigned int y, unsigned int width);
+ void *panic;
};
enum intel_hotplug_state {
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
index c16a57160b26..c54ed1b33e60 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
@@ -368,11 +368,6 @@ struct i915_framebuffer {
struct i915_panic_data panic;
};
-static inline struct i915_panic_data *to_i915_panic_data(struct intel_framebuffer *fb)
-{
- return &container_of_const(fb, struct i915_framebuffer, base)->panic;
-}
-
static void i915_panic_kunmap(struct i915_panic_data *panic)
{
if (panic->vaddr) {
@@ -420,7 +415,7 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
unsigned int new_page;
unsigned int offset;
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct i915_panic_data *panic = to_i915_panic_data(fb);
+ struct i915_panic_data *panic = fb->panic;
if (fb->panic_tiling)
offset = fb->panic_tiling(sb->width, x, y);
@@ -446,9 +441,12 @@ struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void)
struct i915_framebuffer *i915_fb;
i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
- if (i915_fb)
- return &i915_fb->base;
- return NULL;
+ if (!i915_fb)
+ return NULL;
+
+ i915_fb->base.panic = &i915_fb->panic;
+
+ return &i915_fb->base;
}
/*
@@ -460,7 +458,7 @@ int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
{
enum i915_map_type has_type;
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct i915_panic_data *panic = to_i915_panic_data(fb);
+ struct i915_panic_data *panic = fb->panic;
struct drm_i915_gem_object *obj = to_intel_bo(intel_fb_bo(&fb->base));
void *ptr;
@@ -488,7 +486,7 @@ int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
void i915_gem_object_panic_finish(struct intel_framebuffer *fb)
{
- struct i915_panic_data *panic = to_i915_panic_data(fb);
+ struct i915_panic_data *panic = fb->panic;
i915_panic_kunmap(panic);
panic->page = -1;
diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
index 18b27a06b260..fc1804d330e4 100644
--- a/drivers/gpu/drm/xe/display/xe_panic.c
+++ b/drivers/gpu/drm/xe/display/xe_panic.c
@@ -20,11 +20,6 @@ struct xe_framebuffer {
struct xe_panic_data panic;
};
-static inline struct xe_panic_data *to_xe_panic_data(struct intel_framebuffer *fb)
-{
- return &container_of_const(fb, struct xe_framebuffer, base)->panic;
-}
-
static void xe_panic_kunmap(struct xe_panic_data *panic)
{
if (panic->vaddr) {
@@ -43,7 +38,7 @@ static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int
unsigned int y, u32 color)
{
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct xe_panic_data *panic = to_xe_panic_data(fb);
+ struct xe_panic_data *panic = fb->panic;
struct xe_bo *bo = gem_to_xe_bo(intel_fb_bo(&fb->base));
unsigned int new_page;
unsigned int offset;
@@ -72,15 +67,18 @@ struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
struct xe_framebuffer *xe_fb;
xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
- if (xe_fb)
- return &xe_fb->base;
- return NULL;
+ if (!xe_fb)
+ return NULL;
+
+ xe_fb->base.panic = &xe_fb->panic;
+
+ return &xe_fb->base;
}
int intel_panic_setup(struct drm_scanout_buffer *sb)
{
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct xe_panic_data *panic = to_xe_panic_data(fb);
+ struct xe_panic_data *panic = fb->panic;
panic->page = -1;
sb->set_pixel = xe_panic_page_set_pixel;
@@ -89,7 +87,7 @@ int intel_panic_setup(struct drm_scanout_buffer *sb)
void intel_panic_finish(struct intel_framebuffer *fb)
{
- struct xe_panic_data *panic = to_xe_panic_data(fb);
+ struct xe_panic_data *panic = fb->panic;
xe_panic_kunmap(panic);
panic->page = -1;
--
2.47.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 5/8] drm/{i915, xe}/panic: rename struct {i915, xe}_panic_data to struct intel_panic
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (3 preceding siblings ...)
2025-09-02 17:51 ` [PATCH 4/8] drm/{i915, xe}/fb: add panic pointer member to struct intel_framebuffer Jani Nikula
@ 2025-09-02 17:51 ` Jani Nikula
2025-09-02 17:51 ` [PATCH 6/8] drm/{i915, xe}/panic: move framebuffer allocation where it belongs Jani Nikula
` (8 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
Prepare for better shared interfaces between panic implementations. The
struct intel_panic remains an opaque data type, with unique
implementations in i915 and xe.
This allows us to change the panic data pointer from void * to struct
intel_panic *, helping type safety.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_display_types.h | 3 ++-
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 12 ++++++------
drivers/gpu/drm/xe/display/xe_panic.c | 12 ++++++------
3 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h
index 608fd69af657..358ab922d7a7 100644
--- a/drivers/gpu/drm/i915/display/intel_display_types.h
+++ b/drivers/gpu/drm/i915/display/intel_display_types.h
@@ -60,6 +60,7 @@ struct intel_ddi_buf_trans;
struct intel_fbc;
struct intel_global_objs_state;
struct intel_hdcp_shim;
+struct intel_panic;
struct intel_tc_port;
/*
@@ -149,7 +150,7 @@ struct intel_framebuffer {
unsigned int vtd_guard;
unsigned int (*panic_tiling)(unsigned int x, unsigned int y, unsigned int width);
- void *panic;
+ struct intel_panic *panic;
};
enum intel_hotplug_state {
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
index c54ed1b33e60..e36d60b785b1 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
@@ -357,7 +357,7 @@ static void *i915_gem_object_map_pfn(struct drm_i915_gem_object *obj,
return vaddr ?: ERR_PTR(-ENOMEM);
}
-struct i915_panic_data {
+struct intel_panic {
struct page **pages;
int page;
void *vaddr;
@@ -365,10 +365,10 @@ struct i915_panic_data {
struct i915_framebuffer {
struct intel_framebuffer base;
- struct i915_panic_data panic;
+ struct intel_panic panic;
};
-static void i915_panic_kunmap(struct i915_panic_data *panic)
+static void i915_panic_kunmap(struct intel_panic *panic)
{
if (panic->vaddr) {
drm_clflush_virt_range(panic->vaddr, PAGE_SIZE);
@@ -415,7 +415,7 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
unsigned int new_page;
unsigned int offset;
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct i915_panic_data *panic = fb->panic;
+ struct intel_panic *panic = fb->panic;
if (fb->panic_tiling)
offset = fb->panic_tiling(sb->width, x, y);
@@ -458,7 +458,7 @@ int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
{
enum i915_map_type has_type;
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct i915_panic_data *panic = fb->panic;
+ struct intel_panic *panic = fb->panic;
struct drm_i915_gem_object *obj = to_intel_bo(intel_fb_bo(&fb->base));
void *ptr;
@@ -486,7 +486,7 @@ int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
void i915_gem_object_panic_finish(struct intel_framebuffer *fb)
{
- struct i915_panic_data *panic = fb->panic;
+ struct intel_panic *panic = fb->panic;
i915_panic_kunmap(panic);
panic->page = -1;
diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
index fc1804d330e4..3ef23a6795b3 100644
--- a/drivers/gpu/drm/xe/display/xe_panic.c
+++ b/drivers/gpu/drm/xe/display/xe_panic.c
@@ -9,7 +9,7 @@
#include "intel_panic.h"
#include "xe_bo.h"
-struct xe_panic_data {
+struct intel_panic {
struct page **pages;
int page;
void *vaddr;
@@ -17,10 +17,10 @@ struct xe_panic_data {
struct xe_framebuffer {
struct intel_framebuffer base;
- struct xe_panic_data panic;
+ struct intel_panic panic;
};
-static void xe_panic_kunmap(struct xe_panic_data *panic)
+static void xe_panic_kunmap(struct intel_panic *panic)
{
if (panic->vaddr) {
drm_clflush_virt_range(panic->vaddr, PAGE_SIZE);
@@ -38,7 +38,7 @@ static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int
unsigned int y, u32 color)
{
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct xe_panic_data *panic = fb->panic;
+ struct intel_panic *panic = fb->panic;
struct xe_bo *bo = gem_to_xe_bo(intel_fb_bo(&fb->base));
unsigned int new_page;
unsigned int offset;
@@ -78,7 +78,7 @@ struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
int intel_panic_setup(struct drm_scanout_buffer *sb)
{
struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct xe_panic_data *panic = fb->panic;
+ struct intel_panic *panic = fb->panic;
panic->page = -1;
sb->set_pixel = xe_panic_page_set_pixel;
@@ -87,7 +87,7 @@ int intel_panic_setup(struct drm_scanout_buffer *sb)
void intel_panic_finish(struct intel_framebuffer *fb)
{
- struct xe_panic_data *panic = fb->panic;
+ struct intel_panic *panic = fb->panic;
xe_panic_kunmap(panic);
panic->page = -1;
--
2.47.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 6/8] drm/{i915, xe}/panic: move framebuffer allocation where it belongs
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (4 preceding siblings ...)
2025-09-02 17:51 ` [PATCH 5/8] drm/{i915, xe}/panic: rename struct {i915, xe}_panic_data to struct intel_panic Jani Nikula
@ 2025-09-02 17:51 ` Jani Nikula
2025-10-01 15:04 ` [PATCH 6/8] drm/{i915,xe}/panic: " Jani Nikula
2025-09-02 17:51 ` [PATCH 7/8] drm/{i915, xe}/panic: convert intel_panic_finish() to struct intel_panic Jani Nikula
` (7 subsequent siblings)
13 siblings, 1 reply; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
The struct intel_framebuffer allocation naturally belongs in intel_fb.c,
not hidden inside panic implementation. Separate the panic
allocation. Drop the unnecessary struct i915_framebuffer and struct
xe_framebuffer types.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_fb.c | 17 ++++++++++++++++-
drivers/gpu/drm/i915/display/intel_panic.c | 4 ++--
drivers/gpu/drm/i915/display/intel_panic.h | 3 ++-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 5 +++--
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 17 ++++-------------
drivers/gpu/drm/xe/display/xe_panic.c | 17 ++++-------------
6 files changed, 31 insertions(+), 32 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
index 2a2ed0f0461f..22a4a1575d22 100644
--- a/drivers/gpu/drm/i915/display/intel_fb.c
+++ b/drivers/gpu/drm/i915/display/intel_fb.c
@@ -2346,7 +2346,22 @@ intel_user_framebuffer_create(struct drm_device *dev,
struct intel_framebuffer *intel_framebuffer_alloc(void)
{
- return intel_bo_alloc_framebuffer();
+ struct intel_framebuffer *intel_fb;
+ struct intel_panic *panic;
+
+ intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL);
+ if (!intel_fb)
+ return NULL;
+
+ panic = intel_panic_alloc();
+ if (!panic) {
+ kfree(intel_fb);
+ return NULL;
+ }
+
+ intel_fb->panic = panic;
+
+ return intel_fb;
}
struct drm_framebuffer *
diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
index 20eecb0f168f..5431bd4d3a7d 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.c
+++ b/drivers/gpu/drm/i915/display/intel_panic.c
@@ -4,9 +4,9 @@
#include "gem/i915_gem_object.h"
#include "intel_panic.h"
-struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
+struct intel_panic *intel_panic_alloc(void)
{
- return i915_gem_object_alloc_framebuffer();
+ return i915_gem_object_alloc_panic();
}
int intel_panic_setup(struct drm_scanout_buffer *sb)
diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
index 67ce253fcdf5..45ce6104e6fb 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.h
+++ b/drivers/gpu/drm/i915/display/intel_panic.h
@@ -6,8 +6,9 @@
struct drm_scanout_buffer;
struct intel_framebuffer;
+struct intel_panic;
-struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
+struct intel_panic *intel_panic_alloc(void);
int intel_panic_setup(struct drm_scanout_buffer *sb);
void intel_panic_finish(struct intel_framebuffer *fb);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
index 565f8fa330db..9b3f25cb48db 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
@@ -16,9 +16,10 @@
#include "i915_gem_ww.h"
#include "i915_vma_types.h"
-struct drm_scanout_buffer;
enum intel_region_id;
+struct drm_scanout_buffer;
struct intel_framebuffer;
+struct intel_panic;
#define obj_to_i915(obj__) to_i915((obj__)->base.dev)
@@ -693,7 +694,7 @@ i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj);
int i915_gem_object_truncate(struct drm_i915_gem_object *obj);
-struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void);
+struct intel_panic *i915_gem_object_alloc_panic(void);
int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
void i915_gem_object_panic_finish(struct intel_framebuffer *fb);
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
index e36d60b785b1..b219474aecc7 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
@@ -363,11 +363,6 @@ struct intel_panic {
void *vaddr;
};
-struct i915_framebuffer {
- struct intel_framebuffer base;
- struct intel_panic panic;
-};
-
static void i915_panic_kunmap(struct intel_panic *panic)
{
if (panic->vaddr) {
@@ -436,17 +431,13 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
}
}
-struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void)
+struct intel_panic *i915_gem_object_alloc_panic(void)
{
- struct i915_framebuffer *i915_fb;
-
- i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
- if (!i915_fb)
- return NULL;
+ struct intel_panic *panic;
- i915_fb->base.panic = &i915_fb->panic;
+ panic = kzalloc(sizeof(*panic), GFP_KERNEL);
- return &i915_fb->base;
+ return panic;
}
/*
diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
index 3ef23a6795b3..b5a7615708a1 100644
--- a/drivers/gpu/drm/xe/display/xe_panic.c
+++ b/drivers/gpu/drm/xe/display/xe_panic.c
@@ -15,11 +15,6 @@ struct intel_panic {
void *vaddr;
};
-struct xe_framebuffer {
- struct intel_framebuffer base;
- struct intel_panic panic;
-};
-
static void xe_panic_kunmap(struct intel_panic *panic)
{
if (panic->vaddr) {
@@ -62,17 +57,13 @@ static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int
}
}
-struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
+struct intel_panic *intel_panic_alloc(void)
{
- struct xe_framebuffer *xe_fb;
-
- xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
- if (!xe_fb)
- return NULL;
+ struct intel_panic *panic;
- xe_fb->base.panic = &xe_fb->panic;
+ panic = kzalloc(sizeof(*panic), GFP_KERNEL);
- return &xe_fb->base;
+ return panic;
}
int intel_panic_setup(struct drm_scanout_buffer *sb)
--
2.47.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 7/8] drm/{i915, xe}/panic: convert intel_panic_finish() to struct intel_panic
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (5 preceding siblings ...)
2025-09-02 17:51 ` [PATCH 6/8] drm/{i915, xe}/panic: move framebuffer allocation where it belongs Jani Nikula
@ 2025-09-02 17:51 ` Jani Nikula
2025-09-02 17:51 ` [PATCH 8/8] drm/{i915, xe}/panic: pass struct intel_panic to intel_panic_setup() Jani Nikula
` (6 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
The intel_panic_finish() function really needs the struct intel_panic
pointer, not struct intel_framebuffer. Make it so.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_panic.c | 4 ++--
drivers/gpu/drm/i915/display/intel_panic.h | 3 +--
drivers/gpu/drm/i915/display/intel_plane.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 3 +--
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 4 +---
drivers/gpu/drm/xe/display/xe_panic.c | 4 +---
6 files changed, 7 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
index 5431bd4d3a7d..c8ac8b5a39f3 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.c
+++ b/drivers/gpu/drm/i915/display/intel_panic.c
@@ -14,7 +14,7 @@ int intel_panic_setup(struct drm_scanout_buffer *sb)
return i915_gem_object_panic_setup(sb);
}
-void intel_panic_finish(struct intel_framebuffer *fb)
+void intel_panic_finish(struct intel_panic *panic)
{
- return i915_gem_object_panic_finish(fb);
+ return i915_gem_object_panic_finish(panic);
}
diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
index 45ce6104e6fb..cec193e725a4 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.h
+++ b/drivers/gpu/drm/i915/display/intel_panic.h
@@ -5,11 +5,10 @@
#define __INTEL_PANIC_H__
struct drm_scanout_buffer;
-struct intel_framebuffer;
struct intel_panic;
struct intel_panic *intel_panic_alloc(void);
int intel_panic_setup(struct drm_scanout_buffer *sb);
-void intel_panic_finish(struct intel_framebuffer *fb);
+void intel_panic_finish(struct intel_panic *panic);
#endif /* __INTEL_PANIC_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index 890d897bda10..6a3f4a7b6dfd 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -1326,7 +1326,7 @@ static void intel_panic_flush(struct drm_plane *plane)
struct drm_framebuffer *fb = plane_state->hw.fb;
struct intel_framebuffer *intel_fb = to_intel_framebuffer(fb);
- intel_panic_finish(intel_fb);
+ intel_panic_finish(intel_fb->panic);
if (crtc_state->enable_psr2_sel_fetch) {
/* Force a full update for psr2 */
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
index 9b3f25cb48db..08da7ec670fe 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
@@ -18,7 +18,6 @@
enum intel_region_id;
struct drm_scanout_buffer;
-struct intel_framebuffer;
struct intel_panic;
#define obj_to_i915(obj__) to_i915((obj__)->base.dev)
@@ -696,7 +695,7 @@ int i915_gem_object_truncate(struct drm_i915_gem_object *obj);
struct intel_panic *i915_gem_object_alloc_panic(void);
int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
-void i915_gem_object_panic_finish(struct intel_framebuffer *fb);
+void i915_gem_object_panic_finish(struct intel_panic *panic);
/**
* i915_gem_object_pin_map - return a contiguous mapping of the entire object
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
index b219474aecc7..3505b1842c40 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
@@ -475,10 +475,8 @@ int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
return -EOPNOTSUPP;
}
-void i915_gem_object_panic_finish(struct intel_framebuffer *fb)
+void i915_gem_object_panic_finish(struct intel_panic *panic)
{
- struct intel_panic *panic = fb->panic;
-
i915_panic_kunmap(panic);
panic->page = -1;
kfree(panic->pages);
diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
index b5a7615708a1..ea9583473ea3 100644
--- a/drivers/gpu/drm/xe/display/xe_panic.c
+++ b/drivers/gpu/drm/xe/display/xe_panic.c
@@ -76,10 +76,8 @@ int intel_panic_setup(struct drm_scanout_buffer *sb)
return 0;
}
-void intel_panic_finish(struct intel_framebuffer *fb)
+void intel_panic_finish(struct intel_panic *panic)
{
- struct intel_panic *panic = fb->panic;
-
xe_panic_kunmap(panic);
panic->page = -1;
}
--
2.47.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [PATCH 8/8] drm/{i915, xe}/panic: pass struct intel_panic to intel_panic_setup()
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (6 preceding siblings ...)
2025-09-02 17:51 ` [PATCH 7/8] drm/{i915, xe}/panic: convert intel_panic_finish() to struct intel_panic Jani Nikula
@ 2025-09-02 17:51 ` Jani Nikula
2025-09-02 18:48 ` ✗ CI.checkpatch: warning for drm/{i915, xe}/panic: refactor framebuffer allocation etc Patchwork
` (5 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-02 17:51 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula, Jocelyn Falempe, Maarten Lankhorst
Reduce the struct intel_framebuffer usage within the panic
implementation.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/display/intel_panic.c | 11 +++++++++--
drivers/gpu/drm/i915/display/intel_panic.h | 2 +-
drivers/gpu/drm/i915/display/intel_plane.c | 2 +-
drivers/gpu/drm/i915/gem/i915_gem_object.h | 3 ++-
drivers/gpu/drm/i915/gem/i915_gem_pages.c | 9 ++++-----
drivers/gpu/drm/xe/display/xe_panic.c | 5 +----
6 files changed, 18 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
index c8ac8b5a39f3..7311ce4e8b6c 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.c
+++ b/drivers/gpu/drm/i915/display/intel_panic.c
@@ -1,7 +1,11 @@
// SPDX-License-Identifier: MIT
/* Copyright © 2025 Intel Corporation */
+#include <drm/drm_panic.h>
+
#include "gem/i915_gem_object.h"
+#include "intel_display_types.h"
+#include "intel_fb.h"
#include "intel_panic.h"
struct intel_panic *intel_panic_alloc(void)
@@ -9,9 +13,12 @@ struct intel_panic *intel_panic_alloc(void)
return i915_gem_object_alloc_panic();
}
-int intel_panic_setup(struct drm_scanout_buffer *sb)
+int intel_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb)
{
- return i915_gem_object_panic_setup(sb);
+ struct intel_framebuffer *fb = sb->private;
+ struct drm_gem_object *obj = intel_fb_bo(&fb->base);
+
+ return i915_gem_object_panic_setup(panic, sb, obj, fb->panic_tiling);
}
void intel_panic_finish(struct intel_panic *panic)
diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
index cec193e725a4..afb472e924aa 100644
--- a/drivers/gpu/drm/i915/display/intel_panic.h
+++ b/drivers/gpu/drm/i915/display/intel_panic.h
@@ -8,7 +8,7 @@ struct drm_scanout_buffer;
struct intel_panic;
struct intel_panic *intel_panic_alloc(void);
-int intel_panic_setup(struct drm_scanout_buffer *sb);
+int intel_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb);
void intel_panic_finish(struct intel_panic *panic);
#endif /* __INTEL_PANIC_H__ */
diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c
index 6a3f4a7b6dfd..2329f09d413d 100644
--- a/drivers/gpu/drm/i915/display/intel_plane.c
+++ b/drivers/gpu/drm/i915/display/intel_plane.c
@@ -1409,7 +1409,7 @@ static int intel_get_scanout_buffer(struct drm_plane *plane,
return -EOPNOTSUPP;
}
sb->private = intel_fb;
- ret = intel_panic_setup(sb);
+ ret = intel_panic_setup(intel_fb->panic, sb);
if (ret)
return ret;
}
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
index 08da7ec670fe..148034ef504d 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
+++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
@@ -694,7 +694,8 @@ int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj);
int i915_gem_object_truncate(struct drm_i915_gem_object *obj);
struct intel_panic *i915_gem_object_alloc_panic(void);
-int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
+int i915_gem_object_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb,
+ struct drm_gem_object *_obj, bool panic_tiling);
void i915_gem_object_panic_finish(struct intel_panic *panic);
/**
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
index 3505b1842c40..76d2178572b6 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
@@ -445,12 +445,11 @@ struct intel_panic *i915_gem_object_alloc_panic(void)
* Use current vaddr if it exists, or setup a list of pages.
* pfn is not supported yet.
*/
-int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
+int i915_gem_object_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb,
+ struct drm_gem_object *_obj, bool panic_tiling)
{
enum i915_map_type has_type;
- struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct intel_panic *panic = fb->panic;
- struct drm_i915_gem_object *obj = to_intel_bo(intel_fb_bo(&fb->base));
+ struct drm_i915_gem_object *obj = to_intel_bo(_obj);
void *ptr;
ptr = page_unpack_bits(obj->mm.mapping, &has_type);
@@ -460,7 +459,7 @@ int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb)
else
iosys_map_set_vaddr(&sb->map[0], ptr);
- if (fb->panic_tiling)
+ if (panic_tiling)
sb->set_pixel = i915_gem_object_panic_map_set_pixel;
return 0;
}
diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
index ea9583473ea3..f32b23338331 100644
--- a/drivers/gpu/drm/xe/display/xe_panic.c
+++ b/drivers/gpu/drm/xe/display/xe_panic.c
@@ -66,11 +66,8 @@ struct intel_panic *intel_panic_alloc(void)
return panic;
}
-int intel_panic_setup(struct drm_scanout_buffer *sb)
+int intel_panic_setup(struct intel_panic *panic, struct drm_scanout_buffer *sb)
{
- struct intel_framebuffer *fb = (struct intel_framebuffer *)sb->private;
- struct intel_panic *panic = fb->panic;
-
panic->page = -1;
sb->set_pixel = xe_panic_page_set_pixel;
return 0;
--
2.47.2
^ permalink raw reply related [flat|nested] 20+ messages in thread
* ✗ CI.checkpatch: warning for drm/{i915, xe}/panic: refactor framebuffer allocation etc.
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (7 preceding siblings ...)
2025-09-02 17:51 ` [PATCH 8/8] drm/{i915, xe}/panic: pass struct intel_panic to intel_panic_setup() Jani Nikula
@ 2025-09-02 18:48 ` Patchwork
2025-09-02 18:50 ` ✓ CI.KUnit: success " Patchwork
` (4 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-09-02 18:48 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-xe
== Series Details ==
Series: drm/{i915, xe}/panic: refactor framebuffer allocation etc.
URL : https://patchwork.freedesktop.org/series/153903/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
e0fa7d6ad11ac6dc8dfa757164e518968a98b897
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 5aeb995d15d1f39aca239dcd0a05ea67caee6807
Author: Jani Nikula <jani.nikula@intel.com>
Date: Tue Sep 2 20:51:54 2025 +0300
drm/{i915, xe}/panic: pass struct intel_panic to intel_panic_setup()
Reduce the struct intel_framebuffer usage within the panic
implementation.
Cc: Jocelyn Falempe <jfalempe@redhat.com>
Cc: Maarten Lankhorst <dev@lankhorst.se>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+ /mt/dim checkpatch 24ae4215b1cdbd029b2e611c12f811494cc89442 drm-intel
59dde1586769 drm/i915/fb: add intel_framebuffer_alloc()
438202082803 drm/{i915,xe}/panic: split out intel_panic.[ch]
-:87: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#87:
new file mode 100644
total: 0 errors, 1 warnings, 0 checks, 205 lines checked
c384de99ff95 drm/{i915, xe}/panic: rename intel_bo_panic_*() to intel_panic_*()
5b781f4b9222 drm/{i915, xe}/fb: add panic pointer member to struct intel_framebuffer
a74ff85a416c drm/{i915, xe}/panic: rename struct {i915, xe}_panic_data to struct intel_panic
cdbfcd94c450 drm/{i915, xe}/panic: move framebuffer allocation where it belongs
1f681e6dbae4 drm/{i915, xe}/panic: convert intel_panic_finish() to struct intel_panic
5aeb995d15d1 drm/{i915, xe}/panic: pass struct intel_panic to intel_panic_setup()
^ permalink raw reply [flat|nested] 20+ messages in thread
* ✓ CI.KUnit: success for drm/{i915, xe}/panic: refactor framebuffer allocation etc.
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (8 preceding siblings ...)
2025-09-02 18:48 ` ✗ CI.checkpatch: warning for drm/{i915, xe}/panic: refactor framebuffer allocation etc Patchwork
@ 2025-09-02 18:50 ` Patchwork
2025-09-02 19:05 ` ✗ CI.checksparse: warning " Patchwork
` (3 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-09-02 18:50 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-xe
== Series Details ==
Series: drm/{i915, xe}/panic: refactor framebuffer allocation etc.
URL : https://patchwork.freedesktop.org/series/153903/
State : success
== Summary ==
+ trap cleanup EXIT
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig
[18:48:55] Configuring KUnit Kernel ...
Generating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[18:48:59] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[18:49:28] Starting KUnit Kernel (1/1)...
[18:49:28] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[18:49:28] ================== guc_buf (11 subtests) ===================
[18:49:28] [PASSED] test_smallest
[18:49:28] [PASSED] test_largest
[18:49:28] [PASSED] test_granular
[18:49:28] [PASSED] test_unique
[18:49:28] [PASSED] test_overlap
[18:49:28] [PASSED] test_reusable
[18:49:28] [PASSED] test_too_big
[18:49:28] [PASSED] test_flush
[18:49:28] [PASSED] test_lookup
[18:49:28] [PASSED] test_data
[18:49:28] [PASSED] test_class
[18:49:28] ===================== [PASSED] guc_buf =====================
[18:49:28] =================== guc_dbm (7 subtests) ===================
[18:49:28] [PASSED] test_empty
[18:49:28] [PASSED] test_default
[18:49:28] ======================== test_size ========================
[18:49:28] [PASSED] 4
[18:49:28] [PASSED] 8
[18:49:28] [PASSED] 32
[18:49:28] [PASSED] 256
[18:49:28] ==================== [PASSED] test_size ====================
[18:49:28] ======================= test_reuse ========================
[18:49:28] [PASSED] 4
[18:49:28] [PASSED] 8
[18:49:28] [PASSED] 32
[18:49:28] [PASSED] 256
[18:49:28] =================== [PASSED] test_reuse ====================
[18:49:28] =================== test_range_overlap ====================
[18:49:28] [PASSED] 4
[18:49:28] [PASSED] 8
[18:49:28] [PASSED] 32
[18:49:28] [PASSED] 256
[18:49:28] =============== [PASSED] test_range_overlap ================
[18:49:28] =================== test_range_compact ====================
[18:49:28] [PASSED] 4
[18:49:28] [PASSED] 8
[18:49:28] [PASSED] 32
[18:49:28] [PASSED] 256
[18:49:28] =============== [PASSED] test_range_compact ================
[18:49:28] ==================== test_range_spare =====================
[18:49:28] [PASSED] 4
[18:49:28] [PASSED] 8
[18:49:28] [PASSED] 32
[18:49:28] [PASSED] 256
[18:49:28] ================ [PASSED] test_range_spare =================
[18:49:28] ===================== [PASSED] guc_dbm =====================
[18:49:28] =================== guc_idm (6 subtests) ===================
[18:49:28] [PASSED] bad_init
[18:49:28] [PASSED] no_init
[18:49:28] [PASSED] init_fini
[18:49:28] [PASSED] check_used
[18:49:28] [PASSED] check_quota
[18:49:28] [PASSED] check_all
[18:49:28] ===================== [PASSED] guc_idm =====================
[18:49:28] ================== no_relay (3 subtests) ===================
[18:49:28] [PASSED] xe_drops_guc2pf_if_not_ready
[18:49:28] [PASSED] xe_drops_guc2vf_if_not_ready
[18:49:28] [PASSED] xe_rejects_send_if_not_ready
[18:49:28] ==================== [PASSED] no_relay =====================
[18:49:28] ================== pf_relay (14 subtests) ==================
[18:49:28] [PASSED] pf_rejects_guc2pf_too_short
[18:49:28] [PASSED] pf_rejects_guc2pf_too_long
[18:49:28] [PASSED] pf_rejects_guc2pf_no_payload
[18:49:28] [PASSED] pf_fails_no_payload
[18:49:28] [PASSED] pf_fails_bad_origin
[18:49:28] [PASSED] pf_fails_bad_type
[18:49:28] [PASSED] pf_txn_reports_error
[18:49:28] [PASSED] pf_txn_sends_pf2guc
[18:49:28] [PASSED] pf_sends_pf2guc
[18:49:28] [SKIPPED] pf_loopback_nop
[18:49:28] [SKIPPED] pf_loopback_echo
[18:49:28] [SKIPPED] pf_loopback_fail
[18:49:28] [SKIPPED] pf_loopback_busy
[18:49:28] [SKIPPED] pf_loopback_retry
[18:49:28] ==================== [PASSED] pf_relay =====================
[18:49:28] ================== vf_relay (3 subtests) ===================
[18:49:28] [PASSED] vf_rejects_guc2vf_too_short
[18:49:28] [PASSED] vf_rejects_guc2vf_too_long
[18:49:28] [PASSED] vf_rejects_guc2vf_no_payload
[18:49:28] ==================== [PASSED] vf_relay =====================
[18:49:28] ===================== lmtt (1 subtest) =====================
[18:49:28] ======================== test_ops =========================
[18:49:28] [PASSED] 2-level
[18:49:28] [PASSED] multi-level
[18:49:28] ==================== [PASSED] test_ops =====================
[18:49:28] ====================== [PASSED] lmtt =======================
[18:49:28] ================= pf_service (11 subtests) =================
[18:49:28] [PASSED] pf_negotiate_any
[18:49:28] [PASSED] pf_negotiate_base_match
[18:49:28] [PASSED] pf_negotiate_base_newer
[18:49:28] [PASSED] pf_negotiate_base_next
[18:49:28] [SKIPPED] pf_negotiate_base_older
[18:49:28] [PASSED] pf_negotiate_base_prev
[18:49:28] [PASSED] pf_negotiate_latest_match
[18:49:28] [PASSED] pf_negotiate_latest_newer
[18:49:28] [PASSED] pf_negotiate_latest_next
[18:49:28] [SKIPPED] pf_negotiate_latest_older
[18:49:28] [SKIPPED] pf_negotiate_latest_prev
[18:49:28] =================== [PASSED] pf_service ====================
[18:49:28] =================== xe_mocs (2 subtests) ===================
[18:49:28] ================ xe_live_mocs_kernel_kunit ================
[18:49:28] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============
[18:49:28] ================ xe_live_mocs_reset_kunit =================
[18:49:28] ============ [SKIPPED] xe_live_mocs_reset_kunit ============
[18:49:28] ==================== [SKIPPED] xe_mocs =====================
[18:49:28] ================= xe_migrate (2 subtests) ==================
[18:49:28] ================= xe_migrate_sanity_kunit =================
[18:49:28] ============ [SKIPPED] xe_migrate_sanity_kunit =============
[18:49:28] ================== xe_validate_ccs_kunit ==================
[18:49:28] ============= [SKIPPED] xe_validate_ccs_kunit ==============
[18:49:28] =================== [SKIPPED] xe_migrate ===================
[18:49:28] ================== xe_dma_buf (1 subtest) ==================
[18:49:28] ==================== xe_dma_buf_kunit =====================
[18:49:28] ================ [SKIPPED] xe_dma_buf_kunit ================
[18:49:28] =================== [SKIPPED] xe_dma_buf ===================
[18:49:28] ================= xe_bo_shrink (1 subtest) =================
[18:49:28] =================== xe_bo_shrink_kunit ====================
[18:49:28] =============== [SKIPPED] xe_bo_shrink_kunit ===============
[18:49:28] ================== [SKIPPED] xe_bo_shrink ==================
[18:49:28] ==================== xe_bo (2 subtests) ====================
[18:49:28] ================== xe_ccs_migrate_kunit ===================
[18:49:28] ============== [SKIPPED] xe_ccs_migrate_kunit ==============
[18:49:28] ==================== xe_bo_evict_kunit ====================
[18:49:28] =============== [SKIPPED] xe_bo_evict_kunit ================
[18:49:28] ===================== [SKIPPED] xe_bo ======================
[18:49:28] ==================== args (11 subtests) ====================
[18:49:28] [PASSED] count_args_test
[18:49:28] [PASSED] call_args_example
[18:49:28] [PASSED] call_args_test
[18:49:28] [PASSED] drop_first_arg_example
[18:49:28] [PASSED] drop_first_arg_test
[18:49:28] [PASSED] first_arg_example
[18:49:28] [PASSED] first_arg_test
[18:49:28] [PASSED] last_arg_example
[18:49:28] [PASSED] last_arg_test
[18:49:28] [PASSED] pick_arg_example
[18:49:28] [PASSED] sep_comma_example
[18:49:28] ====================== [PASSED] args =======================
[18:49:28] =================== xe_pci (3 subtests) ====================
[18:49:28] ==================== check_graphics_ip ====================
[18:49:28] [PASSED] 12.70 Xe_LPG
[18:49:28] [PASSED] 12.71 Xe_LPG
[18:49:28] [PASSED] 12.74 Xe_LPG+
[18:49:28] [PASSED] 20.01 Xe2_HPG
[18:49:29] [PASSED] 20.02 Xe2_HPG
[18:49:29] [PASSED] 20.04 Xe2_LPG
[18:49:29] [PASSED] 30.00 Xe3_LPG
[18:49:29] [PASSED] 30.01 Xe3_LPG
[18:49:29] [PASSED] 30.03 Xe3_LPG
[18:49:29] ================ [PASSED] check_graphics_ip ================
[18:49:29] ===================== check_media_ip ======================
[18:49:29] [PASSED] 13.00 Xe_LPM+
[18:49:29] [PASSED] 13.01 Xe2_HPM
[18:49:29] [PASSED] 20.00 Xe2_LPM
[18:49:29] [PASSED] 30.00 Xe3_LPM
[18:49:29] [PASSED] 30.02 Xe3_LPM
[18:49:29] ================= [PASSED] check_media_ip ==================
[18:49:29] ================= check_platform_gt_count =================
[18:49:29] [PASSED] 0x9A60 (TIGERLAKE)
[18:49:29] [PASSED] 0x9A68 (TIGERLAKE)
[18:49:29] [PASSED] 0x9A70 (TIGERLAKE)
[18:49:29] [PASSED] 0x9A40 (TIGERLAKE)
[18:49:29] [PASSED] 0x9A49 (TIGERLAKE)
[18:49:29] [PASSED] 0x9A59 (TIGERLAKE)
[18:49:29] [PASSED] 0x9A78 (TIGERLAKE)
[18:49:29] [PASSED] 0x9AC0 (TIGERLAKE)
[18:49:29] [PASSED] 0x9AC9 (TIGERLAKE)
[18:49:29] [PASSED] 0x9AD9 (TIGERLAKE)
[18:49:29] [PASSED] 0x9AF8 (TIGERLAKE)
[18:49:29] [PASSED] 0x4C80 (ROCKETLAKE)
[18:49:29] [PASSED] 0x4C8A (ROCKETLAKE)
[18:49:29] [PASSED] 0x4C8B (ROCKETLAKE)
[18:49:29] [PASSED] 0x4C8C (ROCKETLAKE)
[18:49:29] [PASSED] 0x4C90 (ROCKETLAKE)
[18:49:29] [PASSED] 0x4C9A (ROCKETLAKE)
[18:49:29] [PASSED] 0x4680 (ALDERLAKE_S)
[18:49:29] [PASSED] 0x4682 (ALDERLAKE_S)
[18:49:29] [PASSED] 0x4688 (ALDERLAKE_S)
[18:49:29] [PASSED] 0x468A (ALDERLAKE_S)
[18:49:29] [PASSED] 0x468B (ALDERLAKE_S)
[18:49:29] [PASSED] 0x4690 (ALDERLAKE_S)
[18:49:29] [PASSED] 0x4692 (ALDERLAKE_S)
[18:49:29] [PASSED] 0x4693 (ALDERLAKE_S)
[18:49:29] [PASSED] 0x46A0 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46A1 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46A2 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46A3 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46A6 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46A8 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46AA (ALDERLAKE_P)
[18:49:29] [PASSED] 0x462A (ALDERLAKE_P)
[18:49:29] [PASSED] 0x4626 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x4628 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46B0 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46B1 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46B2 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46B3 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46C0 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46C1 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46C2 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46C3 (ALDERLAKE_P)
[18:49:29] [PASSED] 0x46D0 (ALDERLAKE_N)
[18:49:29] [PASSED] 0x46D1 (ALDERLAKE_N)
[18:49:29] [PASSED] 0x46D2 (ALDERLAKE_N)
[18:49:29] [PASSED] 0x46D3 (ALDERLAKE_N)
[18:49:29] [PASSED] 0x46D4 (ALDERLAKE_N)
[18:49:29] [PASSED] 0xA721 (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA7A1 (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA7A9 (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA7AC (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA7AD (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA720 (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA7A0 (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA7A8 (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA7AA (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA7AB (ALDERLAKE_P)
[18:49:29] [PASSED] 0xA780 (ALDERLAKE_S)
[18:49:29] [PASSED] 0xA781 (ALDERLAKE_S)
[18:49:29] [PASSED] 0xA782 (ALDERLAKE_S)
[18:49:29] [PASSED] 0xA783 (ALDERLAKE_S)
[18:49:29] [PASSED] 0xA788 (ALDERLAKE_S)
[18:49:29] [PASSED] 0xA789 (ALDERLAKE_S)
[18:49:29] [PASSED] 0xA78A (ALDERLAKE_S)
[18:49:29] [PASSED] 0xA78B (ALDERLAKE_S)
[18:49:29] [PASSED] 0x4905 (DG1)
[18:49:29] [PASSED] 0x4906 (DG1)
[18:49:29] [PASSED] 0x4907 (DG1)
[18:49:29] [PASSED] 0x4908 (DG1)
[18:49:29] [PASSED] 0x4909 (DG1)
[18:49:29] [PASSED] 0x56C0 (DG2)
[18:49:29] [PASSED] 0x56C2 (DG2)
[18:49:29] [PASSED] 0x56C1 (DG2)
[18:49:29] [PASSED] 0x7D51 (METEORLAKE)
[18:49:29] [PASSED] 0x7DD1 (METEORLAKE)
[18:49:29] [PASSED] 0x7D41 (METEORLAKE)
[18:49:29] [PASSED] 0x7D67 (METEORLAKE)
[18:49:29] [PASSED] 0xB640 (METEORLAKE)
[18:49:29] [PASSED] 0x56A0 (DG2)
[18:49:29] [PASSED] 0x56A1 (DG2)
[18:49:29] [PASSED] 0x56A2 (DG2)
[18:49:29] [PASSED] 0x56BE (DG2)
[18:49:29] [PASSED] 0x56BF (DG2)
[18:49:29] [PASSED] 0x5690 (DG2)
[18:49:29] [PASSED] 0x5691 (DG2)
[18:49:29] [PASSED] 0x5692 (DG2)
[18:49:29] [PASSED] 0x56A5 (DG2)
[18:49:29] [PASSED] 0x56A6 (DG2)
[18:49:29] [PASSED] 0x56B0 (DG2)
[18:49:29] [PASSED] 0x56B1 (DG2)
[18:49:29] [PASSED] 0x56BA (DG2)
[18:49:29] [PASSED] 0x56BB (DG2)
[18:49:29] [PASSED] 0x56BC (DG2)
[18:49:29] [PASSED] 0x56BD (DG2)
[18:49:29] [PASSED] 0x5693 (DG2)
[18:49:29] [PASSED] 0x5694 (DG2)
[18:49:29] [PASSED] 0x5695 (DG2)
[18:49:29] [PASSED] 0x56A3 (DG2)
[18:49:29] [PASSED] 0x56A4 (DG2)
[18:49:29] [PASSED] 0x56B2 (DG2)
[18:49:29] [PASSED] 0x56B3 (DG2)
[18:49:29] [PASSED] 0x5696 (DG2)
[18:49:29] [PASSED] 0x5697 (DG2)
[18:49:29] [PASSED] 0xB69 (PVC)
[18:49:29] [PASSED] 0xB6E (PVC)
[18:49:29] [PASSED] 0xBD4 (PVC)
[18:49:29] [PASSED] 0xBD5 (PVC)
[18:49:29] [PASSED] 0xBD6 (PVC)
[18:49:29] [PASSED] 0xBD7 (PVC)
[18:49:29] [PASSED] 0xBD8 (PVC)
[18:49:29] [PASSED] 0xBD9 (PVC)
[18:49:29] [PASSED] 0xBDA (PVC)
[18:49:29] [PASSED] 0xBDB (PVC)
[18:49:29] [PASSED] 0xBE0 (PVC)
[18:49:29] [PASSED] 0xBE1 (PVC)
[18:49:29] [PASSED] 0xBE5 (PVC)
[18:49:29] [PASSED] 0x7D40 (METEORLAKE)
[18:49:29] [PASSED] 0x7D45 (METEORLAKE)
[18:49:29] [PASSED] 0x7D55 (METEORLAKE)
[18:49:29] [PASSED] 0x7D60 (METEORLAKE)
[18:49:29] [PASSED] 0x7DD5 (METEORLAKE)
[18:49:29] [PASSED] 0x6420 (LUNARLAKE)
[18:49:29] [PASSED] 0x64A0 (LUNARLAKE)
[18:49:29] [PASSED] 0x64B0 (LUNARLAKE)
[18:49:29] [PASSED] 0xE202 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE209 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE20B (BATTLEMAGE)
[18:49:29] [PASSED] 0xE20C (BATTLEMAGE)
[18:49:29] [PASSED] 0xE20D (BATTLEMAGE)
[18:49:29] [PASSED] 0xE210 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE211 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE212 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE216 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE220 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE221 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE222 (BATTLEMAGE)
[18:49:29] [PASSED] 0xE223 (BATTLEMAGE)
[18:49:29] [PASSED] 0xB080 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB081 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB082 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB083 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB084 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB085 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB086 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB087 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB08F (PANTHERLAKE)
[18:49:29] [PASSED] 0xB090 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB0A0 (PANTHERLAKE)
[18:49:29] [PASSED] 0xB0B0 (PANTHERLAKE)
[18:49:29] [PASSED] 0xFD80 (PANTHERLAKE)
[18:49:29] [PASSED] 0xFD81 (PANTHERLAKE)
[18:49:29] ============= [PASSED] check_platform_gt_count =============
[18:49:29] ===================== [PASSED] xe_pci ======================
[18:49:29] =================== xe_rtp (2 subtests) ====================
[18:49:29] =============== xe_rtp_process_to_sr_tests ================
[18:49:29] [PASSED] coalesce-same-reg
[18:49:29] [PASSED] no-match-no-add
[18:49:29] [PASSED] match-or
[18:49:29] [PASSED] match-or-xfail
[18:49:29] [PASSED] no-match-no-add-multiple-rules
[18:49:29] [PASSED] two-regs-two-entries
[18:49:29] [PASSED] clr-one-set-other
[18:49:29] [PASSED] set-field
[18:49:29] [PASSED] conflict-duplicate
[18:49:29] [PASSED] conflict-not-disjoint
[18:49:29] [PASSED] conflict-reg-type
[18:49:29] =========== [PASSED] xe_rtp_process_to_sr_tests ============
[18:49:29] ================== xe_rtp_process_tests ===================
[18:49:29] [PASSED] active1
[18:49:29] [PASSED] active2
[18:49:29] [PASSED] active-inactive
[18:49:29] [PASSED] inactive-active
[18:49:29] [PASSED] inactive-1st_or_active-inactive
[18:49:29] [PASSED] inactive-2nd_or_active-inactive
[18:49:29] [PASSED] inactive-last_or_active-inactive
[18:49:29] [PASSED] inactive-no_or_active-inactive
[18:49:29] ============== [PASSED] xe_rtp_process_tests ===============
[18:49:29] ===================== [PASSED] xe_rtp ======================
[18:49:29] ==================== xe_wa (1 subtest) =====================
[18:49:29] ======================== xe_wa_gt =========================
[18:49:29] [PASSED] TIGERLAKE (B0)
[18:49:29] [PASSED] DG1 (A0)
[18:49:29] [PASSED] DG1 (B0)
[18:49:29] [PASSED] ALDERLAKE_S (A0)
[18:49:29] [PASSED] ALDERLAKE_S (B0)
[18:49:29] [PASSED] ALDERLAKE_S (C0)
[18:49:29] [PASSED] ALDERLAKE_S (D0)
[18:49:29] [PASSED] ALDERLAKE_P (A0)
[18:49:29] [PASSED] ALDERLAKE_P (B0)
[18:49:29] [PASSED] ALDERLAKE_P (C0)
[18:49:29] [PASSED] ALDERLAKE_S_RPLS (D0)
[18:49:29] [PASSED] ALDERLAKE_P_RPLU (E0)
[18:49:29] [PASSED] DG2_G10 (C0)
[18:49:29] [PASSED] DG2_G11 (B1)
[18:49:29] [PASSED] DG2_G12 (A1)
[18:49:29] [PASSED] METEORLAKE (g:A0, m:A0)
[18:49:29] [PASSED] METEORLAKE (g:A0, m:A0)
[18:49:29] [PASSED] METEORLAKE (g:A0, m:A0)
[18:49:29] [PASSED] LUNARLAKE (g:A0, m:A0)
[18:49:29] [PASSED] LUNARLAKE (g:B0, m:A0)
stty: 'standard input': Inappropriate ioctl for device
[18:49:29] [PASSED] BATTLEMAGE (g:A0, m:A1)
[18:49:29] [PASSED] PANTHERLAKE (g:A0, m:A0)
[18:49:29] ==================== [PASSED] xe_wa_gt =====================
[18:49:29] ====================== [PASSED] xe_wa ======================
[18:49:29] ============================================================
[18:49:29] Testing complete. Ran 298 tests: passed: 282, skipped: 16
[18:49:29] Elapsed time: 33.395s total, 4.252s configuring, 28.777s building, 0.334s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig
[18:49:29] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[18:49:30] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[18:49:53] Starting KUnit Kernel (1/1)...
[18:49:53] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[18:49:53] == drm_test_atomic_get_connector_for_encoder (1 subtest) ===
[18:49:53] [PASSED] drm_test_drm_atomic_get_connector_for_encoder
[18:49:53] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ====
[18:49:53] =========== drm_validate_clone_mode (2 subtests) ===========
[18:49:53] ============== drm_test_check_in_clone_mode ===============
[18:49:53] [PASSED] in_clone_mode
[18:49:53] [PASSED] not_in_clone_mode
[18:49:53] ========== [PASSED] drm_test_check_in_clone_mode ===========
[18:49:53] =============== drm_test_check_valid_clones ===============
[18:49:53] [PASSED] not_in_clone_mode
[18:49:53] [PASSED] valid_clone
[18:49:53] [PASSED] invalid_clone
[18:49:53] =========== [PASSED] drm_test_check_valid_clones ===========
[18:49:53] ============= [PASSED] drm_validate_clone_mode =============
[18:49:53] ============= drm_validate_modeset (1 subtest) =============
[18:49:53] [PASSED] drm_test_check_connector_changed_modeset
[18:49:53] ============== [PASSED] drm_validate_modeset ===============
[18:49:53] ====== drm_test_bridge_get_current_state (2 subtests) ======
[18:49:53] [PASSED] drm_test_drm_bridge_get_current_state_atomic
[18:49:53] [PASSED] drm_test_drm_bridge_get_current_state_legacy
[18:49:53] ======== [PASSED] drm_test_bridge_get_current_state ========
[18:49:53] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ======
[18:49:53] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic
[18:49:53] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled
[18:49:53] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy
[18:49:53] ======== [PASSED] drm_test_bridge_helper_reset_crtc ========
[18:49:53] ============== drm_bridge_alloc (2 subtests) ===============
[18:49:53] [PASSED] drm_test_drm_bridge_alloc_basic
[18:49:53] [PASSED] drm_test_drm_bridge_alloc_get_put
[18:49:53] ================ [PASSED] drm_bridge_alloc =================
[18:49:53] ================== drm_buddy (7 subtests) ==================
[18:49:53] [PASSED] drm_test_buddy_alloc_limit
[18:49:53] [PASSED] drm_test_buddy_alloc_optimistic
[18:49:53] [PASSED] drm_test_buddy_alloc_pessimistic
[18:49:53] [PASSED] drm_test_buddy_alloc_pathological
[18:49:53] [PASSED] drm_test_buddy_alloc_contiguous
[18:49:53] [PASSED] drm_test_buddy_alloc_clear
[18:49:53] [PASSED] drm_test_buddy_alloc_range_bias
[18:49:53] ==================== [PASSED] drm_buddy ====================
[18:49:53] ============= drm_cmdline_parser (40 subtests) =============
[18:49:53] [PASSED] drm_test_cmdline_force_d_only
[18:49:53] [PASSED] drm_test_cmdline_force_D_only_dvi
[18:49:53] [PASSED] drm_test_cmdline_force_D_only_hdmi
[18:49:53] [PASSED] drm_test_cmdline_force_D_only_not_digital
[18:49:53] [PASSED] drm_test_cmdline_force_e_only
[18:49:53] [PASSED] drm_test_cmdline_res
[18:49:53] [PASSED] drm_test_cmdline_res_vesa
[18:49:53] [PASSED] drm_test_cmdline_res_vesa_rblank
[18:49:53] [PASSED] drm_test_cmdline_res_rblank
[18:49:53] [PASSED] drm_test_cmdline_res_bpp
[18:49:53] [PASSED] drm_test_cmdline_res_refresh
[18:49:53] [PASSED] drm_test_cmdline_res_bpp_refresh
[18:49:53] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced
[18:49:53] [PASSED] drm_test_cmdline_res_bpp_refresh_margins
[18:49:53] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off
[18:49:53] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on
[18:49:53] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog
[18:49:53] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital
[18:49:53] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on
[18:49:53] [PASSED] drm_test_cmdline_res_margins_force_on
[18:49:53] [PASSED] drm_test_cmdline_res_vesa_margins
[18:49:53] [PASSED] drm_test_cmdline_name
[18:49:53] [PASSED] drm_test_cmdline_name_bpp
[18:49:53] [PASSED] drm_test_cmdline_name_option
[18:49:53] [PASSED] drm_test_cmdline_name_bpp_option
[18:49:53] [PASSED] drm_test_cmdline_rotate_0
[18:49:53] [PASSED] drm_test_cmdline_rotate_90
[18:49:53] [PASSED] drm_test_cmdline_rotate_180
[18:49:53] [PASSED] drm_test_cmdline_rotate_270
[18:49:53] [PASSED] drm_test_cmdline_hmirror
[18:49:53] [PASSED] drm_test_cmdline_vmirror
[18:49:53] [PASSED] drm_test_cmdline_margin_options
[18:49:53] [PASSED] drm_test_cmdline_multiple_options
[18:49:53] [PASSED] drm_test_cmdline_bpp_extra_and_option
[18:49:53] [PASSED] drm_test_cmdline_extra_and_option
[18:49:53] [PASSED] drm_test_cmdline_freestanding_options
[18:49:53] [PASSED] drm_test_cmdline_freestanding_force_e_and_options
[18:49:53] [PASSED] drm_test_cmdline_panel_orientation
[18:49:53] ================ drm_test_cmdline_invalid =================
[18:49:53] [PASSED] margin_only
[18:49:53] [PASSED] interlace_only
[18:49:53] [PASSED] res_missing_x
[18:49:53] [PASSED] res_missing_y
[18:49:53] [PASSED] res_bad_y
[18:49:53] [PASSED] res_missing_y_bpp
[18:49:53] [PASSED] res_bad_bpp
[18:49:53] [PASSED] res_bad_refresh
[18:49:53] [PASSED] res_bpp_refresh_force_on_off
[18:49:53] [PASSED] res_invalid_mode
[18:49:53] [PASSED] res_bpp_wrong_place_mode
[18:49:53] [PASSED] name_bpp_refresh
[18:49:53] [PASSED] name_refresh
[18:49:53] [PASSED] name_refresh_wrong_mode
[18:49:53] [PASSED] name_refresh_invalid_mode
[18:49:53] [PASSED] rotate_multiple
[18:49:53] [PASSED] rotate_invalid_val
[18:49:53] [PASSED] rotate_truncated
[18:49:53] [PASSED] invalid_option
[18:49:53] [PASSED] invalid_tv_option
[18:49:53] [PASSED] truncated_tv_option
[18:49:53] ============ [PASSED] drm_test_cmdline_invalid =============
[18:49:53] =============== drm_test_cmdline_tv_options ===============
[18:49:53] [PASSED] NTSC
[18:49:53] [PASSED] NTSC_443
[18:49:53] [PASSED] NTSC_J
[18:49:53] [PASSED] PAL
[18:49:53] [PASSED] PAL_M
[18:49:53] [PASSED] PAL_N
[18:49:53] [PASSED] SECAM
[18:49:53] [PASSED] MONO_525
[18:49:53] [PASSED] MONO_625
[18:49:53] =========== [PASSED] drm_test_cmdline_tv_options ===========
[18:49:53] =============== [PASSED] drm_cmdline_parser ================
[18:49:53] ========== drmm_connector_hdmi_init (20 subtests) ==========
[18:49:53] [PASSED] drm_test_connector_hdmi_init_valid
[18:49:53] [PASSED] drm_test_connector_hdmi_init_bpc_8
[18:49:53] [PASSED] drm_test_connector_hdmi_init_bpc_10
[18:49:53] [PASSED] drm_test_connector_hdmi_init_bpc_12
[18:49:53] [PASSED] drm_test_connector_hdmi_init_bpc_invalid
[18:49:53] [PASSED] drm_test_connector_hdmi_init_bpc_null
[18:49:53] [PASSED] drm_test_connector_hdmi_init_formats_empty
[18:49:53] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb
[18:49:53] === drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[18:49:53] [PASSED] supported_formats=0x9 yuv420_allowed=1
[18:49:53] [PASSED] supported_formats=0x9 yuv420_allowed=0
[18:49:53] [PASSED] supported_formats=0x3 yuv420_allowed=1
[18:49:53] [PASSED] supported_formats=0x3 yuv420_allowed=0
[18:49:53] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed ===
[18:49:53] [PASSED] drm_test_connector_hdmi_init_null_ddc
[18:49:53] [PASSED] drm_test_connector_hdmi_init_null_product
[18:49:53] [PASSED] drm_test_connector_hdmi_init_null_vendor
[18:49:53] [PASSED] drm_test_connector_hdmi_init_product_length_exact
[18:49:53] [PASSED] drm_test_connector_hdmi_init_product_length_too_long
[18:49:53] [PASSED] drm_test_connector_hdmi_init_product_valid
[18:49:53] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact
[18:49:53] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long
[18:49:53] [PASSED] drm_test_connector_hdmi_init_vendor_valid
[18:49:53] ========= drm_test_connector_hdmi_init_type_valid =========
[18:49:53] [PASSED] HDMI-A
[18:49:53] [PASSED] HDMI-B
[18:49:53] ===== [PASSED] drm_test_connector_hdmi_init_type_valid =====
[18:49:53] ======== drm_test_connector_hdmi_init_type_invalid ========
[18:49:53] [PASSED] Unknown
[18:49:53] [PASSED] VGA
[18:49:53] [PASSED] DVI-I
[18:49:53] [PASSED] DVI-D
[18:49:53] [PASSED] DVI-A
[18:49:53] [PASSED] Composite
[18:49:53] [PASSED] SVIDEO
[18:49:53] [PASSED] LVDS
[18:49:53] [PASSED] Component
[18:49:53] [PASSED] DIN
[18:49:53] [PASSED] DP
[18:49:53] [PASSED] TV
[18:49:53] [PASSED] eDP
[18:49:53] [PASSED] Virtual
[18:49:53] [PASSED] DSI
[18:49:53] [PASSED] DPI
[18:49:53] [PASSED] Writeback
[18:49:53] [PASSED] SPI
[18:49:53] [PASSED] USB
[18:49:53] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ====
[18:49:53] ============ [PASSED] drmm_connector_hdmi_init =============
[18:49:53] ============= drmm_connector_init (3 subtests) =============
[18:49:53] [PASSED] drm_test_drmm_connector_init
[18:49:53] [PASSED] drm_test_drmm_connector_init_null_ddc
[18:49:53] ========= drm_test_drmm_connector_init_type_valid =========
[18:49:53] [PASSED] Unknown
[18:49:53] [PASSED] VGA
[18:49:53] [PASSED] DVI-I
[18:49:53] [PASSED] DVI-D
[18:49:53] [PASSED] DVI-A
[18:49:53] [PASSED] Composite
[18:49:53] [PASSED] SVIDEO
[18:49:53] [PASSED] LVDS
[18:49:53] [PASSED] Component
[18:49:53] [PASSED] DIN
[18:49:53] [PASSED] DP
[18:49:53] [PASSED] HDMI-A
[18:49:53] [PASSED] HDMI-B
[18:49:53] [PASSED] TV
[18:49:53] [PASSED] eDP
[18:49:53] [PASSED] Virtual
[18:49:53] [PASSED] DSI
[18:49:53] [PASSED] DPI
[18:49:53] [PASSED] Writeback
[18:49:53] [PASSED] SPI
[18:49:53] [PASSED] USB
[18:49:53] ===== [PASSED] drm_test_drmm_connector_init_type_valid =====
[18:49:53] =============== [PASSED] drmm_connector_init ===============
[18:49:53] ========= drm_connector_dynamic_init (6 subtests) ==========
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_init
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_init_not_added
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_init_properties
[18:49:53] ===== drm_test_drm_connector_dynamic_init_type_valid ======
[18:49:53] [PASSED] Unknown
[18:49:53] [PASSED] VGA
[18:49:53] [PASSED] DVI-I
[18:49:53] [PASSED] DVI-D
[18:49:53] [PASSED] DVI-A
[18:49:53] [PASSED] Composite
[18:49:53] [PASSED] SVIDEO
[18:49:53] [PASSED] LVDS
[18:49:53] [PASSED] Component
[18:49:53] [PASSED] DIN
[18:49:53] [PASSED] DP
[18:49:53] [PASSED] HDMI-A
[18:49:53] [PASSED] HDMI-B
[18:49:53] [PASSED] TV
[18:49:53] [PASSED] eDP
[18:49:53] [PASSED] Virtual
[18:49:53] [PASSED] DSI
[18:49:53] [PASSED] DPI
[18:49:53] [PASSED] Writeback
[18:49:53] [PASSED] SPI
[18:49:53] [PASSED] USB
[18:49:53] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid ==
[18:49:53] ======== drm_test_drm_connector_dynamic_init_name =========
[18:49:53] [PASSED] Unknown
[18:49:53] [PASSED] VGA
[18:49:53] [PASSED] DVI-I
[18:49:53] [PASSED] DVI-D
[18:49:53] [PASSED] DVI-A
[18:49:53] [PASSED] Composite
[18:49:53] [PASSED] SVIDEO
[18:49:53] [PASSED] LVDS
[18:49:53] [PASSED] Component
[18:49:53] [PASSED] DIN
[18:49:53] [PASSED] DP
[18:49:53] [PASSED] HDMI-A
[18:49:53] [PASSED] HDMI-B
[18:49:53] [PASSED] TV
[18:49:53] [PASSED] eDP
[18:49:53] [PASSED] Virtual
[18:49:53] [PASSED] DSI
[18:49:53] [PASSED] DPI
[18:49:53] [PASSED] Writeback
[18:49:53] [PASSED] SPI
[18:49:53] [PASSED] USB
[18:49:53] ==== [PASSED] drm_test_drm_connector_dynamic_init_name =====
[18:49:53] =========== [PASSED] drm_connector_dynamic_init ============
[18:49:53] ==== drm_connector_dynamic_register_early (4 subtests) =====
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_early_defer
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object
[18:49:53] ====== [PASSED] drm_connector_dynamic_register_early =======
[18:49:53] ======= drm_connector_dynamic_register (7 subtests) ========
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_on_list
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_no_defer
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_no_init
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_mode_object
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_sysfs
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name
[18:49:53] [PASSED] drm_test_drm_connector_dynamic_register_debugfs
[18:49:53] ========= [PASSED] drm_connector_dynamic_register ==========
[18:49:53] = drm_connector_attach_broadcast_rgb_property (2 subtests) =
[18:49:53] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property
[18:49:53] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector
[18:49:53] === [PASSED] drm_connector_attach_broadcast_rgb_property ===
[18:49:53] ========== drm_get_tv_mode_from_name (2 subtests) ==========
[18:49:53] ========== drm_test_get_tv_mode_from_name_valid ===========
[18:49:53] [PASSED] NTSC
[18:49:53] [PASSED] NTSC-443
[18:49:53] [PASSED] NTSC-J
[18:49:53] [PASSED] PAL
[18:49:53] [PASSED] PAL-M
[18:49:53] [PASSED] PAL-N
[18:49:53] [PASSED] SECAM
[18:49:53] [PASSED] Mono
[18:49:53] ====== [PASSED] drm_test_get_tv_mode_from_name_valid =======
[18:49:53] [PASSED] drm_test_get_tv_mode_from_name_truncated
[18:49:53] ============ [PASSED] drm_get_tv_mode_from_name ============
[18:49:53] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) =
[18:49:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb
[18:49:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc
[18:49:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1
[18:49:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc
[18:49:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1
[18:49:53] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double
[18:49:53] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid =
[18:49:53] [PASSED] VIC 96
[18:49:53] [PASSED] VIC 97
[18:49:53] [PASSED] VIC 101
[18:49:53] [PASSED] VIC 102
[18:49:53] [PASSED] VIC 106
[18:49:53] [PASSED] VIC 107
[18:49:53] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid ===
[18:49:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc
[18:49:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc
[18:49:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc
[18:49:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc
[18:49:53] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc
[18:49:53] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ====
[18:49:53] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) ==
[18:49:53] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ====
[18:49:53] [PASSED] Automatic
[18:49:53] [PASSED] Full
[18:49:53] [PASSED] Limited 16:235
[18:49:53] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name ===
[18:49:53] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid
[18:49:53] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ====
[18:49:53] == drm_hdmi_connector_get_output_format_name (2 subtests) ==
[18:49:53] === drm_test_drm_hdmi_connector_get_output_format_name ====
[18:49:53] [PASSED] RGB
[18:49:53] [PASSED] YUV 4:2:0
[18:49:53] [PASSED] YUV 4:2:2
[18:49:53] [PASSED] YUV 4:4:4
[18:49:53] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name ===
[18:49:53] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid
[18:49:53] ==== [PASSED] drm_hdmi_connector_get_output_format_name ====
[18:49:53] ============= drm_damage_helper (21 subtests) ==============
[18:49:53] [PASSED] drm_test_damage_iter_no_damage
[18:49:53] [PASSED] drm_test_damage_iter_no_damage_fractional_src
[18:49:53] [PASSED] drm_test_damage_iter_no_damage_src_moved
[18:49:53] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved
[18:49:53] [PASSED] drm_test_damage_iter_no_damage_not_visible
[18:49:53] [PASSED] drm_test_damage_iter_no_damage_no_crtc
[18:49:53] [PASSED] drm_test_damage_iter_no_damage_no_fb
[18:49:53] [PASSED] drm_test_damage_iter_simple_damage
[18:49:53] [PASSED] drm_test_damage_iter_single_damage
[18:49:53] [PASSED] drm_test_damage_iter_single_damage_intersect_src
[18:49:53] [PASSED] drm_test_damage_iter_single_damage_outside_src
[18:49:53] [PASSED] drm_test_damage_iter_single_damage_fractional_src
[18:49:53] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src
[18:49:53] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src
[18:49:53] [PASSED] drm_test_damage_iter_single_damage_src_moved
[18:49:53] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved
[18:49:53] [PASSED] drm_test_damage_iter_damage
[18:49:53] [PASSED] drm_test_damage_iter_damage_one_intersect
[18:49:53] [PASSED] drm_test_damage_iter_damage_one_outside
[18:49:53] [PASSED] drm_test_damage_iter_damage_src_moved
[18:49:53] [PASSED] drm_test_damage_iter_damage_not_visible
[18:49:53] ================ [PASSED] drm_damage_helper ================
[18:49:53] ============== drm_dp_mst_helper (3 subtests) ==============
[18:49:53] ============== drm_test_dp_mst_calc_pbn_mode ==============
[18:49:53] [PASSED] Clock 154000 BPP 30 DSC disabled
[18:49:53] [PASSED] Clock 234000 BPP 30 DSC disabled
[18:49:53] [PASSED] Clock 297000 BPP 24 DSC disabled
[18:49:53] [PASSED] Clock 332880 BPP 24 DSC enabled
[18:49:53] [PASSED] Clock 324540 BPP 24 DSC enabled
[18:49:53] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ==========
[18:49:53] ============== drm_test_dp_mst_calc_pbn_div ===============
[18:49:53] [PASSED] Link rate 2000000 lane count 4
[18:49:53] [PASSED] Link rate 2000000 lane count 2
[18:49:53] [PASSED] Link rate 2000000 lane count 1
[18:49:53] [PASSED] Link rate 1350000 lane count 4
[18:49:53] [PASSED] Link rate 1350000 lane count 2
[18:49:53] [PASSED] Link rate 1350000 lane count 1
[18:49:53] [PASSED] Link rate 1000000 lane count 4
[18:49:53] [PASSED] Link rate 1000000 lane count 2
[18:49:53] [PASSED] Link rate 1000000 lane count 1
[18:49:53] [PASSED] Link rate 810000 lane count 4
[18:49:53] [PASSED] Link rate 810000 lane count 2
[18:49:53] [PASSED] Link rate 810000 lane count 1
[18:49:53] [PASSED] Link rate 540000 lane count 4
[18:49:53] [PASSED] Link rate 540000 lane count 2
[18:49:53] [PASSED] Link rate 540000 lane count 1
[18:49:53] [PASSED] Link rate 270000 lane count 4
[18:49:53] [PASSED] Link rate 270000 lane count 2
[18:49:53] [PASSED] Link rate 270000 lane count 1
[18:49:53] [PASSED] Link rate 162000 lane count 4
[18:49:53] [PASSED] Link rate 162000 lane count 2
[18:49:53] [PASSED] Link rate 162000 lane count 1
[18:49:53] ========== [PASSED] drm_test_dp_mst_calc_pbn_div ===========
[18:49:53] ========= drm_test_dp_mst_sideband_msg_req_decode =========
[18:49:53] [PASSED] DP_ENUM_PATH_RESOURCES with port number
[18:49:53] [PASSED] DP_POWER_UP_PHY with port number
[18:49:53] [PASSED] DP_POWER_DOWN_PHY with port number
[18:49:53] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks
[18:49:53] [PASSED] DP_ALLOCATE_PAYLOAD with port number
[18:49:53] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI
[18:49:53] [PASSED] DP_ALLOCATE_PAYLOAD with PBN
[18:49:53] [PASSED] DP_QUERY_PAYLOAD with port number
[18:49:53] [PASSED] DP_QUERY_PAYLOAD with VCPI
[18:49:53] [PASSED] DP_REMOTE_DPCD_READ with port number
[18:49:53] [PASSED] DP_REMOTE_DPCD_READ with DPCD address
[18:49:53] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes
[18:49:53] [PASSED] DP_REMOTE_DPCD_WRITE with port number
[18:49:53] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address
[18:49:53] [PASSED] DP_REMOTE_DPCD_WRITE with data array
[18:49:53] [PASSED] DP_REMOTE_I2C_READ with port number
[18:49:53] [PASSED] DP_REMOTE_I2C_READ with I2C device ID
[18:49:53] [PASSED] DP_REMOTE_I2C_READ with transactions array
[18:49:53] [PASSED] DP_REMOTE_I2C_WRITE with port number
[18:49:53] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID
[18:49:53] [PASSED] DP_REMOTE_I2C_WRITE with data array
[18:49:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID
[18:49:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID
[18:49:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event
[18:49:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event
[18:49:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior
[18:49:53] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior
[18:49:53] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode =====
[18:49:53] ================ [PASSED] drm_dp_mst_helper ================
[18:49:53] ================== drm_exec (7 subtests) ===================
[18:49:53] [PASSED] sanitycheck
[18:49:53] [PASSED] test_lock
[18:49:53] [PASSED] test_lock_unlock
[18:49:53] [PASSED] test_duplicates
[18:49:53] [PASSED] test_prepare
[18:49:53] [PASSED] test_prepare_array
[18:49:53] [PASSED] test_multiple_loops
[18:49:53] ==================== [PASSED] drm_exec =====================
[18:49:53] =========== drm_format_helper_test (17 subtests) ===========
[18:49:53] ============== drm_test_fb_xrgb8888_to_gray8 ==============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ==========
[18:49:53] ============= drm_test_fb_xrgb8888_to_rgb332 ==============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ==========
[18:49:53] ============= drm_test_fb_xrgb8888_to_rgb565 ==============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ==========
[18:49:53] ============ drm_test_fb_xrgb8888_to_xrgb1555 =============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 =========
[18:49:53] ============ drm_test_fb_xrgb8888_to_argb1555 =============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 =========
[18:49:53] ============ drm_test_fb_xrgb8888_to_rgba5551 =============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 =========
[18:49:53] ============= drm_test_fb_xrgb8888_to_rgb888 ==============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ==========
[18:49:53] ============= drm_test_fb_xrgb8888_to_bgr888 ==============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ==========
[18:49:53] ============ drm_test_fb_xrgb8888_to_argb8888 =============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 =========
[18:49:53] =========== drm_test_fb_xrgb8888_to_xrgb2101010 ===========
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 =======
[18:49:53] =========== drm_test_fb_xrgb8888_to_argb2101010 ===========
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 =======
[18:49:53] ============== drm_test_fb_xrgb8888_to_mono ===============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ========== [PASSED] drm_test_fb_xrgb8888_to_mono ===========
[18:49:53] ==================== drm_test_fb_swab =====================
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ================ [PASSED] drm_test_fb_swab =================
[18:49:53] ============ drm_test_fb_xrgb8888_to_xbgr8888 =============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 =========
[18:49:53] ============ drm_test_fb_xrgb8888_to_abgr8888 =============
[18:49:53] [PASSED] single_pixel_source_buffer
[18:49:53] [PASSED] single_pixel_clip_rectangle
[18:49:53] [PASSED] well_known_colors
[18:49:53] [PASSED] destination_pitch
[18:49:53] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 =========
[18:49:53] ================= drm_test_fb_clip_offset =================
[18:49:53] [PASSED] pass through
[18:49:53] [PASSED] horizontal offset
[18:49:53] [PASSED] vertical offset
[18:49:53] [PASSED] horizontal and vertical offset
[18:49:53] [PASSED] horizontal offset (custom pitch)
[18:49:53] [PASSED] vertical offset (custom pitch)
[18:49:53] [PASSED] horizontal and vertical offset (custom pitch)
[18:49:53] ============= [PASSED] drm_test_fb_clip_offset =============
[18:49:53] =================== drm_test_fb_memcpy ====================
[18:49:53] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258)
[18:49:53] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258)
[18:49:53] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559)
[18:49:53] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258)
[18:49:53] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258)
[18:49:53] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559)
[18:49:53] [PASSED] well_known_colors: XB24 little-endian (0x34324258)
[18:49:53] [PASSED] well_known_colors: XRA8 little-endian (0x38415258)
[18:49:53] [PASSED] well_known_colors: YU24 little-endian (0x34325559)
[18:49:53] [PASSED] destination_pitch: XB24 little-endian (0x34324258)
[18:49:53] [PASSED] destination_pitch: XRA8 little-endian (0x38415258)
[18:49:53] [PASSED] destination_pitch: YU24 little-endian (0x34325559)
[18:49:53] =============== [PASSED] drm_test_fb_memcpy ================
[18:49:53] ============= [PASSED] drm_format_helper_test ==============
[18:49:53] ================= drm_format (18 subtests) =================
[18:49:53] [PASSED] drm_test_format_block_width_invalid
[18:49:53] [PASSED] drm_test_format_block_width_one_plane
[18:49:53] [PASSED] drm_test_format_block_width_two_plane
[18:49:53] [PASSED] drm_test_format_block_width_three_plane
[18:49:53] [PASSED] drm_test_format_block_width_tiled
[18:49:53] [PASSED] drm_test_format_block_height_invalid
[18:49:53] [PASSED] drm_test_format_block_height_one_plane
[18:49:53] [PASSED] drm_test_format_block_height_two_plane
[18:49:53] [PASSED] drm_test_format_block_height_three_plane
[18:49:53] [PASSED] drm_test_format_block_height_tiled
[18:49:53] [PASSED] drm_test_format_min_pitch_invalid
[18:49:53] [PASSED] drm_test_format_min_pitch_one_plane_8bpp
[18:49:53] [PASSED] drm_test_format_min_pitch_one_plane_16bpp
[18:49:53] [PASSED] drm_test_format_min_pitch_one_plane_24bpp
[18:49:53] [PASSED] drm_test_format_min_pitch_one_plane_32bpp
[18:49:53] [PASSED] drm_test_format_min_pitch_two_plane
[18:49:53] [PASSED] drm_test_format_min_pitch_three_plane_8bpp
[18:49:53] [PASSED] drm_test_format_min_pitch_tiled
[18:49:53] =================== [PASSED] drm_format ====================
[18:49:53] ============== drm_framebuffer (10 subtests) ===============
[18:49:53] ========== drm_test_framebuffer_check_src_coords ==========
[18:49:53] [PASSED] Success: source fits into fb
[18:49:53] [PASSED] Fail: overflowing fb with x-axis coordinate
[18:49:53] [PASSED] Fail: overflowing fb with y-axis coordinate
[18:49:53] [PASSED] Fail: overflowing fb with source width
[18:49:53] [PASSED] Fail: overflowing fb with source height
[18:49:53] ====== [PASSED] drm_test_framebuffer_check_src_coords ======
[18:49:53] [PASSED] drm_test_framebuffer_cleanup
[18:49:53] =============== drm_test_framebuffer_create ===============
[18:49:53] [PASSED] ABGR8888 normal sizes
[18:49:53] [PASSED] ABGR8888 max sizes
[18:49:53] [PASSED] ABGR8888 pitch greater than min required
[18:49:53] [PASSED] ABGR8888 pitch less than min required
[18:49:53] [PASSED] ABGR8888 Invalid width
[18:49:53] [PASSED] ABGR8888 Invalid buffer handle
[18:49:53] [PASSED] No pixel format
[18:49:53] [PASSED] ABGR8888 Width 0
[18:49:53] [PASSED] ABGR8888 Height 0
[18:49:53] [PASSED] ABGR8888 Out of bound height * pitch combination
[18:49:53] [PASSED] ABGR8888 Large buffer offset
[18:49:53] [PASSED] ABGR8888 Buffer offset for inexistent plane
[18:49:53] [PASSED] ABGR8888 Invalid flag
[18:49:53] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers
[18:49:53] [PASSED] ABGR8888 Valid buffer modifier
[18:49:53] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE)
[18:49:53] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS
[18:49:53] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS
[18:49:53] [PASSED] NV12 Normal sizes
[18:49:53] [PASSED] NV12 Max sizes
[18:49:53] [PASSED] NV12 Invalid pitch
[18:49:53] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag
[18:49:53] [PASSED] NV12 different modifier per-plane
[18:49:53] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE
[18:49:53] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS
[18:49:53] [PASSED] NV12 Modifier for inexistent plane
[18:49:53] [PASSED] NV12 Handle for inexistent plane
[18:49:53] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS
[18:49:53] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier
[18:49:53] [PASSED] YVU420 Normal sizes
[18:49:53] [PASSED] YVU420 Max sizes
[18:49:53] [PASSED] YVU420 Invalid pitch
[18:49:53] [PASSED] YVU420 Different pitches
[18:49:53] [PASSED] YVU420 Different buffer offsets/pitches
[18:49:53] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS
[18:49:53] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS
[18:49:53] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS
[18:49:53] [PASSED] YVU420 Valid modifier
[18:49:53] [PASSED] YVU420 Different modifiers per plane
[18:49:53] [PASSED] YVU420 Modifier for inexistent plane
[18:49:53] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR)
[18:49:53] [PASSED] X0L2 Normal sizes
[18:49:53] [PASSED] X0L2 Max sizes
[18:49:53] [PASSED] X0L2 Invalid pitch
[18:49:53] [PASSED] X0L2 Pitch greater than minimum required
[18:49:53] [PASSED] X0L2 Handle for inexistent plane
[18:49:53] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set
[18:49:53] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set
[18:49:53] [PASSED] X0L2 Valid modifier
[18:49:53] [PASSED] X0L2 Modifier for inexistent plane
[18:49:53] =========== [PASSED] drm_test_framebuffer_create ===========
[18:49:53] [PASSED] drm_test_framebuffer_free
[18:49:53] [PASSED] drm_test_framebuffer_init
[18:49:53] [PASSED] drm_test_framebuffer_init_bad_format
[18:49:53] [PASSED] drm_test_framebuffer_init_dev_mismatch
[18:49:53] [PASSED] drm_test_framebuffer_lookup
[18:49:53] [PASSED] drm_test_framebuffer_lookup_inexistent
[18:49:53] [PASSED] drm_test_framebuffer_modifiers_not_supported
[18:49:53] ================= [PASSED] drm_framebuffer =================
[18:49:53] ================ drm_gem_shmem (8 subtests) ================
[18:49:53] [PASSED] drm_gem_shmem_test_obj_create
[18:49:53] [PASSED] drm_gem_shmem_test_obj_create_private
[18:49:53] [PASSED] drm_gem_shmem_test_pin_pages
[18:49:53] [PASSED] drm_gem_shmem_test_vmap
[18:49:53] [PASSED] drm_gem_shmem_test_get_pages_sgt
[18:49:53] [PASSED] drm_gem_shmem_test_get_sg_table
[18:49:53] [PASSED] drm_gem_shmem_test_madvise
[18:49:53] [PASSED] drm_gem_shmem_test_purge
[18:49:53] ================== [PASSED] drm_gem_shmem ==================
[18:49:53] === drm_atomic_helper_connector_hdmi_check (27 subtests) ===
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1
[18:49:53] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 =======
[18:49:53] [PASSED] Automatic
[18:49:53] [PASSED] Full
[18:49:53] [PASSED] Limited 16:235
[18:49:53] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 ===
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed
[18:49:53] [PASSED] drm_test_check_disable_connector
[18:49:53] [PASSED] drm_test_check_hdmi_funcs_reject_rate
[18:49:53] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb
[18:49:53] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420
[18:49:53] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422
[18:49:53] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420
[18:49:53] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420
[18:49:53] [PASSED] drm_test_check_output_bpc_crtc_mode_changed
[18:49:53] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed
[18:49:53] [PASSED] drm_test_check_output_bpc_dvi
[18:49:53] [PASSED] drm_test_check_output_bpc_format_vic_1
[18:49:53] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only
[18:49:53] [PASSED] drm_test_check_output_bpc_format_display_rgb_only
[18:49:53] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only
[18:49:53] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only
[18:49:53] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc
[18:49:53] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc
[18:49:53] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc
[18:49:53] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ======
[18:49:53] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ====
[18:49:53] [PASSED] drm_test_check_broadcast_rgb_value
[18:49:53] [PASSED] drm_test_check_bpc_8_value
[18:49:53] [PASSED] drm_test_check_bpc_10_value
[18:49:53] [PASSED] drm_test_check_bpc_12_value
[18:49:53] [PASSED] drm_test_check_format_value
[18:49:53] [PASSED] drm_test_check_tmds_char_value
[18:49:53] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ======
[18:49:53] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) =
[18:49:53] [PASSED] drm_test_check_mode_valid
[18:49:53] [PASSED] drm_test_check_mode_valid_reject
[18:49:53] [PASSED] drm_test_check_mode_valid_reject_rate
[18:49:53] [PASSED] drm_test_check_mode_valid_reject_max_clock
[18:49:53] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid ===
[18:49:53] ================= drm_managed (2 subtests) =================
[18:49:53] [PASSED] drm_test_managed_release_action
[18:49:53] [PASSED] drm_test_managed_run_action
[18:49:53] =================== [PASSED] drm_managed ===================
[18:49:53] =================== drm_mm (6 subtests) ====================
[18:49:53] [PASSED] drm_test_mm_init
[18:49:53] [PASSED] drm_test_mm_debug
[18:49:53] [PASSED] drm_test_mm_align32
[18:49:53] [PASSED] drm_test_mm_align64
[18:49:53] [PASSED] drm_test_mm_lowest
[18:49:53] [PASSED] drm_test_mm_highest
[18:49:53] ===================== [PASSED] drm_mm ======================
[18:49:53] ============= drm_modes_analog_tv (5 subtests) =============
[18:49:53] [PASSED] drm_test_modes_analog_tv_mono_576i
[18:49:53] [PASSED] drm_test_modes_analog_tv_ntsc_480i
[18:49:53] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined
[18:49:53] [PASSED] drm_test_modes_analog_tv_pal_576i
[18:49:53] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined
[18:49:53] =============== [PASSED] drm_modes_analog_tv ===============
[18:49:53] ============== drm_plane_helper (2 subtests) ===============
[18:49:53] =============== drm_test_check_plane_state ================
[18:49:53] [PASSED] clipping_simple
[18:49:53] [PASSED] clipping_rotate_reflect
[18:49:53] [PASSED] positioning_simple
[18:49:53] [PASSED] upscaling
[18:49:53] [PASSED] downscaling
[18:49:53] [PASSED] rounding1
[18:49:53] [PASSED] rounding2
[18:49:53] [PASSED] rounding3
[18:49:53] [PASSED] rounding4
[18:49:53] =========== [PASSED] drm_test_check_plane_state ============
[18:49:53] =========== drm_test_check_invalid_plane_state ============
[18:49:53] [PASSED] positioning_invalid
[18:49:53] [PASSED] upscaling_invalid
[18:49:53] [PASSED] downscaling_invalid
[18:49:53] ======= [PASSED] drm_test_check_invalid_plane_state ========
[18:49:53] ================ [PASSED] drm_plane_helper =================
[18:49:53] ====== drm_connector_helper_tv_get_modes (1 subtest) =======
[18:49:53] ====== drm_test_connector_helper_tv_get_modes_check =======
[18:49:53] [PASSED] None
[18:49:53] [PASSED] PAL
[18:49:53] [PASSED] NTSC
[18:49:53] [PASSED] Both, NTSC Default
[18:49:53] [PASSED] Both, PAL Default
[18:49:53] [PASSED] Both, NTSC Default, with PAL on command-line
[18:49:53] [PASSED] Both, PAL Default, with NTSC on command-line
[18:49:53] == [PASSED] drm_test_connector_helper_tv_get_modes_check ===
[18:49:53] ======== [PASSED] drm_connector_helper_tv_get_modes ========
[18:49:53] ================== drm_rect (9 subtests) ===================
[18:49:53] [PASSED] drm_test_rect_clip_scaled_div_by_zero
[18:49:53] [PASSED] drm_test_rect_clip_scaled_not_clipped
[18:49:53] [PASSED] drm_test_rect_clip_scaled_clipped
[18:49:53] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned
[18:49:53] ================= drm_test_rect_intersect =================
[18:49:53] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0
[18:49:53] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1
[18:49:53] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0
[18:49:53] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1
[18:49:53] [PASSED] right x left: 2x1+0+0 x 3x1+1+0
[18:49:53] [PASSED] left x right: 3x1+1+0 x 2x1+0+0
[18:49:53] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1
[18:49:53] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0
[18:49:53] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1
[18:49:53] [PASSED] touching side: 1x1+0+0 x 1x1+1+0
[18:49:53] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0
[18:49:53] [PASSED] inside another: 2x2+0+0 x 1x1+1+1
[18:49:53] [PASSED] far away: 1x1+0+0 x 1x1+3+6
[18:49:53] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10
[18:49:53] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10
[18:49:53] ============= [PASSED] drm_test_rect_intersect =============
[18:49:53] ================ drm_test_rect_calc_hscale ================
[18:49:53] [PASSED] normal use
[18:49:53] [PASSED] out of max range
[18:49:53] [PASSED] out of min range
[18:49:53] [PASSED] zero dst
[18:49:53] [PASSED] negative src
[18:49:53] [PASSED] negative dst
[18:49:53] ============ [PASSED] drm_test_rect_calc_hscale ============
[18:49:53] ================ drm_test_rect_calc_vscale ================
[18:49:53] [PASSED] normal use
[18:49:53] [PASSED] out of max range
[18:49:53] [PASSED] out of min range
[18:49:53] [PASSED] zero dst
[18:49:53] [PASSED] negative src
[18:49:53] [PASSED] negative dst
[18:49:53] ============ [PASSED] drm_test_rect_calc_vscale ============
[18:49:53] ================== drm_test_rect_rotate ===================
[18:49:53] [PASSED] reflect-x
[18:49:53] [PASSED] reflect-y
[18:49:53] [PASSED] rotate-0
[18:49:53] [PASSED] rotate-90
[18:49:53] [PASSED] rotate-180
[18:49:53] [PASSED] rotate-270
stty: 'standard input': Inappropriate ioctl for device
[18:49:53] ============== [PASSED] drm_test_rect_rotate ===============
[18:49:53] ================ drm_test_rect_rotate_inv =================
[18:49:53] [PASSED] reflect-x
[18:49:53] [PASSED] reflect-y
[18:49:53] [PASSED] rotate-0
[18:49:53] [PASSED] rotate-90
[18:49:53] [PASSED] rotate-180
[18:49:53] [PASSED] rotate-270
[18:49:53] ============ [PASSED] drm_test_rect_rotate_inv =============
[18:49:53] ==================== [PASSED] drm_rect =====================
[18:49:53] ============ drm_sysfb_modeset_test (1 subtest) ============
[18:49:53] ============ drm_test_sysfb_build_fourcc_list =============
[18:49:53] [PASSED] no native formats
[18:49:53] [PASSED] XRGB8888 as native format
[18:49:53] [PASSED] remove duplicates
[18:49:53] [PASSED] convert alpha formats
[18:49:53] [PASSED] random formats
[18:49:53] ======== [PASSED] drm_test_sysfb_build_fourcc_list =========
[18:49:53] ============= [PASSED] drm_sysfb_modeset_test ==============
[18:49:53] ============================================================
[18:49:53] Testing complete. Ran 616 tests: passed: 616
[18:49:53] Elapsed time: 24.537s total, 1.646s configuring, 22.721s building, 0.147s running
+ /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig
[18:49:53] Configuring KUnit Kernel ...
Regenerating .config ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
[18:49:55] Building KUnit Kernel ...
Populating config with:
$ make ARCH=um O=.kunit olddefconfig
Building with:
$ make all compile_commands.json scripts_gdb ARCH=um O=.kunit --jobs=48
[18:50:03] Starting KUnit Kernel (1/1)...
[18:50:03] ============================================================
Running tests with:
$ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt
[18:50:03] ================= ttm_device (5 subtests) ==================
[18:50:03] [PASSED] ttm_device_init_basic
[18:50:03] [PASSED] ttm_device_init_multiple
[18:50:03] [PASSED] ttm_device_fini_basic
[18:50:03] [PASSED] ttm_device_init_no_vma_man
[18:50:03] ================== ttm_device_init_pools ==================
[18:50:03] [PASSED] No DMA allocations, no DMA32 required
[18:50:03] [PASSED] DMA allocations, DMA32 required
[18:50:03] [PASSED] No DMA allocations, DMA32 required
[18:50:03] [PASSED] DMA allocations, no DMA32 required
[18:50:03] ============== [PASSED] ttm_device_init_pools ==============
[18:50:03] =================== [PASSED] ttm_device ====================
[18:50:03] ================== ttm_pool (8 subtests) ===================
[18:50:03] ================== ttm_pool_alloc_basic ===================
[18:50:03] [PASSED] One page
[18:50:03] [PASSED] More than one page
[18:50:03] [PASSED] Above the allocation limit
[18:50:03] [PASSED] One page, with coherent DMA mappings enabled
[18:50:03] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[18:50:03] ============== [PASSED] ttm_pool_alloc_basic ===============
[18:50:03] ============== ttm_pool_alloc_basic_dma_addr ==============
[18:50:03] [PASSED] One page
[18:50:03] [PASSED] More than one page
[18:50:03] [PASSED] Above the allocation limit
[18:50:03] [PASSED] One page, with coherent DMA mappings enabled
[18:50:03] [PASSED] Above the allocation limit, with coherent DMA mappings enabled
[18:50:03] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ==========
[18:50:03] [PASSED] ttm_pool_alloc_order_caching_match
[18:50:03] [PASSED] ttm_pool_alloc_caching_mismatch
[18:50:03] [PASSED] ttm_pool_alloc_order_mismatch
[18:50:03] [PASSED] ttm_pool_free_dma_alloc
[18:50:03] [PASSED] ttm_pool_free_no_dma_alloc
[18:50:03] [PASSED] ttm_pool_fini_basic
[18:50:03] ==================== [PASSED] ttm_pool =====================
[18:50:03] ================ ttm_resource (8 subtests) =================
[18:50:03] ================= ttm_resource_init_basic =================
[18:50:03] [PASSED] Init resource in TTM_PL_SYSTEM
[18:50:03] [PASSED] Init resource in TTM_PL_VRAM
[18:50:03] [PASSED] Init resource in a private placement
[18:50:03] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags
[18:50:03] ============= [PASSED] ttm_resource_init_basic =============
[18:50:03] [PASSED] ttm_resource_init_pinned
[18:50:03] [PASSED] ttm_resource_fini_basic
[18:50:03] [PASSED] ttm_resource_manager_init_basic
[18:50:03] [PASSED] ttm_resource_manager_usage_basic
[18:50:03] [PASSED] ttm_resource_manager_set_used_basic
[18:50:03] [PASSED] ttm_sys_man_alloc_basic
[18:50:03] [PASSED] ttm_sys_man_free_basic
[18:50:03] ================== [PASSED] ttm_resource ===================
[18:50:03] =================== ttm_tt (15 subtests) ===================
[18:50:03] ==================== ttm_tt_init_basic ====================
[18:50:03] [PASSED] Page-aligned size
[18:50:03] [PASSED] Extra pages requested
[18:50:03] ================ [PASSED] ttm_tt_init_basic ================
[18:50:03] [PASSED] ttm_tt_init_misaligned
[18:50:03] [PASSED] ttm_tt_fini_basic
[18:50:03] [PASSED] ttm_tt_fini_sg
[18:50:03] [PASSED] ttm_tt_fini_shmem
[18:50:03] [PASSED] ttm_tt_create_basic
[18:50:03] [PASSED] ttm_tt_create_invalid_bo_type
[18:50:03] [PASSED] ttm_tt_create_ttm_exists
[18:50:03] [PASSED] ttm_tt_create_failed
[18:50:03] [PASSED] ttm_tt_destroy_basic
[18:50:03] [PASSED] ttm_tt_populate_null_ttm
[18:50:03] [PASSED] ttm_tt_populate_populated_ttm
[18:50:03] [PASSED] ttm_tt_unpopulate_basic
[18:50:03] [PASSED] ttm_tt_unpopulate_empty_ttm
[18:50:03] [PASSED] ttm_tt_swapin_basic
[18:50:03] ===================== [PASSED] ttm_tt ======================
[18:50:03] =================== ttm_bo (14 subtests) ===================
[18:50:03] =========== ttm_bo_reserve_optimistic_no_ticket ===========
[18:50:03] [PASSED] Cannot be interrupted and sleeps
[18:50:03] [PASSED] Cannot be interrupted, locks straight away
[18:50:03] [PASSED] Can be interrupted, sleeps
[18:50:03] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket =======
[18:50:03] [PASSED] ttm_bo_reserve_locked_no_sleep
[18:50:03] [PASSED] ttm_bo_reserve_no_wait_ticket
[18:50:03] [PASSED] ttm_bo_reserve_double_resv
[18:50:03] [PASSED] ttm_bo_reserve_interrupted
[18:50:03] [PASSED] ttm_bo_reserve_deadlock
[18:50:03] [PASSED] ttm_bo_unreserve_basic
[18:50:03] [PASSED] ttm_bo_unreserve_pinned
[18:50:03] [PASSED] ttm_bo_unreserve_bulk
[18:50:03] [PASSED] ttm_bo_put_basic
[18:50:03] [PASSED] ttm_bo_put_shared_resv
[18:50:03] [PASSED] ttm_bo_pin_basic
[18:50:03] [PASSED] ttm_bo_pin_unpin_resource
[18:50:03] [PASSED] ttm_bo_multiple_pin_one_unpin
[18:50:03] ===================== [PASSED] ttm_bo ======================
[18:50:03] ============== ttm_bo_validate (21 subtests) ===============
[18:50:03] ============== ttm_bo_init_reserved_sys_man ===============
[18:50:03] [PASSED] Buffer object for userspace
[18:50:03] [PASSED] Kernel buffer object
[18:50:03] [PASSED] Shared buffer object
[18:50:03] ========== [PASSED] ttm_bo_init_reserved_sys_man ===========
[18:50:03] ============== ttm_bo_init_reserved_mock_man ==============
[18:50:03] [PASSED] Buffer object for userspace
[18:50:03] [PASSED] Kernel buffer object
[18:50:03] [PASSED] Shared buffer object
[18:50:03] ========== [PASSED] ttm_bo_init_reserved_mock_man ==========
[18:50:03] [PASSED] ttm_bo_init_reserved_resv
[18:50:03] ================== ttm_bo_validate_basic ==================
[18:50:03] [PASSED] Buffer object for userspace
[18:50:03] [PASSED] Kernel buffer object
[18:50:03] [PASSED] Shared buffer object
[18:50:03] ============== [PASSED] ttm_bo_validate_basic ==============
[18:50:03] [PASSED] ttm_bo_validate_invalid_placement
[18:50:03] ============= ttm_bo_validate_same_placement ==============
[18:50:03] [PASSED] System manager
[18:50:03] [PASSED] VRAM manager
[18:50:03] ========= [PASSED] ttm_bo_validate_same_placement ==========
[18:50:03] [PASSED] ttm_bo_validate_failed_alloc
[18:50:03] [PASSED] ttm_bo_validate_pinned
[18:50:03] [PASSED] ttm_bo_validate_busy_placement
[18:50:03] ================ ttm_bo_validate_multihop =================
[18:50:03] [PASSED] Buffer object for userspace
[18:50:03] [PASSED] Kernel buffer object
[18:50:03] [PASSED] Shared buffer object
[18:50:03] ============ [PASSED] ttm_bo_validate_multihop =============
[18:50:03] ========== ttm_bo_validate_no_placement_signaled ==========
[18:50:03] [PASSED] Buffer object in system domain, no page vector
[18:50:03] [PASSED] Buffer object in system domain with an existing page vector
[18:50:03] ====== [PASSED] ttm_bo_validate_no_placement_signaled ======
[18:50:03] ======== ttm_bo_validate_no_placement_not_signaled ========
[18:50:03] [PASSED] Buffer object for userspace
[18:50:03] [PASSED] Kernel buffer object
[18:50:03] [PASSED] Shared buffer object
[18:50:03] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ====
[18:50:03] [PASSED] ttm_bo_validate_move_fence_signaled
[18:50:03] ========= ttm_bo_validate_move_fence_not_signaled =========
[18:50:03] [PASSED] Waits for GPU
[18:50:03] [PASSED] Tries to lock straight away
[18:50:03] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled =====
[18:50:03] [PASSED] ttm_bo_validate_happy_evict
[18:50:03] [PASSED] ttm_bo_validate_all_pinned_evict
[18:50:03] [PASSED] ttm_bo_validate_allowed_only_evict
[18:50:03] [PASSED] ttm_bo_validate_deleted_evict
[18:50:03] [PASSED] ttm_bo_validate_busy_domain_evict
[18:50:03] [PASSED] ttm_bo_validate_evict_gutting
[18:50:03] [PASSED] ttm_bo_validate_recrusive_evict
stty: 'standard input': Inappropriate ioctl for device
[18:50:03] ================= [PASSED] ttm_bo_validate =================
[18:50:03] ============================================================
[18:50:03] Testing complete. Ran 101 tests: passed: 101
[18:50:03] Elapsed time: 9.977s total, 1.741s configuring, 8.020s building, 0.187s running
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 20+ messages in thread
* ✗ CI.checksparse: warning for drm/{i915, xe}/panic: refactor framebuffer allocation etc.
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (9 preceding siblings ...)
2025-09-02 18:50 ` ✓ CI.KUnit: success " Patchwork
@ 2025-09-02 19:05 ` Patchwork
2025-09-02 19:25 ` ✓ Xe.CI.BAT: success " Patchwork
` (2 subsequent siblings)
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-09-02 19:05 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-xe
== Series Details ==
Series: drm/{i915, xe}/panic: refactor framebuffer allocation etc.
URL : https://patchwork.freedesktop.org/series/153903/
State : warning
== Summary ==
+ trap cleanup EXIT
+ KERNEL=/kernel
+ MT=/root/linux/maintainer-tools
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools /root/linux/maintainer-tools
Cloning into '/root/linux/maintainer-tools'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ make -C /root/linux/maintainer-tools
make: Entering directory '/root/linux/maintainer-tools'
cc -O2 -g -Wextra -o remap-log remap-log.c
make: Leaving directory '/root/linux/maintainer-tools'
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ /root/linux/maintainer-tools/dim sparse --fast 24ae4215b1cdbd029b2e611c12f811494cc89442
Sparse version: 0.6.4 (Ubuntu: 0.6.4-4ubuntu3)
Fast mode used, each commit won't be checked separately.
+drivers/gpu/drm/i915/display/intel_alpm.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_ddi.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2023:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_display_types.h:2036:24: warning: unreplaced symbol '<noident>'
+drivers/gpu/drm/i915/display/intel_hdcp.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_pps.c: note: in included file:
+drivers/gpu/drm/i915/display/intel_psr.c: note: in included file:
+ cleanup
++ stat -c %u:%g /kernel
+ chown -R 1003:1003 /kernel
^ permalink raw reply [flat|nested] 20+ messages in thread
* ✓ Xe.CI.BAT: success for drm/{i915, xe}/panic: refactor framebuffer allocation etc.
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (10 preceding siblings ...)
2025-09-02 19:05 ` ✗ CI.checksparse: warning " Patchwork
@ 2025-09-02 19:25 ` Patchwork
2025-09-03 2:28 ` ✗ Xe.CI.Full: failure " Patchwork
2025-09-04 11:46 ` [PATCH 0/8] " Jocelyn Falempe
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-09-02 19:25 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 2821 bytes --]
== Series Details ==
Series: drm/{i915, xe}/panic: refactor framebuffer allocation etc.
URL : https://patchwork.freedesktop.org/series/153903/
State : success
== Summary ==
CI Bug Log - changes from xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f_BAT -> xe-pw-153903v1_BAT
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (11 -> 11)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in xe-pw-153903v1_BAT that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_flip@basic-plain-flip@b-edp1:
- bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#4543])
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/bat-adlp-7/igt@kms_flip@basic-plain-flip@b-edp1.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/bat-adlp-7/igt@kms_flip@basic-plain-flip@b-edp1.html
#### Possible fixes ####
* igt@kms_flip@basic-plain-flip@a-edp1:
- bat-adlp-7: [DMESG-WARN][3] ([Intel XE#4543]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/bat-adlp-7/igt@kms_flip@basic-plain-flip@a-edp1.html
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/bat-adlp-7/igt@kms_flip@basic-plain-flip@a-edp1.html
* igt@xe_vm@bind-execqueues-independent:
- {bat-ptl-1}: [FAIL][5] ([Intel XE#5783]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/bat-ptl-1/igt@xe_vm@bind-execqueues-independent.html
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/bat-ptl-1/igt@xe_vm@bind-execqueues-independent.html
- {bat-ptl-vm}: [FAIL][7] ([Intel XE#5783]) -> [PASS][8]
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/bat-ptl-vm/igt@xe_vm@bind-execqueues-independent.html
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/bat-ptl-vm/igt@xe_vm@bind-execqueues-independent.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#5783]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5783
Build changes
-------------
* Linux: xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f -> xe-pw-153903v1
IGT_8519: 8519
xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f: 064ed3bcbfa74a64c35d27c83f96413ae15cc23f
xe-pw-153903v1: 153903v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/index.html
[-- Attachment #2: Type: text/html, Size: 3605 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* ✗ Xe.CI.Full: failure for drm/{i915, xe}/panic: refactor framebuffer allocation etc.
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (11 preceding siblings ...)
2025-09-02 19:25 ` ✓ Xe.CI.BAT: success " Patchwork
@ 2025-09-03 2:28 ` Patchwork
2025-09-04 11:46 ` [PATCH 0/8] " Jocelyn Falempe
13 siblings, 0 replies; 20+ messages in thread
From: Patchwork @ 2025-09-03 2:28 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-xe
[-- Attachment #1: Type: text/plain, Size: 64249 bytes --]
== Series Details ==
Series: drm/{i915, xe}/panic: refactor framebuffer allocation etc.
URL : https://patchwork.freedesktop.org/series/153903/
State : failure
== Summary ==
CI Bug Log - changes from xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f_FULL -> xe-pw-153903v1_FULL
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with xe-pw-153903v1_FULL absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in xe-pw-153903v1_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 (4 -> 4)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in xe-pw-153903v1_FULL:
### IGT changes ###
#### Possible regressions ####
* igt@xe_compute_preempt@compute-preempt-many-all-ram:
- shard-bmg: [PASS][1] -> [ABORT][2] +1 other test abort
[1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-1/igt@xe_compute_preempt@compute-preempt-many-all-ram.html
[2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-1/igt@xe_compute_preempt@compute-preempt-many-all-ram.html
New tests
---------
New tests have been introduced between xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f_FULL and xe-pw-153903v1_FULL:
### New IGT tests (101) ###
* igt@kms_cursor_crc@cursor-offscreen-128x128:
- Statuses : 4 pass(s)
- Exec time: [4.64, 6.07] s
* igt@kms_cursor_crc@cursor-offscreen-128x128@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [2.68] s
* igt@kms_cursor_crc@cursor-offscreen-128x128@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.35] s
* igt@kms_cursor_crc@cursor-offscreen-128x42:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.03, 5.00] s
* igt@kms_cursor_crc@cursor-offscreen-256x256:
- Statuses : 4 pass(s)
- Exec time: [4.67, 6.06] s
* igt@kms_cursor_crc@cursor-offscreen-256x256@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [2.73] s
* igt@kms_cursor_crc@cursor-offscreen-256x256@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.30] s
* igt@kms_cursor_crc@cursor-offscreen-256x85:
- Statuses : 1 pass(s) 2 skip(s)
- Exec time: [0.02, 4.64] s
* igt@kms_cursor_crc@cursor-offscreen-32x10:
- Statuses : 3 skip(s)
- Exec time: [0.03, 0.04] s
* igt@kms_cursor_crc@cursor-offscreen-32x32:
- Statuses : 2 skip(s)
- Exec time: [0.03, 0.09] s
* igt@kms_cursor_crc@cursor-offscreen-512x170:
- Statuses : 4 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- Statuses : 3 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-offscreen-64x21:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.03, 5.15] s
* igt@kms_cursor_crc@cursor-offscreen-64x64:
- Statuses : 4 pass(s)
- Exec time: [4.68, 6.04] s
* igt@kms_cursor_crc@cursor-offscreen-64x64@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [2.71] s
* igt@kms_cursor_crc@cursor-offscreen-64x64@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.30] s
* igt@kms_cursor_crc@cursor-offscreen-max-size:
- Statuses : 3 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-onscreen-128x128:
- Statuses : 3 pass(s)
- Exec time: [4.40, 5.74] s
* igt@kms_cursor_crc@cursor-onscreen-128x128@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [2.56] s
* igt@kms_cursor_crc@cursor-onscreen-128x128@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.12] s
* igt@kms_cursor_crc@cursor-onscreen-128x42:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.03, 4.79] s
* igt@kms_cursor_crc@cursor-onscreen-256x256:
- Statuses : 3 pass(s)
- Exec time: [4.35, 5.75] s
* igt@kms_cursor_crc@cursor-onscreen-256x256@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [2.54] s
* igt@kms_cursor_crc@cursor-onscreen-256x256@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.18] s
* igt@kms_cursor_crc@cursor-onscreen-256x85:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.02, 4.74] s
* igt@kms_cursor_crc@cursor-onscreen-32x10:
- Statuses : 4 skip(s)
- Exec time: [0.03, 0.04] s
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- Statuses : 4 skip(s)
- Exec time: [0.02, 0.03] s
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- Statuses : 4 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-onscreen-512x512:
- Statuses : 4 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-onscreen-64x21:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.04, 4.83] s
* igt@kms_cursor_crc@cursor-onscreen-64x64:
- Statuses : 4 pass(s)
- Exec time: [4.37, 5.70] s
* igt@kms_cursor_crc@cursor-onscreen-64x64@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [2.54] s
* igt@kms_cursor_crc@cursor-onscreen-64x64@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.11] s
* igt@kms_cursor_crc@cursor-onscreen-max-size:
- Statuses : 4 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-random-128x128:
- Statuses : 2 pass(s)
- Exec time: [8.12, 8.68] s
* igt@kms_cursor_crc@cursor-random-128x128@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [4.05] s
* igt@kms_cursor_crc@cursor-random-128x128@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [4.58] s
* igt@kms_cursor_crc@cursor-random-128x42:
- Statuses :
- Exec time: [None] s
* igt@kms_cursor_crc@cursor-random-256x256:
- Statuses : 4 pass(s)
- Exec time: [7.28, 9.28] s
* igt@kms_cursor_crc@cursor-random-256x256@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [4.02] s
* igt@kms_cursor_crc@cursor-random-256x256@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [4.64] s
* igt@kms_cursor_crc@cursor-random-256x85:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.04, 7.88] s
* igt@kms_cursor_crc@cursor-random-32x10:
- Statuses : 3 skip(s)
- Exec time: [0.03, 0.04] s
* igt@kms_cursor_crc@cursor-random-32x32:
- Statuses : 4 skip(s)
- Exec time: [0.02, 0.05] s
* igt@kms_cursor_crc@cursor-random-512x170:
- Statuses : 4 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-random-512x512:
- Statuses : 4 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-random-64x21:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.03, 7.95] s
* igt@kms_cursor_crc@cursor-random-64x64:
- Statuses : 4 pass(s)
- Exec time: [7.28, 9.05] s
* igt@kms_cursor_crc@cursor-random-64x64@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.98] s
* igt@kms_cursor_crc@cursor-random-64x64@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [4.62] s
* igt@kms_cursor_crc@cursor-random-max-size:
- Statuses : 4 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-rapid-movement-128x128:
- Statuses : 4 pass(s)
- Exec time: [0.62, 1.95] s
* igt@kms_cursor_crc@cursor-rapid-movement-128x128@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.65] s
* igt@kms_cursor_crc@cursor-rapid-movement-128x128@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.27] s
* igt@kms_cursor_crc@cursor-rapid-movement-128x42:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.03, 0.92] s
* igt@kms_cursor_crc@cursor-rapid-movement-256x256:
- Statuses : 4 pass(s)
- Exec time: [0.60, 1.95] s
* igt@kms_cursor_crc@cursor-rapid-movement-256x256@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.65] s
* igt@kms_cursor_crc@cursor-rapid-movement-256x256@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.27] s
* igt@kms_cursor_crc@cursor-rapid-movement-256x85:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.03, 0.91] s
* igt@kms_cursor_crc@cursor-rapid-movement-32x10:
- Statuses : 4 skip(s)
- Exec time: [0.03, 0.04] s
* igt@kms_cursor_crc@cursor-rapid-movement-32x32:
- Statuses : 4 skip(s)
- Exec time: [0.03, 0.05] s
* igt@kms_cursor_crc@cursor-rapid-movement-512x170:
- Statuses : 4 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-rapid-movement-512x512:
- Statuses : 4 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-rapid-movement-64x21:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.04, 0.90] s
* igt@kms_cursor_crc@cursor-rapid-movement-64x64:
- Statuses : 4 pass(s)
- Exec time: [0.63, 2.05] s
* igt@kms_cursor_crc@cursor-rapid-movement-64x64@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [0.70] s
* igt@kms_cursor_crc@cursor-rapid-movement-64x64@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [1.30] s
* igt@kms_cursor_crc@cursor-rapid-movement-max-size:
- Statuses : 4 skip(s)
- Exec time: [0.0] s
* igt@kms_cursor_crc@cursor-sliding-128x128:
- Statuses : 4 pass(s)
- Exec time: [6.98, 8.42] s
* igt@kms_cursor_crc@cursor-sliding-128x128@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.87] s
* igt@kms_cursor_crc@cursor-sliding-128x128@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [4.53] s
* igt@kms_cursor_crc@cursor-sliding-128x42:
- Statuses : 1 pass(s) 1 skip(s)
- Exec time: [0.04, 7.49] s
* igt@kms_cursor_crc@cursor-sliding-256x256:
- Statuses : 4 pass(s)
- Exec time: [7.01, 8.95] s
* igt@kms_cursor_crc@cursor-sliding-256x256@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.89] s
* igt@kms_cursor_crc@cursor-sliding-256x256@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [4.51] s
* igt@kms_cursor_crc@cursor-sliding-256x85:
- Statuses : 2 pass(s) 2 skip(s)
- Exec time: [0.04, 7.54] s
* igt@kms_cursor_crc@cursor-sliding-32x10:
- Statuses : 4 skip(s)
- Exec time: [0.03, 0.04] s
* igt@kms_cursor_crc@cursor-sliding-32x32:
- Statuses : 2 skip(s)
- Exec time: [0.03, 0.04] s
* igt@kms_cursor_crc@cursor-sliding-512x170:
- Statuses : 4 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-sliding-512x512:
- Statuses : 3 skip(s)
- Exec time: [0.00] s
* igt@kms_cursor_crc@cursor-sliding-64x21:
- Statuses :
- Exec time: [None] s
* igt@kms_cursor_crc@cursor-sliding-64x64:
- Statuses : 3 pass(s)
- Exec time: [7.00, 8.92] s
* igt@kms_cursor_crc@cursor-sliding-64x64@pipe-a-edp-1:
- Statuses : 1 pass(s)
- Exec time: [3.87] s
* igt@kms_cursor_crc@cursor-sliding-64x64@pipe-c-edp-1:
- Statuses : 1 pass(s)
- Exec time: [4.47] s
* igt@kms_cursor_crc@cursor-sliding-max-size:
- Statuses : 4 skip(s)
- Exec time: [0.0] s
* igt@kms_flip@basic-plain-flip@d-dp2:
- Statuses : 1 pass(s)
- Exec time: [0.77] s
* igt@kms_plane_cursor@overlay:
- Statuses : 4 pass(s)
- Exec time: [28.29, 36.83] s
* igt@kms_plane_cursor@overlay@pipe-a-edp-1-size-128:
- Statuses : 1 pass(s)
- Exec time: [3.01] s
* igt@kms_plane_cursor@overlay@pipe-a-edp-1-size-256:
- Statuses : 1 pass(s)
- Exec time: [2.88] s
* igt@kms_plane_cursor@overlay@pipe-a-edp-1-size-64:
- Statuses : 1 pass(s)
- Exec time: [2.89] s
* igt@kms_plane_cursor@primary:
- Statuses : 1 fail(s) 3 pass(s)
- Exec time: [26.75, 36.27] s
* igt@kms_plane_cursor@primary@pipe-a-edp-1-size-128:
- Statuses : 1 pass(s)
- Exec time: [2.78] s
* igt@kms_plane_cursor@primary@pipe-a-edp-1-size-256:
- Statuses : 1 pass(s)
- Exec time: [2.80] s
* igt@kms_plane_cursor@primary@pipe-a-edp-1-size-64:
- Statuses : 1 pass(s)
- Exec time: [2.86] s
* igt@kms_plane_cursor@viewport:
- Statuses : 1 fail(s) 3 pass(s)
- Exec time: [29.65, 36.32] s
* igt@kms_plane_cursor@viewport@pipe-a-edp-1-size-128:
- Statuses : 1 pass(s)
- Exec time: [3.10] s
* igt@kms_plane_cursor@viewport@pipe-a-edp-1-size-256:
- Statuses : 1 pass(s)
- Exec time: [3.20] s
* igt@kms_plane_cursor@viewport@pipe-a-edp-1-size-64:
- Statuses : 1 pass(s)
- Exec time: [3.25] s
* igt@kms_plane_cursor@viewport@pipe-c-dp-2-size-128:
- Statuses : 1 pass(s)
- Exec time: [2.97] s
* igt@kms_plane_cursor@viewport@pipe-c-dp-2-size-256:
- Statuses : 1 pass(s)
- Exec time: [2.95] s
* igt@kms_plane_cursor@viewport@pipe-c-dp-2-size-64:
- Statuses : 1 pass(s)
- Exec time: [2.76] s
Known issues
------------
Here are the changes found in xe-pw-153903v1_FULL that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_big_fb@4-tiled-addfb-size-overflow:
- shard-adlp: NOTRUN -> [SKIP][3] ([Intel XE#610])
[3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_big_fb@4-tiled-addfb-size-overflow.html
* igt@kms_big_fb@linear-64bpp-rotate-90:
- shard-adlp: NOTRUN -> [SKIP][4] ([Intel XE#316])
[4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_big_fb@linear-64bpp-rotate-90.html
- shard-bmg: NOTRUN -> [SKIP][5] ([Intel XE#2327])
[5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_big_fb@linear-64bpp-rotate-90.html
- shard-dg2-set2: NOTRUN -> [SKIP][6] ([Intel XE#316]) +1 other test skip
[6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_big_fb@linear-64bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-64bpp-rotate-180:
- shard-adlp: NOTRUN -> [DMESG-FAIL][7] ([Intel XE#4543])
[7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_big_fb@x-tiled-64bpp-rotate-180.html
* igt@kms_big_fb@y-tiled-16bpp-rotate-270:
- shard-dg2-set2: NOTRUN -> [SKIP][8] ([Intel XE#1124])
[8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_big_fb@y-tiled-16bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-0:
- shard-bmg: NOTRUN -> [SKIP][9] ([Intel XE#1124]) +1 other test skip
[9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_big_fb@yf-tiled-64bpp-rotate-0.html
* igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow:
- shard-dg2-set2: NOTRUN -> [SKIP][10] ([Intel XE#607])
[10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_big_fb@yf-tiled-addfb-size-offset-overflow.html
* igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p:
- shard-bmg: [PASS][11] -> [SKIP][12] ([Intel XE#2314] / [Intel XE#2894]) +1 other test skip
[11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-3/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
[12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-2560x1440p.html
* igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p:
- shard-dg2-set2: NOTRUN -> [SKIP][13] ([Intel XE#2191])
[13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
- shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#2191])
[14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-lnl-8/igt@kms_bw@connected-linear-tiling-3-displays-2160x1440p.html
* igt@kms_bw@linear-tiling-1-displays-2560x1440p:
- shard-bmg: NOTRUN -> [SKIP][15] ([Intel XE#367])
[15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_bw@linear-tiling-1-displays-2560x1440p.html
- shard-adlp: NOTRUN -> [SKIP][16] ([Intel XE#367])
[16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_bw@linear-tiling-1-displays-2560x1440p.html
* igt@kms_bw@linear-tiling-2-displays-3840x2160p:
- shard-dg2-set2: NOTRUN -> [SKIP][17] ([Intel XE#367]) +1 other test skip
[17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_bw@linear-tiling-2-displays-3840x2160p.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-a-dp-2:
- shard-dg2-set2: NOTRUN -> [SKIP][18] ([Intel XE#787]) +111 other tests skip
[18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-432/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs@pipe-a-dp-2.html
* igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs:
- shard-dg2-set2: NOTRUN -> [SKIP][19] ([Intel XE#2907])
[19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
- shard-adlp: NOTRUN -> [SKIP][20] ([Intel XE#2907])
[20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html
* igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-d-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][21] ([Intel XE#455] / [Intel XE#787]) +18 other tests skip
[21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_ccs@crc-primary-basic-yf-tiled-ccs@pipe-d-dp-4.html
* igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [SKIP][22] ([Intel XE#2652] / [Intel XE#787]) +3 other tests skip
[22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-1/igt@kms_ccs@crc-primary-suspend-4-tiled-lnl-ccs@pipe-a-dp-2.html
* igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs:
- shard-bmg: NOTRUN -> [SKIP][23] ([Intel XE#3432])
[23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_ccs@crc-primary-suspend-y-tiled-gen12-mc-ccs.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc:
- shard-bmg: NOTRUN -> [SKIP][24] ([Intel XE#2887])
[24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][25] ([Intel XE#787]) +2 other tests skip
[25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-1.html
* igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1:
- shard-adlp: NOTRUN -> [SKIP][26] ([Intel XE#455] / [Intel XE#787]) +1 other test skip
[26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_ccs@missing-ccs-buffer-y-tiled-gen12-rc-ccs-cc@pipe-d-hdmi-a-1.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc:
- shard-dg2-set2: [PASS][27] -> [INCOMPLETE][28] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
[27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
[28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4:
- shard-dg2-set2: [PASS][29] -> [INCOMPLETE][30] ([Intel XE#3124])
[29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4.html
[30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-dp-4.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6:
- shard-dg2-set2: [PASS][31] -> [DMESG-WARN][32] ([Intel XE#1727] / [Intel XE#3113])
[31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-435/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6.html
[32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-463/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs-cc@pipe-a-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-2:
- shard-dg2-set2: NOTRUN -> [INCOMPLETE][33] ([Intel XE#1727] / [Intel XE#3113])
[33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-b-dp-2.html
* igt@kms_cdclk@plane-scaling@pipe-b-dp-4:
- shard-dg2-set2: NOTRUN -> [SKIP][34] ([Intel XE#4416]) +3 other tests skip
[34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_cdclk@plane-scaling@pipe-b-dp-4.html
* igt@kms_chamelium_color@ctm-0-25:
- shard-adlp: NOTRUN -> [SKIP][35] ([Intel XE#306])
[35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_chamelium_color@ctm-0-25.html
- shard-bmg: NOTRUN -> [SKIP][36] ([Intel XE#2325])
[36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_chamelium_color@ctm-0-25.html
- shard-dg2-set2: NOTRUN -> [SKIP][37] ([Intel XE#306])
[37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_chamelium_color@ctm-0-25.html
* igt@kms_chamelium_hpd@hdmi-hpd-after-hibernate:
- shard-bmg: NOTRUN -> [SKIP][38] ([Intel XE#2252]) +3 other tests skip
[38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-4/igt@kms_chamelium_hpd@hdmi-hpd-after-hibernate.html
* igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe:
- shard-dg2-set2: NOTRUN -> [SKIP][39] ([Intel XE#373]) +1 other test skip
[39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
- shard-adlp: NOTRUN -> [SKIP][40] ([Intel XE#373])
[40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_chamelium_hpd@hdmi-hpd-for-each-pipe.html
* igt@kms_color@deep-color:
- shard-adlp: NOTRUN -> [SKIP][41] ([Intel XE#455]) +2 other tests skip
[41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_color@deep-color.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-2:
- shard-bmg: NOTRUN -> [FAIL][42] ([Intel XE#1178])
[42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-1/igt@kms_content_protection@lic-type-0@pipe-a-dp-2.html
* igt@kms_cursor_crc@cursor-offscreen-512x512 (NEW):
- shard-bmg: NOTRUN -> [SKIP][43] ([Intel XE#2321])
[43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_legacy@cursorb-vs-flipa-legacy:
- shard-adlp: NOTRUN -> [SKIP][44] ([Intel XE#309]) +1 other test skip
[44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_cursor_legacy@cursorb-vs-flipa-legacy.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size:
- shard-bmg: [PASS][45] -> [SKIP][46] ([Intel XE#2291]) +2 other tests skip
[45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-4/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
[46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
- shard-dg2-set2: NOTRUN -> [SKIP][47] ([Intel XE#323])
[47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
- shard-adlp: NOTRUN -> [SKIP][48] ([Intel XE#323])
[48]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
- shard-bmg: NOTRUN -> [SKIP][49] ([Intel XE#2286])
[49]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html
* igt@kms_dp_linktrain_fallback@dp-fallback:
- shard-bmg: [PASS][50] -> [SKIP][51] ([Intel XE#4294])
[50]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-2/igt@kms_dp_linktrain_fallback@dp-fallback.html
[51]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_dp_linktrain_fallback@dp-fallback.html
* igt@kms_flip@2x-nonexisting-fb:
- shard-bmg: [PASS][52] -> [SKIP][53] ([Intel XE#2316]) +7 other tests skip
[52]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-2/igt@kms_flip@2x-nonexisting-fb.html
[53]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_flip@2x-nonexisting-fb.html
* igt@kms_flip@flip-vs-blocking-wf-vblank@c-hdmi-a1:
- shard-adlp: [PASS][54] -> [DMESG-WARN][55] ([Intel XE#4543]) +6 other tests dmesg-warn
[54]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-adlp-3/igt@kms_flip@flip-vs-blocking-wf-vblank@c-hdmi-a1.html
[55]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-8/igt@kms_flip@flip-vs-blocking-wf-vblank@c-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a1:
- shard-adlp: [PASS][56] -> [DMESG-WARN][57] ([Intel XE#2953] / [Intel XE#4173]) +4 other tests dmesg-warn
[56]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-adlp-8/igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a1.html
[57]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible@d-hdmi-a1.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling:
- shard-bmg: NOTRUN -> [SKIP][58] ([Intel XE#2293] / [Intel XE#2380]) +1 other test skip
[58]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/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-bmg: NOTRUN -> [SKIP][59] ([Intel XE#2293]) +1 other test skip
[59]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_flip_scaled_crc@flip-32bpp-yftileccs-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling:
- shard-dg2-set2: NOTRUN -> [SKIP][60] ([Intel XE#455]) +1 other test skip
[60]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html
* igt@kms_frontbuffer_tracking@drrs-1p-pri-indfb-multidraw:
- shard-dg2-set2: NOTRUN -> [SKIP][61] ([Intel XE#651]) +3 other tests skip
[61]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_frontbuffer_tracking@drrs-1p-pri-indfb-multidraw.html
- shard-adlp: NOTRUN -> [SKIP][62] ([Intel XE#651])
[62]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_frontbuffer_tracking@drrs-1p-pri-indfb-multidraw.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-blt:
- shard-adlp: NOTRUN -> [SKIP][63] ([Intel XE#656]) +3 other tests skip
[63]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-blt.html
- shard-bmg: NOTRUN -> [SKIP][64] ([Intel XE#2311]) +8 other tests skip
[64]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move:
- shard-bmg: NOTRUN -> [SKIP][65] ([Intel XE#5390]) +3 other tests skip
[65]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-blt:
- shard-bmg: NOTRUN -> [SKIP][66] ([Intel XE#2312]) +2 other tests skip
[66]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcdrrs-2p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move:
- shard-adlp: NOTRUN -> [SKIP][67] ([Intel XE#653]) +2 other tests skip
[67]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt:
- shard-dg2-set2: NOTRUN -> [SKIP][68] ([Intel XE#653]) +6 other tests skip
[68]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc:
- shard-bmg: NOTRUN -> [SKIP][69] ([Intel XE#2313]) +10 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-wc.html
* igt@kms_hdr@invalid-hdr:
- shard-dg2-set2: [PASS][70] -> [SKIP][71] ([Intel XE#455])
[70]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-463/igt@kms_hdr@invalid-hdr.html
[71]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_hdr@invalid-hdr.html
* igt@kms_joiner@invalid-modeset-big-joiner:
- shard-dg2-set2: NOTRUN -> [SKIP][72] ([Intel XE#346])
[72]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_joiner@invalid-modeset-big-joiner.html
- shard-lnl: NOTRUN -> [SKIP][73] ([Intel XE#346])
[73]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-lnl-8/igt@kms_joiner@invalid-modeset-big-joiner.html
* igt@kms_joiner@invalid-modeset-force-big-joiner:
- shard-bmg: [PASS][74] -> [SKIP][75] ([Intel XE#3012])
[74]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-2/igt@kms_joiner@invalid-modeset-force-big-joiner.html
[75]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_joiner@invalid-modeset-force-big-joiner.html
* igt@kms_plane_cursor@viewport@pipe-a-hdmi-a-2-size-64:
- shard-dg2-set2: NOTRUN -> [FAIL][76] ([Intel XE#616])
[76]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-432/igt@kms_plane_cursor@viewport@pipe-a-hdmi-a-2-size-64.html
* igt@kms_plane_scaling@2x-scaler-multi-pipe:
- shard-bmg: [PASS][77] -> [SKIP][78] ([Intel XE#2571])
[77]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-7/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
[78]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_plane_scaling@2x-scaler-multi-pipe.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75:
- shard-bmg: NOTRUN -> [SKIP][79] ([Intel XE#2763]) +4 other tests skip
[79]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf:
- shard-adlp: NOTRUN -> [SKIP][80] ([Intel XE#1406] / [Intel XE#1489])
[80]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html
- shard-bmg: NOTRUN -> [SKIP][81] ([Intel XE#1406] / [Intel XE#1489]) +1 other test skip
[81]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html
- shard-dg2-set2: NOTRUN -> [SKIP][82] ([Intel XE#1406] / [Intel XE#1489]) +1 other test skip
[82]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
- shard-lnl: NOTRUN -> [SKIP][83] ([Intel XE#1406] / [Intel XE#2893] / [Intel XE#4608])
[83]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf@pipe-b-edp-1:
- shard-lnl: NOTRUN -> [SKIP][84] ([Intel XE#1406] / [Intel XE#4608]) +1 other test skip
[84]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-lnl-8/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf@pipe-b-edp-1.html
* igt@kms_psr@fbc-psr2-primary-blt:
- shard-lnl: NOTRUN -> [SKIP][85] ([Intel XE#1406])
[85]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-lnl-8/igt@kms_psr@fbc-psr2-primary-blt.html
* igt@kms_psr@fbc-psr2-primary-blt@edp-1:
- shard-lnl: NOTRUN -> [SKIP][86] ([Intel XE#1406] / [Intel XE#4609])
[86]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-lnl-8/igt@kms_psr@fbc-psr2-primary-blt@edp-1.html
* igt@kms_psr@pr-sprite-plane-move:
- shard-dg2-set2: NOTRUN -> [SKIP][87] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +4 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_psr@pr-sprite-plane-move.html
* igt@kms_psr@pr-suspend:
- shard-bmg: NOTRUN -> [SKIP][88] ([Intel XE#1406] / [Intel XE#2234] / [Intel XE#2850]) +4 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@kms_psr@pr-suspend.html
- shard-adlp: NOTRUN -> [SKIP][89] ([Intel XE#1406] / [Intel XE#2850] / [Intel XE#929]) +1 other test skip
[89]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_psr@pr-suspend.html
* igt@kms_rotation_crc@primary-y-tiled-reflect-x-270:
- shard-dg2-set2: NOTRUN -> [SKIP][90] ([Intel XE#3414])
[90]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_rotation_crc@primary-y-tiled-reflect-x-270.html
* igt@kms_setmode@invalid-clone-single-crtc-stealing:
- shard-bmg: [PASS][91] -> [SKIP][92] ([Intel XE#1435])
[91]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-7/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
[92]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc-stealing.html
* igt@xe_compute@ccs-mode-compute-kernel:
- shard-bmg: NOTRUN -> [FAIL][93] ([Intel XE#5963])
[93]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@xe_compute@ccs-mode-compute-kernel.html
* igt@xe_copy_basic@mem-set-linear-0xfffe:
- shard-dg2-set2: NOTRUN -> [SKIP][94] ([Intel XE#1126])
[94]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@xe_copy_basic@mem-set-linear-0xfffe.html
- shard-adlp: NOTRUN -> [SKIP][95] ([Intel XE#1126])
[95]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_copy_basic@mem-set-linear-0xfffe.html
* igt@xe_eudebug@basic-vm-access-parameters-userptr:
- shard-bmg: NOTRUN -> [SKIP][96] ([Intel XE#4837]) +2 other tests skip
[96]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@xe_eudebug@basic-vm-access-parameters-userptr.html
* igt@xe_eudebug_online@resume-dss:
- shard-dg2-set2: NOTRUN -> [SKIP][97] ([Intel XE#4837]) +2 other tests skip
[97]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@xe_eudebug_online@resume-dss.html
- shard-adlp: NOTRUN -> [SKIP][98] ([Intel XE#4837] / [Intel XE#5565]) +1 other test skip
[98]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_eudebug_online@resume-dss.html
* igt@xe_evict@evict-beng-large:
- shard-adlp: NOTRUN -> [SKIP][99] ([Intel XE#261] / [Intel XE#5564])
[99]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_evict@evict-beng-large.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-mmap:
- shard-adlp: NOTRUN -> [SKIP][100] ([Intel XE#1392] / [Intel XE#5575])
[100]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-mmap.html
- shard-bmg: NOTRUN -> [SKIP][101] ([Intel XE#2322]) +1 other test skip
[101]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-null-defer-mmap.html
* igt@xe_exec_basic@multigpu-once-bindexecqueue-rebind:
- shard-dg2-set2: [PASS][102] -> [SKIP][103] ([Intel XE#1392]) +2 other tests skip
[102]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-435/igt@xe_exec_basic@multigpu-once-bindexecqueue-rebind.html
[103]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-432/igt@xe_exec_basic@multigpu-once-bindexecqueue-rebind.html
* igt@xe_exec_fault_mode@many-bindexecqueue-rebind-imm:
- shard-adlp: NOTRUN -> [SKIP][104] ([Intel XE#288] / [Intel XE#5561]) +1 other test skip
[104]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_exec_fault_mode@many-bindexecqueue-rebind-imm.html
* igt@xe_exec_fault_mode@twice-invalid-fault:
- shard-dg2-set2: NOTRUN -> [SKIP][105] ([Intel XE#288]) +3 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@xe_exec_fault_mode@twice-invalid-fault.html
* igt@xe_exec_system_allocator@many-large-malloc-nomemset:
- shard-dg2-set2: NOTRUN -> [SKIP][106] ([Intel XE#4915]) +61 other tests skip
[106]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@xe_exec_system_allocator@many-large-malloc-nomemset.html
* igt@xe_exec_system_allocator@once-mmap-file-nomemset:
- shard-adlp: NOTRUN -> [SKIP][107] ([Intel XE#4915]) +34 other tests skip
[107]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_exec_system_allocator@once-mmap-file-nomemset.html
* igt@xe_exec_system_allocator@twice-large-mmap-huge:
- shard-bmg: NOTRUN -> [SKIP][108] ([Intel XE#4943]) +6 other tests skip
[108]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@xe_exec_system_allocator@twice-large-mmap-huge.html
* igt@xe_exec_threads@threads-bal-mixed-fd-userptr-invalidate:
- shard-dg2-set2: [PASS][109] -> [ABORT][110] ([Intel XE#5433])
[109]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-435/igt@xe_exec_threads@threads-bal-mixed-fd-userptr-invalidate.html
[110]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-432/igt@xe_exec_threads@threads-bal-mixed-fd-userptr-invalidate.html
* igt@xe_oa@disabled-read-error:
- shard-dg2-set2: NOTRUN -> [SKIP][111] ([Intel XE#3573]) +2 other tests skip
[111]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@xe_oa@disabled-read-error.html
* igt@xe_oa@privileged-forked-access-vaddr:
- shard-adlp: NOTRUN -> [SKIP][112] ([Intel XE#3573]) +1 other test skip
[112]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_oa@privileged-forked-access-vaddr.html
* igt@xe_pm@d3cold-basic:
- shard-bmg: NOTRUN -> [SKIP][113] ([Intel XE#2284])
[113]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@xe_pm@d3cold-basic.html
- shard-adlp: NOTRUN -> [SKIP][114] ([Intel XE#2284] / [Intel XE#366])
[114]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_pm@d3cold-basic.html
- shard-dg2-set2: NOTRUN -> [SKIP][115] ([Intel XE#2284] / [Intel XE#366])
[115]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@xe_pm@d3cold-basic.html
* igt@xe_pmu@fn-engine-activity-sched-if-idle:
- shard-dg2-set2: NOTRUN -> [SKIP][116] ([Intel XE#4650])
[116]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@xe_pmu@fn-engine-activity-sched-if-idle.html
* igt@xe_pxp@pxp-stale-queue-post-termination-irq:
- shard-adlp: NOTRUN -> [SKIP][117] ([Intel XE#4733] / [Intel XE#5594])
[117]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@xe_pxp@pxp-stale-queue-post-termination-irq.html
- shard-bmg: NOTRUN -> [SKIP][118] ([Intel XE#4733])
[118]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@xe_pxp@pxp-stale-queue-post-termination-irq.html
- shard-dg2-set2: NOTRUN -> [SKIP][119] ([Intel XE#4733])
[119]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-434/igt@xe_pxp@pxp-stale-queue-post-termination-irq.html
* igt@xe_spin_batch@spin-mem-copy:
- shard-dg2-set2: NOTRUN -> [SKIP][120] ([Intel XE#4821])
[120]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@xe_spin_batch@spin-mem-copy.html
#### Possible fixes ####
* igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip:
- shard-adlp: [DMESG-FAIL][121] ([Intel XE#4543]) -> [PASS][122]
[121]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-adlp-6/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
[122]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-4/igt@kms_big_fb@x-tiled-max-hw-stride-64bpp-rotate-0-hflip-async-flip.html
* igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p:
- shard-bmg: [SKIP][123] ([Intel XE#2314] / [Intel XE#2894]) -> [PASS][124]
[123]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
[124]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-4/igt@kms_bw@connected-linear-tiling-2-displays-3840x2160p.html
* igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size:
- shard-bmg: [SKIP][125] ([Intel XE#2291]) -> [PASS][126] +3 other tests pass
[125]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
[126]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-3/igt@kms_cursor_legacy@cursora-vs-flipb-atomic-transitions-varying-size.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic:
- shard-bmg: [FAIL][127] ([Intel XE#4633]) -> [PASS][128]
[127]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-1/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
[128]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-5/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html
* igt@kms_dp_aux_dev:
- shard-bmg: [SKIP][129] ([Intel XE#3009]) -> [PASS][130]
[129]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_dp_aux_dev.html
[130]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-3/igt@kms_dp_aux_dev.html
* igt@kms_flip@2x-plain-flip-fb-recreate:
- shard-bmg: [SKIP][131] ([Intel XE#2316]) -> [PASS][132] +5 other tests pass
[131]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_flip@2x-plain-flip-fb-recreate.html
[132]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-4/igt@kms_flip@2x-plain-flip-fb-recreate.html
* igt@kms_flip@flip-vs-rmfb@d-hdmi-a1:
- shard-adlp: [DMESG-WARN][133] ([Intel XE#4543]) -> [PASS][134] +3 other tests pass
[133]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-adlp-2/igt@kms_flip@flip-vs-rmfb@d-hdmi-a1.html
[134]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-6/igt@kms_flip@flip-vs-rmfb@d-hdmi-a1.html
* igt@kms_flip@flip-vs-suspend-interruptible:
- shard-bmg: [INCOMPLETE][135] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][136] +1 other test pass
[135]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-8/igt@kms_flip@flip-vs-suspend-interruptible.html
[136]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-4/igt@kms_flip@flip-vs-suspend-interruptible.html
- shard-dg2-set2: [INCOMPLETE][137] ([Intel XE#2049] / [Intel XE#2597]) -> [PASS][138]
[137]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-432/igt@kms_flip@flip-vs-suspend-interruptible.html
[138]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@kms_flip@flip-vs-suspend-interruptible.html
* igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1:
- shard-adlp: [DMESG-WARN][139] ([Intel XE#2953] / [Intel XE#4173]) -> [PASS][140]
[139]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-adlp-8/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
[140]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-3/igt@kms_flip@flip-vs-suspend-interruptible@a-hdmi-a1.html
* igt@kms_plane_multiple@2x-tiling-x:
- shard-bmg: [SKIP][141] ([Intel XE#4596]) -> [PASS][142]
[141]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_plane_multiple@2x-tiling-x.html
[142]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-4/igt@kms_plane_multiple@2x-tiling-x.html
* igt@kms_setmode@invalid-clone-single-crtc:
- shard-bmg: [SKIP][143] ([Intel XE#1435]) -> [PASS][144]
[143]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_setmode@invalid-clone-single-crtc.html
[144]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-3/igt@kms_setmode@invalid-clone-single-crtc.html
* igt@kms_vrr@cmrr@pipe-a-edp-1:
- shard-lnl: [FAIL][145] ([Intel XE#4459]) -> [PASS][146] +1 other test pass
[145]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-lnl-7/igt@kms_vrr@cmrr@pipe-a-edp-1.html
[146]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-lnl-5/igt@kms_vrr@cmrr@pipe-a-edp-1.html
* igt@kms_vrr@negative-basic:
- shard-bmg: [SKIP][147] ([Intel XE#1499]) -> [PASS][148]
[147]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_vrr@negative-basic.html
[148]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-4/igt@kms_vrr@negative-basic.html
* igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind:
- shard-dg2-set2: [SKIP][149] ([Intel XE#1392]) -> [PASS][150] +4 other tests pass
[149]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-432/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind.html
[150]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-bindexecqueue-userptr-rebind.html
* igt@xe_exec_reset@parallel-gt-reset:
- shard-dg2-set2: [DMESG-WARN][151] ([Intel XE#3876]) -> [PASS][152]
[151]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-464/igt@xe_exec_reset@parallel-gt-reset.html
[152]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-433/igt@xe_exec_reset@parallel-gt-reset.html
* {igt@xe_exec_system_allocator@many-stride-malloc-prefetch}:
- shard-bmg: [WARN][153] ([Intel XE#5786]) -> [PASS][154]
[153]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-1/igt@xe_exec_system_allocator@many-stride-malloc-prefetch.html
[154]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-1/igt@xe_exec_system_allocator@many-stride-malloc-prefetch.html
* igt@xe_pm_residency@idle-residency@gt0:
- shard-bmg: [INCOMPLETE][155] -> [PASS][156] +1 other test pass
[155]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-5/igt@xe_pm_residency@idle-residency@gt0.html
[156]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-2/igt@xe_pm_residency@idle-residency@gt0.html
#### Warnings ####
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs:
- shard-dg2-set2: [INCOMPLETE][157] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) -> [INCOMPLETE][158] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
[157]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
[158]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6:
- shard-dg2-set2: [INCOMPLETE][159] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4522]) -> [INCOMPLETE][160] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#3124])
[159]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-433/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
[160]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-464/igt@kms_ccs@random-ccs-data-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-6.html
* igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs:
- shard-dg2-set2: [INCOMPLETE][161] ([Intel XE#1727] / [Intel XE#2705] / [Intel XE#3113] / [Intel XE#4212] / [Intel XE#4345] / [Intel XE#4522]) -> [INCOMPLETE][162] ([Intel XE#1727] / [Intel XE#3113] / [Intel XE#4345])
[161]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-dg2-436/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
[162]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-dg2-432/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs.html
* igt@kms_content_protection@lic-type-0:
- shard-bmg: [SKIP][163] ([Intel XE#2341]) -> [FAIL][164] ([Intel XE#1178])
[163]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_content_protection@lic-type-0.html
[164]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-1/igt@kms_content_protection@lic-type-0.html
* igt@kms_flip@2x-flip-vs-suspend-interruptible:
- shard-bmg: [INCOMPLETE][165] ([Intel XE#2049] / [Intel XE#2597]) -> [SKIP][166] ([Intel XE#2316])
[165]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-2/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
[166]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_flip@2x-flip-vs-suspend-interruptible.html
* igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt:
- shard-bmg: [SKIP][167] ([Intel XE#2311]) -> [SKIP][168] ([Intel XE#2312]) +14 other tests skip
[167]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-3/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
[168]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-primscrn-indfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt:
- shard-bmg: [SKIP][169] ([Intel XE#2312]) -> [SKIP][170] ([Intel XE#2311]) +11 other tests skip
[169]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt.html
[170]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-3/igt@kms_frontbuffer_tracking@drrs-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt:
- shard-adlp: [FAIL][171] ([Intel XE#5671]) -> [DMESG-FAIL][172] ([Intel XE#4543])
[171]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-adlp-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html
[172]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-adlp-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt:
- shard-bmg: [SKIP][173] ([Intel XE#2312]) -> [SKIP][174] ([Intel XE#5390]) +8 other tests skip
[173]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html
[174]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-pgflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
- shard-bmg: [SKIP][175] ([Intel XE#5390]) -> [SKIP][176] ([Intel XE#2312]) +7 other tests skip
[175]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
[176]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt:
- shard-bmg: [SKIP][177] ([Intel XE#2312]) -> [SKIP][178] ([Intel XE#2313]) +13 other tests skip
[177]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-6/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html
[178]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt:
- shard-bmg: [SKIP][179] ([Intel XE#2313]) -> [SKIP][180] ([Intel XE#2312]) +13 other tests skip
[179]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
[180]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-6/igt@kms_frontbuffer_tracking@psr-2p-primscrn-indfb-plflip-blt.html
* igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv:
- shard-bmg: [ABORT][181] ([Intel XE#4917] / [Intel XE#5466] / [Intel XE#5530]) -> [ABORT][182] ([Intel XE#5466] / [Intel XE#5530])
[181]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f/shard-bmg-5/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
[182]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/shard-bmg-3/igt@xe_fault_injection@probe-fail-guc-xe_guc_ct_send_recv.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124
[Intel XE#1126]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1126
[Intel XE#1178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1178
[Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392
[Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406
[Intel XE#1435]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1435
[Intel XE#1489]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1489
[Intel XE#1499]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1499
[Intel XE#1727]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1727
[Intel XE#2049]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2049
[Intel XE#2191]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2191
[Intel XE#2234]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2234
[Intel XE#2252]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2252
[Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284
[Intel XE#2286]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2286
[Intel XE#2291]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2291
[Intel XE#2293]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2293
[Intel XE#2311]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2311
[Intel XE#2312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2312
[Intel XE#2313]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2313
[Intel XE#2314]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2314
[Intel XE#2316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2316
[Intel XE#2321]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2321
[Intel XE#2322]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2322
[Intel XE#2325]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2325
[Intel XE#2327]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2327
[Intel XE#2341]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2341
[Intel XE#2380]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2380
[Intel XE#2571]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2571
[Intel XE#2597]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2597
[Intel XE#261]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/261
[Intel XE#2652]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2652
[Intel XE#2705]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2705
[Intel XE#2763]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2763
[Intel XE#2850]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2850
[Intel XE#288]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/288
[Intel XE#2887]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2887
[Intel XE#2893]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2893
[Intel XE#2894]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2894
[Intel XE#2907]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2907
[Intel XE#2953]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2953
[Intel XE#3009]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3009
[Intel XE#3012]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3012
[Intel XE#306]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/306
[Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309
[Intel XE#3113]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3113
[Intel XE#3124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3124
[Intel XE#316]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/316
[Intel XE#323]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/323
[Intel XE#3414]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3414
[Intel XE#3432]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3432
[Intel XE#346]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/346
[Intel XE#3573]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3573
[Intel XE#366]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/366
[Intel XE#367]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/367
[Intel XE#373]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/373
[Intel XE#3876]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3876
[Intel XE#4173]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4173
[Intel XE#4212]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4212
[Intel XE#4294]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4294
[Intel XE#4345]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4345
[Intel XE#4416]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4416
[Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459
[Intel XE#4522]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4522
[Intel XE#4543]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4543
[Intel XE#455]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/455
[Intel XE#4596]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4596
[Intel XE#4608]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4608
[Intel XE#4609]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4609
[Intel XE#4633]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4633
[Intel XE#4650]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4650
[Intel XE#4733]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4733
[Intel XE#4821]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4821
[Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837
[Intel XE#4915]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4915
[Intel XE#4917]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4917
[Intel XE#4943]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4943
[Intel XE#5007]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5007
[Intel XE#5390]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5390
[Intel XE#5433]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5433
[Intel XE#5466]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5466
[Intel XE#5530]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5530
[Intel XE#5561]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5561
[Intel XE#5564]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5564
[Intel XE#5565]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5565
[Intel XE#5575]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5575
[Intel XE#5594]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5594
[Intel XE#5671]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5671
[Intel XE#5786]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5786
[Intel XE#5963]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5963
[Intel XE#607]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/607
[Intel XE#610]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/610
[Intel XE#616]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/616
[Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651
[Intel XE#653]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/653
[Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656
[Intel XE#787]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/787
[Intel XE#929]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/929
Build changes
-------------
* Linux: xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f -> xe-pw-153903v1
IGT_8519: 8519
xe-3665-064ed3bcbfa74a64c35d27c83f96413ae15cc23f: 064ed3bcbfa74a64c35d27c83f96413ae15cc23f
xe-pw-153903v1: 153903v1
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-153903v1/index.html
[-- Attachment #2: Type: text/html, Size: 78965 bytes --]
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc.
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
` (12 preceding siblings ...)
2025-09-03 2:28 ` ✗ Xe.CI.Full: failure " Patchwork
@ 2025-09-04 11:46 ` Jocelyn Falempe
2025-09-08 11:29 ` [PATCH 0/8] drm/{i915,xe}/panic: " Jani Nikula
13 siblings, 1 reply; 20+ messages in thread
From: Jocelyn Falempe @ 2025-09-04 11:46 UTC (permalink / raw)
To: Jani Nikula, intel-gfx, intel-xe; +Cc: Maarten Lankhorst
On 02/09/2025 19:51, Jani Nikula wrote:
> Split out intel_panic functionality separate from intel_bo abstraction,
> and lift the framebuffer allocation back to where it belongs in
> intel_fb.c.
>
> There's more that should be improved, ideally making struct
> intel_framebuffer opaque towards i915 and xe, but this already goes
> along way in adjusting where the abstractions should happen.
Thanks for this series, this makes sense, and moving the panic part to
intel_panic.c is a good idea.
I think this may conflict with
https://patchwork.freedesktop.org/series/150887/ but that should be
trivial to resolve.
For the whole series:
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Best regards,
--
Jocelyn
>
> BR,
> Jani.
>
> Cc: Jocelyn Falempe <jfalempe@redhat.com>
> Cc: Maarten Lankhorst <dev@lankhorst.se>
>
>
> Jani Nikula (8):
> drm/i915/fb: add intel_framebuffer_alloc()
> drm/{i915,xe}/panic: split out intel_panic.[ch]
> drm/{i915,xe}/panic: rename intel_bo_panic_*() to intel_panic_*()
> drm/{i915,xe}/fb: add panic pointer member to struct intel_framebuffer
> drm/{i915,xe}/panic: rename struct {i915,xe}_panic_data to struct
> intel_panic
> drm/{i915,xe}/panic: move framebuffer allocation where it belongs
> drm/{i915,xe}/panic: convert intel_panic_finish() to struct
> intel_panic
> drm/{i915,xe}/panic: pass struct intel_panic to intel_panic_setup()
>
> drivers/gpu/drm/i915/Makefile | 1 +
> drivers/gpu/drm/i915/display/i9xx_plane.c | 4 +-
> drivers/gpu/drm/i915/display/intel_bo.c | 15 ---
> drivers/gpu/drm/i915/display/intel_bo.h | 3 -
> .../drm/i915/display/intel_display_types.h | 2 +
> drivers/gpu/drm/i915/display/intel_fb.c | 23 ++++-
> drivers/gpu/drm/i915/display/intel_fb.h | 3 +
> drivers/gpu/drm/i915/display/intel_panic.c | 27 ++++++
> drivers/gpu/drm/i915/display/intel_panic.h | 14 +++
> drivers/gpu/drm/i915/display/intel_plane.c | 6 +-
> .../drm/i915/display/skl_universal_plane.c | 3 +-
> drivers/gpu/drm/i915/gem/i915_gem_object.h | 11 ++-
> drivers/gpu/drm/i915/gem/i915_gem_pages.c | 40 +++-----
> drivers/gpu/drm/xe/Makefile | 1 +
> drivers/gpu/drm/xe/display/intel_bo.c | 91 -------------------
> drivers/gpu/drm/xe/display/xe_panic.c | 80 ++++++++++++++++
> 16 files changed, 176 insertions(+), 148 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/display/intel_panic.c
> create mode 100644 drivers/gpu/drm/i915/display/intel_panic.h
> create mode 100644 drivers/gpu/drm/xe/display/xe_panic.c
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/8] drm/{i915,xe}/panic: refactor framebuffer allocation etc.
2025-09-04 11:46 ` [PATCH 0/8] " Jocelyn Falempe
@ 2025-09-08 11:29 ` Jani Nikula
0 siblings, 0 replies; 20+ messages in thread
From: Jani Nikula @ 2025-09-08 11:29 UTC (permalink / raw)
To: Jocelyn Falempe, intel-gfx, intel-xe; +Cc: Maarten Lankhorst
On Thu, 04 Sep 2025, Jocelyn Falempe <jfalempe@redhat.com> wrote:
> On 02/09/2025 19:51, Jani Nikula wrote:
>> Split out intel_panic functionality separate from intel_bo abstraction,
>> and lift the framebuffer allocation back to where it belongs in
>> intel_fb.c.
>>
>> There's more that should be improved, ideally making struct
>> intel_framebuffer opaque towards i915 and xe, but this already goes
>> along way in adjusting where the abstractions should happen.
>
> Thanks for this series, this makes sense, and moving the panic part to
> intel_panic.c is a good idea.
>
> I think this may conflict with
> https://patchwork.freedesktop.org/series/150887/ but that should be
> trivial to resolve.
Thanks for the review. It seems to me that's much easier to rebase than
this series, and moves further away from the goals here, so I've opted
to push this one.
BR,
Jani.
> For the whole series:
> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
>
> Best regards,
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 6/8] drm/{i915,xe}/panic: move framebuffer allocation where it belongs
2025-09-02 17:51 ` [PATCH 6/8] drm/{i915, xe}/panic: move framebuffer allocation where it belongs Jani Nikula
@ 2025-10-01 15:04 ` Jani Nikula
2025-10-01 16:37 ` Ville Syrjälä
0 siblings, 1 reply; 20+ messages in thread
From: Jani Nikula @ 2025-10-01 15:04 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Jocelyn Falempe, Maarten Lankhorst, Ville Syrjälä
On Tue, 02 Sep 2025, Jani Nikula <jani.nikula@intel.com> wrote:
> The struct intel_framebuffer allocation naturally belongs in intel_fb.c,
> not hidden inside panic implementation. Separate the panic
> allocation. Drop the unnecessary struct i915_framebuffer and struct
> xe_framebuffer types.
>
> Cc: Jocelyn Falempe <jfalempe@redhat.com>
> Cc: Maarten Lankhorst <dev@lankhorst.se>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_fb.c | 17 ++++++++++++++++-
> drivers/gpu/drm/i915/display/intel_panic.c | 4 ++--
> drivers/gpu/drm/i915/display/intel_panic.h | 3 ++-
> drivers/gpu/drm/i915/gem/i915_gem_object.h | 5 +++--
> drivers/gpu/drm/i915/gem/i915_gem_pages.c | 17 ++++-------------
> drivers/gpu/drm/xe/display/xe_panic.c | 17 ++++-------------
> 6 files changed, 31 insertions(+), 32 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
> index 2a2ed0f0461f..22a4a1575d22 100644
> --- a/drivers/gpu/drm/i915/display/intel_fb.c
> +++ b/drivers/gpu/drm/i915/display/intel_fb.c
> @@ -2346,7 +2346,22 @@ intel_user_framebuffer_create(struct drm_device *dev,
>
> struct intel_framebuffer *intel_framebuffer_alloc(void)
> {
> - return intel_bo_alloc_framebuffer();
> + struct intel_framebuffer *intel_fb;
> + struct intel_panic *panic;
> +
> + intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL);
> + if (!intel_fb)
> + return NULL;
> +
> + panic = intel_panic_alloc();
> + if (!panic) {
> + kfree(intel_fb);
> + return NULL;
> + }
> +
> + intel_fb->panic = panic;
So I screwed up here. There's no deallocation of fb->panic, and this
leaks. I don't know what I was thinking.
To make matters worse, struct intel_framebuffer is deallocated via
drm_framebuffer_put() i.e. there's no obvious place to plug the free in.
Any ideas before I start looking at reverting the changes, and get back
to the drawing board with abstracting the code between i915 and xe?
BR,
Jani.
> +
> + return intel_fb;
> }
>
> struct drm_framebuffer *
> diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
> index 20eecb0f168f..5431bd4d3a7d 100644
> --- a/drivers/gpu/drm/i915/display/intel_panic.c
> +++ b/drivers/gpu/drm/i915/display/intel_panic.c
> @@ -4,9 +4,9 @@
> #include "gem/i915_gem_object.h"
> #include "intel_panic.h"
>
> -struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
> +struct intel_panic *intel_panic_alloc(void)
> {
> - return i915_gem_object_alloc_framebuffer();
> + return i915_gem_object_alloc_panic();
> }
>
> int intel_panic_setup(struct drm_scanout_buffer *sb)
> diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
> index 67ce253fcdf5..45ce6104e6fb 100644
> --- a/drivers/gpu/drm/i915/display/intel_panic.h
> +++ b/drivers/gpu/drm/i915/display/intel_panic.h
> @@ -6,8 +6,9 @@
>
> struct drm_scanout_buffer;
> struct intel_framebuffer;
> +struct intel_panic;
>
> -struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
> +struct intel_panic *intel_panic_alloc(void);
> int intel_panic_setup(struct drm_scanout_buffer *sb);
> void intel_panic_finish(struct intel_framebuffer *fb);
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
> index 565f8fa330db..9b3f25cb48db 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
> @@ -16,9 +16,10 @@
> #include "i915_gem_ww.h"
> #include "i915_vma_types.h"
>
> -struct drm_scanout_buffer;
> enum intel_region_id;
> +struct drm_scanout_buffer;
> struct intel_framebuffer;
> +struct intel_panic;
>
> #define obj_to_i915(obj__) to_i915((obj__)->base.dev)
>
> @@ -693,7 +694,7 @@ i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
> int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj);
> int i915_gem_object_truncate(struct drm_i915_gem_object *obj);
>
> -struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void);
> +struct intel_panic *i915_gem_object_alloc_panic(void);
> int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
> void i915_gem_object_panic_finish(struct intel_framebuffer *fb);
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> index e36d60b785b1..b219474aecc7 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> @@ -363,11 +363,6 @@ struct intel_panic {
> void *vaddr;
> };
>
> -struct i915_framebuffer {
> - struct intel_framebuffer base;
> - struct intel_panic panic;
> -};
> -
> static void i915_panic_kunmap(struct intel_panic *panic)
> {
> if (panic->vaddr) {
> @@ -436,17 +431,13 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
> }
> }
>
> -struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void)
> +struct intel_panic *i915_gem_object_alloc_panic(void)
> {
> - struct i915_framebuffer *i915_fb;
> -
> - i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
> - if (!i915_fb)
> - return NULL;
> + struct intel_panic *panic;
>
> - i915_fb->base.panic = &i915_fb->panic;
> + panic = kzalloc(sizeof(*panic), GFP_KERNEL);
>
> - return &i915_fb->base;
> + return panic;
> }
>
> /*
> diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
> index 3ef23a6795b3..b5a7615708a1 100644
> --- a/drivers/gpu/drm/xe/display/xe_panic.c
> +++ b/drivers/gpu/drm/xe/display/xe_panic.c
> @@ -15,11 +15,6 @@ struct intel_panic {
> void *vaddr;
> };
>
> -struct xe_framebuffer {
> - struct intel_framebuffer base;
> - struct intel_panic panic;
> -};
> -
> static void xe_panic_kunmap(struct intel_panic *panic)
> {
> if (panic->vaddr) {
> @@ -62,17 +57,13 @@ static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int
> }
> }
>
> -struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
> +struct intel_panic *intel_panic_alloc(void)
> {
> - struct xe_framebuffer *xe_fb;
> -
> - xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
> - if (!xe_fb)
> - return NULL;
> + struct intel_panic *panic;
>
> - xe_fb->base.panic = &xe_fb->panic;
> + panic = kzalloc(sizeof(*panic), GFP_KERNEL);
>
> - return &xe_fb->base;
> + return panic;
> }
>
> int intel_panic_setup(struct drm_scanout_buffer *sb)
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 6/8] drm/{i915,xe}/panic: move framebuffer allocation where it belongs
2025-10-01 15:04 ` [PATCH 6/8] drm/{i915,xe}/panic: " Jani Nikula
@ 2025-10-01 16:37 ` Ville Syrjälä
2025-10-01 17:28 ` Jani Nikula
0 siblings, 1 reply; 20+ messages in thread
From: Ville Syrjälä @ 2025-10-01 16:37 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, Jocelyn Falempe, Maarten Lankhorst
On Wed, Oct 01, 2025 at 06:04:58PM +0300, Jani Nikula wrote:
> On Tue, 02 Sep 2025, Jani Nikula <jani.nikula@intel.com> wrote:
> > The struct intel_framebuffer allocation naturally belongs in intel_fb.c,
> > not hidden inside panic implementation. Separate the panic
> > allocation. Drop the unnecessary struct i915_framebuffer and struct
> > xe_framebuffer types.
> >
> > Cc: Jocelyn Falempe <jfalempe@redhat.com>
> > Cc: Maarten Lankhorst <dev@lankhorst.se>
> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_fb.c | 17 ++++++++++++++++-
> > drivers/gpu/drm/i915/display/intel_panic.c | 4 ++--
> > drivers/gpu/drm/i915/display/intel_panic.h | 3 ++-
> > drivers/gpu/drm/i915/gem/i915_gem_object.h | 5 +++--
> > drivers/gpu/drm/i915/gem/i915_gem_pages.c | 17 ++++-------------
> > drivers/gpu/drm/xe/display/xe_panic.c | 17 ++++-------------
> > 6 files changed, 31 insertions(+), 32 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
> > index 2a2ed0f0461f..22a4a1575d22 100644
> > --- a/drivers/gpu/drm/i915/display/intel_fb.c
> > +++ b/drivers/gpu/drm/i915/display/intel_fb.c
> > @@ -2346,7 +2346,22 @@ intel_user_framebuffer_create(struct drm_device *dev,
> >
> > struct intel_framebuffer *intel_framebuffer_alloc(void)
> > {
> > - return intel_bo_alloc_framebuffer();
> > + struct intel_framebuffer *intel_fb;
> > + struct intel_panic *panic;
> > +
> > + intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL);
> > + if (!intel_fb)
> > + return NULL;
> > +
> > + panic = intel_panic_alloc();
> > + if (!panic) {
> > + kfree(intel_fb);
> > + return NULL;
> > + }
> > +
> > + intel_fb->panic = panic;
>
> So I screwed up here. There's no deallocation of fb->panic, and this
> leaks. I don't know what I was thinking.
>
> To make matters worse, struct intel_framebuffer is deallocated via
> drm_framebuffer_put() i.e. there's no obvious place to plug the free in.
intel_user_framebuffer_destroy()
And someone should probably s/_user// on all those fb func to
make things less confusing.
>
> Any ideas before I start looking at reverting the changes, and get back
> to the drawing board with abstracting the code between i915 and xe?
>
> BR,
> Jani.
>
> > +
> > + return intel_fb;
> > }
> >
> > struct drm_framebuffer *
> > diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
> > index 20eecb0f168f..5431bd4d3a7d 100644
> > --- a/drivers/gpu/drm/i915/display/intel_panic.c
> > +++ b/drivers/gpu/drm/i915/display/intel_panic.c
> > @@ -4,9 +4,9 @@
> > #include "gem/i915_gem_object.h"
> > #include "intel_panic.h"
> >
> > -struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
> > +struct intel_panic *intel_panic_alloc(void)
> > {
> > - return i915_gem_object_alloc_framebuffer();
> > + return i915_gem_object_alloc_panic();
> > }
> >
> > int intel_panic_setup(struct drm_scanout_buffer *sb)
> > diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
> > index 67ce253fcdf5..45ce6104e6fb 100644
> > --- a/drivers/gpu/drm/i915/display/intel_panic.h
> > +++ b/drivers/gpu/drm/i915/display/intel_panic.h
> > @@ -6,8 +6,9 @@
> >
> > struct drm_scanout_buffer;
> > struct intel_framebuffer;
> > +struct intel_panic;
> >
> > -struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
> > +struct intel_panic *intel_panic_alloc(void);
> > int intel_panic_setup(struct drm_scanout_buffer *sb);
> > void intel_panic_finish(struct intel_framebuffer *fb);
> >
> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
> > index 565f8fa330db..9b3f25cb48db 100644
> > --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
> > @@ -16,9 +16,10 @@
> > #include "i915_gem_ww.h"
> > #include "i915_vma_types.h"
> >
> > -struct drm_scanout_buffer;
> > enum intel_region_id;
> > +struct drm_scanout_buffer;
> > struct intel_framebuffer;
> > +struct intel_panic;
> >
> > #define obj_to_i915(obj__) to_i915((obj__)->base.dev)
> >
> > @@ -693,7 +694,7 @@ i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
> > int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj);
> > int i915_gem_object_truncate(struct drm_i915_gem_object *obj);
> >
> > -struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void);
> > +struct intel_panic *i915_gem_object_alloc_panic(void);
> > int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
> > void i915_gem_object_panic_finish(struct intel_framebuffer *fb);
> >
> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> > index e36d60b785b1..b219474aecc7 100644
> > --- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
> > @@ -363,11 +363,6 @@ struct intel_panic {
> > void *vaddr;
> > };
> >
> > -struct i915_framebuffer {
> > - struct intel_framebuffer base;
> > - struct intel_panic panic;
> > -};
> > -
> > static void i915_panic_kunmap(struct intel_panic *panic)
> > {
> > if (panic->vaddr) {
> > @@ -436,17 +431,13 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
> > }
> > }
> >
> > -struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void)
> > +struct intel_panic *i915_gem_object_alloc_panic(void)
> > {
> > - struct i915_framebuffer *i915_fb;
> > -
> > - i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
> > - if (!i915_fb)
> > - return NULL;
> > + struct intel_panic *panic;
> >
> > - i915_fb->base.panic = &i915_fb->panic;
> > + panic = kzalloc(sizeof(*panic), GFP_KERNEL);
> >
> > - return &i915_fb->base;
> > + return panic;
> > }
> >
> > /*
> > diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
> > index 3ef23a6795b3..b5a7615708a1 100644
> > --- a/drivers/gpu/drm/xe/display/xe_panic.c
> > +++ b/drivers/gpu/drm/xe/display/xe_panic.c
> > @@ -15,11 +15,6 @@ struct intel_panic {
> > void *vaddr;
> > };
> >
> > -struct xe_framebuffer {
> > - struct intel_framebuffer base;
> > - struct intel_panic panic;
> > -};
> > -
> > static void xe_panic_kunmap(struct intel_panic *panic)
> > {
> > if (panic->vaddr) {
> > @@ -62,17 +57,13 @@ static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int
> > }
> > }
> >
> > -struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
> > +struct intel_panic *intel_panic_alloc(void)
> > {
> > - struct xe_framebuffer *xe_fb;
> > -
> > - xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
> > - if (!xe_fb)
> > - return NULL;
> > + struct intel_panic *panic;
> >
> > - xe_fb->base.panic = &xe_fb->panic;
> > + panic = kzalloc(sizeof(*panic), GFP_KERNEL);
> >
> > - return &xe_fb->base;
> > + return panic;
> > }
> >
> > int intel_panic_setup(struct drm_scanout_buffer *sb)
>
> --
> Jani Nikula, Intel
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 6/8] drm/{i915,xe}/panic: move framebuffer allocation where it belongs
2025-10-01 16:37 ` Ville Syrjälä
@ 2025-10-01 17:28 ` Jani Nikula
2025-10-01 17:43 ` Ville Syrjälä
0 siblings, 1 reply; 20+ messages in thread
From: Jani Nikula @ 2025-10-01 17:28 UTC (permalink / raw)
To: Ville Syrjälä
Cc: intel-gfx, intel-xe, Jocelyn Falempe, Maarten Lankhorst
On Wed, 01 Oct 2025, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> On Wed, Oct 01, 2025 at 06:04:58PM +0300, Jani Nikula wrote:
>> On Tue, 02 Sep 2025, Jani Nikula <jani.nikula@intel.com> wrote:
>> > The struct intel_framebuffer allocation naturally belongs in intel_fb.c,
>> > not hidden inside panic implementation. Separate the panic
>> > allocation. Drop the unnecessary struct i915_framebuffer and struct
>> > xe_framebuffer types.
>> >
>> > Cc: Jocelyn Falempe <jfalempe@redhat.com>
>> > Cc: Maarten Lankhorst <dev@lankhorst.se>
>> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> > ---
>> > drivers/gpu/drm/i915/display/intel_fb.c | 17 ++++++++++++++++-
>> > drivers/gpu/drm/i915/display/intel_panic.c | 4 ++--
>> > drivers/gpu/drm/i915/display/intel_panic.h | 3 ++-
>> > drivers/gpu/drm/i915/gem/i915_gem_object.h | 5 +++--
>> > drivers/gpu/drm/i915/gem/i915_gem_pages.c | 17 ++++-------------
>> > drivers/gpu/drm/xe/display/xe_panic.c | 17 ++++-------------
>> > 6 files changed, 31 insertions(+), 32 deletions(-)
>> >
>> > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
>> > index 2a2ed0f0461f..22a4a1575d22 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_fb.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_fb.c
>> > @@ -2346,7 +2346,22 @@ intel_user_framebuffer_create(struct drm_device *dev,
>> >
>> > struct intel_framebuffer *intel_framebuffer_alloc(void)
>> > {
>> > - return intel_bo_alloc_framebuffer();
>> > + struct intel_framebuffer *intel_fb;
>> > + struct intel_panic *panic;
>> > +
>> > + intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL);
>> > + if (!intel_fb)
>> > + return NULL;
>> > +
>> > + panic = intel_panic_alloc();
>> > + if (!panic) {
>> > + kfree(intel_fb);
>> > + return NULL;
>> > + }
>> > +
>> > + intel_fb->panic = panic;
>>
>> So I screwed up here. There's no deallocation of fb->panic, and this
>> leaks. I don't know what I was thinking.
>>
>> To make matters worse, struct intel_framebuffer is deallocated via
>> drm_framebuffer_put() i.e. there's no obvious place to plug the free in.
>
> intel_user_framebuffer_destroy()
D'oh! I still wasn't thinking it appears. Thanks.
Still not straightforward with the alloc and init split in
i9xx_get_initial_plane_config()/skl_get_initial_plane_config() and the
intel_alloc_initial_plane_obj() implementations.
I think the framebuffer leaked on the error paths already before my
change, so I guess I could just plug what I caused.
> And someone should probably s/_user// on all those fb func to
> make things less confusing.
...and do a bunch of other cleanups...
BR,
Jani.
>
>>
>> Any ideas before I start looking at reverting the changes, and get back
>> to the drawing board with abstracting the code between i915 and xe?
>>
>> BR,
>> Jani.
>>
>> > +
>> > + return intel_fb;
>> > }
>> >
>> > struct drm_framebuffer *
>> > diff --git a/drivers/gpu/drm/i915/display/intel_panic.c b/drivers/gpu/drm/i915/display/intel_panic.c
>> > index 20eecb0f168f..5431bd4d3a7d 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_panic.c
>> > +++ b/drivers/gpu/drm/i915/display/intel_panic.c
>> > @@ -4,9 +4,9 @@
>> > #include "gem/i915_gem_object.h"
>> > #include "intel_panic.h"
>> >
>> > -struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
>> > +struct intel_panic *intel_panic_alloc(void)
>> > {
>> > - return i915_gem_object_alloc_framebuffer();
>> > + return i915_gem_object_alloc_panic();
>> > }
>> >
>> > int intel_panic_setup(struct drm_scanout_buffer *sb)
>> > diff --git a/drivers/gpu/drm/i915/display/intel_panic.h b/drivers/gpu/drm/i915/display/intel_panic.h
>> > index 67ce253fcdf5..45ce6104e6fb 100644
>> > --- a/drivers/gpu/drm/i915/display/intel_panic.h
>> > +++ b/drivers/gpu/drm/i915/display/intel_panic.h
>> > @@ -6,8 +6,9 @@
>> >
>> > struct drm_scanout_buffer;
>> > struct intel_framebuffer;
>> > +struct intel_panic;
>> >
>> > -struct intel_framebuffer *intel_bo_alloc_framebuffer(void);
>> > +struct intel_panic *intel_panic_alloc(void);
>> > int intel_panic_setup(struct drm_scanout_buffer *sb);
>> > void intel_panic_finish(struct intel_framebuffer *fb);
>> >
>> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_object.h b/drivers/gpu/drm/i915/gem/i915_gem_object.h
>> > index 565f8fa330db..9b3f25cb48db 100644
>> > --- a/drivers/gpu/drm/i915/gem/i915_gem_object.h
>> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_object.h
>> > @@ -16,9 +16,10 @@
>> > #include "i915_gem_ww.h"
>> > #include "i915_vma_types.h"
>> >
>> > -struct drm_scanout_buffer;
>> > enum intel_region_id;
>> > +struct drm_scanout_buffer;
>> > struct intel_framebuffer;
>> > +struct intel_panic;
>> >
>> > #define obj_to_i915(obj__) to_i915((obj__)->base.dev)
>> >
>> > @@ -693,7 +694,7 @@ i915_gem_object_unpin_pages(struct drm_i915_gem_object *obj)
>> > int __i915_gem_object_put_pages(struct drm_i915_gem_object *obj);
>> > int i915_gem_object_truncate(struct drm_i915_gem_object *obj);
>> >
>> > -struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void);
>> > +struct intel_panic *i915_gem_object_alloc_panic(void);
>> > int i915_gem_object_panic_setup(struct drm_scanout_buffer *sb);
>> > void i915_gem_object_panic_finish(struct intel_framebuffer *fb);
>> >
>> > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_pages.c b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
>> > index e36d60b785b1..b219474aecc7 100644
>> > --- a/drivers/gpu/drm/i915/gem/i915_gem_pages.c
>> > +++ b/drivers/gpu/drm/i915/gem/i915_gem_pages.c
>> > @@ -363,11 +363,6 @@ struct intel_panic {
>> > void *vaddr;
>> > };
>> >
>> > -struct i915_framebuffer {
>> > - struct intel_framebuffer base;
>> > - struct intel_panic panic;
>> > -};
>> > -
>> > static void i915_panic_kunmap(struct intel_panic *panic)
>> > {
>> > if (panic->vaddr) {
>> > @@ -436,17 +431,13 @@ static void i915_gem_object_panic_page_set_pixel(struct drm_scanout_buffer *sb,
>> > }
>> > }
>> >
>> > -struct intel_framebuffer *i915_gem_object_alloc_framebuffer(void)
>> > +struct intel_panic *i915_gem_object_alloc_panic(void)
>> > {
>> > - struct i915_framebuffer *i915_fb;
>> > -
>> > - i915_fb = kzalloc(sizeof(*i915_fb), GFP_KERNEL);
>> > - if (!i915_fb)
>> > - return NULL;
>> > + struct intel_panic *panic;
>> >
>> > - i915_fb->base.panic = &i915_fb->panic;
>> > + panic = kzalloc(sizeof(*panic), GFP_KERNEL);
>> >
>> > - return &i915_fb->base;
>> > + return panic;
>> > }
>> >
>> > /*
>> > diff --git a/drivers/gpu/drm/xe/display/xe_panic.c b/drivers/gpu/drm/xe/display/xe_panic.c
>> > index 3ef23a6795b3..b5a7615708a1 100644
>> > --- a/drivers/gpu/drm/xe/display/xe_panic.c
>> > +++ b/drivers/gpu/drm/xe/display/xe_panic.c
>> > @@ -15,11 +15,6 @@ struct intel_panic {
>> > void *vaddr;
>> > };
>> >
>> > -struct xe_framebuffer {
>> > - struct intel_framebuffer base;
>> > - struct intel_panic panic;
>> > -};
>> > -
>> > static void xe_panic_kunmap(struct intel_panic *panic)
>> > {
>> > if (panic->vaddr) {
>> > @@ -62,17 +57,13 @@ static void xe_panic_page_set_pixel(struct drm_scanout_buffer *sb, unsigned int
>> > }
>> > }
>> >
>> > -struct intel_framebuffer *intel_bo_alloc_framebuffer(void)
>> > +struct intel_panic *intel_panic_alloc(void)
>> > {
>> > - struct xe_framebuffer *xe_fb;
>> > -
>> > - xe_fb = kzalloc(sizeof(*xe_fb), GFP_KERNEL);
>> > - if (!xe_fb)
>> > - return NULL;
>> > + struct intel_panic *panic;
>> >
>> > - xe_fb->base.panic = &xe_fb->panic;
>> > + panic = kzalloc(sizeof(*panic), GFP_KERNEL);
>> >
>> > - return &xe_fb->base;
>> > + return panic;
>> > }
>> >
>> > int intel_panic_setup(struct drm_scanout_buffer *sb)
>>
>> --
>> Jani Nikula, Intel
--
Jani Nikula, Intel
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 6/8] drm/{i915,xe}/panic: move framebuffer allocation where it belongs
2025-10-01 17:28 ` Jani Nikula
@ 2025-10-01 17:43 ` Ville Syrjälä
0 siblings, 0 replies; 20+ messages in thread
From: Ville Syrjälä @ 2025-10-01 17:43 UTC (permalink / raw)
To: Jani Nikula; +Cc: intel-gfx, intel-xe, Jocelyn Falempe, Maarten Lankhorst
On Wed, Oct 01, 2025 at 08:28:53PM +0300, Jani Nikula wrote:
> On Wed, 01 Oct 2025, Ville Syrjälä <ville.syrjala@linux.intel.com> wrote:
> > On Wed, Oct 01, 2025 at 06:04:58PM +0300, Jani Nikula wrote:
> >> On Tue, 02 Sep 2025, Jani Nikula <jani.nikula@intel.com> wrote:
> >> > The struct intel_framebuffer allocation naturally belongs in intel_fb.c,
> >> > not hidden inside panic implementation. Separate the panic
> >> > allocation. Drop the unnecessary struct i915_framebuffer and struct
> >> > xe_framebuffer types.
> >> >
> >> > Cc: Jocelyn Falempe <jfalempe@redhat.com>
> >> > Cc: Maarten Lankhorst <dev@lankhorst.se>
> >> > Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> > ---
> >> > drivers/gpu/drm/i915/display/intel_fb.c | 17 ++++++++++++++++-
> >> > drivers/gpu/drm/i915/display/intel_panic.c | 4 ++--
> >> > drivers/gpu/drm/i915/display/intel_panic.h | 3 ++-
> >> > drivers/gpu/drm/i915/gem/i915_gem_object.h | 5 +++--
> >> > drivers/gpu/drm/i915/gem/i915_gem_pages.c | 17 ++++-------------
> >> > drivers/gpu/drm/xe/display/xe_panic.c | 17 ++++-------------
> >> > 6 files changed, 31 insertions(+), 32 deletions(-)
> >> >
> >> > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c
> >> > index 2a2ed0f0461f..22a4a1575d22 100644
> >> > --- a/drivers/gpu/drm/i915/display/intel_fb.c
> >> > +++ b/drivers/gpu/drm/i915/display/intel_fb.c
> >> > @@ -2346,7 +2346,22 @@ intel_user_framebuffer_create(struct drm_device *dev,
> >> >
> >> > struct intel_framebuffer *intel_framebuffer_alloc(void)
> >> > {
> >> > - return intel_bo_alloc_framebuffer();
> >> > + struct intel_framebuffer *intel_fb;
> >> > + struct intel_panic *panic;
> >> > +
> >> > + intel_fb = kzalloc(sizeof(*intel_fb), GFP_KERNEL);
> >> > + if (!intel_fb)
> >> > + return NULL;
> >> > +
> >> > + panic = intel_panic_alloc();
> >> > + if (!panic) {
> >> > + kfree(intel_fb);
> >> > + return NULL;
> >> > + }
> >> > +
> >> > + intel_fb->panic = panic;
> >>
> >> So I screwed up here. There's no deallocation of fb->panic, and this
> >> leaks. I don't know what I was thinking.
> >>
> >> To make matters worse, struct intel_framebuffer is deallocated via
> >> drm_framebuffer_put() i.e. there's no obvious place to plug the free in.
> >
> > intel_user_framebuffer_destroy()
>
> D'oh! I still wasn't thinking it appears. Thanks.
>
> Still not straightforward with the alloc and init split in
> i9xx_get_initial_plane_config()/skl_get_initial_plane_config() and the
> intel_alloc_initial_plane_obj() implementations.
>
> I think the framebuffer leaked on the error paths already before my
> change, so I guess I could just plug what I caused.
Maybe just move the panic alloc into intel_framebuffer_init()?
Hmm, looks like someone opened the small race there again with the
intel_frontbuffer_get() vs. intel_fb_bo_framebuffer_init() reodering.
I'll need to fix that again...
--
Ville Syrjälä
Intel
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2025-10-01 17:43 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-02 17:51 [PATCH 0/8] drm/{i915, xe}/panic: refactor framebuffer allocation etc Jani Nikula
2025-09-02 17:51 ` [PATCH 1/8] drm/i915/fb: add intel_framebuffer_alloc() Jani Nikula
2025-09-02 17:51 ` [PATCH 2/8] drm/{i915,xe}/panic: split out intel_panic.[ch] Jani Nikula
2025-09-02 17:51 ` [PATCH 3/8] drm/{i915, xe}/panic: rename intel_bo_panic_*() to intel_panic_*() Jani Nikula
2025-09-02 17:51 ` [PATCH 4/8] drm/{i915, xe}/fb: add panic pointer member to struct intel_framebuffer Jani Nikula
2025-09-02 17:51 ` [PATCH 5/8] drm/{i915, xe}/panic: rename struct {i915, xe}_panic_data to struct intel_panic Jani Nikula
2025-09-02 17:51 ` [PATCH 6/8] drm/{i915, xe}/panic: move framebuffer allocation where it belongs Jani Nikula
2025-10-01 15:04 ` [PATCH 6/8] drm/{i915,xe}/panic: " Jani Nikula
2025-10-01 16:37 ` Ville Syrjälä
2025-10-01 17:28 ` Jani Nikula
2025-10-01 17:43 ` Ville Syrjälä
2025-09-02 17:51 ` [PATCH 7/8] drm/{i915, xe}/panic: convert intel_panic_finish() to struct intel_panic Jani Nikula
2025-09-02 17:51 ` [PATCH 8/8] drm/{i915, xe}/panic: pass struct intel_panic to intel_panic_setup() Jani Nikula
2025-09-02 18:48 ` ✗ CI.checkpatch: warning for drm/{i915, xe}/panic: refactor framebuffer allocation etc Patchwork
2025-09-02 18:50 ` ✓ CI.KUnit: success " Patchwork
2025-09-02 19:05 ` ✗ CI.checksparse: warning " Patchwork
2025-09-02 19:25 ` ✓ Xe.CI.BAT: success " Patchwork
2025-09-03 2:28 ` ✗ Xe.CI.Full: failure " Patchwork
2025-09-04 11:46 ` [PATCH 0/8] " Jocelyn Falempe
2025-09-08 11:29 ` [PATCH 0/8] drm/{i915,xe}/panic: " Jani Nikula
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox