* [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface
@ 2026-03-11 14:18 Jani Nikula
2026-03-11 14:18 ` [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 Jani Nikula
` (10 more replies)
0 siblings, 11 replies; 21+ messages in thread
From: Jani Nikula @ 2026-03-11 14:18 UTC (permalink / raw)
To: intel-gfx, intel-xe; +Cc: jani.nikula
Jani Nikula (5):
drm/i915: move i915 specific bo implementation to i915
drm/xe: rename intel_bo.c to xe_display_bo.c
drm/{i915,xe}/bo: move display bo calls to parent interface
drm/i915/fb: make intel_fb_bo.c less dependent on display
drm/{i915,xe}: move framebuffer bo to parent interface
drivers/gpu/drm/i915/Makefile | 2 +-
drivers/gpu/drm/i915/display/intel_bo.c | 66 ++++++--
drivers/gpu/drm/i915/display/intel_bo.h | 9 +
drivers/gpu/drm/i915/display/intel_fb.c | 12 +-
drivers/gpu/drm/i915/display/intel_fb_bo.c | 101 ------------
drivers/gpu/drm/i915/display/intel_fb_bo.h | 25 ---
drivers/gpu/drm/i915/i915_bo.c | 156 ++++++++++++++++++
drivers/gpu/drm/i915/i915_bo.h | 9 +
drivers/gpu/drm/i915/i915_driver.c | 2 +
drivers/gpu/drm/xe/Makefile | 4 +-
drivers/gpu/drm/xe/display/intel_bo.c | 53 ------
drivers/gpu/drm/xe/display/xe_display.c | 2 +
.../{intel_fb_bo.c => xe_display_bo.c} | 63 ++++---
drivers/gpu/drm/xe/display/xe_display_bo.h | 9 +
include/drm/intel/display_parent_interface.h | 22 +++
15 files changed, 311 insertions(+), 224 deletions(-)
delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.c
delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.h
create mode 100644 drivers/gpu/drm/i915/i915_bo.c
create mode 100644 drivers/gpu/drm/i915/i915_bo.h
delete mode 100644 drivers/gpu/drm/xe/display/intel_bo.c
rename drivers/gpu/drm/xe/display/{intel_fb_bo.c => xe_display_bo.c} (57%)
create mode 100644 drivers/gpu/drm/xe/display/xe_display_bo.h
--
2.47.3
^ permalink raw reply [flat|nested] 21+ messages in thread* [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula @ 2026-03-11 14:18 ` Jani Nikula 2026-03-12 3:39 ` Kandpal, Suraj 2026-03-11 14:18 ` [PATCH 2/5] drm/xe: rename intel_bo.c to xe_display_bo.c Jani Nikula ` (9 subsequent siblings) 10 siblings, 1 reply; 21+ messages in thread From: Jani Nikula @ 2026-03-11 14:18 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: jani.nikula The bo interface implementation is different for both i915 and xe. Move the i915 specific implementation from display to i915 core. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/Makefile | 2 +- drivers/gpu/drm/i915/{display/intel_bo.c => i915_bo.c} | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) rename drivers/gpu/drm/i915/{display/intel_bo.c => i915_bo.c} (97%) diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 7e9d9b666511..52a82608b8b1 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -76,6 +76,7 @@ i915-$(CONFIG_PERF_EVENTS) += \ # core display adaptation i915-y += \ + i915_bo.o \ i915_display_pc8.o \ i915_dpt.o \ i915_dsb_buffer.o \ @@ -239,7 +240,6 @@ i915-y += \ display/intel_atomic.o \ display/intel_audio.o \ display/intel_bios.o \ - display/intel_bo.o \ display/intel_bw.o \ display/intel_casf.o \ display/intel_cdclk.o \ diff --git a/drivers/gpu/drm/i915/display/intel_bo.c b/drivers/gpu/drm/i915/i915_bo.c similarity index 97% rename from drivers/gpu/drm/i915/display/intel_bo.c rename to drivers/gpu/drm/i915/i915_bo.c index 2b6eaec351d8..21a4533ba341 100644 --- a/drivers/gpu/drm/i915/display/intel_bo.c +++ b/drivers/gpu/drm/i915/i915_bo.c @@ -3,12 +3,13 @@ #include <drm/drm_panic.h> +#include "display/intel_bo.h" + #include "gem/i915_gem_mman.h" #include "gem/i915_gem_object.h" #include "gem/i915_gem_object_frontbuffer.h" #include "pxp/intel_pxp.h" #include "i915_debugfs.h" -#include "intel_bo.h" bool intel_bo_is_tiled(struct drm_gem_object *obj) { -- 2.47.3 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* RE: [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 2026-03-11 14:18 ` [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 Jani Nikula @ 2026-03-12 3:39 ` Kandpal, Suraj 2026-03-12 3:52 ` Kandpal, Suraj 0 siblings, 1 reply; 21+ messages in thread From: Kandpal, Suraj @ 2026-03-12 3:39 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Cc: Nikula, Jani > Subject: [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 > > The bo interface implementation is different for both i915 and xe. Move the > i915 specific implementation from display to i915 core. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> LGTM, Reviewed-by : Suraj Kandpal <suraj.kandpal@intel.com> > --- > drivers/gpu/drm/i915/Makefile | 2 +- > drivers/gpu/drm/i915/{display/intel_bo.c => i915_bo.c} | 3 ++- > 2 files changed, 3 insertions(+), 2 deletions(-) rename > drivers/gpu/drm/i915/{display/intel_bo.c => i915_bo.c} (97%) > > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index 7e9d9b666511..52a82608b8b1 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -76,6 +76,7 @@ i915-$(CONFIG_PERF_EVENTS) += \ > > # core display adaptation > i915-y += \ > + i915_bo.o \ > i915_display_pc8.o \ > i915_dpt.o \ > i915_dsb_buffer.o \ > @@ -239,7 +240,6 @@ i915-y += \ > display/intel_atomic.o \ > display/intel_audio.o \ > display/intel_bios.o \ > - display/intel_bo.o \ > display/intel_bw.o \ > display/intel_casf.o \ > display/intel_cdclk.o \ > diff --git a/drivers/gpu/drm/i915/display/intel_bo.c > b/drivers/gpu/drm/i915/i915_bo.c similarity index 97% rename from > drivers/gpu/drm/i915/display/intel_bo.c > rename to drivers/gpu/drm/i915/i915_bo.c index > 2b6eaec351d8..21a4533ba341 100644 > --- a/drivers/gpu/drm/i915/display/intel_bo.c > +++ b/drivers/gpu/drm/i915/i915_bo.c > @@ -3,12 +3,13 @@ > > #include <drm/drm_panic.h> > > +#include "display/intel_bo.h" > + > #include "gem/i915_gem_mman.h" > #include "gem/i915_gem_object.h" > #include "gem/i915_gem_object_frontbuffer.h" > #include "pxp/intel_pxp.h" > #include "i915_debugfs.h" > -#include "intel_bo.h" > > bool intel_bo_is_tiled(struct drm_gem_object *obj) { > -- > 2.47.3 ^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 2026-03-12 3:39 ` Kandpal, Suraj @ 2026-03-12 3:52 ` Kandpal, Suraj 0 siblings, 0 replies; 21+ messages in thread From: Kandpal, Suraj @ 2026-03-12 3:52 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Cc: Nikula, Jani > -----Original Message----- > From: Kandpal, Suraj > Sent: Thursday, March 12, 2026 9:09 AM > To: 'Jani Nikula' <jani.nikula@intel.com>; intel-gfx@lists.freedesktop.org; > intel-xe@lists.freedesktop.org > Cc: Nikula, Jani <jani.nikula@intel.com> > Subject: RE: [PATCH 1/5] drm/i915: move i915 specific bo implementation to > i915 > > > Subject: [PATCH 1/5] drm/i915: move i915 specific bo implementation to > > i915 > > > > The bo interface implementation is different for both i915 and xe. > > Move the > > i915 specific implementation from display to i915 core. > > > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > > Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> > > --- > > drivers/gpu/drm/i915/Makefile | 2 +- > > drivers/gpu/drm/i915/{display/intel_bo.c => i915_bo.c} | 3 ++- > > 2 files changed, 3 insertions(+), 2 deletions(-) rename > > drivers/gpu/drm/i915/{display/intel_bo.c => i915_bo.c} (97%) > > > > diff --git a/drivers/gpu/drm/i915/Makefile > > b/drivers/gpu/drm/i915/Makefile index 7e9d9b666511..52a82608b8b1 > > 100644 > > --- a/drivers/gpu/drm/i915/Makefile > > +++ b/drivers/gpu/drm/i915/Makefile > > @@ -76,6 +76,7 @@ i915-$(CONFIG_PERF_EVENTS) += \ > > > > # core display adaptation > > i915-y += \ > > + i915_bo.o \ > > i915_display_pc8.o \ > > i915_dpt.o \ > > i915_dsb_buffer.o \ > > @@ -239,7 +240,6 @@ i915-y += \ > > display/intel_atomic.o \ > > display/intel_audio.o \ > > display/intel_bios.o \ > > - display/intel_bo.o \ > > display/intel_bw.o \ > > display/intel_casf.o \ > > display/intel_cdclk.o \ > > diff --git a/drivers/gpu/drm/i915/display/intel_bo.c > > b/drivers/gpu/drm/i915/i915_bo.c similarity index 97% rename from > > drivers/gpu/drm/i915/display/intel_bo.c > > rename to drivers/gpu/drm/i915/i915_bo.c index > > 2b6eaec351d8..21a4533ba341 100644 > > --- a/drivers/gpu/drm/i915/display/intel_bo.c > > +++ b/drivers/gpu/drm/i915/i915_bo.c > > @@ -3,12 +3,13 @@ > > > > #include <drm/drm_panic.h> > > > > +#include "display/intel_bo.h" > > + > > #include "gem/i915_gem_mman.h" > > #include "gem/i915_gem_object.h" > > #include "gem/i915_gem_object_frontbuffer.h" > > #include "pxp/intel_pxp.h" > > #include "i915_debugfs.h" > > -#include "intel_bo.h" > > > > bool intel_bo_is_tiled(struct drm_gem_object *obj) { > > -- > > 2.47.3 ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 2/5] drm/xe: rename intel_bo.c to xe_display_bo.c 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula 2026-03-11 14:18 ` [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 Jani Nikula @ 2026-03-11 14:18 ` Jani Nikula 2026-03-12 3:40 ` Kandpal, Suraj 2026-03-11 14:18 ` [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent interface Jani Nikula ` (8 subsequent siblings) 10 siblings, 1 reply; 21+ messages in thread From: Jani Nikula @ 2026-03-11 14:18 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: jani.nikula Follow the xe_ prefixed file naming in xe. With xe_bo.[ch] already being a thing in xe core, use xe_display_bo.c. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/xe/Makefile | 2 +- drivers/gpu/drm/xe/display/{intel_bo.c => xe_display_bo.c} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename drivers/gpu/drm/xe/display/{intel_bo.c => xe_display_bo.c} (100%) diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile index 50608312bc66..aeede4423680 100644 --- a/drivers/gpu/drm/xe/Makefile +++ b/drivers/gpu/drm/xe/Makefile @@ -211,10 +211,10 @@ $(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE # Display code specific to xe xe-$(CONFIG_DRM_XE_DISPLAY) += \ - display/intel_bo.o \ display/intel_fb_bo.o \ display/intel_fbdev_fb.o \ display/xe_display.o \ + display/xe_display_bo.o \ display/xe_display_pcode.o \ display/xe_display_rpm.o \ display/xe_display_wa.o \ diff --git a/drivers/gpu/drm/xe/display/intel_bo.c b/drivers/gpu/drm/xe/display/xe_display_bo.c similarity index 100% rename from drivers/gpu/drm/xe/display/intel_bo.c rename to drivers/gpu/drm/xe/display/xe_display_bo.c -- 2.47.3 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* RE: [PATCH 2/5] drm/xe: rename intel_bo.c to xe_display_bo.c 2026-03-11 14:18 ` [PATCH 2/5] drm/xe: rename intel_bo.c to xe_display_bo.c Jani Nikula @ 2026-03-12 3:40 ` Kandpal, Suraj 0 siblings, 0 replies; 21+ messages in thread From: Kandpal, Suraj @ 2026-03-12 3:40 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Cc: Nikula, Jani > Subject: [PATCH 2/5] drm/xe: rename intel_bo.c to xe_display_bo.c > > Follow the xe_ prefixed file naming in xe. With xe_bo.[ch] already being a > thing in xe core, use xe_display_bo.c. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> LGTM, Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> > --- > drivers/gpu/drm/xe/Makefile | 2 +- > drivers/gpu/drm/xe/display/{intel_bo.c => xe_display_bo.c} | 0 > 2 files changed, 1 insertion(+), 1 deletion(-) rename > drivers/gpu/drm/xe/display/{intel_bo.c => xe_display_bo.c} (100%) > > diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile > index 50608312bc66..aeede4423680 100644 > --- a/drivers/gpu/drm/xe/Makefile > +++ b/drivers/gpu/drm/xe/Makefile > @@ -211,10 +211,10 @@ $(obj)/i915-display/%.o: > $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE > > # Display code specific to xe > xe-$(CONFIG_DRM_XE_DISPLAY) += \ > - display/intel_bo.o \ > display/intel_fb_bo.o \ > display/intel_fbdev_fb.o \ > display/xe_display.o \ > + display/xe_display_bo.o \ > display/xe_display_pcode.o \ > display/xe_display_rpm.o \ > display/xe_display_wa.o \ > diff --git a/drivers/gpu/drm/xe/display/intel_bo.c > b/drivers/gpu/drm/xe/display/xe_display_bo.c > similarity index 100% > rename from drivers/gpu/drm/xe/display/intel_bo.c > rename to drivers/gpu/drm/xe/display/xe_display_bo.c > -- > 2.47.3 ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent interface 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula 2026-03-11 14:18 ` [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 Jani Nikula 2026-03-11 14:18 ` [PATCH 2/5] drm/xe: rename intel_bo.c to xe_display_bo.c Jani Nikula @ 2026-03-11 14:18 ` Jani Nikula 2026-03-12 3:47 ` Kandpal, Suraj 2026-03-11 14:18 ` [PATCH 4/5] drm/i915/fb: make intel_fb_bo.c less dependent on display Jani Nikula ` (7 subsequent siblings) 10 siblings, 1 reply; 21+ messages in thread From: Jani Nikula @ 2026-03-11 14:18 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: jani.nikula Continue i915 and xe separation from display by moving the bo calls to the display parent interface. Instead of adding all these functions to intel_parent.[ch], reuse the now vacated intel_bo.[ch], and avoid mass renames to calls of these functions. This is similar to intel_display_rpm.[ch]. Make many of the hooks optional to avoid having to implement dummy functions in xe. Indeed now we can remove many of the existing dummy functions. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/Makefile | 1 + drivers/gpu/drm/i915/display/intel_bo.c | 66 ++++++++++++++++++++ drivers/gpu/drm/i915/i915_bo.c | 32 +++++++--- drivers/gpu/drm/i915/i915_bo.h | 9 +++ drivers/gpu/drm/i915/i915_driver.c | 2 + drivers/gpu/drm/xe/Makefile | 1 + drivers/gpu/drm/xe/display/xe_display.c | 2 + drivers/gpu/drm/xe/display/xe_display_bo.c | 45 +++---------- drivers/gpu/drm/xe/display/xe_display_bo.h | 9 +++ include/drm/intel/display_parent_interface.h | 16 +++++ 10 files changed, 138 insertions(+), 45 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/intel_bo.c create mode 100644 drivers/gpu/drm/i915/i915_bo.h create mode 100644 drivers/gpu/drm/xe/display/xe_display_bo.h diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 52a82608b8b1..425933fb26a5 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -240,6 +240,7 @@ i915-y += \ display/intel_atomic.o \ display/intel_audio.o \ display/intel_bios.o \ + display/intel_bo.o \ display/intel_bw.o \ display/intel_casf.o \ display/intel_cdclk.o \ diff --git a/drivers/gpu/drm/i915/display/intel_bo.c b/drivers/gpu/drm/i915/display/intel_bo.c new file mode 100644 index 000000000000..e356ab4e0640 --- /dev/null +++ b/drivers/gpu/drm/i915/display/intel_bo.c @@ -0,0 +1,66 @@ +// SPDX-License-Identifier: MIT +/* Copyright © 2026 Intel Corporation */ + +#include <drm/drm_gem.h> +#include <drm/intel/display_parent_interface.h> + +#include "intel_bo.h" +#include "intel_display_core.h" +#include "intel_display_types.h" + +bool intel_bo_is_tiled(struct drm_gem_object *obj) +{ + struct intel_display *display = to_intel_display(obj->dev); + + return display->parent->bo->is_tiled && display->parent->bo->is_tiled(obj); +} + +bool intel_bo_is_userptr(struct drm_gem_object *obj) +{ + struct intel_display *display = to_intel_display(obj->dev); + + return display->parent->bo->is_userptr && display->parent->bo->is_userptr(obj); +} + +bool intel_bo_is_shmem(struct drm_gem_object *obj) +{ + struct intel_display *display = to_intel_display(obj->dev); + + return display->parent->bo->is_shmem && display->parent->bo->is_shmem(obj); +} + +bool intel_bo_is_protected(struct drm_gem_object *obj) +{ + struct intel_display *display = to_intel_display(obj->dev); + + return display->parent->bo->is_protected(obj); +} + +int intel_bo_key_check(struct drm_gem_object *obj) +{ + struct intel_display *display = to_intel_display(obj->dev); + + return display->parent->bo->key_check(obj); +} + +int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) +{ + struct intel_display *display = to_intel_display(obj->dev); + + return display->parent->bo->fb_mmap(obj, vma); +} + +int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size) +{ + struct intel_display *display = to_intel_display(obj->dev); + + return display->parent->bo->read_from_page(obj, offset, dst, size); +} + +void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) +{ + struct intel_display *display = to_intel_display(obj->dev); + + if (display->parent->bo->describe) + display->parent->bo->describe(m, obj); +} diff --git a/drivers/gpu/drm/i915/i915_bo.c b/drivers/gpu/drm/i915/i915_bo.c index 21a4533ba341..04fc0e3b7ef6 100644 --- a/drivers/gpu/drm/i915/i915_bo.c +++ b/drivers/gpu/drm/i915/i915_bo.c @@ -2,51 +2,63 @@ /* Copyright © 2024 Intel Corporation */ #include <drm/drm_panic.h> - -#include "display/intel_bo.h" +#include <drm/intel/display_parent_interface.h> #include "gem/i915_gem_mman.h" #include "gem/i915_gem_object.h" #include "gem/i915_gem_object_frontbuffer.h" #include "pxp/intel_pxp.h" + +#include "i915_bo.h" #include "i915_debugfs.h" -bool intel_bo_is_tiled(struct drm_gem_object *obj) +static bool i915_bo_is_tiled(struct drm_gem_object *obj) { return i915_gem_object_is_tiled(to_intel_bo(obj)); } -bool intel_bo_is_userptr(struct drm_gem_object *obj) +static bool i915_bo_is_userptr(struct drm_gem_object *obj) { return i915_gem_object_is_userptr(to_intel_bo(obj)); } -bool intel_bo_is_shmem(struct drm_gem_object *obj) +static bool i915_bo_is_shmem(struct drm_gem_object *obj) { return i915_gem_object_is_shmem(to_intel_bo(obj)); } -bool intel_bo_is_protected(struct drm_gem_object *obj) +static bool i915_bo_is_protected(struct drm_gem_object *obj) { return i915_gem_object_is_protected(to_intel_bo(obj)); } -int intel_bo_key_check(struct drm_gem_object *obj) +static int i915_bo_key_check(struct drm_gem_object *obj) { return intel_pxp_key_check(obj, false); } -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) +static int i915_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) { return i915_gem_fb_mmap(to_intel_bo(obj), vma); } -int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size) +static int i915_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size) { return i915_gem_object_read_from_page(to_intel_bo(obj), offset, dst, size); } -void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) +static void i915_bo_describe(struct seq_file *m, struct drm_gem_object *obj) { i915_debugfs_describe_obj(m, to_intel_bo(obj)); } + +const struct intel_display_bo_interface i915_display_bo_interface = { + .is_tiled = i915_bo_is_tiled, + .is_userptr = i915_bo_is_userptr, + .is_shmem = i915_bo_is_shmem, + .is_protected = i915_bo_is_protected, + .key_check = i915_bo_key_check, + .fb_mmap = i915_bo_fb_mmap, + .read_from_page = i915_bo_read_from_page, + .describe = i915_bo_describe, +}; diff --git a/drivers/gpu/drm/i915/i915_bo.h b/drivers/gpu/drm/i915/i915_bo.h new file mode 100644 index 000000000000..57255d052dd9 --- /dev/null +++ b/drivers/gpu/drm/i915/i915_bo.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: MIT */ +/* Copyright © 2026 Intel Corporation */ + +#ifndef __I915_BO_H__ +#define __I915_BO_H__ + +extern const struct intel_display_bo_interface i915_display_bo_interface; + +#endif /* __I915_BO_H__ */ diff --git a/drivers/gpu/drm/i915/i915_driver.c b/drivers/gpu/drm/i915/i915_driver.c index 7a8c59a8c865..385a634c3ed0 100644 --- a/drivers/gpu/drm/i915/i915_driver.c +++ b/drivers/gpu/drm/i915/i915_driver.c @@ -90,6 +90,7 @@ #include "pxp/intel_pxp_debugfs.h" #include "pxp/intel_pxp_pm.h" +#include "i915_bo.h" #include "i915_debugfs.h" #include "i915_display_pc8.h" #include "i915_dpt.h" @@ -765,6 +766,7 @@ static bool vgpu_active(struct drm_device *drm) } static const struct intel_display_parent_interface parent = { + .bo = &i915_display_bo_interface, .dpt = &i915_display_dpt_interface, .dsb = &i915_display_dsb_interface, .frontbuffer = &i915_display_frontbuffer_interface, diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile index aeede4423680..b16ed1ce2a85 100644 --- a/drivers/gpu/drm/xe/Makefile +++ b/drivers/gpu/drm/xe/Makefile @@ -235,6 +235,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \ i915-display/intel_audio.o \ i915-display/intel_backlight.o \ i915-display/intel_bios.o \ + i915-display/intel_bo.o \ i915-display/intel_bw.o \ i915-display/intel_casf.o \ i915-display/intel_cdclk.o \ diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c index f1e1889a52d3..49b6f98e7391 100644 --- a/drivers/gpu/drm/xe/display/xe_display.c +++ b/drivers/gpu/drm/xe/display/xe_display.c @@ -35,6 +35,7 @@ #include "intel_hotplug.h" #include "intel_opregion.h" #include "skl_watermark.h" +#include "xe_display_bo.h" #include "xe_display_pcode.h" #include "xe_display_rpm.h" #include "xe_dsb_buffer.h" @@ -541,6 +542,7 @@ static const struct intel_display_irq_interface xe_display_irq_interface = { }; static const struct intel_display_parent_interface parent = { + .bo = &xe_display_bo_interface, .dsb = &xe_display_dsb_interface, .frontbuffer = &xe_display_frontbuffer_interface, .hdcp = &xe_display_hdcp_interface, diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.c b/drivers/gpu/drm/xe/display/xe_display_bo.c index fa1f2c796b81..a53ba3f247ec 100644 --- a/drivers/gpu/drm/xe/display/xe_display_bo.c +++ b/drivers/gpu/drm/xe/display/xe_display_bo.c @@ -2,52 +2,27 @@ /* Copyright © 2024 Intel Corporation */ #include <drm/drm_gem.h> +#include <drm/intel/display_parent_interface.h> -#include "intel_bo.h" -#include "intel_frontbuffer.h" #include "xe_bo.h" +#include "xe_display_bo.h" #include "xe_pxp.h" -bool intel_bo_is_tiled(struct drm_gem_object *obj) -{ - /* legacy tiling is unused */ - return false; -} - -bool intel_bo_is_userptr(struct drm_gem_object *obj) -{ - /* xe does not have userptr bos */ - return false; -} - -bool intel_bo_is_shmem(struct drm_gem_object *obj) -{ - return false; -} - -bool intel_bo_is_protected(struct drm_gem_object *obj) +static bool xe_display_bo_is_protected(struct drm_gem_object *obj) { return xe_bo_is_protected(gem_to_xe_bo(obj)); } -int intel_bo_key_check(struct drm_gem_object *obj) -{ - return xe_pxp_obj_key_check(obj); -} - -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma) -{ - return drm_gem_prime_mmap(obj, vma); -} - -int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size) +static int xe_display_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, int size) { struct xe_bo *bo = gem_to_xe_bo(obj); return xe_bo_read(bo, offset, dst, size); } -void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) -{ - /* FIXME */ -} +const struct intel_display_bo_interface xe_display_bo_interface = { + .is_protected = xe_display_bo_is_protected, + .key_check = xe_pxp_obj_key_check, + .fb_mmap = drm_gem_prime_mmap, + .read_from_page = xe_display_bo_read_from_page, +}; diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.h b/drivers/gpu/drm/xe/display/xe_display_bo.h new file mode 100644 index 000000000000..6879c104b0b1 --- /dev/null +++ b/drivers/gpu/drm/xe/display/xe_display_bo.h @@ -0,0 +1,9 @@ +/* SPDX-License-Identifier: MIT */ +/* Copyright © 2026 Intel Corporation */ + +#ifndef __XE_DISPLAY_BO_H__ +#define __XE_DISPLAY_BO_H__ + +extern const struct intel_display_bo_interface xe_display_bo_interface; + +#endif diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h index c044472b9400..2b53d12b0e0a 100644 --- a/include/drm/intel/display_parent_interface.h +++ b/include/drm/intel/display_parent_interface.h @@ -23,9 +23,22 @@ struct intel_initial_plane_config; struct intel_panic; struct intel_stolen_node; struct ref_tracker; +struct seq_file; +struct vm_area_struct; /* Keep struct definitions sorted */ +struct intel_display_bo_interface { + bool (*is_tiled)(struct drm_gem_object *obj); /* Optional */ + bool (*is_userptr)(struct drm_gem_object *obj); /* Optional */ + bool (*is_shmem)(struct drm_gem_object *obj); /* Optional */ + bool (*is_protected)(struct drm_gem_object *obj); + int (*key_check)(struct drm_gem_object *obj); + int (*fb_mmap)(struct drm_gem_object *obj, struct vm_area_struct *vma); + int (*read_from_page)(struct drm_gem_object *obj, u64 offset, void *dst, int size); + void (*describe)(struct seq_file *m, struct drm_gem_object *obj); /* Optional */ +}; + struct intel_display_dpt_interface { struct intel_dpt *(*create)(struct drm_gem_object *obj, size_t size); void (*destroy)(struct intel_dpt *dpt); @@ -174,6 +187,9 @@ struct intel_display_vma_interface { * check the optional pointers. */ struct intel_display_parent_interface { + /** @bo: BO interface */ + const struct intel_display_bo_interface *bo; + /** @dpt: DPT interface. Optional. */ const struct intel_display_dpt_interface *dpt; -- 2.47.3 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* RE: [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent interface 2026-03-11 14:18 ` [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent interface Jani Nikula @ 2026-03-12 3:47 ` Kandpal, Suraj 2026-03-12 4:27 ` Kandpal, Suraj 0 siblings, 1 reply; 21+ messages in thread From: Kandpal, Suraj @ 2026-03-12 3:47 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Cc: Nikula, Jani > Subject: [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent > interface > > Continue i915 and xe separation from display by moving the bo calls to the > display parent interface. Instead of adding all these functions to > intel_parent.[ch], reuse the now vacated intel_bo.[ch], and avoid mass > renames to calls of these functions. This is similar to intel_display_rpm.[ch]. > > Make many of the hooks optional to avoid having to implement dummy > functions in xe. Indeed now we can remove many of the existing dummy > functions. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/Makefile | 1 + > drivers/gpu/drm/i915/display/intel_bo.c | 66 ++++++++++++++++++++ > drivers/gpu/drm/i915/i915_bo.c | 32 +++++++--- > drivers/gpu/drm/i915/i915_bo.h | 9 +++ > drivers/gpu/drm/i915/i915_driver.c | 2 + > drivers/gpu/drm/xe/Makefile | 1 + > drivers/gpu/drm/xe/display/xe_display.c | 2 + > drivers/gpu/drm/xe/display/xe_display_bo.c | 45 +++---------- > drivers/gpu/drm/xe/display/xe_display_bo.h | 9 +++ > include/drm/intel/display_parent_interface.h | 16 +++++ > 10 files changed, 138 insertions(+), 45 deletions(-) create mode 100644 > drivers/gpu/drm/i915/display/intel_bo.c > create mode 100644 drivers/gpu/drm/i915/i915_bo.h create mode 100644 > drivers/gpu/drm/xe/display/xe_display_bo.h > > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index 52a82608b8b1..425933fb26a5 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -240,6 +240,7 @@ i915-y += \ > display/intel_atomic.o \ > display/intel_audio.o \ > display/intel_bios.o \ > + display/intel_bo.o \ > display/intel_bw.o \ > display/intel_casf.o \ > display/intel_cdclk.o \ > diff --git a/drivers/gpu/drm/i915/display/intel_bo.c > b/drivers/gpu/drm/i915/display/intel_bo.c > new file mode 100644 > index 000000000000..e356ab4e0640 > --- /dev/null > +++ b/drivers/gpu/drm/i915/display/intel_bo.c > @@ -0,0 +1,66 @@ > +// SPDX-License-Identifier: MIT > +/* Copyright © 2026 Intel Corporation */ > + > +#include <drm/drm_gem.h> > +#include <drm/intel/display_parent_interface.h> > + > +#include "intel_bo.h" > +#include "intel_display_core.h" > +#include "intel_display_types.h" > + > +bool intel_bo_is_tiled(struct drm_gem_object *obj) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + return display->parent->bo->is_tiled && > +display->parent->bo->is_tiled(obj); > +} > + > +bool intel_bo_is_userptr(struct drm_gem_object *obj) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + return display->parent->bo->is_userptr && > +display->parent->bo->is_userptr(obj); > +} > + > +bool intel_bo_is_shmem(struct drm_gem_object *obj) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + return display->parent->bo->is_shmem && > +display->parent->bo->is_shmem(obj); > +} > + > +bool intel_bo_is_protected(struct drm_gem_object *obj) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + return display->parent->bo->is_protected(obj); > +} > + > +int intel_bo_key_check(struct drm_gem_object *obj) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + return display->parent->bo->key_check(obj); > +} > + > +int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct > +*vma) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + return display->parent->bo->fb_mmap(obj, vma); } > + > +int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, > +void *dst, int size) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + return display->parent->bo->read_from_page(obj, offset, dst, size); } > + > +void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) > +{ > + struct intel_display *display = to_intel_display(obj->dev); > + > + if (display->parent->bo->describe) > + display->parent->bo->describe(m, obj); Nit: Why not follow the same way of making this optional the way you have done on top Would look consistent. return display->parent->bo->describe && display->parent->bo->describe(m, obj); Otherwise LGTM, Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> > diff --git a/drivers/gpu/drm/i915/i915_bo.c > b/drivers/gpu/drm/i915/i915_bo.c index 21a4533ba341..04fc0e3b7ef6 > 100644 > --- a/drivers/gpu/drm/i915/i915_bo.c > +++ b/drivers/gpu/drm/i915/i915_bo.c > @@ -2,51 +2,63 @@ > /* Copyright © 2024 Intel Corporation */ > > #include <drm/drm_panic.h> > - > -#include "display/intel_bo.h" > +#include <drm/intel/display_parent_interface.h> > > #include "gem/i915_gem_mman.h" > #include "gem/i915_gem_object.h" > #include "gem/i915_gem_object_frontbuffer.h" > #include "pxp/intel_pxp.h" > + > +#include "i915_bo.h" > #include "i915_debugfs.h" > > -bool intel_bo_is_tiled(struct drm_gem_object *obj) > +static bool i915_bo_is_tiled(struct drm_gem_object *obj) > { > return i915_gem_object_is_tiled(to_intel_bo(obj)); > } > > -bool intel_bo_is_userptr(struct drm_gem_object *obj) > +static bool i915_bo_is_userptr(struct drm_gem_object *obj) > { > return i915_gem_object_is_userptr(to_intel_bo(obj)); > } > > -bool intel_bo_is_shmem(struct drm_gem_object *obj) > +static bool i915_bo_is_shmem(struct drm_gem_object *obj) > { > return i915_gem_object_is_shmem(to_intel_bo(obj)); > } > > -bool intel_bo_is_protected(struct drm_gem_object *obj) > +static bool i915_bo_is_protected(struct drm_gem_object *obj) > { > return i915_gem_object_is_protected(to_intel_bo(obj)); > } > > -int intel_bo_key_check(struct drm_gem_object *obj) > +static int i915_bo_key_check(struct drm_gem_object *obj) > { > return intel_pxp_key_check(obj, false); } > > -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct > *vma) > +static int i915_bo_fb_mmap(struct drm_gem_object *obj, struct > +vm_area_struct *vma) > { > return i915_gem_fb_mmap(to_intel_bo(obj), vma); } > > -int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void > *dst, int size) > +static int i915_bo_read_from_page(struct drm_gem_object *obj, u64 > +offset, void *dst, int size) > { > return i915_gem_object_read_from_page(to_intel_bo(obj), offset, > dst, size); } > > -void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) > +static void i915_bo_describe(struct seq_file *m, struct drm_gem_object > +*obj) > { > i915_debugfs_describe_obj(m, to_intel_bo(obj)); } > + > +const struct intel_display_bo_interface i915_display_bo_interface = { > + .is_tiled = i915_bo_is_tiled, > + .is_userptr = i915_bo_is_userptr, > + .is_shmem = i915_bo_is_shmem, > + .is_protected = i915_bo_is_protected, > + .key_check = i915_bo_key_check, > + .fb_mmap = i915_bo_fb_mmap, > + .read_from_page = i915_bo_read_from_page, > + .describe = i915_bo_describe, > +}; > diff --git a/drivers/gpu/drm/i915/i915_bo.h > b/drivers/gpu/drm/i915/i915_bo.h new file mode 100644 index > 000000000000..57255d052dd9 > --- /dev/null > +++ b/drivers/gpu/drm/i915/i915_bo.h > @@ -0,0 +1,9 @@ > +/* SPDX-License-Identifier: MIT */ > +/* Copyright © 2026 Intel Corporation */ > + > +#ifndef __I915_BO_H__ > +#define __I915_BO_H__ > + > +extern const struct intel_display_bo_interface > +i915_display_bo_interface; > + > +#endif /* __I915_BO_H__ */ > diff --git a/drivers/gpu/drm/i915/i915_driver.c > b/drivers/gpu/drm/i915/i915_driver.c > index 7a8c59a8c865..385a634c3ed0 100644 > --- a/drivers/gpu/drm/i915/i915_driver.c > +++ b/drivers/gpu/drm/i915/i915_driver.c > @@ -90,6 +90,7 @@ > #include "pxp/intel_pxp_debugfs.h" > #include "pxp/intel_pxp_pm.h" > > +#include "i915_bo.h" > #include "i915_debugfs.h" > #include "i915_display_pc8.h" > #include "i915_dpt.h" > @@ -765,6 +766,7 @@ static bool vgpu_active(struct drm_device *drm) } > > static const struct intel_display_parent_interface parent = { > + .bo = &i915_display_bo_interface, > .dpt = &i915_display_dpt_interface, > .dsb = &i915_display_dsb_interface, > .frontbuffer = &i915_display_frontbuffer_interface, > diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile > index aeede4423680..b16ed1ce2a85 100644 > --- a/drivers/gpu/drm/xe/Makefile > +++ b/drivers/gpu/drm/xe/Makefile > @@ -235,6 +235,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \ > i915-display/intel_audio.o \ > i915-display/intel_backlight.o \ > i915-display/intel_bios.o \ > + i915-display/intel_bo.o \ > i915-display/intel_bw.o \ > i915-display/intel_casf.o \ > i915-display/intel_cdclk.o \ > diff --git a/drivers/gpu/drm/xe/display/xe_display.c > b/drivers/gpu/drm/xe/display/xe_display.c > index f1e1889a52d3..49b6f98e7391 100644 > --- a/drivers/gpu/drm/xe/display/xe_display.c > +++ b/drivers/gpu/drm/xe/display/xe_display.c > @@ -35,6 +35,7 @@ > #include "intel_hotplug.h" > #include "intel_opregion.h" > #include "skl_watermark.h" > +#include "xe_display_bo.h" > #include "xe_display_pcode.h" > #include "xe_display_rpm.h" > #include "xe_dsb_buffer.h" > @@ -541,6 +542,7 @@ static const struct intel_display_irq_interface > xe_display_irq_interface = { }; > > static const struct intel_display_parent_interface parent = { > + .bo = &xe_display_bo_interface, > .dsb = &xe_display_dsb_interface, > .frontbuffer = &xe_display_frontbuffer_interface, > .hdcp = &xe_display_hdcp_interface, > diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.c > b/drivers/gpu/drm/xe/display/xe_display_bo.c > index fa1f2c796b81..a53ba3f247ec 100644 > --- a/drivers/gpu/drm/xe/display/xe_display_bo.c > +++ b/drivers/gpu/drm/xe/display/xe_display_bo.c > @@ -2,52 +2,27 @@ > /* Copyright © 2024 Intel Corporation */ > > #include <drm/drm_gem.h> > +#include <drm/intel/display_parent_interface.h> > > -#include "intel_bo.h" > -#include "intel_frontbuffer.h" > #include "xe_bo.h" > +#include "xe_display_bo.h" > #include "xe_pxp.h" > > -bool intel_bo_is_tiled(struct drm_gem_object *obj) -{ > - /* legacy tiling is unused */ > - return false; > -} > - > -bool intel_bo_is_userptr(struct drm_gem_object *obj) -{ > - /* xe does not have userptr bos */ > - return false; > -} > - > -bool intel_bo_is_shmem(struct drm_gem_object *obj) -{ > - return false; > -} > - > -bool intel_bo_is_protected(struct drm_gem_object *obj) > +static bool xe_display_bo_is_protected(struct drm_gem_object *obj) > { > return xe_bo_is_protected(gem_to_xe_bo(obj)); > } > > -int intel_bo_key_check(struct drm_gem_object *obj) -{ > - return xe_pxp_obj_key_check(obj); > -} > - > -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct vm_area_struct > *vma) -{ > - return drm_gem_prime_mmap(obj, vma); > -} > - > -int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void > *dst, int size) > +static int xe_display_bo_read_from_page(struct drm_gem_object *obj, u64 > +offset, void *dst, int size) > { > struct xe_bo *bo = gem_to_xe_bo(obj); > > return xe_bo_read(bo, offset, dst, size); } > > -void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) -{ > - /* FIXME */ > -} > +const struct intel_display_bo_interface xe_display_bo_interface = { > + .is_protected = xe_display_bo_is_protected, > + .key_check = xe_pxp_obj_key_check, > + .fb_mmap = drm_gem_prime_mmap, > + .read_from_page = xe_display_bo_read_from_page, }; > diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.h > b/drivers/gpu/drm/xe/display/xe_display_bo.h > new file mode 100644 > index 000000000000..6879c104b0b1 > --- /dev/null > +++ b/drivers/gpu/drm/xe/display/xe_display_bo.h > @@ -0,0 +1,9 @@ > +/* SPDX-License-Identifier: MIT */ > +/* Copyright © 2026 Intel Corporation */ > + > +#ifndef __XE_DISPLAY_BO_H__ > +#define __XE_DISPLAY_BO_H__ > + > +extern const struct intel_display_bo_interface xe_display_bo_interface; > + > +#endif > diff --git a/include/drm/intel/display_parent_interface.h > b/include/drm/intel/display_parent_interface.h > index c044472b9400..2b53d12b0e0a 100644 > --- a/include/drm/intel/display_parent_interface.h > +++ b/include/drm/intel/display_parent_interface.h > @@ -23,9 +23,22 @@ struct intel_initial_plane_config; struct intel_panic; > struct intel_stolen_node; struct ref_tracker; > +struct seq_file; > +struct vm_area_struct; > > /* Keep struct definitions sorted */ > > +struct intel_display_bo_interface { > + bool (*is_tiled)(struct drm_gem_object *obj); /* Optional */ > + bool (*is_userptr)(struct drm_gem_object *obj); /* Optional */ > + bool (*is_shmem)(struct drm_gem_object *obj); /* Optional */ > + bool (*is_protected)(struct drm_gem_object *obj); > + int (*key_check)(struct drm_gem_object *obj); > + int (*fb_mmap)(struct drm_gem_object *obj, struct vm_area_struct > *vma); > + int (*read_from_page)(struct drm_gem_object *obj, u64 offset, void > *dst, int size); > + void (*describe)(struct seq_file *m, struct drm_gem_object *obj); /* > +Optional */ }; > + > struct intel_display_dpt_interface { > struct intel_dpt *(*create)(struct drm_gem_object *obj, size_t size); > void (*destroy)(struct intel_dpt *dpt); @@ -174,6 +187,9 @@ struct > intel_display_vma_interface { > * check the optional pointers. > */ > struct intel_display_parent_interface { > + /** @bo: BO interface */ > + const struct intel_display_bo_interface *bo; > + > /** @dpt: DPT interface. Optional. */ > const struct intel_display_dpt_interface *dpt; > > -- > 2.47.3 ^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent interface 2026-03-12 3:47 ` Kandpal, Suraj @ 2026-03-12 4:27 ` Kandpal, Suraj 0 siblings, 0 replies; 21+ messages in thread From: Kandpal, Suraj @ 2026-03-12 4:27 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Cc: Nikula, Jani > Subject: RE: [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent > interface > > > Subject: [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to > > parent interface > > > > Continue i915 and xe separation from display by moving the bo calls to > > the display parent interface. Instead of adding all these functions to > > intel_parent.[ch], reuse the now vacated intel_bo.[ch], and avoid mass > > renames to calls of these functions. This is similar to intel_display_rpm.[ch]. > > > > Make many of the hooks optional to avoid having to implement dummy > > functions in xe. Indeed now we can remove many of the existing dummy > > functions. > > > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > > --- > > drivers/gpu/drm/i915/Makefile | 1 + > > drivers/gpu/drm/i915/display/intel_bo.c | 66 ++++++++++++++++++++ > > drivers/gpu/drm/i915/i915_bo.c | 32 +++++++--- > > drivers/gpu/drm/i915/i915_bo.h | 9 +++ > > drivers/gpu/drm/i915/i915_driver.c | 2 + > > drivers/gpu/drm/xe/Makefile | 1 + > > drivers/gpu/drm/xe/display/xe_display.c | 2 + > > drivers/gpu/drm/xe/display/xe_display_bo.c | 45 +++---------- > > drivers/gpu/drm/xe/display/xe_display_bo.h | 9 +++ > > include/drm/intel/display_parent_interface.h | 16 +++++ > > 10 files changed, 138 insertions(+), 45 deletions(-) create mode > > 100644 drivers/gpu/drm/i915/display/intel_bo.c > > create mode 100644 drivers/gpu/drm/i915/i915_bo.h create mode 100644 > > drivers/gpu/drm/xe/display/xe_display_bo.h > > > > diff --git a/drivers/gpu/drm/i915/Makefile > > b/drivers/gpu/drm/i915/Makefile index 52a82608b8b1..425933fb26a5 > > 100644 > > --- a/drivers/gpu/drm/i915/Makefile > > +++ b/drivers/gpu/drm/i915/Makefile > > @@ -240,6 +240,7 @@ i915-y += \ > > display/intel_atomic.o \ > > display/intel_audio.o \ > > display/intel_bios.o \ > > + display/intel_bo.o \ > > display/intel_bw.o \ > > display/intel_casf.o \ > > display/intel_cdclk.o \ > > diff --git a/drivers/gpu/drm/i915/display/intel_bo.c > > b/drivers/gpu/drm/i915/display/intel_bo.c > > new file mode 100644 > > index 000000000000..e356ab4e0640 > > --- /dev/null > > +++ b/drivers/gpu/drm/i915/display/intel_bo.c > > @@ -0,0 +1,66 @@ > > +// SPDX-License-Identifier: MIT > > +/* Copyright © 2026 Intel Corporation */ > > + > > +#include <drm/drm_gem.h> > > +#include <drm/intel/display_parent_interface.h> > > + > > +#include "intel_bo.h" > > +#include "intel_display_core.h" > > +#include "intel_display_types.h" > > + > > +bool intel_bo_is_tiled(struct drm_gem_object *obj) { > > + struct intel_display *display = to_intel_display(obj->dev); > > + > > + return display->parent->bo->is_tiled && > > +display->parent->bo->is_tiled(obj); > > +} > > + > > +bool intel_bo_is_userptr(struct drm_gem_object *obj) { > > + struct intel_display *display = to_intel_display(obj->dev); > > + > > + return display->parent->bo->is_userptr && > > +display->parent->bo->is_userptr(obj); > > +} > > + > > +bool intel_bo_is_shmem(struct drm_gem_object *obj) { > > + struct intel_display *display = to_intel_display(obj->dev); > > + > > + return display->parent->bo->is_shmem && > > +display->parent->bo->is_shmem(obj); > > +} > > + > > +bool intel_bo_is_protected(struct drm_gem_object *obj) { > > + struct intel_display *display = to_intel_display(obj->dev); > > + > > + return display->parent->bo->is_protected(obj); > > +} > > + > > +int intel_bo_key_check(struct drm_gem_object *obj) { > > + struct intel_display *display = to_intel_display(obj->dev); > > + > > + return display->parent->bo->key_check(obj); > > +} > > + > > +int intel_bo_fb_mmap(struct drm_gem_object *obj, struct > > +vm_area_struct > > +*vma) { > > + struct intel_display *display = to_intel_display(obj->dev); > > + > > + return display->parent->bo->fb_mmap(obj, vma); } > > + > > +int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, > > +void *dst, int size) { > > + struct intel_display *display = to_intel_display(obj->dev); > > + > > + return display->parent->bo->read_from_page(obj, offset, dst, size); > > +} > > + > > +void intel_bo_describe(struct seq_file *m, struct drm_gem_object > > +*obj) { > > + struct intel_display *display = to_intel_display(obj->dev); > > + > > + if (display->parent->bo->describe) > > + display->parent->bo->describe(m, obj); > > Nit: Why not follow the same way of making this optional the way you have > done on top Would look consistent. > return display->parent->bo->describe && display->parent->bo- > >describe(m, obj); Ahh nevermind, I missed that it was a void function. In that case it make perfect sense. Regards, Suraj Kandpal > > Otherwise LGTM, > Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> > > > diff --git a/drivers/gpu/drm/i915/i915_bo.c > > b/drivers/gpu/drm/i915/i915_bo.c index 21a4533ba341..04fc0e3b7ef6 > > 100644 > > --- a/drivers/gpu/drm/i915/i915_bo.c > > +++ b/drivers/gpu/drm/i915/i915_bo.c > > @@ -2,51 +2,63 @@ > > /* Copyright © 2024 Intel Corporation */ > > > > #include <drm/drm_panic.h> > > - > > -#include "display/intel_bo.h" > > +#include <drm/intel/display_parent_interface.h> > > > > #include "gem/i915_gem_mman.h" > > #include "gem/i915_gem_object.h" > > #include "gem/i915_gem_object_frontbuffer.h" > > #include "pxp/intel_pxp.h" > > + > > +#include "i915_bo.h" > > #include "i915_debugfs.h" > > > > -bool intel_bo_is_tiled(struct drm_gem_object *obj) > > +static bool i915_bo_is_tiled(struct drm_gem_object *obj) > > { > > return i915_gem_object_is_tiled(to_intel_bo(obj)); > > } > > > > -bool intel_bo_is_userptr(struct drm_gem_object *obj) > > +static bool i915_bo_is_userptr(struct drm_gem_object *obj) > > { > > return i915_gem_object_is_userptr(to_intel_bo(obj)); > > } > > > > -bool intel_bo_is_shmem(struct drm_gem_object *obj) > > +static bool i915_bo_is_shmem(struct drm_gem_object *obj) > > { > > return i915_gem_object_is_shmem(to_intel_bo(obj)); > > } > > > > -bool intel_bo_is_protected(struct drm_gem_object *obj) > > +static bool i915_bo_is_protected(struct drm_gem_object *obj) > > { > > return i915_gem_object_is_protected(to_intel_bo(obj)); > > } > > > > -int intel_bo_key_check(struct drm_gem_object *obj) > > +static int i915_bo_key_check(struct drm_gem_object *obj) > > { > > return intel_pxp_key_check(obj, false); } > > > > -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct > > vm_area_struct > > *vma) > > +static int i915_bo_fb_mmap(struct drm_gem_object *obj, struct > > +vm_area_struct *vma) > > { > > return i915_gem_fb_mmap(to_intel_bo(obj), vma); } > > > > -int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, > > void *dst, int size) > > +static int i915_bo_read_from_page(struct drm_gem_object *obj, u64 > > +offset, void *dst, int size) > > { > > return i915_gem_object_read_from_page(to_intel_bo(obj), offset, > dst, > > size); } > > > > -void intel_bo_describe(struct seq_file *m, struct drm_gem_object > > *obj) > > +static void i915_bo_describe(struct seq_file *m, struct > > +drm_gem_object > > +*obj) > > { > > i915_debugfs_describe_obj(m, to_intel_bo(obj)); } > > + > > +const struct intel_display_bo_interface i915_display_bo_interface = { > > + .is_tiled = i915_bo_is_tiled, > > + .is_userptr = i915_bo_is_userptr, > > + .is_shmem = i915_bo_is_shmem, > > + .is_protected = i915_bo_is_protected, > > + .key_check = i915_bo_key_check, > > + .fb_mmap = i915_bo_fb_mmap, > > + .read_from_page = i915_bo_read_from_page, > > + .describe = i915_bo_describe, > > +}; > > diff --git a/drivers/gpu/drm/i915/i915_bo.h > > b/drivers/gpu/drm/i915/i915_bo.h new file mode 100644 index > > 000000000000..57255d052dd9 > > --- /dev/null > > +++ b/drivers/gpu/drm/i915/i915_bo.h > > @@ -0,0 +1,9 @@ > > +/* SPDX-License-Identifier: MIT */ > > +/* Copyright © 2026 Intel Corporation */ > > + > > +#ifndef __I915_BO_H__ > > +#define __I915_BO_H__ > > + > > +extern const struct intel_display_bo_interface > > +i915_display_bo_interface; > > + > > +#endif /* __I915_BO_H__ */ > > diff --git a/drivers/gpu/drm/i915/i915_driver.c > > b/drivers/gpu/drm/i915/i915_driver.c > > index 7a8c59a8c865..385a634c3ed0 100644 > > --- a/drivers/gpu/drm/i915/i915_driver.c > > +++ b/drivers/gpu/drm/i915/i915_driver.c > > @@ -90,6 +90,7 @@ > > #include "pxp/intel_pxp_debugfs.h" > > #include "pxp/intel_pxp_pm.h" > > > > +#include "i915_bo.h" > > #include "i915_debugfs.h" > > #include "i915_display_pc8.h" > > #include "i915_dpt.h" > > @@ -765,6 +766,7 @@ static bool vgpu_active(struct drm_device *drm) } > > > > static const struct intel_display_parent_interface parent = { > > + .bo = &i915_display_bo_interface, > > .dpt = &i915_display_dpt_interface, > > .dsb = &i915_display_dsb_interface, > > .frontbuffer = &i915_display_frontbuffer_interface, > > diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile > > index aeede4423680..b16ed1ce2a85 100644 > > --- a/drivers/gpu/drm/xe/Makefile > > +++ b/drivers/gpu/drm/xe/Makefile > > @@ -235,6 +235,7 @@ xe-$(CONFIG_DRM_XE_DISPLAY) += \ > > i915-display/intel_audio.o \ > > i915-display/intel_backlight.o \ > > i915-display/intel_bios.o \ > > + i915-display/intel_bo.o \ > > i915-display/intel_bw.o \ > > i915-display/intel_casf.o \ > > i915-display/intel_cdclk.o \ > > diff --git a/drivers/gpu/drm/xe/display/xe_display.c > > b/drivers/gpu/drm/xe/display/xe_display.c > > index f1e1889a52d3..49b6f98e7391 100644 > > --- a/drivers/gpu/drm/xe/display/xe_display.c > > +++ b/drivers/gpu/drm/xe/display/xe_display.c > > @@ -35,6 +35,7 @@ > > #include "intel_hotplug.h" > > #include "intel_opregion.h" > > #include "skl_watermark.h" > > +#include "xe_display_bo.h" > > #include "xe_display_pcode.h" > > #include "xe_display_rpm.h" > > #include "xe_dsb_buffer.h" > > @@ -541,6 +542,7 @@ static const struct intel_display_irq_interface > > xe_display_irq_interface = { }; > > > > static const struct intel_display_parent_interface parent = { > > + .bo = &xe_display_bo_interface, > > .dsb = &xe_display_dsb_interface, > > .frontbuffer = &xe_display_frontbuffer_interface, > > .hdcp = &xe_display_hdcp_interface, > > diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.c > > b/drivers/gpu/drm/xe/display/xe_display_bo.c > > index fa1f2c796b81..a53ba3f247ec 100644 > > --- a/drivers/gpu/drm/xe/display/xe_display_bo.c > > +++ b/drivers/gpu/drm/xe/display/xe_display_bo.c > > @@ -2,52 +2,27 @@ > > /* Copyright © 2024 Intel Corporation */ > > > > #include <drm/drm_gem.h> > > +#include <drm/intel/display_parent_interface.h> > > > > -#include "intel_bo.h" > > -#include "intel_frontbuffer.h" > > #include "xe_bo.h" > > +#include "xe_display_bo.h" > > #include "xe_pxp.h" > > > > -bool intel_bo_is_tiled(struct drm_gem_object *obj) -{ > > - /* legacy tiling is unused */ > > - return false; > > -} > > - > > -bool intel_bo_is_userptr(struct drm_gem_object *obj) -{ > > - /* xe does not have userptr bos */ > > - return false; > > -} > > - > > -bool intel_bo_is_shmem(struct drm_gem_object *obj) -{ > > - return false; > > -} > > - > > -bool intel_bo_is_protected(struct drm_gem_object *obj) > > +static bool xe_display_bo_is_protected(struct drm_gem_object *obj) > > { > > return xe_bo_is_protected(gem_to_xe_bo(obj)); > > } > > > > -int intel_bo_key_check(struct drm_gem_object *obj) -{ > > - return xe_pxp_obj_key_check(obj); > > -} > > - > > -int intel_bo_fb_mmap(struct drm_gem_object *obj, struct > > vm_area_struct > > *vma) -{ > > - return drm_gem_prime_mmap(obj, vma); > > -} > > - > > -int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, > > void *dst, int size) > > +static int xe_display_bo_read_from_page(struct drm_gem_object *obj, > > +u64 offset, void *dst, int size) > > { > > struct xe_bo *bo = gem_to_xe_bo(obj); > > > > return xe_bo_read(bo, offset, dst, size); } > > > > -void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) -{ > > - /* FIXME */ > > -} > > +const struct intel_display_bo_interface xe_display_bo_interface = { > > + .is_protected = xe_display_bo_is_protected, > > + .key_check = xe_pxp_obj_key_check, > > + .fb_mmap = drm_gem_prime_mmap, > > + .read_from_page = xe_display_bo_read_from_page, }; > > diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.h > > b/drivers/gpu/drm/xe/display/xe_display_bo.h > > new file mode 100644 > > index 000000000000..6879c104b0b1 > > --- /dev/null > > +++ b/drivers/gpu/drm/xe/display/xe_display_bo.h > > @@ -0,0 +1,9 @@ > > +/* SPDX-License-Identifier: MIT */ > > +/* Copyright © 2026 Intel Corporation */ > > + > > +#ifndef __XE_DISPLAY_BO_H__ > > +#define __XE_DISPLAY_BO_H__ > > + > > +extern const struct intel_display_bo_interface > > +xe_display_bo_interface; > > + > > +#endif > > diff --git a/include/drm/intel/display_parent_interface.h > > b/include/drm/intel/display_parent_interface.h > > index c044472b9400..2b53d12b0e0a 100644 > > --- a/include/drm/intel/display_parent_interface.h > > +++ b/include/drm/intel/display_parent_interface.h > > @@ -23,9 +23,22 @@ struct intel_initial_plane_config; struct > > intel_panic; struct intel_stolen_node; struct ref_tracker; > > +struct seq_file; > > +struct vm_area_struct; > > > > /* Keep struct definitions sorted */ > > > > +struct intel_display_bo_interface { > > + bool (*is_tiled)(struct drm_gem_object *obj); /* Optional */ > > + bool (*is_userptr)(struct drm_gem_object *obj); /* Optional */ > > + bool (*is_shmem)(struct drm_gem_object *obj); /* Optional */ > > + bool (*is_protected)(struct drm_gem_object *obj); > > + int (*key_check)(struct drm_gem_object *obj); > > + int (*fb_mmap)(struct drm_gem_object *obj, struct vm_area_struct > > *vma); > > + int (*read_from_page)(struct drm_gem_object *obj, u64 offset, void > > *dst, int size); > > + void (*describe)(struct seq_file *m, struct drm_gem_object *obj); /* > > +Optional */ }; > > + > > struct intel_display_dpt_interface { > > struct intel_dpt *(*create)(struct drm_gem_object *obj, size_t size); > > void (*destroy)(struct intel_dpt *dpt); @@ -174,6 +187,9 @@ struct > > intel_display_vma_interface { > > * check the optional pointers. > > */ > > struct intel_display_parent_interface { > > + /** @bo: BO interface */ > > + const struct intel_display_bo_interface *bo; > > + > > /** @dpt: DPT interface. Optional. */ > > const struct intel_display_dpt_interface *dpt; > > > > -- > > 2.47.3 ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 4/5] drm/i915/fb: make intel_fb_bo.c less dependent on display 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula ` (2 preceding siblings ...) 2026-03-11 14:18 ` [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent interface Jani Nikula @ 2026-03-11 14:18 ` Jani Nikula 2026-03-12 3:51 ` Kandpal, Suraj 2026-03-11 14:18 ` [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface Jani Nikula ` (6 subsequent siblings) 10 siblings, 1 reply; 21+ messages in thread From: Jani Nikula @ 2026-03-11 14:18 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: jani.nikula intel_fb_bo.c is i915 core specific code, and should use struct drm_i915_private instead of struct intel_display. Switch one DISPLAY_VER() to GRAPHICS_VER(). The check is for < 4, where they're effectively the same thing. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/display/intel_fb_bo.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.c b/drivers/gpu/drm/i915/display/intel_fb_bo.c index bfecd73d5fa0..a4d49ef450d9 100644 --- a/drivers/gpu/drm/i915/display/intel_fb_bo.c +++ b/drivers/gpu/drm/i915/display/intel_fb_bo.c @@ -9,8 +9,6 @@ #include "gem/i915_gem_object.h" #include "i915_drv.h" -#include "intel_display_core.h" -#include "intel_display_types.h" #include "intel_fb.h" #include "intel_fb_bo.h" @@ -23,7 +21,7 @@ int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, struct drm_mode_fb_cmd2 *mode_cmd) { struct drm_i915_gem_object *obj = to_intel_bo(_obj); - struct intel_display *display = to_intel_display(obj->base.dev); + struct drm_i915_private *i915 = to_i915(obj->base.dev); unsigned int tiling, stride; i915_gem_object_lock(obj, NULL); @@ -38,7 +36,7 @@ int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, */ if (tiling != I915_TILING_NONE && tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { - drm_dbg_kms(display->drm, + drm_dbg_kms(&i915->drm, "tiling_mode doesn't match fb modifier\n"); return -EINVAL; } @@ -46,7 +44,7 @@ int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, if (tiling == I915_TILING_X) { mode_cmd->modifier[0] = I915_FORMAT_MOD_X_TILED; } else if (tiling == I915_TILING_Y) { - drm_dbg_kms(display->drm, + drm_dbg_kms(&i915->drm, "No Y tiling for legacy addfb\n"); return -EINVAL; } @@ -56,9 +54,9 @@ int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, * gen2/3 display engine uses the fence if present, * so the tiling mode must match the fb modifier exactly. */ - if (DISPLAY_VER(display) < 4 && + if (GRAPHICS_VER(i915) < 4 && tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { - drm_dbg_kms(display->drm, + drm_dbg_kms(&i915->drm, "tiling_mode must match fb modifier exactly on gen2/3\n"); return -EINVAL; } @@ -68,7 +66,7 @@ int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, * the fb pitch and fence stride match. */ if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { - drm_dbg_kms(display->drm, + drm_dbg_kms(&i915->drm, "pitch (%d) must match tiling stride (%d)\n", mode_cmd->pitches[0], stride); return -EINVAL; -- 2.47.3 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* RE: [PATCH 4/5] drm/i915/fb: make intel_fb_bo.c less dependent on display 2026-03-11 14:18 ` [PATCH 4/5] drm/i915/fb: make intel_fb_bo.c less dependent on display Jani Nikula @ 2026-03-12 3:51 ` Kandpal, Suraj 0 siblings, 0 replies; 21+ messages in thread From: Kandpal, Suraj @ 2026-03-12 3:51 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Cc: Nikula, Jani > Subject: [PATCH 4/5] drm/i915/fb: make intel_fb_bo.c less dependent on > display > > intel_fb_bo.c is i915 core specific code, and should use struct > drm_i915_private instead of struct intel_display. > > Switch one DISPLAY_VER() to GRAPHICS_VER(). The check is for < 4, where > they're effectively the same thing. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> LGTM, Reviewed-by: Suraj Kandpal@intel.com> > --- > drivers/gpu/drm/i915/display/intel_fb_bo.c | 14 ++++++-------- > 1 file changed, 6 insertions(+), 8 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.c > b/drivers/gpu/drm/i915/display/intel_fb_bo.c > index bfecd73d5fa0..a4d49ef450d9 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb_bo.c > +++ b/drivers/gpu/drm/i915/display/intel_fb_bo.c > @@ -9,8 +9,6 @@ > #include "gem/i915_gem_object.h" > > #include "i915_drv.h" > -#include "intel_display_core.h" > -#include "intel_display_types.h" > #include "intel_fb.h" > #include "intel_fb_bo.h" > > @@ -23,7 +21,7 @@ int intel_fb_bo_framebuffer_init(struct > drm_gem_object *_obj, > struct drm_mode_fb_cmd2 *mode_cmd) { > struct drm_i915_gem_object *obj = to_intel_bo(_obj); > - struct intel_display *display = to_intel_display(obj->base.dev); > + struct drm_i915_private *i915 = to_i915(obj->base.dev); > unsigned int tiling, stride; > > i915_gem_object_lock(obj, NULL); > @@ -38,7 +36,7 @@ int intel_fb_bo_framebuffer_init(struct > drm_gem_object *_obj, > */ > if (tiling != I915_TILING_NONE && > tiling != intel_fb_modifier_to_tiling(mode_cmd- > >modifier[0])) { > - drm_dbg_kms(display->drm, > + drm_dbg_kms(&i915->drm, > "tiling_mode doesn't match fb modifier\n"); > return -EINVAL; > } > @@ -46,7 +44,7 @@ int intel_fb_bo_framebuffer_init(struct > drm_gem_object *_obj, > if (tiling == I915_TILING_X) { > mode_cmd->modifier[0] = > I915_FORMAT_MOD_X_TILED; > } else if (tiling == I915_TILING_Y) { > - drm_dbg_kms(display->drm, > + drm_dbg_kms(&i915->drm, > "No Y tiling for legacy addfb\n"); > return -EINVAL; > } > @@ -56,9 +54,9 @@ int intel_fb_bo_framebuffer_init(struct > drm_gem_object *_obj, > * gen2/3 display engine uses the fence if present, > * so the tiling mode must match the fb modifier exactly. > */ > - if (DISPLAY_VER(display) < 4 && > + if (GRAPHICS_VER(i915) < 4 && > tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { > - drm_dbg_kms(display->drm, > + drm_dbg_kms(&i915->drm, > "tiling_mode must match fb modifier exactly on > gen2/3\n"); > return -EINVAL; > } > @@ -68,7 +66,7 @@ int intel_fb_bo_framebuffer_init(struct > drm_gem_object *_obj, > * the fb pitch and fence stride match. > */ > if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { > - drm_dbg_kms(display->drm, > + drm_dbg_kms(&i915->drm, > "pitch (%d) must match tiling stride (%d)\n", > mode_cmd->pitches[0], stride); > return -EINVAL; > -- > 2.47.3 ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula ` (3 preceding siblings ...) 2026-03-11 14:18 ` [PATCH 4/5] drm/i915/fb: make intel_fb_bo.c less dependent on display Jani Nikula @ 2026-03-11 14:18 ` Jani Nikula 2026-03-12 4:25 ` Kandpal, Suraj 2026-03-11 14:24 ` ✗ CI.checkpatch: warning for drm/{i915,xe}: move bo stuff " Patchwork ` (5 subsequent siblings) 10 siblings, 1 reply; 21+ messages in thread From: Jani Nikula @ 2026-03-11 14:18 UTC (permalink / raw) To: intel-gfx, intel-xe; +Cc: jani.nikula Add .framebuffer_init, .framebuffer_fini and .framebuffer_lookup to the bo parent interface. While they're about framebuffers, they're specifically about framebuffer objects, so the bo interface is a good enough fit, and there's no need to add another interface struct. Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/Makefile | 1 - drivers/gpu/drm/i915/display/intel_bo.c | 21 +++++ drivers/gpu/drm/i915/display/intel_bo.h | 9 ++ drivers/gpu/drm/i915/display/intel_fb.c | 12 +-- drivers/gpu/drm/i915/display/intel_fb_bo.c | 99 -------------------- drivers/gpu/drm/i915/display/intel_fb_bo.h | 25 ----- drivers/gpu/drm/i915/i915_bo.c | 92 ++++++++++++++++++ drivers/gpu/drm/xe/Makefile | 1 - drivers/gpu/drm/xe/display/intel_fb_bo.c | 91 ------------------ drivers/gpu/drm/xe/display/xe_display_bo.c | 84 +++++++++++++++++ include/drm/intel/display_parent_interface.h | 6 ++ 11 files changed, 218 insertions(+), 223 deletions(-) delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.c delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.h delete mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile index 425933fb26a5..be976a90c5a6 100644 --- a/drivers/gpu/drm/i915/Makefile +++ b/drivers/gpu/drm/i915/Makefile @@ -278,7 +278,6 @@ i915-y += \ display/intel_drrs.o \ display/intel_dsb.o \ display/intel_fb.o \ - display/intel_fb_bo.o \ display/intel_fb_pin.o \ display/intel_fbc.o \ display/intel_fdi.o \ diff --git a/drivers/gpu/drm/i915/display/intel_bo.c b/drivers/gpu/drm/i915/display/intel_bo.c index e356ab4e0640..3b82d38a0504 100644 --- a/drivers/gpu/drm/i915/display/intel_bo.c +++ b/drivers/gpu/drm/i915/display/intel_bo.c @@ -64,3 +64,24 @@ void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj) if (display->parent->bo->describe) display->parent->bo->describe(m, obj); } + +int intel_bo_framebuffer_init(struct drm_gem_object *obj, struct drm_mode_fb_cmd2 *mode_cmd) +{ + struct intel_display *display = to_intel_display(obj->dev); + + return display->parent->bo->framebuffer_init(obj, mode_cmd); +} + +void intel_bo_framebuffer_fini(struct drm_gem_object *obj) +{ + struct intel_display *display = to_intel_display(obj->dev); + + display->parent->bo->framebuffer_fini(obj); +} + +struct drm_gem_object *intel_bo_framebuffer_lookup(struct intel_display *display, + struct drm_file *filp, + const struct drm_mode_fb_cmd2 *user_mode_cmd) +{ + return display->parent->bo->framebuffer_lookup(display->drm, filp, user_mode_cmd); +} diff --git a/drivers/gpu/drm/i915/display/intel_bo.h b/drivers/gpu/drm/i915/display/intel_bo.h index 40390ed92ceb..aec188c706c2 100644 --- a/drivers/gpu/drm/i915/display/intel_bo.h +++ b/drivers/gpu/drm/i915/display/intel_bo.h @@ -6,8 +6,11 @@ #include <linux/types.h> +struct drm_file; struct drm_gem_object; +struct drm_mode_fb_cmd2; struct drm_scanout_buffer; +struct intel_display; struct intel_framebuffer; struct seq_file; struct vm_area_struct; @@ -22,4 +25,10 @@ int intel_bo_read_from_page(struct drm_gem_object *obj, u64 offset, void *dst, i void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj); +void intel_bo_framebuffer_fini(struct drm_gem_object *obj); +int intel_bo_framebuffer_init(struct drm_gem_object *obj, struct drm_mode_fb_cmd2 *mode_cmd); +struct drm_gem_object *intel_bo_framebuffer_lookup(struct intel_display *display, + struct drm_file *filp, + const struct drm_mode_fb_cmd2 *user_mode_cmd); + #endif /* __INTEL_BO__ */ diff --git a/drivers/gpu/drm/i915/display/intel_fb.c b/drivers/gpu/drm/i915/display/intel_fb.c index 49c6ca9d94c6..5768619f840f 100644 --- a/drivers/gpu/drm/i915/display/intel_fb.c +++ b/drivers/gpu/drm/i915/display/intel_fb.c @@ -17,7 +17,6 @@ #include "intel_display_types.h" #include "intel_display_utils.h" #include "intel_fb.h" -#include "intel_fb_bo.h" #include "intel_frontbuffer.h" #include "intel_parent.h" #include "intel_plane.h" @@ -2111,7 +2110,7 @@ static void intel_user_framebuffer_destroy(struct drm_framebuffer *fb) if (intel_fb_uses_dpt(fb)) intel_parent_dpt_destroy(display, intel_fb->dpt); - intel_fb_bo_framebuffer_fini(intel_fb_bo(fb)); + intel_bo_framebuffer_fini(intel_fb_bo(fb)); intel_parent_frontbuffer_put(display, intel_fb->frontbuffer); @@ -2222,7 +2221,7 @@ int intel_framebuffer_init(struct intel_framebuffer *intel_fb, /* * intel_parent_frontbuffer_get() must be done before - * intel_fb_bo_framebuffer_init() to avoid set_tiling vs. addfb race. + * intel_bo_framebuffer_init() to avoid set_tiling vs. addfb race. */ intel_fb->frontbuffer = intel_parent_frontbuffer_get(display, obj); if (!intel_fb->frontbuffer) { @@ -2230,7 +2229,7 @@ int intel_framebuffer_init(struct intel_framebuffer *intel_fb, goto err_free_panic; } - ret = intel_fb_bo_framebuffer_init(obj, mode_cmd); + ret = intel_bo_framebuffer_init(obj, mode_cmd); if (ret) goto err_frontbuffer_put; @@ -2333,7 +2332,7 @@ int intel_framebuffer_init(struct intel_framebuffer *intel_fb, if (intel_fb_uses_dpt(fb)) intel_parent_dpt_destroy(display, intel_fb->dpt); err_bo_framebuffer_fini: - intel_fb_bo_framebuffer_fini(obj); + intel_bo_framebuffer_fini(obj); err_frontbuffer_put: intel_parent_frontbuffer_put(display, intel_fb->frontbuffer); err_free_panic: @@ -2348,11 +2347,12 @@ intel_user_framebuffer_create(struct drm_device *dev, const struct drm_format_info *info, const struct drm_mode_fb_cmd2 *user_mode_cmd) { + struct intel_display *display = to_intel_display(dev); struct drm_framebuffer *fb; struct drm_gem_object *obj; struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd; - obj = intel_fb_bo_lookup_valid_bo(dev, filp, &mode_cmd); + obj = intel_bo_framebuffer_lookup(display, filp, &mode_cmd); if (IS_ERR(obj)) return ERR_CAST(obj); diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.c b/drivers/gpu/drm/i915/display/intel_fb_bo.c deleted file mode 100644 index a4d49ef450d9..000000000000 --- a/drivers/gpu/drm/i915/display/intel_fb_bo.c +++ /dev/null @@ -1,99 +0,0 @@ -/* SPDX-License-Identifier: MIT */ -/* - * Copyright © 2021 Intel Corporation - */ - -#include <drm/drm_framebuffer.h> -#include <drm/drm_print.h> - -#include "gem/i915_gem_object.h" - -#include "i915_drv.h" -#include "intel_fb.h" -#include "intel_fb_bo.h" - -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj) -{ - /* Nothing to do for i915 */ -} - -int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, - struct drm_mode_fb_cmd2 *mode_cmd) -{ - struct drm_i915_gem_object *obj = to_intel_bo(_obj); - struct drm_i915_private *i915 = to_i915(obj->base.dev); - unsigned int tiling, stride; - - i915_gem_object_lock(obj, NULL); - tiling = i915_gem_object_get_tiling(obj); - stride = i915_gem_object_get_stride(obj); - i915_gem_object_unlock(obj); - - if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) { - /* - * If there's a fence, enforce that - * the fb modifier and tiling mode match. - */ - if (tiling != I915_TILING_NONE && - tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { - drm_dbg_kms(&i915->drm, - "tiling_mode doesn't match fb modifier\n"); - return -EINVAL; - } - } else { - if (tiling == I915_TILING_X) { - mode_cmd->modifier[0] = I915_FORMAT_MOD_X_TILED; - } else if (tiling == I915_TILING_Y) { - drm_dbg_kms(&i915->drm, - "No Y tiling for legacy addfb\n"); - return -EINVAL; - } - } - - /* - * gen2/3 display engine uses the fence if present, - * so the tiling mode must match the fb modifier exactly. - */ - if (GRAPHICS_VER(i915) < 4 && - tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { - drm_dbg_kms(&i915->drm, - "tiling_mode must match fb modifier exactly on gen2/3\n"); - return -EINVAL; - } - - /* - * If there's a fence, enforce that - * the fb pitch and fence stride match. - */ - if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { - drm_dbg_kms(&i915->drm, - "pitch (%d) must match tiling stride (%d)\n", - mode_cmd->pitches[0], stride); - return -EINVAL; - } - - return 0; -} - -struct drm_gem_object * -intel_fb_bo_lookup_valid_bo(struct drm_device *drm, - struct drm_file *filp, - const struct drm_mode_fb_cmd2 *mode_cmd) -{ - struct drm_i915_private *i915 = to_i915(drm); - struct drm_i915_gem_object *obj; - - obj = i915_gem_object_lookup(filp, mode_cmd->handles[0]); - if (!obj) - return ERR_PTR(-ENOENT); - - /* object is backed with LMEM for discrete */ - if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, INTEL_REGION_LMEM_0)) { - /* object is "remote", not in local memory */ - i915_gem_object_put(obj); - drm_dbg_kms(&i915->drm, "framebuffer must reside in local memory\n"); - return ERR_PTR(-EREMOTE); - } - - return intel_bo_to_drm_bo(obj); -} diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.h b/drivers/gpu/drm/i915/display/intel_fb_bo.h deleted file mode 100644 index d775773c6c03..000000000000 --- a/drivers/gpu/drm/i915/display/intel_fb_bo.h +++ /dev/null @@ -1,25 +0,0 @@ -/* SPDX-License-Identifier: MIT */ -/* - * Copyright © 2021 Intel Corporation - */ - -#ifndef __INTEL_FB_BO_H__ -#define __INTEL_FB_BO_H__ - -struct drm_device; -struct drm_file; -struct drm_framebuffer; -struct drm_gem_object; -struct drm_mode_fb_cmd2; - -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj); - -int intel_fb_bo_framebuffer_init(struct drm_gem_object *obj, - struct drm_mode_fb_cmd2 *mode_cmd); - -struct drm_gem_object * -intel_fb_bo_lookup_valid_bo(struct drm_device *drm, - struct drm_file *filp, - const struct drm_mode_fb_cmd2 *user_mode_cmd); - -#endif diff --git a/drivers/gpu/drm/i915/i915_bo.c b/drivers/gpu/drm/i915/i915_bo.c index 04fc0e3b7ef6..1789f7cab05c 100644 --- a/drivers/gpu/drm/i915/i915_bo.c +++ b/drivers/gpu/drm/i915/i915_bo.c @@ -2,8 +2,10 @@ /* Copyright © 2024 Intel Corporation */ #include <drm/drm_panic.h> +#include <drm/drm_print.h> #include <drm/intel/display_parent_interface.h> +#include "display/intel_fb.h" #include "gem/i915_gem_mman.h" #include "gem/i915_gem_object.h" #include "gem/i915_gem_object_frontbuffer.h" @@ -11,6 +13,7 @@ #include "i915_bo.h" #include "i915_debugfs.h" +#include "i915_drv.h" static bool i915_bo_is_tiled(struct drm_gem_object *obj) { @@ -52,6 +55,92 @@ static void i915_bo_describe(struct seq_file *m, struct drm_gem_object *obj) i915_debugfs_describe_obj(m, to_intel_bo(obj)); } +static int i915_bo_framebuffer_init(struct drm_gem_object *_obj, + struct drm_mode_fb_cmd2 *mode_cmd) +{ + struct drm_i915_gem_object *obj = to_intel_bo(_obj); + struct drm_i915_private *i915 = to_i915(obj->base.dev); + unsigned int tiling, stride; + + i915_gem_object_lock(obj, NULL); + tiling = i915_gem_object_get_tiling(obj); + stride = i915_gem_object_get_stride(obj); + i915_gem_object_unlock(obj); + + if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) { + /* + * If there's a fence, enforce that + * the fb modifier and tiling mode match. + */ + if (tiling != I915_TILING_NONE && + tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { + drm_dbg_kms(&i915->drm, + "tiling_mode doesn't match fb modifier\n"); + return -EINVAL; + } + } else { + if (tiling == I915_TILING_X) { + mode_cmd->modifier[0] = I915_FORMAT_MOD_X_TILED; + } else if (tiling == I915_TILING_Y) { + drm_dbg_kms(&i915->drm, + "No Y tiling for legacy addfb\n"); + return -EINVAL; + } + } + + /* + * gen2/3 display engine uses the fence if present, + * so the tiling mode must match the fb modifier exactly. + */ + if (GRAPHICS_VER(i915) < 4 && + tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { + drm_dbg_kms(&i915->drm, + "tiling_mode must match fb modifier exactly on gen2/3\n"); + return -EINVAL; + } + + /* + * If there's a fence, enforce that + * the fb pitch and fence stride match. + */ + if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { + drm_dbg_kms(&i915->drm, + "pitch (%d) must match tiling stride (%d)\n", + mode_cmd->pitches[0], stride); + return -EINVAL; + } + + return 0; +} + +static void i915_bo_framebuffer_fini(struct drm_gem_object *obj) +{ + /* Nothing to do for i915 */ +} + +static struct drm_gem_object * +i915_bo_framebuffer_lookup(struct drm_device *drm, + struct drm_file *filp, + const struct drm_mode_fb_cmd2 *mode_cmd) +{ + struct drm_i915_private *i915 = to_i915(drm); + struct drm_i915_gem_object *obj; + + obj = i915_gem_object_lookup(filp, mode_cmd->handles[0]); + if (!obj) + return ERR_PTR(-ENOENT); + + /* object is backed with LMEM for discrete */ + if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, INTEL_REGION_LMEM_0)) { + /* object is "remote", not in local memory */ + i915_gem_object_put(obj); + drm_dbg_kms(&i915->drm, "framebuffer must reside in local memory\n"); + return ERR_PTR(-EREMOTE); + } + + return intel_bo_to_drm_bo(obj); +} + const struct intel_display_bo_interface i915_display_bo_interface = { .is_tiled = i915_bo_is_tiled, .is_userptr = i915_bo_is_userptr, @@ -61,4 +150,7 @@ const struct intel_display_bo_interface i915_display_bo_interface = { .fb_mmap = i915_bo_fb_mmap, .read_from_page = i915_bo_read_from_page, .describe = i915_bo_describe, + .framebuffer_init = i915_bo_framebuffer_init, + .framebuffer_fini = i915_bo_framebuffer_fini, + .framebuffer_lookup = i915_bo_framebuffer_lookup, }; diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile index b16ed1ce2a85..dab979287a96 100644 --- a/drivers/gpu/drm/xe/Makefile +++ b/drivers/gpu/drm/xe/Makefile @@ -211,7 +211,6 @@ $(obj)/i915-display/%.o: $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE # Display code specific to xe xe-$(CONFIG_DRM_XE_DISPLAY) += \ - display/intel_fb_bo.o \ display/intel_fbdev_fb.o \ display/xe_display.o \ display/xe_display_bo.o \ diff --git a/drivers/gpu/drm/xe/display/intel_fb_bo.c b/drivers/gpu/drm/xe/display/intel_fb_bo.c deleted file mode 100644 index db8b1a27b4de..000000000000 --- a/drivers/gpu/drm/xe/display/intel_fb_bo.c +++ /dev/null @@ -1,91 +0,0 @@ -/* SPDX-License-Identifier: MIT */ -/* - * Copyright © 2021 Intel Corporation - */ - -#include <drm/drm_modeset_helper.h> -#include <drm/ttm/ttm_bo.h> - -#include "intel_display_types.h" -#include "intel_fb.h" -#include "intel_fb_bo.h" -#include "xe_bo.h" - -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj) -{ - struct xe_bo *bo = gem_to_xe_bo(obj); - - if (bo->flags & XE_BO_FLAG_PINNED) { - /* Unpin our kernel fb first */ - xe_bo_lock(bo, false); - xe_bo_unpin(bo); - xe_bo_unlock(bo); - } - xe_bo_put(bo); -} - -int intel_fb_bo_framebuffer_init(struct drm_gem_object *obj, - struct drm_mode_fb_cmd2 *mode_cmd) -{ - struct xe_bo *bo = gem_to_xe_bo(obj); - struct xe_device *xe = to_xe_device(bo->ttm.base.dev); - int ret; - - /* - * Some modifiers require physical alignment of 64KiB VRAM pages; - * require that the BO in those cases is created correctly. - */ - if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd->modifier[0]) && - !(bo->flags & XE_BO_FLAG_NEEDS_64K))) - return -EINVAL; - - xe_bo_get(bo); - - ret = ttm_bo_reserve(&bo->ttm, true, false, NULL); - if (ret) - goto err; - - if (!(bo->flags & XE_BO_FLAG_SCANOUT)) { - /* - * XE_BO_FLAG_SCANOUT should ideally be set at creation, or is - * automatically set when creating FB. We cannot change caching - * mode when the bo is VM_BINDed, so we can only set - * coherency with display when unbound. - */ - if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { - ttm_bo_unreserve(&bo->ttm); - ret = -EINVAL; - goto err; - } - bo->flags |= XE_BO_FLAG_SCANOUT; - } - ttm_bo_unreserve(&bo->ttm); - return 0; - -err: - xe_bo_put(bo); - return ret; -} - -struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_device *drm, - struct drm_file *filp, - const struct drm_mode_fb_cmd2 *mode_cmd) -{ - struct xe_device *xe = to_xe_device(drm); - struct xe_bo *bo; - struct drm_gem_object *gem = drm_gem_object_lookup(filp, mode_cmd->handles[0]); - - if (!gem) - return ERR_PTR(-ENOENT); - - bo = gem_to_xe_bo(gem); - /* Require vram placement or dma-buf import */ - if (IS_DGFX(xe) && - !xe_bo_can_migrate(bo, XE_PL_VRAM0) && - bo->ttm.type != ttm_bo_type_sg) { - drm_gem_object_put(gem); - return ERR_PTR(-EREMOTE); - } - - return gem; -} diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.c b/drivers/gpu/drm/xe/display/xe_display_bo.c index a53ba3f247ec..a689f71e7b14 100644 --- a/drivers/gpu/drm/xe/display/xe_display_bo.c +++ b/drivers/gpu/drm/xe/display/xe_display_bo.c @@ -4,6 +4,7 @@ #include <drm/drm_gem.h> #include <drm/intel/display_parent_interface.h> +#include "intel_fb.h" #include "xe_bo.h" #include "xe_display_bo.h" #include "xe_pxp.h" @@ -20,9 +21,92 @@ static int xe_display_bo_read_from_page(struct drm_gem_object *obj, u64 offset, return xe_bo_read(bo, offset, dst, size); } +static int xe_display_bo_framebuffer_init(struct drm_gem_object *obj, + struct drm_mode_fb_cmd2 *mode_cmd) +{ + struct xe_bo *bo = gem_to_xe_bo(obj); + struct xe_device *xe = to_xe_device(bo->ttm.base.dev); + int ret; + + /* + * Some modifiers require physical alignment of 64KiB VRAM pages; + * require that the BO in those cases is created correctly. + */ + if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd->modifier[0]) && + !(bo->flags & XE_BO_FLAG_NEEDS_64K))) + return -EINVAL; + + xe_bo_get(bo); + + ret = ttm_bo_reserve(&bo->ttm, true, false, NULL); + if (ret) + goto err; + + if (!(bo->flags & XE_BO_FLAG_SCANOUT)) { + /* + * XE_BO_FLAG_SCANOUT should ideally be set at creation, or is + * automatically set when creating FB. We cannot change caching + * mode when the bo is VM_BINDed, so we can only set + * coherency with display when unbound. + */ + if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { + ttm_bo_unreserve(&bo->ttm); + ret = -EINVAL; + goto err; + } + bo->flags |= XE_BO_FLAG_SCANOUT; + } + ttm_bo_unreserve(&bo->ttm); + return 0; + +err: + xe_bo_put(bo); + return ret; +} + +static void xe_display_bo_framebuffer_fini(struct drm_gem_object *obj) +{ + struct xe_bo *bo = gem_to_xe_bo(obj); + + if (bo->flags & XE_BO_FLAG_PINNED) { + /* Unpin our kernel fb first */ + xe_bo_lock(bo, false); + xe_bo_unpin(bo); + xe_bo_unlock(bo); + } + xe_bo_put(bo); +} + +static struct drm_gem_object * +xe_display_bo_framebuffer_lookup(struct drm_device *drm, + struct drm_file *filp, + const struct drm_mode_fb_cmd2 *mode_cmd) +{ + struct xe_device *xe = to_xe_device(drm); + struct xe_bo *bo; + struct drm_gem_object *gem = drm_gem_object_lookup(filp, mode_cmd->handles[0]); + + if (!gem) + return ERR_PTR(-ENOENT); + + bo = gem_to_xe_bo(gem); + /* Require vram placement or dma-buf import */ + if (IS_DGFX(xe) && + !xe_bo_can_migrate(bo, XE_PL_VRAM0) && + bo->ttm.type != ttm_bo_type_sg) { + drm_gem_object_put(gem); + return ERR_PTR(-EREMOTE); + } + + return gem; +} + const struct intel_display_bo_interface xe_display_bo_interface = { .is_protected = xe_display_bo_is_protected, .key_check = xe_pxp_obj_key_check, .fb_mmap = drm_gem_prime_mmap, .read_from_page = xe_display_bo_read_from_page, + .framebuffer_init = xe_display_bo_framebuffer_init, + .framebuffer_fini = xe_display_bo_framebuffer_fini, + .framebuffer_lookup = xe_display_bo_framebuffer_lookup, }; diff --git a/include/drm/intel/display_parent_interface.h b/include/drm/intel/display_parent_interface.h index 2b53d12b0e0a..97ec94a2e749 100644 --- a/include/drm/intel/display_parent_interface.h +++ b/include/drm/intel/display_parent_interface.h @@ -12,6 +12,7 @@ struct drm_device; struct drm_file; struct drm_framebuffer; struct drm_gem_object; +struct drm_mode_fb_cmd2; struct drm_plane_state; struct drm_scanout_buffer; struct i915_vma; @@ -37,6 +38,11 @@ struct intel_display_bo_interface { int (*fb_mmap)(struct drm_gem_object *obj, struct vm_area_struct *vma); int (*read_from_page)(struct drm_gem_object *obj, u64 offset, void *dst, int size); void (*describe)(struct seq_file *m, struct drm_gem_object *obj); /* Optional */ + int (*framebuffer_init)(struct drm_gem_object *obj, struct drm_mode_fb_cmd2 *mode_cmd); + void (*framebuffer_fini)(struct drm_gem_object *obj); + struct drm_gem_object *(*framebuffer_lookup)(struct drm_device *drm, + struct drm_file *filp, + const struct drm_mode_fb_cmd2 *user_mode_cmd); }; struct intel_display_dpt_interface { -- 2.47.3 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* RE: [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface 2026-03-11 14:18 ` [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface Jani Nikula @ 2026-03-12 4:25 ` Kandpal, Suraj 2026-03-12 9:00 ` [PATCH 5/5] drm/{i915, xe}: " Jani Nikula 0 siblings, 1 reply; 21+ messages in thread From: Kandpal, Suraj @ 2026-03-12 4:25 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Cc: Nikula, Jani > Subject: [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface > > Add .framebuffer_init, .framebuffer_fini and .framebuffer_lookup to the bo > parent interface. While they're about framebuffers, they're specifically about > framebuffer objects, so the bo interface is a good enough fit, and there's no > need to add another interface struct. Maybe it can also be mentioned that since we move all the functions from Intel_fb_bo to i915_bo.c we can safely remove it. > > Signed-off-by: Jani Nikula <jani.nikula@intel.com> > --- > drivers/gpu/drm/i915/Makefile | 1 - > drivers/gpu/drm/i915/display/intel_bo.c | 21 +++++ > drivers/gpu/drm/i915/display/intel_bo.h | 9 ++ > drivers/gpu/drm/i915/display/intel_fb.c | 12 +-- > drivers/gpu/drm/i915/display/intel_fb_bo.c | 99 -------------------- > drivers/gpu/drm/i915/display/intel_fb_bo.h | 25 ----- > drivers/gpu/drm/i915/i915_bo.c | 92 ++++++++++++++++++ > drivers/gpu/drm/xe/Makefile | 1 - > drivers/gpu/drm/xe/display/intel_fb_bo.c | 91 ------------------ > drivers/gpu/drm/xe/display/xe_display_bo.c | 84 +++++++++++++++++ > include/drm/intel/display_parent_interface.h | 6 ++ > 11 files changed, 218 insertions(+), 223 deletions(-) delete mode 100644 > drivers/gpu/drm/i915/display/intel_fb_bo.c > delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.h > delete mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c > > diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile > index 425933fb26a5..be976a90c5a6 100644 > --- a/drivers/gpu/drm/i915/Makefile > +++ b/drivers/gpu/drm/i915/Makefile > @@ -278,7 +278,6 @@ i915-y += \ > display/intel_drrs.o \ > display/intel_dsb.o \ > display/intel_fb.o \ > - display/intel_fb_bo.o \ > display/intel_fb_pin.o \ > display/intel_fbc.o \ > display/intel_fdi.o \ > diff --git a/drivers/gpu/drm/i915/display/intel_bo.c > b/drivers/gpu/drm/i915/display/intel_bo.c > index e356ab4e0640..3b82d38a0504 100644 > --- a/drivers/gpu/drm/i915/display/intel_bo.c > +++ b/drivers/gpu/drm/i915/display/intel_bo.c > @@ -64,3 +64,24 @@ void intel_bo_describe(struct seq_file *m, struct > drm_gem_object *obj) > if (display->parent->bo->describe) > display->parent->bo->describe(m, obj); } > + > +int intel_bo_framebuffer_init(struct drm_gem_object *obj, struct > +drm_mode_fb_cmd2 *mode_cmd) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + return display->parent->bo->framebuffer_init(obj, mode_cmd); } > + > +void intel_bo_framebuffer_fini(struct drm_gem_object *obj) { > + struct intel_display *display = to_intel_display(obj->dev); > + > + display->parent->bo->framebuffer_fini(obj); Should we be making this optional . This will help avoid creating dummy functions for fini like you have done previously. Regards, Suraj Kandpal > +} > + > +struct drm_gem_object *intel_bo_framebuffer_lookup(struct intel_display > *display, > + struct drm_file *filp, > + const struct > drm_mode_fb_cmd2 *user_mode_cmd) { > + return display->parent->bo->framebuffer_lookup(display->drm, filp, > +user_mode_cmd); } > diff --git a/drivers/gpu/drm/i915/display/intel_bo.h > b/drivers/gpu/drm/i915/display/intel_bo.h > index 40390ed92ceb..aec188c706c2 100644 > --- a/drivers/gpu/drm/i915/display/intel_bo.h > +++ b/drivers/gpu/drm/i915/display/intel_bo.h > @@ -6,8 +6,11 @@ > > #include <linux/types.h> > > +struct drm_file; > struct drm_gem_object; > +struct drm_mode_fb_cmd2; > struct drm_scanout_buffer; > +struct intel_display; > struct intel_framebuffer; > struct seq_file; > struct vm_area_struct; > @@ -22,4 +25,10 @@ int intel_bo_read_from_page(struct drm_gem_object > *obj, u64 offset, void *dst, i > > void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj); > > +void intel_bo_framebuffer_fini(struct drm_gem_object *obj); int > +intel_bo_framebuffer_init(struct drm_gem_object *obj, struct > +drm_mode_fb_cmd2 *mode_cmd); struct drm_gem_object > *intel_bo_framebuffer_lookup(struct intel_display *display, > + struct drm_file *filp, > + const struct > drm_mode_fb_cmd2 *user_mode_cmd); > + > #endif /* __INTEL_BO__ */ > diff --git a/drivers/gpu/drm/i915/display/intel_fb.c > b/drivers/gpu/drm/i915/display/intel_fb.c > index 49c6ca9d94c6..5768619f840f 100644 > --- a/drivers/gpu/drm/i915/display/intel_fb.c > +++ b/drivers/gpu/drm/i915/display/intel_fb.c > @@ -17,7 +17,6 @@ > #include "intel_display_types.h" > #include "intel_display_utils.h" > #include "intel_fb.h" > -#include "intel_fb_bo.h" > #include "intel_frontbuffer.h" > #include "intel_parent.h" > #include "intel_plane.h" > @@ -2111,7 +2110,7 @@ static void intel_user_framebuffer_destroy(struct > drm_framebuffer *fb) > if (intel_fb_uses_dpt(fb)) > intel_parent_dpt_destroy(display, intel_fb->dpt); > > - intel_fb_bo_framebuffer_fini(intel_fb_bo(fb)); > + intel_bo_framebuffer_fini(intel_fb_bo(fb)); > > intel_parent_frontbuffer_put(display, intel_fb->frontbuffer); > > @@ -2222,7 +2221,7 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > > /* > * intel_parent_frontbuffer_get() must be done before > - * intel_fb_bo_framebuffer_init() to avoid set_tiling vs. addfb race. > + * intel_bo_framebuffer_init() to avoid set_tiling vs. addfb race. > */ > intel_fb->frontbuffer = intel_parent_frontbuffer_get(display, obj); > if (!intel_fb->frontbuffer) { > @@ -2230,7 +2229,7 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > goto err_free_panic; > } > > - ret = intel_fb_bo_framebuffer_init(obj, mode_cmd); > + ret = intel_bo_framebuffer_init(obj, mode_cmd); > if (ret) > goto err_frontbuffer_put; > > @@ -2333,7 +2332,7 @@ int intel_framebuffer_init(struct intel_framebuffer > *intel_fb, > if (intel_fb_uses_dpt(fb)) > intel_parent_dpt_destroy(display, intel_fb->dpt); > err_bo_framebuffer_fini: > - intel_fb_bo_framebuffer_fini(obj); > + intel_bo_framebuffer_fini(obj); > err_frontbuffer_put: > intel_parent_frontbuffer_put(display, intel_fb->frontbuffer); > err_free_panic: > @@ -2348,11 +2347,12 @@ intel_user_framebuffer_create(struct > drm_device *dev, > const struct drm_format_info *info, > const struct drm_mode_fb_cmd2 > *user_mode_cmd) { > + struct intel_display *display = to_intel_display(dev); > struct drm_framebuffer *fb; > struct drm_gem_object *obj; > struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd; > > - obj = intel_fb_bo_lookup_valid_bo(dev, filp, &mode_cmd); > + obj = intel_bo_framebuffer_lookup(display, filp, &mode_cmd); > if (IS_ERR(obj)) > return ERR_CAST(obj); > > diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.c > b/drivers/gpu/drm/i915/display/intel_fb_bo.c > deleted file mode 100644 > index a4d49ef450d9..000000000000 > --- a/drivers/gpu/drm/i915/display/intel_fb_bo.c > +++ /dev/null > @@ -1,99 +0,0 @@ > -/* SPDX-License-Identifier: MIT */ > -/* > - * Copyright © 2021 Intel Corporation > - */ > - > -#include <drm/drm_framebuffer.h> > -#include <drm/drm_print.h> > - > -#include "gem/i915_gem_object.h" > - > -#include "i915_drv.h" > -#include "intel_fb.h" > -#include "intel_fb_bo.h" > - > -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj) -{ > - /* Nothing to do for i915 */ > -} > - > -int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, > - struct drm_mode_fb_cmd2 *mode_cmd) > -{ > - struct drm_i915_gem_object *obj = to_intel_bo(_obj); > - struct drm_i915_private *i915 = to_i915(obj->base.dev); > - unsigned int tiling, stride; > - > - i915_gem_object_lock(obj, NULL); > - tiling = i915_gem_object_get_tiling(obj); > - stride = i915_gem_object_get_stride(obj); > - i915_gem_object_unlock(obj); > - > - if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) { > - /* > - * If there's a fence, enforce that > - * the fb modifier and tiling mode match. > - */ > - if (tiling != I915_TILING_NONE && > - tiling != intel_fb_modifier_to_tiling(mode_cmd- > >modifier[0])) { > - drm_dbg_kms(&i915->drm, > - "tiling_mode doesn't match fb modifier\n"); > - return -EINVAL; > - } > - } else { > - if (tiling == I915_TILING_X) { > - mode_cmd->modifier[0] = > I915_FORMAT_MOD_X_TILED; > - } else if (tiling == I915_TILING_Y) { > - drm_dbg_kms(&i915->drm, > - "No Y tiling for legacy addfb\n"); > - return -EINVAL; > - } > - } > - > - /* > - * gen2/3 display engine uses the fence if present, > - * so the tiling mode must match the fb modifier exactly. > - */ > - if (GRAPHICS_VER(i915) < 4 && > - tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { > - drm_dbg_kms(&i915->drm, > - "tiling_mode must match fb modifier exactly on > gen2/3\n"); > - return -EINVAL; > - } > - > - /* > - * If there's a fence, enforce that > - * the fb pitch and fence stride match. > - */ > - if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { > - drm_dbg_kms(&i915->drm, > - "pitch (%d) must match tiling stride (%d)\n", > - mode_cmd->pitches[0], stride); > - return -EINVAL; > - } > - > - return 0; > -} > - > -struct drm_gem_object * > -intel_fb_bo_lookup_valid_bo(struct drm_device *drm, > - struct drm_file *filp, > - const struct drm_mode_fb_cmd2 *mode_cmd) > -{ > - struct drm_i915_private *i915 = to_i915(drm); > - struct drm_i915_gem_object *obj; > - > - obj = i915_gem_object_lookup(filp, mode_cmd->handles[0]); > - if (!obj) > - return ERR_PTR(-ENOENT); > - > - /* object is backed with LMEM for discrete */ > - if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, > INTEL_REGION_LMEM_0)) { > - /* object is "remote", not in local memory */ > - i915_gem_object_put(obj); > - drm_dbg_kms(&i915->drm, "framebuffer must reside in local > memory\n"); > - return ERR_PTR(-EREMOTE); > - } > - > - return intel_bo_to_drm_bo(obj); > -} > diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.h > b/drivers/gpu/drm/i915/display/intel_fb_bo.h > deleted file mode 100644 > index d775773c6c03..000000000000 > --- a/drivers/gpu/drm/i915/display/intel_fb_bo.h > +++ /dev/null > @@ -1,25 +0,0 @@ > -/* SPDX-License-Identifier: MIT */ > -/* > - * Copyright © 2021 Intel Corporation > - */ > - > -#ifndef __INTEL_FB_BO_H__ > -#define __INTEL_FB_BO_H__ > - > -struct drm_device; > -struct drm_file; > -struct drm_framebuffer; > -struct drm_gem_object; > -struct drm_mode_fb_cmd2; > - > -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj); > - > -int intel_fb_bo_framebuffer_init(struct drm_gem_object *obj, > - struct drm_mode_fb_cmd2 *mode_cmd); > - > -struct drm_gem_object * > -intel_fb_bo_lookup_valid_bo(struct drm_device *drm, > - struct drm_file *filp, > - const struct drm_mode_fb_cmd2 > *user_mode_cmd); > - > -#endif > diff --git a/drivers/gpu/drm/i915/i915_bo.c > b/drivers/gpu/drm/i915/i915_bo.c index 04fc0e3b7ef6..1789f7cab05c > 100644 > --- a/drivers/gpu/drm/i915/i915_bo.c > +++ b/drivers/gpu/drm/i915/i915_bo.c > @@ -2,8 +2,10 @@ > /* Copyright © 2024 Intel Corporation */ > > #include <drm/drm_panic.h> > +#include <drm/drm_print.h> > #include <drm/intel/display_parent_interface.h> > > +#include "display/intel_fb.h" > #include "gem/i915_gem_mman.h" > #include "gem/i915_gem_object.h" > #include "gem/i915_gem_object_frontbuffer.h" > @@ -11,6 +13,7 @@ > > #include "i915_bo.h" > #include "i915_debugfs.h" > +#include "i915_drv.h" > > static bool i915_bo_is_tiled(struct drm_gem_object *obj) { @@ -52,6 +55,92 > @@ static void i915_bo_describe(struct seq_file *m, struct drm_gem_object > *obj) > i915_debugfs_describe_obj(m, to_intel_bo(obj)); } > > +static int i915_bo_framebuffer_init(struct drm_gem_object *_obj, > + struct drm_mode_fb_cmd2 *mode_cmd) { > + struct drm_i915_gem_object *obj = to_intel_bo(_obj); > + struct drm_i915_private *i915 = to_i915(obj->base.dev); > + unsigned int tiling, stride; > + > + i915_gem_object_lock(obj, NULL); > + tiling = i915_gem_object_get_tiling(obj); > + stride = i915_gem_object_get_stride(obj); > + i915_gem_object_unlock(obj); > + > + if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) { > + /* > + * If there's a fence, enforce that > + * the fb modifier and tiling mode match. > + */ > + if (tiling != I915_TILING_NONE && > + tiling != intel_fb_modifier_to_tiling(mode_cmd- > >modifier[0])) { > + drm_dbg_kms(&i915->drm, > + "tiling_mode doesn't match fb modifier\n"); > + return -EINVAL; > + } > + } else { > + if (tiling == I915_TILING_X) { > + mode_cmd->modifier[0] = > I915_FORMAT_MOD_X_TILED; > + } else if (tiling == I915_TILING_Y) { > + drm_dbg_kms(&i915->drm, > + "No Y tiling for legacy addfb\n"); > + return -EINVAL; > + } > + } > + > + /* > + * gen2/3 display engine uses the fence if present, > + * so the tiling mode must match the fb modifier exactly. > + */ > + if (GRAPHICS_VER(i915) < 4 && > + tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { > + drm_dbg_kms(&i915->drm, > + "tiling_mode must match fb modifier exactly on > gen2/3\n"); > + return -EINVAL; > + } > + > + /* > + * If there's a fence, enforce that > + * the fb pitch and fence stride match. > + */ > + if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { > + drm_dbg_kms(&i915->drm, > + "pitch (%d) must match tiling stride (%d)\n", > + mode_cmd->pitches[0], stride); > + return -EINVAL; > + } > + > + return 0; > +} > + > +static void i915_bo_framebuffer_fini(struct drm_gem_object *obj) { > + /* Nothing to do for i915 */ > +} > + > +static struct drm_gem_object * > +i915_bo_framebuffer_lookup(struct drm_device *drm, > + struct drm_file *filp, > + const struct drm_mode_fb_cmd2 *mode_cmd) { > + struct drm_i915_private *i915 = to_i915(drm); > + struct drm_i915_gem_object *obj; > + > + obj = i915_gem_object_lookup(filp, mode_cmd->handles[0]); > + if (!obj) > + return ERR_PTR(-ENOENT); > + > + /* object is backed with LMEM for discrete */ > + if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, > INTEL_REGION_LMEM_0)) { > + /* object is "remote", not in local memory */ > + i915_gem_object_put(obj); > + drm_dbg_kms(&i915->drm, "framebuffer must reside in local > memory\n"); > + return ERR_PTR(-EREMOTE); > + } > + > + return intel_bo_to_drm_bo(obj); > +} > + > const struct intel_display_bo_interface i915_display_bo_interface = { > .is_tiled = i915_bo_is_tiled, > .is_userptr = i915_bo_is_userptr, > @@ -61,4 +150,7 @@ const struct intel_display_bo_interface > i915_display_bo_interface = { > .fb_mmap = i915_bo_fb_mmap, > .read_from_page = i915_bo_read_from_page, > .describe = i915_bo_describe, > + .framebuffer_init = i915_bo_framebuffer_init, > + .framebuffer_fini = i915_bo_framebuffer_fini, > + .framebuffer_lookup = i915_bo_framebuffer_lookup, > }; > diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile > index b16ed1ce2a85..dab979287a96 100644 > --- a/drivers/gpu/drm/xe/Makefile > +++ b/drivers/gpu/drm/xe/Makefile > @@ -211,7 +211,6 @@ $(obj)/i915-display/%.o: > $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE > > # Display code specific to xe > xe-$(CONFIG_DRM_XE_DISPLAY) += \ > - display/intel_fb_bo.o \ > display/intel_fbdev_fb.o \ > display/xe_display.o \ > display/xe_display_bo.o \ > diff --git a/drivers/gpu/drm/xe/display/intel_fb_bo.c > b/drivers/gpu/drm/xe/display/intel_fb_bo.c > deleted file mode 100644 > index db8b1a27b4de..000000000000 > --- a/drivers/gpu/drm/xe/display/intel_fb_bo.c > +++ /dev/null > @@ -1,91 +0,0 @@ > -/* SPDX-License-Identifier: MIT */ > -/* > - * Copyright © 2021 Intel Corporation > - */ > - > -#include <drm/drm_modeset_helper.h> > -#include <drm/ttm/ttm_bo.h> > - > -#include "intel_display_types.h" > -#include "intel_fb.h" > -#include "intel_fb_bo.h" > -#include "xe_bo.h" > - > -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj) -{ > - struct xe_bo *bo = gem_to_xe_bo(obj); > - > - if (bo->flags & XE_BO_FLAG_PINNED) { > - /* Unpin our kernel fb first */ > - xe_bo_lock(bo, false); > - xe_bo_unpin(bo); > - xe_bo_unlock(bo); > - } > - xe_bo_put(bo); > -} > - > -int intel_fb_bo_framebuffer_init(struct drm_gem_object *obj, > - struct drm_mode_fb_cmd2 *mode_cmd) > -{ > - struct xe_bo *bo = gem_to_xe_bo(obj); > - struct xe_device *xe = to_xe_device(bo->ttm.base.dev); > - int ret; > - > - /* > - * Some modifiers require physical alignment of 64KiB VRAM pages; > - * require that the BO in those cases is created correctly. > - */ > - if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd- > >modifier[0]) && > - !(bo->flags & XE_BO_FLAG_NEEDS_64K))) > - return -EINVAL; > - > - xe_bo_get(bo); > - > - ret = ttm_bo_reserve(&bo->ttm, true, false, NULL); > - if (ret) > - goto err; > - > - if (!(bo->flags & XE_BO_FLAG_SCANOUT)) { > - /* > - * XE_BO_FLAG_SCANOUT should ideally be set at creation, > or is > - * automatically set when creating FB. We cannot change > caching > - * mode when the bo is VM_BINDed, so we can only set > - * coherency with display when unbound. > - */ > - if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { > - ttm_bo_unreserve(&bo->ttm); > - ret = -EINVAL; > - goto err; > - } > - bo->flags |= XE_BO_FLAG_SCANOUT; > - } > - ttm_bo_unreserve(&bo->ttm); > - return 0; > - > -err: > - xe_bo_put(bo); > - return ret; > -} > - > -struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_device > *drm, > - struct drm_file *filp, > - const struct > drm_mode_fb_cmd2 *mode_cmd) > -{ > - struct xe_device *xe = to_xe_device(drm); > - struct xe_bo *bo; > - struct drm_gem_object *gem = drm_gem_object_lookup(filp, > mode_cmd->handles[0]); > - > - if (!gem) > - return ERR_PTR(-ENOENT); > - > - bo = gem_to_xe_bo(gem); > - /* Require vram placement or dma-buf import */ > - if (IS_DGFX(xe) && > - !xe_bo_can_migrate(bo, XE_PL_VRAM0) && > - bo->ttm.type != ttm_bo_type_sg) { > - drm_gem_object_put(gem); > - return ERR_PTR(-EREMOTE); > - } > - > - return gem; > -} > diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.c > b/drivers/gpu/drm/xe/display/xe_display_bo.c > index a53ba3f247ec..a689f71e7b14 100644 > --- a/drivers/gpu/drm/xe/display/xe_display_bo.c > +++ b/drivers/gpu/drm/xe/display/xe_display_bo.c > @@ -4,6 +4,7 @@ > #include <drm/drm_gem.h> > #include <drm/intel/display_parent_interface.h> > > +#include "intel_fb.h" > #include "xe_bo.h" > #include "xe_display_bo.h" > #include "xe_pxp.h" > @@ -20,9 +21,92 @@ static int xe_display_bo_read_from_page(struct > drm_gem_object *obj, u64 offset, > return xe_bo_read(bo, offset, dst, size); } > > +static int xe_display_bo_framebuffer_init(struct drm_gem_object *obj, > + struct drm_mode_fb_cmd2 > *mode_cmd) { > + struct xe_bo *bo = gem_to_xe_bo(obj); > + struct xe_device *xe = to_xe_device(bo->ttm.base.dev); > + int ret; > + > + /* > + * Some modifiers require physical alignment of 64KiB VRAM pages; > + * require that the BO in those cases is created correctly. > + */ > + if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd- > >modifier[0]) && > + !(bo->flags & XE_BO_FLAG_NEEDS_64K))) > + return -EINVAL; > + > + xe_bo_get(bo); > + > + ret = ttm_bo_reserve(&bo->ttm, true, false, NULL); > + if (ret) > + goto err; > + > + if (!(bo->flags & XE_BO_FLAG_SCANOUT)) { > + /* > + * XE_BO_FLAG_SCANOUT should ideally be set at creation, > or is > + * automatically set when creating FB. We cannot change > caching > + * mode when the bo is VM_BINDed, so we can only set > + * coherency with display when unbound. > + */ > + if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { > + ttm_bo_unreserve(&bo->ttm); > + ret = -EINVAL; > + goto err; > + } > + bo->flags |= XE_BO_FLAG_SCANOUT; > + } > + ttm_bo_unreserve(&bo->ttm); > + return 0; > + > +err: > + xe_bo_put(bo); > + return ret; > +} > + > +static void xe_display_bo_framebuffer_fini(struct drm_gem_object *obj) > +{ > + struct xe_bo *bo = gem_to_xe_bo(obj); > + > + if (bo->flags & XE_BO_FLAG_PINNED) { > + /* Unpin our kernel fb first */ > + xe_bo_lock(bo, false); > + xe_bo_unpin(bo); > + xe_bo_unlock(bo); > + } > + xe_bo_put(bo); > +} > + > +static struct drm_gem_object * > +xe_display_bo_framebuffer_lookup(struct drm_device *drm, > + struct drm_file *filp, > + const struct drm_mode_fb_cmd2 > *mode_cmd) { > + struct xe_device *xe = to_xe_device(drm); > + struct xe_bo *bo; > + struct drm_gem_object *gem = drm_gem_object_lookup(filp, > +mode_cmd->handles[0]); > + > + if (!gem) > + return ERR_PTR(-ENOENT); > + > + bo = gem_to_xe_bo(gem); > + /* Require vram placement or dma-buf import */ > + if (IS_DGFX(xe) && > + !xe_bo_can_migrate(bo, XE_PL_VRAM0) && > + bo->ttm.type != ttm_bo_type_sg) { > + drm_gem_object_put(gem); > + return ERR_PTR(-EREMOTE); > + } > + > + return gem; > +} > + > const struct intel_display_bo_interface xe_display_bo_interface = { > .is_protected = xe_display_bo_is_protected, > .key_check = xe_pxp_obj_key_check, > .fb_mmap = drm_gem_prime_mmap, > .read_from_page = xe_display_bo_read_from_page, > + .framebuffer_init = xe_display_bo_framebuffer_init, > + .framebuffer_fini = xe_display_bo_framebuffer_fini, > + .framebuffer_lookup = xe_display_bo_framebuffer_lookup, > }; > diff --git a/include/drm/intel/display_parent_interface.h > b/include/drm/intel/display_parent_interface.h > index 2b53d12b0e0a..97ec94a2e749 100644 > --- a/include/drm/intel/display_parent_interface.h > +++ b/include/drm/intel/display_parent_interface.h > @@ -12,6 +12,7 @@ struct drm_device; > struct drm_file; > struct drm_framebuffer; > struct drm_gem_object; > +struct drm_mode_fb_cmd2; > struct drm_plane_state; > struct drm_scanout_buffer; > struct i915_vma; > @@ -37,6 +38,11 @@ struct intel_display_bo_interface { > int (*fb_mmap)(struct drm_gem_object *obj, struct vm_area_struct > *vma); > int (*read_from_page)(struct drm_gem_object *obj, u64 offset, void > *dst, int size); > void (*describe)(struct seq_file *m, struct drm_gem_object *obj); /* > Optional */ > + int (*framebuffer_init)(struct drm_gem_object *obj, struct > drm_mode_fb_cmd2 *mode_cmd); > + void (*framebuffer_fini)(struct drm_gem_object *obj); > + struct drm_gem_object *(*framebuffer_lookup)(struct drm_device > *drm, > + struct drm_file *filp, > + const struct > drm_mode_fb_cmd2 *user_mode_cmd); > }; > > struct intel_display_dpt_interface { > -- > 2.47.3 ^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [PATCH 5/5] drm/{i915, xe}: move framebuffer bo to parent interface 2026-03-12 4:25 ` Kandpal, Suraj @ 2026-03-12 9:00 ` Jani Nikula 2026-03-13 5:12 ` [PATCH 5/5] drm/{i915,xe}: " Kandpal, Suraj 0 siblings, 1 reply; 21+ messages in thread From: Jani Nikula @ 2026-03-12 9:00 UTC (permalink / raw) To: Kandpal, Suraj, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org On Thu, 12 Mar 2026, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote: >> Subject: [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface >> >> Add .framebuffer_init, .framebuffer_fini and .framebuffer_lookup to the bo >> parent interface. While they're about framebuffers, they're specifically about >> framebuffer objects, so the bo interface is a good enough fit, and there's no >> need to add another interface struct. > > Maybe it can also be mentioned that since we move all the functions from > Intel_fb_bo to i915_bo.c we can safely remove it. Sure. >> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com> >> --- >> drivers/gpu/drm/i915/Makefile | 1 - >> drivers/gpu/drm/i915/display/intel_bo.c | 21 +++++ >> drivers/gpu/drm/i915/display/intel_bo.h | 9 ++ >> drivers/gpu/drm/i915/display/intel_fb.c | 12 +-- >> drivers/gpu/drm/i915/display/intel_fb_bo.c | 99 -------------------- >> drivers/gpu/drm/i915/display/intel_fb_bo.h | 25 ----- >> drivers/gpu/drm/i915/i915_bo.c | 92 ++++++++++++++++++ >> drivers/gpu/drm/xe/Makefile | 1 - >> drivers/gpu/drm/xe/display/intel_fb_bo.c | 91 ------------------ >> drivers/gpu/drm/xe/display/xe_display_bo.c | 84 +++++++++++++++++ >> include/drm/intel/display_parent_interface.h | 6 ++ >> 11 files changed, 218 insertions(+), 223 deletions(-) delete mode 100644 >> drivers/gpu/drm/i915/display/intel_fb_bo.c >> delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.h >> delete mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c >> >> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile >> index 425933fb26a5..be976a90c5a6 100644 >> --- a/drivers/gpu/drm/i915/Makefile >> +++ b/drivers/gpu/drm/i915/Makefile >> @@ -278,7 +278,6 @@ i915-y += \ >> display/intel_drrs.o \ >> display/intel_dsb.o \ >> display/intel_fb.o \ >> - display/intel_fb_bo.o \ >> display/intel_fb_pin.o \ >> display/intel_fbc.o \ >> display/intel_fdi.o \ >> diff --git a/drivers/gpu/drm/i915/display/intel_bo.c >> b/drivers/gpu/drm/i915/display/intel_bo.c >> index e356ab4e0640..3b82d38a0504 100644 >> --- a/drivers/gpu/drm/i915/display/intel_bo.c >> +++ b/drivers/gpu/drm/i915/display/intel_bo.c >> @@ -64,3 +64,24 @@ void intel_bo_describe(struct seq_file *m, struct >> drm_gem_object *obj) >> if (display->parent->bo->describe) >> display->parent->bo->describe(m, obj); } >> + >> +int intel_bo_framebuffer_init(struct drm_gem_object *obj, struct >> +drm_mode_fb_cmd2 *mode_cmd) { >> + struct intel_display *display = to_intel_display(obj->dev); >> + >> + return display->parent->bo->framebuffer_init(obj, mode_cmd); } >> + >> +void intel_bo_framebuffer_fini(struct drm_gem_object *obj) { >> + struct intel_display *display = to_intel_display(obj->dev); >> + >> + display->parent->bo->framebuffer_fini(obj); > > Should we be making this optional . This will help avoid creating dummy functions > for fini like you have done previously. I have this gnawing feeling that it should not be a dummy function in the first place. I haven't actually looked into the bottom of it. That's why I ended up keeping the dummy. BR, Jani. > > Regards, > Suraj Kandpal > >> +} >> + >> +struct drm_gem_object *intel_bo_framebuffer_lookup(struct intel_display >> *display, >> + struct drm_file *filp, >> + const struct >> drm_mode_fb_cmd2 *user_mode_cmd) { >> + return display->parent->bo->framebuffer_lookup(display->drm, filp, >> +user_mode_cmd); } >> diff --git a/drivers/gpu/drm/i915/display/intel_bo.h >> b/drivers/gpu/drm/i915/display/intel_bo.h >> index 40390ed92ceb..aec188c706c2 100644 >> --- a/drivers/gpu/drm/i915/display/intel_bo.h >> +++ b/drivers/gpu/drm/i915/display/intel_bo.h >> @@ -6,8 +6,11 @@ >> >> #include <linux/types.h> >> >> +struct drm_file; >> struct drm_gem_object; >> +struct drm_mode_fb_cmd2; >> struct drm_scanout_buffer; >> +struct intel_display; >> struct intel_framebuffer; >> struct seq_file; >> struct vm_area_struct; >> @@ -22,4 +25,10 @@ int intel_bo_read_from_page(struct drm_gem_object >> *obj, u64 offset, void *dst, i >> >> void intel_bo_describe(struct seq_file *m, struct drm_gem_object *obj); >> >> +void intel_bo_framebuffer_fini(struct drm_gem_object *obj); int >> +intel_bo_framebuffer_init(struct drm_gem_object *obj, struct >> +drm_mode_fb_cmd2 *mode_cmd); struct drm_gem_object >> *intel_bo_framebuffer_lookup(struct intel_display *display, >> + struct drm_file *filp, >> + const struct >> drm_mode_fb_cmd2 *user_mode_cmd); >> + >> #endif /* __INTEL_BO__ */ >> diff --git a/drivers/gpu/drm/i915/display/intel_fb.c >> b/drivers/gpu/drm/i915/display/intel_fb.c >> index 49c6ca9d94c6..5768619f840f 100644 >> --- a/drivers/gpu/drm/i915/display/intel_fb.c >> +++ b/drivers/gpu/drm/i915/display/intel_fb.c >> @@ -17,7 +17,6 @@ >> #include "intel_display_types.h" >> #include "intel_display_utils.h" >> #include "intel_fb.h" >> -#include "intel_fb_bo.h" >> #include "intel_frontbuffer.h" >> #include "intel_parent.h" >> #include "intel_plane.h" >> @@ -2111,7 +2110,7 @@ static void intel_user_framebuffer_destroy(struct >> drm_framebuffer *fb) >> if (intel_fb_uses_dpt(fb)) >> intel_parent_dpt_destroy(display, intel_fb->dpt); >> >> - intel_fb_bo_framebuffer_fini(intel_fb_bo(fb)); >> + intel_bo_framebuffer_fini(intel_fb_bo(fb)); >> >> intel_parent_frontbuffer_put(display, intel_fb->frontbuffer); >> >> @@ -2222,7 +2221,7 @@ int intel_framebuffer_init(struct intel_framebuffer >> *intel_fb, >> >> /* >> * intel_parent_frontbuffer_get() must be done before >> - * intel_fb_bo_framebuffer_init() to avoid set_tiling vs. addfb race. >> + * intel_bo_framebuffer_init() to avoid set_tiling vs. addfb race. >> */ >> intel_fb->frontbuffer = intel_parent_frontbuffer_get(display, obj); >> if (!intel_fb->frontbuffer) { >> @@ -2230,7 +2229,7 @@ int intel_framebuffer_init(struct intel_framebuffer >> *intel_fb, >> goto err_free_panic; >> } >> >> - ret = intel_fb_bo_framebuffer_init(obj, mode_cmd); >> + ret = intel_bo_framebuffer_init(obj, mode_cmd); >> if (ret) >> goto err_frontbuffer_put; >> >> @@ -2333,7 +2332,7 @@ int intel_framebuffer_init(struct intel_framebuffer >> *intel_fb, >> if (intel_fb_uses_dpt(fb)) >> intel_parent_dpt_destroy(display, intel_fb->dpt); >> err_bo_framebuffer_fini: >> - intel_fb_bo_framebuffer_fini(obj); >> + intel_bo_framebuffer_fini(obj); >> err_frontbuffer_put: >> intel_parent_frontbuffer_put(display, intel_fb->frontbuffer); >> err_free_panic: >> @@ -2348,11 +2347,12 @@ intel_user_framebuffer_create(struct >> drm_device *dev, >> const struct drm_format_info *info, >> const struct drm_mode_fb_cmd2 >> *user_mode_cmd) { >> + struct intel_display *display = to_intel_display(dev); >> struct drm_framebuffer *fb; >> struct drm_gem_object *obj; >> struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd; >> >> - obj = intel_fb_bo_lookup_valid_bo(dev, filp, &mode_cmd); >> + obj = intel_bo_framebuffer_lookup(display, filp, &mode_cmd); >> if (IS_ERR(obj)) >> return ERR_CAST(obj); >> >> diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.c >> b/drivers/gpu/drm/i915/display/intel_fb_bo.c >> deleted file mode 100644 >> index a4d49ef450d9..000000000000 >> --- a/drivers/gpu/drm/i915/display/intel_fb_bo.c >> +++ /dev/null >> @@ -1,99 +0,0 @@ >> -/* SPDX-License-Identifier: MIT */ >> -/* >> - * Copyright © 2021 Intel Corporation >> - */ >> - >> -#include <drm/drm_framebuffer.h> >> -#include <drm/drm_print.h> >> - >> -#include "gem/i915_gem_object.h" >> - >> -#include "i915_drv.h" >> -#include "intel_fb.h" >> -#include "intel_fb_bo.h" >> - >> -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj) -{ >> - /* Nothing to do for i915 */ >> -} >> - >> -int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, >> - struct drm_mode_fb_cmd2 *mode_cmd) >> -{ >> - struct drm_i915_gem_object *obj = to_intel_bo(_obj); >> - struct drm_i915_private *i915 = to_i915(obj->base.dev); >> - unsigned int tiling, stride; >> - >> - i915_gem_object_lock(obj, NULL); >> - tiling = i915_gem_object_get_tiling(obj); >> - stride = i915_gem_object_get_stride(obj); >> - i915_gem_object_unlock(obj); >> - >> - if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) { >> - /* >> - * If there's a fence, enforce that >> - * the fb modifier and tiling mode match. >> - */ >> - if (tiling != I915_TILING_NONE && >> - tiling != intel_fb_modifier_to_tiling(mode_cmd- >> >modifier[0])) { >> - drm_dbg_kms(&i915->drm, >> - "tiling_mode doesn't match fb modifier\n"); >> - return -EINVAL; >> - } >> - } else { >> - if (tiling == I915_TILING_X) { >> - mode_cmd->modifier[0] = >> I915_FORMAT_MOD_X_TILED; >> - } else if (tiling == I915_TILING_Y) { >> - drm_dbg_kms(&i915->drm, >> - "No Y tiling for legacy addfb\n"); >> - return -EINVAL; >> - } >> - } >> - >> - /* >> - * gen2/3 display engine uses the fence if present, >> - * so the tiling mode must match the fb modifier exactly. >> - */ >> - if (GRAPHICS_VER(i915) < 4 && >> - tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { >> - drm_dbg_kms(&i915->drm, >> - "tiling_mode must match fb modifier exactly on >> gen2/3\n"); >> - return -EINVAL; >> - } >> - >> - /* >> - * If there's a fence, enforce that >> - * the fb pitch and fence stride match. >> - */ >> - if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { >> - drm_dbg_kms(&i915->drm, >> - "pitch (%d) must match tiling stride (%d)\n", >> - mode_cmd->pitches[0], stride); >> - return -EINVAL; >> - } >> - >> - return 0; >> -} >> - >> -struct drm_gem_object * >> -intel_fb_bo_lookup_valid_bo(struct drm_device *drm, >> - struct drm_file *filp, >> - const struct drm_mode_fb_cmd2 *mode_cmd) >> -{ >> - struct drm_i915_private *i915 = to_i915(drm); >> - struct drm_i915_gem_object *obj; >> - >> - obj = i915_gem_object_lookup(filp, mode_cmd->handles[0]); >> - if (!obj) >> - return ERR_PTR(-ENOENT); >> - >> - /* object is backed with LMEM for discrete */ >> - if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, >> INTEL_REGION_LMEM_0)) { >> - /* object is "remote", not in local memory */ >> - i915_gem_object_put(obj); >> - drm_dbg_kms(&i915->drm, "framebuffer must reside in local >> memory\n"); >> - return ERR_PTR(-EREMOTE); >> - } >> - >> - return intel_bo_to_drm_bo(obj); >> -} >> diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.h >> b/drivers/gpu/drm/i915/display/intel_fb_bo.h >> deleted file mode 100644 >> index d775773c6c03..000000000000 >> --- a/drivers/gpu/drm/i915/display/intel_fb_bo.h >> +++ /dev/null >> @@ -1,25 +0,0 @@ >> -/* SPDX-License-Identifier: MIT */ >> -/* >> - * Copyright © 2021 Intel Corporation >> - */ >> - >> -#ifndef __INTEL_FB_BO_H__ >> -#define __INTEL_FB_BO_H__ >> - >> -struct drm_device; >> -struct drm_file; >> -struct drm_framebuffer; >> -struct drm_gem_object; >> -struct drm_mode_fb_cmd2; >> - >> -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj); >> - >> -int intel_fb_bo_framebuffer_init(struct drm_gem_object *obj, >> - struct drm_mode_fb_cmd2 *mode_cmd); >> - >> -struct drm_gem_object * >> -intel_fb_bo_lookup_valid_bo(struct drm_device *drm, >> - struct drm_file *filp, >> - const struct drm_mode_fb_cmd2 >> *user_mode_cmd); >> - >> -#endif >> diff --git a/drivers/gpu/drm/i915/i915_bo.c >> b/drivers/gpu/drm/i915/i915_bo.c index 04fc0e3b7ef6..1789f7cab05c >> 100644 >> --- a/drivers/gpu/drm/i915/i915_bo.c >> +++ b/drivers/gpu/drm/i915/i915_bo.c >> @@ -2,8 +2,10 @@ >> /* Copyright © 2024 Intel Corporation */ >> >> #include <drm/drm_panic.h> >> +#include <drm/drm_print.h> >> #include <drm/intel/display_parent_interface.h> >> >> +#include "display/intel_fb.h" >> #include "gem/i915_gem_mman.h" >> #include "gem/i915_gem_object.h" >> #include "gem/i915_gem_object_frontbuffer.h" >> @@ -11,6 +13,7 @@ >> >> #include "i915_bo.h" >> #include "i915_debugfs.h" >> +#include "i915_drv.h" >> >> static bool i915_bo_is_tiled(struct drm_gem_object *obj) { @@ -52,6 +55,92 >> @@ static void i915_bo_describe(struct seq_file *m, struct drm_gem_object >> *obj) >> i915_debugfs_describe_obj(m, to_intel_bo(obj)); } >> >> +static int i915_bo_framebuffer_init(struct drm_gem_object *_obj, >> + struct drm_mode_fb_cmd2 *mode_cmd) { >> + struct drm_i915_gem_object *obj = to_intel_bo(_obj); >> + struct drm_i915_private *i915 = to_i915(obj->base.dev); >> + unsigned int tiling, stride; >> + >> + i915_gem_object_lock(obj, NULL); >> + tiling = i915_gem_object_get_tiling(obj); >> + stride = i915_gem_object_get_stride(obj); >> + i915_gem_object_unlock(obj); >> + >> + if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) { >> + /* >> + * If there's a fence, enforce that >> + * the fb modifier and tiling mode match. >> + */ >> + if (tiling != I915_TILING_NONE && >> + tiling != intel_fb_modifier_to_tiling(mode_cmd- >> >modifier[0])) { >> + drm_dbg_kms(&i915->drm, >> + "tiling_mode doesn't match fb modifier\n"); >> + return -EINVAL; >> + } >> + } else { >> + if (tiling == I915_TILING_X) { >> + mode_cmd->modifier[0] = >> I915_FORMAT_MOD_X_TILED; >> + } else if (tiling == I915_TILING_Y) { >> + drm_dbg_kms(&i915->drm, >> + "No Y tiling for legacy addfb\n"); >> + return -EINVAL; >> + } >> + } >> + >> + /* >> + * gen2/3 display engine uses the fence if present, >> + * so the tiling mode must match the fb modifier exactly. >> + */ >> + if (GRAPHICS_VER(i915) < 4 && >> + tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { >> + drm_dbg_kms(&i915->drm, >> + "tiling_mode must match fb modifier exactly on >> gen2/3\n"); >> + return -EINVAL; >> + } >> + >> + /* >> + * If there's a fence, enforce that >> + * the fb pitch and fence stride match. >> + */ >> + if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { >> + drm_dbg_kms(&i915->drm, >> + "pitch (%d) must match tiling stride (%d)\n", >> + mode_cmd->pitches[0], stride); >> + return -EINVAL; >> + } >> + >> + return 0; >> +} >> + >> +static void i915_bo_framebuffer_fini(struct drm_gem_object *obj) { >> + /* Nothing to do for i915 */ >> +} >> + >> +static struct drm_gem_object * >> +i915_bo_framebuffer_lookup(struct drm_device *drm, >> + struct drm_file *filp, >> + const struct drm_mode_fb_cmd2 *mode_cmd) { >> + struct drm_i915_private *i915 = to_i915(drm); >> + struct drm_i915_gem_object *obj; >> + >> + obj = i915_gem_object_lookup(filp, mode_cmd->handles[0]); >> + if (!obj) >> + return ERR_PTR(-ENOENT); >> + >> + /* object is backed with LMEM for discrete */ >> + if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, >> INTEL_REGION_LMEM_0)) { >> + /* object is "remote", not in local memory */ >> + i915_gem_object_put(obj); >> + drm_dbg_kms(&i915->drm, "framebuffer must reside in local >> memory\n"); >> + return ERR_PTR(-EREMOTE); >> + } >> + >> + return intel_bo_to_drm_bo(obj); >> +} >> + >> const struct intel_display_bo_interface i915_display_bo_interface = { >> .is_tiled = i915_bo_is_tiled, >> .is_userptr = i915_bo_is_userptr, >> @@ -61,4 +150,7 @@ const struct intel_display_bo_interface >> i915_display_bo_interface = { >> .fb_mmap = i915_bo_fb_mmap, >> .read_from_page = i915_bo_read_from_page, >> .describe = i915_bo_describe, >> + .framebuffer_init = i915_bo_framebuffer_init, >> + .framebuffer_fini = i915_bo_framebuffer_fini, >> + .framebuffer_lookup = i915_bo_framebuffer_lookup, >> }; >> diff --git a/drivers/gpu/drm/xe/Makefile b/drivers/gpu/drm/xe/Makefile >> index b16ed1ce2a85..dab979287a96 100644 >> --- a/drivers/gpu/drm/xe/Makefile >> +++ b/drivers/gpu/drm/xe/Makefile >> @@ -211,7 +211,6 @@ $(obj)/i915-display/%.o: >> $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE >> >> # Display code specific to xe >> xe-$(CONFIG_DRM_XE_DISPLAY) += \ >> - display/intel_fb_bo.o \ >> display/intel_fbdev_fb.o \ >> display/xe_display.o \ >> display/xe_display_bo.o \ >> diff --git a/drivers/gpu/drm/xe/display/intel_fb_bo.c >> b/drivers/gpu/drm/xe/display/intel_fb_bo.c >> deleted file mode 100644 >> index db8b1a27b4de..000000000000 >> --- a/drivers/gpu/drm/xe/display/intel_fb_bo.c >> +++ /dev/null >> @@ -1,91 +0,0 @@ >> -/* SPDX-License-Identifier: MIT */ >> -/* >> - * Copyright © 2021 Intel Corporation >> - */ >> - >> -#include <drm/drm_modeset_helper.h> >> -#include <drm/ttm/ttm_bo.h> >> - >> -#include "intel_display_types.h" >> -#include "intel_fb.h" >> -#include "intel_fb_bo.h" >> -#include "xe_bo.h" >> - >> -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj) -{ >> - struct xe_bo *bo = gem_to_xe_bo(obj); >> - >> - if (bo->flags & XE_BO_FLAG_PINNED) { >> - /* Unpin our kernel fb first */ >> - xe_bo_lock(bo, false); >> - xe_bo_unpin(bo); >> - xe_bo_unlock(bo); >> - } >> - xe_bo_put(bo); >> -} >> - >> -int intel_fb_bo_framebuffer_init(struct drm_gem_object *obj, >> - struct drm_mode_fb_cmd2 *mode_cmd) >> -{ >> - struct xe_bo *bo = gem_to_xe_bo(obj); >> - struct xe_device *xe = to_xe_device(bo->ttm.base.dev); >> - int ret; >> - >> - /* >> - * Some modifiers require physical alignment of 64KiB VRAM pages; >> - * require that the BO in those cases is created correctly. >> - */ >> - if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd- >> >modifier[0]) && >> - !(bo->flags & XE_BO_FLAG_NEEDS_64K))) >> - return -EINVAL; >> - >> - xe_bo_get(bo); >> - >> - ret = ttm_bo_reserve(&bo->ttm, true, false, NULL); >> - if (ret) >> - goto err; >> - >> - if (!(bo->flags & XE_BO_FLAG_SCANOUT)) { >> - /* >> - * XE_BO_FLAG_SCANOUT should ideally be set at creation, >> or is >> - * automatically set when creating FB. We cannot change >> caching >> - * mode when the bo is VM_BINDed, so we can only set >> - * coherency with display when unbound. >> - */ >> - if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { >> - ttm_bo_unreserve(&bo->ttm); >> - ret = -EINVAL; >> - goto err; >> - } >> - bo->flags |= XE_BO_FLAG_SCANOUT; >> - } >> - ttm_bo_unreserve(&bo->ttm); >> - return 0; >> - >> -err: >> - xe_bo_put(bo); >> - return ret; >> -} >> - >> -struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_device >> *drm, >> - struct drm_file *filp, >> - const struct >> drm_mode_fb_cmd2 *mode_cmd) >> -{ >> - struct xe_device *xe = to_xe_device(drm); >> - struct xe_bo *bo; >> - struct drm_gem_object *gem = drm_gem_object_lookup(filp, >> mode_cmd->handles[0]); >> - >> - if (!gem) >> - return ERR_PTR(-ENOENT); >> - >> - bo = gem_to_xe_bo(gem); >> - /* Require vram placement or dma-buf import */ >> - if (IS_DGFX(xe) && >> - !xe_bo_can_migrate(bo, XE_PL_VRAM0) && >> - bo->ttm.type != ttm_bo_type_sg) { >> - drm_gem_object_put(gem); >> - return ERR_PTR(-EREMOTE); >> - } >> - >> - return gem; >> -} >> diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.c >> b/drivers/gpu/drm/xe/display/xe_display_bo.c >> index a53ba3f247ec..a689f71e7b14 100644 >> --- a/drivers/gpu/drm/xe/display/xe_display_bo.c >> +++ b/drivers/gpu/drm/xe/display/xe_display_bo.c >> @@ -4,6 +4,7 @@ >> #include <drm/drm_gem.h> >> #include <drm/intel/display_parent_interface.h> >> >> +#include "intel_fb.h" >> #include "xe_bo.h" >> #include "xe_display_bo.h" >> #include "xe_pxp.h" >> @@ -20,9 +21,92 @@ static int xe_display_bo_read_from_page(struct >> drm_gem_object *obj, u64 offset, >> return xe_bo_read(bo, offset, dst, size); } >> >> +static int xe_display_bo_framebuffer_init(struct drm_gem_object *obj, >> + struct drm_mode_fb_cmd2 >> *mode_cmd) { >> + struct xe_bo *bo = gem_to_xe_bo(obj); >> + struct xe_device *xe = to_xe_device(bo->ttm.base.dev); >> + int ret; >> + >> + /* >> + * Some modifiers require physical alignment of 64KiB VRAM pages; >> + * require that the BO in those cases is created correctly. >> + */ >> + if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd- >> >modifier[0]) && >> + !(bo->flags & XE_BO_FLAG_NEEDS_64K))) >> + return -EINVAL; >> + >> + xe_bo_get(bo); >> + >> + ret = ttm_bo_reserve(&bo->ttm, true, false, NULL); >> + if (ret) >> + goto err; >> + >> + if (!(bo->flags & XE_BO_FLAG_SCANOUT)) { >> + /* >> + * XE_BO_FLAG_SCANOUT should ideally be set at creation, >> or is >> + * automatically set when creating FB. We cannot change >> caching >> + * mode when the bo is VM_BINDed, so we can only set >> + * coherency with display when unbound. >> + */ >> + if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { >> + ttm_bo_unreserve(&bo->ttm); >> + ret = -EINVAL; >> + goto err; >> + } >> + bo->flags |= XE_BO_FLAG_SCANOUT; >> + } >> + ttm_bo_unreserve(&bo->ttm); >> + return 0; >> + >> +err: >> + xe_bo_put(bo); >> + return ret; >> +} >> + >> +static void xe_display_bo_framebuffer_fini(struct drm_gem_object *obj) >> +{ >> + struct xe_bo *bo = gem_to_xe_bo(obj); >> + >> + if (bo->flags & XE_BO_FLAG_PINNED) { >> + /* Unpin our kernel fb first */ >> + xe_bo_lock(bo, false); >> + xe_bo_unpin(bo); >> + xe_bo_unlock(bo); >> + } >> + xe_bo_put(bo); >> +} >> + >> +static struct drm_gem_object * >> +xe_display_bo_framebuffer_lookup(struct drm_device *drm, >> + struct drm_file *filp, >> + const struct drm_mode_fb_cmd2 >> *mode_cmd) { >> + struct xe_device *xe = to_xe_device(drm); >> + struct xe_bo *bo; >> + struct drm_gem_object *gem = drm_gem_object_lookup(filp, >> +mode_cmd->handles[0]); >> + >> + if (!gem) >> + return ERR_PTR(-ENOENT); >> + >> + bo = gem_to_xe_bo(gem); >> + /* Require vram placement or dma-buf import */ >> + if (IS_DGFX(xe) && >> + !xe_bo_can_migrate(bo, XE_PL_VRAM0) && >> + bo->ttm.type != ttm_bo_type_sg) { >> + drm_gem_object_put(gem); >> + return ERR_PTR(-EREMOTE); >> + } >> + >> + return gem; >> +} >> + >> const struct intel_display_bo_interface xe_display_bo_interface = { >> .is_protected = xe_display_bo_is_protected, >> .key_check = xe_pxp_obj_key_check, >> .fb_mmap = drm_gem_prime_mmap, >> .read_from_page = xe_display_bo_read_from_page, >> + .framebuffer_init = xe_display_bo_framebuffer_init, >> + .framebuffer_fini = xe_display_bo_framebuffer_fini, >> + .framebuffer_lookup = xe_display_bo_framebuffer_lookup, >> }; >> diff --git a/include/drm/intel/display_parent_interface.h >> b/include/drm/intel/display_parent_interface.h >> index 2b53d12b0e0a..97ec94a2e749 100644 >> --- a/include/drm/intel/display_parent_interface.h >> +++ b/include/drm/intel/display_parent_interface.h >> @@ -12,6 +12,7 @@ struct drm_device; >> struct drm_file; >> struct drm_framebuffer; >> struct drm_gem_object; >> +struct drm_mode_fb_cmd2; >> struct drm_plane_state; >> struct drm_scanout_buffer; >> struct i915_vma; >> @@ -37,6 +38,11 @@ struct intel_display_bo_interface { >> int (*fb_mmap)(struct drm_gem_object *obj, struct vm_area_struct >> *vma); >> int (*read_from_page)(struct drm_gem_object *obj, u64 offset, void >> *dst, int size); >> void (*describe)(struct seq_file *m, struct drm_gem_object *obj); /* >> Optional */ >> + int (*framebuffer_init)(struct drm_gem_object *obj, struct >> drm_mode_fb_cmd2 *mode_cmd); >> + void (*framebuffer_fini)(struct drm_gem_object *obj); >> + struct drm_gem_object *(*framebuffer_lookup)(struct drm_device >> *drm, >> + struct drm_file *filp, >> + const struct >> drm_mode_fb_cmd2 *user_mode_cmd); >> }; >> >> struct intel_display_dpt_interface { >> -- >> 2.47.3 > -- Jani Nikula, Intel ^ permalink raw reply [flat|nested] 21+ messages in thread
* RE: [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface 2026-03-12 9:00 ` [PATCH 5/5] drm/{i915, xe}: " Jani Nikula @ 2026-03-13 5:12 ` Kandpal, Suraj 0 siblings, 0 replies; 21+ messages in thread From: Kandpal, Suraj @ 2026-03-13 5:12 UTC (permalink / raw) To: Nikula, Jani, intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org > Subject: RE: [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent > interface > > On Thu, 12 Mar 2026, "Kandpal, Suraj" <suraj.kandpal@intel.com> wrote: > >> Subject: [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent > >> interface > >> > >> Add .framebuffer_init, .framebuffer_fini and .framebuffer_lookup to > >> the bo parent interface. While they're about framebuffers, they're > >> specifically about framebuffer objects, so the bo interface is a good > >> enough fit, and there's no need to add another interface struct. > > > > Maybe it can also be mentioned that since we move all the functions > > from Intel_fb_bo to i915_bo.c we can safely remove it. > > Sure. > > >> > >> Signed-off-by: Jani Nikula <jani.nikula@intel.com> > >> --- > >> drivers/gpu/drm/i915/Makefile | 1 - > >> drivers/gpu/drm/i915/display/intel_bo.c | 21 +++++ > >> drivers/gpu/drm/i915/display/intel_bo.h | 9 ++ > >> drivers/gpu/drm/i915/display/intel_fb.c | 12 +-- > >> drivers/gpu/drm/i915/display/intel_fb_bo.c | 99 -------------------- > >> drivers/gpu/drm/i915/display/intel_fb_bo.h | 25 ----- > >> drivers/gpu/drm/i915/i915_bo.c | 92 ++++++++++++++++++ > >> drivers/gpu/drm/xe/Makefile | 1 - > >> drivers/gpu/drm/xe/display/intel_fb_bo.c | 91 ------------------ > >> drivers/gpu/drm/xe/display/xe_display_bo.c | 84 +++++++++++++++++ > >> include/drm/intel/display_parent_interface.h | 6 ++ > >> 11 files changed, 218 insertions(+), 223 deletions(-) delete mode > >> 100644 drivers/gpu/drm/i915/display/intel_fb_bo.c > >> delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.h > >> delete mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c > >> > >> diff --git a/drivers/gpu/drm/i915/Makefile > >> b/drivers/gpu/drm/i915/Makefile index 425933fb26a5..be976a90c5a6 > >> 100644 > >> --- a/drivers/gpu/drm/i915/Makefile > >> +++ b/drivers/gpu/drm/i915/Makefile > >> @@ -278,7 +278,6 @@ i915-y += \ > >> display/intel_drrs.o \ > >> display/intel_dsb.o \ > >> display/intel_fb.o \ > >> - display/intel_fb_bo.o \ > >> display/intel_fb_pin.o \ > >> display/intel_fbc.o \ > >> display/intel_fdi.o \ > >> diff --git a/drivers/gpu/drm/i915/display/intel_bo.c > >> b/drivers/gpu/drm/i915/display/intel_bo.c > >> index e356ab4e0640..3b82d38a0504 100644 > >> --- a/drivers/gpu/drm/i915/display/intel_bo.c > >> +++ b/drivers/gpu/drm/i915/display/intel_bo.c > >> @@ -64,3 +64,24 @@ void intel_bo_describe(struct seq_file *m, struct > >> drm_gem_object *obj) > >> if (display->parent->bo->describe) > >> display->parent->bo->describe(m, obj); } > >> + > >> +int intel_bo_framebuffer_init(struct drm_gem_object *obj, struct > >> +drm_mode_fb_cmd2 *mode_cmd) { > >> + struct intel_display *display = to_intel_display(obj->dev); > >> + > >> + return display->parent->bo->framebuffer_init(obj, mode_cmd); } > >> + > >> +void intel_bo_framebuffer_fini(struct drm_gem_object *obj) { > >> + struct intel_display *display = to_intel_display(obj->dev); > >> + > >> + display->parent->bo->framebuffer_fini(obj); > > > > Should we be making this optional . This will help avoid creating > > dummy functions for fini like you have done previously. > > I have this gnawing feeling that it should not be a dummy function in the first > place. I haven't actually looked into the bottom of it. That's why I ended up > keeping the dummy. I think its better to play it safe. Do you think a TODO can be added ? Otherwise LGTM, Reviewed-by: Suraj Kandpal <suraj.kandpal@intel.com> > > BR, > Jani. > > > > > > Regards, > > Suraj Kandpal > > > >> +} > >> + > >> +struct drm_gem_object *intel_bo_framebuffer_lookup(struct > >> +intel_display > >> *display, > >> + struct drm_file *filp, > >> + const struct > >> drm_mode_fb_cmd2 *user_mode_cmd) { > >> + return display->parent->bo->framebuffer_lookup(display->drm, filp, > >> +user_mode_cmd); } > >> diff --git a/drivers/gpu/drm/i915/display/intel_bo.h > >> b/drivers/gpu/drm/i915/display/intel_bo.h > >> index 40390ed92ceb..aec188c706c2 100644 > >> --- a/drivers/gpu/drm/i915/display/intel_bo.h > >> +++ b/drivers/gpu/drm/i915/display/intel_bo.h > >> @@ -6,8 +6,11 @@ > >> > >> #include <linux/types.h> > >> > >> +struct drm_file; > >> struct drm_gem_object; > >> +struct drm_mode_fb_cmd2; > >> struct drm_scanout_buffer; > >> +struct intel_display; > >> struct intel_framebuffer; > >> struct seq_file; > >> struct vm_area_struct; > >> @@ -22,4 +25,10 @@ int intel_bo_read_from_page(struct drm_gem_object > >> *obj, u64 offset, void *dst, i > >> > >> void intel_bo_describe(struct seq_file *m, struct drm_gem_object > >> *obj); > >> > >> +void intel_bo_framebuffer_fini(struct drm_gem_object *obj); int > >> +intel_bo_framebuffer_init(struct drm_gem_object *obj, struct > >> +drm_mode_fb_cmd2 *mode_cmd); struct drm_gem_object > >> *intel_bo_framebuffer_lookup(struct intel_display *display, > >> + struct drm_file *filp, > >> + const struct > >> drm_mode_fb_cmd2 *user_mode_cmd); > >> + > >> #endif /* __INTEL_BO__ */ > >> diff --git a/drivers/gpu/drm/i915/display/intel_fb.c > >> b/drivers/gpu/drm/i915/display/intel_fb.c > >> index 49c6ca9d94c6..5768619f840f 100644 > >> --- a/drivers/gpu/drm/i915/display/intel_fb.c > >> +++ b/drivers/gpu/drm/i915/display/intel_fb.c > >> @@ -17,7 +17,6 @@ > >> #include "intel_display_types.h" > >> #include "intel_display_utils.h" > >> #include "intel_fb.h" > >> -#include "intel_fb_bo.h" > >> #include "intel_frontbuffer.h" > >> #include "intel_parent.h" > >> #include "intel_plane.h" > >> @@ -2111,7 +2110,7 @@ static void > >> intel_user_framebuffer_destroy(struct > >> drm_framebuffer *fb) > >> if (intel_fb_uses_dpt(fb)) > >> intel_parent_dpt_destroy(display, intel_fb->dpt); > >> > >> - intel_fb_bo_framebuffer_fini(intel_fb_bo(fb)); > >> + intel_bo_framebuffer_fini(intel_fb_bo(fb)); > >> > >> intel_parent_frontbuffer_put(display, intel_fb->frontbuffer); > >> > >> @@ -2222,7 +2221,7 @@ int intel_framebuffer_init(struct > >> intel_framebuffer *intel_fb, > >> > >> /* > >> * intel_parent_frontbuffer_get() must be done before > >> - * intel_fb_bo_framebuffer_init() to avoid set_tiling vs. addfb race. > >> + * intel_bo_framebuffer_init() to avoid set_tiling vs. addfb race. > >> */ > >> intel_fb->frontbuffer = intel_parent_frontbuffer_get(display, obj); > >> if (!intel_fb->frontbuffer) { > >> @@ -2230,7 +2229,7 @@ int intel_framebuffer_init(struct > >> intel_framebuffer *intel_fb, > >> goto err_free_panic; > >> } > >> > >> - ret = intel_fb_bo_framebuffer_init(obj, mode_cmd); > >> + ret = intel_bo_framebuffer_init(obj, mode_cmd); > >> if (ret) > >> goto err_frontbuffer_put; > >> > >> @@ -2333,7 +2332,7 @@ int intel_framebuffer_init(struct > >> intel_framebuffer *intel_fb, > >> if (intel_fb_uses_dpt(fb)) > >> intel_parent_dpt_destroy(display, intel_fb->dpt); > >> err_bo_framebuffer_fini: > >> - intel_fb_bo_framebuffer_fini(obj); > >> + intel_bo_framebuffer_fini(obj); > >> err_frontbuffer_put: > >> intel_parent_frontbuffer_put(display, intel_fb->frontbuffer); > >> err_free_panic: > >> @@ -2348,11 +2347,12 @@ intel_user_framebuffer_create(struct > >> drm_device *dev, > >> const struct drm_format_info *info, > >> const struct drm_mode_fb_cmd2 > >> *user_mode_cmd) { > >> + struct intel_display *display = to_intel_display(dev); > >> struct drm_framebuffer *fb; > >> struct drm_gem_object *obj; > >> struct drm_mode_fb_cmd2 mode_cmd = *user_mode_cmd; > >> > >> - obj = intel_fb_bo_lookup_valid_bo(dev, filp, &mode_cmd); > >> + obj = intel_bo_framebuffer_lookup(display, filp, &mode_cmd); > >> if (IS_ERR(obj)) > >> return ERR_CAST(obj); > >> > >> diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.c > >> b/drivers/gpu/drm/i915/display/intel_fb_bo.c > >> deleted file mode 100644 > >> index a4d49ef450d9..000000000000 > >> --- a/drivers/gpu/drm/i915/display/intel_fb_bo.c > >> +++ /dev/null > >> @@ -1,99 +0,0 @@ > >> -/* SPDX-License-Identifier: MIT */ > >> -/* > >> - * Copyright © 2021 Intel Corporation > >> - */ > >> - > >> -#include <drm/drm_framebuffer.h> > >> -#include <drm/drm_print.h> > >> - > >> -#include "gem/i915_gem_object.h" > >> - > >> -#include "i915_drv.h" > >> -#include "intel_fb.h" > >> -#include "intel_fb_bo.h" > >> - > >> -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj) -{ > >> - /* Nothing to do for i915 */ > >> -} > >> - > >> -int intel_fb_bo_framebuffer_init(struct drm_gem_object *_obj, > >> - struct drm_mode_fb_cmd2 *mode_cmd) > >> -{ > >> - struct drm_i915_gem_object *obj = to_intel_bo(_obj); > >> - struct drm_i915_private *i915 = to_i915(obj->base.dev); > >> - unsigned int tiling, stride; > >> - > >> - i915_gem_object_lock(obj, NULL); > >> - tiling = i915_gem_object_get_tiling(obj); > >> - stride = i915_gem_object_get_stride(obj); > >> - i915_gem_object_unlock(obj); > >> - > >> - if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) { > >> - /* > >> - * If there's a fence, enforce that > >> - * the fb modifier and tiling mode match. > >> - */ > >> - if (tiling != I915_TILING_NONE && > >> - tiling != intel_fb_modifier_to_tiling(mode_cmd- > >> >modifier[0])) { > >> - drm_dbg_kms(&i915->drm, > >> - "tiling_mode doesn't match fb modifier\n"); > >> - return -EINVAL; > >> - } > >> - } else { > >> - if (tiling == I915_TILING_X) { > >> - mode_cmd->modifier[0] = > >> I915_FORMAT_MOD_X_TILED; > >> - } else if (tiling == I915_TILING_Y) { > >> - drm_dbg_kms(&i915->drm, > >> - "No Y tiling for legacy addfb\n"); > >> - return -EINVAL; > >> - } > >> - } > >> - > >> - /* > >> - * gen2/3 display engine uses the fence if present, > >> - * so the tiling mode must match the fb modifier exactly. > >> - */ > >> - if (GRAPHICS_VER(i915) < 4 && > >> - tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { > >> - drm_dbg_kms(&i915->drm, > >> - "tiling_mode must match fb modifier exactly on > >> gen2/3\n"); > >> - return -EINVAL; > >> - } > >> - > >> - /* > >> - * If there's a fence, enforce that > >> - * the fb pitch and fence stride match. > >> - */ > >> - if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { > >> - drm_dbg_kms(&i915->drm, > >> - "pitch (%d) must match tiling stride (%d)\n", > >> - mode_cmd->pitches[0], stride); > >> - return -EINVAL; > >> - } > >> - > >> - return 0; > >> -} > >> - > >> -struct drm_gem_object * > >> -intel_fb_bo_lookup_valid_bo(struct drm_device *drm, > >> - struct drm_file *filp, > >> - const struct drm_mode_fb_cmd2 *mode_cmd) > >> -{ > >> - struct drm_i915_private *i915 = to_i915(drm); > >> - struct drm_i915_gem_object *obj; > >> - > >> - obj = i915_gem_object_lookup(filp, mode_cmd->handles[0]); > >> - if (!obj) > >> - return ERR_PTR(-ENOENT); > >> - > >> - /* object is backed with LMEM for discrete */ > >> - if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, > >> INTEL_REGION_LMEM_0)) { > >> - /* object is "remote", not in local memory */ > >> - i915_gem_object_put(obj); > >> - drm_dbg_kms(&i915->drm, "framebuffer must reside in local > >> memory\n"); > >> - return ERR_PTR(-EREMOTE); > >> - } > >> - > >> - return intel_bo_to_drm_bo(obj); > >> -} > >> diff --git a/drivers/gpu/drm/i915/display/intel_fb_bo.h > >> b/drivers/gpu/drm/i915/display/intel_fb_bo.h > >> deleted file mode 100644 > >> index d775773c6c03..000000000000 > >> --- a/drivers/gpu/drm/i915/display/intel_fb_bo.h > >> +++ /dev/null > >> @@ -1,25 +0,0 @@ > >> -/* SPDX-License-Identifier: MIT */ > >> -/* > >> - * Copyright © 2021 Intel Corporation > >> - */ > >> - > >> -#ifndef __INTEL_FB_BO_H__ > >> -#define __INTEL_FB_BO_H__ > >> - > >> -struct drm_device; > >> -struct drm_file; > >> -struct drm_framebuffer; > >> -struct drm_gem_object; > >> -struct drm_mode_fb_cmd2; > >> - > >> -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj); > >> - > >> -int intel_fb_bo_framebuffer_init(struct drm_gem_object *obj, > >> - struct drm_mode_fb_cmd2 *mode_cmd); > >> - > >> -struct drm_gem_object * > >> -intel_fb_bo_lookup_valid_bo(struct drm_device *drm, > >> - struct drm_file *filp, > >> - const struct drm_mode_fb_cmd2 > >> *user_mode_cmd); > >> - > >> -#endif > >> diff --git a/drivers/gpu/drm/i915/i915_bo.c > >> b/drivers/gpu/drm/i915/i915_bo.c index 04fc0e3b7ef6..1789f7cab05c > >> 100644 > >> --- a/drivers/gpu/drm/i915/i915_bo.c > >> +++ b/drivers/gpu/drm/i915/i915_bo.c > >> @@ -2,8 +2,10 @@ > >> /* Copyright © 2024 Intel Corporation */ > >> > >> #include <drm/drm_panic.h> > >> +#include <drm/drm_print.h> > >> #include <drm/intel/display_parent_interface.h> > >> > >> +#include "display/intel_fb.h" > >> #include "gem/i915_gem_mman.h" > >> #include "gem/i915_gem_object.h" > >> #include "gem/i915_gem_object_frontbuffer.h" > >> @@ -11,6 +13,7 @@ > >> > >> #include "i915_bo.h" > >> #include "i915_debugfs.h" > >> +#include "i915_drv.h" > >> > >> static bool i915_bo_is_tiled(struct drm_gem_object *obj) { @@ -52,6 > >> +55,92 @@ static void i915_bo_describe(struct seq_file *m, struct > >> drm_gem_object > >> *obj) > >> i915_debugfs_describe_obj(m, to_intel_bo(obj)); } > >> > >> +static int i915_bo_framebuffer_init(struct drm_gem_object *_obj, > >> + struct drm_mode_fb_cmd2 *mode_cmd) { > >> + struct drm_i915_gem_object *obj = to_intel_bo(_obj); > >> + struct drm_i915_private *i915 = to_i915(obj->base.dev); > >> + unsigned int tiling, stride; > >> + > >> + i915_gem_object_lock(obj, NULL); > >> + tiling = i915_gem_object_get_tiling(obj); > >> + stride = i915_gem_object_get_stride(obj); > >> + i915_gem_object_unlock(obj); > >> + > >> + if (mode_cmd->flags & DRM_MODE_FB_MODIFIERS) { > >> + /* > >> + * If there's a fence, enforce that > >> + * the fb modifier and tiling mode match. > >> + */ > >> + if (tiling != I915_TILING_NONE && > >> + tiling != intel_fb_modifier_to_tiling(mode_cmd- > >> >modifier[0])) { > >> + drm_dbg_kms(&i915->drm, > >> + "tiling_mode doesn't match fb modifier\n"); > >> + return -EINVAL; > >> + } > >> + } else { > >> + if (tiling == I915_TILING_X) { > >> + mode_cmd->modifier[0] = > >> I915_FORMAT_MOD_X_TILED; > >> + } else if (tiling == I915_TILING_Y) { > >> + drm_dbg_kms(&i915->drm, > >> + "No Y tiling for legacy addfb\n"); > >> + return -EINVAL; > >> + } > >> + } > >> + > >> + /* > >> + * gen2/3 display engine uses the fence if present, > >> + * so the tiling mode must match the fb modifier exactly. > >> + */ > >> + if (GRAPHICS_VER(i915) < 4 && > >> + tiling != intel_fb_modifier_to_tiling(mode_cmd->modifier[0])) { > >> + drm_dbg_kms(&i915->drm, > >> + "tiling_mode must match fb modifier exactly on > >> gen2/3\n"); > >> + return -EINVAL; > >> + } > >> + > >> + /* > >> + * If there's a fence, enforce that > >> + * the fb pitch and fence stride match. > >> + */ > >> + if (tiling != I915_TILING_NONE && mode_cmd->pitches[0] != stride) { > >> + drm_dbg_kms(&i915->drm, > >> + "pitch (%d) must match tiling stride (%d)\n", > >> + mode_cmd->pitches[0], stride); > >> + return -EINVAL; > >> + } > >> + > >> + return 0; > >> +} > >> + > >> +static void i915_bo_framebuffer_fini(struct drm_gem_object *obj) { > >> + /* Nothing to do for i915 */ > >> +} > >> + > >> +static struct drm_gem_object * > >> +i915_bo_framebuffer_lookup(struct drm_device *drm, > >> + struct drm_file *filp, > >> + const struct drm_mode_fb_cmd2 *mode_cmd) { > >> + struct drm_i915_private *i915 = to_i915(drm); > >> + struct drm_i915_gem_object *obj; > >> + > >> + obj = i915_gem_object_lookup(filp, mode_cmd->handles[0]); > >> + if (!obj) > >> + return ERR_PTR(-ENOENT); > >> + > >> + /* object is backed with LMEM for discrete */ > >> + if (HAS_LMEM(i915) && !i915_gem_object_can_migrate(obj, > >> INTEL_REGION_LMEM_0)) { > >> + /* object is "remote", not in local memory */ > >> + i915_gem_object_put(obj); > >> + drm_dbg_kms(&i915->drm, "framebuffer must reside in local > >> memory\n"); > >> + return ERR_PTR(-EREMOTE); > >> + } > >> + > >> + return intel_bo_to_drm_bo(obj); > >> +} > >> + > >> const struct intel_display_bo_interface i915_display_bo_interface = { > >> .is_tiled = i915_bo_is_tiled, > >> .is_userptr = i915_bo_is_userptr, > >> @@ -61,4 +150,7 @@ const struct intel_display_bo_interface > >> i915_display_bo_interface = { > >> .fb_mmap = i915_bo_fb_mmap, > >> .read_from_page = i915_bo_read_from_page, > >> .describe = i915_bo_describe, > >> + .framebuffer_init = i915_bo_framebuffer_init, > >> + .framebuffer_fini = i915_bo_framebuffer_fini, > >> + .framebuffer_lookup = i915_bo_framebuffer_lookup, > >> }; > >> diff --git a/drivers/gpu/drm/xe/Makefile > >> b/drivers/gpu/drm/xe/Makefile index b16ed1ce2a85..dab979287a96 100644 > >> --- a/drivers/gpu/drm/xe/Makefile > >> +++ b/drivers/gpu/drm/xe/Makefile > >> @@ -211,7 +211,6 @@ $(obj)/i915-display/%.o: > >> $(srctree)/drivers/gpu/drm/i915/display/%.c FORCE > >> > >> # Display code specific to xe > >> xe-$(CONFIG_DRM_XE_DISPLAY) += \ > >> - display/intel_fb_bo.o \ > >> display/intel_fbdev_fb.o \ > >> display/xe_display.o \ > >> display/xe_display_bo.o \ > >> diff --git a/drivers/gpu/drm/xe/display/intel_fb_bo.c > >> b/drivers/gpu/drm/xe/display/intel_fb_bo.c > >> deleted file mode 100644 > >> index db8b1a27b4de..000000000000 > >> --- a/drivers/gpu/drm/xe/display/intel_fb_bo.c > >> +++ /dev/null > >> @@ -1,91 +0,0 @@ > >> -/* SPDX-License-Identifier: MIT */ > >> -/* > >> - * Copyright © 2021 Intel Corporation > >> - */ > >> - > >> -#include <drm/drm_modeset_helper.h> > >> -#include <drm/ttm/ttm_bo.h> > >> - > >> -#include "intel_display_types.h" > >> -#include "intel_fb.h" > >> -#include "intel_fb_bo.h" > >> -#include "xe_bo.h" > >> - > >> -void intel_fb_bo_framebuffer_fini(struct drm_gem_object *obj) -{ > >> - struct xe_bo *bo = gem_to_xe_bo(obj); > >> - > >> - if (bo->flags & XE_BO_FLAG_PINNED) { > >> - /* Unpin our kernel fb first */ > >> - xe_bo_lock(bo, false); > >> - xe_bo_unpin(bo); > >> - xe_bo_unlock(bo); > >> - } > >> - xe_bo_put(bo); > >> -} > >> - > >> -int intel_fb_bo_framebuffer_init(struct drm_gem_object *obj, > >> - struct drm_mode_fb_cmd2 *mode_cmd) > >> -{ > >> - struct xe_bo *bo = gem_to_xe_bo(obj); > >> - struct xe_device *xe = to_xe_device(bo->ttm.base.dev); > >> - int ret; > >> - > >> - /* > >> - * Some modifiers require physical alignment of 64KiB VRAM pages; > >> - * require that the BO in those cases is created correctly. > >> - */ > >> - if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd- > >> >modifier[0]) && > >> - !(bo->flags & XE_BO_FLAG_NEEDS_64K))) > >> - return -EINVAL; > >> - > >> - xe_bo_get(bo); > >> - > >> - ret = ttm_bo_reserve(&bo->ttm, true, false, NULL); > >> - if (ret) > >> - goto err; > >> - > >> - if (!(bo->flags & XE_BO_FLAG_SCANOUT)) { > >> - /* > >> - * XE_BO_FLAG_SCANOUT should ideally be set at creation, > >> or is > >> - * automatically set when creating FB. We cannot change > >> caching > >> - * mode when the bo is VM_BINDed, so we can only set > >> - * coherency with display when unbound. > >> - */ > >> - if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { > >> - ttm_bo_unreserve(&bo->ttm); > >> - ret = -EINVAL; > >> - goto err; > >> - } > >> - bo->flags |= XE_BO_FLAG_SCANOUT; > >> - } > >> - ttm_bo_unreserve(&bo->ttm); > >> - return 0; > >> - > >> -err: > >> - xe_bo_put(bo); > >> - return ret; > >> -} > >> - > >> -struct drm_gem_object *intel_fb_bo_lookup_valid_bo(struct drm_device > >> *drm, > >> - struct drm_file *filp, > >> - const struct > >> drm_mode_fb_cmd2 *mode_cmd) > >> -{ > >> - struct xe_device *xe = to_xe_device(drm); > >> - struct xe_bo *bo; > >> - struct drm_gem_object *gem = drm_gem_object_lookup(filp, > >> mode_cmd->handles[0]); > >> - > >> - if (!gem) > >> - return ERR_PTR(-ENOENT); > >> - > >> - bo = gem_to_xe_bo(gem); > >> - /* Require vram placement or dma-buf import */ > >> - if (IS_DGFX(xe) && > >> - !xe_bo_can_migrate(bo, XE_PL_VRAM0) && > >> - bo->ttm.type != ttm_bo_type_sg) { > >> - drm_gem_object_put(gem); > >> - return ERR_PTR(-EREMOTE); > >> - } > >> - > >> - return gem; > >> -} > >> diff --git a/drivers/gpu/drm/xe/display/xe_display_bo.c > >> b/drivers/gpu/drm/xe/display/xe_display_bo.c > >> index a53ba3f247ec..a689f71e7b14 100644 > >> --- a/drivers/gpu/drm/xe/display/xe_display_bo.c > >> +++ b/drivers/gpu/drm/xe/display/xe_display_bo.c > >> @@ -4,6 +4,7 @@ > >> #include <drm/drm_gem.h> > >> #include <drm/intel/display_parent_interface.h> > >> > >> +#include "intel_fb.h" > >> #include "xe_bo.h" > >> #include "xe_display_bo.h" > >> #include "xe_pxp.h" > >> @@ -20,9 +21,92 @@ static int xe_display_bo_read_from_page(struct > >> drm_gem_object *obj, u64 offset, > >> return xe_bo_read(bo, offset, dst, size); } > >> > >> +static int xe_display_bo_framebuffer_init(struct drm_gem_object *obj, > >> + struct drm_mode_fb_cmd2 > >> *mode_cmd) { > >> + struct xe_bo *bo = gem_to_xe_bo(obj); > >> + struct xe_device *xe = to_xe_device(bo->ttm.base.dev); > >> + int ret; > >> + > >> + /* > >> + * Some modifiers require physical alignment of 64KiB VRAM pages; > >> + * require that the BO in those cases is created correctly. > >> + */ > >> + if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd- > >> >modifier[0]) && > >> + !(bo->flags & XE_BO_FLAG_NEEDS_64K))) > >> + return -EINVAL; > >> + > >> + xe_bo_get(bo); > >> + > >> + ret = ttm_bo_reserve(&bo->ttm, true, false, NULL); > >> + if (ret) > >> + goto err; > >> + > >> + if (!(bo->flags & XE_BO_FLAG_SCANOUT)) { > >> + /* > >> + * XE_BO_FLAG_SCANOUT should ideally be set at creation, > >> or is > >> + * automatically set when creating FB. We cannot change > >> caching > >> + * mode when the bo is VM_BINDed, so we can only set > >> + * coherency with display when unbound. > >> + */ > >> + if (XE_IOCTL_DBG(xe, xe_bo_is_vm_bound(bo))) { > >> + ttm_bo_unreserve(&bo->ttm); > >> + ret = -EINVAL; > >> + goto err; > >> + } > >> + bo->flags |= XE_BO_FLAG_SCANOUT; > >> + } > >> + ttm_bo_unreserve(&bo->ttm); > >> + return 0; > >> + > >> +err: > >> + xe_bo_put(bo); > >> + return ret; > >> +} > >> + > >> +static void xe_display_bo_framebuffer_fini(struct drm_gem_object > >> +*obj) { > >> + struct xe_bo *bo = gem_to_xe_bo(obj); > >> + > >> + if (bo->flags & XE_BO_FLAG_PINNED) { > >> + /* Unpin our kernel fb first */ > >> + xe_bo_lock(bo, false); > >> + xe_bo_unpin(bo); > >> + xe_bo_unlock(bo); > >> + } > >> + xe_bo_put(bo); > >> +} > >> + > >> +static struct drm_gem_object * > >> +xe_display_bo_framebuffer_lookup(struct drm_device *drm, > >> + struct drm_file *filp, > >> + const struct drm_mode_fb_cmd2 > >> *mode_cmd) { > >> + struct xe_device *xe = to_xe_device(drm); > >> + struct xe_bo *bo; > >> + struct drm_gem_object *gem = drm_gem_object_lookup(filp, > >> +mode_cmd->handles[0]); > >> + > >> + if (!gem) > >> + return ERR_PTR(-ENOENT); > >> + > >> + bo = gem_to_xe_bo(gem); > >> + /* Require vram placement or dma-buf import */ > >> + if (IS_DGFX(xe) && > >> + !xe_bo_can_migrate(bo, XE_PL_VRAM0) && > >> + bo->ttm.type != ttm_bo_type_sg) { > >> + drm_gem_object_put(gem); > >> + return ERR_PTR(-EREMOTE); > >> + } > >> + > >> + return gem; > >> +} > >> + > >> const struct intel_display_bo_interface xe_display_bo_interface = { > >> .is_protected = xe_display_bo_is_protected, > >> .key_check = xe_pxp_obj_key_check, > >> .fb_mmap = drm_gem_prime_mmap, > >> .read_from_page = xe_display_bo_read_from_page, > >> + .framebuffer_init = xe_display_bo_framebuffer_init, > >> + .framebuffer_fini = xe_display_bo_framebuffer_fini, > >> + .framebuffer_lookup = xe_display_bo_framebuffer_lookup, > >> }; > >> diff --git a/include/drm/intel/display_parent_interface.h > >> b/include/drm/intel/display_parent_interface.h > >> index 2b53d12b0e0a..97ec94a2e749 100644 > >> --- a/include/drm/intel/display_parent_interface.h > >> +++ b/include/drm/intel/display_parent_interface.h > >> @@ -12,6 +12,7 @@ struct drm_device; > >> struct drm_file; > >> struct drm_framebuffer; > >> struct drm_gem_object; > >> +struct drm_mode_fb_cmd2; > >> struct drm_plane_state; > >> struct drm_scanout_buffer; > >> struct i915_vma; > >> @@ -37,6 +38,11 @@ struct intel_display_bo_interface { > >> int (*fb_mmap)(struct drm_gem_object *obj, struct vm_area_struct > >> *vma); > >> int (*read_from_page)(struct drm_gem_object *obj, u64 offset, void > >> *dst, int size); > >> void (*describe)(struct seq_file *m, struct drm_gem_object *obj); > >> /* Optional */ > >> + int (*framebuffer_init)(struct drm_gem_object *obj, struct > >> drm_mode_fb_cmd2 *mode_cmd); > >> + void (*framebuffer_fini)(struct drm_gem_object *obj); > >> + struct drm_gem_object *(*framebuffer_lookup)(struct drm_device > >> *drm, > >> + struct drm_file *filp, > >> + const struct > >> drm_mode_fb_cmd2 *user_mode_cmd); > >> }; > >> > >> struct intel_display_dpt_interface { > >> -- > >> 2.47.3 > > > > -- > Jani Nikula, Intel ^ permalink raw reply [flat|nested] 21+ messages in thread
* ✗ CI.checkpatch: warning for drm/{i915,xe}: move bo stuff to parent interface 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula ` (4 preceding siblings ...) 2026-03-11 14:18 ` [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface Jani Nikula @ 2026-03-11 14:24 ` Patchwork 2026-03-11 14:25 ` ✓ CI.KUnit: success " Patchwork ` (4 subsequent siblings) 10 siblings, 0 replies; 21+ messages in thread From: Patchwork @ 2026-03-11 14:24 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-xe == Series Details == Series: drm/{i915,xe}: move bo stuff to parent interface URL : https://patchwork.freedesktop.org/series/163032/ 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 1f57ba1afceae32108bd24770069f764d940a0e4 + cd /kernel + git config --global --add safe.directory /kernel + git log -n1 commit 1c0abc8a0a7ff519d9f5483684d8281b89f83ecc Author: Jani Nikula <jani.nikula@intel.com> Date: Wed Mar 11 16:18:18 2026 +0200 drm/{i915,xe}: move framebuffer bo to parent interface Add .framebuffer_init, .framebuffer_fini and .framebuffer_lookup to the bo parent interface. While they're about framebuffers, they're specifically about framebuffer objects, so the bo interface is a good enough fit, and there's no need to add another interface struct. Signed-off-by: Jani Nikula <jani.nikula@intel.com> + /mt/dim checkpatch 4a30f5fa0fe382b3915a8208a483d0044c40b9eb drm-intel 41a11f93af59 drm/i915: move i915 specific bo implementation to i915 -:33: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #33: rename from drivers/gpu/drm/i915/display/intel_bo.c total: 0 errors, 1 warnings, 0 checks, 28 lines checked cf0b8bbf370a drm/xe: rename intel_bo.c to xe_display_bo.c -:29: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #29: rename from drivers/gpu/drm/xe/display/intel_bo.c total: 0 errors, 1 warnings, 0 checks, 11 lines checked c914c9831140 drm/{i915, xe}/bo: move display bo calls to parent interface -:31: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #31: new file mode 100644 total: 0 errors, 1 warnings, 0 checks, 292 lines checked a6ac535e9f07 drm/i915/fb: make intel_fb_bo.c less dependent on display 1c0abc8a0a7f drm/{i915,xe}: move framebuffer bo to parent interface -:144: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating? #144: deleted file mode 100644 -:540: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis #540: FILE: drivers/gpu/drm/xe/display/xe_display_bo.c:36: + if (XE_IOCTL_DBG(xe, intel_fb_needs_64k_phys(mode_cmd->modifier[0]) && + !(bo->flags & XE_BO_FLAG_NEEDS_64K))) total: 0 errors, 1 warnings, 1 checks, 344 lines checked ^ permalink raw reply [flat|nested] 21+ messages in thread
* ✓ CI.KUnit: success for drm/{i915,xe}: move bo stuff to parent interface 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula ` (5 preceding siblings ...) 2026-03-11 14:24 ` ✗ CI.checkpatch: warning for drm/{i915,xe}: move bo stuff " Patchwork @ 2026-03-11 14:25 ` Patchwork 2026-03-11 15:11 ` ✓ Xe.CI.BAT: " Patchwork ` (3 subsequent siblings) 10 siblings, 0 replies; 21+ messages in thread From: Patchwork @ 2026-03-11 14:25 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-xe == Series Details == Series: drm/{i915,xe}: move bo stuff to parent interface URL : https://patchwork.freedesktop.org/series/163032/ State : success == Summary == + trap cleanup EXIT + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/xe/.kunitconfig [14:24:10] Configuring KUnit Kernel ... Generating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [14:24:14] 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=25 [14:24:52] Starting KUnit Kernel (1/1)... [14:24:52] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [14:24:52] ================== guc_buf (11 subtests) =================== [14:24:52] [PASSED] test_smallest [14:24:52] [PASSED] test_largest [14:24:52] [PASSED] test_granular [14:24:52] [PASSED] test_unique [14:24:52] [PASSED] test_overlap [14:24:52] [PASSED] test_reusable [14:24:52] [PASSED] test_too_big [14:24:52] [PASSED] test_flush [14:24:52] [PASSED] test_lookup [14:24:52] [PASSED] test_data [14:24:52] [PASSED] test_class [14:24:52] ===================== [PASSED] guc_buf ===================== [14:24:52] =================== guc_dbm (7 subtests) =================== [14:24:52] [PASSED] test_empty [14:24:52] [PASSED] test_default [14:24:52] ======================== test_size ======================== [14:24:52] [PASSED] 4 [14:24:52] [PASSED] 8 [14:24:52] [PASSED] 32 [14:24:52] [PASSED] 256 [14:24:52] ==================== [PASSED] test_size ==================== [14:24:52] ======================= test_reuse ======================== [14:24:52] [PASSED] 4 [14:24:52] [PASSED] 8 [14:24:52] [PASSED] 32 [14:24:52] [PASSED] 256 [14:24:52] =================== [PASSED] test_reuse ==================== [14:24:52] =================== test_range_overlap ==================== [14:24:52] [PASSED] 4 [14:24:52] [PASSED] 8 [14:24:52] [PASSED] 32 [14:24:52] [PASSED] 256 [14:24:52] =============== [PASSED] test_range_overlap ================ [14:24:52] =================== test_range_compact ==================== [14:24:52] [PASSED] 4 [14:24:52] [PASSED] 8 [14:24:52] [PASSED] 32 [14:24:52] [PASSED] 256 [14:24:52] =============== [PASSED] test_range_compact ================ [14:24:52] ==================== test_range_spare ===================== [14:24:52] [PASSED] 4 [14:24:52] [PASSED] 8 [14:24:52] [PASSED] 32 [14:24:52] [PASSED] 256 [14:24:52] ================ [PASSED] test_range_spare ================= [14:24:52] ===================== [PASSED] guc_dbm ===================== [14:24:52] =================== guc_idm (6 subtests) =================== [14:24:52] [PASSED] bad_init [14:24:52] [PASSED] no_init [14:24:52] [PASSED] init_fini [14:24:52] [PASSED] check_used [14:24:52] [PASSED] check_quota [14:24:52] [PASSED] check_all [14:24:52] ===================== [PASSED] guc_idm ===================== [14:24:52] ================== no_relay (3 subtests) =================== [14:24:52] [PASSED] xe_drops_guc2pf_if_not_ready [14:24:52] [PASSED] xe_drops_guc2vf_if_not_ready [14:24:52] [PASSED] xe_rejects_send_if_not_ready [14:24:52] ==================== [PASSED] no_relay ===================== [14:24:52] ================== pf_relay (14 subtests) ================== [14:24:52] [PASSED] pf_rejects_guc2pf_too_short [14:24:52] [PASSED] pf_rejects_guc2pf_too_long [14:24:52] [PASSED] pf_rejects_guc2pf_no_payload [14:24:52] [PASSED] pf_fails_no_payload [14:24:52] [PASSED] pf_fails_bad_origin [14:24:52] [PASSED] pf_fails_bad_type [14:24:52] [PASSED] pf_txn_reports_error [14:24:52] [PASSED] pf_txn_sends_pf2guc [14:24:52] [PASSED] pf_sends_pf2guc [14:24:52] [SKIPPED] pf_loopback_nop [14:24:52] [SKIPPED] pf_loopback_echo [14:24:52] [SKIPPED] pf_loopback_fail [14:24:52] [SKIPPED] pf_loopback_busy [14:24:52] [SKIPPED] pf_loopback_retry [14:24:52] ==================== [PASSED] pf_relay ===================== [14:24:52] ================== vf_relay (3 subtests) =================== [14:24:52] [PASSED] vf_rejects_guc2vf_too_short [14:24:52] [PASSED] vf_rejects_guc2vf_too_long [14:24:52] [PASSED] vf_rejects_guc2vf_no_payload [14:24:52] ==================== [PASSED] vf_relay ===================== [14:24:52] ================ pf_gt_config (9 subtests) ================= [14:24:52] [PASSED] fair_contexts_1vf [14:24:52] [PASSED] fair_doorbells_1vf [14:24:52] [PASSED] fair_ggtt_1vf [14:24:52] ====================== fair_vram_1vf ====================== [14:24:52] [PASSED] 3.50 GiB [14:24:52] [PASSED] 11.5 GiB [14:24:52] [PASSED] 15.5 GiB [14:24:52] [PASSED] 31.5 GiB [14:24:52] [PASSED] 63.5 GiB [14:24:52] [PASSED] 1.91 GiB [14:24:52] ================== [PASSED] fair_vram_1vf ================== [14:24:52] ================ fair_vram_1vf_admin_only ================= [14:24:52] [PASSED] 3.50 GiB [14:24:52] [PASSED] 11.5 GiB [14:24:52] [PASSED] 15.5 GiB [14:24:52] [PASSED] 31.5 GiB [14:24:52] [PASSED] 63.5 GiB [14:24:52] [PASSED] 1.91 GiB [14:24:52] ============ [PASSED] fair_vram_1vf_admin_only ============= [14:24:52] ====================== fair_contexts ====================== [14:24:52] [PASSED] 1 VF [14:24:52] [PASSED] 2 VFs [14:24:52] [PASSED] 3 VFs [14:24:52] [PASSED] 4 VFs [14:24:52] [PASSED] 5 VFs [14:24:52] [PASSED] 6 VFs [14:24:52] [PASSED] 7 VFs [14:24:52] [PASSED] 8 VFs [14:24:52] [PASSED] 9 VFs [14:24:52] [PASSED] 10 VFs [14:24:52] [PASSED] 11 VFs [14:24:52] [PASSED] 12 VFs [14:24:52] [PASSED] 13 VFs [14:24:52] [PASSED] 14 VFs [14:24:52] [PASSED] 15 VFs [14:24:52] [PASSED] 16 VFs [14:24:52] [PASSED] 17 VFs [14:24:52] [PASSED] 18 VFs [14:24:52] [PASSED] 19 VFs [14:24:52] [PASSED] 20 VFs [14:24:52] [PASSED] 21 VFs [14:24:52] [PASSED] 22 VFs [14:24:52] [PASSED] 23 VFs [14:24:52] [PASSED] 24 VFs [14:24:52] [PASSED] 25 VFs [14:24:52] [PASSED] 26 VFs [14:24:52] [PASSED] 27 VFs [14:24:52] [PASSED] 28 VFs [14:24:52] [PASSED] 29 VFs [14:24:52] [PASSED] 30 VFs [14:24:52] [PASSED] 31 VFs [14:24:52] [PASSED] 32 VFs [14:24:52] [PASSED] 33 VFs [14:24:52] [PASSED] 34 VFs [14:24:52] [PASSED] 35 VFs [14:24:52] [PASSED] 36 VFs [14:24:52] [PASSED] 37 VFs [14:24:52] [PASSED] 38 VFs [14:24:52] [PASSED] 39 VFs [14:24:52] [PASSED] 40 VFs [14:24:52] [PASSED] 41 VFs [14:24:52] [PASSED] 42 VFs [14:24:52] [PASSED] 43 VFs [14:24:52] [PASSED] 44 VFs [14:24:52] [PASSED] 45 VFs [14:24:52] [PASSED] 46 VFs [14:24:52] [PASSED] 47 VFs [14:24:52] [PASSED] 48 VFs [14:24:52] [PASSED] 49 VFs [14:24:52] [PASSED] 50 VFs [14:24:52] [PASSED] 51 VFs [14:24:52] [PASSED] 52 VFs [14:24:52] [PASSED] 53 VFs [14:24:52] [PASSED] 54 VFs [14:24:52] [PASSED] 55 VFs [14:24:52] [PASSED] 56 VFs [14:24:52] [PASSED] 57 VFs [14:24:52] [PASSED] 58 VFs [14:24:52] [PASSED] 59 VFs [14:24:52] [PASSED] 60 VFs [14:24:52] [PASSED] 61 VFs [14:24:52] [PASSED] 62 VFs [14:24:52] [PASSED] 63 VFs [14:24:52] ================== [PASSED] fair_contexts ================== [14:24:52] ===================== fair_doorbells ====================== [14:24:52] [PASSED] 1 VF [14:24:52] [PASSED] 2 VFs [14:24:52] [PASSED] 3 VFs [14:24:52] [PASSED] 4 VFs [14:24:52] [PASSED] 5 VFs [14:24:52] [PASSED] 6 VFs [14:24:52] [PASSED] 7 VFs [14:24:52] [PASSED] 8 VFs [14:24:52] [PASSED] 9 VFs [14:24:52] [PASSED] 10 VFs [14:24:52] [PASSED] 11 VFs [14:24:52] [PASSED] 12 VFs [14:24:52] [PASSED] 13 VFs [14:24:52] [PASSED] 14 VFs [14:24:52] [PASSED] 15 VFs [14:24:52] [PASSED] 16 VFs [14:24:52] [PASSED] 17 VFs [14:24:52] [PASSED] 18 VFs [14:24:52] [PASSED] 19 VFs [14:24:52] [PASSED] 20 VFs [14:24:52] [PASSED] 21 VFs [14:24:52] [PASSED] 22 VFs [14:24:52] [PASSED] 23 VFs [14:24:52] [PASSED] 24 VFs [14:24:52] [PASSED] 25 VFs [14:24:52] [PASSED] 26 VFs [14:24:52] [PASSED] 27 VFs [14:24:52] [PASSED] 28 VFs [14:24:52] [PASSED] 29 VFs [14:24:52] [PASSED] 30 VFs [14:24:52] [PASSED] 31 VFs [14:24:52] [PASSED] 32 VFs [14:24:52] [PASSED] 33 VFs [14:24:52] [PASSED] 34 VFs [14:24:52] [PASSED] 35 VFs [14:24:52] [PASSED] 36 VFs [14:24:52] [PASSED] 37 VFs [14:24:52] [PASSED] 38 VFs [14:24:52] [PASSED] 39 VFs [14:24:52] [PASSED] 40 VFs [14:24:52] [PASSED] 41 VFs [14:24:52] [PASSED] 42 VFs [14:24:52] [PASSED] 43 VFs [14:24:52] [PASSED] 44 VFs [14:24:52] [PASSED] 45 VFs [14:24:52] [PASSED] 46 VFs [14:24:52] [PASSED] 47 VFs [14:24:52] [PASSED] 48 VFs [14:24:52] [PASSED] 49 VFs [14:24:52] [PASSED] 50 VFs [14:24:52] [PASSED] 51 VFs [14:24:52] [PASSED] 52 VFs [14:24:52] [PASSED] 53 VFs [14:24:52] [PASSED] 54 VFs [14:24:52] [PASSED] 55 VFs [14:24:52] [PASSED] 56 VFs [14:24:52] [PASSED] 57 VFs [14:24:52] [PASSED] 58 VFs [14:24:52] [PASSED] 59 VFs [14:24:52] [PASSED] 60 VFs [14:24:52] [PASSED] 61 VFs [14:24:52] [PASSED] 62 VFs [14:24:52] [PASSED] 63 VFs [14:24:52] ================= [PASSED] fair_doorbells ================== [14:24:52] ======================== fair_ggtt ======================== [14:24:52] [PASSED] 1 VF [14:24:52] [PASSED] 2 VFs [14:24:52] [PASSED] 3 VFs [14:24:52] [PASSED] 4 VFs [14:24:52] [PASSED] 5 VFs [14:24:52] [PASSED] 6 VFs [14:24:52] [PASSED] 7 VFs [14:24:52] [PASSED] 8 VFs [14:24:52] [PASSED] 9 VFs [14:24:52] [PASSED] 10 VFs [14:24:52] [PASSED] 11 VFs [14:24:52] [PASSED] 12 VFs [14:24:52] [PASSED] 13 VFs [14:24:52] [PASSED] 14 VFs [14:24:52] [PASSED] 15 VFs [14:24:52] [PASSED] 16 VFs [14:24:52] [PASSED] 17 VFs [14:24:52] [PASSED] 18 VFs [14:24:52] [PASSED] 19 VFs [14:24:52] [PASSED] 20 VFs [14:24:52] [PASSED] 21 VFs [14:24:52] [PASSED] 22 VFs [14:24:52] [PASSED] 23 VFs [14:24:52] [PASSED] 24 VFs [14:24:52] [PASSED] 25 VFs [14:24:52] [PASSED] 26 VFs [14:24:52] [PASSED] 27 VFs [14:24:52] [PASSED] 28 VFs [14:24:52] [PASSED] 29 VFs [14:24:52] [PASSED] 30 VFs [14:24:52] [PASSED] 31 VFs [14:24:52] [PASSED] 32 VFs [14:24:52] [PASSED] 33 VFs [14:24:52] [PASSED] 34 VFs [14:24:52] [PASSED] 35 VFs [14:24:52] [PASSED] 36 VFs [14:24:52] [PASSED] 37 VFs [14:24:52] [PASSED] 38 VFs [14:24:52] [PASSED] 39 VFs [14:24:52] [PASSED] 40 VFs [14:24:52] [PASSED] 41 VFs [14:24:52] [PASSED] 42 VFs [14:24:52] [PASSED] 43 VFs [14:24:52] [PASSED] 44 VFs [14:24:52] [PASSED] 45 VFs [14:24:52] [PASSED] 46 VFs [14:24:52] [PASSED] 47 VFs [14:24:52] [PASSED] 48 VFs [14:24:52] [PASSED] 49 VFs [14:24:52] [PASSED] 50 VFs [14:24:52] [PASSED] 51 VFs [14:24:52] [PASSED] 52 VFs [14:24:52] [PASSED] 53 VFs [14:24:52] [PASSED] 54 VFs [14:24:52] [PASSED] 55 VFs [14:24:52] [PASSED] 56 VFs [14:24:52] [PASSED] 57 VFs [14:24:52] [PASSED] 58 VFs [14:24:52] [PASSED] 59 VFs [14:24:52] [PASSED] 60 VFs [14:24:52] [PASSED] 61 VFs [14:24:52] [PASSED] 62 VFs [14:24:52] [PASSED] 63 VFs [14:24:52] ==================== [PASSED] fair_ggtt ==================== [14:24:52] ======================== fair_vram ======================== [14:24:52] [PASSED] 1 VF [14:24:52] [PASSED] 2 VFs [14:24:52] [PASSED] 3 VFs [14:24:52] [PASSED] 4 VFs [14:24:52] [PASSED] 5 VFs [14:24:52] [PASSED] 6 VFs [14:24:52] [PASSED] 7 VFs [14:24:52] [PASSED] 8 VFs [14:24:52] [PASSED] 9 VFs [14:24:52] [PASSED] 10 VFs [14:24:52] [PASSED] 11 VFs [14:24:52] [PASSED] 12 VFs [14:24:52] [PASSED] 13 VFs [14:24:52] [PASSED] 14 VFs [14:24:52] [PASSED] 15 VFs [14:24:52] [PASSED] 16 VFs [14:24:52] [PASSED] 17 VFs [14:24:52] [PASSED] 18 VFs [14:24:52] [PASSED] 19 VFs [14:24:52] [PASSED] 20 VFs [14:24:52] [PASSED] 21 VFs [14:24:52] [PASSED] 22 VFs [14:24:52] [PASSED] 23 VFs [14:24:52] [PASSED] 24 VFs [14:24:52] [PASSED] 25 VFs [14:24:52] [PASSED] 26 VFs [14:24:52] [PASSED] 27 VFs [14:24:52] [PASSED] 28 VFs [14:24:52] [PASSED] 29 VFs [14:24:52] [PASSED] 30 VFs [14:24:52] [PASSED] 31 VFs [14:24:52] [PASSED] 32 VFs [14:24:52] [PASSED] 33 VFs [14:24:52] [PASSED] 34 VFs [14:24:52] [PASSED] 35 VFs [14:24:52] [PASSED] 36 VFs [14:24:52] [PASSED] 37 VFs [14:24:52] [PASSED] 38 VFs [14:24:52] [PASSED] 39 VFs [14:24:52] [PASSED] 40 VFs [14:24:52] [PASSED] 41 VFs [14:24:52] [PASSED] 42 VFs [14:24:52] [PASSED] 43 VFs [14:24:52] [PASSED] 44 VFs [14:24:52] [PASSED] 45 VFs [14:24:52] [PASSED] 46 VFs [14:24:52] [PASSED] 47 VFs [14:24:52] [PASSED] 48 VFs [14:24:52] [PASSED] 49 VFs [14:24:52] [PASSED] 50 VFs [14:24:52] [PASSED] 51 VFs [14:24:52] [PASSED] 52 VFs [14:24:52] [PASSED] 53 VFs [14:24:52] [PASSED] 54 VFs [14:24:52] [PASSED] 55 VFs [14:24:52] [PASSED] 56 VFs [14:24:52] [PASSED] 57 VFs [14:24:52] [PASSED] 58 VFs [14:24:52] [PASSED] 59 VFs [14:24:52] [PASSED] 60 VFs [14:24:52] [PASSED] 61 VFs [14:24:52] [PASSED] 62 VFs [14:24:52] [PASSED] 63 VFs [14:24:52] ==================== [PASSED] fair_vram ==================== [14:24:52] ================== [PASSED] pf_gt_config =================== [14:24:52] ===================== lmtt (1 subtest) ===================== [14:24:52] ======================== test_ops ========================= [14:24:52] [PASSED] 2-level [14:24:52] [PASSED] multi-level [14:24:52] ==================== [PASSED] test_ops ===================== [14:24:52] ====================== [PASSED] lmtt ======================= [14:24:52] ================= pf_service (11 subtests) ================= [14:24:52] [PASSED] pf_negotiate_any [14:24:52] [PASSED] pf_negotiate_base_match [14:24:52] [PASSED] pf_negotiate_base_newer [14:24:52] [PASSED] pf_negotiate_base_next [14:24:52] [SKIPPED] pf_negotiate_base_older [14:24:52] [PASSED] pf_negotiate_base_prev [14:24:52] [PASSED] pf_negotiate_latest_match [14:24:52] [PASSED] pf_negotiate_latest_newer [14:24:52] [PASSED] pf_negotiate_latest_next [14:24:52] [SKIPPED] pf_negotiate_latest_older [14:24:52] [SKIPPED] pf_negotiate_latest_prev [14:24:52] =================== [PASSED] pf_service ==================== [14:24:52] ================= xe_guc_g2g (2 subtests) ================== [14:24:52] ============== xe_live_guc_g2g_kunit_default ============== [14:24:52] ========= [SKIPPED] xe_live_guc_g2g_kunit_default ========== [14:24:52] ============== xe_live_guc_g2g_kunit_allmem =============== [14:24:52] ========== [SKIPPED] xe_live_guc_g2g_kunit_allmem ========== [14:24:52] =================== [SKIPPED] xe_guc_g2g =================== [14:24:52] =================== xe_mocs (2 subtests) =================== [14:24:52] ================ xe_live_mocs_kernel_kunit ================ [14:24:52] =========== [SKIPPED] xe_live_mocs_kernel_kunit ============ [14:24:52] ================ xe_live_mocs_reset_kunit ================= [14:24:52] ============ [SKIPPED] xe_live_mocs_reset_kunit ============ [14:24:52] ==================== [SKIPPED] xe_mocs ===================== [14:24:52] ================= xe_migrate (2 subtests) ================== [14:24:52] ================= xe_migrate_sanity_kunit ================= [14:24:52] ============ [SKIPPED] xe_migrate_sanity_kunit ============= [14:24:52] ================== xe_validate_ccs_kunit ================== [14:24:52] ============= [SKIPPED] xe_validate_ccs_kunit ============== [14:24:52] =================== [SKIPPED] xe_migrate =================== [14:24:52] ================== xe_dma_buf (1 subtest) ================== [14:24:52] ==================== xe_dma_buf_kunit ===================== [14:24:52] ================ [SKIPPED] xe_dma_buf_kunit ================ [14:24:52] =================== [SKIPPED] xe_dma_buf =================== [14:24:52] ================= xe_bo_shrink (1 subtest) ================= [14:24:52] =================== xe_bo_shrink_kunit ==================== [14:24:52] =============== [SKIPPED] xe_bo_shrink_kunit =============== [14:24:52] ================== [SKIPPED] xe_bo_shrink ================== [14:24:52] ==================== xe_bo (2 subtests) ==================== [14:24:52] ================== xe_ccs_migrate_kunit =================== [14:24:52] ============== [SKIPPED] xe_ccs_migrate_kunit ============== [14:24:52] ==================== xe_bo_evict_kunit ==================== [14:24:52] =============== [SKIPPED] xe_bo_evict_kunit ================ [14:24:52] ===================== [SKIPPED] xe_bo ====================== [14:24:52] ==================== args (13 subtests) ==================== [14:24:52] [PASSED] count_args_test [14:24:52] [PASSED] call_args_example [14:24:52] [PASSED] call_args_test [14:24:52] [PASSED] drop_first_arg_example [14:24:52] [PASSED] drop_first_arg_test [14:24:52] [PASSED] first_arg_example [14:24:52] [PASSED] first_arg_test [14:24:52] [PASSED] last_arg_example [14:24:52] [PASSED] last_arg_test [14:24:52] [PASSED] pick_arg_example [14:24:52] [PASSED] if_args_example [14:24:52] [PASSED] if_args_test [14:24:52] [PASSED] sep_comma_example [14:24:52] ====================== [PASSED] args ======================= [14:24:52] =================== xe_pci (3 subtests) ==================== [14:24:52] ==================== check_graphics_ip ==================== [14:24:52] [PASSED] 12.00 Xe_LP [14:24:52] [PASSED] 12.10 Xe_LP+ [14:24:52] [PASSED] 12.55 Xe_HPG [14:24:52] [PASSED] 12.60 Xe_HPC [14:24:52] [PASSED] 12.70 Xe_LPG [14:24:52] [PASSED] 12.71 Xe_LPG [14:24:52] [PASSED] 12.74 Xe_LPG+ [14:24:52] [PASSED] 20.01 Xe2_HPG [14:24:52] [PASSED] 20.02 Xe2_HPG [14:24:52] [PASSED] 20.04 Xe2_LPG [14:24:52] [PASSED] 30.00 Xe3_LPG [14:24:52] [PASSED] 30.01 Xe3_LPG [14:24:52] [PASSED] 30.03 Xe3_LPG [14:24:52] [PASSED] 30.04 Xe3_LPG [14:24:52] [PASSED] 30.05 Xe3_LPG [14:24:52] [PASSED] 35.10 Xe3p_LPG [14:24:52] [PASSED] 35.11 Xe3p_XPC [14:24:52] ================ [PASSED] check_graphics_ip ================ [14:24:52] ===================== check_media_ip ====================== [14:24:52] [PASSED] 12.00 Xe_M [14:24:52] [PASSED] 12.55 Xe_HPM [14:24:52] [PASSED] 13.00 Xe_LPM+ [14:24:52] [PASSED] 13.01 Xe2_HPM [14:24:52] [PASSED] 20.00 Xe2_LPM [14:24:52] [PASSED] 30.00 Xe3_LPM [14:24:52] [PASSED] 30.02 Xe3_LPM [14:24:52] [PASSED] 35.00 Xe3p_LPM [14:24:52] [PASSED] 35.03 Xe3p_HPM [14:24:52] ================= [PASSED] check_media_ip ================== [14:24:52] =================== check_platform_desc =================== [14:24:52] [PASSED] 0x9A60 (TIGERLAKE) [14:24:52] [PASSED] 0x9A68 (TIGERLAKE) [14:24:52] [PASSED] 0x9A70 (TIGERLAKE) [14:24:52] [PASSED] 0x9A40 (TIGERLAKE) [14:24:52] [PASSED] 0x9A49 (TIGERLAKE) [14:24:52] [PASSED] 0x9A59 (TIGERLAKE) [14:24:52] [PASSED] 0x9A78 (TIGERLAKE) [14:24:52] [PASSED] 0x9AC0 (TIGERLAKE) [14:24:52] [PASSED] 0x9AC9 (TIGERLAKE) [14:24:52] [PASSED] 0x9AD9 (TIGERLAKE) [14:24:52] [PASSED] 0x9AF8 (TIGERLAKE) [14:24:52] [PASSED] 0x4C80 (ROCKETLAKE) [14:24:52] [PASSED] 0x4C8A (ROCKETLAKE) [14:24:52] [PASSED] 0x4C8B (ROCKETLAKE) [14:24:52] [PASSED] 0x4C8C (ROCKETLAKE) [14:24:52] [PASSED] 0x4C90 (ROCKETLAKE) [14:24:52] [PASSED] 0x4C9A (ROCKETLAKE) [14:24:52] [PASSED] 0x4680 (ALDERLAKE_S) [14:24:52] [PASSED] 0x4682 (ALDERLAKE_S) [14:24:52] [PASSED] 0x4688 (ALDERLAKE_S) [14:24:52] [PASSED] 0x468A (ALDERLAKE_S) [14:24:52] [PASSED] 0x468B (ALDERLAKE_S) [14:24:52] [PASSED] 0x4690 (ALDERLAKE_S) [14:24:52] [PASSED] 0x4692 (ALDERLAKE_S) [14:24:52] [PASSED] 0x4693 (ALDERLAKE_S) [14:24:52] [PASSED] 0x46A0 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46A1 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46A2 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46A3 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46A6 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46A8 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46AA (ALDERLAKE_P) [14:24:52] [PASSED] 0x462A (ALDERLAKE_P) [14:24:52] [PASSED] 0x4626 (ALDERLAKE_P) [14:24:52] [PASSED] 0x4628 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46B0 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46B1 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46B2 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46B3 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46C0 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46C1 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46C2 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46C3 (ALDERLAKE_P) [14:24:52] [PASSED] 0x46D0 (ALDERLAKE_N) [14:24:52] [PASSED] 0x46D1 (ALDERLAKE_N) [14:24:52] [PASSED] 0x46D2 (ALDERLAKE_N) [14:24:52] [PASSED] 0x46D3 (ALDERLAKE_N) [14:24:52] [PASSED] 0x46D4 (ALDERLAKE_N) [14:24:52] [PASSED] 0xA721 (ALDERLAKE_P) [14:24:52] [PASSED] 0xA7A1 (ALDERLAKE_P) [14:24:52] [PASSED] 0xA7A9 (ALDERLAKE_P) [14:24:52] [PASSED] 0xA7AC (ALDERLAKE_P) [14:24:52] [PASSED] 0xA7AD (ALDERLAKE_P) [14:24:52] [PASSED] 0xA720 (ALDERLAKE_P) [14:24:52] [PASSED] 0xA7A0 (ALDERLAKE_P) [14:24:52] [PASSED] 0xA7A8 (ALDERLAKE_P) [14:24:52] [PASSED] 0xA7AA (ALDERLAKE_P) [14:24:52] [PASSED] 0xA7AB (ALDERLAKE_P) [14:24:52] [PASSED] 0xA780 (ALDERLAKE_S) [14:24:52] [PASSED] 0xA781 (ALDERLAKE_S) [14:24:52] [PASSED] 0xA782 (ALDERLAKE_S) [14:24:52] [PASSED] 0xA783 (ALDERLAKE_S) [14:24:52] [PASSED] 0xA788 (ALDERLAKE_S) [14:24:52] [PASSED] 0xA789 (ALDERLAKE_S) [14:24:52] [PASSED] 0xA78A (ALDERLAKE_S) [14:24:52] [PASSED] 0xA78B (ALDERLAKE_S) [14:24:52] [PASSED] 0x4905 (DG1) [14:24:52] [PASSED] 0x4906 (DG1) [14:24:52] [PASSED] 0x4907 (DG1) [14:24:52] [PASSED] 0x4908 (DG1) [14:24:52] [PASSED] 0x4909 (DG1) [14:24:52] [PASSED] 0x56C0 (DG2) [14:24:52] [PASSED] 0x56C2 (DG2) [14:24:52] [PASSED] 0x56C1 (DG2) [14:24:52] [PASSED] 0x7D51 (METEORLAKE) [14:24:52] [PASSED] 0x7DD1 (METEORLAKE) [14:24:52] [PASSED] 0x7D41 (METEORLAKE) [14:24:52] [PASSED] 0x7D67 (METEORLAKE) [14:24:52] [PASSED] 0xB640 (METEORLAKE) [14:24:52] [PASSED] 0x56A0 (DG2) [14:24:52] [PASSED] 0x56A1 (DG2) [14:24:52] [PASSED] 0x56A2 (DG2) [14:24:52] [PASSED] 0x56BE (DG2) [14:24:52] [PASSED] 0x56BF (DG2) [14:24:52] [PASSED] 0x5690 (DG2) [14:24:52] [PASSED] 0x5691 (DG2) [14:24:52] [PASSED] 0x5692 (DG2) [14:24:52] [PASSED] 0x56A5 (DG2) [14:24:52] [PASSED] 0x56A6 (DG2) [14:24:52] [PASSED] 0x56B0 (DG2) [14:24:52] [PASSED] 0x56B1 (DG2) [14:24:52] [PASSED] 0x56BA (DG2) [14:24:52] [PASSED] 0x56BB (DG2) [14:24:52] [PASSED] 0x56BC (DG2) [14:24:52] [PASSED] 0x56BD (DG2) [14:24:52] [PASSED] 0x5693 (DG2) [14:24:52] [PASSED] 0x5694 (DG2) [14:24:52] [PASSED] 0x5695 (DG2) [14:24:52] [PASSED] 0x56A3 (DG2) [14:24:52] [PASSED] 0x56A4 (DG2) [14:24:52] [PASSED] 0x56B2 (DG2) [14:24:52] [PASSED] 0x56B3 (DG2) [14:24:52] [PASSED] 0x5696 (DG2) [14:24:52] [PASSED] 0x5697 (DG2) [14:24:52] [PASSED] 0xB69 (PVC) [14:24:52] [PASSED] 0xB6E (PVC) [14:24:52] [PASSED] 0xBD4 (PVC) [14:24:52] [PASSED] 0xBD5 (PVC) [14:24:52] [PASSED] 0xBD6 (PVC) [14:24:52] [PASSED] 0xBD7 (PVC) [14:24:52] [PASSED] 0xBD8 (PVC) [14:24:52] [PASSED] 0xBD9 (PVC) [14:24:52] [PASSED] 0xBDA (PVC) [14:24:52] [PASSED] 0xBDB (PVC) [14:24:52] [PASSED] 0xBE0 (PVC) [14:24:52] [PASSED] 0xBE1 (PVC) [14:24:52] [PASSED] 0xBE5 (PVC) [14:24:52] [PASSED] 0x7D40 (METEORLAKE) [14:24:52] [PASSED] 0x7D45 (METEORLAKE) [14:24:52] [PASSED] 0x7D55 (METEORLAKE) [14:24:52] [PASSED] 0x7D60 (METEORLAKE) [14:24:52] [PASSED] 0x7DD5 (METEORLAKE) [14:24:52] [PASSED] 0x6420 (LUNARLAKE) [14:24:52] [PASSED] 0x64A0 (LUNARLAKE) [14:24:52] [PASSED] 0x64B0 (LUNARLAKE) [14:24:52] [PASSED] 0xE202 (BATTLEMAGE) [14:24:52] [PASSED] 0xE209 (BATTLEMAGE) [14:24:52] [PASSED] 0xE20B (BATTLEMAGE) [14:24:52] [PASSED] 0xE20C (BATTLEMAGE) [14:24:52] [PASSED] 0xE20D (BATTLEMAGE) [14:24:52] [PASSED] 0xE210 (BATTLEMAGE) [14:24:52] [PASSED] 0xE211 (BATTLEMAGE) [14:24:52] [PASSED] 0xE212 (BATTLEMAGE) [14:24:52] [PASSED] 0xE216 (BATTLEMAGE) [14:24:52] [PASSED] 0xE220 (BATTLEMAGE) [14:24:52] [PASSED] 0xE221 (BATTLEMAGE) [14:24:52] [PASSED] 0xE222 (BATTLEMAGE) [14:24:52] [PASSED] 0xE223 (BATTLEMAGE) [14:24:52] [PASSED] 0xB080 (PANTHERLAKE) [14:24:52] [PASSED] 0xB081 (PANTHERLAKE) [14:24:52] [PASSED] 0xB082 (PANTHERLAKE) [14:24:52] [PASSED] 0xB083 (PANTHERLAKE) [14:24:52] [PASSED] 0xB084 (PANTHERLAKE) [14:24:52] [PASSED] 0xB085 (PANTHERLAKE) [14:24:52] [PASSED] 0xB086 (PANTHERLAKE) [14:24:52] [PASSED] 0xB087 (PANTHERLAKE) [14:24:52] [PASSED] 0xB08F (PANTHERLAKE) [14:24:52] [PASSED] 0xB090 (PANTHERLAKE) [14:24:52] [PASSED] 0xB0A0 (PANTHERLAKE) [14:24:52] [PASSED] 0xB0B0 (PANTHERLAKE) [14:24:52] [PASSED] 0xFD80 (PANTHERLAKE) [14:24:52] [PASSED] 0xFD81 (PANTHERLAKE) [14:24:52] [PASSED] 0xD740 (NOVALAKE_S) [14:24:52] [PASSED] 0xD741 (NOVALAKE_S) [14:24:52] [PASSED] 0xD742 (NOVALAKE_S) [14:24:52] [PASSED] 0xD743 (NOVALAKE_S) [14:24:52] [PASSED] 0xD744 (NOVALAKE_S) [14:24:52] [PASSED] 0xD745 (NOVALAKE_S) [14:24:52] [PASSED] 0x674C (CRESCENTISLAND) [14:24:52] [PASSED] 0xD750 (NOVALAKE_P) [14:24:52] [PASSED] 0xD751 (NOVALAKE_P) [14:24:52] [PASSED] 0xD752 (NOVALAKE_P) [14:24:52] [PASSED] 0xD753 (NOVALAKE_P) [14:24:52] [PASSED] 0xD754 (NOVALAKE_P) [14:24:52] [PASSED] 0xD755 (NOVALAKE_P) [14:24:52] [PASSED] 0xD756 (NOVALAKE_P) [14:24:52] [PASSED] 0xD757 (NOVALAKE_P) [14:24:52] [PASSED] 0xD75F (NOVALAKE_P) [14:24:52] =============== [PASSED] check_platform_desc =============== [14:24:52] ===================== [PASSED] xe_pci ====================== [14:24:52] =================== xe_rtp (2 subtests) ==================== [14:24:52] =============== xe_rtp_process_to_sr_tests ================ [14:24:52] [PASSED] coalesce-same-reg [14:24:52] [PASSED] no-match-no-add [14:24:52] [PASSED] match-or [14:24:53] [PASSED] match-or-xfail [14:24:53] [PASSED] no-match-no-add-multiple-rules [14:24:53] [PASSED] two-regs-two-entries [14:24:53] [PASSED] clr-one-set-other [14:24:53] [PASSED] set-field [14:24:53] [PASSED] conflict-duplicate stty: 'standard input': Inappropriate ioctl for device [14:24:53] [PASSED] conflict-not-disjoint [14:24:53] [PASSED] conflict-reg-type [14:24:53] =========== [PASSED] xe_rtp_process_to_sr_tests ============ [14:24:53] ================== xe_rtp_process_tests =================== [14:24:53] [PASSED] active1 [14:24:53] [PASSED] active2 [14:24:53] [PASSED] active-inactive [14:24:53] [PASSED] inactive-active [14:24:53] [PASSED] inactive-1st_or_active-inactive [14:24:53] [PASSED] inactive-2nd_or_active-inactive [14:24:53] [PASSED] inactive-last_or_active-inactive [14:24:53] [PASSED] inactive-no_or_active-inactive [14:24:53] ============== [PASSED] xe_rtp_process_tests =============== [14:24:53] ===================== [PASSED] xe_rtp ====================== [14:24:53] ==================== xe_wa (1 subtest) ===================== [14:24:53] ======================== xe_wa_gt ========================= [14:24:53] [PASSED] TIGERLAKE B0 [14:24:53] [PASSED] DG1 A0 [14:24:53] [PASSED] DG1 B0 [14:24:53] [PASSED] ALDERLAKE_S A0 [14:24:53] [PASSED] ALDERLAKE_S B0 [14:24:53] [PASSED] ALDERLAKE_S C0 [14:24:53] [PASSED] ALDERLAKE_S D0 [14:24:53] [PASSED] ALDERLAKE_P A0 [14:24:53] [PASSED] ALDERLAKE_P B0 [14:24:53] [PASSED] ALDERLAKE_P C0 [14:24:53] [PASSED] ALDERLAKE_S RPLS D0 [14:24:53] [PASSED] ALDERLAKE_P RPLU E0 [14:24:53] [PASSED] DG2 G10 C0 [14:24:53] [PASSED] DG2 G11 B1 [14:24:53] [PASSED] DG2 G12 A1 [14:24:53] [PASSED] METEORLAKE 12.70(Xe_LPG) A0 13.00(Xe_LPM+) A0 [14:24:53] [PASSED] METEORLAKE 12.71(Xe_LPG) A0 13.00(Xe_LPM+) A0 [14:24:53] [PASSED] METEORLAKE 12.74(Xe_LPG+) A0 13.00(Xe_LPM+) A0 [14:24:53] [PASSED] LUNARLAKE 20.04(Xe2_LPG) A0 20.00(Xe2_LPM) A0 [14:24:53] [PASSED] LUNARLAKE 20.04(Xe2_LPG) B0 20.00(Xe2_LPM) A0 [14:24:53] [PASSED] BATTLEMAGE 20.01(Xe2_HPG) A0 13.01(Xe2_HPM) A1 [14:24:53] [PASSED] PANTHERLAKE 30.00(Xe3_LPG) A0 30.00(Xe3_LPM) A0 [14:24:53] ==================== [PASSED] xe_wa_gt ===================== [14:24:53] ====================== [PASSED] xe_wa ====================== [14:24:53] ============================================================ [14:24:53] Testing complete. Ran 597 tests: passed: 579, skipped: 18 [14:24:53] Elapsed time: 42.438s total, 4.322s configuring, 37.449s building, 0.621s running + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/tests/.kunitconfig [14:24:53] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [14:24:54] 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=25 [14:25:23] Starting KUnit Kernel (1/1)... [14:25:23] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [14:25:23] ============ drm_test_pick_cmdline (2 subtests) ============ [14:25:23] [PASSED] drm_test_pick_cmdline_res_1920_1080_60 [14:25:23] =============== drm_test_pick_cmdline_named =============== [14:25:23] [PASSED] NTSC [14:25:23] [PASSED] NTSC-J [14:25:23] [PASSED] PAL [14:25:23] [PASSED] PAL-M [14:25:23] =========== [PASSED] drm_test_pick_cmdline_named =========== [14:25:23] ============== [PASSED] drm_test_pick_cmdline ============== [14:25:23] == drm_test_atomic_get_connector_for_encoder (1 subtest) === [14:25:23] [PASSED] drm_test_drm_atomic_get_connector_for_encoder [14:25:23] ==== [PASSED] drm_test_atomic_get_connector_for_encoder ==== [14:25:23] =========== drm_validate_clone_mode (2 subtests) =========== [14:25:23] ============== drm_test_check_in_clone_mode =============== [14:25:23] [PASSED] in_clone_mode [14:25:23] [PASSED] not_in_clone_mode [14:25:23] ========== [PASSED] drm_test_check_in_clone_mode =========== [14:25:23] =============== drm_test_check_valid_clones =============== [14:25:23] [PASSED] not_in_clone_mode [14:25:23] [PASSED] valid_clone [14:25:23] [PASSED] invalid_clone [14:25:23] =========== [PASSED] drm_test_check_valid_clones =========== [14:25:23] ============= [PASSED] drm_validate_clone_mode ============= [14:25:23] ============= drm_validate_modeset (1 subtest) ============= [14:25:23] [PASSED] drm_test_check_connector_changed_modeset [14:25:23] ============== [PASSED] drm_validate_modeset =============== [14:25:23] ====== drm_test_bridge_get_current_state (2 subtests) ====== [14:25:23] [PASSED] drm_test_drm_bridge_get_current_state_atomic [14:25:23] [PASSED] drm_test_drm_bridge_get_current_state_legacy [14:25:23] ======== [PASSED] drm_test_bridge_get_current_state ======== [14:25:23] ====== drm_test_bridge_helper_reset_crtc (3 subtests) ====== [14:25:23] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic [14:25:23] [PASSED] drm_test_drm_bridge_helper_reset_crtc_atomic_disabled [14:25:23] [PASSED] drm_test_drm_bridge_helper_reset_crtc_legacy [14:25:23] ======== [PASSED] drm_test_bridge_helper_reset_crtc ======== [14:25:23] ============== drm_bridge_alloc (2 subtests) =============== [14:25:23] [PASSED] drm_test_drm_bridge_alloc_basic [14:25:23] [PASSED] drm_test_drm_bridge_alloc_get_put [14:25:23] ================ [PASSED] drm_bridge_alloc ================= [14:25:23] ============= drm_cmdline_parser (40 subtests) ============= [14:25:23] [PASSED] drm_test_cmdline_force_d_only [14:25:23] [PASSED] drm_test_cmdline_force_D_only_dvi [14:25:23] [PASSED] drm_test_cmdline_force_D_only_hdmi [14:25:23] [PASSED] drm_test_cmdline_force_D_only_not_digital [14:25:23] [PASSED] drm_test_cmdline_force_e_only [14:25:23] [PASSED] drm_test_cmdline_res [14:25:23] [PASSED] drm_test_cmdline_res_vesa [14:25:23] [PASSED] drm_test_cmdline_res_vesa_rblank [14:25:23] [PASSED] drm_test_cmdline_res_rblank [14:25:23] [PASSED] drm_test_cmdline_res_bpp [14:25:23] [PASSED] drm_test_cmdline_res_refresh [14:25:23] [PASSED] drm_test_cmdline_res_bpp_refresh [14:25:23] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced [14:25:23] [PASSED] drm_test_cmdline_res_bpp_refresh_margins [14:25:23] [PASSED] drm_test_cmdline_res_bpp_refresh_force_off [14:25:23] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on [14:25:23] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_analog [14:25:23] [PASSED] drm_test_cmdline_res_bpp_refresh_force_on_digital [14:25:23] [PASSED] drm_test_cmdline_res_bpp_refresh_interlaced_margins_force_on [14:25:23] [PASSED] drm_test_cmdline_res_margins_force_on [14:25:23] [PASSED] drm_test_cmdline_res_vesa_margins [14:25:23] [PASSED] drm_test_cmdline_name [14:25:23] [PASSED] drm_test_cmdline_name_bpp [14:25:23] [PASSED] drm_test_cmdline_name_option [14:25:23] [PASSED] drm_test_cmdline_name_bpp_option [14:25:23] [PASSED] drm_test_cmdline_rotate_0 [14:25:23] [PASSED] drm_test_cmdline_rotate_90 [14:25:23] [PASSED] drm_test_cmdline_rotate_180 [14:25:23] [PASSED] drm_test_cmdline_rotate_270 [14:25:23] [PASSED] drm_test_cmdline_hmirror [14:25:23] [PASSED] drm_test_cmdline_vmirror [14:25:23] [PASSED] drm_test_cmdline_margin_options [14:25:23] [PASSED] drm_test_cmdline_multiple_options [14:25:23] [PASSED] drm_test_cmdline_bpp_extra_and_option [14:25:23] [PASSED] drm_test_cmdline_extra_and_option [14:25:23] [PASSED] drm_test_cmdline_freestanding_options [14:25:23] [PASSED] drm_test_cmdline_freestanding_force_e_and_options [14:25:23] [PASSED] drm_test_cmdline_panel_orientation [14:25:23] ================ drm_test_cmdline_invalid ================= [14:25:23] [PASSED] margin_only [14:25:23] [PASSED] interlace_only [14:25:23] [PASSED] res_missing_x [14:25:23] [PASSED] res_missing_y [14:25:23] [PASSED] res_bad_y [14:25:23] [PASSED] res_missing_y_bpp [14:25:23] [PASSED] res_bad_bpp [14:25:23] [PASSED] res_bad_refresh [14:25:23] [PASSED] res_bpp_refresh_force_on_off [14:25:23] [PASSED] res_invalid_mode [14:25:23] [PASSED] res_bpp_wrong_place_mode [14:25:23] [PASSED] name_bpp_refresh [14:25:23] [PASSED] name_refresh [14:25:23] [PASSED] name_refresh_wrong_mode [14:25:23] [PASSED] name_refresh_invalid_mode [14:25:23] [PASSED] rotate_multiple [14:25:23] [PASSED] rotate_invalid_val [14:25:23] [PASSED] rotate_truncated [14:25:23] [PASSED] invalid_option [14:25:23] [PASSED] invalid_tv_option [14:25:23] [PASSED] truncated_tv_option [14:25:23] ============ [PASSED] drm_test_cmdline_invalid ============= [14:25:23] =============== drm_test_cmdline_tv_options =============== [14:25:23] [PASSED] NTSC [14:25:23] [PASSED] NTSC_443 [14:25:23] [PASSED] NTSC_J [14:25:23] [PASSED] PAL [14:25:23] [PASSED] PAL_M [14:25:23] [PASSED] PAL_N [14:25:23] [PASSED] SECAM [14:25:23] [PASSED] MONO_525 [14:25:23] [PASSED] MONO_625 [14:25:23] =========== [PASSED] drm_test_cmdline_tv_options =========== [14:25:23] =============== [PASSED] drm_cmdline_parser ================ [14:25:23] ========== drmm_connector_hdmi_init (20 subtests) ========== [14:25:23] [PASSED] drm_test_connector_hdmi_init_valid [14:25:23] [PASSED] drm_test_connector_hdmi_init_bpc_8 [14:25:23] [PASSED] drm_test_connector_hdmi_init_bpc_10 [14:25:23] [PASSED] drm_test_connector_hdmi_init_bpc_12 [14:25:23] [PASSED] drm_test_connector_hdmi_init_bpc_invalid [14:25:23] [PASSED] drm_test_connector_hdmi_init_bpc_null [14:25:23] [PASSED] drm_test_connector_hdmi_init_formats_empty [14:25:23] [PASSED] drm_test_connector_hdmi_init_formats_no_rgb [14:25:23] === drm_test_connector_hdmi_init_formats_yuv420_allowed === [14:25:23] [PASSED] supported_formats=0x9 yuv420_allowed=1 [14:25:23] [PASSED] supported_formats=0x9 yuv420_allowed=0 [14:25:23] [PASSED] supported_formats=0x3 yuv420_allowed=1 [14:25:23] [PASSED] supported_formats=0x3 yuv420_allowed=0 [14:25:23] === [PASSED] drm_test_connector_hdmi_init_formats_yuv420_allowed === [14:25:23] [PASSED] drm_test_connector_hdmi_init_null_ddc [14:25:23] [PASSED] drm_test_connector_hdmi_init_null_product [14:25:23] [PASSED] drm_test_connector_hdmi_init_null_vendor [14:25:23] [PASSED] drm_test_connector_hdmi_init_product_length_exact [14:25:23] [PASSED] drm_test_connector_hdmi_init_product_length_too_long [14:25:23] [PASSED] drm_test_connector_hdmi_init_product_valid [14:25:23] [PASSED] drm_test_connector_hdmi_init_vendor_length_exact [14:25:23] [PASSED] drm_test_connector_hdmi_init_vendor_length_too_long [14:25:23] [PASSED] drm_test_connector_hdmi_init_vendor_valid [14:25:23] ========= drm_test_connector_hdmi_init_type_valid ========= [14:25:23] [PASSED] HDMI-A [14:25:23] [PASSED] HDMI-B [14:25:23] ===== [PASSED] drm_test_connector_hdmi_init_type_valid ===== [14:25:23] ======== drm_test_connector_hdmi_init_type_invalid ======== [14:25:23] [PASSED] Unknown [14:25:23] [PASSED] VGA [14:25:23] [PASSED] DVI-I [14:25:23] [PASSED] DVI-D [14:25:23] [PASSED] DVI-A [14:25:23] [PASSED] Composite [14:25:23] [PASSED] SVIDEO [14:25:23] [PASSED] LVDS [14:25:23] [PASSED] Component [14:25:23] [PASSED] DIN [14:25:23] [PASSED] DP [14:25:23] [PASSED] TV [14:25:23] [PASSED] eDP [14:25:23] [PASSED] Virtual [14:25:23] [PASSED] DSI [14:25:23] [PASSED] DPI [14:25:23] [PASSED] Writeback [14:25:23] [PASSED] SPI [14:25:23] [PASSED] USB [14:25:23] ==== [PASSED] drm_test_connector_hdmi_init_type_invalid ==== [14:25:23] ============ [PASSED] drmm_connector_hdmi_init ============= [14:25:23] ============= drmm_connector_init (3 subtests) ============= [14:25:23] [PASSED] drm_test_drmm_connector_init [14:25:23] [PASSED] drm_test_drmm_connector_init_null_ddc [14:25:23] ========= drm_test_drmm_connector_init_type_valid ========= [14:25:23] [PASSED] Unknown [14:25:23] [PASSED] VGA [14:25:23] [PASSED] DVI-I [14:25:23] [PASSED] DVI-D [14:25:23] [PASSED] DVI-A [14:25:23] [PASSED] Composite [14:25:23] [PASSED] SVIDEO [14:25:23] [PASSED] LVDS [14:25:23] [PASSED] Component [14:25:23] [PASSED] DIN [14:25:23] [PASSED] DP [14:25:23] [PASSED] HDMI-A [14:25:23] [PASSED] HDMI-B [14:25:23] [PASSED] TV [14:25:23] [PASSED] eDP [14:25:23] [PASSED] Virtual [14:25:23] [PASSED] DSI [14:25:23] [PASSED] DPI [14:25:23] [PASSED] Writeback [14:25:23] [PASSED] SPI [14:25:23] [PASSED] USB [14:25:23] ===== [PASSED] drm_test_drmm_connector_init_type_valid ===== [14:25:23] =============== [PASSED] drmm_connector_init =============== [14:25:23] ========= drm_connector_dynamic_init (6 subtests) ========== [14:25:23] [PASSED] drm_test_drm_connector_dynamic_init [14:25:23] [PASSED] drm_test_drm_connector_dynamic_init_null_ddc [14:25:23] [PASSED] drm_test_drm_connector_dynamic_init_not_added [14:25:23] [PASSED] drm_test_drm_connector_dynamic_init_properties [14:25:23] ===== drm_test_drm_connector_dynamic_init_type_valid ====== [14:25:23] [PASSED] Unknown [14:25:23] [PASSED] VGA [14:25:23] [PASSED] DVI-I [14:25:23] [PASSED] DVI-D [14:25:23] [PASSED] DVI-A [14:25:23] [PASSED] Composite [14:25:23] [PASSED] SVIDEO [14:25:23] [PASSED] LVDS [14:25:23] [PASSED] Component [14:25:23] [PASSED] DIN [14:25:23] [PASSED] DP [14:25:23] [PASSED] HDMI-A [14:25:23] [PASSED] HDMI-B [14:25:23] [PASSED] TV [14:25:23] [PASSED] eDP [14:25:23] [PASSED] Virtual [14:25:23] [PASSED] DSI [14:25:23] [PASSED] DPI [14:25:23] [PASSED] Writeback [14:25:23] [PASSED] SPI [14:25:23] [PASSED] USB [14:25:23] = [PASSED] drm_test_drm_connector_dynamic_init_type_valid == [14:25:23] ======== drm_test_drm_connector_dynamic_init_name ========= [14:25:23] [PASSED] Unknown [14:25:23] [PASSED] VGA [14:25:23] [PASSED] DVI-I [14:25:23] [PASSED] DVI-D [14:25:23] [PASSED] DVI-A [14:25:23] [PASSED] Composite [14:25:23] [PASSED] SVIDEO [14:25:23] [PASSED] LVDS [14:25:23] [PASSED] Component [14:25:23] [PASSED] DIN [14:25:23] [PASSED] DP [14:25:23] [PASSED] HDMI-A [14:25:23] [PASSED] HDMI-B [14:25:23] [PASSED] TV [14:25:23] [PASSED] eDP [14:25:23] [PASSED] Virtual [14:25:23] [PASSED] DSI [14:25:23] [PASSED] DPI [14:25:23] [PASSED] Writeback [14:25:23] [PASSED] SPI [14:25:23] [PASSED] USB [14:25:23] ==== [PASSED] drm_test_drm_connector_dynamic_init_name ===== [14:25:23] =========== [PASSED] drm_connector_dynamic_init ============ [14:25:23] ==== drm_connector_dynamic_register_early (4 subtests) ===== [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_early_on_list [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_early_defer [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_early_no_init [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_early_no_mode_object [14:25:23] ====== [PASSED] drm_connector_dynamic_register_early ======= [14:25:23] ======= drm_connector_dynamic_register (7 subtests) ======== [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_on_list [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_no_defer [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_no_init [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_mode_object [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_sysfs [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_sysfs_name [14:25:23] [PASSED] drm_test_drm_connector_dynamic_register_debugfs [14:25:23] ========= [PASSED] drm_connector_dynamic_register ========== [14:25:23] = drm_connector_attach_broadcast_rgb_property (2 subtests) = [14:25:23] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property [14:25:23] [PASSED] drm_test_drm_connector_attach_broadcast_rgb_property_hdmi_connector [14:25:23] === [PASSED] drm_connector_attach_broadcast_rgb_property === [14:25:23] ========== drm_get_tv_mode_from_name (2 subtests) ========== [14:25:23] ========== drm_test_get_tv_mode_from_name_valid =========== [14:25:23] [PASSED] NTSC [14:25:23] [PASSED] NTSC-443 [14:25:23] [PASSED] NTSC-J [14:25:23] [PASSED] PAL [14:25:23] [PASSED] PAL-M [14:25:23] [PASSED] PAL-N [14:25:23] [PASSED] SECAM [14:25:23] [PASSED] Mono [14:25:23] ====== [PASSED] drm_test_get_tv_mode_from_name_valid ======= [14:25:23] [PASSED] drm_test_get_tv_mode_from_name_truncated [14:25:23] ============ [PASSED] drm_get_tv_mode_from_name ============ [14:25:23] = drm_test_connector_hdmi_compute_mode_clock (12 subtests) = [14:25:23] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb [14:25:23] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc [14:25:23] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_10bpc_vic_1 [14:25:23] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc [14:25:23] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_12bpc_vic_1 [14:25:23] [PASSED] drm_test_drm_hdmi_compute_mode_clock_rgb_double [14:25:23] = drm_test_connector_hdmi_compute_mode_clock_yuv420_valid = [14:25:23] [PASSED] VIC 96 [14:25:23] [PASSED] VIC 97 [14:25:23] [PASSED] VIC 101 [14:25:23] [PASSED] VIC 102 [14:25:23] [PASSED] VIC 106 [14:25:23] [PASSED] VIC 107 [14:25:23] === [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_valid === [14:25:23] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_10_bpc [14:25:23] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv420_12_bpc [14:25:23] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_8_bpc [14:25:23] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_10_bpc [14:25:23] [PASSED] drm_test_connector_hdmi_compute_mode_clock_yuv422_12_bpc [14:25:23] === [PASSED] drm_test_connector_hdmi_compute_mode_clock ==== [14:25:23] == drm_hdmi_connector_get_broadcast_rgb_name (2 subtests) == [14:25:23] === drm_test_drm_hdmi_connector_get_broadcast_rgb_name ==== [14:25:23] [PASSED] Automatic [14:25:23] [PASSED] Full [14:25:23] [PASSED] Limited 16:235 [14:25:23] === [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name === [14:25:23] [PASSED] drm_test_drm_hdmi_connector_get_broadcast_rgb_name_invalid [14:25:23] ==== [PASSED] drm_hdmi_connector_get_broadcast_rgb_name ==== [14:25:23] == drm_hdmi_connector_get_output_format_name (2 subtests) == [14:25:23] === drm_test_drm_hdmi_connector_get_output_format_name ==== [14:25:23] [PASSED] RGB [14:25:23] [PASSED] YUV 4:2:0 [14:25:23] [PASSED] YUV 4:2:2 [14:25:23] [PASSED] YUV 4:4:4 [14:25:23] === [PASSED] drm_test_drm_hdmi_connector_get_output_format_name === [14:25:23] [PASSED] drm_test_drm_hdmi_connector_get_output_format_name_invalid [14:25:23] ==== [PASSED] drm_hdmi_connector_get_output_format_name ==== [14:25:23] ============= drm_damage_helper (21 subtests) ============== [14:25:23] [PASSED] drm_test_damage_iter_no_damage [14:25:23] [PASSED] drm_test_damage_iter_no_damage_fractional_src [14:25:23] [PASSED] drm_test_damage_iter_no_damage_src_moved [14:25:23] [PASSED] drm_test_damage_iter_no_damage_fractional_src_moved [14:25:23] [PASSED] drm_test_damage_iter_no_damage_not_visible [14:25:23] [PASSED] drm_test_damage_iter_no_damage_no_crtc [14:25:23] [PASSED] drm_test_damage_iter_no_damage_no_fb [14:25:23] [PASSED] drm_test_damage_iter_simple_damage [14:25:23] [PASSED] drm_test_damage_iter_single_damage [14:25:23] [PASSED] drm_test_damage_iter_single_damage_intersect_src [14:25:23] [PASSED] drm_test_damage_iter_single_damage_outside_src [14:25:23] [PASSED] drm_test_damage_iter_single_damage_fractional_src [14:25:23] [PASSED] drm_test_damage_iter_single_damage_intersect_fractional_src [14:25:23] [PASSED] drm_test_damage_iter_single_damage_outside_fractional_src [14:25:23] [PASSED] drm_test_damage_iter_single_damage_src_moved [14:25:23] [PASSED] drm_test_damage_iter_single_damage_fractional_src_moved [14:25:23] [PASSED] drm_test_damage_iter_damage [14:25:23] [PASSED] drm_test_damage_iter_damage_one_intersect [14:25:23] [PASSED] drm_test_damage_iter_damage_one_outside [14:25:23] [PASSED] drm_test_damage_iter_damage_src_moved [14:25:23] [PASSED] drm_test_damage_iter_damage_not_visible [14:25:23] ================ [PASSED] drm_damage_helper ================ [14:25:23] ============== drm_dp_mst_helper (3 subtests) ============== [14:25:23] ============== drm_test_dp_mst_calc_pbn_mode ============== [14:25:23] [PASSED] Clock 154000 BPP 30 DSC disabled [14:25:23] [PASSED] Clock 234000 BPP 30 DSC disabled [14:25:23] [PASSED] Clock 297000 BPP 24 DSC disabled [14:25:23] [PASSED] Clock 332880 BPP 24 DSC enabled [14:25:23] [PASSED] Clock 324540 BPP 24 DSC enabled [14:25:23] ========== [PASSED] drm_test_dp_mst_calc_pbn_mode ========== [14:25:23] ============== drm_test_dp_mst_calc_pbn_div =============== [14:25:23] [PASSED] Link rate 2000000 lane count 4 [14:25:23] [PASSED] Link rate 2000000 lane count 2 [14:25:23] [PASSED] Link rate 2000000 lane count 1 [14:25:23] [PASSED] Link rate 1350000 lane count 4 [14:25:23] [PASSED] Link rate 1350000 lane count 2 [14:25:23] [PASSED] Link rate 1350000 lane count 1 [14:25:23] [PASSED] Link rate 1000000 lane count 4 [14:25:23] [PASSED] Link rate 1000000 lane count 2 [14:25:23] [PASSED] Link rate 1000000 lane count 1 [14:25:23] [PASSED] Link rate 810000 lane count 4 [14:25:23] [PASSED] Link rate 810000 lane count 2 [14:25:23] [PASSED] Link rate 810000 lane count 1 [14:25:23] [PASSED] Link rate 540000 lane count 4 [14:25:23] [PASSED] Link rate 540000 lane count 2 [14:25:23] [PASSED] Link rate 540000 lane count 1 [14:25:23] [PASSED] Link rate 270000 lane count 4 [14:25:23] [PASSED] Link rate 270000 lane count 2 [14:25:23] [PASSED] Link rate 270000 lane count 1 [14:25:23] [PASSED] Link rate 162000 lane count 4 [14:25:23] [PASSED] Link rate 162000 lane count 2 [14:25:23] [PASSED] Link rate 162000 lane count 1 [14:25:23] ========== [PASSED] drm_test_dp_mst_calc_pbn_div =========== [14:25:23] ========= drm_test_dp_mst_sideband_msg_req_decode ========= [14:25:23] [PASSED] DP_ENUM_PATH_RESOURCES with port number [14:25:23] [PASSED] DP_POWER_UP_PHY with port number [14:25:23] [PASSED] DP_POWER_DOWN_PHY with port number [14:25:23] [PASSED] DP_ALLOCATE_PAYLOAD with SDP stream sinks [14:25:23] [PASSED] DP_ALLOCATE_PAYLOAD with port number [14:25:23] [PASSED] DP_ALLOCATE_PAYLOAD with VCPI [14:25:23] [PASSED] DP_ALLOCATE_PAYLOAD with PBN [14:25:23] [PASSED] DP_QUERY_PAYLOAD with port number [14:25:23] [PASSED] DP_QUERY_PAYLOAD with VCPI [14:25:23] [PASSED] DP_REMOTE_DPCD_READ with port number [14:25:23] [PASSED] DP_REMOTE_DPCD_READ with DPCD address [14:25:23] [PASSED] DP_REMOTE_DPCD_READ with max number of bytes [14:25:23] [PASSED] DP_REMOTE_DPCD_WRITE with port number [14:25:23] [PASSED] DP_REMOTE_DPCD_WRITE with DPCD address [14:25:23] [PASSED] DP_REMOTE_DPCD_WRITE with data array [14:25:23] [PASSED] DP_REMOTE_I2C_READ with port number [14:25:23] [PASSED] DP_REMOTE_I2C_READ with I2C device ID [14:25:23] [PASSED] DP_REMOTE_I2C_READ with transactions array [14:25:23] [PASSED] DP_REMOTE_I2C_WRITE with port number [14:25:23] [PASSED] DP_REMOTE_I2C_WRITE with I2C device ID [14:25:23] [PASSED] DP_REMOTE_I2C_WRITE with data array [14:25:23] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream ID [14:25:23] [PASSED] DP_QUERY_STREAM_ENC_STATUS with client ID [14:25:23] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream event [14:25:23] [PASSED] DP_QUERY_STREAM_ENC_STATUS with valid stream event [14:25:23] [PASSED] DP_QUERY_STREAM_ENC_STATUS with stream behavior [14:25:23] [PASSED] DP_QUERY_STREAM_ENC_STATUS with a valid stream behavior [14:25:23] ===== [PASSED] drm_test_dp_mst_sideband_msg_req_decode ===== [14:25:23] ================ [PASSED] drm_dp_mst_helper ================ [14:25:23] ================== drm_exec (7 subtests) =================== [14:25:23] [PASSED] sanitycheck [14:25:23] [PASSED] test_lock [14:25:23] [PASSED] test_lock_unlock [14:25:23] [PASSED] test_duplicates [14:25:23] [PASSED] test_prepare [14:25:23] [PASSED] test_prepare_array [14:25:23] [PASSED] test_multiple_loops [14:25:23] ==================== [PASSED] drm_exec ===================== [14:25:23] =========== drm_format_helper_test (17 subtests) =========== [14:25:23] ============== drm_test_fb_xrgb8888_to_gray8 ============== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ========== [PASSED] drm_test_fb_xrgb8888_to_gray8 ========== [14:25:23] ============= drm_test_fb_xrgb8888_to_rgb332 ============== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb332 ========== [14:25:23] ============= drm_test_fb_xrgb8888_to_rgb565 ============== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb565 ========== [14:25:23] ============ drm_test_fb_xrgb8888_to_xrgb1555 ============= [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ======== [PASSED] drm_test_fb_xrgb8888_to_xrgb1555 ========= [14:25:23] ============ drm_test_fb_xrgb8888_to_argb1555 ============= [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ======== [PASSED] drm_test_fb_xrgb8888_to_argb1555 ========= [14:25:23] ============ drm_test_fb_xrgb8888_to_rgba5551 ============= [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ======== [PASSED] drm_test_fb_xrgb8888_to_rgba5551 ========= [14:25:23] ============= drm_test_fb_xrgb8888_to_rgb888 ============== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ========= [PASSED] drm_test_fb_xrgb8888_to_rgb888 ========== [14:25:23] ============= drm_test_fb_xrgb8888_to_bgr888 ============== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ========= [PASSED] drm_test_fb_xrgb8888_to_bgr888 ========== [14:25:23] ============ drm_test_fb_xrgb8888_to_argb8888 ============= [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ======== [PASSED] drm_test_fb_xrgb8888_to_argb8888 ========= [14:25:23] =========== drm_test_fb_xrgb8888_to_xrgb2101010 =========== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ======= [PASSED] drm_test_fb_xrgb8888_to_xrgb2101010 ======= [14:25:23] =========== drm_test_fb_xrgb8888_to_argb2101010 =========== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ======= [PASSED] drm_test_fb_xrgb8888_to_argb2101010 ======= [14:25:23] ============== drm_test_fb_xrgb8888_to_mono =============== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ========== [PASSED] drm_test_fb_xrgb8888_to_mono =========== [14:25:23] ==================== drm_test_fb_swab ===================== [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ================ [PASSED] drm_test_fb_swab ================= [14:25:23] ============ drm_test_fb_xrgb8888_to_xbgr8888 ============= [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ======== [PASSED] drm_test_fb_xrgb8888_to_xbgr8888 ========= [14:25:23] ============ drm_test_fb_xrgb8888_to_abgr8888 ============= [14:25:23] [PASSED] single_pixel_source_buffer [14:25:23] [PASSED] single_pixel_clip_rectangle [14:25:23] [PASSED] well_known_colors [14:25:23] [PASSED] destination_pitch [14:25:23] ======== [PASSED] drm_test_fb_xrgb8888_to_abgr8888 ========= [14:25:23] ================= drm_test_fb_clip_offset ================= [14:25:23] [PASSED] pass through [14:25:23] [PASSED] horizontal offset [14:25:23] [PASSED] vertical offset [14:25:23] [PASSED] horizontal and vertical offset [14:25:23] [PASSED] horizontal offset (custom pitch) [14:25:23] [PASSED] vertical offset (custom pitch) [14:25:23] [PASSED] horizontal and vertical offset (custom pitch) [14:25:23] ============= [PASSED] drm_test_fb_clip_offset ============= [14:25:23] =================== drm_test_fb_memcpy ==================== [14:25:23] [PASSED] single_pixel_source_buffer: XR24 little-endian (0x34325258) [14:25:23] [PASSED] single_pixel_source_buffer: XRA8 little-endian (0x38415258) [14:25:23] [PASSED] single_pixel_source_buffer: YU24 little-endian (0x34325559) [14:25:23] [PASSED] single_pixel_clip_rectangle: XB24 little-endian (0x34324258) [14:25:23] [PASSED] single_pixel_clip_rectangle: XRA8 little-endian (0x38415258) [14:25:23] [PASSED] single_pixel_clip_rectangle: YU24 little-endian (0x34325559) [14:25:23] [PASSED] well_known_colors: XB24 little-endian (0x34324258) [14:25:23] [PASSED] well_known_colors: XRA8 little-endian (0x38415258) [14:25:23] [PASSED] well_known_colors: YU24 little-endian (0x34325559) [14:25:23] [PASSED] destination_pitch: XB24 little-endian (0x34324258) [14:25:23] [PASSED] destination_pitch: XRA8 little-endian (0x38415258) [14:25:23] [PASSED] destination_pitch: YU24 little-endian (0x34325559) [14:25:23] =============== [PASSED] drm_test_fb_memcpy ================ [14:25:23] ============= [PASSED] drm_format_helper_test ============== [14:25:23] ================= drm_format (18 subtests) ================= [14:25:23] [PASSED] drm_test_format_block_width_invalid [14:25:23] [PASSED] drm_test_format_block_width_one_plane [14:25:23] [PASSED] drm_test_format_block_width_two_plane [14:25:23] [PASSED] drm_test_format_block_width_three_plane [14:25:23] [PASSED] drm_test_format_block_width_tiled [14:25:23] [PASSED] drm_test_format_block_height_invalid [14:25:23] [PASSED] drm_test_format_block_height_one_plane [14:25:23] [PASSED] drm_test_format_block_height_two_plane [14:25:23] [PASSED] drm_test_format_block_height_three_plane [14:25:23] [PASSED] drm_test_format_block_height_tiled [14:25:23] [PASSED] drm_test_format_min_pitch_invalid [14:25:23] [PASSED] drm_test_format_min_pitch_one_plane_8bpp [14:25:23] [PASSED] drm_test_format_min_pitch_one_plane_16bpp [14:25:23] [PASSED] drm_test_format_min_pitch_one_plane_24bpp [14:25:23] [PASSED] drm_test_format_min_pitch_one_plane_32bpp [14:25:23] [PASSED] drm_test_format_min_pitch_two_plane [14:25:23] [PASSED] drm_test_format_min_pitch_three_plane_8bpp [14:25:23] [PASSED] drm_test_format_min_pitch_tiled [14:25:23] =================== [PASSED] drm_format ==================== [14:25:23] ============== drm_framebuffer (10 subtests) =============== [14:25:23] ========== drm_test_framebuffer_check_src_coords ========== [14:25:23] [PASSED] Success: source fits into fb [14:25:23] [PASSED] Fail: overflowing fb with x-axis coordinate [14:25:23] [PASSED] Fail: overflowing fb with y-axis coordinate [14:25:23] [PASSED] Fail: overflowing fb with source width [14:25:23] [PASSED] Fail: overflowing fb with source height [14:25:23] ====== [PASSED] drm_test_framebuffer_check_src_coords ====== [14:25:23] [PASSED] drm_test_framebuffer_cleanup [14:25:23] =============== drm_test_framebuffer_create =============== [14:25:23] [PASSED] ABGR8888 normal sizes [14:25:23] [PASSED] ABGR8888 max sizes [14:25:23] [PASSED] ABGR8888 pitch greater than min required [14:25:23] [PASSED] ABGR8888 pitch less than min required [14:25:23] [PASSED] ABGR8888 Invalid width [14:25:23] [PASSED] ABGR8888 Invalid buffer handle [14:25:23] [PASSED] No pixel format [14:25:23] [PASSED] ABGR8888 Width 0 [14:25:23] [PASSED] ABGR8888 Height 0 [14:25:23] [PASSED] ABGR8888 Out of bound height * pitch combination [14:25:23] [PASSED] ABGR8888 Large buffer offset [14:25:23] [PASSED] ABGR8888 Buffer offset for inexistent plane [14:25:23] [PASSED] ABGR8888 Invalid flag [14:25:23] [PASSED] ABGR8888 Set DRM_MODE_FB_MODIFIERS without modifiers [14:25:23] [PASSED] ABGR8888 Valid buffer modifier [14:25:23] [PASSED] ABGR8888 Invalid buffer modifier(DRM_FORMAT_MOD_SAMSUNG_64_32_TILE) [14:25:23] [PASSED] ABGR8888 Extra pitches without DRM_MODE_FB_MODIFIERS [14:25:23] [PASSED] ABGR8888 Extra pitches with DRM_MODE_FB_MODIFIERS [14:25:23] [PASSED] NV12 Normal sizes [14:25:23] [PASSED] NV12 Max sizes [14:25:23] [PASSED] NV12 Invalid pitch [14:25:23] [PASSED] NV12 Invalid modifier/missing DRM_MODE_FB_MODIFIERS flag [14:25:23] [PASSED] NV12 different modifier per-plane [14:25:23] [PASSED] NV12 with DRM_FORMAT_MOD_SAMSUNG_64_32_TILE [14:25:23] [PASSED] NV12 Valid modifiers without DRM_MODE_FB_MODIFIERS [14:25:23] [PASSED] NV12 Modifier for inexistent plane [14:25:23] [PASSED] NV12 Handle for inexistent plane [14:25:23] [PASSED] NV12 Handle for inexistent plane without DRM_MODE_FB_MODIFIERS [14:25:23] [PASSED] YVU420 DRM_MODE_FB_MODIFIERS set without modifier [14:25:23] [PASSED] YVU420 Normal sizes [14:25:23] [PASSED] YVU420 Max sizes [14:25:23] [PASSED] YVU420 Invalid pitch [14:25:23] [PASSED] YVU420 Different pitches [14:25:23] [PASSED] YVU420 Different buffer offsets/pitches [14:25:23] [PASSED] YVU420 Modifier set just for plane 0, without DRM_MODE_FB_MODIFIERS [14:25:23] [PASSED] YVU420 Modifier set just for planes 0, 1, without DRM_MODE_FB_MODIFIERS [14:25:23] [PASSED] YVU420 Modifier set just for plane 0, 1, with DRM_MODE_FB_MODIFIERS [14:25:23] [PASSED] YVU420 Valid modifier [14:25:23] [PASSED] YVU420 Different modifiers per plane [14:25:23] [PASSED] YVU420 Modifier for inexistent plane [14:25:23] [PASSED] YUV420_10BIT Invalid modifier(DRM_FORMAT_MOD_LINEAR) [14:25:23] [PASSED] X0L2 Normal sizes [14:25:23] [PASSED] X0L2 Max sizes [14:25:23] [PASSED] X0L2 Invalid pitch [14:25:23] [PASSED] X0L2 Pitch greater than minimum required [14:25:23] [PASSED] X0L2 Handle for inexistent plane [14:25:23] [PASSED] X0L2 Offset for inexistent plane, without DRM_MODE_FB_MODIFIERS set [14:25:23] [PASSED] X0L2 Modifier without DRM_MODE_FB_MODIFIERS set [14:25:23] [PASSED] X0L2 Valid modifier [14:25:23] [PASSED] X0L2 Modifier for inexistent plane [14:25:23] =========== [PASSED] drm_test_framebuffer_create =========== [14:25:23] [PASSED] drm_test_framebuffer_free [14:25:23] [PASSED] drm_test_framebuffer_init [14:25:23] [PASSED] drm_test_framebuffer_init_bad_format [14:25:23] [PASSED] drm_test_framebuffer_init_dev_mismatch [14:25:23] [PASSED] drm_test_framebuffer_lookup [14:25:23] [PASSED] drm_test_framebuffer_lookup_inexistent [14:25:23] [PASSED] drm_test_framebuffer_modifiers_not_supported [14:25:23] ================= [PASSED] drm_framebuffer ================= [14:25:23] ================ drm_gem_shmem (8 subtests) ================ [14:25:23] [PASSED] drm_gem_shmem_test_obj_create [14:25:23] [PASSED] drm_gem_shmem_test_obj_create_private [14:25:23] [PASSED] drm_gem_shmem_test_pin_pages [14:25:23] [PASSED] drm_gem_shmem_test_vmap [14:25:23] [PASSED] drm_gem_shmem_test_get_sg_table [14:25:23] [PASSED] drm_gem_shmem_test_get_pages_sgt [14:25:23] [PASSED] drm_gem_shmem_test_madvise [14:25:23] [PASSED] drm_gem_shmem_test_purge [14:25:23] ================== [PASSED] drm_gem_shmem ================== [14:25:23] === drm_atomic_helper_connector_hdmi_check (27 subtests) === [14:25:23] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode [14:25:23] [PASSED] drm_test_check_broadcast_rgb_auto_cea_mode_vic_1 [14:25:23] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode [14:25:23] [PASSED] drm_test_check_broadcast_rgb_full_cea_mode_vic_1 [14:25:23] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode [14:25:23] [PASSED] drm_test_check_broadcast_rgb_limited_cea_mode_vic_1 [14:25:23] ====== drm_test_check_broadcast_rgb_cea_mode_yuv420 ======= [14:25:23] [PASSED] Automatic [14:25:23] [PASSED] Full [14:25:23] [PASSED] Limited 16:235 [14:25:23] == [PASSED] drm_test_check_broadcast_rgb_cea_mode_yuv420 === [14:25:23] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_changed [14:25:23] [PASSED] drm_test_check_broadcast_rgb_crtc_mode_not_changed [14:25:23] [PASSED] drm_test_check_disable_connector [14:25:23] [PASSED] drm_test_check_hdmi_funcs_reject_rate [14:25:23] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_rgb [14:25:23] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_yuv420 [14:25:23] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv422 [14:25:23] [PASSED] drm_test_check_max_tmds_rate_bpc_fallback_ignore_yuv420 [14:25:23] [PASSED] drm_test_check_driver_unsupported_fallback_yuv420 [14:25:23] [PASSED] drm_test_check_output_bpc_crtc_mode_changed [14:25:23] [PASSED] drm_test_check_output_bpc_crtc_mode_not_changed [14:25:23] [PASSED] drm_test_check_output_bpc_dvi [14:25:23] [PASSED] drm_test_check_output_bpc_format_vic_1 [14:25:23] [PASSED] drm_test_check_output_bpc_format_display_8bpc_only [14:25:23] [PASSED] drm_test_check_output_bpc_format_display_rgb_only [14:25:23] [PASSED] drm_test_check_output_bpc_format_driver_8bpc_only [14:25:23] [PASSED] drm_test_check_output_bpc_format_driver_rgb_only [14:25:23] [PASSED] drm_test_check_tmds_char_rate_rgb_8bpc [14:25:23] [PASSED] drm_test_check_tmds_char_rate_rgb_10bpc [14:25:23] [PASSED] drm_test_check_tmds_char_rate_rgb_12bpc [14:25:23] ===== [PASSED] drm_atomic_helper_connector_hdmi_check ====== [14:25:23] === drm_atomic_helper_connector_hdmi_reset (6 subtests) ==== [14:25:23] [PASSED] drm_test_check_broadcast_rgb_value [14:25:23] [PASSED] drm_test_check_bpc_8_value [14:25:23] [PASSED] drm_test_check_bpc_10_value [14:25:23] [PASSED] drm_test_check_bpc_12_value [14:25:23] [PASSED] drm_test_check_format_value [14:25:23] [PASSED] drm_test_check_tmds_char_value [14:25:23] ===== [PASSED] drm_atomic_helper_connector_hdmi_reset ====== [14:25:23] = drm_atomic_helper_connector_hdmi_mode_valid (4 subtests) = [14:25:23] [PASSED] drm_test_check_mode_valid [14:25:23] [PASSED] drm_test_check_mode_valid_reject [14:25:23] [PASSED] drm_test_check_mode_valid_reject_rate [14:25:23] [PASSED] drm_test_check_mode_valid_reject_max_clock [14:25:23] === [PASSED] drm_atomic_helper_connector_hdmi_mode_valid === [14:25:23] = drm_atomic_helper_connector_hdmi_infoframes (5 subtests) = [14:25:23] [PASSED] drm_test_check_infoframes [14:25:23] [PASSED] drm_test_check_reject_avi_infoframe [14:25:23] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_8 [14:25:23] [PASSED] drm_test_check_reject_hdr_infoframe_bpc_10 [14:25:23] [PASSED] drm_test_check_reject_audio_infoframe [14:25:23] === [PASSED] drm_atomic_helper_connector_hdmi_infoframes === [14:25:23] ================= drm_managed (2 subtests) ================= [14:25:23] [PASSED] drm_test_managed_release_action [14:25:23] [PASSED] drm_test_managed_run_action [14:25:23] =================== [PASSED] drm_managed =================== [14:25:23] =================== drm_mm (6 subtests) ==================== [14:25:23] [PASSED] drm_test_mm_init [14:25:23] [PASSED] drm_test_mm_debug [14:25:23] [PASSED] drm_test_mm_align32 [14:25:23] [PASSED] drm_test_mm_align64 [14:25:23] [PASSED] drm_test_mm_lowest [14:25:23] [PASSED] drm_test_mm_highest [14:25:23] ===================== [PASSED] drm_mm ====================== [14:25:23] ============= drm_modes_analog_tv (5 subtests) ============= [14:25:23] [PASSED] drm_test_modes_analog_tv_mono_576i [14:25:23] [PASSED] drm_test_modes_analog_tv_ntsc_480i [14:25:23] [PASSED] drm_test_modes_analog_tv_ntsc_480i_inlined [14:25:23] [PASSED] drm_test_modes_analog_tv_pal_576i [14:25:23] [PASSED] drm_test_modes_analog_tv_pal_576i_inlined [14:25:23] =============== [PASSED] drm_modes_analog_tv =============== [14:25:23] ============== drm_plane_helper (2 subtests) =============== [14:25:23] =============== drm_test_check_plane_state ================ [14:25:23] [PASSED] clipping_simple [14:25:23] [PASSED] clipping_rotate_reflect [14:25:23] [PASSED] positioning_simple [14:25:23] [PASSED] upscaling [14:25:23] [PASSED] downscaling [14:25:23] [PASSED] rounding1 [14:25:23] [PASSED] rounding2 [14:25:23] [PASSED] rounding3 [14:25:23] [PASSED] rounding4 [14:25:23] =========== [PASSED] drm_test_check_plane_state ============ [14:25:23] =========== drm_test_check_invalid_plane_state ============ [14:25:23] [PASSED] positioning_invalid [14:25:23] [PASSED] upscaling_invalid [14:25:23] [PASSED] downscaling_invalid [14:25:23] ======= [PASSED] drm_test_check_invalid_plane_state ======== [14:25:23] ================ [PASSED] drm_plane_helper ================= [14:25:23] ====== drm_connector_helper_tv_get_modes (1 subtest) ======= [14:25:23] ====== drm_test_connector_helper_tv_get_modes_check ======= [14:25:23] [PASSED] None [14:25:23] [PASSED] PAL [14:25:23] [PASSED] NTSC [14:25:23] [PASSED] Both, NTSC Default [14:25:23] [PASSED] Both, PAL Default [14:25:23] [PASSED] Both, NTSC Default, with PAL on command-line [14:25:23] [PASSED] Both, PAL Default, with NTSC on command-line [14:25:23] == [PASSED] drm_test_connector_helper_tv_get_modes_check === [14:25:23] ======== [PASSED] drm_connector_helper_tv_get_modes ======== [14:25:23] ================== drm_rect (9 subtests) =================== [14:25:23] [PASSED] drm_test_rect_clip_scaled_div_by_zero [14:25:23] [PASSED] drm_test_rect_clip_scaled_not_clipped [14:25:23] [PASSED] drm_test_rect_clip_scaled_clipped [14:25:23] [PASSED] drm_test_rect_clip_scaled_signed_vs_unsigned [14:25:23] ================= drm_test_rect_intersect ================= [14:25:23] [PASSED] top-left x bottom-right: 2x2+1+1 x 2x2+0+0 [14:25:23] [PASSED] top-right x bottom-left: 2x2+0+0 x 2x2+1-1 [14:25:23] [PASSED] bottom-left x top-right: 2x2+1-1 x 2x2+0+0 [14:25:23] [PASSED] bottom-right x top-left: 2x2+0+0 x 2x2+1+1 [14:25:23] [PASSED] right x left: 2x1+0+0 x 3x1+1+0 [14:25:23] [PASSED] left x right: 3x1+1+0 x 2x1+0+0 [14:25:23] [PASSED] up x bottom: 1x2+0+0 x 1x3+0-1 [14:25:23] [PASSED] bottom x up: 1x3+0-1 x 1x2+0+0 [14:25:23] [PASSED] touching corner: 1x1+0+0 x 2x2+1+1 [14:25:23] [PASSED] touching side: 1x1+0+0 x 1x1+1+0 [14:25:23] [PASSED] equal rects: 2x2+0+0 x 2x2+0+0 [14:25:23] [PASSED] inside another: 2x2+0+0 x 1x1+1+1 [14:25:23] [PASSED] far away: 1x1+0+0 x 1x1+3+6 [14:25:23] [PASSED] points intersecting: 0x0+5+10 x 0x0+5+10 [14:25:23] [PASSED] points not intersecting: 0x0+0+0 x 0x0+5+10 [14:25:23] ============= [PASSED] drm_test_rect_intersect ============= [14:25:23] ================ drm_test_rect_calc_hscale ================ [14:25:23] [PASSED] normal use [14:25:23] [PASSED] out of max range [14:25:23] [PASSED] out of min range [14:25:23] [PASSED] zero dst [14:25:23] [PASSED] negative src [14:25:23] [PASSED] negative dst [14:25:23] ============ [PASSED] drm_test_rect_calc_hscale ============ [14:25:23] ================ drm_test_rect_calc_vscale ================ [14:25:23] [PASSED] normal use [14:25:23] [PASSED] out of max range [14:25:23] [PASSED] out of min range [14:25:23] [PASSED] zero dst [14:25:23] [PASSED] negative src [14:25:23] [PASSED] negative dst stty: 'standard input': Inappropriate ioctl for device [14:25:23] ============ [PASSED] drm_test_rect_calc_vscale ============ [14:25:23] ================== drm_test_rect_rotate =================== [14:25:23] [PASSED] reflect-x [14:25:23] [PASSED] reflect-y [14:25:23] [PASSED] rotate-0 [14:25:23] [PASSED] rotate-90 [14:25:23] [PASSED] rotate-180 [14:25:23] [PASSED] rotate-270 [14:25:23] ============== [PASSED] drm_test_rect_rotate =============== [14:25:23] ================ drm_test_rect_rotate_inv ================= [14:25:23] [PASSED] reflect-x [14:25:23] [PASSED] reflect-y [14:25:23] [PASSED] rotate-0 [14:25:23] [PASSED] rotate-90 [14:25:23] [PASSED] rotate-180 [14:25:23] [PASSED] rotate-270 [14:25:23] ============ [PASSED] drm_test_rect_rotate_inv ============= [14:25:23] ==================== [PASSED] drm_rect ===================== [14:25:23] ============ drm_sysfb_modeset_test (1 subtest) ============ [14:25:23] ============ drm_test_sysfb_build_fourcc_list ============= [14:25:23] [PASSED] no native formats [14:25:23] [PASSED] XRGB8888 as native format [14:25:23] [PASSED] remove duplicates [14:25:23] [PASSED] convert alpha formats [14:25:23] [PASSED] random formats [14:25:23] ======== [PASSED] drm_test_sysfb_build_fourcc_list ========= [14:25:23] ============= [PASSED] drm_sysfb_modeset_test ============== [14:25:23] ================== drm_fixp (2 subtests) =================== [14:25:23] [PASSED] drm_test_int2fixp [14:25:23] [PASSED] drm_test_sm2fixp [14:25:23] ==================== [PASSED] drm_fixp ===================== [14:25:23] ============================================================ [14:25:23] Testing complete. Ran 621 tests: passed: 621 [14:25:23] Elapsed time: 30.822s total, 1.652s configuring, 28.953s building, 0.171s running + /kernel/tools/testing/kunit/kunit.py run --kunitconfig /kernel/drivers/gpu/drm/ttm/tests/.kunitconfig [14:25:24] Configuring KUnit Kernel ... Regenerating .config ... Populating config with: $ make ARCH=um O=.kunit olddefconfig [14:25:25] 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=25 [14:25:34] Starting KUnit Kernel (1/1)... [14:25:34] ============================================================ Running tests with: $ .kunit/linux kunit.enable=1 mem=1G console=tty kunit_shutdown=halt [14:25:35] ================= ttm_device (5 subtests) ================== [14:25:35] [PASSED] ttm_device_init_basic [14:25:35] [PASSED] ttm_device_init_multiple [14:25:35] [PASSED] ttm_device_fini_basic [14:25:35] [PASSED] ttm_device_init_no_vma_man [14:25:35] ================== ttm_device_init_pools ================== [14:25:35] [PASSED] No DMA allocations, no DMA32 required [14:25:35] [PASSED] DMA allocations, DMA32 required [14:25:35] [PASSED] No DMA allocations, DMA32 required [14:25:35] [PASSED] DMA allocations, no DMA32 required [14:25:35] ============== [PASSED] ttm_device_init_pools ============== [14:25:35] =================== [PASSED] ttm_device ==================== [14:25:35] ================== ttm_pool (8 subtests) =================== [14:25:35] ================== ttm_pool_alloc_basic =================== [14:25:35] [PASSED] One page [14:25:35] [PASSED] More than one page [14:25:35] [PASSED] Above the allocation limit [14:25:35] [PASSED] One page, with coherent DMA mappings enabled [14:25:35] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [14:25:35] ============== [PASSED] ttm_pool_alloc_basic =============== [14:25:35] ============== ttm_pool_alloc_basic_dma_addr ============== [14:25:35] [PASSED] One page [14:25:35] [PASSED] More than one page [14:25:35] [PASSED] Above the allocation limit [14:25:35] [PASSED] One page, with coherent DMA mappings enabled [14:25:35] [PASSED] Above the allocation limit, with coherent DMA mappings enabled [14:25:35] ========== [PASSED] ttm_pool_alloc_basic_dma_addr ========== [14:25:35] [PASSED] ttm_pool_alloc_order_caching_match [14:25:35] [PASSED] ttm_pool_alloc_caching_mismatch [14:25:35] [PASSED] ttm_pool_alloc_order_mismatch [14:25:35] [PASSED] ttm_pool_free_dma_alloc [14:25:35] [PASSED] ttm_pool_free_no_dma_alloc [14:25:35] [PASSED] ttm_pool_fini_basic [14:25:35] ==================== [PASSED] ttm_pool ===================== [14:25:35] ================ ttm_resource (8 subtests) ================= [14:25:35] ================= ttm_resource_init_basic ================= [14:25:35] [PASSED] Init resource in TTM_PL_SYSTEM [14:25:35] [PASSED] Init resource in TTM_PL_VRAM [14:25:35] [PASSED] Init resource in a private placement [14:25:35] [PASSED] Init resource in TTM_PL_SYSTEM, set placement flags [14:25:35] ============= [PASSED] ttm_resource_init_basic ============= [14:25:35] [PASSED] ttm_resource_init_pinned [14:25:35] [PASSED] ttm_resource_fini_basic [14:25:35] [PASSED] ttm_resource_manager_init_basic [14:25:35] [PASSED] ttm_resource_manager_usage_basic [14:25:35] [PASSED] ttm_resource_manager_set_used_basic [14:25:35] [PASSED] ttm_sys_man_alloc_basic [14:25:35] [PASSED] ttm_sys_man_free_basic [14:25:35] ================== [PASSED] ttm_resource =================== [14:25:35] =================== ttm_tt (15 subtests) =================== [14:25:35] ==================== ttm_tt_init_basic ==================== [14:25:35] [PASSED] Page-aligned size [14:25:35] [PASSED] Extra pages requested [14:25:35] ================ [PASSED] ttm_tt_init_basic ================ [14:25:35] [PASSED] ttm_tt_init_misaligned [14:25:35] [PASSED] ttm_tt_fini_basic [14:25:35] [PASSED] ttm_tt_fini_sg [14:25:35] [PASSED] ttm_tt_fini_shmem [14:25:35] [PASSED] ttm_tt_create_basic [14:25:35] [PASSED] ttm_tt_create_invalid_bo_type [14:25:35] [PASSED] ttm_tt_create_ttm_exists [14:25:35] [PASSED] ttm_tt_create_failed [14:25:35] [PASSED] ttm_tt_destroy_basic [14:25:35] [PASSED] ttm_tt_populate_null_ttm [14:25:35] [PASSED] ttm_tt_populate_populated_ttm [14:25:35] [PASSED] ttm_tt_unpopulate_basic [14:25:35] [PASSED] ttm_tt_unpopulate_empty_ttm [14:25:35] [PASSED] ttm_tt_swapin_basic [14:25:35] ===================== [PASSED] ttm_tt ====================== [14:25:35] =================== ttm_bo (14 subtests) =================== [14:25:35] =========== ttm_bo_reserve_optimistic_no_ticket =========== [14:25:35] [PASSED] Cannot be interrupted and sleeps [14:25:35] [PASSED] Cannot be interrupted, locks straight away [14:25:35] [PASSED] Can be interrupted, sleeps [14:25:35] ======= [PASSED] ttm_bo_reserve_optimistic_no_ticket ======= [14:25:35] [PASSED] ttm_bo_reserve_locked_no_sleep [14:25:35] [PASSED] ttm_bo_reserve_no_wait_ticket [14:25:35] [PASSED] ttm_bo_reserve_double_resv [14:25:35] [PASSED] ttm_bo_reserve_interrupted [14:25:35] [PASSED] ttm_bo_reserve_deadlock [14:25:35] [PASSED] ttm_bo_unreserve_basic [14:25:35] [PASSED] ttm_bo_unreserve_pinned [14:25:35] [PASSED] ttm_bo_unreserve_bulk [14:25:35] [PASSED] ttm_bo_fini_basic [14:25:35] [PASSED] ttm_bo_fini_shared_resv [14:25:35] [PASSED] ttm_bo_pin_basic [14:25:35] [PASSED] ttm_bo_pin_unpin_resource [14:25:35] [PASSED] ttm_bo_multiple_pin_one_unpin [14:25:35] ===================== [PASSED] ttm_bo ====================== [14:25:35] ============== ttm_bo_validate (21 subtests) =============== [14:25:35] ============== ttm_bo_init_reserved_sys_man =============== [14:25:35] [PASSED] Buffer object for userspace [14:25:35] [PASSED] Kernel buffer object [14:25:35] [PASSED] Shared buffer object [14:25:35] ========== [PASSED] ttm_bo_init_reserved_sys_man =========== [14:25:35] ============== ttm_bo_init_reserved_mock_man ============== [14:25:35] [PASSED] Buffer object for userspace [14:25:35] [PASSED] Kernel buffer object [14:25:35] [PASSED] Shared buffer object [14:25:35] ========== [PASSED] ttm_bo_init_reserved_mock_man ========== [14:25:35] [PASSED] ttm_bo_init_reserved_resv [14:25:35] ================== ttm_bo_validate_basic ================== [14:25:35] [PASSED] Buffer object for userspace [14:25:35] [PASSED] Kernel buffer object [14:25:35] [PASSED] Shared buffer object [14:25:35] ============== [PASSED] ttm_bo_validate_basic ============== [14:25:35] [PASSED] ttm_bo_validate_invalid_placement [14:25:35] ============= ttm_bo_validate_same_placement ============== [14:25:35] [PASSED] System manager [14:25:35] [PASSED] VRAM manager [14:25:35] ========= [PASSED] ttm_bo_validate_same_placement ========== [14:25:35] [PASSED] ttm_bo_validate_failed_alloc [14:25:35] [PASSED] ttm_bo_validate_pinned [14:25:35] [PASSED] ttm_bo_validate_busy_placement [14:25:35] ================ ttm_bo_validate_multihop ================= [14:25:35] [PASSED] Buffer object for userspace [14:25:35] [PASSED] Kernel buffer object [14:25:35] [PASSED] Shared buffer object [14:25:35] ============ [PASSED] ttm_bo_validate_multihop ============= [14:25:35] ========== ttm_bo_validate_no_placement_signaled ========== [14:25:35] [PASSED] Buffer object in system domain, no page vector [14:25:35] [PASSED] Buffer object in system domain with an existing page vector [14:25:35] ====== [PASSED] ttm_bo_validate_no_placement_signaled ====== [14:25:35] ======== ttm_bo_validate_no_placement_not_signaled ======== [14:25:35] [PASSED] Buffer object for userspace [14:25:35] [PASSED] Kernel buffer object [14:25:35] [PASSED] Shared buffer object [14:25:35] ==== [PASSED] ttm_bo_validate_no_placement_not_signaled ==== [14:25:35] [PASSED] ttm_bo_validate_move_fence_signaled [14:25:35] ========= ttm_bo_validate_move_fence_not_signaled ========= [14:25:35] [PASSED] Waits for GPU [14:25:35] [PASSED] Tries to lock straight away [14:25:35] ===== [PASSED] ttm_bo_validate_move_fence_not_signaled ===== [14:25:35] [PASSED] ttm_bo_validate_happy_evict [14:25:35] [PASSED] ttm_bo_validate_all_pinned_evict [14:25:35] [PASSED] ttm_bo_validate_allowed_only_evict [14:25:35] [PASSED] ttm_bo_validate_deleted_evict [14:25:35] [PASSED] ttm_bo_validate_busy_domain_evict [14:25:35] [PASSED] ttm_bo_validate_evict_gutting [14:25:35] [PASSED] ttm_bo_validate_recrusive_evict stty: 'standard input': Inappropriate ioctl for device [14:25:35] ================= [PASSED] ttm_bo_validate ================= [14:25:35] ============================================================ [14:25:35] Testing complete. Ran 101 tests: passed: 101 [14:25:35] Elapsed time: 11.079s total, 1.657s configuring, 9.156s building, 0.234s running + cleanup ++ stat -c %u:%g /kernel + chown -R 1003:1003 /kernel ^ permalink raw reply [flat|nested] 21+ messages in thread
* ✓ Xe.CI.BAT: success for drm/{i915,xe}: move bo stuff to parent interface 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula ` (6 preceding siblings ...) 2026-03-11 14:25 ` ✓ CI.KUnit: success " Patchwork @ 2026-03-11 15:11 ` Patchwork 2026-03-11 15:33 ` ✓ i915.CI.BAT: " Patchwork ` (2 subsequent siblings) 10 siblings, 0 replies; 21+ messages in thread From: Patchwork @ 2026-03-11 15:11 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 2469 bytes --] == Series Details == Series: drm/{i915,xe}: move bo stuff to parent interface URL : https://patchwork.freedesktop.org/series/163032/ State : success == Summary == CI Bug Log - changes from xe-4699-215a6363df58623db6c206078cdf34b3e58047ac_BAT -> xe-pw-163032v1_BAT ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (14 -> 14) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in xe-pw-163032v1_BAT that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1: - bat-adlp-7: [PASS][1] -> [DMESG-WARN][2] ([Intel XE#7483]) [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1.html [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@c-edp1.html #### Possible fixes #### * igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1: - bat-adlp-7: [DMESG-WARN][3] ([Intel XE#7483]) -> [PASS][4] [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/bat-adlp-7/igt@kms_flip@basic-flip-vs-wf_vblank@d-edp1.html * igt@xe_waitfence@reltime: - bat-dg2-oem2: [FAIL][5] ([Intel XE#6520]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/bat-dg2-oem2/igt@xe_waitfence@reltime.html [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/bat-dg2-oem2/igt@xe_waitfence@reltime.html [Intel XE#6520]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6520 [Intel XE#7483]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7483 Build changes ------------- * IGT: IGT_8792 -> IGT_8793 * Linux: xe-4699-215a6363df58623db6c206078cdf34b3e58047ac -> xe-pw-163032v1 IGT_8792: 8792 IGT_8793: c623172fdd4dd92bb23dbc55b3930c40266c3e59 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git xe-4699-215a6363df58623db6c206078cdf34b3e58047ac: 215a6363df58623db6c206078cdf34b3e58047ac xe-pw-163032v1: 163032v1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/index.html [-- Attachment #2: Type: text/html, Size: 3180 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* ✓ i915.CI.BAT: success for drm/{i915,xe}: move bo stuff to parent interface 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula ` (7 preceding siblings ...) 2026-03-11 15:11 ` ✓ Xe.CI.BAT: " Patchwork @ 2026-03-11 15:33 ` Patchwork 2026-03-12 5:44 ` ✓ Xe.CI.FULL: " Patchwork 2026-03-12 6:37 ` ✓ i915.CI.Full: " Patchwork 10 siblings, 0 replies; 21+ messages in thread From: Patchwork @ 2026-03-11 15:33 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 7035 bytes --] == Series Details == Series: drm/{i915,xe}: move bo stuff to parent interface URL : https://patchwork.freedesktop.org/series/163033/ State : success == Summary == CI Bug Log - changes from CI_DRM_18130 -> Patchwork_163033v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/index.html Participating hosts (39 -> 39) ------------------------------ Additional (2): bat-adlp-6 bat-adls-6 Missing (2): bat-dg2-13 fi-snb-2520m Known issues ------------ Here are the changes found in Patchwork_163033v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_lmem_swapping@parallel-random-engines: - bat-adls-6: NOTRUN -> [SKIP][1] ([i915#4613]) +3 other tests skip [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@gem_lmem_swapping@parallel-random-engines.html * igt@gem_lmem_swapping@random-engines: - bat-adlp-6: NOTRUN -> [SKIP][2] ([i915#4613]) +3 other tests skip [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adlp-6/igt@gem_lmem_swapping@random-engines.html * igt@gem_tiled_pread_basic@basic: - bat-adlp-6: NOTRUN -> [SKIP][3] ([i915#15656]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adlp-6/igt@gem_tiled_pread_basic@basic.html - bat-adls-6: NOTRUN -> [SKIP][4] ([i915#15656]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@gem_tiled_pread_basic@basic.html * igt@i915_pm_rps@basic-api: - bat-adlp-6: NOTRUN -> [SKIP][5] ([i915#6621]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adlp-6/igt@i915_pm_rps@basic-api.html * igt@i915_selftest@live@workarounds: - bat-arlh-2: [PASS][6] -> [DMESG-FAIL][7] ([i915#12061]) +1 other test dmesg-fail [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/bat-arlh-2/igt@i915_selftest@live@workarounds.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-arlh-2/igt@i915_selftest@live@workarounds.html * igt@intel_hwmon@hwmon-read: - bat-adls-6: NOTRUN -> [SKIP][8] ([i915#7707]) +1 other test skip [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@intel_hwmon@hwmon-read.html - bat-adlp-6: NOTRUN -> [SKIP][9] ([i915#7707]) +1 other test skip [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adlp-6/igt@intel_hwmon@hwmon-read.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - bat-adls-6: NOTRUN -> [SKIP][10] ([i915#4103]) +1 other test skip [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html - bat-adlp-6: NOTRUN -> [SKIP][11] ([i915#4103]) +1 other test skip [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adlp-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_dsc@dsc-basic: - bat-adls-6: NOTRUN -> [SKIP][12] ([i915#3555] / [i915#3840]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@kms_dsc@dsc-basic.html * igt@kms_force_connector_basic@force-load-detect: - bat-adls-6: NOTRUN -> [SKIP][13] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@kms_force_connector_basic@force-load-detect.html - bat-adlp-6: NOTRUN -> [SKIP][14] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adlp-6/igt@kms_force_connector_basic@force-load-detect.html * igt@kms_pm_backlight@basic-brightness: - bat-adls-6: NOTRUN -> [SKIP][15] ([i915#5354]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@kms_pm_backlight@basic-brightness.html * igt@kms_psr@psr-primary-mmap-gtt: - bat-adls-6: NOTRUN -> [SKIP][16] ([i915#1072] / [i915#9732]) +3 other tests skip [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@kms_psr@psr-primary-mmap-gtt.html * igt@kms_setmode@basic-clone-single-crtc: - bat-adlp-6: NOTRUN -> [SKIP][17] ([i915#3555]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adlp-6/igt@kms_setmode@basic-clone-single-crtc.html - bat-adls-6: NOTRUN -> [SKIP][18] ([i915#3555]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@kms_setmode@basic-clone-single-crtc.html * igt@prime_vgem@basic-fence-read: - bat-adls-6: NOTRUN -> [SKIP][19] ([i915#3291]) +2 other tests skip [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adls-6/igt@prime_vgem@basic-fence-read.html * igt@prime_vgem@basic-write: - bat-adlp-6: NOTRUN -> [SKIP][20] ([i915#3291] / [i915#3708]) +2 other tests skip [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-adlp-6/igt@prime_vgem@basic-write.html #### Possible fixes #### * igt@i915_selftest@live@workarounds: - bat-arls-6: [DMESG-FAIL][21] ([i915#12061]) -> [PASS][22] +1 other test pass [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/bat-arls-6/igt@i915_selftest@live@workarounds.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/bat-arls-6/igt@i915_selftest@live@workarounds.html [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072 [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061 [i915#15656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15656 [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291 [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555 [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708 [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840 [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103 [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613 [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354 [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621 [i915#7707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7707 [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732 Build changes ------------- * Linux: CI_DRM_18130 -> Patchwork_163033v1 CI-20190529: 20190529 CI_DRM_18130: 4a30f5fa0fe382b3915a8208a483d0044c40b9eb @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8793: c623172fdd4dd92bb23dbc55b3930c40266c3e59 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_163033v1: 4a30f5fa0fe382b3915a8208a483d0044c40b9eb @ git://anongit.freedesktop.org/gfx-ci/linux == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/index.html [-- Attachment #2: Type: text/html, Size: 8625 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* ✓ Xe.CI.FULL: success for drm/{i915,xe}: move bo stuff to parent interface 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula ` (8 preceding siblings ...) 2026-03-11 15:33 ` ✓ i915.CI.BAT: " Patchwork @ 2026-03-12 5:44 ` Patchwork 2026-03-12 6:37 ` ✓ i915.CI.Full: " Patchwork 10 siblings, 0 replies; 21+ messages in thread From: Patchwork @ 2026-03-12 5:44 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-xe [-- Attachment #1: Type: text/plain, Size: 17216 bytes --] == Series Details == Series: drm/{i915,xe}: move bo stuff to parent interface URL : https://patchwork.freedesktop.org/series/163032/ State : success == Summary == CI Bug Log - changes from xe-4699-215a6363df58623db6c206078cdf34b3e58047ac_FULL -> xe-pw-163032v1_FULL ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (2 -> 2) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in xe-pw-163032v1_FULL that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_big_fb@linear-64bpp-rotate-90: - shard-lnl: NOTRUN -> [SKIP][1] ([Intel XE#1407]) +2 other tests skip [1]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-2/igt@kms_big_fb@linear-64bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip: - shard-lnl: NOTRUN -> [SKIP][2] ([Intel XE#1124]) +2 other tests skip [2]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-7/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip-async-flip.html * igt@kms_bw@linear-tiling-3-displays-3840x2160p: - shard-lnl: NOTRUN -> [SKIP][3] ([Intel XE#367] / [Intel XE#7354]) [3]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-8/igt@kms_bw@linear-tiling-3-displays-3840x2160p.html * igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs: - shard-lnl: NOTRUN -> [SKIP][4] ([Intel XE#2887]) +1 other test skip [4]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-1/igt@kms_ccs@ccs-on-another-bo-y-tiled-gen12-rc-ccs.html * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-c-edp-1: - shard-lnl: NOTRUN -> [SKIP][5] ([Intel XE#2669] / [Intel XE#7389]) +3 other tests skip [5]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-4/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs@pipe-c-edp-1.html * igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode: - shard-lnl: NOTRUN -> [SKIP][6] ([Intel XE#373]) [6]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-3/igt@kms_chamelium_hpd@hdmi-hpd-with-enabled-mode.html * igt@kms_content_protection@type1: - shard-lnl: NOTRUN -> [SKIP][7] ([Intel XE#3278] / [Intel XE#6973]) [7]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-5/igt@kms_content_protection@type1.html * igt@kms_cursor_crc@cursor-onscreen-32x10: - shard-lnl: NOTRUN -> [SKIP][8] ([Intel XE#1424]) [8]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-4/igt@kms_cursor_crc@cursor-onscreen-32x10.html * igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic: - shard-lnl: NOTRUN -> [SKIP][9] ([Intel XE#309] / [Intel XE#7343]) +1 other test skip [9]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-7/igt@kms_cursor_legacy@2x-long-nonblocking-modeset-vs-cursor-atomic.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1: - shard-lnl: [PASS][10] -> [FAIL][11] ([Intel XE#301]) +1 other test fail [10]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/shard-lnl-6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html [11]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling: - shard-lnl: NOTRUN -> [SKIP][12] ([Intel XE#1397] / [Intel XE#1745] / [Intel XE#7385]) [12]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode: - shard-lnl: NOTRUN -> [SKIP][13] ([Intel XE#1397] / [Intel XE#7385]) [13]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-16bpp-4tile-downscaling@pipe-a-default-mode.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling: - shard-lnl: NOTRUN -> [SKIP][14] ([Intel XE#7178] / [Intel XE#7351]) [14]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-downscaling.html * igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x: - shard-lnl: NOTRUN -> [SKIP][15] ([Intel XE#7179]) [15]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-3/igt@kms_flip_scaled_crc@flip-p016-linear-to-p016-linear-reflect-x.html * igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-mmap-wc: - shard-lnl: NOTRUN -> [SKIP][16] ([Intel XE#6312] / [Intel XE#651]) +3 other tests skip [16]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-7/igt@kms_frontbuffer_tracking@drrs-1p-primscrn-spr-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-blt: - shard-lnl: NOTRUN -> [SKIP][17] ([Intel XE#7061] / [Intel XE#7356]) [17]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-8/igt@kms_frontbuffer_tracking@drrs-argb161616f-draw-blt.html * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc: - shard-lnl: NOTRUN -> [SKIP][18] ([Intel XE#656]) +8 other tests skip [18]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-mmap-wc: - shard-lnl: NOTRUN -> [SKIP][19] ([Intel XE#6312]) [19]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-2/igt@kms_frontbuffer_tracking@fbcdrrs-1p-offscreen-pri-indfb-draw-mmap-wc.html * igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier: - shard-lnl: NOTRUN -> [SKIP][20] ([Intel XE#7283]) [20]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-8/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier.html * igt@kms_pm_dc@dc5-dpms: - shard-lnl: [PASS][21] -> [FAIL][22] ([Intel XE#7340] / [Intel XE#7504]) [21]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/shard-lnl-7/igt@kms_pm_dc@dc5-dpms.html [22]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-5/igt@kms_pm_dc@dc5-dpms.html * igt@kms_pm_dc@dc6-psr: - shard-lnl: [PASS][23] -> [FAIL][24] ([Intel XE#7340]) +1 other test fail [23]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/shard-lnl-1/igt@kms_pm_dc@dc6-psr.html [24]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-1/igt@kms_pm_dc@dc6-psr.html * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf: - shard-lnl: NOTRUN -> [SKIP][25] ([Intel XE#2893] / [Intel XE#7304]) +2 other tests skip [25]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-3/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-sf.html * igt@kms_psr@pr-cursor-plane-move: - shard-lnl: NOTRUN -> [SKIP][26] ([Intel XE#1406]) +1 other test skip [26]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-8/igt@kms_psr@pr-cursor-plane-move.html * igt@kms_vrr@cmrr@pipe-a-edp-1: - shard-lnl: [PASS][27] -> [FAIL][28] ([Intel XE#4459]) +1 other test fail [27]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/shard-lnl-2/igt@kms_vrr@cmrr@pipe-a-edp-1.html [28]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-7/igt@kms_vrr@cmrr@pipe-a-edp-1.html * igt@xe_compute@ccs-mode-compute-kernel: - shard-lnl: NOTRUN -> [SKIP][29] ([Intel XE#1447] / [Intel XE#7469]) [29]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-4/igt@xe_compute@ccs-mode-compute-kernel.html * igt@xe_evict@evict-beng-mixed-threads-small-multi-vm: - shard-lnl: NOTRUN -> [SKIP][30] ([Intel XE#6540] / [Intel XE#688]) +3 other tests skip [30]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-2/igt@xe_evict@evict-beng-mixed-threads-small-multi-vm.html * igt@xe_exec_balancer@once-cm-parallel-rebind: - shard-lnl: NOTRUN -> [SKIP][31] ([Intel XE#7482]) +4 other tests skip [31]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-7/igt@xe_exec_balancer@once-cm-parallel-rebind.html * igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race: - shard-lnl: NOTRUN -> [SKIP][32] ([Intel XE#1392]) +2 other tests skip [32]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-8/igt@xe_exec_basic@multigpu-many-execqueues-many-vm-userptr-invalidate-race.html * igt@xe_exec_fault_mode@once-multi-queue-userptr-rebind: - shard-lnl: NOTRUN -> [SKIP][33] ([Intel XE#7136]) +1 other test skip [33]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-3/igt@xe_exec_fault_mode@once-multi-queue-userptr-rebind.html * igt@xe_exec_multi_queue@max-queues-priority-smem: - shard-lnl: NOTRUN -> [SKIP][34] ([Intel XE#6874]) +6 other tests skip [34]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-2/igt@xe_exec_multi_queue@max-queues-priority-smem.html * igt@xe_exec_sip_eudebug@breakpoint-writesip-twice: - shard-lnl: NOTRUN -> [SKIP][35] ([Intel XE#4837]) [35]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-4/igt@xe_exec_sip_eudebug@breakpoint-writesip-twice.html * igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma: - shard-lnl: [PASS][36] -> [FAIL][37] ([Intel XE#5625]) [36]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/shard-lnl-3/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma.html [37]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-6/igt@xe_exec_system_allocator@pat-index-madvise-pat-idx-uc-multi-vma.html * igt@xe_exec_threads@threads-multi-queue-shared-vm-userptr: - shard-lnl: NOTRUN -> [SKIP][38] ([Intel XE#7138]) +2 other tests skip [38]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-5/igt@xe_exec_threads@threads-multi-queue-shared-vm-userptr.html * igt@xe_peer2peer@read: - shard-lnl: NOTRUN -> [SKIP][39] ([Intel XE#1061] / [Intel XE#7326] / [Intel XE#7353]) [39]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-2/igt@xe_peer2peer@read.html * igt@xe_pm@d3cold-mocs: - shard-lnl: NOTRUN -> [SKIP][40] ([Intel XE#2284] / [Intel XE#7370]) [40]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-1/igt@xe_pm@d3cold-mocs.html * igt@xe_sriov_flr@flr-vfs-parallel: - shard-lnl: NOTRUN -> [SKIP][41] ([Intel XE#4273]) [41]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-7/igt@xe_sriov_flr@flr-vfs-parallel.html #### Possible fixes #### * igt@kms_async_flips@async-flip-with-page-flip-events-linear: - shard-lnl: [FAIL][42] ([Intel XE#5993] / [Intel XE#6054]) -> [PASS][43] +3 other tests pass [42]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/shard-lnl-7/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html [43]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-8/igt@kms_async_flips@async-flip-with-page-flip-events-linear.html * igt@kms_async_flips@test-cursor-atomic: - shard-lnl: [SKIP][44] ([Intel XE#7519]) -> [PASS][45] +7 other tests pass [44]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/shard-lnl-8/igt@kms_async_flips@test-cursor-atomic.html [45]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-5/igt@kms_async_flips@test-cursor-atomic.html * igt@kms_flip@flip-vs-expired-vblank@c-edp1: - shard-lnl: [FAIL][46] ([Intel XE#301] / [Intel XE#3149]) -> [PASS][47] +1 other test pass [46]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-4699-215a6363df58623db6c206078cdf34b3e58047ac/shard-lnl-4/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html [47]: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/shard-lnl-2/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html [Intel XE#1061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1061 [Intel XE#1124]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1124 [Intel XE#1392]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1392 [Intel XE#1397]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1397 [Intel XE#1406]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1406 [Intel XE#1407]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1407 [Intel XE#1424]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1424 [Intel XE#1447]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1447 [Intel XE#1745]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1745 [Intel XE#2284]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2284 [Intel XE#2669]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/2669 [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#301]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/301 [Intel XE#309]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/309 [Intel XE#3149]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3149 [Intel XE#3278]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/3278 [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#4273]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4273 [Intel XE#4459]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4459 [Intel XE#4837]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/4837 [Intel XE#5625]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5625 [Intel XE#5993]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/5993 [Intel XE#6054]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6054 [Intel XE#6312]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6312 [Intel XE#651]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/651 [Intel XE#6540]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6540 [Intel XE#656]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/656 [Intel XE#6874]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6874 [Intel XE#688]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/688 [Intel XE#6973]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/6973 [Intel XE#7061]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7061 [Intel XE#7136]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7136 [Intel XE#7138]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7138 [Intel XE#7178]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7178 [Intel XE#7179]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7179 [Intel XE#7283]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7283 [Intel XE#7304]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7304 [Intel XE#7326]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7326 [Intel XE#7340]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7340 [Intel XE#7343]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7343 [Intel XE#7351]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7351 [Intel XE#7353]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7353 [Intel XE#7354]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7354 [Intel XE#7356]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7356 [Intel XE#7370]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7370 [Intel XE#7385]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7385 [Intel XE#7389]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7389 [Intel XE#7469]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7469 [Intel XE#7482]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7482 [Intel XE#7504]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7504 [Intel XE#7519]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/7519 Build changes ------------- * IGT: IGT_8792 -> IGT_8793 * Linux: xe-4699-215a6363df58623db6c206078cdf34b3e58047ac -> xe-pw-163032v1 IGT_8792: 8792 IGT_8793: c623172fdd4dd92bb23dbc55b3930c40266c3e59 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git xe-4699-215a6363df58623db6c206078cdf34b3e58047ac: 215a6363df58623db6c206078cdf34b3e58047ac xe-pw-163032v1: 163032v1 == Logs == For more details see: https://intel-gfx-ci.01.org/tree/intel-xe/xe-pw-163032v1/index.html [-- Attachment #2: Type: text/html, Size: 18906 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* ✓ i915.CI.Full: success for drm/{i915,xe}: move bo stuff to parent interface 2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula ` (9 preceding siblings ...) 2026-03-12 5:44 ` ✓ Xe.CI.FULL: " Patchwork @ 2026-03-12 6:37 ` Patchwork 10 siblings, 0 replies; 21+ messages in thread From: Patchwork @ 2026-03-12 6:37 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 93190 bytes --] == Series Details == Series: drm/{i915,xe}: move bo stuff to parent interface URL : https://patchwork.freedesktop.org/series/163033/ State : success == Summary == CI Bug Log - changes from CI_DRM_18130_full -> Patchwork_163033v1_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in Patchwork_163033v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@api_intel_bb@object-reloc-keep-cache: - shard-rkl: NOTRUN -> [SKIP][1] ([i915#8411]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@api_intel_bb@object-reloc-keep-cache.html * igt@gem_bad_reloc@negative-reloc-lut: - shard-rkl: NOTRUN -> [SKIP][2] ([i915#3281]) +5 other tests skip [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@gem_bad_reloc@negative-reloc-lut.html * igt@gem_close_race@multigpu-basic-process: - shard-rkl: NOTRUN -> [SKIP][3] ([i915#7697]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@gem_close_race@multigpu-basic-process.html * igt@gem_create@create-ext-cpu-access-big: - shard-tglu: NOTRUN -> [SKIP][4] ([i915#6335]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@gem_create@create-ext-cpu-access-big.html * igt@gem_ctx_persistence@engines-persistence: - shard-snb: NOTRUN -> [SKIP][5] ([i915#1099]) +2 other tests skip [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-snb6/igt@gem_ctx_persistence@engines-persistence.html * igt@gem_ctx_sseu@engines: - shard-tglu-1: NOTRUN -> [SKIP][6] ([i915#280]) [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@gem_ctx_sseu@engines.html * igt@gem_eio@unwedge-stress: - shard-snb: NOTRUN -> [FAIL][7] ([i915#8898]) +1 other test fail [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-snb6/igt@gem_eio@unwedge-stress.html * igt@gem_exec_balancer@parallel-balancer: - shard-tglu: NOTRUN -> [SKIP][8] ([i915#4525]) +1 other test skip [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@gem_exec_balancer@parallel-balancer.html * igt@gem_exec_balancer@parallel-ordering: - shard-tglu-1: NOTRUN -> [SKIP][9] ([i915#4525]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@gem_exec_balancer@parallel-ordering.html * igt@gem_exec_capture@capture-recoverable: - shard-rkl: NOTRUN -> [SKIP][10] ([i915#6344]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@gem_exec_capture@capture-recoverable.html * igt@gem_exec_suspend@basic-s0: - shard-rkl: [PASS][11] -> [INCOMPLETE][12] ([i915#13356]) +1 other test incomplete [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-7/igt@gem_exec_suspend@basic-s0.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_exec_suspend@basic-s0.html * igt@gem_exec_suspend@basic-s3: - shard-glk11: NOTRUN -> [INCOMPLETE][13] ([i915#13196] / [i915#13356]) +1 other test incomplete [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk11/igt@gem_exec_suspend@basic-s3.html * igt@gem_huc_copy@huc-copy: - shard-tglu: NOTRUN -> [SKIP][14] ([i915#2190]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@gem_huc_copy@huc-copy.html * igt@gem_lmem_swapping@basic: - shard-glk: NOTRUN -> [SKIP][15] ([i915#4613]) +2 other tests skip [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk6/igt@gem_lmem_swapping@basic.html * igt@gem_lmem_swapping@parallel-random-verify: - shard-tglu-1: NOTRUN -> [SKIP][16] ([i915#4613]) [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@gem_lmem_swapping@parallel-random-verify.html * igt@gem_lmem_swapping@verify-ccs: - shard-tglu: NOTRUN -> [SKIP][17] ([i915#4613]) +2 other tests skip [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@gem_lmem_swapping@verify-ccs.html * igt@gem_pwrite@basic-exhaustion: - shard-glk: NOTRUN -> [WARN][18] ([i915#14702] / [i915#2658]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk9/igt@gem_pwrite@basic-exhaustion.html * igt@gem_pxp@hw-rejects-pxp-context: - shard-tglu: NOTRUN -> [SKIP][19] ([i915#13398]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@gem_pxp@hw-rejects-pxp-context.html * igt@gem_tiled_partial_pwrite_pread@reads: - shard-rkl: NOTRUN -> [SKIP][20] ([i915#3282]) [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@gem_tiled_partial_pwrite_pread@reads.html * igt@gem_userptr_blits@create-destroy-unsync: - shard-tglu: NOTRUN -> [SKIP][21] ([i915#3297]) +1 other test skip [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@gem_userptr_blits@create-destroy-unsync.html * igt@gem_userptr_blits@dmabuf-sync: - shard-glk: NOTRUN -> [SKIP][22] ([i915#3323]) [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk9/igt@gem_userptr_blits@dmabuf-sync.html * igt@gem_userptr_blits@readonly-pwrite-unsync: - shard-tglu-1: NOTRUN -> [SKIP][23] ([i915#3297]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@gem_userptr_blits@readonly-pwrite-unsync.html * igt@gen9_exec_parse@allowed-single: - shard-glk: [PASS][24] -> [ABORT][25] ([i915#5566]) [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-glk2/igt@gen9_exec_parse@allowed-single.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk4/igt@gen9_exec_parse@allowed-single.html * igt@gen9_exec_parse@bb-secure: - shard-tglu-1: NOTRUN -> [SKIP][26] ([i915#2527] / [i915#2856]) [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@gen9_exec_parse@bb-secure.html * igt@gen9_exec_parse@bb-start-out: - shard-rkl: NOTRUN -> [SKIP][27] ([i915#2527]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@gen9_exec_parse@bb-start-out.html * igt@gen9_exec_parse@bb-start-param: - shard-tglu: NOTRUN -> [SKIP][28] ([i915#2527] / [i915#2856]) +1 other test skip [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@gen9_exec_parse@bb-start-param.html * igt@i915_module_load@fault-injection@__uc_init: - shard-rkl: NOTRUN -> [SKIP][29] ([i915#15479]) +4 other tests skip [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@i915_module_load@fault-injection@__uc_init.html * igt@i915_module_load@fault-injection@intel_connector_register: - shard-rkl: NOTRUN -> [ABORT][30] ([i915#15342]) +1 other test abort [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@i915_module_load@fault-injection@intel_connector_register.html * igt@i915_pm_freq_api@freq-suspend: - shard-rkl: NOTRUN -> [SKIP][31] ([i915#8399]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@i915_pm_freq_api@freq-suspend.html * igt@i915_pm_rc6_residency@rc6-fence: - shard-tglu: NOTRUN -> [WARN][32] ([i915#13790] / [i915#2681]) +1 other test warn [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@i915_pm_rc6_residency@rc6-fence.html * igt@i915_pm_rc6_residency@rc6-idle: - shard-tglu-1: NOTRUN -> [SKIP][33] ([i915#14498]) [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@i915_pm_rc6_residency@rc6-idle.html * igt@i915_pm_rps@reset: - shard-snb: [PASS][34] -> [INCOMPLETE][35] ([i915#13821]) [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-snb6/igt@i915_pm_rps@reset.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-snb1/igt@i915_pm_rps@reset.html * igt@i915_query@hwconfig_table: - shard-rkl: NOTRUN -> [SKIP][36] ([i915#6245]) [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@i915_query@hwconfig_table.html * igt@i915_query@test-query-geometry-subslices: - shard-rkl: NOTRUN -> [SKIP][37] ([i915#5723]) [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@i915_query@test-query-geometry-subslices.html * igt@i915_suspend@debugfs-reader: - shard-glk: NOTRUN -> [INCOMPLETE][38] ([i915#4817]) +1 other test incomplete [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk5/igt@i915_suspend@debugfs-reader.html * igt@i915_suspend@fence-restore-tiled2untiled: - shard-rkl: [PASS][39] -> [INCOMPLETE][40] ([i915#4817]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@i915_suspend@fence-restore-tiled2untiled.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@i915_suspend@fence-restore-tiled2untiled.html * igt@kms_atomic_transition@plane-all-modeset-transition: - shard-dg1: [PASS][41] -> [DMESG-WARN][42] ([i915#4423]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-12/igt@kms_atomic_transition@plane-all-modeset-transition.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-12/igt@kms_atomic_transition@plane-all-modeset-transition.html * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-3: - shard-dg2: NOTRUN -> [FAIL][43] ([i915#5956]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-8/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-3.html * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1: - shard-mtlp: [PASS][44] -> [FAIL][45] ([i915#5956]) +1 other test fail [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-mtlp-2/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-mtlp-4/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-edp-1.html * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-3: - shard-dg2: [PASS][46] -> [FAIL][47] ([i915#5956]) +2 other tests fail [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg2-5/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-3.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-5/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-3.html * igt@kms_big_fb@4-tiled-64bpp-rotate-180: - shard-rkl: NOTRUN -> [SKIP][48] ([i915#5286]) [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_big_fb@4-tiled-64bpp-rotate-180.html * igt@kms_big_fb@4-tiled-addfb: - shard-tglu: NOTRUN -> [SKIP][49] ([i915#5286]) +5 other tests skip [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_big_fb@4-tiled-addfb.html * igt@kms_big_fb@4-tiled-addfb-size-overflow: - shard-tglu-1: NOTRUN -> [SKIP][50] ([i915#5286]) +2 other tests skip [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_big_fb@4-tiled-addfb-size-overflow.html * igt@kms_big_fb@linear-64bpp-rotate-90: - shard-rkl: NOTRUN -> [SKIP][51] ([i915#3638]) +4 other tests skip [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_big_fb@linear-64bpp-rotate-90.html * igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180: - shard-glk11: NOTRUN -> [DMESG-WARN][52] ([i915#118]) [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk11/igt@kms_big_fb@linear-max-hw-stride-32bpp-rotate-180.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180: - shard-rkl: NOTRUN -> [SKIP][53] +3 other tests skip [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs: - shard-tglu: NOTRUN -> [SKIP][54] ([i915#12313]) [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html * igt@kms_ccs@bad-rotation-90-y-tiled-ccs@pipe-b-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][55] ([i915#6095]) +63 other tests skip [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-2/igt@kms_ccs@bad-rotation-90-y-tiled-ccs@pipe-b-hdmi-a-1.html * igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1: - shard-tglu: NOTRUN -> [SKIP][56] ([i915#6095]) +39 other tests skip [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_ccs@ccs-on-another-bo-4-tiled-mtl-rc-ccs-cc@pipe-d-hdmi-a-1.html * igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][57] ([i915#6095]) +23 other tests skip [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-8/igt@kms_ccs@crc-primary-basic-4-tiled-dg2-rc-ccs-cc@pipe-c-hdmi-a-3.html * igt@kms_ccs@crc-primary-basic-y-tiled-ccs: - shard-tglu-1: NOTRUN -> [SKIP][58] ([i915#6095]) +24 other tests skip [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_ccs@crc-primary-basic-y-tiled-ccs.html * igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][59] ([i915#10307] / [i915#10434] / [i915#6095]) +1 other test skip [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-4/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1.html * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][60] ([i915#14098] / [i915#14544] / [i915#6095]) +2 other tests skip [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-1: - shard-dg2: NOTRUN -> [SKIP][61] ([i915#10307] / [i915#6095]) +49 other tests skip [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-4/igt@kms_ccs@crc-primary-rotation-180-y-tiled-gen12-rc-ccs-cc@pipe-b-hdmi-a-1.html * igt@kms_ccs@crc-primary-suspend-y-tiled-ccs: - shard-glk10: NOTRUN -> [INCOMPLETE][62] ([i915#15582]) +1 other test incomplete [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk10/igt@kms_ccs@crc-primary-suspend-y-tiled-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs: - shard-tglu-1: NOTRUN -> [SKIP][63] ([i915#12313]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs: - shard-rkl: NOTRUN -> [SKIP][64] ([i915#12313]) +1 other test skip [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-c-hdmi-a-1: - shard-rkl: NOTRUN -> [SKIP][65] ([i915#14098] / [i915#6095]) +39 other tests skip [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-2/igt@kms_ccs@crc-sprite-planes-basic-y-tiled-ccs@pipe-c-hdmi-a-1.html * igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-a-hdmi-a-2: - shard-rkl: NOTRUN -> [SKIP][66] ([i915#14544] / [i915#6095]) +5 other tests skip [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs@pipe-a-hdmi-a-2.html * igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs@pipe-b-hdmi-a-1: - shard-dg1: NOTRUN -> [SKIP][67] ([i915#6095]) +155 other tests skip [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-14/igt@kms_ccs@missing-ccs-buffer-yf-tiled-ccs@pipe-b-hdmi-a-1.html * igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2: - shard-glk10: NOTRUN -> [SKIP][68] +52 other tests skip [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk10/igt@kms_ccs@random-ccs-data-4-tiled-dg2-rc-ccs@pipe-c-hdmi-a-2.html * igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-1: - shard-glk: NOTRUN -> [SKIP][69] +228 other tests skip [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk6/igt@kms_ccs@random-ccs-data-y-tiled-gen12-rc-ccs@pipe-a-hdmi-a-1.html * igt@kms_cdclk@plane-scaling: - shard-tglu: NOTRUN -> [SKIP][70] ([i915#3742]) [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_cdclk@plane-scaling.html * igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3: - shard-dg2: NOTRUN -> [SKIP][71] ([i915#13783]) +3 other tests skip [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-1/igt@kms_cdclk@plane-scaling@pipe-c-hdmi-a-3.html * igt@kms_chamelium_edid@dp-edid-resolution-list: - shard-tglu: NOTRUN -> [SKIP][72] ([i915#11151] / [i915#7828]) +5 other tests skip [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_chamelium_edid@dp-edid-resolution-list.html * igt@kms_chamelium_frames@hdmi-crc-multiple: - shard-rkl: NOTRUN -> [SKIP][73] ([i915#11151] / [i915#7828]) +3 other tests skip [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_chamelium_frames@hdmi-crc-multiple.html * igt@kms_chamelium_hpd@dp-hpd-after-suspend: - shard-glk11: NOTRUN -> [SKIP][74] +143 other tests skip [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk11/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html * igt@kms_chamelium_hpd@dp-hpd-storm-disable: - shard-tglu-1: NOTRUN -> [SKIP][75] ([i915#11151] / [i915#7828]) +4 other tests skip [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_chamelium_hpd@dp-hpd-storm-disable.html * igt@kms_content_protection@atomic-dpms-hdcp14: - shard-tglu-1: NOTRUN -> [SKIP][76] ([i915#6944]) [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_content_protection@atomic-dpms-hdcp14.html * igt@kms_content_protection@dp-mst-lic-type-0: - shard-tglu: NOTRUN -> [SKIP][77] ([i915#15330] / [i915#3116] / [i915#3299]) +1 other test skip [77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@kms_content_protection@dp-mst-lic-type-0.html * igt@kms_content_protection@uevent: - shard-tglu-1: NOTRUN -> [SKIP][78] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424]) [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_content_protection@uevent.html * igt@kms_cursor_crc@cursor-offscreen-512x512: - shard-rkl: NOTRUN -> [SKIP][79] ([i915#13049]) [79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_cursor_crc@cursor-offscreen-512x512.html * igt@kms_cursor_crc@cursor-onscreen-512x170: - shard-tglu: NOTRUN -> [SKIP][80] ([i915#13049]) [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_cursor_crc@cursor-onscreen-512x170.html * igt@kms_cursor_crc@cursor-rapid-movement-32x10: - shard-tglu: NOTRUN -> [SKIP][81] ([i915#3555]) +4 other tests skip [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html * igt@kms_cursor_crc@cursor-rapid-movement-32x32: - shard-tglu-1: NOTRUN -> [SKIP][82] ([i915#3555]) [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html * igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1: - shard-tglu-1: NOTRUN -> [FAIL][83] ([i915#13566]) +1 other test fail [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-128x42@pipe-a-hdmi-a-1.html * igt@kms_cursor_crc@cursor-sliding-256x85@pipe-a-hdmi-a-1: - shard-rkl: NOTRUN -> [FAIL][84] ([i915#13566]) [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_cursor_crc@cursor-sliding-256x85@pipe-a-hdmi-a-1.html * igt@kms_cursor_crc@cursor-sliding-512x170: - shard-tglu-1: NOTRUN -> [SKIP][85] ([i915#13049]) [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_cursor_crc@cursor-sliding-512x170.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size: - shard-tglu: NOTRUN -> [SKIP][86] ([i915#4103]) [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle: - shard-rkl: NOTRUN -> [SKIP][87] ([i915#4103]) [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-toggle.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc: - shard-tglu: NOTRUN -> [SKIP][88] ([i915#1769] / [i915#3555] / [i915#3804]) [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc.html * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1: - shard-tglu: NOTRUN -> [SKIP][89] ([i915#3804]) [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html * igt@kms_dp_link_training@uhbr-mst: - shard-tglu-1: NOTRUN -> [SKIP][90] ([i915#13748]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_dp_link_training@uhbr-mst.html * igt@kms_dsc@dsc-fractional-bpp: - shard-rkl: NOTRUN -> [SKIP][91] ([i915#3840]) [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_dsc@dsc-fractional-bpp.html * igt@kms_dsc@dsc-with-bpc-formats: - shard-rkl: NOTRUN -> [SKIP][92] ([i915#3555] / [i915#3840]) +1 other test skip [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_dsc@dsc-with-bpc-formats.html * igt@kms_dsc@dsc-with-output-formats-with-bpc: - shard-tglu: NOTRUN -> [SKIP][93] ([i915#3840] / [i915#9053]) [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@kms_dsc@dsc-with-output-formats-with-bpc.html * igt@kms_fbcon_fbt@fbc-suspend: - shard-rkl: [PASS][94] -> [INCOMPLETE][95] ([i915#9878]) [94]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-8/igt@kms_fbcon_fbt@fbc-suspend.html [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_fbcon_fbt@fbc-suspend.html * igt@kms_feature_discovery@display-2x: - shard-tglu-1: NOTRUN -> [SKIP][96] ([i915#1839]) [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_feature_discovery@display-2x.html * igt@kms_feature_discovery@psr1: - shard-tglu: NOTRUN -> [SKIP][97] ([i915#658]) +1 other test skip [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_feature_discovery@psr1.html * igt@kms_flip@2x-blocking-wf_vblank: - shard-rkl: NOTRUN -> [SKIP][98] ([i915#9934]) +5 other tests skip [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_flip@2x-blocking-wf_vblank.html * igt@kms_flip@2x-flip-vs-rmfb-interruptible: - shard-tglu-1: NOTRUN -> [SKIP][99] ([i915#3637] / [i915#9934]) [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_flip@2x-flip-vs-rmfb-interruptible.html * igt@kms_flip@2x-flip-vs-suspend-interruptible: - shard-glk10: NOTRUN -> [INCOMPLETE][100] ([i915#12745] / [i915#4839]) [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk10/igt@kms_flip@2x-flip-vs-suspend-interruptible.html * igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a1-hdmi-a2: - shard-glk10: NOTRUN -> [INCOMPLETE][101] ([i915#4839]) [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk10/igt@kms_flip@2x-flip-vs-suspend-interruptible@ab-hdmi-a1-hdmi-a2.html * igt@kms_flip@2x-plain-flip-fb-recreate-interruptible: - shard-tglu: NOTRUN -> [SKIP][102] ([i915#3637] / [i915#9934]) +7 other tests skip [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@kms_flip@2x-plain-flip-fb-recreate-interruptible.html * igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a4: - shard-dg1: [PASS][103] -> [FAIL][104] ([i915#13027]) +1 other test fail [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-18/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a4.html [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-17/igt@kms_flip@flip-vs-expired-vblank@a-hdmi-a4.html * igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling: - shard-tglu: NOTRUN -> [SKIP][105] ([i915#15643]) +1 other test skip [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-upscaling.html * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling: - shard-tglu-1: NOTRUN -> [SKIP][106] ([i915#15643]) [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-downscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling: - shard-rkl: NOTRUN -> [SKIP][107] ([i915#15643]) [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt: - shard-tglu: NOTRUN -> [SKIP][108] +44 other tests skip [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-shrfb-plflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-wc: - shard-snb: NOTRUN -> [SKIP][109] +144 other tests skip [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-snb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt: - shard-tglu-1: NOTRUN -> [SKIP][110] +24 other tests skip [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-shrfb-pgflip-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt: - shard-rkl: NOTRUN -> [SKIP][111] ([i915#1825]) +22 other tests skip [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_frontbuffer_tracking@fbcpsr-2p-scndscrn-spr-indfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy: - shard-tglu: NOTRUN -> [SKIP][112] ([i915#15102]) +15 other tests skip [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_frontbuffer_tracking@fbcpsr-modesetfrombusy.html * igt@kms_frontbuffer_tracking@fbcpsr-tiling-4: - shard-tglu-1: NOTRUN -> [SKIP][113] ([i915#5439]) [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-blt: - shard-rkl: NOTRUN -> [SKIP][114] ([i915#15102]) [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-gtt: - shard-tglu-1: NOTRUN -> [SKIP][115] ([i915#15102]) +9 other tests skip [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_frontbuffer_tracking@psr-1p-offscreen-pri-shrfb-draw-mmap-gtt.html * igt@kms_frontbuffer_tracking@psr-rgb565-draw-render: - shard-rkl: NOTRUN -> [SKIP][116] ([i915#15102] / [i915#3023]) +9 other tests skip [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_frontbuffer_tracking@psr-rgb565-draw-render.html * igt@kms_hdr@bpc-switch-dpms: - shard-rkl: [PASS][117] -> [SKIP][118] ([i915#3555] / [i915#8228]) [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_hdr@bpc-switch-dpms.html [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_hdr@bpc-switch-dpms.html * igt@kms_hdr@invalid-hdr: - shard-rkl: NOTRUN -> [SKIP][119] ([i915#3555] / [i915#8228]) [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_hdr@invalid-hdr.html * igt@kms_hdr@static-swap: - shard-tglu: NOTRUN -> [SKIP][120] ([i915#3555] / [i915#8228]) [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@kms_hdr@static-swap.html * igt@kms_hdr@static-toggle: - shard-tglu-1: NOTRUN -> [SKIP][121] ([i915#3555] / [i915#8228]) [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_hdr@static-toggle.html * igt@kms_multipipe_modeset@basic-max-pipe-crc-check: - shard-rkl: NOTRUN -> [SKIP][122] ([i915#15815]) [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_multipipe_modeset@basic-max-pipe-crc-check.html * igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping: - shard-tglu: NOTRUN -> [SKIP][123] ([i915#15709]) +3 other tests skip [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_plane@pixel-format-4-tiled-dg2-mc-ccs-modifier-source-clamping.html * igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping: - shard-tglu-1: NOTRUN -> [SKIP][124] ([i915#15709]) +2 other tests skip [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_plane@pixel-format-4-tiled-dg2-rc-ccs-cc-modifier-source-clamping.html * igt@kms_plane@pixel-format-yf-tiled-ccs-modifier: - shard-rkl: NOTRUN -> [SKIP][125] ([i915#15709]) +1 other test skip [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_plane@pixel-format-yf-tiled-ccs-modifier.html * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b: - shard-glk: NOTRUN -> [INCOMPLETE][126] ([i915#13026]) +1 other test incomplete [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-b.html * igt@kms_plane_multiple@2x-tiling-4: - shard-rkl: NOTRUN -> [SKIP][127] ([i915#13958]) [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_plane_multiple@2x-tiling-4.html * igt@kms_plane_multiple@2x-tiling-y: - shard-tglu: NOTRUN -> [SKIP][128] ([i915#13958]) [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@kms_plane_multiple@2x-tiling-y.html * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation: - shard-rkl: NOTRUN -> [SKIP][129] ([i915#15329] / [i915#3555]) [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation.html * igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b: - shard-rkl: NOTRUN -> [SKIP][130] ([i915#15329]) +2 other tests skip [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-b.html * igt@kms_pm_backlight@bad-brightness: - shard-tglu: NOTRUN -> [SKIP][131] ([i915#9812]) [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_pm_backlight@bad-brightness.html * igt@kms_pm_backlight@fade-with-suspend: - shard-rkl: NOTRUN -> [SKIP][132] ([i915#5354]) [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_pm_backlight@fade-with-suspend.html * igt@kms_pm_dc@dc5-retention-flops: - shard-rkl: NOTRUN -> [SKIP][133] ([i915#3828]) +1 other test skip [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_pm_dc@dc5-retention-flops.html * igt@kms_pm_dc@dc6-psr: - shard-tglu-1: NOTRUN -> [SKIP][134] ([i915#9685]) [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_pm_dc@dc6-psr.html * igt@kms_pm_lpsp@screens-disabled: - shard-tglu: NOTRUN -> [SKIP][135] ([i915#8430]) [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_pm_lpsp@screens-disabled.html * igt@kms_pm_rpm@modeset-lpsp-stress-no-wait: - shard-dg1: [PASS][136] -> [SKIP][137] ([i915#15073]) [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-14/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-13/igt@kms_pm_rpm@modeset-lpsp-stress-no-wait.html * igt@kms_pm_rpm@modeset-non-lpsp: - shard-tglu: NOTRUN -> [SKIP][138] ([i915#15073]) [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_pm_rpm@modeset-non-lpsp.html * igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait: - shard-rkl: [PASS][139] -> [SKIP][140] ([i915#15073]) +1 other test skip [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-2/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html * igt@kms_pm_rpm@system-suspend-modeset: - shard-glk: NOTRUN -> [INCOMPLETE][141] ([i915#10553]) [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk8/igt@kms_pm_rpm@system-suspend-modeset.html - shard-rkl: [PASS][142] -> [INCOMPLETE][143] ([i915#14419]) [142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_pm_rpm@system-suspend-modeset.html [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_pm_rpm@system-suspend-modeset.html * igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf: - shard-rkl: NOTRUN -> [SKIP][144] ([i915#11520]) +2 other tests skip [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf: - shard-tglu-1: NOTRUN -> [SKIP][145] ([i915#11520]) +2 other tests skip [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@pr-cursor-plane-update-sf: - shard-tglu: NOTRUN -> [SKIP][146] ([i915#11520]) +5 other tests skip [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_psr2_sf@pr-cursor-plane-update-sf.html * igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area: - shard-glk: NOTRUN -> [SKIP][147] ([i915#11520]) +4 other tests skip [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk9/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf: - shard-snb: NOTRUN -> [SKIP][148] ([i915#11520]) +2 other tests skip [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-snb1/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html - shard-glk10: NOTRUN -> [SKIP][149] ([i915#11520]) +1 other test skip [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk10/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-fully-sf.html * igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf: - shard-glk11: NOTRUN -> [SKIP][150] ([i915#11520]) +5 other tests skip [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk11/igt@kms_psr2_sf@psr2-cursor-plane-move-continuous-exceed-sf.html * igt@kms_psr2_su@page_flip-p010: - shard-tglu: NOTRUN -> [SKIP][151] ([i915#9683]) [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-6/igt@kms_psr2_su@page_flip-p010.html * igt@kms_psr@fbc-pr-cursor-mmap-gtt: - shard-rkl: NOTRUN -> [SKIP][152] ([i915#1072] / [i915#9732]) +10 other tests skip [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_psr@fbc-pr-cursor-mmap-gtt.html * igt@kms_psr@fbc-pr-suspend: - shard-tglu: NOTRUN -> [SKIP][153] ([i915#9732]) +11 other tests skip [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_psr@fbc-pr-suspend.html * igt@kms_psr@psr2-sprite-mmap-gtt: - shard-tglu-1: NOTRUN -> [SKIP][154] ([i915#9732]) +10 other tests skip [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_psr@psr2-sprite-mmap-gtt.html * igt@kms_rotation_crc@multiplane-rotation: - shard-glk: NOTRUN -> [INCOMPLETE][155] ([i915#15492]) [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk9/igt@kms_rotation_crc@multiplane-rotation.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180: - shard-tglu-1: NOTRUN -> [SKIP][156] ([i915#5289]) +1 other test skip [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-180.html * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90: - shard-rkl: NOTRUN -> [SKIP][157] ([i915#5289]) [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-90.html * igt@kms_selftest@drm_framebuffer: - shard-tglu: NOTRUN -> [ABORT][158] ([i915#13179]) +1 other test abort [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@kms_selftest@drm_framebuffer.html * igt@kms_setmode@basic-clone-single-crtc: - shard-rkl: NOTRUN -> [SKIP][159] ([i915#3555]) +3 other tests skip [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_setmode@basic-clone-single-crtc.html * igt@kms_vrr@max-min: - shard-rkl: NOTRUN -> [SKIP][160] ([i915#9906]) [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_vrr@max-min.html * igt@kms_vrr@seamless-rr-switch-drrs: - shard-tglu-1: NOTRUN -> [SKIP][161] ([i915#9906]) [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-1/igt@kms_vrr@seamless-rr-switch-drrs.html * igt@perf_pmu@busy-double-start@rcs0: - shard-mtlp: [PASS][162] -> [FAIL][163] ([i915#4349]) [162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-mtlp-1/igt@perf_pmu@busy-double-start@rcs0.html [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-mtlp-4/igt@perf_pmu@busy-double-start@rcs0.html * igt@perf_pmu@busy-double-start@vecs1: - shard-dg2: [PASS][164] -> [FAIL][165] ([i915#4349]) +4 other tests fail [164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg2-6/igt@perf_pmu@busy-double-start@vecs1.html [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-5/igt@perf_pmu@busy-double-start@vecs1.html * igt@prime_vgem@basic-write: - shard-rkl: NOTRUN -> [SKIP][166] ([i915#3291] / [i915#3708]) [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@prime_vgem@basic-write.html * igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all: - shard-tglu: NOTRUN -> [FAIL][167] ([i915#12910]) [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-tglu-10/igt@sriov_basic@enable-vfs-bind-unbind-each-numvfs-all.html #### Possible fixes #### * igt@drm_read@fault-buffer: - shard-dg1: [DMESG-WARN][168] ([i915#4423]) -> [PASS][169] +1 other test pass [168]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-19/igt@drm_read@fault-buffer.html [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-18/igt@drm_read@fault-buffer.html * igt@gem_lmem_swapping@smem-oom: - shard-dg1: [FAIL][170] ([i915#15734]) -> [PASS][171] [170]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-13/igt@gem_lmem_swapping@smem-oom.html [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-16/igt@gem_lmem_swapping@smem-oom.html * igt@gem_lmem_swapping@smem-oom@lmem0: - shard-dg1: [CRASH][172] ([i915#5493]) -> [PASS][173] [172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-13/igt@gem_lmem_swapping@smem-oom@lmem0.html [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-16/igt@gem_lmem_swapping@smem-oom@lmem0.html * igt@gem_workarounds@suspend-resume-fd: - shard-glk: [INCOMPLETE][174] ([i915#13356] / [i915#14586]) -> [PASS][175] [174]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-glk8/igt@gem_workarounds@suspend-resume-fd.html [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk9/igt@gem_workarounds@suspend-resume-fd.html * igt@i915_selftest@live: - shard-mtlp: [DMESG-FAIL][176] ([i915#12061] / [i915#15560]) -> [PASS][177] [176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-mtlp-5/igt@i915_selftest@live.html [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-mtlp-2/igt@i915_selftest@live.html * igt@i915_selftest@live@workarounds: - shard-mtlp: [DMESG-FAIL][178] ([i915#12061]) -> [PASS][179] [178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-mtlp-5/igt@i915_selftest@live@workarounds.html [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-mtlp-2/igt@i915_selftest@live@workarounds.html * igt@i915_suspend@basic-s2idle-without-i915: - shard-dg1: [DMESG-WARN][180] ([i915#4391] / [i915#4423]) -> [PASS][181] [180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-18/igt@i915_suspend@basic-s2idle-without-i915.html [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-17/igt@i915_suspend@basic-s2idle-without-i915.html * igt@kms_cursor_crc@cursor-suspend: - shard-rkl: [INCOMPLETE][182] ([i915#12358] / [i915#14152]) -> [PASS][183] [182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-3/igt@kms_cursor_crc@cursor-suspend.html [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_cursor_crc@cursor-suspend.html * igt@kms_force_connector_basic@force-edid: - shard-mtlp: [SKIP][184] ([i915#15672]) -> [PASS][185] [184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-mtlp-1/igt@kms_force_connector_basic@force-edid.html [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-mtlp-5/igt@kms_force_connector_basic@force-edid.html * igt@kms_pm_lpsp@kms-lpsp: - shard-dg2: [SKIP][186] ([i915#9340]) -> [PASS][187] [186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg2-6/igt@kms_pm_lpsp@kms-lpsp.html [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-4/igt@kms_pm_lpsp@kms-lpsp.html * igt@kms_pm_rpm@dpms-lpsp: - shard-rkl: [SKIP][188] ([i915#15073]) -> [PASS][189] +2 other tests pass [188]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@kms_pm_rpm@dpms-lpsp.html [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-5/igt@kms_pm_rpm@dpms-lpsp.html * igt@kms_pm_rpm@dpms-mode-unset-lpsp: - shard-dg2: [SKIP][190] ([i915#15073]) -> [PASS][191] [190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg2-5/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-4/igt@kms_pm_rpm@dpms-mode-unset-lpsp.html * igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2: - shard-rkl: [INCOMPLETE][192] ([i915#12276]) -> [PASS][193] +1 other test pass [192]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-3/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_vblank@ts-continuation-suspend@pipe-a-hdmi-a-2.html * igt@testdisplay: - shard-snb: [DMESG-WARN][194] -> [PASS][195] [194]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-snb5/igt@testdisplay.html [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-snb4/igt@testdisplay.html #### Warnings #### * igt@gem_ccs@block-multicopy-inplace: - shard-rkl: [SKIP][196] ([i915#14544] / [i915#3555] / [i915#9323]) -> [SKIP][197] ([i915#3555] / [i915#9323]) [196]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@gem_ccs@block-multicopy-inplace.html [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@gem_ccs@block-multicopy-inplace.html * igt@gem_create@create-ext-cpu-access-big: - shard-rkl: [SKIP][198] ([i915#6335]) -> [SKIP][199] ([i915#14544] / [i915#6335]) [198]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@gem_create@create-ext-cpu-access-big.html [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_create@create-ext-cpu-access-big.html * igt@gem_exec_balancer@parallel: - shard-rkl: [SKIP][200] ([i915#4525]) -> [SKIP][201] ([i915#14544] / [i915#4525]) [200]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@gem_exec_balancer@parallel.html [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_exec_balancer@parallel.html * igt@gem_exec_reloc@basic-cpu-noreloc: - shard-rkl: [SKIP][202] ([i915#3281]) -> [SKIP][203] ([i915#14544] / [i915#3281]) +2 other tests skip [202]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@gem_exec_reloc@basic-cpu-noreloc.html [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_exec_reloc@basic-cpu-noreloc.html * igt@gem_exec_reloc@basic-gtt-cpu: - shard-rkl: [SKIP][204] ([i915#14544] / [i915#3281]) -> [SKIP][205] ([i915#3281]) +3 other tests skip [204]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@gem_exec_reloc@basic-gtt-cpu.html [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@gem_exec_reloc@basic-gtt-cpu.html * igt@gem_lmem_swapping@parallel-random-verify-ccs: - shard-rkl: [SKIP][206] ([i915#14544] / [i915#4613]) -> [SKIP][207] ([i915#4613]) +1 other test skip [206]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@gem_lmem_swapping@parallel-random-verify-ccs.html [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@gem_lmem_swapping@parallel-random-verify-ccs.html * igt@gem_partial_pwrite_pread@writes-after-reads: - shard-rkl: [SKIP][208] ([i915#3282]) -> [SKIP][209] ([i915#14544] / [i915#3282]) +3 other tests skip [208]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@gem_partial_pwrite_pread@writes-after-reads.html [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_partial_pwrite_pread@writes-after-reads.html * igt@gem_partial_pwrite_pread@writes-after-reads-uncached: - shard-rkl: [SKIP][210] ([i915#14544] / [i915#3282]) -> [SKIP][211] ([i915#3282]) +6 other tests skip [210]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@gem_partial_pwrite_pread@writes-after-reads-uncached.html * igt@gem_pxp@hw-rejects-pxp-context: - shard-rkl: [SKIP][212] ([i915#13717]) -> [SKIP][213] ([i915#13717] / [i915#14544]) [212]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@gem_pxp@hw-rejects-pxp-context.html [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_pxp@hw-rejects-pxp-context.html * igt@gem_set_tiling_vs_blt@tiled-to-untiled: - shard-rkl: [SKIP][214] ([i915#8411]) -> [SKIP][215] ([i915#14544] / [i915#8411]) [214]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_set_tiling_vs_blt@tiled-to-untiled.html * igt@gem_softpin@evict-snoop: - shard-rkl: [SKIP][216] -> [SKIP][217] ([i915#14544]) +12 other tests skip [216]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@gem_softpin@evict-snoop.html [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_softpin@evict-snoop.html * igt@gem_userptr_blits@create-destroy-unsync: - shard-rkl: [SKIP][218] ([i915#3297]) -> [SKIP][219] ([i915#14544] / [i915#3297]) +1 other test skip [218]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@gem_userptr_blits@create-destroy-unsync.html [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@gem_userptr_blits@create-destroy-unsync.html * igt@gem_userptr_blits@invalid-mmap-offset-unsync: - shard-rkl: [SKIP][220] ([i915#14544] / [i915#3297]) -> [SKIP][221] ([i915#3297]) [220]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@gem_userptr_blits@invalid-mmap-offset-unsync.html * igt@gen9_exec_parse@bb-oversize: - shard-rkl: [SKIP][222] ([i915#14544] / [i915#2527]) -> [SKIP][223] ([i915#2527]) +1 other test skip [222]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@gen9_exec_parse@bb-oversize.html [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@gen9_exec_parse@bb-oversize.html * igt@i915_pm_freq_api@freq-basic-api: - shard-rkl: [SKIP][224] ([i915#14544] / [i915#8399]) -> [SKIP][225] ([i915#8399]) [224]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@i915_pm_freq_api@freq-basic-api.html [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@i915_pm_freq_api@freq-basic-api.html * igt@i915_pm_freq_api@freq-reset-multiple: - shard-rkl: [SKIP][226] ([i915#8399]) -> [SKIP][227] ([i915#14544] / [i915#8399]) [226]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@i915_pm_freq_api@freq-reset-multiple.html [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@i915_pm_freq_api@freq-reset-multiple.html * igt@i915_power@sanity: - shard-rkl: [SKIP][228] ([i915#14544] / [i915#7984]) -> [SKIP][229] ([i915#7984]) [228]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@i915_power@sanity.html [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@i915_power@sanity.html * igt@i915_suspend@forcewake: - shard-rkl: [INCOMPLETE][230] ([i915#4817]) -> [ABORT][231] ([i915#15140]) [230]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@i915_suspend@forcewake.html [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-1/igt@i915_suspend@forcewake.html * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels: - shard-rkl: [SKIP][232] ([i915#14544] / [i915#1769] / [i915#3555]) -> [SKIP][233] ([i915#1769] / [i915#3555]) [232]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html * igt@kms_big_fb@4-tiled-32bpp-rotate-0: - shard-rkl: [SKIP][234] ([i915#5286]) -> [SKIP][235] ([i915#14544] / [i915#5286]) +1 other test skip [234]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_big_fb@4-tiled-32bpp-rotate-0.html * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180: - shard-rkl: [SKIP][236] ([i915#14544] / [i915#5286]) -> [SKIP][237] ([i915#5286]) +2 other tests skip [236]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180.html [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-180.html * igt@kms_big_fb@y-tiled-8bpp-rotate-270: - shard-rkl: [SKIP][238] ([i915#3638]) -> [SKIP][239] ([i915#14544] / [i915#3638]) +1 other test skip [238]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-270.html * igt@kms_big_fb@y-tiled-8bpp-rotate-90: - shard-rkl: [SKIP][240] ([i915#14544] / [i915#3638]) -> [SKIP][241] ([i915#3638]) +3 other tests skip [240]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip: - shard-rkl: [SKIP][242] ([i915#14544]) -> [SKIP][243] +6 other tests skip [242]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip: - shard-dg1: [SKIP][244] ([i915#4538]) -> [SKIP][245] ([i915#4423] / [i915#4538]) [244]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-16/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html [245]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-19/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-async-flip.html * igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs: - shard-rkl: [SKIP][246] ([i915#12313]) -> [SKIP][247] ([i915#12313] / [i915#14544]) [246]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-bmg-ccs.html * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2: - shard-rkl: [SKIP][248] ([i915#14544] / [i915#6095]) -> [SKIP][249] ([i915#6095]) +9 other tests skip [248]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-2.html * igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2: - shard-rkl: [SKIP][250] ([i915#14098] / [i915#14544] / [i915#6095]) -> [SKIP][251] ([i915#14098] / [i915#6095]) +9 other tests skip [250]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2.html [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-c-hdmi-a-2.html * igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs: - shard-rkl: [SKIP][252] ([i915#12313] / [i915#14544]) -> [SKIP][253] ([i915#12313]) [252]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_ccs@crc-primary-basic-4-tiled-lnl-ccs.html * igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-a-hdmi-a-4: - shard-dg1: [SKIP][254] ([i915#4423] / [i915#6095]) -> [SKIP][255] ([i915#6095]) +1 other test skip [254]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-18/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-a-hdmi-a-4.html [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-17/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-a-hdmi-a-4.html * igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs: - shard-rkl: [SKIP][256] ([i915#12805] / [i915#14544]) -> [SKIP][257] ([i915#12805]) [256]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_ccs@crc-primary-suspend-4-tiled-bmg-ccs.html * igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs: - shard-rkl: [SKIP][258] ([i915#14098] / [i915#6095]) -> [SKIP][259] ([i915#14098] / [i915#14544] / [i915#6095]) +2 other tests skip [258]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs.html [259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_ccs@crc-sprite-planes-basic-yf-tiled-ccs.html * igt@kms_cdclk@mode-transition-all-outputs: - shard-rkl: [SKIP][260] ([i915#3742]) -> [SKIP][261] ([i915#14544] / [i915#3742]) [260]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@kms_cdclk@mode-transition-all-outputs.html [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_cdclk@mode-transition-all-outputs.html * igt@kms_chamelium_frames@hdmi-cmp-planar-formats: - shard-rkl: [SKIP][262] ([i915#11151] / [i915#14544] / [i915#7828]) -> [SKIP][263] ([i915#11151] / [i915#7828]) +3 other tests skip [262]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html [263]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_chamelium_frames@hdmi-cmp-planar-formats.html * igt@kms_chamelium_hpd@dp-hpd-fast: - shard-rkl: [SKIP][264] ([i915#11151] / [i915#7828]) -> [SKIP][265] ([i915#11151] / [i915#14544] / [i915#7828]) +4 other tests skip [264]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@kms_chamelium_hpd@dp-hpd-fast.html [265]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-fast.html * igt@kms_content_protection@atomic-dpms: - shard-rkl: [SKIP][266] ([i915#14544] / [i915#6944] / [i915#7118] / [i915#9424]) -> [SKIP][267] ([i915#6944] / [i915#7118] / [i915#9424]) [266]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_content_protection@atomic-dpms.html [267]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_content_protection@atomic-dpms.html * igt@kms_content_protection@dp-mst-lic-type-1: - shard-rkl: [SKIP][268] ([i915#15330] / [i915#3116]) -> [SKIP][269] ([i915#14544] / [i915#15330] / [i915#3116]) [268]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_content_protection@dp-mst-lic-type-1.html [269]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_content_protection@dp-mst-lic-type-1.html * igt@kms_content_protection@dp-mst-type-1-suspend-resume: - shard-rkl: [SKIP][270] ([i915#15330]) -> [SKIP][271] ([i915#14544] / [i915#15330]) [270]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_content_protection@dp-mst-type-1-suspend-resume.html * igt@kms_cursor_crc@cursor-onscreen-512x170: - shard-rkl: [SKIP][272] ([i915#13049]) -> [SKIP][273] ([i915#13049] / [i915#14544]) [272]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_cursor_crc@cursor-onscreen-512x170.html [273]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_cursor_crc@cursor-onscreen-512x170.html * igt@kms_cursor_crc@cursor-rapid-movement-32x10: - shard-rkl: [SKIP][274] ([i915#3555]) -> [SKIP][275] ([i915#14544] / [i915#3555]) +1 other test skip [274]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html [275]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-32x10.html * igt@kms_cursor_crc@cursor-rapid-movement-512x170: - shard-rkl: [SKIP][276] ([i915#13049] / [i915#14544]) -> [SKIP][277] ([i915#13049]) [276]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html [277]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_cursor_crc@cursor-rapid-movement-512x170.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-glk: [FAIL][278] ([i915#15804]) -> [FAIL][279] ([i915#15805]) [278]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [279]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-glk4/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size: - shard-rkl: [SKIP][280] ([i915#4103]) -> [SKIP][281] ([i915#14544] / [i915#4103]) [280]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions-varying-size.html * igt@kms_dirtyfb@psr-dirtyfb-ioctl: - shard-rkl: [SKIP][282] ([i915#14544] / [i915#9723]) -> [SKIP][283] ([i915#9723]) [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_dirtyfb@psr-dirtyfb-ioctl.html * igt@kms_dp_linktrain_fallback@dsc-fallback: - shard-rkl: [SKIP][284] ([i915#13707]) -> [SKIP][285] ([i915#13707] / [i915#14544]) [284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_dp_linktrain_fallback@dsc-fallback.html [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_dp_linktrain_fallback@dsc-fallback.html * igt@kms_dsc@dsc-basic: - shard-rkl: [SKIP][286] ([i915#3555] / [i915#3840]) -> [SKIP][287] ([i915#14544] / [i915#3555] / [i915#3840]) [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_dsc@dsc-basic.html [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_dsc@dsc-basic.html * igt@kms_feature_discovery@display-4x: - shard-rkl: [SKIP][288] ([i915#1839]) -> [SKIP][289] ([i915#14544] / [i915#1839]) [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-4/igt@kms_feature_discovery@display-4x.html [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_feature_discovery@display-4x.html * igt@kms_feature_discovery@psr1: - shard-rkl: [SKIP][290] ([i915#658]) -> [SKIP][291] ([i915#14544] / [i915#658]) [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_feature_discovery@psr1.html [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_feature_discovery@psr1.html * igt@kms_flip@2x-plain-flip: - shard-rkl: [SKIP][292] ([i915#9934]) -> [SKIP][293] ([i915#14544] / [i915#9934]) +4 other tests skip [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_flip@2x-plain-flip.html [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_flip@2x-plain-flip.html * igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling: - shard-rkl: [SKIP][294] ([i915#14544] / [i915#15643]) -> [SKIP][295] ([i915#15643]) +3 other tests skip [294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_flip_scaled_crc@flip-64bpp-4tile-to-32bpp-4tiledg2rcccs-downscaling.html * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling: - shard-rkl: [SKIP][296] ([i915#15643]) -> [SKIP][297] ([i915#14544] / [i915#15643]) +2 other tests skip [296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling.html * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc: - shard-rkl: [SKIP][298] ([i915#1825]) -> [SKIP][299] ([i915#14544] / [i915#1825]) +22 other tests skip [298]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html [299]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-wc.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite: - shard-rkl: [SKIP][300] ([i915#14544] / [i915#15102]) -> [SKIP][301] ([i915#15102]) [300]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite.html [301]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt: - shard-rkl: [SKIP][302] ([i915#15102]) -> [SKIP][303] ([i915#14544] / [i915#15102]) +1 other test skip [302]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html [303]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscreen-pri-shrfb-draw-blt.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw: - shard-rkl: [SKIP][304] ([i915#15102] / [i915#3023]) -> [SKIP][305] ([i915#14544] / [i915#15102] / [i915#3023]) +8 other tests skip [304]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html [305]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move: - shard-rkl: [SKIP][306] ([i915#14544] / [i915#15102] / [i915#3023]) -> [SKIP][307] ([i915#15102] / [i915#3023]) +8 other tests skip [306]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html [307]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite: - shard-dg2: [SKIP][308] ([i915#15102] / [i915#3458]) -> [SKIP][309] ([i915#10433] / [i915#15102] / [i915#3458]) +2 other tests skip [308]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg2-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html [309]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render: - shard-dg2: [SKIP][310] ([i915#10433] / [i915#15102] / [i915#3458]) -> [SKIP][311] ([i915#15102] / [i915#3458]) +5 other tests skip [310]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render.html [311]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg2-8/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-render.html * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt: - shard-rkl: [SKIP][312] ([i915#14544] / [i915#1825]) -> [SKIP][313] ([i915#1825]) +14 other tests skip [312]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html [313]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html * igt@kms_hdr@bpc-switch-suspend: - shard-rkl: [ABORT][314] ([i915#15132]) -> [SKIP][315] ([i915#3555] / [i915#8228]) [314]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-1/igt@kms_hdr@bpc-switch-suspend.html [315]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-8/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_joiner@invalid-modeset-ultra-joiner: - shard-rkl: [SKIP][316] ([i915#14544] / [i915#15458]) -> [SKIP][317] ([i915#15458]) [316]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_joiner@invalid-modeset-ultra-joiner.html [317]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_joiner@invalid-modeset-ultra-joiner.html * igt@kms_panel_fitting@legacy: - shard-rkl: [SKIP][318] ([i915#14544] / [i915#6301]) -> [SKIP][319] ([i915#6301]) [318]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_panel_fitting@legacy.html [319]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_panel_fitting@legacy.html * igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier: - shard-rkl: [SKIP][320] ([i915#15709]) -> [SKIP][321] ([i915#14544] / [i915#15709]) +1 other test skip [320]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier.html [321]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_plane@pixel-format-4-tiled-mtl-mc-ccs-modifier.html * igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier: - shard-rkl: [SKIP][322] ([i915#14544] / [i915#15709]) -> [SKIP][323] ([i915#15709]) +2 other tests skip [322]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html [323]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_plane@pixel-format-y-tiled-gen12-mc-ccs-modifier.html * igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c: - shard-rkl: [SKIP][324] ([i915#14544] / [i915#15329]) -> [SKIP][325] ([i915#15329]) +3 other tests skip [324]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html [325]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_plane_scaling@plane-upscale-factor-0-25-with-rotation@pipe-c.html * igt@kms_pm_backlight@bad-brightness: - shard-rkl: [SKIP][326] ([i915#5354]) -> [SKIP][327] ([i915#14544] / [i915#5354]) [326]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_pm_backlight@bad-brightness.html [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_pm_backlight@bad-brightness.html * igt@kms_pm_dc@dc5-psr: - shard-rkl: [SKIP][328] ([i915#14544] / [i915#9685]) -> [SKIP][329] ([i915#9685]) [328]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_pm_dc@dc5-psr.html [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_pm_dc@dc5-psr.html * igt@kms_pm_dc@dc9-dpms: - shard-rkl: [SKIP][330] ([i915#14544] / [i915#15739]) -> [SKIP][331] ([i915#15739]) [330]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_pm_dc@dc9-dpms.html [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-1/igt@kms_pm_dc@dc9-dpms.html * igt@kms_pm_lpsp@kms-lpsp: - shard-dg1: [SKIP][332] ([i915#9340]) -> [SKIP][333] ([i915#3828]) [332]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-dg1-12/igt@kms_pm_lpsp@kms-lpsp.html [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-dg1-14/igt@kms_pm_lpsp@kms-lpsp.html * igt@kms_pm_lpsp@screens-disabled: - shard-rkl: [SKIP][334] ([i915#8430]) -> [SKIP][335] ([i915#14544] / [i915#8430]) [334]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_pm_lpsp@screens-disabled.html [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_pm_lpsp@screens-disabled.html * igt@kms_prime@basic-crc-hybrid: - shard-rkl: [SKIP][336] ([i915#14544] / [i915#6524]) -> [SKIP][337] ([i915#6524]) [336]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_prime@basic-crc-hybrid.html [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_prime@basic-crc-hybrid.html * igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf: - shard-rkl: [SKIP][338] ([i915#11520] / [i915#14544]) -> [SKIP][339] ([i915#11520]) +2 other tests skip [338]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html [339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-4/igt@kms_psr2_sf@pr-overlay-plane-move-continuous-exceed-sf.html * igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf: - shard-rkl: [SKIP][340] ([i915#11520]) -> [SKIP][341] ([i915#11520] / [i915#14544]) +5 other tests skip [340]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html [341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_psr2_sf@pr-overlay-plane-update-continuous-sf.html * igt@kms_psr@psr-cursor-mmap-cpu: - shard-rkl: [SKIP][342] ([i915#1072] / [i915#14544] / [i915#9732]) -> [SKIP][343] ([i915#1072] / [i915#9732]) +10 other tests skip [342]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_psr@psr-cursor-mmap-cpu.html [343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-1/igt@kms_psr@psr-cursor-mmap-cpu.html * igt@kms_psr@psr-sprite-render: - shard-rkl: [SKIP][344] ([i915#1072] / [i915#9732]) -> [SKIP][345] ([i915#1072] / [i915#14544] / [i915#9732]) +4 other tests skip [344]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_psr@psr-sprite-render.html [345]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_psr@psr-sprite-render.html * igt@kms_psr_stress_test@flip-primary-invalidate-overlay: - shard-rkl: [SKIP][346] ([i915#9685]) -> [SKIP][347] ([i915#14544] / [i915#9685]) [346]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html [347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html * igt@kms_scaling_modes@scaling-mode-none: - shard-rkl: [SKIP][348] ([i915#14544] / [i915#3555]) -> [SKIP][349] ([i915#3555]) +1 other test skip [348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_scaling_modes@scaling-mode-none.html [349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_scaling_modes@scaling-mode-none.html * igt@kms_vrr@flipline: - shard-rkl: [SKIP][350] ([i915#15243] / [i915#3555]) -> [SKIP][351] ([i915#14544] / [i915#15243] / [i915#3555]) [350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_vrr@flipline.html [351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_vrr@flipline.html * igt@kms_vrr@lobf: - shard-rkl: [SKIP][352] ([i915#11920]) -> [SKIP][353] ([i915#11920] / [i915#14544]) [352]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@kms_vrr@lobf.html [353]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@kms_vrr@lobf.html * igt@kms_vrr@negative-basic: - shard-rkl: [SKIP][354] ([i915#14544] / [i915#3555] / [i915#9906]) -> [SKIP][355] ([i915#3555] / [i915#9906]) [354]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@kms_vrr@negative-basic.html [355]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@kms_vrr@negative-basic.html * igt@perf@mi-rpc: - shard-rkl: [SKIP][356] ([i915#2434]) -> [SKIP][357] ([i915#14544] / [i915#2434]) [356]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@perf@mi-rpc.html [357]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@perf@mi-rpc.html * igt@prime_vgem@basic-fence-read: - shard-rkl: [SKIP][358] ([i915#3291] / [i915#3708]) -> [SKIP][359] ([i915#14544] / [i915#3291] / [i915#3708]) [358]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@prime_vgem@basic-fence-read.html [359]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@prime_vgem@basic-fence-read.html * igt@prime_vgem@fence-write-hang: - shard-rkl: [SKIP][360] ([i915#14544] / [i915#3708]) -> [SKIP][361] ([i915#3708]) [360]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-6/igt@prime_vgem@fence-write-hang.html [361]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-3/igt@prime_vgem@fence-write-hang.html * igt@sriov_basic@enable-vfs-bind-unbind-each: - shard-rkl: [SKIP][362] ([i915#9917]) -> [SKIP][363] ([i915#14544] / [i915#9917]) [362]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_18130/shard-rkl-2/igt@sriov_basic@enable-vfs-bind-unbind-each.html [363]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/shard-rkl-6/igt@sriov_basic@enable-vfs-bind-unbind-each.html [i915#10307]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10307 [i915#10433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10433 [i915#10434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10434 [i915#10553]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10553 [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072 [i915#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099 [i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151 [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520 [i915#118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/118 [i915#11920]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11920 [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061 [i915#12276]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12276 [i915#12313]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12313 [i915#12358]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12358 [i915#12745]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12745 [i915#12805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12805 [i915#12910]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12910 [i915#13026]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13026 [i915#13027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13027 [i915#13049]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13049 [i915#13179]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13179 [i915#13196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13196 [i915#13356]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13356 [i915#13398]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13398 [i915#13566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13566 [i915#13707]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13707 [i915#13717]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13717 [i915#13748]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13748 [i915#13783]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13783 [i915#13790]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13790 [i915#13821]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13821 [i915#13958]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13958 [i915#14098]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14098 [i915#14152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14152 [i915#14419]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14419 [i915#14498]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14498 [i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544 [i915#14586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14586 [i915#14702]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14702 [i915#15073]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15073 [i915#15102]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15102 [i915#15132]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15132 [i915#15140]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15140 [i915#15243]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15243 [i915#15329]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15329 [i915#15330]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15330 [i915#15342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15342 [i915#15458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15458 [i915#15479]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15479 [i915#15492]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15492 [i915#15560]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15560 [i915#15582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15582 [i915#15643]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15643 [i915#15672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15672 [i915#15709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15709 [i915#15734]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15734 [i915#15739]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15739 [i915#15804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15804 [i915#15805]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15805 [i915#15815]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15815 [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769 [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825 [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839 [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190 [i915#2434]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2434 [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527 [i915#2658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2658 [i915#2681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2681 [i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280 [i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856 [i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023 [i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116 [i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281 [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282 [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291 [i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297 [i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299 [i915#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323 [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458 [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555 [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637 [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638 [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708 [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742 [i915#3804]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3804 [i915#3828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3828 [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840 [i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103 [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349 [i915#4391]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4391 [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423 [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525 [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538 [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613 [i915#4817]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4817 [i915#4839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4839 [i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286 [i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289 [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354 [i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439 [i915#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493 [i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566 [i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723 [i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956 [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095 [i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245 [i915#6301]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6301 [i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335 [i915#6344]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6344 [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524 [i915#658]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/658 [i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944 [i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116 [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118 [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697 [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828 [i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984 [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228 [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399 [i915#8411]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8411 [i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430 [i915#8898]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8898 [i915#9053]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9053 [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323 [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340 [i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424 [i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683 [i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685 [i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723 [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732 [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812 [i915#9878]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9878 [i915#9906]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9906 [i915#9917]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9917 [i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934 Build changes ------------- * Linux: CI_DRM_18130 -> Patchwork_163033v1 CI-20190529: 20190529 CI_DRM_18130: 4a30f5fa0fe382b3915a8208a483d0044c40b9eb @ git://anongit.freedesktop.org/gfx-ci/linux IGT_8793: c623172fdd4dd92bb23dbc55b3930c40266c3e59 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_163033v1: 4a30f5fa0fe382b3915a8208a483d0044c40b9eb @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_163033v1/index.html [-- Attachment #2: Type: text/html, Size: 125231 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2026-03-13 5:12 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-11 14:18 [PATCH 0/5] drm/{i915,xe}: move bo stuff to parent interface Jani Nikula
2026-03-11 14:18 ` [PATCH 1/5] drm/i915: move i915 specific bo implementation to i915 Jani Nikula
2026-03-12 3:39 ` Kandpal, Suraj
2026-03-12 3:52 ` Kandpal, Suraj
2026-03-11 14:18 ` [PATCH 2/5] drm/xe: rename intel_bo.c to xe_display_bo.c Jani Nikula
2026-03-12 3:40 ` Kandpal, Suraj
2026-03-11 14:18 ` [PATCH 3/5] drm/{i915, xe}/bo: move display bo calls to parent interface Jani Nikula
2026-03-12 3:47 ` Kandpal, Suraj
2026-03-12 4:27 ` Kandpal, Suraj
2026-03-11 14:18 ` [PATCH 4/5] drm/i915/fb: make intel_fb_bo.c less dependent on display Jani Nikula
2026-03-12 3:51 ` Kandpal, Suraj
2026-03-11 14:18 ` [PATCH 5/5] drm/{i915,xe}: move framebuffer bo to parent interface Jani Nikula
2026-03-12 4:25 ` Kandpal, Suraj
2026-03-12 9:00 ` [PATCH 5/5] drm/{i915, xe}: " Jani Nikula
2026-03-13 5:12 ` [PATCH 5/5] drm/{i915,xe}: " Kandpal, Suraj
2026-03-11 14:24 ` ✗ CI.checkpatch: warning for drm/{i915,xe}: move bo stuff " Patchwork
2026-03-11 14:25 ` ✓ CI.KUnit: success " Patchwork
2026-03-11 15:11 ` ✓ Xe.CI.BAT: " Patchwork
2026-03-11 15:33 ` ✓ i915.CI.BAT: " Patchwork
2026-03-12 5:44 ` ✓ Xe.CI.FULL: " Patchwork
2026-03-12 6:37 ` ✓ i915.CI.Full: " Patchwork
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.