* [PATCH v2 01/11] drm/i915: Select DRM_CLIENT_SELECTION
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 02/11] drm/xe: " Thomas Zimmermann
` (14 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann,
Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Tvrtko Ursulin
The Kconfig token DRM_CLIENT_SELECTION will make DRM clients
available to drivers. Select it from i915.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Jani Nikula <jani.nikula@linux.intel.com>i
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Tvrtko Ursulin <tursulin@ursulin.net>
---
drivers/gpu/drm/i915/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index db400aad88fa..1158a6b97f9a 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -10,6 +10,7 @@ config DRM_I915
# the shmem_readpage() which depends upon tmpfs
select SHMEM
select TMPFS
+ select DRM_CLIENT_SELECTION
select DRM_DISPLAY_DP_HELPER
select DRM_DISPLAY_DSC_HELPER
select DRM_DISPLAY_HDCP_HELPER
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 02/11] drm/xe: Select DRM_CLIENT_SELECTION
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 01/11] drm/i915: Select DRM_CLIENT_SELECTION Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 03/11] drm/fbdev: Select fbdev I/O helpers from modules that require them Thomas Zimmermann
` (13 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann,
Lucas De Marchi, Thomas Hellström, Rodrigo Vivi
The Kconfig token DRM_CLIENT_SELECTION will make DRM clients
available to drivers. Select it from xe.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
drivers/gpu/drm/xe/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/xe/Kconfig b/drivers/gpu/drm/xe/Kconfig
index ebd0879e04d4..bac96c0dd66e 100644
--- a/drivers/gpu/drm/xe/Kconfig
+++ b/drivers/gpu/drm/xe/Kconfig
@@ -8,6 +8,7 @@ config DRM_XE
select SHMEM
select TMPFS
select DRM_BUDDY
+ select DRM_CLIENT_SELECTION
select DRM_EXEC
select DRM_KMS_HELPER
select DRM_KUNIT_TEST_HELPERS if DRM_XE_KUNIT_TEST != n
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 03/11] drm/fbdev: Select fbdev I/O helpers from modules that require them
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 01/11] drm/i915: Select DRM_CLIENT_SELECTION Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 02/11] drm/xe: " Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-04 18:29 ` kernel test robot
2024-10-02 13:04 ` [PATCH v2 04/11] drm/fbdev: Store fbdev module parameters in separate file Thomas Zimmermann
` (12 subsequent siblings)
15 siblings, 1 reply; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann
Fbdev emulation for SHMEM and TTM requires helpers from the fbdev
subsystem. Select them from the modules that use them instead of the
core DRM module.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
drivers/gpu/drm/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 1df4e627e3d3..88b2ba55fe16 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -11,7 +11,6 @@ menuconfig DRM
select DRM_PANEL_ORIENTATION_QUIRKS
select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
select FB_CORE if DRM_FBDEV_EMULATION
- select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
select HDMI
select I2C
select DMA_SHARED_BUFFER
@@ -332,6 +331,7 @@ config DRM_TTM_HELPER
tristate
depends on DRM
select DRM_TTM
+ select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
help
Helpers for ttm-based gem objects
@@ -345,6 +345,7 @@ config DRM_GEM_DMA_HELPER
config DRM_GEM_SHMEM_HELPER
tristate
depends on DRM && MMU
+ select FB_SYSMEM_HELPERS_DEFERRED if DRM_FBDEV_EMULATION
help
Choose this if you need the GEM shmem helper functions
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 03/11] drm/fbdev: Select fbdev I/O helpers from modules that require them
2024-10-02 13:04 ` [PATCH v2 03/11] drm/fbdev: Select fbdev I/O helpers from modules that require them Thomas Zimmermann
@ 2024-10-04 18:29 ` kernel test robot
0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2024-10-04 18:29 UTC (permalink / raw)
To: Thomas Zimmermann, simona, airlied, javierm, jfalempe
Cc: oe-kbuild-all, dri-devel, amd-gfx, intel-gfx, intel-xe,
Thomas Zimmermann
Hi Thomas,
kernel test robot noticed the following build errors:
[auto build test ERROR on next-20241002]
[also build test ERROR on v6.12-rc1]
[cannot apply to drm-xe/drm-xe-next drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-misc/drm-misc-next drm-tip/drm-tip linus/master v6.12-rc1 v6.11 v6.11-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Thomas-Zimmermann/drm-i915-Select-DRM_CLIENT_SELECTION/20241002-211520
base: next-20241002
patch link: https://lore.kernel.org/r/20241002131306.288618-4-tzimmermann%40suse.de
patch subject: [PATCH v2 03/11] drm/fbdev: Select fbdev I/O helpers from modules that require them
config: arm-aspeed_g5_defconfig (https://download.01.org/0day-ci/archive/20241005/202410050241.Mox9QRjP-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 13.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241005/202410050241.Mox9QRjP-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410050241.Mox9QRjP-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/gpu/drm/drm_fbdev_dma.c: In function 'drm_fbdev_dma_driver_fbdev_probe':
>> drivers/gpu/drm/drm_fbdev_dma.c:218:26: error: 'struct drm_fb_helper' has no member named 'fbdefio'
218 | fb_helper->fbdefio.delay = HZ / 20;
| ^~
drivers/gpu/drm/drm_fbdev_dma.c:219:26: error: 'struct drm_fb_helper' has no member named 'fbdefio'
219 | fb_helper->fbdefio.deferred_io = drm_fb_helper_deferred_io;
| ^~
>> drivers/gpu/drm/drm_fbdev_dma.c:221:21: error: 'struct fb_info' has no member named 'fbdefio'
221 | info->fbdefio = &fb_helper->fbdefio;
| ^~
drivers/gpu/drm/drm_fbdev_dma.c:221:43: error: 'struct drm_fb_helper' has no member named 'fbdefio'
221 | info->fbdefio = &fb_helper->fbdefio;
| ^~
--
In file included from include/linux/bitfield.h:10,
from arch/arm/include/asm/ptrace.h:13,
from arch/arm/include/asm/processor.h:14,
from include/linux/prefetch.h:15,
from arch/arm/include/asm/atomic.h:12,
from include/linux/atomic.h:7,
from include/linux/console.h:17,
from drivers/gpu/drm/drm_fb_helper.c:32:
drivers/gpu/drm/drm_fb_helper.c: In function 'drm_fb_helper_deferred_io':
>> include/linux/container_of.h:20:54: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
include/linux/list.h:601:9: note: in expansion of macro 'container_of'
601 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:612:9: note: in expansion of macro 'list_entry'
612 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:778:20: note: in expansion of macro 'list_first_entry'
778 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:458:27: error: expression in static assertion is not an integer
458 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
include/linux/list.h:601:9: note: in expansion of macro 'container_of'
601 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:612:9: note: in expansion of macro 'list_entry'
612 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:778:20: note: in expansion of macro 'list_first_entry'
778 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
In file included from include/uapi/linux/posix_types.h:5,
from include/uapi/linux/types.h:14,
from include/linux/types.h:6,
from include/linux/atomic.h:5:
>> include/linux/stddef.h:16:33: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
16 | #define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~
include/linux/container_of.h:23:28: note: in expansion of macro 'offsetof'
23 | ((type *)(__mptr - offsetof(type, member))); })
| ^~~~~~~~
include/linux/list.h:601:9: note: in expansion of macro 'container_of'
601 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:612:9: note: in expansion of macro 'list_entry'
612 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:778:20: note: in expansion of macro 'list_first_entry'
778 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
In file included from arch/arm/include/asm/traps.h:6,
from arch/arm/include/asm/thread_info.h:43,
from include/linux/thread_info.h:60,
from include/asm-generic/preempt.h:5,
from ./arch/arm/include/generated/asm/preempt.h:1,
from include/linux/preempt.h:79,
from include/linux/rcupdate.h:27,
from include/linux/rcuwait.h:5,
from include/linux/irq_work.h:6,
from include/linux/console.h:19:
>> include/linux/list.h:769:26: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
769 | list_is_head(&pos->member, (head))
| ^~
include/linux/list.h:779:15: note: in expansion of macro 'list_entry_is_head'
779 | !list_entry_is_head(pos, head, member); \
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/llist.h:52,
from include/linux/smp_types.h:5,
from include/linux/irq_work.h:5:
include/linux/list.h:645:25: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~
include/linux/container_of.h:19:33: note: in definition of macro 'container_of'
19 | void *__mptr = (void *)(ptr); \
| ^~~
include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:780:20: note: in expansion of macro 'list_next_entry'
780 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
include/linux/list.h:645:25: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
include/linux/list.h:601:9: note: in expansion of macro 'container_of'
601 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:780:20: note: in expansion of macro 'list_next_entry'
780 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
>> include/linux/container_of.h:20:54: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
include/linux/list.h:601:9: note: in expansion of macro 'container_of'
601 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:780:20: note: in expansion of macro 'list_next_entry'
780 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
include/linux/list.h:645:25: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:21:23: note: in expansion of macro '__same_type'
21 | __same_type(*(ptr), void), \
| ^~~~~~~~~~~
include/linux/list.h:601:9: note: in expansion of macro 'container_of'
601 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:780:20: note: in expansion of macro 'list_next_entry'
780 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
include/linux/compiler_types.h:458:27: error: expression in static assertion is not an integer
458 | #define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:20:9: note: in expansion of macro 'static_assert'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
20 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
include/linux/list.h:601:9: note: in expansion of macro 'container_of'
601 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:780:20: note: in expansion of macro 'list_next_entry'
780 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
>> include/linux/stddef.h:16:33: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
16 | #define offsetof(TYPE, MEMBER) __builtin_offsetof(TYPE, MEMBER)
| ^~~~~~~~~~~~~~~~~~
include/linux/container_of.h:23:28: note: in expansion of macro 'offsetof'
23 | ((type *)(__mptr - offsetof(type, member))); })
| ^~~~~~~~
include/linux/list.h:601:9: note: in expansion of macro 'container_of'
601 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:645:9: note: in expansion of macro 'list_entry'
645 | list_entry((pos)->member.next, typeof(*(pos)), member)
| ^~~~~~~~~~
include/linux/list.h:780:20: note: in expansion of macro 'list_next_entry'
780 | pos = list_next_entry(pos, member))
| ^~~~~~~~~~~~~~~
drivers/gpu/drm/drm_fb_helper.c:717:9: note: in expansion of macro 'list_for_each_entry'
717 | list_for_each_entry(pageref, pagereflist, list) {
| ^~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/drm_fb_helper.c:718:32: error: invalid use of undefined type 'struct fb_deferred_io_pageref'
718 | start = pageref->offset;
| ^~
vim +218 drivers/gpu/drm/drm_fbdev_dma.c
8998eedda2539d Thomas Zimmermann 2024-09-24 125
8998eedda2539d Thomas Zimmermann 2024-09-24 126 /*
8998eedda2539d Thomas Zimmermann 2024-09-24 127 * struct drm_fb_helper
8998eedda2539d Thomas Zimmermann 2024-09-24 128 */
8998eedda2539d Thomas Zimmermann 2024-09-24 129
8998eedda2539d Thomas Zimmermann 2024-09-24 130 int drm_fbdev_dma_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
8998eedda2539d Thomas Zimmermann 2024-09-24 131 struct drm_fb_helper_surface_size *sizes)
b79fe9abd58bab Thomas Zimmermann 2023-03-13 132 {
b79fe9abd58bab Thomas Zimmermann 2023-03-13 133 struct drm_client_dev *client = &fb_helper->client;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 134 struct drm_device *dev = fb_helper->dev;
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 135 bool use_deferred_io = false;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 136 struct drm_client_buffer *buffer;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 137 struct drm_gem_dma_object *dma_obj;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 138 struct drm_framebuffer *fb;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 139 struct fb_info *info;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 140 u32 format;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 141 struct iosys_map map;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 142 int ret;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 143
b79fe9abd58bab Thomas Zimmermann 2023-03-13 144 drm_dbg_kms(dev, "surface width(%d), height(%d) and bpp(%d)\n",
b79fe9abd58bab Thomas Zimmermann 2023-03-13 145 sizes->surface_width, sizes->surface_height,
b79fe9abd58bab Thomas Zimmermann 2023-03-13 146 sizes->surface_bpp);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 147
cb31c58e8c294f Thomas Huth 2024-07-02 148 format = drm_driver_legacy_fb_format(dev, sizes->surface_bpp,
cb31c58e8c294f Thomas Huth 2024-07-02 149 sizes->surface_depth);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 150 buffer = drm_client_framebuffer_create(client, sizes->surface_width,
b79fe9abd58bab Thomas Zimmermann 2023-03-13 151 sizes->surface_height, format);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 152 if (IS_ERR(buffer))
b79fe9abd58bab Thomas Zimmermann 2023-03-13 153 return PTR_ERR(buffer);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 154 dma_obj = to_drm_gem_dma_obj(buffer->gem);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 155
b79fe9abd58bab Thomas Zimmermann 2023-03-13 156 fb = buffer->fb;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 157
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 158 /*
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 159 * Deferred I/O requires struct page for framebuffer memory,
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 160 * which is not guaranteed for all DMA ranges. We thus only
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 161 * install deferred I/O if we have a framebuffer that requires
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 162 * it.
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 163 */
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 164 if (fb->funcs->dirty)
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 165 use_deferred_io = true;
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 166
b79fe9abd58bab Thomas Zimmermann 2023-03-13 167 ret = drm_client_buffer_vmap(buffer, &map);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 168 if (ret) {
b79fe9abd58bab Thomas Zimmermann 2023-03-13 169 goto err_drm_client_buffer_delete;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 170 } else if (drm_WARN_ON(dev, map.is_iomem)) {
b79fe9abd58bab Thomas Zimmermann 2023-03-13 171 ret = -ENODEV; /* I/O memory not supported; use generic emulation */
b79fe9abd58bab Thomas Zimmermann 2023-03-13 172 goto err_drm_client_buffer_delete;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 173 }
b79fe9abd58bab Thomas Zimmermann 2023-03-13 174
8998eedda2539d Thomas Zimmermann 2024-09-24 175 fb_helper->funcs = &drm_fbdev_dma_helper_funcs;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 176 fb_helper->buffer = buffer;
808a40b6946804 Thomas Zimmermann 2024-04-19 177 fb_helper->fb = fb;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 178
b79fe9abd58bab Thomas Zimmermann 2023-03-13 179 info = drm_fb_helper_alloc_info(fb_helper);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 180 if (IS_ERR(info)) {
b79fe9abd58bab Thomas Zimmermann 2023-03-13 181 ret = PTR_ERR(info);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 182 goto err_drm_client_buffer_vunmap;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 183 }
b79fe9abd58bab Thomas Zimmermann 2023-03-13 184
b79fe9abd58bab Thomas Zimmermann 2023-03-13 185 drm_fb_helper_fill_info(info, fb_helper, sizes);
b79fe9abd58bab Thomas Zimmermann 2023-03-13 186
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 187 if (use_deferred_io)
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 188 info->fbops = &drm_fbdev_dma_deferred_fb_ops;
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 189 else
b79fe9abd58bab Thomas Zimmermann 2023-03-13 190 info->fbops = &drm_fbdev_dma_fb_ops;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 191
b79fe9abd58bab Thomas Zimmermann 2023-03-13 192 /* screen */
b79fe9abd58bab Thomas Zimmermann 2023-03-13 193 info->flags |= FBINFO_VIRTFB; /* system memory */
b79fe9abd58bab Thomas Zimmermann 2023-03-13 194 if (dma_obj->map_noncoherent)
b79fe9abd58bab Thomas Zimmermann 2023-03-13 195 info->flags |= FBINFO_READS_FAST; /* signal caching */
b79fe9abd58bab Thomas Zimmermann 2023-03-13 196 info->screen_size = sizes->surface_height * fb->pitches[0];
b79fe9abd58bab Thomas Zimmermann 2023-03-13 197 info->screen_buffer = map.vaddr;
d92a7580392ad4 Thomas Zimmermann 2024-06-17 198 if (!(info->flags & FBINFO_HIDE_SMEM_START)) {
d92a7580392ad4 Thomas Zimmermann 2024-06-17 199 if (!drm_WARN_ON(dev, is_vmalloc_addr(info->screen_buffer)))
b79fe9abd58bab Thomas Zimmermann 2023-03-13 200 info->fix.smem_start = page_to_phys(virt_to_page(info->screen_buffer));
d92a7580392ad4 Thomas Zimmermann 2024-06-17 201 }
a51c7663f14460 Thomas Zimmermann 2023-03-20 202 info->fix.smem_len = info->screen_size;
b79fe9abd58bab Thomas Zimmermann 2023-03-13 203
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 204 /*
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 205 * Only set up deferred I/O if the screen buffer supports
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 206 * it. If this disagrees with the previous test for ->dirty,
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 207 * mmap on the /dev/fb file might not work correctly.
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 208 */
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 209 if (!is_vmalloc_addr(info->screen_buffer) && info->fix.smem_start) {
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 210 unsigned long pfn = info->fix.smem_start >> PAGE_SHIFT;
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 211
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 212 if (drm_WARN_ON(dev, !pfn_to_page(pfn)))
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 213 use_deferred_io = false;
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 214 }
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 215
808a40b6946804 Thomas Zimmermann 2024-04-19 216 /* deferred I/O */
5a498d4d06d6d9 Thomas Zimmermann 2024-09-04 217 if (use_deferred_io) {
808a40b6946804 Thomas Zimmermann 2024-04-19 @218 fb_helper->fbdefio.delay = HZ / 20;
808a40b6946804 Thomas Zimmermann 2024-04-19 219 fb_helper->fbdefio.deferred_io = drm_fb_helper_deferred_io;
808a40b6946804 Thomas Zimmermann 2024-04-19 220
808a40b6946804 Thomas Zimmermann 2024-04-19 @221 info->fbdefio = &fb_helper->fbdefio;
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 04/11] drm/fbdev: Store fbdev module parameters in separate file
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (2 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 03/11] drm/fbdev: Select fbdev I/O helpers from modules that require them Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 05/11] drm/client: Move client event handlers to drm_client_event.c Thomas Zimmermann
` (11 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann
The fbdev code does not really belong into drm_kms_helper.ko. But
there are module parameters that control the behavior of the fbdev
emulation. It is not possible to remove them from the module without
breaking someone's installation.
Therefore move the fbdev module parameters to drm_kms_helper_common.c,
so that the actual fbdev implementaton can later go into a separate
module.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
drivers/gpu/drm/drm_fb_helper.c | 31 ----------------------
drivers/gpu/drm/drm_internal.h | 7 +++++
drivers/gpu/drm/drm_kms_helper_common.c | 35 +++++++++++++++++++++++++
3 files changed, 42 insertions(+), 31 deletions(-)
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c
index d5e8994345bb..004f7c437897 100644
--- a/drivers/gpu/drm/drm_fb_helper.c
+++ b/drivers/gpu/drm/drm_fb_helper.c
@@ -46,37 +46,6 @@
#include "drm_internal.h"
#include "drm_crtc_internal.h"
-static bool drm_fbdev_emulation = true;
-module_param_named(fbdev_emulation, drm_fbdev_emulation, bool, 0600);
-MODULE_PARM_DESC(fbdev_emulation,
- "Enable legacy fbdev emulation [default=true]");
-
-static int drm_fbdev_overalloc = CONFIG_DRM_FBDEV_OVERALLOC;
-module_param(drm_fbdev_overalloc, int, 0444);
-MODULE_PARM_DESC(drm_fbdev_overalloc,
- "Overallocation of the fbdev buffer (%) [default="
- __MODULE_STRING(CONFIG_DRM_FBDEV_OVERALLOC) "]");
-
-/*
- * In order to keep user-space compatibility, we want in certain use-cases
- * to keep leaking the fbdev physical address to the user-space program
- * handling the fbdev buffer.
- *
- * This is a bad habit, essentially kept to support closed-source OpenGL
- * drivers that should really be moved into open-source upstream projects
- * instead of using legacy physical addresses in user space to communicate
- * with other out-of-tree kernel modules.
- *
- * This module_param *should* be removed as soon as possible and be
- * considered as a broken and legacy behaviour from a modern fbdev device.
- */
-static bool drm_leak_fbdev_smem;
-#if IS_ENABLED(CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM)
-module_param_unsafe(drm_leak_fbdev_smem, bool, 0600);
-MODULE_PARM_DESC(drm_leak_fbdev_smem,
- "Allow unsafe leaking fbdev physical smem address [default=false]");
-#endif
-
static LIST_HEAD(kernel_fb_helper_list);
static DEFINE_MUTEX(kernel_fb_helper_lock);
diff --git a/drivers/gpu/drm/drm_internal.h b/drivers/gpu/drm/drm_internal.h
index 1705bfc90b1e..9af72bab86d1 100644
--- a/drivers/gpu/drm/drm_internal.h
+++ b/drivers/gpu/drm/drm_internal.h
@@ -54,6 +54,13 @@ bool drm_dev_needs_global_mutex(struct drm_device *dev);
struct drm_file *drm_file_alloc(struct drm_minor *minor);
void drm_file_free(struct drm_file *file);
+/* drm_kms_helper_common.c */
+#if defined(CONFIG_DRM_FBDEV_EMULATION)
+extern bool drm_fbdev_emulation;
+extern int drm_fbdev_overalloc;
+extern bool drm_leak_fbdev_smem;
+#endif
+
#ifdef CONFIG_PCI
/* drm_pci.c */
diff --git a/drivers/gpu/drm/drm_kms_helper_common.c b/drivers/gpu/drm/drm_kms_helper_common.c
index 0c7550c0462b..cfdbc1ac88dc 100644
--- a/drivers/gpu/drm/drm_kms_helper_common.c
+++ b/drivers/gpu/drm/drm_kms_helper_common.c
@@ -27,6 +27,41 @@
#include <linux/module.h>
+#include "drm_internal.h"
+
+#if defined(CONFIG_DRM_FBDEV_EMULATION)
+bool drm_fbdev_emulation = true;
+module_param_named(fbdev_emulation, drm_fbdev_emulation, bool, 0600);
+MODULE_PARM_DESC(fbdev_emulation,
+ "Enable legacy fbdev emulation [default=true]");
+
+int drm_fbdev_overalloc = CONFIG_DRM_FBDEV_OVERALLOC;
+module_param(drm_fbdev_overalloc, int, 0444);
+MODULE_PARM_DESC(drm_fbdev_overalloc,
+ "Overallocation of the fbdev buffer (%) [default="
+ __MODULE_STRING(CONFIG_DRM_FBDEV_OVERALLOC) "]");
+
+/*
+ * In order to keep user-space compatibility, we want in certain use-cases
+ * to keep leaking the fbdev physical address to the user-space program
+ * handling the fbdev buffer.
+ *
+ * This is a bad habit, essentially kept to support closed-source OpenGL
+ * drivers that should really be moved into open-source upstream projects
+ * instead of using legacy physical addresses in user space to communicate
+ * with other out-of-tree kernel modules.
+ *
+ * This module_param *should* be removed as soon as possible and be
+ * considered as a broken and legacy behaviour from a modern fbdev device.
+ */
+bool drm_leak_fbdev_smem;
+#if IS_ENABLED(CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM)
+module_param_unsafe(drm_leak_fbdev_smem, bool, 0600);
+MODULE_PARM_DESC(drm_leak_fbdev_smem,
+ "Allow unsafe leaking fbdev physical smem address [default=false]");
+#endif
+#endif
+
MODULE_AUTHOR("David Airlie, Jesse Barnes");
MODULE_DESCRIPTION("DRM KMS helper");
MODULE_LICENSE("GPL and additional rights");
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 05/11] drm/client: Move client event handlers to drm_client_event.c
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (3 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 04/11] drm/fbdev: Store fbdev module parameters in separate file Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 06/11] drm/client: Move suspend/resume into DRM client callbacks Thomas Zimmermann
` (10 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann,
Jani Nikula, Rodrigo Vivi, Joonas Lahtinen, Tvrtko Ursulin,
Karol Herbst, Lyude Paul, Danilo Krummrich
A number of DRM-client functions serve as entry points from device
operations to client code. Moving them info a separate file will later
allow for a more fine-grained kernel configuration. For most of the
users it is sufficient to include <drm/drm_client_event.h> instead of
the full driver-side interface in <drm/drm_client.h>
v2:
- rename new files to drm_client_event.{c,h}
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Tvrtko Ursulin <tursulin@ursulin.net>
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Danilo Krummrich <dakr@redhat.com>
---
Documentation/gpu/drm-client.rst | 3 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/drm_client.c | 121 ----------------
drivers/gpu/drm/drm_client_event.c | 135 ++++++++++++++++++
drivers/gpu/drm/drm_drv.c | 2 +-
drivers/gpu/drm/drm_file.c | 2 +-
drivers/gpu/drm/drm_probe_helper.c | 2 +-
.../drm/i915/display/intel_display_driver.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
include/drm/drm_client.h | 4 -
include/drm/drm_client_event.h | 12 ++
11 files changed, 156 insertions(+), 130 deletions(-)
create mode 100644 drivers/gpu/drm/drm_client_event.c
create mode 100644 include/drm/drm_client_event.h
diff --git a/Documentation/gpu/drm-client.rst b/Documentation/gpu/drm-client.rst
index 58b5a1d1219d..cbcfe30de777 100644
--- a/Documentation/gpu/drm-client.rst
+++ b/Documentation/gpu/drm-client.rst
@@ -13,3 +13,6 @@ Kernel clients
.. kernel-doc:: drivers/gpu/drm/drm_client_modeset.c
:export:
+
+.. kernel-doc:: drivers/gpu/drm/drm_client_event.c
+ :export:
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 3894f43f6d47..6b7d168ca790 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -42,6 +42,7 @@ drm-y := \
drm_bridge.o \
drm_cache.o \
drm_client.o \
+ drm_client_event.o \
drm_client_modeset.o \
drm_color_mgmt.o \
drm_connector.o \
diff --git a/drivers/gpu/drm/drm_client.c b/drivers/gpu/drm/drm_client.c
index bfedcbf516db..549b28a5918c 100644
--- a/drivers/gpu/drm/drm_client.c
+++ b/drivers/gpu/drm/drm_client.c
@@ -10,7 +10,6 @@
#include <linux/slab.h>
#include <drm/drm_client.h>
-#include <drm/drm_debugfs.h>
#include <drm/drm_device.h>
#include <drm/drm_drv.h>
#include <drm/drm_file.h>
@@ -172,99 +171,6 @@ void drm_client_release(struct drm_client_dev *client)
}
EXPORT_SYMBOL(drm_client_release);
-/**
- * drm_client_dev_unregister - Unregister clients
- * @dev: DRM device
- *
- * This function releases all clients by calling each client's
- * &drm_client_funcs.unregister callback. The callback function
- * is responsibe for releaseing all resources including the client
- * itself.
- *
- * The helper drm_dev_unregister() calls this function. Drivers
- * that use it don't need to call this function themselves.
- */
-void drm_client_dev_unregister(struct drm_device *dev)
-{
- struct drm_client_dev *client, *tmp;
-
- if (!drm_core_check_feature(dev, DRIVER_MODESET))
- return;
-
- mutex_lock(&dev->clientlist_mutex);
- list_for_each_entry_safe(client, tmp, &dev->clientlist, list) {
- list_del(&client->list);
- if (client->funcs && client->funcs->unregister) {
- client->funcs->unregister(client);
- } else {
- drm_client_release(client);
- kfree(client);
- }
- }
- mutex_unlock(&dev->clientlist_mutex);
-}
-EXPORT_SYMBOL(drm_client_dev_unregister);
-
-/**
- * drm_client_dev_hotplug - Send hotplug event to clients
- * @dev: DRM device
- *
- * This function calls the &drm_client_funcs.hotplug callback on the attached clients.
- *
- * drm_kms_helper_hotplug_event() calls this function, so drivers that use it
- * don't need to call this function themselves.
- */
-void drm_client_dev_hotplug(struct drm_device *dev)
-{
- struct drm_client_dev *client;
- int ret;
-
- if (!drm_core_check_feature(dev, DRIVER_MODESET))
- return;
-
- if (!dev->mode_config.num_connector) {
- drm_dbg_kms(dev, "No connectors found, will not send hotplug events!\n");
- return;
- }
-
- mutex_lock(&dev->clientlist_mutex);
- list_for_each_entry(client, &dev->clientlist, list) {
- if (!client->funcs || !client->funcs->hotplug)
- continue;
-
- if (client->hotplug_failed)
- continue;
-
- ret = client->funcs->hotplug(client);
- drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret);
- if (ret)
- client->hotplug_failed = true;
- }
- mutex_unlock(&dev->clientlist_mutex);
-}
-EXPORT_SYMBOL(drm_client_dev_hotplug);
-
-void drm_client_dev_restore(struct drm_device *dev)
-{
- struct drm_client_dev *client;
- int ret;
-
- if (!drm_core_check_feature(dev, DRIVER_MODESET))
- return;
-
- mutex_lock(&dev->clientlist_mutex);
- list_for_each_entry(client, &dev->clientlist, list) {
- if (!client->funcs || !client->funcs->restore)
- continue;
-
- ret = client->funcs->restore(client);
- drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret);
- if (!ret) /* The first one to return zero gets the privilege to restore */
- break;
- }
- mutex_unlock(&dev->clientlist_mutex);
-}
-
static void drm_client_buffer_delete(struct drm_client_buffer *buffer)
{
if (buffer->gem) {
@@ -584,30 +490,3 @@ int drm_client_framebuffer_flush(struct drm_client_buffer *buffer, struct drm_re
0, 0, NULL, 0);
}
EXPORT_SYMBOL(drm_client_framebuffer_flush);
-
-#ifdef CONFIG_DEBUG_FS
-static int drm_client_debugfs_internal_clients(struct seq_file *m, void *data)
-{
- struct drm_debugfs_entry *entry = m->private;
- struct drm_device *dev = entry->dev;
- struct drm_printer p = drm_seq_file_printer(m);
- struct drm_client_dev *client;
-
- mutex_lock(&dev->clientlist_mutex);
- list_for_each_entry(client, &dev->clientlist, list)
- drm_printf(&p, "%s\n", client->name);
- mutex_unlock(&dev->clientlist_mutex);
-
- return 0;
-}
-
-static const struct drm_debugfs_info drm_client_debugfs_list[] = {
- { "internal_clients", drm_client_debugfs_internal_clients, 0 },
-};
-
-void drm_client_debugfs_init(struct drm_device *dev)
-{
- drm_debugfs_add_files(dev, drm_client_debugfs_list,
- ARRAY_SIZE(drm_client_debugfs_list));
-}
-#endif
diff --git a/drivers/gpu/drm/drm_client_event.c b/drivers/gpu/drm/drm_client_event.c
new file mode 100644
index 000000000000..d13d44320c5c
--- /dev/null
+++ b/drivers/gpu/drm/drm_client_event.c
@@ -0,0 +1,135 @@
+// SPDX-License-Identifier: GPL-2.0 or MIT
+/*
+ * Copyright 2018 Noralf Trønnes
+ */
+
+#include <linux/list.h>
+#include <linux/mutex.h>
+#include <linux/seq_file.h>
+
+#include <drm/drm_client.h>
+#include <drm/drm_client_event.h>
+#include <drm/drm_debugfs.h>
+#include <drm/drm_device.h>
+#include <drm/drm_drv.h>
+#include <drm/drm_print.h>
+
+/**
+ * drm_client_dev_unregister - Unregister clients
+ * @dev: DRM device
+ *
+ * This function releases all clients by calling each client's
+ * &drm_client_funcs.unregister callback. The callback function
+ * is responsibe for releaseing all resources including the client
+ * itself.
+ *
+ * The helper drm_dev_unregister() calls this function. Drivers
+ * that use it don't need to call this function themselves.
+ */
+void drm_client_dev_unregister(struct drm_device *dev)
+{
+ struct drm_client_dev *client, *tmp;
+
+ if (!drm_core_check_feature(dev, DRIVER_MODESET))
+ return;
+
+ mutex_lock(&dev->clientlist_mutex);
+ list_for_each_entry_safe(client, tmp, &dev->clientlist, list) {
+ list_del(&client->list);
+ if (client->funcs && client->funcs->unregister) {
+ client->funcs->unregister(client);
+ } else {
+ drm_client_release(client);
+ kfree(client);
+ }
+ }
+ mutex_unlock(&dev->clientlist_mutex);
+}
+EXPORT_SYMBOL(drm_client_dev_unregister);
+
+/**
+ * drm_client_dev_hotplug - Send hotplug event to clients
+ * @dev: DRM device
+ *
+ * This function calls the &drm_client_funcs.hotplug callback on the attached clients.
+ *
+ * drm_kms_helper_hotplug_event() calls this function, so drivers that use it
+ * don't need to call this function themselves.
+ */
+void drm_client_dev_hotplug(struct drm_device *dev)
+{
+ struct drm_client_dev *client;
+ int ret;
+
+ if (!drm_core_check_feature(dev, DRIVER_MODESET))
+ return;
+
+ if (!dev->mode_config.num_connector) {
+ drm_dbg_kms(dev, "No connectors found, will not send hotplug events!\n");
+ return;
+ }
+
+ mutex_lock(&dev->clientlist_mutex);
+ list_for_each_entry(client, &dev->clientlist, list) {
+ if (!client->funcs || !client->funcs->hotplug)
+ continue;
+
+ if (client->hotplug_failed)
+ continue;
+
+ ret = client->funcs->hotplug(client);
+ drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret);
+ if (ret)
+ client->hotplug_failed = true;
+ }
+ mutex_unlock(&dev->clientlist_mutex);
+}
+EXPORT_SYMBOL(drm_client_dev_hotplug);
+
+void drm_client_dev_restore(struct drm_device *dev)
+{
+ struct drm_client_dev *client;
+ int ret;
+
+ if (!drm_core_check_feature(dev, DRIVER_MODESET))
+ return;
+
+ mutex_lock(&dev->clientlist_mutex);
+ list_for_each_entry(client, &dev->clientlist, list) {
+ if (!client->funcs || !client->funcs->restore)
+ continue;
+
+ ret = client->funcs->restore(client);
+ drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret);
+ if (!ret) /* The first one to return zero gets the privilege to restore */
+ break;
+ }
+ mutex_unlock(&dev->clientlist_mutex);
+}
+
+#ifdef CONFIG_DEBUG_FS
+static int drm_client_debugfs_internal_clients(struct seq_file *m, void *data)
+{
+ struct drm_debugfs_entry *entry = m->private;
+ struct drm_device *dev = entry->dev;
+ struct drm_printer p = drm_seq_file_printer(m);
+ struct drm_client_dev *client;
+
+ mutex_lock(&dev->clientlist_mutex);
+ list_for_each_entry(client, &dev->clientlist, list)
+ drm_printf(&p, "%s\n", client->name);
+ mutex_unlock(&dev->clientlist_mutex);
+
+ return 0;
+}
+
+static const struct drm_debugfs_info drm_client_debugfs_list[] = {
+ { "internal_clients", drm_client_debugfs_internal_clients, 0 },
+};
+
+void drm_client_debugfs_init(struct drm_device *dev)
+{
+ drm_debugfs_add_files(dev, drm_client_debugfs_list,
+ ARRAY_SIZE(drm_client_debugfs_list));
+}
+#endif
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c
index ac30b0ec9d93..c2c172eb25df 100644
--- a/drivers/gpu/drm/drm_drv.c
+++ b/drivers/gpu/drm/drm_drv.c
@@ -38,7 +38,7 @@
#include <drm/drm_accel.h>
#include <drm/drm_cache.h>
-#include <drm/drm_client.h>
+#include <drm/drm_client_event.h>
#include <drm/drm_color_mgmt.h>
#include <drm/drm_drv.h>
#include <drm/drm_file.h>
diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c
index ad1dc638c83b..7415abb7faca 100644
--- a/drivers/gpu/drm/drm_file.c
+++ b/drivers/gpu/drm/drm_file.c
@@ -40,7 +40,7 @@
#include <linux/slab.h>
#include <linux/vga_switcheroo.h>
-#include <drm/drm_client.h>
+#include <drm/drm_client_event.h>
#include <drm/drm_drv.h>
#include <drm/drm_file.h>
#include <drm/drm_gem.h>
diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c
index 92f21764246f..96b266b37ba4 100644
--- a/drivers/gpu/drm/drm_probe_helper.c
+++ b/drivers/gpu/drm/drm_probe_helper.c
@@ -33,7 +33,7 @@
#include <linux/moduleparam.h>
#include <drm/drm_bridge.h>
-#include <drm/drm_client.h>
+#include <drm/drm_client_event.h>
#include <drm/drm_crtc.h>
#include <drm/drm_edid.h>
#include <drm/drm_fourcc.h>
diff --git a/drivers/gpu/drm/i915/display/intel_display_driver.c b/drivers/gpu/drm/i915/display/intel_display_driver.c
index c106fb2dd20b..673f9b965494 100644
--- a/drivers/gpu/drm/i915/display/intel_display_driver.c
+++ b/drivers/gpu/drm/i915/display/intel_display_driver.c
@@ -11,7 +11,7 @@
#include <acpi/video.h>
#include <drm/display/drm_dp_mst_helper.h>
#include <drm/drm_atomic_helper.h>
-#include <drm/drm_client.h>
+#include <drm/drm_client_event.h>
#include <drm/drm_mode_config.h>
#include <drm/drm_privacy_screen_consumer.h>
#include <drm/drm_probe_helper.h>
diff --git a/drivers/gpu/drm/nouveau/nouveau_vga.c b/drivers/gpu/drm/nouveau/nouveau_vga.c
index ab4e11dc0b8a..a6c375a24154 100644
--- a/drivers/gpu/drm/nouveau/nouveau_vga.c
+++ b/drivers/gpu/drm/nouveau/nouveau_vga.c
@@ -2,7 +2,7 @@
#include <linux/vgaarb.h>
#include <linux/vga_switcheroo.h>
-#include <drm/drm_fb_helper.h>
+#include <drm/drm_client_event.h>
#include "nouveau_drv.h"
#include "nouveau_acpi.h"
diff --git a/include/drm/drm_client.h b/include/drm/drm_client.h
index bc0e66f9c425..dfd5afcc9463 100644
--- a/include/drm/drm_client.h
+++ b/include/drm/drm_client.h
@@ -121,10 +121,6 @@ int drm_client_init(struct drm_device *dev, struct drm_client_dev *client,
void drm_client_release(struct drm_client_dev *client);
void drm_client_register(struct drm_client_dev *client);
-void drm_client_dev_unregister(struct drm_device *dev);
-void drm_client_dev_hotplug(struct drm_device *dev);
-void drm_client_dev_restore(struct drm_device *dev);
-
/**
* struct drm_client_buffer - DRM client buffer
*/
diff --git a/include/drm/drm_client_event.h b/include/drm/drm_client_event.h
new file mode 100644
index 000000000000..2c8915241120
--- /dev/null
+++ b/include/drm/drm_client_event.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0 or MIT */
+
+#ifndef _DRM_CLIENT_EVENT_H_
+#define _DRM_CLIENT_EVENT_H_
+
+struct drm_device;
+
+void drm_client_dev_unregister(struct drm_device *dev);
+void drm_client_dev_hotplug(struct drm_device *dev);
+void drm_client_dev_restore(struct drm_device *dev);
+
+#endif
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 06/11] drm/client: Move suspend/resume into DRM client callbacks
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (4 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 05/11] drm/client: Move client event handlers to drm_client_event.c Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 07/11] drm/amdgpu: Suspend and resume internal clients with client helpers Thomas Zimmermann
` (9 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann
Suspend and resume is still tied to fbdev emulation. Modeset helpers
and several drivers call drm_fb_helper_set_suspend_unlocked() to inform
the fbdev client about suspend/resume events.
To make it work with arbitrary clients, add per-client callback
functions for suspend and resume. Implement them for fbdev emulation
with the existing drm_fb_helper_set_suspend_unlocked(). Then update
DRM's modeset helpers to call the new interface.
Clients that are not fbdev can now implement suspend/resume to their
requirements.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
drivers/gpu/drm/drm_client_event.c | 60 ++++++++++++++++++++++++++++
drivers/gpu/drm/drm_fbdev_client.c | 30 +++++++++++++-
drivers/gpu/drm/drm_modeset_helper.c | 14 ++++---
include/drm/drm_client.h | 35 ++++++++++++++++
include/drm/drm_client_event.h | 2 +
5 files changed, 133 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/drm_client_event.c b/drivers/gpu/drm/drm_client_event.c
index d13d44320c5c..c52e93643672 100644
--- a/drivers/gpu/drm/drm_client_event.c
+++ b/drivers/gpu/drm/drm_client_event.c
@@ -107,6 +107,66 @@ void drm_client_dev_restore(struct drm_device *dev)
mutex_unlock(&dev->clientlist_mutex);
}
+static int drm_client_suspend(struct drm_client_dev *client, bool holds_console_lock)
+{
+ struct drm_device *dev = client->dev;
+ int ret = 0;
+
+ if (drm_WARN_ON_ONCE(dev, client->suspended))
+ return 0;
+
+ if (client->funcs && client->funcs->suspend)
+ ret = client->funcs->suspend(client, holds_console_lock);
+ drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret);
+
+ client->suspended = true;
+
+ return ret;
+}
+
+void drm_client_dev_suspend(struct drm_device *dev, bool holds_console_lock)
+{
+ struct drm_client_dev *client;
+
+ mutex_lock(&dev->clientlist_mutex);
+ list_for_each_entry(client, &dev->clientlist, list) {
+ if (!client->suspended)
+ drm_client_suspend(client, holds_console_lock);
+ }
+ mutex_unlock(&dev->clientlist_mutex);
+}
+EXPORT_SYMBOL(drm_client_dev_suspend);
+
+static int drm_client_resume(struct drm_client_dev *client, bool holds_console_lock)
+{
+ struct drm_device *dev = client->dev;
+ int ret = 0;
+
+ if (drm_WARN_ON_ONCE(dev, !client->suspended))
+ return 0;
+
+ if (client->funcs && client->funcs->resume)
+ ret = client->funcs->resume(client, holds_console_lock);
+ drm_dbg_kms(dev, "%s: ret=%d\n", client->name, ret);
+
+ client->suspended = false;
+
+ return ret;
+}
+
+void drm_client_dev_resume(struct drm_device *dev, bool holds_console_lock)
+{
+ struct drm_client_dev *client;
+
+ mutex_lock(&dev->clientlist_mutex);
+ list_for_each_entry(client, &dev->clientlist, list) {
+ if (client->suspended)
+ drm_client_resume(client, holds_console_lock);
+ }
+ mutex_unlock(&dev->clientlist_mutex);
+}
+EXPORT_SYMBOL(drm_client_dev_resume);
+
#ifdef CONFIG_DEBUG_FS
static int drm_client_debugfs_internal_clients(struct seq_file *m, void *data)
{
diff --git a/drivers/gpu/drm/drm_fbdev_client.c b/drivers/gpu/drm/drm_fbdev_client.c
index a09382afe2fb..246fb63ab250 100644
--- a/drivers/gpu/drm/drm_fbdev_client.c
+++ b/drivers/gpu/drm/drm_fbdev_client.c
@@ -61,11 +61,37 @@ static int drm_fbdev_client_hotplug(struct drm_client_dev *client)
return ret;
}
+static int drm_fbdev_client_suspend(struct drm_client_dev *client, bool holds_console_lock)
+{
+ struct drm_fb_helper *fb_helper = drm_fb_helper_from_client(client);
+
+ if (holds_console_lock)
+ drm_fb_helper_set_suspend(fb_helper, true);
+ else
+ drm_fb_helper_set_suspend_unlocked(fb_helper, true);
+
+ return 0;
+}
+
+static int drm_fbdev_client_resume(struct drm_client_dev *client, bool holds_console_lock)
+{
+ struct drm_fb_helper *fb_helper = drm_fb_helper_from_client(client);
+
+ if (holds_console_lock)
+ drm_fb_helper_set_suspend(fb_helper, false);
+ else
+ drm_fb_helper_set_suspend_unlocked(fb_helper, false);
+
+ return 0;
+}
+
static const struct drm_client_funcs drm_fbdev_client_funcs = {
.owner = THIS_MODULE,
.unregister = drm_fbdev_client_unregister,
.restore = drm_fbdev_client_restore,
.hotplug = drm_fbdev_client_hotplug,
+ .suspend = drm_fbdev_client_suspend,
+ .resume = drm_fbdev_client_resume,
};
/**
@@ -76,8 +102,8 @@ static const struct drm_client_funcs drm_fbdev_client_funcs = {
*
* This function sets up fbdev emulation. Restore, hotplug events and
* teardown are all taken care of. Drivers that do suspend/resume need
- * to call drm_fb_helper_set_suspend_unlocked() themselves. Simple
- * drivers might use drm_mode_config_helper_suspend().
+ * to call drm_client_dev_suspend() and drm_client_dev_resume() by
+ * themselves. Simple drivers might use drm_mode_config_helper_suspend().
*
* This function is safe to call even when there are no connectors present.
* Setup will be retried on the next hotplug event.
diff --git a/drivers/gpu/drm/drm_modeset_helper.c b/drivers/gpu/drm/drm_modeset_helper.c
index 2c582020cb42..5565464c1734 100644
--- a/drivers/gpu/drm/drm_modeset_helper.c
+++ b/drivers/gpu/drm/drm_modeset_helper.c
@@ -21,7 +21,7 @@
*/
#include <drm/drm_atomic_helper.h>
-#include <drm/drm_fb_helper.h>
+#include <drm/drm_client_event.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_framebuffer.h>
#include <drm/drm_modeset_helper.h>
@@ -185,7 +185,7 @@ EXPORT_SYMBOL(drm_crtc_init);
* Zero on success, negative error code on error.
*
* See also:
- * drm_kms_helper_poll_disable() and drm_fb_helper_set_suspend_unlocked().
+ * drm_kms_helper_poll_disable() and drm_client_dev_suspend().
*/
int drm_mode_config_helper_suspend(struct drm_device *dev)
{
@@ -199,10 +199,11 @@ int drm_mode_config_helper_suspend(struct drm_device *dev)
if (dev->mode_config.poll_enabled)
drm_kms_helper_poll_disable(dev);
- drm_fb_helper_set_suspend_unlocked(dev->fb_helper, 1);
+ drm_client_dev_suspend(dev, false);
state = drm_atomic_helper_suspend(dev);
if (IS_ERR(state)) {
- drm_fb_helper_set_suspend_unlocked(dev->fb_helper, 0);
+ drm_client_dev_resume(dev, false);
+
/*
* Don't enable polling if it was never initialized
*/
@@ -230,7 +231,7 @@ EXPORT_SYMBOL(drm_mode_config_helper_suspend);
* Zero on success, negative error code on error.
*
* See also:
- * drm_fb_helper_set_suspend_unlocked() and drm_kms_helper_poll_enable().
+ * drm_client_dev_resume() and drm_kms_helper_poll_enable().
*/
int drm_mode_config_helper_resume(struct drm_device *dev)
{
@@ -247,7 +248,8 @@ int drm_mode_config_helper_resume(struct drm_device *dev)
DRM_ERROR("Failed to resume (%d)\n", ret);
dev->mode_config.suspend_state = NULL;
- drm_fb_helper_set_suspend_unlocked(dev->fb_helper, 0);
+ drm_client_dev_resume(dev, false);
+
/*
* Don't enable polling if it is not initialized
*/
diff --git a/include/drm/drm_client.h b/include/drm/drm_client.h
index dfd5afcc9463..c03c4b0f3e94 100644
--- a/include/drm/drm_client.h
+++ b/include/drm/drm_client.h
@@ -63,6 +63,34 @@ struct drm_client_funcs {
* This callback is optional.
*/
int (*hotplug)(struct drm_client_dev *client);
+
+ /**
+ * @suspend:
+ *
+ * Called when suspending the device.
+ *
+ * This callback is optional.
+ *
+ * FIXME: Some callers hold the console lock when invoking this
+ * function. This interferes with fbdev emulation, which
+ * also tries to acquire the lock. Push the console lock
+ * into the callback and remove 'holds_console_lock'.
+ */
+ int (*suspend)(struct drm_client_dev *client, bool holds_console_lock);
+
+ /**
+ * @resume:
+ *
+ * Called when resuming the device from suspend.
+ *
+ * This callback is optional.
+ *
+ * FIXME: Some callers hold the console lock when invoking this
+ * function. This interferes with fbdev emulation, which
+ * also tries to acquire the lock. Push the console lock
+ * into the callback and remove 'holds_console_lock'.
+ */
+ int (*resume)(struct drm_client_dev *client, bool holds_console_lock);
};
/**
@@ -107,6 +135,13 @@ struct drm_client_dev {
*/
struct drm_mode_set *modesets;
+ /**
+ * @suspended:
+ *
+ * The client has been suspended.
+ */
+ bool suspended;
+
/**
* @hotplug_failed:
*
diff --git a/include/drm/drm_client_event.h b/include/drm/drm_client_event.h
index 2c8915241120..72c97d111169 100644
--- a/include/drm/drm_client_event.h
+++ b/include/drm/drm_client_event.h
@@ -8,5 +8,7 @@ struct drm_device;
void drm_client_dev_unregister(struct drm_device *dev);
void drm_client_dev_hotplug(struct drm_device *dev);
void drm_client_dev_restore(struct drm_device *dev);
+void drm_client_dev_suspend(struct drm_device *dev, bool holds_console_lock);
+void drm_client_dev_resume(struct drm_device *dev, bool holds_console_lock);
#endif
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 07/11] drm/amdgpu: Suspend and resume internal clients with client helpers
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (5 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 06/11] drm/client: Move suspend/resume into DRM client callbacks Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 08/11] drm/nouveau: Suspend and resume " Thomas Zimmermann
` (8 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann,
Alex Deucher, Christian König, Xinhui Pan
Replace calls to drm_fb_helper_set_suspend_unlocked() with calls
to the client functions drm_client_dev_suspend() and
drm_client_dev_resume(). Any registered in-kernel client will now
receive suspend and resume events.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Xinhui Pan <Xinhui.Pan@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index fd853dc843e9..9c40d620a658 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -37,8 +37,8 @@
#include <drm/drm_aperture.h>
#include <drm/drm_atomic_helper.h>
+#include <drm/drm_client_event.h>
#include <drm/drm_crtc_helper.h>
-#include <drm/drm_fb_helper.h>
#include <drm/drm_probe_helper.h>
#include <drm/amdgpu_drm.h>
#include <linux/device.h>
@@ -4711,13 +4711,13 @@ int amdgpu_device_prepare(struct drm_device *dev)
* amdgpu_device_suspend - initiate device suspend
*
* @dev: drm dev pointer
- * @fbcon : notify the fbdev of suspend
+ * @notify_clients: notify in-kernel DRM clients
*
* Puts the hw in the suspend state (all asics).
* Returns 0 for success or an error on failure.
* Called at driver suspend.
*/
-int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
+int amdgpu_device_suspend(struct drm_device *dev, bool notify_clients)
{
struct amdgpu_device *adev = drm_to_adev(dev);
int r = 0;
@@ -4737,8 +4737,8 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
if (amdgpu_acpi_smart_shift_update(dev, AMDGPU_SS_DEV_D3))
DRM_WARN("smart shift update failed\n");
- if (fbcon)
- drm_fb_helper_set_suspend_unlocked(adev_to_drm(adev)->fb_helper, true);
+ if (notify_clients)
+ drm_client_dev_suspend(adev_to_drm(adev), false);
cancel_delayed_work_sync(&adev->delayed_init_work);
@@ -4773,13 +4773,13 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
* amdgpu_device_resume - initiate device resume
*
* @dev: drm dev pointer
- * @fbcon : notify the fbdev of resume
+ * @notify_clients: notify in-kernel DRM clients
*
* Bring the hw back to operating state (all asics).
* Returns 0 for success or an error on failure.
* Called at driver resume.
*/
-int amdgpu_device_resume(struct drm_device *dev, bool fbcon)
+int amdgpu_device_resume(struct drm_device *dev, bool notify_clients)
{
struct amdgpu_device *adev = drm_to_adev(dev);
int r = 0;
@@ -4835,8 +4835,8 @@ int amdgpu_device_resume(struct drm_device *dev, bool fbcon)
/* Make sure IB tests flushed */
flush_delayed_work(&adev->delayed_init_work);
- if (fbcon)
- drm_fb_helper_set_suspend_unlocked(adev_to_drm(adev)->fb_helper, false);
+ if (notify_clients)
+ drm_client_dev_resume(adev_to_drm(adev), false);
amdgpu_ras_resume(adev);
@@ -5448,7 +5448,7 @@ int amdgpu_do_asic_reset(struct list_head *device_list_handle,
if (r)
goto out;
- drm_fb_helper_set_suspend_unlocked(adev_to_drm(tmp_adev)->fb_helper, false);
+ drm_client_dev_resume(adev_to_drm(tmp_adev), false);
/*
* The GPU enters bad state once faulty pages
@@ -5734,7 +5734,7 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
*/
amdgpu_unregister_gpu_instance(tmp_adev);
- drm_fb_helper_set_suspend_unlocked(adev_to_drm(tmp_adev)->fb_helper, true);
+ drm_client_dev_suspend(adev_to_drm(tmp_adev), false);
/* disable ras on ALL IPs */
if (!need_emergency_restart &&
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 08/11] drm/nouveau: Suspend and resume clients with client helpers
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (6 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 07/11] drm/amdgpu: Suspend and resume internal clients with client helpers Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 09/11] drm/radeon: " Thomas Zimmermann
` (7 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann,
Karol Herbst, Lyude Paul, Danilo Krummrich
Replace calls to drm_fb_helper_set_suspend_unlocked() with calls
to the client functions drm_client_dev_suspend() and
drm_client_dev_resume(). Any registered in-kernel client will now
receive suspend and resume events.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Danilo Krummrich <dakr@redhat.com>
---
drivers/gpu/drm/nouveau/nouveau_display.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/nouveau/nouveau_display.c b/drivers/gpu/drm/nouveau/nouveau_display.c
index e2fd561cd23f..619a3efbe8c8 100644
--- a/drivers/gpu/drm/nouveau/nouveau_display.c
+++ b/drivers/gpu/drm/nouveau/nouveau_display.c
@@ -28,8 +28,8 @@
#include <drm/drm_atomic.h>
#include <drm/drm_atomic_helper.h>
+#include <drm/drm_client_event.h>
#include <drm/drm_crtc_helper.h>
-#include <drm/drm_fb_helper.h>
#include <drm/drm_fourcc.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_probe_helper.h>
@@ -804,8 +804,7 @@ nouveau_display_suspend(struct drm_device *dev, bool runtime)
{
struct nouveau_display *disp = nouveau_display(dev);
- /* Disable console. */
- drm_fb_helper_set_suspend_unlocked(dev->fb_helper, true);
+ drm_client_dev_suspend(dev, false);
if (drm_drv_uses_atomic_modeset(dev)) {
if (!runtime) {
@@ -836,8 +835,7 @@ nouveau_display_resume(struct drm_device *dev, bool runtime)
}
}
- /* Enable console. */
- drm_fb_helper_set_suspend_unlocked(dev->fb_helper, false);
+ drm_client_dev_resume(dev, false);
}
int
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 09/11] drm/radeon: Suspend and resume clients with client helpers
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (7 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 08/11] drm/nouveau: Suspend and resume " Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 13:04 ` [PATCH v2 10/11] drm/client: Make client support optional Thomas Zimmermann
` (6 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann,
Alex Deucher, Christian König, Xinhui Pan
Replace calls to drm_fb_helper_set_suspend() with calls to the client
functions drm_client_dev_suspend() and drm_client_dev_resume(). Any
registered in-kernel client will now receive suspend and resume events.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Xinhui Pan <Xinhui.Pan@amd.com>
---
drivers/gpu/drm/radeon/radeon_device.c | 19 ++++++++++---------
drivers/gpu/drm/radeon/radeon_fbdev.c | 6 ------
drivers/gpu/drm/radeon/radeon_mode.h | 3 ---
3 files changed, 10 insertions(+), 18 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index 554b236c2328..6f071e61f764 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -35,6 +35,7 @@
#include <linux/vgaarb.h>
#include <drm/drm_cache.h>
+#include <drm/drm_client_event.h>
#include <drm/drm_crtc_helper.h>
#include <drm/drm_device.h>
#include <drm/drm_file.h>
@@ -1542,7 +1543,7 @@ void radeon_device_fini(struct radeon_device *rdev)
* Called at driver suspend.
*/
int radeon_suspend_kms(struct drm_device *dev, bool suspend,
- bool fbcon, bool freeze)
+ bool notify_clients, bool freeze)
{
struct radeon_device *rdev;
struct pci_dev *pdev;
@@ -1634,9 +1635,9 @@ int radeon_suspend_kms(struct drm_device *dev, bool suspend,
pci_set_power_state(pdev, PCI_D3hot);
}
- if (fbcon) {
+ if (notify_clients) {
console_lock();
- radeon_fbdev_set_suspend(rdev, 1);
+ drm_client_dev_suspend(dev, true);
console_unlock();
}
return 0;
@@ -1649,7 +1650,7 @@ int radeon_suspend_kms(struct drm_device *dev, bool suspend,
* Returns 0 for success or an error on failure.
* Called at driver resume.
*/
-int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
+int radeon_resume_kms(struct drm_device *dev, bool resume, bool notify_clients)
{
struct drm_connector *connector;
struct radeon_device *rdev = dev->dev_private;
@@ -1660,14 +1661,14 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
if (dev->switch_power_state == DRM_SWITCH_POWER_OFF)
return 0;
- if (fbcon) {
+ if (notify_clients) {
console_lock();
}
if (resume) {
pci_set_power_state(pdev, PCI_D0);
pci_restore_state(pdev);
if (pci_enable_device(pdev)) {
- if (fbcon)
+ if (notify_clients)
console_unlock();
return -1;
}
@@ -1730,7 +1731,7 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
/* reset hpd state */
radeon_hpd_init(rdev);
/* blat the mode back in */
- if (fbcon) {
+ if (notify_clients) {
drm_helper_resume_force_mode(dev);
/* turn on display hw */
drm_modeset_lock_all(dev);
@@ -1746,8 +1747,8 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled)
radeon_pm_compute_clocks(rdev);
- if (fbcon) {
- radeon_fbdev_set_suspend(rdev, 0);
+ if (notify_clients) {
+ drm_client_dev_resume(dev, true);
console_unlock();
}
diff --git a/drivers/gpu/drm/radeon/radeon_fbdev.c b/drivers/gpu/drm/radeon/radeon_fbdev.c
index 0aa20c8df546..d4a58bd679db 100644
--- a/drivers/gpu/drm/radeon/radeon_fbdev.c
+++ b/drivers/gpu/drm/radeon/radeon_fbdev.c
@@ -288,12 +288,6 @@ int radeon_fbdev_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
return ret;
}
-void radeon_fbdev_set_suspend(struct radeon_device *rdev, int state)
-{
- if (rdev_to_drm(rdev)->fb_helper)
- drm_fb_helper_set_suspend(rdev_to_drm(rdev)->fb_helper, state);
-}
-
bool radeon_fbdev_robj_is_fb(struct radeon_device *rdev, struct radeon_bo *robj)
{
struct drm_fb_helper *fb_helper = rdev_to_drm(rdev)->fb_helper;
diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
index 12a1d99a1815..4063d3801e81 100644
--- a/drivers/gpu/drm/radeon/radeon_mode.h
+++ b/drivers/gpu/drm/radeon/radeon_mode.h
@@ -942,13 +942,10 @@ int radeon_fbdev_driver_fbdev_probe(struct drm_fb_helper *fb_helper,
struct drm_fb_helper_surface_size *sizes);
#define RADEON_FBDEV_DRIVER_OPS \
.fbdev_probe = radeon_fbdev_driver_fbdev_probe
-void radeon_fbdev_set_suspend(struct radeon_device *rdev, int state);
bool radeon_fbdev_robj_is_fb(struct radeon_device *rdev, struct radeon_bo *robj);
#else
#define RADEON_FBDEV_DRIVER_OPS \
.fbdev_probe = NULL
-static inline void radeon_fbdev_set_suspend(struct radeon_device *rdev, int state)
-{ }
static inline bool radeon_fbdev_robj_is_fb(struct radeon_device *rdev, struct radeon_bo *robj)
{
return false;
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* [PATCH v2 10/11] drm/client: Make client support optional
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (8 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 09/11] drm/radeon: " Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-05 1:34 ` kernel test robot
2024-10-02 13:04 ` [PATCH v2 11/11] drm/client: Add client-lib module Thomas Zimmermann
` (5 subsequent siblings)
15 siblings, 1 reply; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann,
Alex Deucher, Christian König, Xinhui Pan
Only build client code if DRM_CLIENT has been selected. Automatially
do so if one of the default clients has been enabled. If client support
has been disabled, the helpers for client-related events are empty and
the regular client functions are not present.
Amdgpu has an internal DRM client, so it has to select DRM_CLIENT by
itself unconditionally.
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: Xinhui Pan <Xinhui.Pan@amd.com>
---
drivers/gpu/drm/Kconfig | 10 ++++++++++
drivers/gpu/drm/Makefile | 7 ++++---
drivers/gpu/drm/amd/amdgpu/Kconfig | 1 +
include/drm/drm_client_event.h | 13 +++++++++++++
4 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 88b2ba55fe16..86e5b0194100 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -209,6 +209,15 @@ config DRM_DEBUG_MODESET_LOCK
If in doubt, say "N".
+config DRM_CLIENT
+ bool
+ depends on DRM
+ help
+ Enables support for DRM clients. DRM drivers that need
+ struct drm_client_dev and its interfaces should select this
+ option. Drivers that support the default clients should
+ select DRM_CLIENT_SELECTION instead.
+
config DRM_CLIENT_SELECTION
bool
depends on DRM
@@ -224,6 +233,7 @@ config DRM_CLIENT_SETUP
config DRM_FBDEV_EMULATION
bool "Enable legacy fbdev support for your modesetting driver"
depends on DRM
+ select DRM_CLIENT
select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
default FB
help
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 6b7d168ca790..c3e5d353588e 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -41,9 +41,6 @@ drm-y := \
drm_blend.o \
drm_bridge.o \
drm_cache.o \
- drm_client.o \
- drm_client_event.o \
- drm_client_modeset.o \
drm_color_mgmt.o \
drm_connector.o \
drm_crtc.o \
@@ -77,6 +74,10 @@ drm-y := \
drm_vblank_work.o \
drm_vma_manager.o \
drm_writeback.o
+drm-$(CONFIG_DRM_CLIENT) += \
+ drm_client.o \
+ drm_client_event.o \
+ drm_client_modeset.o
drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o
drm-$(CONFIG_COMPAT) += drm_ioc32.o
drm-$(CONFIG_DRM_PANEL) += drm_panel.o
diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig
index 680a94c361ba..41fa3377d9cf 100644
--- a/drivers/gpu/drm/amd/amdgpu/Kconfig
+++ b/drivers/gpu/drm/amd/amdgpu/Kconfig
@@ -5,6 +5,7 @@ config DRM_AMDGPU
depends on DRM && PCI && MMU
depends on !UML
select FW_LOADER
+ select DRM_CLIENT
select DRM_CLIENT_SELECTION
select DRM_DISPLAY_DP_HELPER
select DRM_DISPLAY_DSC_HELPER
diff --git a/include/drm/drm_client_event.h b/include/drm/drm_client_event.h
index 72c97d111169..99863554b055 100644
--- a/include/drm/drm_client_event.h
+++ b/include/drm/drm_client_event.h
@@ -5,10 +5,23 @@
struct drm_device;
+#if defined(CONFIG_DRM_CLIENT)
void drm_client_dev_unregister(struct drm_device *dev);
void drm_client_dev_hotplug(struct drm_device *dev);
void drm_client_dev_restore(struct drm_device *dev);
void drm_client_dev_suspend(struct drm_device *dev, bool holds_console_lock);
void drm_client_dev_resume(struct drm_device *dev, bool holds_console_lock);
+#else
+static inline void drm_client_dev_unregister(struct drm_device *dev)
+{ }
+static inline void drm_client_dev_hotplug(struct drm_device *dev)
+{ }
+static inline void drm_client_dev_restore(struct drm_device *dev)
+{ }
+static inline void drm_client_dev_suspend(struct drm_device *dev, bool holds_console_lock)
+{ }
+static inline void drm_client_dev_resume(struct drm_device *dev, bool holds_console_lock)
+{ }
+#endif
#endif
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* Re: [PATCH v2 10/11] drm/client: Make client support optional
2024-10-02 13:04 ` [PATCH v2 10/11] drm/client: Make client support optional Thomas Zimmermann
@ 2024-10-05 1:34 ` kernel test robot
0 siblings, 0 replies; 19+ messages in thread
From: kernel test robot @ 2024-10-05 1:34 UTC (permalink / raw)
To: Thomas Zimmermann, simona, airlied, javierm, jfalempe
Cc: oe-kbuild-all, dri-devel, amd-gfx, intel-gfx, intel-xe,
Thomas Zimmermann, Alex Deucher, Christian König, Xinhui Pan
Hi Thomas,
kernel test robot noticed the following build errors:
[auto build test ERROR on next-20241002]
[cannot apply to drm-xe/drm-xe-next drm/drm-next drm-exynos/exynos-drm-next drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-misc/drm-misc-next drm-tip/drm-tip linus/master v6.12-rc1 v6.11 v6.11-rc7 v6.12-rc1]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Thomas-Zimmermann/drm-i915-Select-DRM_CLIENT_SELECTION/20241002-211520
base: next-20241002
patch link: https://lore.kernel.org/r/20241002131306.288618-11-tzimmermann%40suse.de
patch subject: [PATCH v2 10/11] drm/client: Make client support optional
config: nios2-randconfig-r051-20241005 (https://download.01.org/0day-ci/archive/20241005/202410050927.Hgk0Kazl-lkp@intel.com/config)
compiler: nios2-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241005/202410050927.Hgk0Kazl-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410050927.Hgk0Kazl-lkp@intel.com/
All errors (new ones prefixed by >>):
nios2-linux-ld: drivers/gpu/drm/drm_debugfs.o: in function `drm_debugfs_dev_register':
>> drivers/gpu/drm/drm_debugfs.c:313:(.text+0x1240): undefined reference to `drm_client_debugfs_init'
>> drivers/gpu/drm/drm_debugfs.c:313:(.text+0x1240): relocation truncated to fit: R_NIOS2_CALL26 against `drm_client_debugfs_init'
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for GET_FREE_REGION
Depends on [n]: SPARSEMEM [=n]
Selected by [y]:
- RESOURCE_KUNIT_TEST [=y] && RUNTIME_TESTING_MENU [=y] && KUNIT [=y]
vim +313 drivers/gpu/drm/drm_debugfs.c
0b30d57acafcaa Christian König 2023-08-29 306
0b30d57acafcaa Christian König 2023-08-29 307 void drm_debugfs_dev_register(struct drm_device *dev)
0b30d57acafcaa Christian König 2023-08-29 308 {
0b30d57acafcaa Christian König 2023-08-29 309 drm_debugfs_add_files(dev, drm_debugfs_list, DRM_DEBUGFS_ENTRIES);
0b30d57acafcaa Christian König 2023-08-29 310
0b30d57acafcaa Christian König 2023-08-29 311 if (drm_core_check_feature(dev, DRIVER_MODESET)) {
0b30d57acafcaa Christian König 2023-08-29 312 drm_framebuffer_debugfs_init(dev);
0b30d57acafcaa Christian König 2023-08-29 @313 drm_client_debugfs_init(dev);
0b30d57acafcaa Christian König 2023-08-29 314 }
d0b3c318e04cc6 Dmitry Baryshkov 2023-12-03 315 if (drm_drv_uses_atomic_modeset(dev))
0b30d57acafcaa Christian König 2023-08-29 316 drm_atomic_debugfs_init(dev);
0b30d57acafcaa Christian König 2023-08-29 317 }
0b30d57acafcaa Christian König 2023-08-29 318
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH v2 11/11] drm/client: Add client-lib module
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (9 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 10/11] drm/client: Make client support optional Thomas Zimmermann
@ 2024-10-02 13:04 ` Thomas Zimmermann
2024-10-02 15:04 ` ✗ Fi.CI.CHECKPATCH: warning for drm: Introduce DRM client library (rev2) Patchwork
` (4 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Thomas Zimmermann @ 2024-10-02 13:04 UTC (permalink / raw)
To: simona, airlied, javierm, jfalempe
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe, Thomas Zimmermann
Add drm_client_lib.ko to contain DRM's built-in client. Move the
existing client for fbdev emulation into the new module. Protect the
new module behind CONFIG_DRM_CLIENT_LIB.
The Kconfig rules separate the DRM drivers from the DRM clients. A
driver can opt into the default clients, but the user configures
each client individually. To do so, DRM drivers still select
DRM_CLIENT_SELECTION. The option is now a tristate that further
selects all dependencies of the enabled DRM clients. There's
a menu option for each client. Enabling at least one client also
selects DRM_CLIENT_SETUP, so that drivers call drm_client_setup().
New DRM clients should depend on DRM_CLIENT_SELECTION.
There are existing kernel options in drm_fb_helper.o, so leave this
file in the KMS-helper module for now.
v3:
- keep client code in core
- protect lib with DRM_CLIENT_LIB
- remove duplicate line from Makefile (Jocelyn)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
---
drivers/gpu/drm/Kconfig | 26 ++++++++++++++++++++-----
drivers/gpu/drm/Makefile | 14 +++++++++----
drivers/gpu/drm/drm_client_setup.c | 3 +++
drivers/gpu/drm/drm_kms_helper_common.c | 3 +++
4 files changed, 37 insertions(+), 9 deletions(-)
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 86e5b0194100..6f7aacfc8438 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -9,8 +9,6 @@ menuconfig DRM
tristate "Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)"
depends on (AGP || AGP=n) && !EMULATED_CMPXCHG && HAS_DMA
select DRM_PANEL_ORIENTATION_QUIRKS
- select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
- select FB_CORE if DRM_FBDEV_EMULATION
select HDMI
select I2C
select DMA_SHARED_BUFFER
@@ -218,10 +216,19 @@ config DRM_CLIENT
option. Drivers that support the default clients should
select DRM_CLIENT_SELECTION instead.
+config DRM_CLIENT_LIB
+ tristate
+ depends on DRM
+ select DRM_KMS_HELPER if DRM_FBDEV_EMULATION
+ select FB_CORE if DRM_FBDEV_EMULATION
+ help
+ This option enables the DRM client library and selects all
+ modules and components according to the enabled clients.
+
config DRM_CLIENT_SELECTION
- bool
+ tristate
depends on DRM
- select DRM_CLIENT_SETUP if DRM_FBDEV_EMULATION
+ select DRM_CLIENT_LIB if DRM_FBDEV_EMULATION
help
Drivers that support in-kernel DRM clients have to select this
option.
@@ -229,11 +236,18 @@ config DRM_CLIENT_SELECTION
config DRM_CLIENT_SETUP
bool
depends on DRM_CLIENT_SELECTION
+ help
+ Enables the DRM client selection. DRM drivers that support the
+ default clients should select DRM_CLIENT_SELECTION instead.
+
+menu "Supported DRM clients"
+ depends on DRM_CLIENT_SELECTION
config DRM_FBDEV_EMULATION
bool "Enable legacy fbdev support for your modesetting driver"
- depends on DRM
+ depends on DRM_CLIENT_SELECTION
select DRM_CLIENT
+ select DRM_CLIENT_SETUP
select FRAMEBUFFER_CONSOLE_DETECT_PRIMARY if FRAMEBUFFER_CONSOLE
default FB
help
@@ -272,6 +286,8 @@ config DRM_FBDEV_LEAK_PHYS_SMEM
If in doubt, say "N" or spread the word to your closed source
library vendor.
+endmenu
+
config DRM_LOAD_EDID_FIRMWARE
bool "Allow to specify an EDID data set instead of probing for it"
depends on DRM
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index c3e5d353588e..edfd2ebaf153 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -145,13 +145,19 @@ drm_kms_helper-y := \
drm_probe_helper.o \
drm_self_refresh_helper.o \
drm_simple_kms_helper.o
-drm_kms_helper-$(CONFIG_DRM_CLIENT_SETUP) += \
- drm_client_setup.o
drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o
-drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += \
+obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
+
+#
+# DRM clients
+#
+
+drm_client_lib-y := \
+ drm_client_setup.o
+drm_client_lib-$(CONFIG_DRM_FBDEV_EMULATION) += \
drm_fbdev_client.o \
drm_fb_helper.o
-obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
+obj-$(CONFIG_DRM_CLIENT_LIB) += drm_client_lib.o
#
# Drivers and the rest
diff --git a/drivers/gpu/drm/drm_client_setup.c b/drivers/gpu/drm/drm_client_setup.c
index 5969c4ffe31b..c14221ca5a0d 100644
--- a/drivers/gpu/drm/drm_client_setup.c
+++ b/drivers/gpu/drm/drm_client_setup.c
@@ -64,3 +64,6 @@ void drm_client_setup_with_color_mode(struct drm_device *dev, unsigned int color
drm_client_setup_with_fourcc(dev, fourcc);
}
EXPORT_SYMBOL(drm_client_setup_with_color_mode);
+
+MODULE_DESCRIPTION("In-kernel DRM clients");
+MODULE_LICENSE("GPL and additional rights");
diff --git a/drivers/gpu/drm/drm_kms_helper_common.c b/drivers/gpu/drm/drm_kms_helper_common.c
index cfdbc1ac88dc..ecff0b1414ac 100644
--- a/drivers/gpu/drm/drm_kms_helper_common.c
+++ b/drivers/gpu/drm/drm_kms_helper_common.c
@@ -31,11 +31,13 @@
#if defined(CONFIG_DRM_FBDEV_EMULATION)
bool drm_fbdev_emulation = true;
+EXPORT_SYMBOL(drm_fbdev_emulation);
module_param_named(fbdev_emulation, drm_fbdev_emulation, bool, 0600);
MODULE_PARM_DESC(fbdev_emulation,
"Enable legacy fbdev emulation [default=true]");
int drm_fbdev_overalloc = CONFIG_DRM_FBDEV_OVERALLOC;
+EXPORT_SYMBOL(drm_fbdev_overalloc);
module_param(drm_fbdev_overalloc, int, 0444);
MODULE_PARM_DESC(drm_fbdev_overalloc,
"Overallocation of the fbdev buffer (%) [default="
@@ -55,6 +57,7 @@ MODULE_PARM_DESC(drm_fbdev_overalloc,
* considered as a broken and legacy behaviour from a modern fbdev device.
*/
bool drm_leak_fbdev_smem;
+EXPORT_SYMBOL(drm_leak_fbdev_smem);
#if IS_ENABLED(CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM)
module_param_unsafe(drm_leak_fbdev_smem, bool, 0600);
MODULE_PARM_DESC(drm_leak_fbdev_smem,
--
2.46.0
^ permalink raw reply related [flat|nested] 19+ messages in thread* ✗ Fi.CI.CHECKPATCH: warning for drm: Introduce DRM client library (rev2)
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (10 preceding siblings ...)
2024-10-02 13:04 ` [PATCH v2 11/11] drm/client: Add client-lib module Thomas Zimmermann
@ 2024-10-02 15:04 ` Patchwork
2024-10-02 15:04 ` ✗ Fi.CI.SPARSE: " Patchwork
` (3 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-10-02 15:04 UTC (permalink / raw)
To: Thomas Zimmermann; +Cc: intel-gfx
== Series Details ==
Series: drm: Introduce DRM client library (rev2)
URL : https://patchwork.freedesktop.org/series/139221/
State : warning
== Summary ==
Error: dim checkpatch failed
046be700c337 drm/i915: Select DRM_CLIENT_SELECTION
-:10: WARNING:BAD_SIGN_OFF: Unexpected content after email: 'Jani Nikula <jani.nikula@linux.intel.com>i', should be: 'Jani Nikula <jani.nikula@linux.intel.com> (i)'
#10:
Cc: Jani Nikula <jani.nikula@linux.intel.com>i
total: 0 errors, 1 warnings, 0 checks, 7 lines checked
2b7f686589bf drm/xe: Select DRM_CLIENT_SELECTION
8cce65922931 drm/fbdev: Select fbdev I/O helpers from modules that require them
9e3514552652 drm/fbdev: Store fbdev module parameters in separate file
da43426ce936 drm/client: Move client event handlers to drm_client_event.c
-:191: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#191:
new file mode 100644
total: 0 errors, 1 warnings, 0 checks, 319 lines checked
49479fee6237 drm/client: Move suspend/resume into DRM client callbacks
968c38d80d39 drm/amdgpu: Suspend and resume internal clients with client helpers
824753936d10 drm/nouveau: Suspend and resume clients with client helpers
2cf5ec7cce0f drm/radeon: Suspend and resume clients with client helpers
11219c409f1b drm/client: Make client support optional
94dea8b3623f drm/client: Add client-lib module
^ permalink raw reply [flat|nested] 19+ messages in thread* ✗ Fi.CI.SPARSE: warning for drm: Introduce DRM client library (rev2)
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (11 preceding siblings ...)
2024-10-02 15:04 ` ✗ Fi.CI.CHECKPATCH: warning for drm: Introduce DRM client library (rev2) Patchwork
@ 2024-10-02 15:04 ` Patchwork
2024-10-02 15:52 ` ✓ Fi.CI.BAT: success " Patchwork
` (2 subsequent siblings)
15 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-10-02 15:04 UTC (permalink / raw)
To: Thomas Zimmermann; +Cc: intel-gfx
== Series Details ==
Series: drm: Introduce DRM client library (rev2)
URL : https://patchwork.freedesktop.org/series/139221/
State : warning
== Summary ==
Error: dim sparse failed
Sparse version: v0.6.2
Fast mode used, each commit won't be checked separately.
^ permalink raw reply [flat|nested] 19+ messages in thread* ✓ Fi.CI.BAT: success for drm: Introduce DRM client library (rev2)
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (12 preceding siblings ...)
2024-10-02 15:04 ` ✗ Fi.CI.SPARSE: " Patchwork
@ 2024-10-02 15:52 ` Patchwork
2024-10-03 17:10 ` [PATCH v2 00/11] drm: Introduce DRM client library Jocelyn Falempe
2024-10-03 18:01 ` ✗ Fi.CI.IGT: failure for drm: Introduce DRM client library (rev2) Patchwork
15 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-10-02 15:52 UTC (permalink / raw)
To: Thomas Zimmermann; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 3321 bytes --]
== Series Details ==
Series: drm: Introduce DRM client library (rev2)
URL : https://patchwork.freedesktop.org/series/139221/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_15473 -> Patchwork_139221v2
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/index.html
Participating hosts (44 -> 42)
------------------------------
Missing (2): bat-rpls-4 fi-snb-2520m
Known issues
------------
Here are the changes found in Patchwork_139221v2 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@kms_chamelium_edid@vga-edid-read:
- bat-dg2-13: NOTRUN -> [SKIP][1] ([Intel XE#484] / [i915#4550]) +1 other test skip
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/bat-dg2-13/igt@kms_chamelium_edid@vga-edid-read.html
* igt@kms_chamelium_hpd@dp-hpd-fast:
- bat-dg2-13: NOTRUN -> [SKIP][2] ([Intel XE#484]) +2 other tests skip
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/bat-dg2-13/igt@kms_chamelium_hpd@dp-hpd-fast.html
#### Possible fixes ####
* igt@i915_selftest@live:
- bat-arlh-2: [ABORT][3] ([i915#12133]) -> [PASS][4]
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/bat-arlh-2/igt@i915_selftest@live.html
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/bat-arlh-2/igt@i915_selftest@live.html
* igt@i915_selftest@live@workarounds:
- bat-arlh-2: [ABORT][5] ([i915#12061]) -> [PASS][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/bat-arlh-2/igt@i915_selftest@live@workarounds.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/bat-arlh-2/igt@i915_selftest@live@workarounds.html
#### Warnings ####
* igt@i915_module_load@reload:
- fi-kbl-7567u: [DMESG-WARN][7] ([i915#11621] / [i915#180] / [i915#1982]) -> [DMESG-WARN][8] ([i915#11621] / [i915#180])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/fi-kbl-7567u/igt@i915_module_load@reload.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/fi-kbl-7567u/igt@i915_module_load@reload.html
[Intel XE#484]: https://gitlab.freedesktop.org/drm/xe/kernel/issues/484
[i915#11621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11621
[i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
[i915#12133]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12133
[i915#180]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/180
[i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
[i915#4550]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4550
Build changes
-------------
* Linux: CI_DRM_15473 -> Patchwork_139221v2
CI-20190529: 20190529
CI_DRM_15473: 55a90a928d9752b8a21298cb525b95de4b78f4ed @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8049: 909157f3cc3c0676a4f896752276d438c3ec3959 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_139221v2: 55a90a928d9752b8a21298cb525b95de4b78f4ed @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/index.html
[-- Attachment #2: Type: text/html, Size: 4236 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread* Re: [PATCH v2 00/11] drm: Introduce DRM client library
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (13 preceding siblings ...)
2024-10-02 15:52 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-10-03 17:10 ` Jocelyn Falempe
2024-10-03 18:01 ` ✗ Fi.CI.IGT: failure for drm: Introduce DRM client library (rev2) Patchwork
15 siblings, 0 replies; 19+ messages in thread
From: Jocelyn Falempe @ 2024-10-03 17:10 UTC (permalink / raw)
To: Thomas Zimmermann, simona, airlied, javierm
Cc: dri-devel, amd-gfx, intel-gfx, intel-xe
On 02/10/2024 15:04, Thomas Zimmermann wrote:
> With the next DRM client coming soon (drm_log) and most of DRM's
> fbdev emulation consolidated in a few places, it's time to provide
> a single place for the clients.
>
> The new module drm_client_lib.ko stores most of the in-kernel client
> code. It is designed such that drivers can opt into client support,
> but the presence of the client module depends on the user's kernel
> configuration. Without selected clients, no client module will be
> build.
I think I would rather rename drm_client.c to drm_client_lib.c, and have
a drm_client.ko. Users may need to interact with module name more than
with C file.
>
> Version 2 of this patchset is a significant rework of the patches,
> so there are no R-bs kept. The base client code and client event
> handling remains in the DRM core. This simplifies module dependencies.
> But suspend and resume are now handled in client helpers instead of
> direct calls to fbdev emulation. This breaks a cyclic dependency
> among the involved modules. It also allows any client to process
> suspend and resume events.
Thanks a lot for this work. I rebased my drm_log proof of concept on top
on this v2, and it works great.
I think I can add a suspend/resume callback to drm_log, just marking the
console as CON_SUSPENDED should work, I will test that shortly.
Best regards,
--
Jocelyn
>
> v2:
> - rework of the overall design
> - keep base client code in DRM core.
>
> Thomas Zimmermann (11):
> drm/i915: Select DRM_CLIENT_SELECTION
> drm/xe: Select DRM_CLIENT_SELECTION
> drm/fbdev: Select fbdev I/O helpers from modules that require them
> drm/fbdev: Store fbdev module parameters in separate file
> drm/client: Move client event handlers to drm_client_event.c
> drm/client: Move suspend/resume into DRM client callbacks
> drm/amdgpu: Suspend and resume internal clients with client helpers
> drm/nouveau: Suspend and resume clients with client helpers
> drm/radeon: Suspend and resume clients with client helpers
> drm/client: Make client support optional
> drm/client: Add client-lib module
>
> Documentation/gpu/drm-client.rst | 3 +
> drivers/gpu/drm/Kconfig | 39 +++-
> drivers/gpu/drm/Makefile | 20 +-
> drivers/gpu/drm/amd/amdgpu/Kconfig | 1 +
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 22 +-
> drivers/gpu/drm/drm_client.c | 121 -----------
> drivers/gpu/drm/drm_client_event.c | 195 ++++++++++++++++++
> drivers/gpu/drm/drm_client_setup.c | 3 +
> drivers/gpu/drm/drm_drv.c | 2 +-
> drivers/gpu/drm/drm_fb_helper.c | 31 ---
> drivers/gpu/drm/drm_fbdev_client.c | 30 ++-
> drivers/gpu/drm/drm_file.c | 2 +-
> drivers/gpu/drm/drm_internal.h | 7 +
> drivers/gpu/drm/drm_kms_helper_common.c | 38 ++++
> drivers/gpu/drm/drm_modeset_helper.c | 14 +-
> drivers/gpu/drm/drm_probe_helper.c | 2 +-
> drivers/gpu/drm/i915/Kconfig | 1 +
> .../drm/i915/display/intel_display_driver.c | 2 +-
> drivers/gpu/drm/nouveau/nouveau_display.c | 8 +-
> drivers/gpu/drm/nouveau/nouveau_vga.c | 2 +-
> drivers/gpu/drm/radeon/radeon_device.c | 19 +-
> drivers/gpu/drm/radeon/radeon_fbdev.c | 6 -
> drivers/gpu/drm/radeon/radeon_mode.h | 3 -
> drivers/gpu/drm/xe/Kconfig | 1 +
> include/drm/drm_client.h | 39 +++-
> include/drm/drm_client_event.h | 27 +++
> 26 files changed, 423 insertions(+), 215 deletions(-)
> create mode 100644 drivers/gpu/drm/drm_client_event.c
> create mode 100644 include/drm/drm_client_event.h
>
^ permalink raw reply [flat|nested] 19+ messages in thread* ✗ Fi.CI.IGT: failure for drm: Introduce DRM client library (rev2)
2024-10-02 13:04 [PATCH v2 00/11] drm: Introduce DRM client library Thomas Zimmermann
` (14 preceding siblings ...)
2024-10-03 17:10 ` [PATCH v2 00/11] drm: Introduce DRM client library Jocelyn Falempe
@ 2024-10-03 18:01 ` Patchwork
15 siblings, 0 replies; 19+ messages in thread
From: Patchwork @ 2024-10-03 18:01 UTC (permalink / raw)
To: Thomas Zimmermann; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 86028 bytes --]
== Series Details ==
Series: drm: Introduce DRM client library (rev2)
URL : https://patchwork.freedesktop.org/series/139221/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_15473_full -> Patchwork_139221v2_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with Patchwork_139221v2_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_139221v2_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
Participating hosts (8 -> 8)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_139221v2_full:
### IGT changes ###
#### Possible regressions ####
* igt@kms_cursor_legacy@cursorb-vs-flipb-toggle:
- shard-mtlp: NOTRUN -> [SKIP][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-7/igt@kms_cursor_legacy@cursorb-vs-flipb-toggle.html
* igt@kms_cursor_legacy@flip-vs-cursor-varying-size:
- shard-snb: [PASS][2] -> [FAIL][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-snb6/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-snb5/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html
* igt@kms_joiner@basic-force-big-joiner:
- shard-tglu: NOTRUN -> [SKIP][4]
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_joiner@basic-force-big-joiner.html
- shard-dg2: [PASS][5] -> [SKIP][6]
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-10/igt@kms_joiner@basic-force-big-joiner.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-7/igt@kms_joiner@basic-force-big-joiner.html
* igt@perf@polling@0-rcs0:
- shard-mtlp: [PASS][7] -> [FAIL][8] +1 other test fail
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-mtlp-8/igt@perf@polling@0-rcs0.html
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-8/igt@perf@polling@0-rcs0.html
* igt@prime_vgem@coherency-blt:
- shard-glk: NOTRUN -> [INCOMPLETE][9]
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk5/igt@prime_vgem@coherency-blt.html
New tests
---------
New tests have been introduced between CI_DRM_15473_full and Patchwork_139221v2_full:
### New IGT tests (1) ###
* igt@kms_panel_fitting:
- Statuses :
- Exec time: [None] s
Known issues
------------
Here are the changes found in Patchwork_139221v2_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@device_reset@unbind-cold-reset-rebind:
- shard-dg2: NOTRUN -> [SKIP][10] ([i915#11078])
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@device_reset@unbind-cold-reset-rebind.html
* igt@drm_fdinfo@virtual-busy-hang:
- shard-dg2: NOTRUN -> [SKIP][11] ([i915#8414]) +2 other tests skip
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-1/igt@drm_fdinfo@virtual-busy-hang.html
- shard-mtlp: NOTRUN -> [SKIP][12] ([i915#8414]) +1 other test skip
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@drm_fdinfo@virtual-busy-hang.html
* igt@fbdev@read:
- shard-dg2: [PASS][13] -> [SKIP][14] ([i915#2582])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@fbdev@read.html
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@fbdev@read.html
* igt@gem_ccs@block-multicopy-compressed:
- shard-tglu: NOTRUN -> [SKIP][15] ([i915#9323])
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@gem_ccs@block-multicopy-compressed.html
* igt@gem_ccs@ctrl-surf-copy:
- shard-tglu: NOTRUN -> [SKIP][16] ([i915#3555] / [i915#9323])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@gem_ccs@ctrl-surf-copy.html
* igt@gem_create@create-ext-cpu-access-sanity-check:
- shard-tglu: NOTRUN -> [SKIP][17] ([i915#6335])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@gem_create@create-ext-cpu-access-sanity-check.html
* igt@gem_ctx_engines@invalid-engines:
- shard-tglu: NOTRUN -> [FAIL][18] ([i915#12027])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@gem_ctx_engines@invalid-engines.html
* igt@gem_ctx_sseu@engines:
- shard-mtlp: NOTRUN -> [SKIP][19] ([i915#280])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@gem_ctx_sseu@engines.html
* igt@gem_ctx_sseu@invalid-args:
- shard-tglu: NOTRUN -> [SKIP][20] ([i915#280])
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@gem_ctx_sseu@invalid-args.html
* igt@gem_eio@hibernate:
- shard-dg2: [PASS][21] -> [ABORT][22] ([i915#10030] / [i915#7975] / [i915#8213])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-4/igt@gem_eio@hibernate.html
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-3/igt@gem_eio@hibernate.html
* igt@gem_eio@reset-stress:
- shard-dg1: [PASS][23] -> [FAIL][24] ([i915#5784])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-17/igt@gem_eio@reset-stress.html
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-15/igt@gem_eio@reset-stress.html
* igt@gem_exec_balancer@bonded-dual:
- shard-mtlp: NOTRUN -> [SKIP][25] ([i915#4771])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@gem_exec_balancer@bonded-dual.html
* igt@gem_exec_balancer@parallel-contexts:
- shard-rkl: NOTRUN -> [SKIP][26] ([i915#4525])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_exec_balancer@parallel-contexts.html
* igt@gem_exec_balancer@parallel-ordering:
- shard-tglu: NOTRUN -> [FAIL][27] ([i915#6117])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@gem_exec_balancer@parallel-ordering.html
* igt@gem_exec_fair@basic-deadline:
- shard-rkl: NOTRUN -> [FAIL][28] ([i915#2846])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none-solo:
- shard-rkl: NOTRUN -> [FAIL][29] ([i915#2842]) +1 other test fail
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_exec_fair@basic-none-solo.html
* igt@gem_exec_fair@basic-pace@vcs1:
- shard-tglu: NOTRUN -> [FAIL][30] ([i915#2842]) +7 other tests fail
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@gem_exec_fair@basic-pace@vcs1.html
* igt@gem_exec_reloc@basic-cpu-wc:
- shard-dg2: NOTRUN -> [SKIP][31] ([i915#3281])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@gem_exec_reloc@basic-cpu-wc.html
* igt@gem_exec_reloc@basic-wc:
- shard-rkl: NOTRUN -> [SKIP][32] ([i915#3281]) +4 other tests skip
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_exec_reloc@basic-wc.html
* igt@gem_exec_reloc@basic-wc-gtt:
- shard-dg1: NOTRUN -> [SKIP][33] ([i915#3281]) +1 other test skip
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@gem_exec_reloc@basic-wc-gtt.html
* igt@gem_exec_schedule@pi-common@vcs0:
- shard-rkl: NOTRUN -> [FAIL][34] ([i915#12296]) +4 other tests fail
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_exec_schedule@pi-common@vcs0.html
* igt@gem_exec_suspend@basic-s4-devices:
- shard-rkl: NOTRUN -> [ABORT][35] ([i915#7975] / [i915#8213]) +1 other test abort
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-5/igt@gem_exec_suspend@basic-s4-devices.html
* igt@gem_fence_thrash@bo-write-verify-y:
- shard-dg2: NOTRUN -> [SKIP][36] ([i915#4860])
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@gem_fence_thrash@bo-write-verify-y.html
* igt@gem_lmem_evict@dontneed-evict-race:
- shard-rkl: NOTRUN -> [SKIP][37] ([i915#4613] / [i915#7582])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_lmem_evict@dontneed-evict-race.html
* igt@gem_lmem_swapping@massive-random:
- shard-tglu: NOTRUN -> [SKIP][38] ([i915#4613]) +1 other test skip
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@gem_lmem_swapping@massive-random.html
* igt@gem_mmap_gtt@big-copy:
- shard-mtlp: NOTRUN -> [SKIP][39] ([i915#4077])
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-7/igt@gem_mmap_gtt@big-copy.html
* igt@gem_mmap_gtt@cpuset-big-copy-odd:
- shard-dg2: NOTRUN -> [SKIP][40] ([i915#4077]) +3 other tests skip
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@gem_mmap_gtt@cpuset-big-copy-odd.html
* igt@gem_mmap_wc@close:
- shard-dg2: NOTRUN -> [SKIP][41] ([i915#4083]) +1 other test skip
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@gem_mmap_wc@close.html
* igt@gem_mmap_wc@read-write-distinct:
- shard-dg1: NOTRUN -> [SKIP][42] ([i915#4083])
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@gem_mmap_wc@read-write-distinct.html
* igt@gem_partial_pwrite_pread@write:
- shard-dg2: NOTRUN -> [SKIP][43] ([i915#3282])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@gem_partial_pwrite_pread@write.html
* igt@gem_pwrite@basic-random:
- shard-rkl: NOTRUN -> [SKIP][44] ([i915#3282]) +4 other tests skip
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_pwrite@basic-random.html
* igt@gem_pxp@display-protected-crc:
- shard-dg2: NOTRUN -> [SKIP][45] ([i915#4270])
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@gem_pxp@display-protected-crc.html
* igt@gem_pxp@protected-raw-src-copy-not-readible:
- shard-tglu: NOTRUN -> [SKIP][46] ([i915#4270]) +1 other test skip
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@gem_pxp@protected-raw-src-copy-not-readible.html
* igt@gem_pxp@verify-pxp-stale-buf-optout-execution:
- shard-dg1: NOTRUN -> [SKIP][47] ([i915#4270])
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html
* igt@gem_readwrite@read-bad-handle:
- shard-mtlp: NOTRUN -> [SKIP][48] ([i915#3282])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@gem_readwrite@read-bad-handle.html
* igt@gem_render_copy@yf-tiled-to-vebox-yf-tiled:
- shard-dg2: NOTRUN -> [SKIP][49] ([i915#5190] / [i915#8428]) +2 other tests skip
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@gem_render_copy@yf-tiled-to-vebox-yf-tiled.html
* igt@gem_unfence_active_buffers:
- shard-dg1: NOTRUN -> [SKIP][50] ([i915#4879])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-13/igt@gem_unfence_active_buffers.html
* igt@gem_userptr_blits@coherency-sync:
- shard-tglu: NOTRUN -> [SKIP][51] ([i915#3297]) +2 other tests skip
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@gem_userptr_blits@coherency-sync.html
* igt@gem_userptr_blits@dmabuf-unsync:
- shard-rkl: NOTRUN -> [SKIP][52] ([i915#3297])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_userptr_blits@dmabuf-unsync.html
* igt@gem_userptr_blits@readonly-pwrite-unsync:
- shard-mtlp: NOTRUN -> [SKIP][53] ([i915#3297])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@gem_userptr_blits@readonly-pwrite-unsync.html
* igt@gen9_exec_parse@allowed-all:
- shard-glk: [PASS][54] -> [ABORT][55] ([i915#5566]) +1 other test abort
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-glk1/igt@gen9_exec_parse@allowed-all.html
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk1/igt@gen9_exec_parse@allowed-all.html
* igt@gen9_exec_parse@bb-oversize:
- shard-mtlp: NOTRUN -> [SKIP][56] ([i915#2856]) +1 other test skip
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@gen9_exec_parse@bb-oversize.html
* igt@gen9_exec_parse@bb-start-out:
- shard-dg2: NOTRUN -> [SKIP][57] ([i915#2856])
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@gen9_exec_parse@bb-start-out.html
* igt@gen9_exec_parse@shadow-peek:
- shard-rkl: NOTRUN -> [SKIP][58] ([i915#2527]) +1 other test skip
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gen9_exec_parse@shadow-peek.html
* igt@gen9_exec_parse@valid-registers:
- shard-tglu: NOTRUN -> [SKIP][59] ([i915#2527] / [i915#2856]) +1 other test skip
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@gen9_exec_parse@valid-registers.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-glk: [PASS][60] -> [ABORT][61] ([i915#9820])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-glk9/igt@i915_module_load@reload-with-fault-injection.html
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk1/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_pm_freq_mult@media-freq@gt0:
- shard-tglu: NOTRUN -> [SKIP][62] ([i915#6590]) +1 other test skip
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@i915_pm_freq_mult@media-freq@gt0.html
* igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0:
- shard-dg1: [PASS][63] -> [FAIL][64] ([i915#3591]) +2 other tests fail
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-12/igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0.html
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-19/igt@i915_pm_rc6_residency@rc6-idle@gt0-vecs0.html
* igt@i915_query@test-query-geometry-subslices:
- shard-rkl: NOTRUN -> [SKIP][65] ([i915#5723])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@i915_query@test-query-geometry-subslices.html
* igt@kms_addfb_basic@basic-x-tiled-legacy:
- shard-mtlp: NOTRUN -> [SKIP][66] ([i915#4212])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_addfb_basic@basic-x-tiled-legacy.html
* igt@kms_addfb_basic@invalid-smem-bo-on-discrete:
- shard-tglu: NOTRUN -> [SKIP][67] ([i915#3826])
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@kms_addfb_basic@invalid-smem-bo-on-discrete.html
* igt@kms_addfb_basic@tile-pitch-mismatch:
- shard-dg2: NOTRUN -> [SKIP][68] ([i915#4212])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_addfb_basic@tile-pitch-mismatch.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-y-rc-ccs:
- shard-dg1: NOTRUN -> [SKIP][69] ([i915#8709]) +7 other tests skip
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-13/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-3-y-rc-ccs.html
* igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-2-y-rc-ccs-cc:
- shard-rkl: NOTRUN -> [SKIP][70] ([i915#8709]) +3 other tests skip
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-6/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-b-hdmi-a-2-y-rc-ccs-cc.html
* igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1:
- shard-tglu: [PASS][71] -> [FAIL][72] ([i915#11808]) +1 other test fail
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-tglu-9/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-180:
- shard-tglu: NOTRUN -> [SKIP][73] ([i915#5286]) +3 other tests skip
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_big_fb@4-tiled-8bpp-rotate-180.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-rkl: NOTRUN -> [SKIP][74] ([i915#5286]) +2 other tests skip
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
- shard-mtlp: [PASS][75] -> [FAIL][76] ([i915#5138]) +1 other test fail
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-mtlp-2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-1/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_big_fb@linear-8bpp-rotate-270:
- shard-dg1: NOTRUN -> [SKIP][77] ([i915#3638])
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-16/igt@kms_big_fb@linear-8bpp-rotate-270.html
* igt@kms_big_fb@x-tiled-8bpp-rotate-90:
- shard-rkl: NOTRUN -> [SKIP][78] ([i915#3638]) +1 other test skip
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-mtlp: NOTRUN -> [SKIP][79]
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_big_fb@y-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_big_fb@yf-tiled-32bpp-rotate-90:
- shard-dg2: NOTRUN -> [SKIP][80] ([i915#5190] / [i915#9197])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_big_fb@yf-tiled-32bpp-rotate-90.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip:
- shard-dg1: NOTRUN -> [SKIP][81] ([i915#4538])
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-19/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0-hflip.html
* igt@kms_busy@basic:
- shard-dg2: NOTRUN -> [SKIP][82] ([i915#9197]) +26 other tests skip
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_busy@basic.html
* igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-3:
- shard-dg2: NOTRUN -> [SKIP][83] ([i915#10307] / [i915#6095]) +152 other tests skip
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-5/igt@kms_ccs@bad-aux-stride-4-tiled-mtl-rc-ccs-cc@pipe-a-hdmi-a-3.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-1:
- shard-glk: NOTRUN -> [SKIP][84] +12 other tests skip
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk4/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-mc-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1:
- shard-dg2: NOTRUN -> [SKIP][85] ([i915#10307] / [i915#10434] / [i915#6095]) +2 other tests skip
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-4/igt@kms_ccs@bad-aux-stride-y-tiled-gen12-rc-ccs@pipe-d-hdmi-a-1.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4:
- shard-dg1: NOTRUN -> [SKIP][86] ([i915#6095]) +124 other tests skip
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-19/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-4.html
* igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-1:
- shard-rkl: NOTRUN -> [SKIP][87] ([i915#6095]) +51 other tests skip
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-7/igt@kms_ccs@bad-rotation-90-4-tiled-mtl-rc-ccs@pipe-a-hdmi-a-1.html
* igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-1:
- shard-tglu: NOTRUN -> [SKIP][88] ([i915#6095]) +24 other tests skip
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@kms_ccs@crc-primary-basic-4-tiled-mtl-rc-ccs-cc@pipe-b-hdmi-a-1.html
* igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-c-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][89] ([i915#6095]) +4 other tests skip
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-7/igt@kms_ccs@crc-primary-rotation-180-yf-tiled-ccs@pipe-c-edp-1.html
* igt@kms_cdclk@mode-transition-all-outputs:
- shard-rkl: NOTRUN -> [SKIP][90] ([i915#3742])
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_cdclk@mode-transition-all-outputs.html
* igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
- shard-dg2: NOTRUN -> [SKIP][91] ([i915#7828]) +2 other tests skip
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html
* igt@kms_chamelium_frames@hdmi-frame-dump:
- shard-tglu: NOTRUN -> [SKIP][92] ([i915#7828]) +5 other tests skip
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_chamelium_frames@hdmi-frame-dump.html
* igt@kms_chamelium_hpd@vga-hpd-fast:
- shard-rkl: NOTRUN -> [SKIP][93] ([i915#7828]) +3 other tests skip
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_chamelium_hpd@vga-hpd-fast.html
* igt@kms_content_protection@atomic-dpms:
- shard-tglu: NOTRUN -> [SKIP][94] ([i915#6944] / [i915#7116] / [i915#7118] / [i915#9424]) +2 other tests skip
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@dp-mst-type-1:
- shard-rkl: NOTRUN -> [SKIP][95] ([i915#3116]) +1 other test skip
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_content_protection@dp-mst-type-1.html
* igt@kms_content_protection@lic-type-0@pipe-a-dp-3:
- shard-dg2: NOTRUN -> [TIMEOUT][96] ([i915#7173])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-10/igt@kms_content_protection@lic-type-0@pipe-a-dp-3.html
* igt@kms_cursor_crc@cursor-offscreen-512x170:
- shard-tglu: NOTRUN -> [SKIP][97] ([i915#11453])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_cursor_crc@cursor-offscreen-512x170.html
* igt@kms_cursor_crc@cursor-offscreen-512x512:
- shard-rkl: NOTRUN -> [SKIP][98] ([i915#11453]) +1 other test skip
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_cursor_crc@cursor-offscreen-512x512.html
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- shard-rkl: NOTRUN -> [SKIP][99] ([i915#3555]) +1 other test skip
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_cursor_crc@cursor-onscreen-32x32.html
* igt@kms_cursor_crc@cursor-random-64x21:
- shard-mtlp: NOTRUN -> [SKIP][100] ([i915#8814])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_cursor_crc@cursor-random-64x21.html
* igt@kms_cursor_crc@cursor-sliding-128x42:
- shard-dg1: [PASS][101] -> [DMESG-WARN][102] ([i915#4423]) +1 other test dmesg-warn
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-17/igt@kms_cursor_crc@cursor-sliding-128x42.html
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-15/igt@kms_cursor_crc@cursor-sliding-128x42.html
* igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size:
- shard-dg2: [PASS][103] -> [SKIP][104] ([i915#9197]) +48 other tests skip
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_cursor_legacy@basic-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@cursorb-vs-flipb-atomic:
- shard-rkl: NOTRUN -> [SKIP][105] +13 other tests skip
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-5/igt@kms_cursor_legacy@cursorb-vs-flipb-atomic.html
* igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
- shard-tglu: NOTRUN -> [SKIP][106] ([i915#9723])
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-dg1: NOTRUN -> [SKIP][107] ([i915#3555] / [i915#3840])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-16/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_fbcon_fbt@psr:
- shard-rkl: NOTRUN -> [SKIP][108] ([i915#3955])
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_fbcon_fbt@psr.html
* igt@kms_fbcon_fbt@psr-suspend:
- shard-dg2: NOTRUN -> [SKIP][109] ([i915#3469])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_fbcon_fbt@psr-suspend.html
* igt@kms_feature_discovery@chamelium:
- shard-tglu: NOTRUN -> [SKIP][110] ([i915#2065] / [i915#4854])
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_feature_discovery@chamelium.html
* igt@kms_feature_discovery@display-2x:
- shard-tglu: NOTRUN -> [SKIP][111] ([i915#1839])
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_feature_discovery@display-2x.html
* igt@kms_flip@2x-absolute-wf_vblank:
- shard-tglu: NOTRUN -> [SKIP][112] ([i915#3637] / [i915#3966])
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_flip@2x-absolute-wf_vblank.html
* igt@kms_flip@2x-busy-flip:
- shard-mtlp: NOTRUN -> [SKIP][113] ([i915#3637])
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-7/igt@kms_flip@2x-busy-flip.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
- shard-tglu: NOTRUN -> [SKIP][114] ([i915#3637]) +2 other tests skip
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip@plain-flip-fb-recreate:
- shard-tglu: NOTRUN -> [FAIL][115] ([i915#2122]) +1 other test fail
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_flip@plain-flip-fb-recreate.html
* igt@kms_flip@plain-flip-ts-check@c-edp1:
- shard-mtlp: [PASS][116] -> [FAIL][117] ([i915#2122])
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-mtlp-1/igt@kms_flip@plain-flip-ts-check@c-edp1.html
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-4/igt@kms_flip@plain-flip-ts-check@c-edp1.html
* igt@kms_flip@wf_vblank-ts-check:
- shard-dg2: [PASS][118] -> [FAIL][119] ([i915#2122])
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-7/igt@kms_flip@wf_vblank-ts-check.html
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-10/igt@kms_flip@wf_vblank-ts-check.html
* igt@kms_flip@wf_vblank-ts-check@a-dp3:
- shard-dg2: NOTRUN -> [FAIL][120] ([i915#2122])
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-10/igt@kms_flip@wf_vblank-ts-check@a-dp3.html
* igt@kms_flip@wf_vblank-ts-check@a-vga1:
- shard-snb: [PASS][121] -> [FAIL][122] ([i915#2122]) +3 other tests fail
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-snb5/igt@kms_flip@wf_vblank-ts-check@a-vga1.html
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-snb5/igt@kms_flip@wf_vblank-ts-check@a-vga1.html
* igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling:
- shard-dg2: [PASS][123] -> [SKIP][124] ([i915#3555]) +3 other tests skip
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-1/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-32bpp-4tiledg2rcccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling:
- shard-tglu: NOTRUN -> [SKIP][125] ([i915#2672] / [i915#3555]) +3 other tests skip
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-32bpp-yftileccs-upscaling.html
* igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode:
- shard-tglu: NOTRUN -> [SKIP][126] ([i915#2587] / [i915#2672]) +3 other tests skip
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@kms_flip_scaled_crc@flip-32bpp-yftile-to-64bpp-yftile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
- shard-rkl: NOTRUN -> [SKIP][127] ([i915#2672] / [i915#3555]) +1 other test skip
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode:
- shard-rkl: NOTRUN -> [SKIP][128] ([i915#2672]) +1 other test skip
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite:
- shard-dg2: [PASS][129] -> [FAIL][130] ([i915#6880])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-4/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite.html
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render:
- shard-snb: [PASS][131] -> [SKIP][132] +3 other tests skip
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-snb2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-snb2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-render.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt:
- shard-dg1: NOTRUN -> [SKIP][133] +2 other tests skip
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-blt.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu:
- shard-mtlp: NOTRUN -> [SKIP][134] ([i915#1825]) +4 other tests skip
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt:
- shard-rkl: NOTRUN -> [SKIP][135] ([i915#1825]) +19 other tests skip
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-pri-shrfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render:
- shard-dg2: [PASS][136] -> [SKIP][137] ([i915#5354]) +13 other tests skip
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_frontbuffer_tracking@fbc-rgb565-draw-render.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move:
- shard-rkl: NOTRUN -> [SKIP][138] ([i915#3023]) +11 other tests skip
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
- shard-dg1: NOTRUN -> [SKIP][139] ([i915#3458]) +1 other test skip
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
* igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-blt:
- shard-dg2: NOTRUN -> [SKIP][140] ([i915#5354]) +14 other tests skip
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-blt.html
* igt@kms_frontbuffer_tracking@fbcpsr-tiling-4:
- shard-tglu: NOTRUN -> [SKIP][141] ([i915#5439])
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_frontbuffer_tracking@fbcpsr-tiling-4.html
* igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-cpu:
- shard-tglu: NOTRUN -> [SKIP][142] +62 other tests skip
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite:
- shard-dg2: NOTRUN -> [SKIP][143] ([i915#3458])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-pwrite.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-dg1: NOTRUN -> [SKIP][144] ([i915#3555] / [i915#8228])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_hdr@static-swap:
- shard-tglu: NOTRUN -> [SKIP][145] ([i915#3555] / [i915#8228])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_hdr@static-swap.html
* igt@kms_invalid_mode@zero-clock:
- shard-dg2: NOTRUN -> [SKIP][146] ([i915#3555]) +1 other test skip
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_invalid_mode@zero-clock.html
* igt@kms_plane@plane-panning-bottom-right-suspend:
- shard-dg2: [PASS][147] -> [SKIP][148] ([i915#8825])
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_plane@plane-panning-bottom-right-suspend.html
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane@plane-panning-bottom-right-suspend.html
* igt@kms_plane_lowres@tiling-none:
- shard-mtlp: NOTRUN -> [SKIP][149] ([i915#3582])
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_plane_lowres@tiling-none.html
* igt@kms_plane_lowres@tiling-none@pipe-b-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][150] ([i915#10226] / [i915#11614] / [i915#3582]) +2 other tests skip
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_plane_lowres@tiling-none@pipe-b-edp-1.html
* igt@kms_plane_lowres@tiling-none@pipe-d-edp-1:
- shard-mtlp: NOTRUN -> [SKIP][151] ([i915#11614] / [i915#3582])
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_plane_lowres@tiling-none@pipe-d-edp-1.html
* igt@kms_plane_scaling@invalid-parameters:
- shard-dg2: [PASS][152] -> [SKIP][153] ([i915#8152] / [i915#9423])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_plane_scaling@invalid-parameters.html
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@invalid-parameters.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format:
- shard-dg2: NOTRUN -> [SKIP][154] ([i915#12247] / [i915#8152] / [i915#9423])
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format.html
* igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-d:
- shard-dg2: NOTRUN -> [SKIP][155] ([i915#12247] / [i915#8152])
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-pixel-format@pipe-d.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats:
- shard-dg2: [PASS][156] -> [SKIP][157] ([i915#3555] / [i915#8152] / [i915#9423]) +1 other test skip
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats.html
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-d:
- shard-dg2: [PASS][158] -> [SKIP][159] ([i915#8152]) +1 other test skip
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-1/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-d.html
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-pixel-formats@pipe-d.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25:
- shard-tglu: NOTRUN -> [SKIP][160] ([i915#6953])
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25.html
* igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25@pipe-b:
- shard-tglu: NOTRUN -> [SKIP][161] ([i915#12247]) +17 other tests skip
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_plane_scaling@planes-downscale-factor-0-5-upscale-factor-0-25@pipe-b.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5:
- shard-dg2: [PASS][162] -> [SKIP][163] ([i915#6953] / [i915#8152] / [i915#9423])
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b:
- shard-dg2: [PASS][164] -> [SKIP][165] ([i915#12247]) +11 other tests skip
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-b.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d:
- shard-dg2: [PASS][166] -> [SKIP][167] ([i915#12247] / [i915#8152]) +1 other test skip
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d.html
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d.html
* igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5:
- shard-tglu: NOTRUN -> [SKIP][168] ([i915#12247] / [i915#3555] / [i915#6953])
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_plane_scaling@planes-upscale-20x20-downscale-factor-0-5.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25:
- shard-dg2: NOTRUN -> [SKIP][169] ([i915#3555] / [i915#6953] / [i915#8152] / [i915#9423])
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-upscale-factor-0-25.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25:
- shard-rkl: NOTRUN -> [SKIP][170] ([i915#12247] / [i915#6953])
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a:
- shard-rkl: NOTRUN -> [SKIP][171] ([i915#12247]) +1 other test skip
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-a.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75:
- shard-dg2: [PASS][172] -> [SKIP][173] ([i915#12247] / [i915#3555] / [i915#6953] / [i915#8152] / [i915#9423])
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-5/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75.html
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-75.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25@pipe-b:
- shard-dg2: NOTRUN -> [SKIP][174] ([i915#12247]) +5 other tests skip
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-upscale-factor-0-25@pipe-b.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25@pipe-d:
- shard-dg2: NOTRUN -> [SKIP][175] ([i915#8152])
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-upscale-factor-0-25@pipe-d.html
* igt@kms_pm_backlight@fade-with-dpms:
- shard-tglu: NOTRUN -> [SKIP][176] ([i915#9812])
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@kms_pm_backlight@fade-with-dpms.html
* igt@kms_pm_dc@dc6-psr:
- shard-rkl: NOTRUN -> [SKIP][177] ([i915#9685])
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-5/igt@kms_pm_dc@dc6-psr.html
* igt@kms_pm_dc@dc9-dpms:
- shard-tglu: [PASS][178] -> [SKIP][179] ([i915#4281])
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-tglu-2/igt@kms_pm_dc@dc9-dpms.html
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-9/igt@kms_pm_dc@dc9-dpms.html
* igt@kms_pm_lpsp@kms-lpsp:
- shard-dg2: [PASS][180] -> [SKIP][181] ([i915#9340])
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-4/igt@kms_pm_lpsp@kms-lpsp.html
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-3/igt@kms_pm_lpsp@kms-lpsp.html
* igt@kms_pm_lpsp@screens-disabled:
- shard-tglu: NOTRUN -> [SKIP][182] ([i915#8430])
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_pm_lpsp@screens-disabled.html
* igt@kms_pm_rpm@dpms-lpsp:
- shard-rkl: NOTRUN -> [SKIP][183] ([i915#9519])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_pm_rpm@dpms-lpsp.html
* igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
- shard-dg2: [PASS][184] -> [SKIP][185] ([i915#9519]) +2 other tests skip
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp:
- shard-rkl: [PASS][186] -> [SKIP][187] ([i915#9519]) +1 other test skip
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-rkl-1/igt@kms_pm_rpm@modeset-non-lpsp.html
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-7/igt@kms_pm_rpm@modeset-non-lpsp.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-tglu: NOTRUN -> [SKIP][188] ([i915#9519])
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@kms_pm_rpm@pc8-residency:
- shard-dg2: NOTRUN -> [SKIP][189] +1 other test skip
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_pm_rpm@pc8-residency.html
* igt@kms_properties@plane-properties-atomic:
- shard-dg2: [PASS][190] -> [SKIP][191] ([i915#11521])
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-5/igt@kms_properties@plane-properties-atomic.html
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_properties@plane-properties-atomic.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf:
- shard-dg1: NOTRUN -> [SKIP][192] ([i915#11520])
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf:
- shard-mtlp: NOTRUN -> [SKIP][193] ([i915#12316])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_psr2_sf@fbc-pr-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-move-continuous-exceed-sf:
- shard-tglu: NOTRUN -> [SKIP][194] ([i915#11520]) +5 other tests skip
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/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-dg2: NOTRUN -> [SKIP][195] ([i915#11520]) +1 other test skip
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html
- shard-rkl: NOTRUN -> [SKIP][196] ([i915#11520]) +4 other tests skip
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_psr2_sf@fbc-psr2-overlay-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_su@page_flip-xrgb8888:
- shard-tglu: NOTRUN -> [SKIP][197] ([i915#9683])
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_psr2_su@page_flip-xrgb8888.html
* igt@kms_psr@fbc-psr-primary-blt:
- shard-dg2: NOTRUN -> [SKIP][198] ([i915#1072] / [i915#9732]) +4 other tests skip
[198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-5/igt@kms_psr@fbc-psr-primary-blt.html
* igt@kms_psr@fbc-psr-sprite-plane-move:
- shard-mtlp: NOTRUN -> [SKIP][199] ([i915#9688]) +1 other test skip
[199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-2/igt@kms_psr@fbc-psr-sprite-plane-move.html
* igt@kms_psr@fbc-psr2-primary-mmap-gtt:
- shard-tglu: NOTRUN -> [SKIP][200] ([i915#9732]) +14 other tests skip
[200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_psr@fbc-psr2-primary-mmap-gtt.html
* igt@kms_psr@fbc-psr2-sprite-render:
- shard-rkl: NOTRUN -> [SKIP][201] ([i915#1072] / [i915#9732]) +10 other tests skip
[201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_psr@fbc-psr2-sprite-render.html
* igt@kms_psr@pr-no-drrs:
- shard-dg1: NOTRUN -> [SKIP][202] ([i915#1072] / [i915#9732]) +1 other test skip
[202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@kms_psr@pr-no-drrs.html
* igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0:
- shard-tglu: NOTRUN -> [SKIP][203] ([i915#5289])
[203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-0.html
* igt@kms_scaling_modes@scaling-mode-full-aspect:
- shard-tglu: NOTRUN -> [SKIP][204] ([i915#3555]) +3 other tests skip
[204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@kms_scaling_modes@scaling-mode-full-aspect.html
* igt@kms_sysfs_edid_timing:
- shard-dg1: NOTRUN -> [FAIL][205] ([IGT#2] / [i915#6493])
[205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-19/igt@kms_sysfs_edid_timing.html
* igt@kms_tiled_display@basic-test-pattern-with-chamelium:
- shard-tglu: NOTRUN -> [SKIP][206] ([i915#8623])
[206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html
* igt@kms_vrr@flip-basic-fastset:
- shard-tglu: NOTRUN -> [SKIP][207] ([i915#9906])
[207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_vrr@flip-basic-fastset.html
* igt@kms_writeback@writeback-fb-id-xrgb2101010:
- shard-tglu: NOTRUN -> [SKIP][208] ([i915#2437] / [i915#9412])
[208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@kms_writeback@writeback-fb-id-xrgb2101010.html
* igt@kms_writeback@writeback-pixel-formats:
- shard-rkl: NOTRUN -> [SKIP][209] ([i915#2437] / [i915#9412])
[209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@kms_writeback@writeback-pixel-formats.html
* igt@perf_pmu@rc6@other-idle-gt0:
- shard-rkl: NOTRUN -> [SKIP][210] ([i915#8516])
[210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@perf_pmu@rc6@other-idle-gt0.html
* igt@prime_vgem@basic-fence-flip:
- shard-dg2: NOTRUN -> [SKIP][211] ([i915#3708] / [i915#9197])
[211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@prime_vgem@basic-fence-flip.html
* igt@prime_vgem@coherency-gtt:
- shard-rkl: NOTRUN -> [SKIP][212] ([i915#3708])
[212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@prime_vgem@coherency-gtt.html
* igt@prime_vgem@fence-read-hang:
- shard-dg1: NOTRUN -> [SKIP][213] ([i915#3708])
[213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-19/igt@prime_vgem@fence-read-hang.html
* igt@sriov_basic@enable-vfs-autoprobe-on:
- shard-tglu: NOTRUN -> [SKIP][214] ([i915#9917])
[214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-3/igt@sriov_basic@enable-vfs-autoprobe-on.html
#### Possible fixes ####
* igt@gem_ctx_persistence@hostile:
- shard-mtlp: [FAIL][215] ([i915#11980]) -> [PASS][216]
[215]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-mtlp-7/igt@gem_ctx_persistence@hostile.html
[216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-8/igt@gem_ctx_persistence@hostile.html
* igt@gem_eio@hibernate:
- shard-dg1: [ABORT][217] ([i915#7975] / [i915#8213]) -> [PASS][218]
[217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-14/igt@gem_eio@hibernate.html
[218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@gem_eio@hibernate.html
* igt@gem_exec_balancer@nop:
- shard-mtlp: [DMESG-WARN][219] -> [PASS][220]
[219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-mtlp-7/igt@gem_exec_balancer@nop.html
[220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-8/igt@gem_exec_balancer@nop.html
* igt@gem_exec_balancer@persistence:
- shard-glk: [INCOMPLETE][221] -> [PASS][222]
[221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-glk5/igt@gem_exec_balancer@persistence.html
[222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk5/igt@gem_exec_balancer@persistence.html
* igt@gem_exec_fair@basic-pace-share@rcs0:
- shard-rkl: [FAIL][223] ([i915#2842]) -> [PASS][224] +3 other tests pass
[223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-rkl-7/igt@gem_exec_fair@basic-pace-share@rcs0.html
[224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-1/igt@gem_exec_fair@basic-pace-share@rcs0.html
* igt@i915_module_load@reload-with-fault-injection:
- shard-tglu: [ABORT][225] ([i915#9697] / [i915#9820]) -> [PASS][226]
[225]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-tglu-9/igt@i915_module_load@reload-with-fault-injection.html
[226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-7/igt@i915_module_load@reload-with-fault-injection.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs:
- shard-dg2: [SKIP][227] ([i915#9197]) -> [PASS][228] +2 other tests pass
[227]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-2/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs.html
[228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-11/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs.html
* igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions:
- shard-glk: [FAIL][229] ([i915#2346]) -> [PASS][230] +1 other test pass
[229]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
[230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk9/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html
* igt@kms_cursor_legacy@flip-vs-cursor-toggle:
- shard-snb: [FAIL][231] -> [PASS][232]
[231]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-snb6/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
[232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-snb5/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html
* igt@kms_dither@fb-8bpc-vs-panel-8bpc:
- shard-dg2: [SKIP][233] ([i915#3555]) -> [PASS][234]
[233]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-11/igt@kms_dither@fb-8bpc-vs-panel-8bpc.html
[234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-10/igt@kms_dither@fb-8bpc-vs-panel-8bpc.html
* igt@kms_flip@2x-plain-flip-fb-recreate@ab-vga1-hdmi-a1:
- shard-snb: [FAIL][235] ([i915#2122]) -> [PASS][236] +7 other tests pass
[235]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-snb2/igt@kms_flip@2x-plain-flip-fb-recreate@ab-vga1-hdmi-a1.html
[236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-snb2/igt@kms_flip@2x-plain-flip-fb-recreate@ab-vga1-hdmi-a1.html
* igt@kms_flip@plain-flip-ts-check:
- shard-rkl: [FAIL][237] ([i915#2122]) -> [PASS][238]
[237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-rkl-4/igt@kms_flip@plain-flip-ts-check.html
[238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-6/igt@kms_flip@plain-flip-ts-check.html
* igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1:
- shard-glk: [FAIL][239] ([i915#2122]) -> [PASS][240] +1 other test pass
[239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-glk2/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1.html
[240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk6/igt@kms_flip@wf_vblank-ts-check@a-hdmi-a1.html
* igt@kms_flip@wf_vblank-ts-check@d-hdmi-a1:
- shard-tglu: [FAIL][241] ([i915#2122]) -> [PASS][242] +3 other tests pass
[241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-tglu-2/igt@kms_flip@wf_vblank-ts-check@d-hdmi-a1.html
[242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-tglu-9/igt@kms_flip@wf_vblank-ts-check@d-hdmi-a1.html
* igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu:
- shard-dg2: [FAIL][243] ([i915#6880]) -> [PASS][244]
[243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu.html
[244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-1/igt@kms_frontbuffer_tracking@fbc-1p-offscren-pri-indfb-draw-mmap-cpu.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite:
- shard-snb: [SKIP][245] -> [PASS][246] +3 other tests pass
[245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-snb6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html
[246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-snb5/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html
* igt@kms_hdr@static-toggle:
- shard-dg2: [SKIP][247] ([i915#3555] / [i915#8228]) -> [PASS][248] +1 other test pass
[247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-11/igt@kms_hdr@static-toggle.html
[248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-10/igt@kms_hdr@static-toggle.html
* igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait:
- shard-rkl: [SKIP][249] ([i915#9519]) -> [PASS][250]
[249]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-rkl-2/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
[250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-rkl-5/igt@kms_pm_rpm@modeset-non-lpsp-stress-no-wait.html
* igt@kms_sysfs_edid_timing:
- shard-snb: [FAIL][251] ([IGT#2] / [i915#6493]) -> [PASS][252]
[251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-snb2/igt@kms_sysfs_edid_timing.html
[252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-snb2/igt@kms_sysfs_edid_timing.html
* igt@kms_vblank@wait-idle-hang:
- shard-dg1: [DMESG-WARN][253] ([i915#4423]) -> [PASS][254] +1 other test pass
[253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-16/igt@kms_vblank@wait-idle-hang.html
[254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-15/igt@kms_vblank@wait-idle-hang.html
* igt@perf@polling:
- shard-glk: [FAIL][255] -> [PASS][256]
[255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-glk6/igt@perf@polling.html
[256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk3/igt@perf@polling.html
- shard-dg1: [FAIL][257] -> [PASS][258]
[257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-14/igt@perf@polling.html
[258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@perf@polling.html
* igt@perf@polling@0-rcs0:
- shard-dg1: [FAIL][259] ([i915#10538]) -> [PASS][260]
[259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-14/igt@perf@polling@0-rcs0.html
[260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-17/igt@perf@polling@0-rcs0.html
- shard-glk: [FAIL][261] ([i915#10538]) -> [PASS][262]
[261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-glk6/igt@perf@polling@0-rcs0.html
[262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk3/igt@perf@polling@0-rcs0.html
#### Warnings ####
* igt@i915_module_load@reload-with-fault-injection:
- shard-mtlp: [ABORT][263] ([i915#10131] / [i915#10887] / [i915#9820]) -> [ABORT][264] ([i915#10131] / [i915#10887] / [i915#9697])
[263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-mtlp-1/igt@i915_module_load@reload-with-fault-injection.html
[264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-mtlp-4/igt@i915_module_load@reload-with-fault-injection.html
* igt@i915_selftest@mock:
- shard-dg2: [DMESG-WARN][265] ([i915#9311]) -> [DMESG-WARN][266] ([i915#1982] / [i915#9311])
[265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-11/igt@i915_selftest@mock.html
[266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-10/igt@i915_selftest@mock.html
* igt@kms_big_fb@4-tiled-8bpp-rotate-90:
- shard-dg2: [SKIP][267] ([i915#9197]) -> [SKIP][268]
[267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-2/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
[268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-11/igt@kms_big_fb@4-tiled-8bpp-rotate-90.html
* igt@kms_big_fb@x-tiled-64bpp-rotate-270:
- shard-dg2: [SKIP][269] -> [SKIP][270] ([i915#9197]) +3 other tests skip
[269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-1/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html
[270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@y-tiled-addfb-size-offset-overflow:
- shard-dg2: [SKIP][271] ([i915#5190]) -> [SKIP][272] ([i915#5190] / [i915#9197]) +1 other test skip
[271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-1/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
[272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_big_fb@y-tiled-addfb-size-offset-overflow.html
* igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
- shard-dg2: [SKIP][273] ([i915#4538] / [i915#5190]) -> [SKIP][274] ([i915#5190] / [i915#9197]) +7 other tests skip
[273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
[274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html
* igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc:
- shard-dg2: [SKIP][275] ([i915#10307] / [i915#6095]) -> [SKIP][276] ([i915#9197]) +4 other tests skip
[275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc.html
[276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_ccs@crc-primary-basic-y-tiled-gen12-rc-ccs-cc.html
* igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-4:
- shard-dg1: [SKIP][277] ([i915#6095]) -> [SKIP][278] ([i915#4423] / [i915#6095]) +1 other test skip
[277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-15/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-4.html
[278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-14/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-dg2-mc-ccs@pipe-a-hdmi-a-4.html
* igt@kms_content_protection@dp-mst-lic-type-0:
- shard-dg2: [SKIP][279] ([i915#3299]) -> [SKIP][280] ([i915#9197])
[279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_content_protection@dp-mst-lic-type-0.html
[280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_content_protection@dp-mst-lic-type-0.html
* igt@kms_content_protection@lic-type-0:
- shard-dg2: [SKIP][281] ([i915#9424]) -> [TIMEOUT][282] ([i915#7173])
[281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-11/igt@kms_content_protection@lic-type-0.html
[282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-10/igt@kms_content_protection@lic-type-0.html
* igt@kms_content_protection@mei-interface:
- shard-dg1: [SKIP][283] ([i915#9424]) -> [SKIP][284] ([i915#9433])
[283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-14/igt@kms_content_protection@mei-interface.html
[284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-13/igt@kms_content_protection@mei-interface.html
* igt@kms_content_protection@type1:
- shard-dg2: [SKIP][285] ([i915#7118] / [i915#9424]) -> [SKIP][286] ([i915#9197])
[285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-5/igt@kms_content_protection@type1.html
[286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_content_protection@type1.html
* igt@kms_cursor_crc@cursor-onscreen-32x32:
- shard-dg2: [SKIP][287] ([i915#3555]) -> [SKIP][288] ([i915#9197])
[287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_cursor_crc@cursor-onscreen-32x32.html
[288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_cursor_crc@cursor-onscreen-32x32.html
* igt@kms_cursor_crc@cursor-onscreen-512x170:
- shard-dg2: [SKIP][289] ([i915#11453]) -> [SKIP][290] ([i915#9197]) +1 other test skip
[289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-5/igt@kms_cursor_crc@cursor-onscreen-512x170.html
[290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_cursor_crc@cursor-onscreen-512x170.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-dg2: [SKIP][291] ([i915#4103] / [i915#4213]) -> [SKIP][292] ([i915#9197]) +1 other test skip
[291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
[292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_cursor_legacy@cursora-vs-flipb-varying-size:
- shard-dg2: [SKIP][293] ([i915#5354]) -> [SKIP][294] ([i915#9197])
[293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-5/igt@kms_cursor_legacy@cursora-vs-flipb-varying-size.html
[294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_cursor_legacy@cursora-vs-flipb-varying-size.html
* igt@kms_display_modes@mst-extended-mode-negative:
- shard-dg2: [SKIP][295] ([i915#8588]) -> [SKIP][296] ([i915#9197])
[295]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-1/igt@kms_display_modes@mst-extended-mode-negative.html
[296]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_display_modes@mst-extended-mode-negative.html
* igt@kms_dsc@dsc-with-output-formats:
- shard-dg2: [SKIP][297] ([i915#3555] / [i915#3840]) -> [SKIP][298] ([i915#9197])
[297]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_dsc@dsc-with-output-formats.html
[298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_dsc@dsc-with-output-formats.html
* igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset:
- shard-dg1: [SKIP][299] ([i915#4423] / [i915#9934]) -> [SKIP][300] ([i915#9934])
[299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-18/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
[300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-12/igt@kms_flip@2x-single-buffer-flip-vs-dpms-off-vs-modeset.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
- shard-dg2: [SKIP][301] ([i915#2672] / [i915#3555] / [i915#5190]) -> [SKIP][302] ([i915#3555] / [i915#5190])
[301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
[302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling:
- shard-dg2: [SKIP][303] ([i915#2672] / [i915#3555]) -> [SKIP][304] ([i915#3555]) +1 other test skip
[303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
[304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-upscaling.html
* igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move:
- shard-dg2: [SKIP][305] ([i915#3458]) -> [SKIP][306] ([i915#10433] / [i915#3458]) +4 other tests skip
[305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-5/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html
[306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-spr-indfb-move.html
* igt@kms_frontbuffer_tracking@pipe-fbc-rte:
- shard-dg2: [SKIP][307] ([i915#9766]) -> [SKIP][308] ([i915#4342] / [i915#5354])
[307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-1/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
[308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_frontbuffer_tracking@pipe-fbc-rte.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
- shard-dg2: [SKIP][309] ([i915#3458]) -> [SKIP][310] ([i915#5354]) +12 other tests skip
[309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
[310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt:
- shard-dg2: [SKIP][311] ([i915#10433] / [i915#3458]) -> [SKIP][312] ([i915#3458])
[311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt.html
[312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-shrfb-plflip-blt.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc:
- shard-dg2: [SKIP][313] ([i915#8708]) -> [SKIP][314] ([i915#5354]) +14 other tests skip
[313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-5/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html
[314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-indfb-draw-mmap-wc.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-pwrite:
- shard-dg1: [SKIP][315] -> [SKIP][316] ([i915#4423])
[315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-18/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-pwrite.html
[316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-12/igt@kms_frontbuffer_tracking@psr-2p-primscrn-pri-shrfb-draw-pwrite.html
* igt@kms_hdr@invalid-metadata-sizes:
- shard-dg2: [SKIP][317] ([i915#3555] / [i915#8228]) -> [SKIP][318] ([i915#9197]) +1 other test skip
[317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-1/igt@kms_hdr@invalid-metadata-sizes.html
[318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_hdr@invalid-metadata-sizes.html
* igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25:
- shard-dg2: [SKIP][319] ([i915#12247] / [i915#6953] / [i915#9423]) -> [SKIP][320] ([i915#12247] / [i915#6953] / [i915#8152] / [i915#9423]) +1 other test skip
[319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25.html
[320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25.html
* igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d:
- shard-dg2: [SKIP][321] ([i915#12247]) -> [SKIP][322] ([i915#12247] / [i915#8152]) +1 other test skip
[321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d.html
[322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-2/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-25@pipe-d.html
* igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf:
- shard-dg1: [SKIP][323] ([i915#11520] / [i915#4423]) -> [SKIP][324] ([i915#11520])
[323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg1-13/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
[324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg1-16/igt@kms_psr2_sf@fbc-pr-cursor-plane-move-continuous-exceed-fully-sf.html
* igt@kms_tiled_display@basic-test-pattern:
- shard-glk: [SKIP][325] -> [FAIL][326] ([i915#10959])
[325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-glk8/igt@kms_tiled_display@basic-test-pattern.html
[326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-glk4/igt@kms_tiled_display@basic-test-pattern.html
* igt@perf@non-zero-reason@0-rcs0:
- shard-dg2: [FAIL][327] ([i915#9100]) -> [FAIL][328] ([i915#7484]) +1 other test fail
[327]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15473/shard-dg2-6/igt@perf@non-zero-reason@0-rcs0.html
[328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_139221v2/shard-dg2-1/igt@perf@non-zero-reason@0-rcs0.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
[i915#10030]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10030
[i915#10131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10131
[i915#10226]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10226
[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#10538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10538
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#10887]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10887
[i915#10959]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10959
[i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
[i915#11453]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11453
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11521]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11521
[i915#11614]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11614
[i915#11808]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11808
[i915#11980]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11980
[i915#12027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12027
[i915#12231]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12231
[i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
[i915#12296]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12296
[i915#12316]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12316
[i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
[i915#2065]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2065
[i915#2122]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2122
[i915#2346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2346
[i915#2437]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
[i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
[i915#2587]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2587
[i915#2672]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2672
[i915#280]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/280
[i915#2842]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2846
[i915#2856]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2856
[i915#3023]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3023
[i915#3116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3116
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
[i915#3297]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3297
[i915#3299]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3299
[i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
[i915#3469]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3469
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3582
[i915#3591]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3591
[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#3826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3826
[i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
[i915#3955]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3955
[i915#3966]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3966
[i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
[i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
[i915#4103]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4103
[i915#4212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4212
[i915#4213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4213
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4281
[i915#4342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4342
[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#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
[i915#4854]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4854
[i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
[i915#4879]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4879
[i915#5138]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5138
[i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
[i915#5286]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5286
[i915#5289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5289
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#5439]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5439
[i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566
[i915#5723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5723
[i915#5784]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
[i915#6117]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6117
[i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
[i915#6335]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6335
[i915#6493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6493
[i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590
[i915#6880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6880
[i915#6944]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6944
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
[i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
[i915#7173]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7173
[i915#7484]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7484
[i915#7582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7582
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#7975]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7975
[i915#8152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8152
[i915#8213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8213
[i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
[i915#8414]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8414
[i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
[i915#8430]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8430
[i915#8516]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8516
[i915#8588]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8588
[i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
[i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
[i915#8709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8709
[i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
[i915#8825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8825
[i915#9100]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9100
[i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197
[i915#9311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9311
[i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
[i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
[i915#9412]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9412
[i915#9423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9423
[i915#9424]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9424
[i915#9433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9433
[i915#9519]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9519
[i915#9683]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9683
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9688]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9688
[i915#9697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9697
[i915#9723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9723
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9766]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9766
[i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
[i915#9820]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9820
[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_15473 -> Patchwork_139221v2
CI-20190529: 20190529
CI_DRM_15473: 55a90a928d9752b8a21298cb525b95de4b78f4ed @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8049: 909157f3cc3c0676a4f896752276d438c3ec3959 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Patchwork_139221v2: 55a90a928d9752b8a21298cb525b95de4b78f4ed @ 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_139221v2/index.html
[-- Attachment #2: Type: text/html, Size: 107024 bytes --]
^ permalink raw reply [flat|nested] 19+ messages in thread