Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only
@ 2024-08-23 14:11 Jani Nikula
  2024-08-23 14:11 ` [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
                   ` (4 more replies)
  0 siblings, 5 replies; 18+ messages in thread
From: Jani Nikula @ 2024-08-23 14:11 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, jani.nikula, Thomas Hellström,
	Christian König

s/tryock_only/trylock_only/

Fixes: da966b82bf3d ("drm/ttm: Provide a generic LRU walker helper")
Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Cc: Christian König <christian.koenig@amd.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 include/drm/ttm/ttm_bo.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h
index d1a732d56259..7294dde240fb 100644
--- a/include/drm/ttm/ttm_bo.h
+++ b/include/drm/ttm/ttm_bo.h
@@ -222,7 +222,7 @@ struct ttm_lru_walk {
 	struct ttm_operation_ctx *ctx;
 	/** @ticket: The struct ww_acquire_ctx if any. */
 	struct ww_acquire_ctx *ticket;
-	/** @tryock_only: Only use trylock for locking. */
+	/** @trylock_only: Only use trylock for locking. */
 	bool trylock_only;
 };
 
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2024-08-23 14:11 [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Jani Nikula
@ 2024-08-23 14:11 ` Jani Nikula
  2024-08-26 16:05   ` kernel test robot
  2024-08-26 22:28   ` kernel test robot
  2024-08-23 14:12 ` [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Christian König
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 18+ messages in thread
From: Jani Nikula @ 2024-08-23 14:11 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, jani.nikula, Daniel Vetter, David Airlie,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada

Ensure drm headers build, are self-contained, have header guards, and
have no kernel-doc warnings, when CONFIG_DRM_HEADER_TEST=y.

The mechanism follows similar patters used in i915, xe, and usr/include.

To cover include/drm, we need to recurse there using the top level
Kbuild and the new include/Kbuild files.

v4: check for CONFIG_WERROR in addition to CONFIG_DRM_WERROR

v3: adapt to upstream build changes

v2: make DRM_HEADER_TEST depend on DRM

Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 Kbuild                   |  1 +
 drivers/gpu/drm/Kconfig  | 11 +++++++++++
 drivers/gpu/drm/Makefile | 18 ++++++++++++++++++
 include/Kbuild           |  1 +
 include/drm/Makefile     | 18 ++++++++++++++++++
 5 files changed, 49 insertions(+)
 create mode 100644 include/Kbuild
 create mode 100644 include/drm/Makefile

diff --git a/Kbuild b/Kbuild
index 464b34a08f51..f327ca86990c 100644
--- a/Kbuild
+++ b/Kbuild
@@ -97,3 +97,4 @@ obj-$(CONFIG_SAMPLES)	+= samples/
 obj-$(CONFIG_NET)	+= net/
 obj-y			+= virt/
 obj-y			+= $(ARCH_DRIVERS)
+obj-$(CONFIG_DRM_HEADER_TEST)	+= include/
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 0387143bbb39..1f3a22df9309 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -476,6 +476,17 @@ config DRM_WERROR
 
 	  If in doubt, say N.
 
+config DRM_HEADER_TEST
+	bool "Ensure DRM headers are self-contained and pass kernel-doc"
+	depends on DRM && EXPERT
+	default n
+	help
+	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
+	  include/drm compile, are self-contained, have header guards, and have
+	  no kernel-doc warnings.
+
+	  If in doubt, say N.
+
 endif
 
 # Separate option because drm_panel_orientation_quirks.c is shared with fbdev
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 68cc9258ffc4..c199075c87a4 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -219,3 +219,21 @@ obj-y			+= solomon/
 obj-$(CONFIG_DRM_SPRD) += sprd/
 obj-$(CONFIG_DRM_LOONGSON) += loongson/
 obj-$(CONFIG_DRM_POWERVR) += imagination/
+
+# Ensure drm headers are self-contained and pass kernel-doc
+hdrtest-files := \
+	$(shell cd $(src) && find . -maxdepth 1 -name 'drm_*.h') \
+	$(shell cd $(src) && find display lib -name '*.h')
+
+always-$(CONFIG_DRM_HEADER_TEST) += \
+	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
+
+# Include the header twice to detect missing include guard.
+quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
+      cmd_hdrtest = \
+		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
+		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
+		touch $@
+
+$(obj)/%.hdrtest: $(src)/%.h FORCE
+	$(call if_changed_dep,hdrtest)
diff --git a/include/Kbuild b/include/Kbuild
new file mode 100644
index 000000000000..5e76a599e2dd
--- /dev/null
+++ b/include/Kbuild
@@ -0,0 +1 @@
+obj-$(CONFIG_DRM_HEADER_TEST)	+= drm/
diff --git a/include/drm/Makefile b/include/drm/Makefile
new file mode 100644
index 000000000000..a7bd15d2803e
--- /dev/null
+++ b/include/drm/Makefile
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0
+
+# Ensure drm headers are self-contained and pass kernel-doc
+hdrtest-files := \
+	$(shell cd $(src) && find * -name '*.h' 2>/dev/null)
+
+always-$(CONFIG_DRM_HEADER_TEST) += \
+	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
+
+# Include the header twice to detect missing include guard.
+quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
+      cmd_hdrtest = \
+		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
+		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
+		touch $@
+
+$(obj)/%.hdrtest: $(src)/%.h FORCE
+	$(call if_changed_dep,hdrtest)
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only
  2024-08-23 14:11 [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Jani Nikula
  2024-08-23 14:11 ` [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
@ 2024-08-23 14:12 ` Christian König
  2024-08-26 10:20   ` Jani Nikula
  2024-08-23 14:44 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] " Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 18+ messages in thread
From: Christian König @ 2024-08-23 14:12 UTC (permalink / raw)
  To: Jani Nikula, dri-devel; +Cc: intel-gfx, Thomas Hellström

Am 23.08.24 um 16:11 schrieb Jani Nikula:
> s/tryock_only/trylock_only/
>
> Fixes: da966b82bf3d ("drm/ttm: Provide a generic LRU walker helper")
> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
> Cc: Christian König <christian.koenig@amd.com>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Christian König <christian.koenig@amd.com>

> ---
>   include/drm/ttm/ttm_bo.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h
> index d1a732d56259..7294dde240fb 100644
> --- a/include/drm/ttm/ttm_bo.h
> +++ b/include/drm/ttm/ttm_bo.h
> @@ -222,7 +222,7 @@ struct ttm_lru_walk {
>   	struct ttm_operation_ctx *ctx;
>   	/** @ticket: The struct ww_acquire_ctx if any. */
>   	struct ww_acquire_ctx *ticket;
> -	/** @tryock_only: Only use trylock for locking. */
> +	/** @trylock_only: Only use trylock for locking. */
>   	bool trylock_only;
>   };
>   


^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/ttm: fix kernel-doc typo for @trylock_only
  2024-08-23 14:11 [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Jani Nikula
  2024-08-23 14:11 ` [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
  2024-08-23 14:12 ` [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Christian König
@ 2024-08-23 14:44 ` Patchwork
  2024-08-23 14:51 ` ✓ Fi.CI.BAT: success " Patchwork
  2024-08-24 13:38 ` ✗ Fi.CI.IGT: failure " Patchwork
  4 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-08-23 14:44 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/ttm: fix kernel-doc typo for @trylock_only
URL   : https://patchwork.freedesktop.org/series/137719/
State : warning

== Summary ==

Error: dim checkpatch failed
2db722b79996 drm/ttm: fix kernel-doc typo for @trylock_only
0809e2f82c9f drm: ensure drm headers are self-contained and pass kernel-doc
-:89: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#89: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 61 lines checked



^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/2] drm/ttm: fix kernel-doc typo for @trylock_only
  2024-08-23 14:11 [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Jani Nikula
                   ` (2 preceding siblings ...)
  2024-08-23 14:44 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] " Patchwork
@ 2024-08-23 14:51 ` Patchwork
  2024-08-24 13:38 ` ✗ Fi.CI.IGT: failure " Patchwork
  4 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-08-23 14:51 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 20280 bytes --]

== Series Details ==

Series: series starting with [1/2] drm/ttm: fix kernel-doc typo for @trylock_only
URL   : https://patchwork.freedesktop.org/series/137719/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_15283 -> Patchwork_137719v1
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/index.html

Participating hosts (35 -> 37)
------------------------------

  Additional (5): bat-dg1-7 bat-adlp-11 fi-cfl-8109u bat-arls-5 bat-jsl-1 
  Missing    (3): fi-tgl-1115g4 fi-snb-2520m fi-bsw-n3050 

Known issues
------------

  Here are the changes found in Patchwork_137719v1 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - bat-arls-5:         NOTRUN -> [SKIP][1] ([i915#9318])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@debugfs_test@basic-hwmon.html
    - bat-adlp-11:        NOTRUN -> [SKIP][2] ([i915#9318])
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@debugfs_test@basic-hwmon.html
    - bat-jsl-1:          NOTRUN -> [SKIP][3] ([i915#9318])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-jsl-1/igt@debugfs_test@basic-hwmon.html

  * igt@fbdev@info:
    - bat-adlp-11:        NOTRUN -> [SKIP][4] ([i915#1849] / [i915#2582])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@fbdev@info.html

  * igt@fbdev@nullptr:
    - bat-adlp-11:        NOTRUN -> [SKIP][5] ([i915#2582]) +3 other tests skip
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@fbdev@nullptr.html

  * igt@gem_huc_copy@huc-copy:
    - fi-cfl-8109u:       NOTRUN -> [SKIP][6] ([i915#2190])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/fi-cfl-8109u/igt@gem_huc_copy@huc-copy.html
    - bat-jsl-1:          NOTRUN -> [SKIP][7] ([i915#2190])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-jsl-1/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - bat-arls-5:         NOTRUN -> [SKIP][8] ([i915#10213]) +3 other tests skip
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_lmem_swapping@verify-random:
    - bat-adlp-11:        NOTRUN -> [SKIP][9] ([i915#4613]) +3 other tests skip
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@gem_lmem_swapping@verify-random.html
    - fi-cfl-8109u:       NOTRUN -> [SKIP][10] ([i915#4613]) +3 other tests skip
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/fi-cfl-8109u/igt@gem_lmem_swapping@verify-random.html
    - bat-jsl-1:          NOTRUN -> [SKIP][11] ([i915#4613]) +3 other tests skip
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-jsl-1/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap@basic:
    - bat-dg1-7:          NOTRUN -> [SKIP][12] ([i915#4083])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@gem_mmap@basic.html
    - bat-arls-5:         NOTRUN -> [SKIP][13] ([i915#11343] / [i915#4083])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@gem_mmap@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-arls-5:         NOTRUN -> [SKIP][14] ([i915#10197] / [i915#10211] / [i915#4079])
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@gem_render_tiled_blits@basic.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-arls-5:         NOTRUN -> [SKIP][15] ([i915#10196] / [i915#4077]) +2 other tests skip
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@gem_tiled_fence_blits@basic.html
    - bat-dg1-7:          NOTRUN -> [SKIP][16] ([i915#4077]) +2 other tests skip
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - bat-arls-5:         NOTRUN -> [SKIP][17] ([i915#10206] / [i915#4079])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@gem_tiled_pread_basic.html
    - bat-dg1-7:          NOTRUN -> [SKIP][18] ([i915#4079]) +1 other test skip
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@gem_tiled_pread_basic.html
    - bat-adlp-11:        NOTRUN -> [SKIP][19] ([i915#3282])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_rps@basic-api:
    - bat-dg1-7:          NOTRUN -> [SKIP][20] ([i915#11681] / [i915#6621])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@i915_pm_rps@basic-api.html
    - bat-arls-5:         NOTRUN -> [SKIP][21] ([i915#10209])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@i915_pm_rps@basic-api.html
    - bat-adlp-11:        NOTRUN -> [SKIP][22] ([i915#6621])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@i915_pm_rps@basic-api.html

  * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][23] ([i915#4212]) +7 other tests skip
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-7:          NOTRUN -> [SKIP][24] ([i915#4215])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@clobberred-modifier:
    - bat-arls-5:         NOTRUN -> [SKIP][25] ([i915#10200]) +9 other tests skip
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@kms_addfb_basic@clobberred-modifier.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy:
    - bat-arls-5:         NOTRUN -> [SKIP][26] ([i915#10202] / [i915#11346]) +1 other test skip
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-jsl-1:          NOTRUN -> [SKIP][27] ([i915#4103]) +1 other test skip
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-jsl-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html
    - bat-dg1-7:          NOTRUN -> [SKIP][28] ([i915#4103] / [i915#4213]) +1 other test skip
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html

  * igt@kms_dsc@dsc-basic:
    - bat-arls-5:         NOTRUN -> [SKIP][29] ([i915#11346] / [i915#9886])
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@kms_dsc@dsc-basic.html
    - bat-jsl-1:          NOTRUN -> [SKIP][30] ([i915#3555] / [i915#9886])
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-jsl-1/igt@kms_dsc@dsc-basic.html
    - bat-dg1-7:          NOTRUN -> [SKIP][31] ([i915#3555] / [i915#3840])
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_dsc@dsc-basic.html

  * igt@kms_flip@basic-flip-vs-dpms:
    - bat-adlp-11:        NOTRUN -> [SKIP][32] ([i915#3637]) +3 other tests skip
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@kms_flip@basic-flip-vs-dpms.html

  * igt@kms_force_connector_basic@force-load-detect:
    - bat-arls-5:         NOTRUN -> [SKIP][33] ([i915#10207] / [i915#11346])
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@kms_force_connector_basic@force-load-detect.html
    - bat-jsl-1:          NOTRUN -> [SKIP][34]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-jsl-1/igt@kms_force_connector_basic@force-load-detect.html
    - bat-dg1-7:          NOTRUN -> [SKIP][35]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-adlp-11:        NOTRUN -> [SKIP][36] ([i915#4093]) +3 other tests skip
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_frontbuffer_tracking@basic:
    - bat-adlp-11:        NOTRUN -> [SKIP][37] ([i915#4342] / [i915#5354])
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@kms_frontbuffer_tracking@basic.html

  * igt@kms_hdmi_inject@inject-audio:
    - bat-dg1-7:          NOTRUN -> [SKIP][38] ([i915#433])
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_hdmi_inject@inject-audio.html
    - bat-adlp-11:        NOTRUN -> [SKIP][39] ([i915#4369])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_pipe_crc_basic@read-crc:
    - bat-adlp-11:        NOTRUN -> [SKIP][40] ([i915#10470]) +16 other tests skip
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@kms_pipe_crc_basic@read-crc.html

  * igt@kms_pm_backlight@basic-brightness:
    - bat-arls-5:         NOTRUN -> [SKIP][41] ([i915#11346] / [i915#9812])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@kms_pm_backlight@basic-brightness.html
    - bat-dg1-7:          NOTRUN -> [SKIP][42] ([i915#5354])
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_pm_backlight@basic-brightness.html
    - fi-cfl-8109u:       NOTRUN -> [SKIP][43] +11 other tests skip
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/fi-cfl-8109u/igt@kms_pm_backlight@basic-brightness.html
    - bat-adlp-11:        NOTRUN -> [SKIP][44] ([i915#9812])
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@kms_pm_backlight@basic-brightness.html

  * igt@kms_psr@psr-primary-page-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][45] ([i915#1072] / [i915#9732]) +3 other tests skip
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_psr@psr-primary-page-flip.html

  * igt@kms_psr@psr-sprite-plane-onoff:
    - bat-arls-5:         NOTRUN -> [SKIP][46] ([i915#11346] / [i915#9732]) +3 other tests skip
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@kms_psr@psr-sprite-plane-onoff.html
    - bat-adlp-11:        NOTRUN -> [SKIP][47] ([i915#1072] / [i915#9673] / [i915#9732]) +3 other tests skip
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@kms_psr@psr-sprite-plane-onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - bat-arls-5:         NOTRUN -> [SKIP][48] ([i915#10208] / [i915#8809])
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-adlp-11:        NOTRUN -> [SKIP][49] ([i915#3555])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-jsl-1:          NOTRUN -> [SKIP][50] ([i915#3555])
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-jsl-1/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-dg1-7:          NOTRUN -> [SKIP][51] ([i915#3555])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-flip:
    - bat-dg1-7:          NOTRUN -> [SKIP][52] ([i915#3708]) +3 other tests skip
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@prime_vgem@basic-fence-flip.html
    - bat-adlp-11:        NOTRUN -> [SKIP][53] ([i915#10470] / [i915#3708])
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - bat-dg1-7:          NOTRUN -> [SKIP][54] ([i915#3708] / [i915#4077]) +1 other test skip
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-dg1-7/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-fence-read:
    - bat-adlp-11:        NOTRUN -> [SKIP][55] ([i915#3291] / [i915#3708]) +2 other tests skip
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-adlp-11/igt@prime_vgem@basic-fence-read.html
    - bat-arls-5:         NOTRUN -> [SKIP][56] ([i915#10212] / [i915#3708])
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-gtt:
    - bat-arls-5:         NOTRUN -> [SKIP][57] ([i915#10196] / [i915#3708] / [i915#4077]) +1 other test skip
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-read:
    - bat-arls-5:         NOTRUN -> [SKIP][58] ([i915#10214] / [i915#3708])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-write:
    - bat-arls-5:         NOTRUN -> [SKIP][59] ([i915#10216] / [i915#3708])
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-5/igt@prime_vgem@basic-write.html

  
#### Possible fixes ####

  * igt@gem_sync@basic-each:
    - {bat-arlh-3}:       [INCOMPLETE][60] ([i915#12041]) -> [PASS][61]
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/bat-arlh-3/igt@gem_sync@basic-each.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arlh-3/igt@gem_sync@basic-each.html

  * igt@i915_selftest@live@hangcheck:
    - bat-arls-1:         [DMESG-WARN][62] ([i915#11349]) -> [PASS][63]
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/bat-arls-1/igt@i915_selftest@live@hangcheck.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-1/igt@i915_selftest@live@hangcheck.html

  * igt@i915_selftest@live@migrate:
    - bat-arls-2:         [DMESG-WARN][64] ([i915#10341]) -> [PASS][65]
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/bat-arls-2/igt@i915_selftest@live@migrate.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-2/igt@i915_selftest@live@migrate.html

  * igt@i915_selftest@live@ring_submission:
    - bat-arls-2:         [DMESG-FAIL][66] ([i915#10262]) -> [PASS][67] +22 other tests pass
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/bat-arls-2/igt@i915_selftest@live@ring_submission.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-2/igt@i915_selftest@live@ring_submission.html

  
#### Warnings ####

  * igt@i915_selftest@live@hangcheck:
    - bat-arls-2:         [DMESG-FAIL][68] ([i915#10262]) -> [DMESG-WARN][69] ([i915#11349])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/bat-arls-2/igt@i915_selftest@live@hangcheck.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/bat-arls-2/igt@i915_selftest@live@hangcheck.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [i915#10196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10196
  [i915#10197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10197
  [i915#10200]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10200
  [i915#10202]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10202
  [i915#10206]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10206
  [i915#10207]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10207
  [i915#10208]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10208
  [i915#10209]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10209
  [i915#10211]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10211
  [i915#10212]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10212
  [i915#10213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10213
  [i915#10214]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10214
  [i915#10216]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10216
  [i915#10262]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10262
  [i915#10341]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10341
  [i915#10470]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10470
  [i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
  [i915#11343]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11343
  [i915#11346]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11346
  [i915#11349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11349
  [i915#11666]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11666
  [i915#11671]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11671
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#11723]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11723
  [i915#11724]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11724
  [i915#11726]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11726
  [i915#12041]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12041
  [i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
  [i915#2190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2190
  [i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
  [i915#3282]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3291
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3708
  [i915#3840]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3840
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4083
  [i915#4093]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4093
  [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#4215]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4215
  [i915#433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/433
  [i915#4342]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4342
  [i915#4369]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4369
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#8809]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8809
  [i915#9318]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9318
  [i915#9673]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9673
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9812
  [i915#9886]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9886


Build changes
-------------

  * Linux: CI_DRM_15283 -> Patchwork_137719v1

  CI-20190529: 20190529
  CI_DRM_15283: bb53a030e951749b4e919a5a8b17e6d8bedc5597 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7987: 89c9c18d654c46a9469c6c414d40f5b63dde9958 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_137719v1: bb53a030e951749b4e919a5a8b17e6d8bedc5597 @ git://anongit.freedesktop.org/gfx-ci/linux

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/index.html

[-- Attachment #2: Type: text/html, Size: 24378 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* ✗ Fi.CI.IGT: failure for series starting with [1/2] drm/ttm: fix kernel-doc typo for @trylock_only
  2024-08-23 14:11 [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Jani Nikula
                   ` (3 preceding siblings ...)
  2024-08-23 14:51 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2024-08-24 13:38 ` Patchwork
  4 siblings, 0 replies; 18+ messages in thread
From: Patchwork @ 2024-08-24 13:38 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

[-- Attachment #1: Type: text/plain, Size: 74419 bytes --]

== Series Details ==

Series: series starting with [1/2] drm/ttm: fix kernel-doc typo for @trylock_only
URL   : https://patchwork.freedesktop.org/series/137719/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_15283_full -> Patchwork_137719v1_full
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_137719v1_full absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_137719v1_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.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/index.html

Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts

Possible new issues
-------------------

  Here are the unknown changes that may have been introduced in Patchwork_137719v1_full:

### IGT changes ###

#### Possible regressions ####

  * igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_ccs@crc-primary-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs:
    - shard-dg1:          NOTRUN -> [SKIP][2]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-lnl-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs:
    - shard-rkl:          NOTRUN -> [SKIP][3] +2 other tests skip
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-bmg-ccs.html

  * igt@vgem_basic@unload:
    - shard-glk:          NOTRUN -> [INCOMPLETE][4]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk5/igt@vgem_basic@unload.html
    - shard-mtlp:         NOTRUN -> [INCOMPLETE][5]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/igt@vgem_basic@unload.html

  
#### Warnings ####

  * igt@kms_big_fb@x-tiled-8bpp-rotate-270:
    - shard-rkl:          [SKIP][6] ([i915#3638]) -> [ABORT][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-rkl-4/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-1/igt@kms_big_fb@x-tiled-8bpp-rotate-270.html

  
Known issues
------------

  Here are the changes found in Patchwork_137719v1_full that come from known issues:

### CI changes ###

#### Possible fixes ####

  * boot:
    - shard-mtlp:         ([PASS][8], [PASS][9], [PASS][10], [PASS][11], [PASS][12], [FAIL][13], [PASS][14], [PASS][15], [PASS][16], [PASS][17], [PASS][18], [PASS][19], [PASS][20], [PASS][21], [PASS][22], [PASS][23], [PASS][24], [PASS][25], [PASS][26], [PASS][27], [PASS][28], [PASS][29], [PASS][30], [PASS][31], [PASS][32]) -> ([PASS][33], [PASS][34], [PASS][35], [PASS][36], [PASS][37], [PASS][38], [PASS][39], [PASS][40], [PASS][41], [PASS][42], [PASS][43], [PASS][44], [PASS][45], [PASS][46], [PASS][47], [PASS][48], [PASS][49], [PASS][50], [PASS][51], [PASS][52], [PASS][53], [PASS][54], [PASS][55], [PASS][56], [PASS][57])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-6/boot.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-7/boot.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-7/boot.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-7/boot.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-8/boot.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-8/boot.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-8/boot.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-1/boot.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-1/boot.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-1/boot.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-2/boot.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-2/boot.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-2/boot.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-3/boot.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-3/boot.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-3/boot.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-4/boot.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-4/boot.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-4/boot.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-5/boot.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-5/boot.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-5/boot.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-5/boot.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-6/boot.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-6/boot.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-8/boot.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-8/boot.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-8/boot.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-7/boot.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-7/boot.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-7/boot.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-7/boot.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-6/boot.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-6/boot.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-6/boot.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-5/boot.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-5/boot.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-5/boot.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-5/boot.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-4/boot.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-4/boot.html
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-4/boot.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/boot.html
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/boot.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-2/boot.html
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-2/boot.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-2/boot.html
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/boot.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/boot.html
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/boot.html

  

### IGT changes ###

#### Issues hit ####

  * igt@device_reset@cold-reset-bound:
    - shard-dg1:          NOTRUN -> [SKIP][58] ([i915#11078])
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@device_reset@cold-reset-bound.html

  * igt@drm_fdinfo@busy-idle@vcs1:
    - shard-dg1:          NOTRUN -> [SKIP][59] ([i915#8414]) +9 other tests skip
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@drm_fdinfo@busy-idle@vcs1.html

  * igt@drm_fdinfo@most-busy-check-all@bcs0:
    - shard-dg2:          NOTRUN -> [SKIP][60] ([i915#8414]) +13 other tests skip
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@drm_fdinfo@most-busy-check-all@bcs0.html

  * igt@drm_fdinfo@virtual-busy-hang-all:
    - shard-mtlp:         NOTRUN -> [SKIP][61] ([i915#8414])
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@drm_fdinfo@virtual-busy-hang-all.html

  * igt@gem_basic@multigpu-create-close:
    - shard-rkl:          NOTRUN -> [SKIP][62] ([i915#7697])
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-1/igt@gem_basic@multigpu-create-close.html

  * igt@gem_ccs@block-copy-compressed:
    - shard-snb:          NOTRUN -> [SKIP][63] +70 other tests skip
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-snb4/igt@gem_ccs@block-copy-compressed.html

  * igt@gem_ccs@ctrl-surf-copy-new-ctx:
    - shard-rkl:          NOTRUN -> [SKIP][64] ([i915#9323])
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@gem_ccs@ctrl-surf-copy-new-ctx.html

  * igt@gem_close_race@multigpu-basic-threads:
    - shard-dg1:          NOTRUN -> [SKIP][65] ([i915#7697])
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gem_close_race@multigpu-basic-threads.html

  * igt@gem_create@create-ext-set-pat:
    - shard-dg1:          NOTRUN -> [SKIP][66] ([i915#8562])
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gem_create@create-ext-set-pat.html

  * igt@gem_ctx_persistence@hang:
    - shard-snb:          NOTRUN -> [SKIP][67] ([i915#1099])
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-snb4/igt@gem_ctx_persistence@hang.html

  * igt@gem_ctx_sseu@invalid-args:
    - shard-dg1:          NOTRUN -> [SKIP][68] ([i915#280])
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gem_ctx_sseu@invalid-args.html

  * igt@gem_ctx_sseu@mmap-args:
    - shard-rkl:          NOTRUN -> [SKIP][69] ([i915#280])
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-1/igt@gem_ctx_sseu@mmap-args.html

  * igt@gem_exec_balancer@invalid-bonds:
    - shard-dg2:          NOTRUN -> [SKIP][70] ([i915#4036])
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@gem_exec_balancer@invalid-bonds.html

  * igt@gem_exec_balancer@parallel-contexts:
    - shard-rkl:          NOTRUN -> [SKIP][71] ([i915#4525])
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-1/igt@gem_exec_balancer@parallel-contexts.html

  * igt@gem_exec_balancer@sliced:
    - shard-dg1:          NOTRUN -> [SKIP][72] ([i915#4812])
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@gem_exec_balancer@sliced.html

  * igt@gem_exec_capture@capture@vecs0-lmem0:
    - shard-dg1:          NOTRUN -> [FAIL][73] ([i915#11965]) +1 other test fail
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gem_exec_capture@capture@vecs0-lmem0.html

  * igt@gem_exec_fair@basic-none-rrul@rcs0:
    - shard-rkl:          NOTRUN -> [FAIL][74] ([i915#2842])
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@gem_exec_fair@basic-none-rrul@rcs0.html

  * igt@gem_exec_fair@basic-none-share:
    - shard-mtlp:         NOTRUN -> [SKIP][75] ([i915#4473] / [i915#4771])
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/igt@gem_exec_fair@basic-none-share.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - shard-glk:          NOTRUN -> [FAIL][76] ([i915#2842])
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk5/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-tglu:         [PASS][77] -> [FAIL][78] ([i915#2842])
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-tglu-5/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-tglu-10/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@gem_exec_fair@basic-pace@vecs0:
    - shard-rkl:          [PASS][79] -> [FAIL][80] ([i915#2842])
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-rkl-6/igt@gem_exec_fair@basic-pace@vecs0.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-4/igt@gem_exec_fair@basic-pace@vecs0.html

  * igt@gem_exec_fence@concurrent:
    - shard-dg2:          NOTRUN -> [SKIP][81] ([i915#4812]) +1 other test skip
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@gem_exec_fence@concurrent.html

  * igt@gem_exec_fence@submit67:
    - shard-mtlp:         NOTRUN -> [SKIP][82] ([i915#4812]) +1 other test skip
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@gem_exec_fence@submit67.html

  * igt@gem_exec_flush@basic-uc-rw-default:
    - shard-dg2:          NOTRUN -> [SKIP][83] ([i915#3539] / [i915#4852])
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@gem_exec_flush@basic-uc-rw-default.html

  * igt@gem_exec_flush@basic-wb-ro-default:
    - shard-dg1:          NOTRUN -> [SKIP][84] ([i915#3539] / [i915#4852])
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@gem_exec_flush@basic-wb-ro-default.html

  * igt@gem_exec_reloc@basic-cpu-read-noreloc:
    - shard-dg2:          NOTRUN -> [SKIP][85] ([i915#3281]) +3 other tests skip
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@gem_exec_reloc@basic-cpu-read-noreloc.html

  * igt@gem_exec_reloc@basic-cpu-wc:
    - shard-mtlp:         NOTRUN -> [SKIP][86] ([i915#3281])
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/igt@gem_exec_reloc@basic-cpu-wc.html

  * igt@gem_exec_reloc@basic-scanout:
    - shard-rkl:          NOTRUN -> [SKIP][87] ([i915#3281]) +7 other tests skip
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@gem_exec_reloc@basic-scanout.html

  * igt@gem_exec_reloc@basic-wc-read:
    - shard-dg1:          NOTRUN -> [SKIP][88] ([i915#3281]) +4 other tests skip
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gem_exec_reloc@basic-wc-read.html

  * igt@gem_fence_thrash@bo-write-verify-y:
    - shard-dg1:          NOTRUN -> [SKIP][89] ([i915#4860])
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@gem_fence_thrash@bo-write-verify-y.html

  * igt@gem_lmem_swapping@heavy-verify-multi:
    - shard-glk:          NOTRUN -> [SKIP][90] ([i915#4613])
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk6/igt@gem_lmem_swapping@heavy-verify-multi.html

  * igt@gem_lmem_swapping@parallel-random-verify:
    - shard-rkl:          NOTRUN -> [SKIP][91] ([i915#4613]) +2 other tests skip
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@gem_lmem_swapping@parallel-random-verify.html

  * igt@gem_lmem_swapping@verify-ccs@lmem0:
    - shard-dg1:          NOTRUN -> [SKIP][92] ([i915#4565])
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gem_lmem_swapping@verify-ccs@lmem0.html

  * igt@gem_madvise@dontneed-before-pwrite:
    - shard-dg1:          NOTRUN -> [SKIP][93] ([i915#3282]) +1 other test skip
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gem_madvise@dontneed-before-pwrite.html

  * igt@gem_media_fill@media-fill:
    - shard-dg2:          NOTRUN -> [SKIP][94] ([i915#8289])
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@gem_media_fill@media-fill.html

  * igt@gem_mmap@basic-small-bo:
    - shard-dg2:          NOTRUN -> [SKIP][95] ([i915#4083]) +1 other test skip
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@gem_mmap@basic-small-bo.html

  * igt@gem_mmap_gtt@basic-read:
    - shard-dg2:          NOTRUN -> [SKIP][96] ([i915#4077]) +3 other tests skip
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@gem_mmap_gtt@basic-read.html

  * igt@gem_mmap_gtt@basic-small-copy-xy:
    - shard-mtlp:         NOTRUN -> [SKIP][97] ([i915#4077]) +2 other tests skip
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@gem_mmap_gtt@basic-small-copy-xy.html

  * igt@gem_mmap_gtt@coherency:
    - shard-dg1:          NOTRUN -> [SKIP][98] ([i915#4077]) +4 other tests skip
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@gem_mmap_gtt@coherency.html

  * igt@gem_mmap_wc@write-cpu-read-wc-unflushed:
    - shard-dg1:          NOTRUN -> [SKIP][99] ([i915#4083]) +4 other tests skip
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@gem_mmap_wc@write-cpu-read-wc-unflushed.html

  * igt@gem_mmap_wc@write-gtt-read-wc:
    - shard-mtlp:         NOTRUN -> [SKIP][100] ([i915#4083])
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@gem_mmap_wc@write-gtt-read-wc.html

  * igt@gem_pread@bench:
    - shard-rkl:          NOTRUN -> [SKIP][101] ([i915#3282]) +4 other tests skip
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@gem_pread@bench.html

  * igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted:
    - shard-dg1:          NOTRUN -> [SKIP][102] ([i915#4270]) +1 other test skip
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@gem_pxp@dmabuf-shared-protected-dst-is-context-refcounted.html

  * igt@gem_pxp@regular-baseline-src-copy-readible:
    - shard-dg2:          NOTRUN -> [SKIP][103] ([i915#4270]) +1 other test skip
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@gem_pxp@regular-baseline-src-copy-readible.html

  * igt@gem_pxp@verify-pxp-stale-buf-optout-execution:
    - shard-mtlp:         NOTRUN -> [SKIP][104] ([i915#4270]) +1 other test skip
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html
    - shard-rkl:          NOTRUN -> [SKIP][105] ([i915#4270]) +2 other tests skip
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@gem_pxp@verify-pxp-stale-buf-optout-execution.html

  * igt@gem_readwrite@new-obj:
    - shard-dg2:          NOTRUN -> [SKIP][106] ([i915#3282]) +3 other tests skip
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@gem_readwrite@new-obj.html

  * igt@gem_render_copy@y-tiled-ccs-to-y-tiled:
    - shard-dg2:          NOTRUN -> [SKIP][107] ([i915#5190] / [i915#8428])
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@gem_render_copy@y-tiled-ccs-to-y-tiled.html

  * igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-y-tiled:
    - shard-mtlp:         NOTRUN -> [SKIP][108] ([i915#8428])
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@gem_render_copy@y-tiled-mc-ccs-to-vebox-y-tiled.html

  * igt@gem_softpin@evict-snoop-interruptible:
    - shard-dg2:          NOTRUN -> [SKIP][109] ([i915#4885])
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@gem_softpin@evict-snoop-interruptible.html

  * igt@gem_tiled_pread_pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][110] ([i915#4079])
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@gem_tiled_pread_pwrite.html

  * igt@gem_unfence_active_buffers:
    - shard-dg2:          NOTRUN -> [SKIP][111] ([i915#4879])
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@gem_unfence_active_buffers.html

  * igt@gem_userptr_blits@coherency-unsync:
    - shard-dg2:          NOTRUN -> [SKIP][112] ([i915#3297]) +1 other test skip
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@gem_userptr_blits@coherency-unsync.html

  * igt@gem_userptr_blits@dmabuf-sync:
    - shard-mtlp:         NOTRUN -> [SKIP][113] ([i915#3297])
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@gem_userptr_blits@dmabuf-sync.html
    - shard-rkl:          NOTRUN -> [SKIP][114] ([i915#3297] / [i915#3323])
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@gem_userptr_blits@dmabuf-sync.html

  * igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy:
    - shard-dg1:          NOTRUN -> [SKIP][115] ([i915#3297] / [i915#4880])
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gem_userptr_blits@map-fixed-invalidate-overlap-busy.html

  * igt@gen9_exec_parse@bb-chained:
    - shard-rkl:          NOTRUN -> [SKIP][116] ([i915#2527]) +2 other tests skip
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@gen9_exec_parse@bb-chained.html
    - shard-mtlp:         NOTRUN -> [SKIP][117] ([i915#2856])
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@gen9_exec_parse@bb-chained.html

  * igt@gen9_exec_parse@cmd-crossing-page:
    - shard-dg1:          NOTRUN -> [SKIP][118] ([i915#2527]) +1 other test skip
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@gen9_exec_parse@cmd-crossing-page.html

  * igt@gen9_exec_parse@valid-registers:
    - shard-dg2:          NOTRUN -> [SKIP][119] ([i915#2856]) +2 other tests skip
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@gen9_exec_parse@valid-registers.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-snb:          [PASS][120] -> [ABORT][121] ([i915#9820])
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-snb7/igt@i915_module_load@reload-with-fault-injection.html
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-snb5/igt@i915_module_load@reload-with-fault-injection.html
    - shard-dg2:          NOTRUN -> [ABORT][122] ([i915#9820])
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@i915_module_load@reload-with-fault-injection.html

  * igt@i915_pm_freq_api@freq-reset-multiple:
    - shard-rkl:          NOTRUN -> [SKIP][123] ([i915#8399]) +1 other test skip
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@i915_pm_freq_api@freq-reset-multiple.html

  * igt@i915_pm_freq_mult@media-freq@gt0:
    - shard-rkl:          NOTRUN -> [SKIP][124] ([i915#6590])
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@i915_pm_freq_mult@media-freq@gt0.html

  * igt@i915_pm_rps@min-max-config-loaded:
    - shard-dg1:          NOTRUN -> [SKIP][125] ([i915#11681] / [i915#6621])
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@i915_pm_rps@min-max-config-loaded.html

  * igt@i915_power@sanity:
    - shard-rkl:          NOTRUN -> [SKIP][126] ([i915#7984])
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@i915_power@sanity.html

  * igt@i915_query@hwconfig_table:
    - shard-rkl:          NOTRUN -> [SKIP][127] ([i915#6245])
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-1/igt@i915_query@hwconfig_table.html

  * igt@i915_selftest@mock@memory_region:
    - shard-glk:          NOTRUN -> [DMESG-WARN][128] ([i915#9311])
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk6/igt@i915_selftest@mock@memory_region.html

  * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
    - shard-mtlp:         NOTRUN -> [SKIP][129] ([i915#4212])
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html

  * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
    - shard-dg2:          NOTRUN -> [SKIP][130] ([i915#4212]) +1 other test skip
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-1-y-rc-ccs-cc:
    - shard-rkl:          NOTRUN -> [SKIP][131] ([i915#8709]) +3 other tests skip
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-a-hdmi-a-1-y-rc-ccs-cc.html

  * igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-1-4-mc-ccs:
    - shard-dg2:          NOTRUN -> [SKIP][132] ([i915#8709]) +11 other tests skip
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_async_flips@async-flip-with-page-flip-events@pipe-c-hdmi-a-1-4-mc-ccs.html

  * igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels:
    - shard-glk:          NOTRUN -> [SKIP][133] ([i915#1769])
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk6/igt@kms_atomic_transition@plane-all-modeset-transition-fencing-internal-panels.html

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [FAIL][134] ([i915#5956])
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-1.html

  * igt@kms_big_fb@4-tiled-16bpp-rotate-0:
    - shard-rkl:          NOTRUN -> [SKIP][135] ([i915#5286]) +4 other tests skip
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@kms_big_fb@4-tiled-16bpp-rotate-0.html

  * igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0:
    - shard-dg1:          NOTRUN -> [SKIP][136] ([i915#4538] / [i915#5286]) +2 other tests skip
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_big_fb@4-tiled-max-hw-stride-32bpp-rotate-0.html

  * igt@kms_big_fb@x-tiled-8bpp-rotate-90:
    - shard-dg1:          NOTRUN -> [SKIP][137] ([i915#3638])
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_big_fb@x-tiled-8bpp-rotate-90.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-270:
    - shard-rkl:          NOTRUN -> [SKIP][138] ([i915#3638]) +3 other tests skip
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@kms_big_fb@y-tiled-64bpp-rotate-270.html

  * igt@kms_big_fb@y-tiled-8bpp-rotate-180:
    - shard-dg1:          [PASS][139] -> [DMESG-WARN][140] ([i915#1982] / [i915#4423])
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg1-17/igt@kms_big_fb@y-tiled-8bpp-rotate-180.html
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_big_fb@y-tiled-8bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180:
    - shard-dg1:          NOTRUN -> [SKIP][141] ([i915#4538]) +2 other tests skip
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_big_fb@yf-tiled-max-hw-stride-32bpp-rotate-180.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0:
    - shard-mtlp:         NOTRUN -> [SKIP][142] +8 other tests skip
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-0.html

  * igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip:
    - shard-dg2:          NOTRUN -> [SKIP][143] ([i915#4538] / [i915#5190]) +1 other test skip
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_big_fb@yf-tiled-max-hw-stride-64bpp-rotate-180-hflip.html

  * igt@kms_big_joiner@invalid-modeset:
    - shard-dg1:          NOTRUN -> [SKIP][144] ([i915#10656])
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_big_joiner@invalid-modeset.html

  * igt@kms_big_joiner@invalid-modeset-force-joiner:
    - shard-dg2:          NOTRUN -> [SKIP][145] ([i915#10656])
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-6/igt@kms_big_joiner@invalid-modeset-force-joiner.html

  * igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-c-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][146] ([i915#6095]) +7 other tests skip
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_ccs@bad-pixel-format-4-tiled-dg2-rc-ccs-cc@pipe-c-edp-1.html

  * igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][147] ([i915#10307] / [i915#6095]) +156 other tests skip
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_ccs@ccs-on-another-bo-y-tiled-ccs@pipe-b-hdmi-a-1.html

  * igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1:
    - shard-dg2:          NOTRUN -> [SKIP][148] ([i915#10307] / [i915#10434] / [i915#6095]) +2 other tests skip
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_ccs@crc-primary-rotation-180-4-tiled-mtl-mc-ccs@pipe-d-hdmi-a-1.html

  * igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs:
    - shard-mtlp:         NOTRUN -> [SKIP][149] ([i915#12042])
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_ccs@crc-sprite-planes-basic-4-tiled-bmg-ccs.html

  * igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][150] ([i915#6095]) +77 other tests skip
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@kms_ccs@random-ccs-data-4-tiled-mtl-rc-ccs@pipe-b-hdmi-a-2.html

  * igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-a-hdmi-a-3:
    - shard-dg1:          NOTRUN -> [SKIP][151] ([i915#6095]) +59 other tests skip
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-13/igt@kms_ccs@random-ccs-data-yf-tiled-ccs@pipe-a-hdmi-a-3.html

  * igt@kms_cdclk@mode-transition-all-outputs:
    - shard-mtlp:         NOTRUN -> [SKIP][152] ([i915#7213] / [i915#9010])
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_cdclk@mode-transition-all-outputs.html

  * igt@kms_cdclk@plane-scaling:
    - shard-rkl:          NOTRUN -> [SKIP][153] ([i915#3742]) +1 other test skip
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@kms_cdclk@plane-scaling.html

  * igt@kms_chamelium_audio@hdmi-audio:
    - shard-dg2:          NOTRUN -> [SKIP][154] ([i915#7828]) +4 other tests skip
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_chamelium_audio@hdmi-audio.html

  * igt@kms_chamelium_edid@hdmi-edid-change-during-suspend:
    - shard-rkl:          NOTRUN -> [SKIP][155] ([i915#7828]) +7 other tests skip
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@kms_chamelium_edid@hdmi-edid-change-during-suspend.html

  * igt@kms_chamelium_frames@vga-frame-dump:
    - shard-mtlp:         NOTRUN -> [SKIP][156] ([i915#7828]) +1 other test skip
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_chamelium_frames@vga-frame-dump.html

  * igt@kms_chamelium_hpd@dp-hpd-after-suspend:
    - shard-dg1:          NOTRUN -> [SKIP][157] ([i915#7828]) +3 other tests skip
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_chamelium_hpd@dp-hpd-after-suspend.html

  * igt@kms_color@deep-color:
    - shard-dg2:          NOTRUN -> [SKIP][158] ([i915#3555]) +2 other tests skip
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_color@deep-color.html

  * igt@kms_content_protection@dp-mst-lic-type-1:
    - shard-rkl:          NOTRUN -> [SKIP][159] ([i915#3116])
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@kms_content_protection@dp-mst-lic-type-1.html
    - shard-mtlp:         NOTRUN -> [SKIP][160] ([i915#3299])
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_content_protection@dp-mst-lic-type-1.html

  * igt@kms_content_protection@legacy:
    - shard-dg1:          NOTRUN -> [SKIP][161] ([i915#7116] / [i915#9424])
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_content_protection@legacy.html

  * igt@kms_content_protection@lic-type-0:
    - shard-dg2:          NOTRUN -> [SKIP][162] ([i915#9424])
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-10/igt@kms_content_protection@lic-type-0.html

  * igt@kms_content_protection@mei-interface:
    - shard-rkl:          NOTRUN -> [SKIP][163] ([i915#9424]) +1 other test skip
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@kms_content_protection@mei-interface.html
    - shard-mtlp:         NOTRUN -> [SKIP][164] ([i915#8063] / [i915#9433])
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_content_protection@mei-interface.html

  * igt@kms_content_protection@srm:
    - shard-dg2:          NOTRUN -> [SKIP][165] ([i915#7118])
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_content_protection@srm.html

  * igt@kms_content_protection@uevent:
    - shard-dg2:          NOTRUN -> [SKIP][166] ([i915#7118] / [i915#9424])
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_content_protection@uevent.html

  * igt@kms_cursor_crc@cursor-onscreen-32x10:
    - shard-dg1:          NOTRUN -> [SKIP][167] ([i915#3555]) +1 other test skip
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_cursor_crc@cursor-onscreen-32x10.html

  * igt@kms_cursor_crc@cursor-rapid-movement-32x32:
    - shard-rkl:          NOTRUN -> [SKIP][168] ([i915#3555]) +6 other tests skip
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html
    - shard-mtlp:         NOTRUN -> [SKIP][169] ([i915#3555] / [i915#8814])
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_cursor_crc@cursor-rapid-movement-32x32.html

  * igt@kms_cursor_crc@cursor-rapid-movement-512x512:
    - shard-dg2:          NOTRUN -> [SKIP][170] ([i915#11453])
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_cursor_crc@cursor-rapid-movement-512x512.html

  * igt@kms_cursor_crc@cursor-sliding-64x21:
    - shard-mtlp:         NOTRUN -> [SKIP][171] ([i915#8814])
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_cursor_crc@cursor-sliding-64x21.html

  * igt@kms_cursor_legacy@cursorb-vs-flipa-atomic:
    - shard-dg2:          NOTRUN -> [SKIP][172] ([i915#5354]) +14 other tests skip
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_cursor_legacy@cursorb-vs-flipa-atomic.html

  * igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot:
    - shard-dg2:          NOTRUN -> [SKIP][173] ([i915#9067])
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_cursor_legacy@modeset-atomic-cursor-hotspot.html

  * igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions:
    - shard-dg2:          NOTRUN -> [SKIP][174] ([i915#4103] / [i915#4213])
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_cursor_legacy@short-busy-flip-before-cursor-atomic-transitions.html

  * igt@kms_dirtyfb@drrs-dirtyfb-ioctl:
    - shard-rkl:          NOTRUN -> [SKIP][175] ([i915#9723])
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@kms_dirtyfb@drrs-dirtyfb-ioctl.html

  * igt@kms_feature_discovery@display-2x:
    - shard-dg1:          NOTRUN -> [SKIP][176] ([i915#1839])
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_feature_discovery@display-2x.html

  * igt@kms_feature_discovery@dp-mst:
    - shard-dg2:          NOTRUN -> [SKIP][177] ([i915#9337])
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_feature_discovery@dp-mst.html

  * igt@kms_fence_pin_leak:
    - shard-mtlp:         NOTRUN -> [SKIP][178] ([i915#4881])
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_fence_pin_leak.html

  * igt@kms_flip@2x-flip-vs-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][179] +22 other tests skip
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@kms_flip@2x-flip-vs-dpms.html

  * igt@kms_flip@2x-flip-vs-modeset-vs-hang:
    - shard-dg1:          NOTRUN -> [SKIP][180] ([i915#9934])
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_flip@2x-flip-vs-modeset-vs-hang.html

  * igt@kms_flip@2x-flip-vs-suspend-interruptible:
    - shard-mtlp:         NOTRUN -> [SKIP][181] ([i915#3637]) +2 other tests skip
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_flip@2x-flip-vs-suspend-interruptible.html

  * igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a4:
    - shard-dg1:          [PASS][182] -> [FAIL][183] ([i915#11586])
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg1-15/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a4.html
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-18/igt@kms_flip@basic-flip-vs-wf_vblank@a-hdmi-a4.html

  * igt@kms_flip@flip-vs-suspend@d-hdmi-a4:
    - shard-dg1:          [PASS][184] -> [DMESG-WARN][185] ([i915#4423])
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg1-17/igt@kms_flip@flip-vs-suspend@d-hdmi-a4.html
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_flip@flip-vs-suspend@d-hdmi-a4.html

  * igt@kms_flip@plain-flip-ts-check@b-hdmi-a1:
    - shard-snb:          [PASS][186] -> [FAIL][187] ([i915#2122])
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-snb6/igt@kms_flip@plain-flip-ts-check@b-hdmi-a1.html
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-snb7/igt@kms_flip@plain-flip-ts-check@b-hdmi-a1.html

  * igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode:
    - shard-dg1:          NOTRUN -> [SKIP][188] ([i915#2587] / [i915#2672]) +2 other tests skip
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_flip_scaled_crc@flip-32bpp-4tile-to-64bpp-4tile-downscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode:
    - shard-mtlp:         NOTRUN -> [SKIP][189] ([i915#2672]) +1 other test skip
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytileccs-upscaling@pipe-a-default-mode.html

  * igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode:
    - shard-dg2:          NOTRUN -> [SKIP][190] ([i915#2672]) +2 other tests skip
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html

  * igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode:
    - shard-rkl:          NOTRUN -> [SKIP][191] ([i915#2672]) +4 other tests skip
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-32bpp-yftile-upscaling@pipe-a-valid-mode.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][192] +16 other tests skip
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-pri-shrfb-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt:
    - shard-mtlp:         NOTRUN -> [SKIP][193] ([i915#1825]) +8 other tests skip
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-gtt:
    - shard-dg2:          NOTRUN -> [SKIP][194] ([i915#8708]) +5 other tests skip
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-gtt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc:
    - shard-dg1:          NOTRUN -> [SKIP][195] ([i915#8708]) +8 other tests skip
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-shrfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite:
    - shard-dg2:          NOTRUN -> [SKIP][196] ([i915#10433] / [i915#3458])
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-offscren-pri-shrfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt:
    - shard-dg2:          NOTRUN -> [SKIP][197] ([i915#3458]) +6 other tests skip
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-draw-blt.html

  * igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-plflip-blt:
    - shard-rkl:          NOTRUN -> [SKIP][198] ([i915#1825]) +35 other tests skip
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-shrfb-plflip-blt.html

  * igt@kms_frontbuffer_tracking@psr-modesetfrombusy:
    - shard-rkl:          NOTRUN -> [SKIP][199] ([i915#3023]) +21 other tests skip
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-modesetfrombusy.html

  * igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][200] ([i915#3458]) +7 other tests skip
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_frontbuffer_tracking@psr-rgb101010-draw-mmap-cpu.html

  * igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt:
    - shard-mtlp:         NOTRUN -> [SKIP][201] ([i915#8708]) +2 other tests skip
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_frontbuffer_tracking@psr-rgb565-draw-mmap-gtt.html

  * igt@kms_hdmi_inject@inject-audio:
    - shard-dg1:          NOTRUN -> [SKIP][202] ([i915#433])
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_hdmi_inject@inject-audio.html

  * igt@kms_hdr@static-toggle:
    - shard-dg2:          NOTRUN -> [SKIP][203] ([i915#3555] / [i915#8228]) +2 other tests skip
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-6/igt@kms_hdr@static-toggle.html
    - shard-dg1:          NOTRUN -> [SKIP][204] ([i915#3555] / [i915#8228]) +1 other test skip
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_hdr@static-toggle.html

  * igt@kms_hdr@static-toggle-suspend:
    - shard-mtlp:         NOTRUN -> [SKIP][205] ([i915#3555] / [i915#8228])
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/igt@kms_hdr@static-toggle-suspend.html

  * igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes:
    - shard-dg2:          NOTRUN -> [SKIP][206] +8 other tests skip
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_pipe_b_c_ivb@from-pipe-c-to-b-with-3-lanes.html

  * igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [FAIL][207] ([i915#8292])
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@kms_plane_scaling@intel-max-src-size@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a-hdmi-a-2:
    - shard-dg2:          NOTRUN -> [SKIP][208] ([i915#9423]) +7 other tests skip
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_plane_scaling@plane-downscale-factor-0-25-with-modifiers@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][209] ([i915#9423]) +11 other tests skip
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-4/igt@kms_plane_scaling@plane-downscale-factor-0-5-with-rotation@pipe-a-hdmi-a-1.html

  * igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-d-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][210] ([i915#9423]) +7 other tests skip
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_plane_scaling@plane-scaler-unity-scaling-with-rotation@pipe-d-hdmi-a-4.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-1:
    - shard-rkl:          NOTRUN -> [SKIP][211] ([i915#5235]) +1 other test skip
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-4/igt@kms_plane_scaling@planes-downscale-factor-0-25-upscale-factor-0-25@pipe-b-hdmi-a-1.html

  * igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-4:
    - shard-dg1:          NOTRUN -> [SKIP][212] ([i915#9728]) +7 other tests skip
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_plane_scaling@planes-downscale-factor-0-25@pipe-c-hdmi-a-4.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-2:
    - shard-rkl:          NOTRUN -> [SKIP][213] ([i915#9728]) +3 other tests skip
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-a-hdmi-a-2.html

  * igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][214] ([i915#5235]) +6 other tests skip
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-d-edp-1.html

  * igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-d-edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][215] ([i915#3555] / [i915#5235])
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_plane_scaling@planes-upscale-factor-0-25-downscale-factor-0-5@pipe-d-edp-1.html

  * igt@kms_pm_backlight@fade-with-dpms:
    - shard-rkl:          NOTRUN -> [SKIP][216] ([i915#5354])
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@kms_pm_backlight@fade-with-dpms.html

  * igt@kms_pm_backlight@fade-with-suspend:
    - shard-dg1:          NOTRUN -> [SKIP][217] ([i915#5354])
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_pm_backlight@fade-with-suspend.html

  * igt@kms_pm_dc@dc5-psr:
    - shard-dg2:          NOTRUN -> [SKIP][218] ([i915#9685])
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_pm_dc@dc5-psr.html

  * igt@kms_pm_dc@dc6-psr:
    - shard-dg1:          NOTRUN -> [SKIP][219] ([i915#9685])
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_pm_dc@dc6-psr.html

  * igt@kms_pm_lpsp@kms-lpsp:
    - shard-rkl:          NOTRUN -> [SKIP][220] ([i915#9340])
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@kms_pm_lpsp@kms-lpsp.html

  * igt@kms_pm_rpm@dpms-lpsp:
    - shard-rkl:          NOTRUN -> [SKIP][221] ([i915#9519])
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-1/igt@kms_pm_rpm@dpms-lpsp.html

  * igt@kms_pm_rpm@dpms-mode-unset-non-lpsp:
    - shard-mtlp:         NOTRUN -> [SKIP][222] ([i915#9519])
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/igt@kms_pm_rpm@dpms-mode-unset-non-lpsp.html

  * igt@kms_pm_rpm@modeset-lpsp:
    - shard-dg2:          [PASS][223] -> [SKIP][224] ([i915#9519])
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-4/igt@kms_pm_rpm@modeset-lpsp.html
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-11/igt@kms_pm_rpm@modeset-lpsp.html

  * igt@kms_prime@basic-modeset-hybrid:
    - shard-dg1:          NOTRUN -> [SKIP][225] ([i915#6524]) +1 other test skip
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@kms_prime@basic-modeset-hybrid.html

  * igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf:
    - shard-dg2:          NOTRUN -> [SKIP][226] ([i915#11520]) +2 other tests skip
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_psr2_sf@fbc-cursor-plane-move-continuous-exceed-sf.html

  * igt@kms_psr2_sf@fbc-overlay-plane-update-sf-dmg-area:
    - shard-rkl:          NOTRUN -> [SKIP][227] ([i915#11520]) +3 other tests skip
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-1/igt@kms_psr2_sf@fbc-overlay-plane-update-sf-dmg-area.html

  * igt@kms_psr2_su@page_flip-p010:
    - shard-dg1:          NOTRUN -> [SKIP][228] ([i915#9683]) +1 other test skip
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_psr2_su@page_flip-p010.html

  * igt@kms_psr@fbc-psr2-cursor-blt@edp-1:
    - shard-mtlp:         NOTRUN -> [SKIP][229] ([i915#9688]) +6 other tests skip
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@kms_psr@fbc-psr2-cursor-blt@edp-1.html

  * igt@kms_psr@fbc-psr2-cursor-mmap-gtt:
    - shard-glk:          NOTRUN -> [SKIP][230] +89 other tests skip
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk6/igt@kms_psr@fbc-psr2-cursor-mmap-gtt.html

  * igt@kms_psr@fbc-psr2-cursor-render:
    - shard-dg2:          NOTRUN -> [SKIP][231] ([i915#1072] / [i915#9732]) +6 other tests skip
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_psr@fbc-psr2-cursor-render.html

  * igt@kms_psr@psr-primary-mmap-cpu:
    - shard-dg1:          NOTRUN -> [SKIP][232] ([i915#1072] / [i915#9732]) +9 other tests skip
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_psr@psr-primary-mmap-cpu.html

  * igt@kms_psr@psr-sprite-plane-move:
    - shard-rkl:          NOTRUN -> [SKIP][233] ([i915#1072] / [i915#9732]) +20 other tests skip
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-2/igt@kms_psr@psr-sprite-plane-move.html

  * igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270:
    - shard-dg1:          NOTRUN -> [SKIP][234] ([i915#5289])
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_rotation_crc@primary-yf-tiled-reflect-x-270.html

  * igt@kms_tiled_display@basic-test-pattern-with-chamelium:
    - shard-dg2:          NOTRUN -> [SKIP][235] ([i915#8623])
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_tiled_display@basic-test-pattern-with-chamelium.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1:
    - shard-tglu:         [PASS][236] -> [FAIL][237] ([i915#9196])
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-tglu-9/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-tglu-3/igt@kms_universal_plane@cursor-fb-leak@pipe-a-hdmi-a-1.html

  * igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1:
    - shard-snb:          [PASS][238] -> [FAIL][239] ([i915#9196])
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-snb7/igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1.html
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-snb4/igt@kms_universal_plane@cursor-fb-leak@pipe-b-hdmi-a-1.html

  * igt@kms_vrr@negative-basic:
    - shard-dg2:          NOTRUN -> [SKIP][240] ([i915#3555] / [i915#9906])
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-3/igt@kms_vrr@negative-basic.html

  * igt@kms_vrr@seamless-rr-switch-drrs:
    - shard-dg1:          NOTRUN -> [SKIP][241] ([i915#9906])
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_vrr@seamless-rr-switch-drrs.html

  * igt@kms_vrr@seamless-rr-switch-virtual:
    - shard-rkl:          NOTRUN -> [SKIP][242] ([i915#9906])
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-3/igt@kms_vrr@seamless-rr-switch-virtual.html

  * igt@perf@per-context-mode-unprivileged:
    - shard-rkl:          NOTRUN -> [SKIP][243] ([i915#2435])
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-6/igt@perf@per-context-mode-unprivileged.html

  * igt@perf@unprivileged-single-ctx-counters:
    - shard-dg1:          NOTRUN -> [SKIP][244] ([i915#2433])
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-15/igt@perf@unprivileged-single-ctx-counters.html

  * igt@perf_pmu@busy-double-start@vecs1:
    - shard-dg2:          [PASS][245] -> [FAIL][246] ([i915#4349]) +3 other tests fail
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-11/igt@perf_pmu@busy-double-start@vecs1.html
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-10/igt@perf_pmu@busy-double-start@vecs1.html

  * igt@perf_pmu@rc6-suspend:
    - shard-glk:          [PASS][247] -> [DMESG-WARN][248] ([i915#118]) +1 other test dmesg-warn
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-glk8/igt@perf_pmu@rc6-suspend.html
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk8/igt@perf_pmu@rc6-suspend.html

  * igt@sriov_basic@bind-unbind-vf:
    - shard-rkl:          NOTRUN -> [SKIP][249] ([i915#9917])
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-1/igt@sriov_basic@bind-unbind-vf.html

  * igt@syncobj_timeline@invalid-wait-zero-handles:
    - shard-glk:          NOTRUN -> [FAIL][250] ([i915#9781])
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk6/igt@syncobj_timeline@invalid-wait-zero-handles.html

  
#### Possible fixes ####

  * igt@gem_ctx_engines@invalid-engines:
    - shard-glk:          [FAIL][251] ([i915#12027]) -> [PASS][252]
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-glk7/igt@gem_ctx_engines@invalid-engines.html
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk5/igt@gem_ctx_engines@invalid-engines.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-tglu:         [FAIL][253] ([i915#2842]) -> [PASS][254]
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-tglu-7/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-tglu-3/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_mmap_gtt@cpuset-medium-copy-odd:
    - shard-glk:          [INCOMPLETE][255] -> [PASS][256]
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-glk7/igt@gem_mmap_gtt@cpuset-medium-copy-odd.html
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk5/igt@gem_mmap_gtt@cpuset-medium-copy-odd.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-glk:          [ABORT][257] ([i915#5566]) -> [PASS][258]
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-glk8/igt@gen9_exec_parse@allowed-single.html
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk5/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-mtlp:         [ABORT][259] ([i915#10131] / [i915#10887] / [i915#9697]) -> [PASS][260]
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-7/igt@i915_module_load@reload-with-fault-injection.html
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-3/igt@i915_module_load@reload-with-fault-injection.html

  * igt@kms_atomic_transition@modeset-transition-nonblocking@2x-outputs:
    - shard-glk:          [FAIL][261] ([i915#11859]) -> [PASS][262]
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-glk8/igt@kms_atomic_transition@modeset-transition-nonblocking@2x-outputs.html
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk8/igt@kms_atomic_transition@modeset-transition-nonblocking@2x-outputs.html

  * igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-4:
    - shard-dg1:          [FAIL][263] ([i915#5956]) -> [PASS][264]
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg1-16/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-4.html
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-16/igt@kms_atomic_transition@plane-all-modeset-transition@pipe-a-hdmi-a-4.html

  * igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1:
    - shard-snb:          [FAIL][265] ([i915#5956]) -> [PASS][266]
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-snb6/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-snb4/igt@kms_atomic_transition@plane-toggle-modeset-transition@pipe-a-hdmi-a-1.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt:
    - shard-snb:          [SKIP][267] -> [PASS][268] +1 other test pass
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-snb6/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt.html
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-snb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_pm_rpm@modeset-lpsp-stress:
    - shard-rkl:          [SKIP][269] ([i915#9519]) -> [PASS][270] +2 other tests pass
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-rkl-6/igt@kms_pm_rpm@modeset-lpsp-stress.html
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-rkl-4/igt@kms_pm_rpm@modeset-lpsp-stress.html

  * igt@kms_pm_rpm@modeset-non-lpsp-stress:
    - shard-dg2:          [SKIP][271] ([i915#9519]) -> [PASS][272] +4 other tests pass
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-10/igt@kms_pm_rpm@modeset-non-lpsp-stress.html
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-5/igt@kms_pm_rpm@modeset-non-lpsp-stress.html

  * igt@perf_pmu@busy-double-start@ccs0:
    - shard-mtlp:         [FAIL][273] ([i915#4349]) -> [PASS][274]
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-mtlp-7/igt@perf_pmu@busy-double-start@ccs0.html
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-mtlp-1/igt@perf_pmu@busy-double-start@ccs0.html

  
#### Warnings ####

  * igt@gem_lmem_swapping@smem-oom@lmem0:
    - shard-dg1:          [DMESG-WARN][275] ([i915#1982] / [i915#4936] / [i915#5493]) -> [TIMEOUT][276] ([i915#5493])
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg1-15/igt@gem_lmem_swapping@smem-oom@lmem0.html
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-18/igt@gem_lmem_swapping@smem-oom@lmem0.html

  * igt@i915_module_load@reload-with-fault-injection:
    - shard-dg1:          [INCOMPLETE][277] ([i915#1982]) -> [ABORT][278] ([i915#9820])
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg1-15/igt@i915_module_load@reload-with-fault-injection.html
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg1-18/igt@i915_module_load@reload-with-fault-injection.html
    - shard-tglu:         [ABORT][279] ([i915#9820]) -> [ABORT][280] ([i915#10887] / [i915#9820])
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-tglu-10/igt@i915_module_load@reload-with-fault-injection.html
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-tglu-8/igt@i915_module_load@reload-with-fault-injection.html

  * igt@kms_cursor_crc@cursor-onscreen-512x512:
    - shard-dg2:          [SKIP][281] ([i915#11453] / [i915#3359]) -> [SKIP][282] ([i915#11453])
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-11/igt@kms_cursor_crc@cursor-onscreen-512x512.html
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-6/igt@kms_cursor_crc@cursor-onscreen-512x512.html

  * igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move:
    - shard-dg2:          [SKIP][283] ([i915#3458]) -> [SKIP][284] ([i915#10433] / [i915#3458]) +2 other tests skip
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-4/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-move.html

  * igt@kms_psr@psr-cursor-render:
    - shard-dg2:          [SKIP][285] ([i915#1072] / [i915#9673] / [i915#9732]) -> [SKIP][286] ([i915#1072] / [i915#9732]) +20 other tests skip
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-11/igt@kms_psr@psr-cursor-render.html
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-6/igt@kms_psr@psr-cursor-render.html

  * igt@kms_psr@psr2-cursor-plane-move:
    - shard-dg2:          [SKIP][287] ([i915#1072] / [i915#9732]) -> [SKIP][288] ([i915#1072] / [i915#9673] / [i915#9732]) +4 other tests skip
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-4/igt@kms_psr@psr2-cursor-plane-move.html
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-11/igt@kms_psr@psr2-cursor-plane-move.html

  * igt@kms_rotation_crc@bad-pixel-format:
    - shard-dg2:          [SKIP][289] ([i915#11131] / [i915#4235]) -> [SKIP][290] ([i915#11131])
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-11/igt@kms_rotation_crc@bad-pixel-format.html
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-6/igt@kms_rotation_crc@bad-pixel-format.html

  * igt@kms_rotation_crc@sprite-rotation-90:
    - shard-dg2:          [SKIP][291] ([i915#11131]) -> [SKIP][292] ([i915#11131] / [i915#4235])
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-dg2-4/igt@kms_rotation_crc@sprite-rotation-90.html
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-dg2-11/igt@kms_rotation_crc@sprite-rotation-90.html

  * igt@kms_tiled_display@basic-test-pattern:
    - shard-glk:          [FAIL][293] ([i915#10959]) -> [SKIP][294]
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15283/shard-glk5/igt@kms_tiled_display@basic-test-pattern.html
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_137719v1/shard-glk8/igt@kms_tiled_display@basic-test-pattern.html

  
  [i915#10131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10131
  [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#10656]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10656
  [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#1099]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1099
  [i915#11078]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11078
  [i915#11131]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11131
  [i915#11453]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11453
  [i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
  [i915#11586]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11586
  [i915#11681]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11681
  [i915#118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/118
  [i915#11859]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11859
  [i915#11965]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11965
  [i915#12027]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12027
  [i915#12042]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12042
  [i915#1769]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1769
  [i915#1825]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
  [i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
  [i915#2122]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2122
  [i915#2433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2433
  [i915#2435]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2435
  [i915#2527]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2527
  [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#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#3323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3323
  [i915#3359]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3458
  [i915#3539]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3539
  [i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
  [i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3638
  [i915#3742]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3742
  [i915#4036]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4036
  [i915#4077]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4079
  [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#4235]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4235
  [i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
  [i915#433]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/433
  [i915#4349]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4349
  [i915#4423]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4423
  [i915#4473]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4473
  [i915#4525]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4565
  [i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4812
  [i915#4852]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4852
  [i915#4860]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4860
  [i915#4879]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4879
  [i915#4880]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4880
  [i915#4881]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4881
  [i915#4885]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4885
  [i915#4936]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4936
  [i915#5190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5190
  [i915#5235]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5235
  [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#5493]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5493
  [i915#5566]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5566
  [i915#5956]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5956
  [i915#6095]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6095
  [i915#6245]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6245
  [i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
  [i915#6590]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6590
  [i915#6621]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6621
  [i915#7116]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7118
  [i915#7213]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7213
  [i915#7697]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7697
  [i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
  [i915#7984]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7984
  [i915#8063]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8063
  [i915#8228]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8228
  [i915#8289]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8289
  [i915#8292]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8292
  [i915#8399]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8399
  [i915#8414]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8414
  [i915#8428]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8428
  [i915#8562]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8562
  [i915#8623]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8623
  [i915#8708]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8708
  [i915#8709]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8709
  [i915#8814]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8814
  [i915#9010]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9010
  [i915#9067]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9067
  [i915#9196]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9196
  [i915#9311]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9311
  [i915#9323]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9323
  [i915#9337]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9337
  [i915#9340]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9340
  [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#9673]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9673
  [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#9728]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9728
  [i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
  [i915#9781]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9781
  [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_15283 -> Patchwork_137719v1
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_15283: bb53a030e951749b4e919a5a8b17e6d8bedc5597 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7987: 89c9c18d654c46a9469c6c414d40f5b63dde9958 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_137719v1: bb53a030e951749b4e919a5a8b17e6d8bedc5597 @ 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_137719v1/index.html

[-- Attachment #2: Type: text/html, Size: 90139 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only
  2024-08-23 14:12 ` [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Christian König
@ 2024-08-26 10:20   ` Jani Nikula
  0 siblings, 0 replies; 18+ messages in thread
From: Jani Nikula @ 2024-08-26 10:20 UTC (permalink / raw)
  To: Christian König, dri-devel; +Cc: intel-gfx, Thomas Hellström

On Fri, 23 Aug 2024, Christian König <christian.koenig@amd.com> wrote:
> Am 23.08.24 um 16:11 schrieb Jani Nikula:
>> s/tryock_only/trylock_only/
>>
>> Fixes: da966b82bf3d ("drm/ttm: Provide a generic LRU walker helper")
>> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
>> Cc: Christian König <christian.koenig@amd.com>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>
> Reviewed-by: Christian König <christian.koenig@amd.com>

Thanks, pushed this one patch to drm-misc-next.

BR,
Jani.

>
>> ---
>>   include/drm/ttm/ttm_bo.h | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/drm/ttm/ttm_bo.h b/include/drm/ttm/ttm_bo.h
>> index d1a732d56259..7294dde240fb 100644
>> --- a/include/drm/ttm/ttm_bo.h
>> +++ b/include/drm/ttm/ttm_bo.h
>> @@ -222,7 +222,7 @@ struct ttm_lru_walk {
>>   	struct ttm_operation_ctx *ctx;
>>   	/** @ticket: The struct ww_acquire_ctx if any. */
>>   	struct ww_acquire_ctx *ticket;
>> -	/** @tryock_only: Only use trylock for locking. */
>> +	/** @trylock_only: Only use trylock for locking. */
>>   	bool trylock_only;
>>   };
>>   
>

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2024-08-23 14:11 ` [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
@ 2024-08-26 16:05   ` kernel test robot
  2024-08-26 22:28   ` kernel test robot
  1 sibling, 0 replies; 18+ messages in thread
From: kernel test robot @ 2024-08-26 16:05 UTC (permalink / raw)
  To: Jani Nikula, dri-devel
  Cc: oe-kbuild-all, intel-gfx, jani.nikula, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada

Hi Jani,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm/drm-next]
[also build test ERROR on drm-misc/drm-misc-next next-20240826]
[cannot apply to linus/master v6.11-rc5]
[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/Jani-Nikula/drm-ensure-drm-headers-are-self-contained-and-pass-kernel-doc/20240826-134953
base:   git://anongit.freedesktop.org/drm/drm drm-next
patch link:    https://lore.kernel.org/r/20240823141110.3431423-2-jani.nikula%40intel.com
patch subject: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
config: sparc-allmodconfig (https://download.01.org/0day-ci/archive/20240826/202408262328.MknfI1MV-lkp@intel.com/config)
compiler: sparc64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240826/202408262328.MknfI1MV-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/202408262328.MknfI1MV-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/sparc/include/asm/pgtable_64.h:16,
                    from arch/sparc/include/asm/pgtable.h:5,
                    from include/linux/pgtable.h:6,
                    from include/drm/ttm/ttm_caching.h:28,
                    from <command-line>:
   include/asm-generic/pgtable-nop4d.h:9:18: error: unknown type name 'pgd_t'; did you mean 'pid_t'?
       9 | typedef struct { pgd_t pgd; } p4d_t;
         |                  ^~~~~
         |                  pid_t
   include/asm-generic/pgtable-nop4d.h:21:28: error: unknown type name 'pgd_t'; did you mean 'p4d_t'?
      21 | static inline int pgd_none(pgd_t pgd)           { return 0; }
         |                            ^~~~~
         |                            p4d_t
   include/asm-generic/pgtable-nop4d.h:22:27: error: unknown type name 'pgd_t'; did you mean 'p4d_t'?
      22 | static inline int pgd_bad(pgd_t pgd)            { return 0; }
         |                           ^~~~~
         |                           p4d_t
   include/asm-generic/pgtable-nop4d.h:23:31: error: unknown type name 'pgd_t'; did you mean 'p4d_t'?
      23 | static inline int pgd_present(pgd_t pgd)        { return 1; }
         |                               ^~~~~
         |                               p4d_t
   include/asm-generic/pgtable-nop4d.h:24:30: error: unknown type name 'pgd_t'; did you mean 'p4d_t'?
      24 | static inline void pgd_clear(pgd_t *pgd)        { }
         |                              ^~~~~
         |                              p4d_t
   include/asm-generic/pgtable-nop4d.h:35:33: error: unknown type name 'pgd_t'; did you mean 'p4d_t'?
      35 | static inline p4d_t *p4d_offset(pgd_t *pgd, unsigned long address)
         |                                 ^~~~~
         |                                 p4d_t
   In file included from arch/sparc/include/asm/page.h:8,
                    from arch/sparc/include/asm/pgtable_64.h:23:
   include/linux/pgtable.h: In function 'pud_offset':
   arch/sparc/include/asm/page_64.h:79:29: error: request for member 'pgd' in something not a structure or union
      79 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   arch/sparc/include/asm/page_64.h:147:60: note: in definition of macro '__va'
     147 | #define __va(x)                 ((void *)((unsigned long) (x) + PAGE_OFFSET))
         |                                                            ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   arch/sparc/include/asm/pgtable_64.h:863:25: note: in expansion of macro 'p4d_val'
     863 |         ((pud_t *) __va(p4d_val(p4d)))
         |                         ^~~~~~~
   include/linux/pgtable.h:133:16: note: in expansion of macro 'p4d_pgtable'
     133 |         return p4d_pgtable(*p4d) + pud_index(address);
         |                ^~~~~~~~~~~
   include/linux/pgtable.h: In function 'pmd_off':
   include/linux/pgtable.h:165:38: error: implicit declaration of function 'p4d_offset'; did you mean 'pud_offset'? [-Wimplicit-function-declaration]
     165 |         return pmd_offset(pud_offset(p4d_offset(pgd_offset(mm, va), va), va), va);
         |                                      ^~~~~~~~~~
         |                                      pud_offset
>> include/linux/pgtable.h:165:38: error: passing argument 1 of 'pud_offset' makes pointer from integer without a cast [-Wint-conversion]
     165 |         return pmd_offset(pud_offset(p4d_offset(pgd_offset(mm, va), va), va), va);
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                      |
         |                                      int
   include/linux/pgtable.h:131:40: note: expected 'p4d_t *' but argument is of type 'int'
     131 | static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address)
         |                                 ~~~~~~~^~~
   include/linux/pgtable.h: In function 'pmd_off_k':
   include/linux/pgtable.h:170:38: error: passing argument 1 of 'pud_offset' makes pointer from integer without a cast [-Wint-conversion]
     170 |         return pmd_offset(pud_offset(p4d_offset(pgd_offset_k(va), va), va), va);
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                      |
         |                                      int
   include/linux/pgtable.h:131:40: note: expected 'p4d_t *' but argument is of type 'int'
     131 | static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address)
         |                                 ~~~~~~~^~~
   include/linux/pgtable.h: In function 'p4d_same':
   arch/sparc/include/asm/page_64.h:79:29: error: request for member 'pgd' in something not a structure or union
      79 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   include/linux/pgtable.h:1042:16: note: in expansion of macro 'p4d_val'
    1042 |         return p4d_val(p4d_a) == p4d_val(p4d_b);
         |                ^~~~~~~
   arch/sparc/include/asm/page_64.h:79:29: error: request for member 'pgd' in something not a structure or union
      79 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   include/linux/pgtable.h:1042:34: note: in expansion of macro 'p4d_val'
    1042 |         return p4d_val(p4d_a) == p4d_val(p4d_b);
         |                                  ^~~~~~~
   include/linux/pgtable.h:1040:34: warning: parameter 'p4d_a' set but not used [-Wunused-but-set-parameter]
    1040 | static inline int p4d_same(p4d_t p4d_a, p4d_t p4d_b)
         |                            ~~~~~~^~~~~
   include/linux/pgtable.h:1040:47: warning: parameter 'p4d_b' set but not used [-Wunused-but-set-parameter]
    1040 | static inline int p4d_same(p4d_t p4d_a, p4d_t p4d_b)
         |                                         ~~~~~~^~~~~
   include/linux/pgtable.h: In function 'pgd_none_or_clear_bad':
   include/linux/pgtable.h:1240:13: error: implicit declaration of function 'pgd_none'; did you mean 'p4d_none'? [-Wimplicit-function-declaration]
    1240 |         if (pgd_none(*pgd))
         |             ^~~~~~~~
         |             p4d_none
   In file included from arch/sparc/include/asm/pgtable_64.h:17:
   include/linux/pgtable.h:1242:22: error: implicit declaration of function 'pgd_bad'; did you mean 'pmd_bad'? [-Wimplicit-function-declaration]
    1242 |         if (unlikely(pgd_bad(*pgd))) {
         |                      ^~~~~~~
   include/linux/compiler.h:77:45: note: in definition of macro 'unlikely'
      77 | # define unlikely(x)    __builtin_expect(!!(x), 0)
         |                                             ^
   include/linux/pgtable.h: In function 'p4d_none_or_clear_bad':
   arch/sparc/include/asm/page_64.h:79:29: error: request for member 'pgd' in something not a structure or union
      79 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   arch/sparc/include/asm/pgtable_64.h:813:43: note: in expansion of macro 'p4d_val'
     813 | #define p4d_none(p4d)                   (!p4d_val(p4d))
         |                                           ^~~~~~~
   include/linux/pgtable.h:1251:13: note: in expansion of macro 'p4d_none'
    1251 |         if (p4d_none(*p4d))
         |             ^~~~~~~~
   arch/sparc/include/asm/page_64.h:79:29: error: request for member 'pgd' in something not a structure or union
      79 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/linux/compiler.h:77:45: note: in definition of macro 'unlikely'
      77 | # define unlikely(x)    __builtin_expect(!!(x), 0)
         |                                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   arch/sparc/include/asm/pgtable_64.h:815:42: note: in expansion of macro 'p4d_val'
     815 | #define p4d_bad(p4d)                    (p4d_val(p4d) & ~PAGE_MASK)
         |                                          ^~~~~~~
   include/linux/pgtable.h:1253:22: note: in expansion of macro 'p4d_bad'
    1253 |         if (unlikely(p4d_bad(*p4d))) {
         |                      ^~~~~~~


vim +/pud_offset +165 include/linux/pgtable.h

974b9b2c68f3d3 Mike Rapoport 2020-06-08  155  
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  156  /*
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  157   * In many cases it is known that a virtual address is mapped at PMD or PTE
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  158   * level, so instead of traversing all the page table levels, we can get a
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  159   * pointer to the PMD entry in user or kernel page table or translate a virtual
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  160   * address to the pointer in the PTE in the kernel page tables with simple
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  161   * helpers.
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  162   */
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  163  static inline pmd_t *pmd_off(struct mm_struct *mm, unsigned long va)
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  164  {
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08 @165  	return pmd_offset(pud_offset(p4d_offset(pgd_offset(mm, va), va), va), va);
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  166  }
e05c7b1f2bc4b7 Mike Rapoport 2020-06-08  167  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2024-08-23 14:11 ` [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
  2024-08-26 16:05   ` kernel test robot
@ 2024-08-26 22:28   ` kernel test robot
  1 sibling, 0 replies; 18+ messages in thread
From: kernel test robot @ 2024-08-26 22:28 UTC (permalink / raw)
  To: Jani Nikula, dri-devel
  Cc: oe-kbuild-all, intel-gfx, jani.nikula, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada

Hi Jani,

kernel test robot noticed the following build errors:

[auto build test ERROR on drm/drm-next]
[also build test ERROR on next-20240826]
[cannot apply to drm-misc/drm-misc-next linus/master v6.11-rc5]
[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/Jani-Nikula/drm-ensure-drm-headers-are-self-contained-and-pass-kernel-doc/20240826-134953
base:   git://anongit.freedesktop.org/drm/drm drm-next
patch link:    https://lore.kernel.org/r/20240823141110.3431423-2-jani.nikula%40intel.com
patch subject: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
config: arc-allmodconfig (https://download.01.org/0day-ci/archive/20240827/202408270538.dEV4dXpq-lkp@intel.com/config)
compiler: arceb-elf-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240827/202408270538.dEV4dXpq-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/202408270538.dEV4dXpq-lkp@intel.com/

All errors (new ones prefixed by >>):

         |                                                  ^~~~~~~
   arch/arc/include/asm/pgtable-levels.h:160:34: note: in expansion of macro 'pmd_val'
     160 | #define pmd_page_vaddr(pmd)     (pmd_val(pmd) & PAGE_MASK)
         |                                  ^~~~~~~
   include/linux/pgtable.h:96:25: note: in expansion of macro 'pmd_page_vaddr'
      96 |         return (pte_t *)pmd_page_vaddr(*pmd) + pte_index(address);
         |                         ^~~~~~~~~~~~~~
   include/linux/pgtable.h: In function 'pmd_off':
   include/linux/pgtable.h:165:38: error: implicit declaration of function 'p4d_offset'; did you mean 'pmd_offset'? [-Werror=implicit-function-declaration]
     165 |         return pmd_offset(pud_offset(p4d_offset(pgd_offset(mm, va), va), va), va);
         |                                      ^~~~~~~~~~
         |                                      pmd_offset
   include/linux/pgtable.h:165:38: warning: passing argument 1 of 'pud_offset' makes pointer from integer without a cast [-Wint-conversion]
     165 |         return pmd_offset(pud_offset(p4d_offset(pgd_offset(mm, va), va), va), va);
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                      |
         |                                      int
   include/asm-generic/pgtable-nopud.h:42:40: note: expected 'p4d_t *' but argument is of type 'int'
      42 | static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address)
         |                                 ~~~~~~~^~~
   include/linux/pgtable.h: In function 'pmd_off_k':
   include/linux/pgtable.h:170:38: warning: passing argument 1 of 'pud_offset' makes pointer from integer without a cast [-Wint-conversion]
     170 |         return pmd_offset(pud_offset(p4d_offset(pgd_offset_k(va), va), va), va);
         |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                      |
         |                                      int
   include/asm-generic/pgtable-nopud.h:42:40: note: expected 'p4d_t *' but argument is of type 'int'
      42 | static inline pud_t *pud_offset(p4d_t *p4d, unsigned long address)
         |                                 ~~~~~~~^~~
   include/linux/pgtable.h: In function 'virt_to_kpte':
   arch/arc/include/asm/page.h:41:29: error: request for member 'pgd' in something not a structure or union
      41 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopud.h:48:50: note: in expansion of macro 'p4d_val'
      48 | #define pud_val(x)                              (p4d_val((x).p4d))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopmd.h:52:50: note: in expansion of macro 'pud_val'
      52 | #define pmd_val(x)                              (pud_val((x).pud))
         |                                                  ^~~~~~~
   arch/arc/include/asm/pgtable-levels.h:156:35: note: in expansion of macro 'pmd_val'
     156 | #define pmd_none(x)             (!pmd_val(x))
         |                                   ^~~~~~~
   include/linux/pgtable.h:177:16: note: in expansion of macro 'pmd_none'
     177 |         return pmd_none(*pmd) ? NULL : pte_offset_kernel(pmd, vaddr);
         |                ^~~~~~~~
   include/linux/pgtable.h: In function 'ptep_test_and_clear_young':
   include/linux/pgtable.h:359:55: error: implicit declaration of function 'pte_mkold'; did you mean 'pmd_mkold'? [-Werror=implicit-function-declaration]
     359 |                 set_pte_at(vma->vm_mm, address, ptep, pte_mkold(pte));
         |                                                       ^~~~~~~~~
   include/linux/pgtable.h:280:66: note: in definition of macro 'set_pte_at'
     280 | #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1)
         |                                                                  ^~~
   include/linux/pgtable.h:359:55: error: incompatible type for argument 4 of 'set_ptes'
     359 |                 set_pte_at(vma->vm_mm, address, ptep, pte_mkold(pte));
         |                                                       ^~~~~~~~~~~~~~
         |                                                       |
         |                                                       int
   include/linux/pgtable.h:280:66: note: in definition of macro 'set_pte_at'
     280 | #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1)
         |                                                                  ^~~
   include/linux/pgtable.h:265:36: note: expected 'pte_t' but argument is of type 'int'
     265 |                 pte_t *ptep, pte_t pte, unsigned int nr)
         |                              ~~~~~~^~~
   include/linux/pgtable.h: In function 'pmdp_test_and_clear_young':
   arch/arc/include/asm/page.h:74:29: error: request for member 'pte' in something not a structure or union
      74 | #define pte_val(x)      ((x).pte)
         |                             ^
   arch/arc/include/asm/pgtable-bits-arcv2.h:82:34: note: in expansion of macro 'pte_val'
      82 | #define pte_young(pte)          (pte_val(pte) & _PAGE_ACCESSED)
         |                                  ^~~~~~~
   arch/arc/include/asm/hugepage.h:40:33: note: in expansion of macro 'pte_young'
      40 | #define pmd_young(pmd)          pte_young(pmd_pte(pmd))
         |                                 ^~~~~~~~~
   include/linux/pgtable.h:372:14: note: in expansion of macro 'pmd_young'
     372 |         if (!pmd_young(pmd))
         |              ^~~~~~~~~
   arch/arc/include/asm/hugepage.h:33:33: error: implicit declaration of function 'pte_pmd'; did you mean 'pfn_pmd'? [-Werror=implicit-function-declaration]
      33 | #define pmd_mkold(pmd)          pte_pmd(pte_mkold(pmd_pte(pmd)))
         |                                 ^~~~~~~
   include/linux/pgtable.h:375:55: note: in expansion of macro 'pmd_mkold'
     375 |                 set_pmd_at(vma->vm_mm, address, pmdp, pmd_mkold(pmd));
         |                                                       ^~~~~~~~~
   arch/arc/include/asm/hugepage.h:33:33: error: incompatible type for argument 4 of 'set_pmd_at'
      33 | #define pmd_mkold(pmd)          pte_pmd(pte_mkold(pmd_pte(pmd)))
         |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                 |
         |                                 int
   include/linux/pgtable.h:375:55: note: in expansion of macro 'pmd_mkold'
     375 |                 set_pmd_at(vma->vm_mm, address, pmdp, pmd_mkold(pmd));
         |                                                       ^~~~~~~~~
   arch/arc/include/asm/hugepage.h:59:50: note: expected 'pmd_t' but argument is of type 'int'
      59 |                               pmd_t *pmdp, pmd_t pmd)
         |                                            ~~~~~~^~~
   include/linux/pgtable.h: In function 'clear_young_dirty_ptes':
   include/linux/pgtable.h:493:39: error: incompatible types when assigning to type 'pte_t' from type 'int'
     493 |                                 pte = pte_mkold(pte);
         |                                       ^~~~~~~~~
>> include/linux/pgtable.h:495:39: error: implicit declaration of function 'pte_mkclean'; did you mean 'pmd_mkclean'? [-Werror=implicit-function-declaration]
     495 |                                 pte = pte_mkclean(pte);
         |                                       ^~~~~~~~~~~
         |                                       pmd_mkclean
   include/linux/pgtable.h:495:39: error: incompatible types when assigning to type 'pte_t' from type 'int'
   include/linux/pgtable.h: In function 'pmdp_huge_get_and_clear':
   arch/arc/include/asm/page.h:41:29: error: request for member 'pgd' in something not a structure or union
      41 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopud.h:48:50: note: in expansion of macro 'p4d_val'
      48 | #define pud_val(x)                              (p4d_val((x).p4d))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopmd.h:52:50: note: in expansion of macro 'pud_val'
      52 | #define pmd_val(x)                              (pud_val((x).pud))
         |                                                  ^~~~~~~
   arch/arc/include/asm/pgtable-levels.h:159:38: note: in expansion of macro 'pmd_val'
     159 | #define pmd_clear(xp)           do { pmd_val(*(xp)) = 0; } while (0)
         |                                      ^~~~~~~
   include/linux/pgtable.h:603:9: note: in expansion of macro 'pmd_clear'
     603 |         pmd_clear(pmdp);
         |         ^~~~~~~~~
   include/linux/pgtable.h: In function 'get_and_clear_full_ptes':
>> include/linux/pgtable.h:684:31: error: implicit declaration of function 'pte_mkdirty'; did you mean 'pte_dirty'? [-Werror=implicit-function-declaration]
     684 |                         pte = pte_mkdirty(pte);
         |                               ^~~~~~~~~~~
         |                               pte_dirty
   include/linux/pgtable.h:684:31: error: incompatible types when assigning to type 'pte_t' from type 'int'
>> include/linux/pgtable.h:686:31: error: implicit declaration of function 'pte_mkyoung'; did you mean 'pte_young'? [-Werror=implicit-function-declaration]
     686 |                         pte = pte_mkyoung(pte);
         |                               ^~~~~~~~~~~
         |                               pte_young
   include/linux/pgtable.h:686:31: error: incompatible types when assigning to type 'pte_t' from type 'int'
   include/linux/pgtable.h: In function 'pte_mkwrite':
   include/linux/pgtable.h:807:16: error: implicit declaration of function 'pte_mkwrite_novma'; did you mean 'pmd_mkwrite_novma'? [-Werror=implicit-function-declaration]
     807 |         return pte_mkwrite_novma(pte);
         |                ^~~~~~~~~~~~~~~~~
         |                pmd_mkwrite_novma
   include/linux/pgtable.h:807:16: error: incompatible types when returning type 'int' but 'pte_t' was expected
     807 |         return pte_mkwrite_novma(pte);
         |                ^~~~~~~~~~~~~~~~~~~~~~
   include/linux/pgtable.h: In function 'pmd_mkwrite':
   arch/arc/include/asm/hugepage.h:31:33: error: incompatible types when returning type 'int' but 'pmd_t' was expected
      31 | #define pmd_mkwrite_novma(pmd)  pte_pmd(pte_mkwrite_novma(pmd_pte(pmd)))
         |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/pgtable.h:814:16: note: in expansion of macro 'pmd_mkwrite_novma'
     814 |         return pmd_mkwrite_novma(pmd);
         |                ^~~~~~~~~~~~~~~~~
   include/linux/pgtable.h: In function 'ptep_set_wrprotect':
   include/linux/pgtable.h:823:39: error: implicit declaration of function 'pte_wrprotect'; did you mean 'pmd_wrprotect'? [-Werror=implicit-function-declaration]
     823 |         set_pte_at(mm, address, ptep, pte_wrprotect(old_pte));
         |                                       ^~~~~~~~~~~~~
   include/linux/pgtable.h:280:66: note: in definition of macro 'set_pte_at'
     280 | #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1)
         |                                                                  ^~~
   include/linux/pgtable.h:823:39: error: incompatible type for argument 4 of 'set_ptes'
     823 |         set_pte_at(mm, address, ptep, pte_wrprotect(old_pte));
         |                                       ^~~~~~~~~~~~~~~~~~~~~~
         |                                       |
         |                                       int
   include/linux/pgtable.h:280:66: note: in definition of macro 'set_pte_at'
     280 | #define set_pte_at(mm, addr, ptep, pte) set_ptes(mm, addr, ptep, pte, 1)
         |                                                                  ^~~
   include/linux/pgtable.h:265:36: note: expected 'pte_t' but argument is of type 'int'
     265 |                 pte_t *ptep, pte_t pte, unsigned int nr)
         |                              ~~~~~~^~~
   include/linux/pgtable.h: In function 'pmdp_set_wrprotect':
   arch/arc/include/asm/hugepage.h:30:33: error: incompatible type for argument 4 of 'set_pmd_at'
      30 | #define pmd_wrprotect(pmd)      pte_pmd(pte_wrprotect(pmd_pte(pmd)))
         |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         |                                 |
         |                                 int
   include/linux/pgtable.h:880:39: note: in expansion of macro 'pmd_wrprotect'
     880 |         set_pmd_at(mm, address, pmdp, pmd_wrprotect(old_pmd));
         |                                       ^~~~~~~~~~~~~
   arch/arc/include/asm/hugepage.h:59:50: note: expected 'pmd_t' but argument is of type 'int'
      59 |                               pmd_t *pmdp, pmd_t pmd)
         |                                            ~~~~~~^~~
   include/linux/pgtable.h: In function 'pmd_same':
   arch/arc/include/asm/page.h:41:29: error: request for member 'pgd' in something not a structure or union
      41 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopud.h:48:50: note: in expansion of macro 'p4d_val'
      48 | #define pud_val(x)                              (p4d_val((x).p4d))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopmd.h:52:50: note: in expansion of macro 'pud_val'
      52 | #define pmd_val(x)                              (pud_val((x).pud))
         |                                                  ^~~~~~~
   include/linux/pgtable.h:1027:16: note: in expansion of macro 'pmd_val'
    1027 |         return pmd_val(pmd_a) == pmd_val(pmd_b);
         |                ^~~~~~~
   arch/arc/include/asm/page.h:41:29: error: request for member 'pgd' in something not a structure or union
      41 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopud.h:48:50: note: in expansion of macro 'p4d_val'
      48 | #define pud_val(x)                              (p4d_val((x).p4d))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopmd.h:52:50: note: in expansion of macro 'pud_val'
      52 | #define pmd_val(x)                              (pud_val((x).pud))
         |                                                  ^~~~~~~
   include/linux/pgtable.h:1027:34: note: in expansion of macro 'pmd_val'
    1027 |         return pmd_val(pmd_a) == pmd_val(pmd_b);
         |                                  ^~~~~~~
   include/linux/pgtable.h:1025:34: warning: parameter 'pmd_a' set but not used [-Wunused-but-set-parameter]
    1025 | static inline int pmd_same(pmd_t pmd_a, pmd_t pmd_b)
         |                            ~~~~~~^~~~~
   include/linux/pgtable.h:1025:47: warning: parameter 'pmd_b' set but not used [-Wunused-but-set-parameter]
    1025 | static inline int pmd_same(pmd_t pmd_a, pmd_t pmd_b)
         |                                         ~~~~~~^~~~~
   include/linux/pgtable.h: In function 'pud_same':
   arch/arc/include/asm/page.h:41:29: error: request for member 'pgd' in something not a structure or union
      41 | #define pgd_val(x)      ((x).pgd)
         |                             ^
   include/asm-generic/pgtable-nop4d.h:40:50: note: in expansion of macro 'pgd_val'
      40 | #define p4d_val(x)                              (pgd_val((x).pgd))
         |                                                  ^~~~~~~
   include/asm-generic/pgtable-nopud.h:48:50: note: in expansion of macro 'p4d_val'
      48 | #define pud_val(x)                              (p4d_val((x).p4d))
         |                                                  ^~~~~~~
   include/linux/pgtable.h:1034:16: note: in expansion of macro 'pud_val'
    1034 |         return pud_val(pud_a) == pud_val(pud_b);
         |                ^~~~~~~
   arch/arc/include/asm/page.h:41:29: error: request for member 'pgd' in something not a structure or union


vim +495 include/linux/pgtable.h

e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  461  
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  462  #ifndef clear_young_dirty_ptes
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  463  /**
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  464   * clear_young_dirty_ptes - Mark PTEs that map consecutive pages of the
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  465   *		same folio as old/clean.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  466   * @mm: Address space the pages are mapped into.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  467   * @addr: Address the first page is mapped at.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  468   * @ptep: Page table pointer for the first entry.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  469   * @nr: Number of entries to mark old/clean.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  470   * @flags: Flags to modify the PTE batch semantics.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  471   *
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  472   * May be overridden by the architecture; otherwise, implemented by
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  473   * get_and_clear/modify/set for each pte in the range.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  474   *
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  475   * Note that PTE bits in the PTE range besides the PFN can differ. For example,
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  476   * some PTEs might be write-protected.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  477   *
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  478   * Context: The caller holds the page table lock.  The PTEs map consecutive
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  479   * pages that belong to the same folio.  The PTEs are all in the same PMD.
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  480   */
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  481  static inline void clear_young_dirty_ptes(struct vm_area_struct *vma,
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  482  					  unsigned long addr, pte_t *ptep,
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  483  					  unsigned int nr, cydp_t flags)
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  484  {
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  485  	pte_t pte;
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  486  
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  487  	for (;;) {
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  488  		if (flags == CYDP_CLEAR_YOUNG)
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  489  			ptep_test_and_clear_young(vma, addr, ptep);
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  490  		else {
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  491  			pte = ptep_get_and_clear(vma->vm_mm, addr, ptep);
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  492  			if (flags & CYDP_CLEAR_YOUNG)
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  493  				pte = pte_mkold(pte);
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  494  			if (flags & CYDP_CLEAR_DIRTY)
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18 @495  				pte = pte_mkclean(pte);
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  496  			set_pte_at(vma->vm_mm, addr, ptep, pte);
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  497  		}
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  498  		if (--nr == 0)
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  499  			break;
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  500  		ptep++;
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  501  		addr += PAGE_SIZE;
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  502  	}
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  503  }
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  504  #endif
1b68112c40395b include/linux/pgtable.h       Lance Yang         2024-04-18  505  
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  506  static inline void ptep_clear(struct mm_struct *mm, unsigned long addr,
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  507  			      pte_t *ptep)
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  508  {
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  509  	ptep_get_and_clear(mm, addr, ptep);
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  510  }
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  511  
6ca297d4784625 include/linux/pgtable.h       Peter Zijlstra     2022-10-21  512  #ifdef CONFIG_GUP_GET_PXX_LOW_HIGH
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  513  /*
93b3037a148275 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  514   * For walking the pagetables without holding any locks.  Some architectures
93b3037a148275 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  515   * (eg x86-32 PAE) cannot load the entries atomically without using expensive
93b3037a148275 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  516   * instructions.  We are guaranteed that a PTE will only either go from not
93b3037a148275 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  517   * present to present, or present to not present -- it will not switch to a
93b3037a148275 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  518   * completely different present page without a TLB flush inbetween; which we
93b3037a148275 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  519   * are blocking by holding interrupts off.
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  520   *
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  521   * Setting ptes from not present to present goes:
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  522   *
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  523   *   ptep->pte_high = h;
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  524   *   smp_wmb();
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  525   *   ptep->pte_low = l;
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  526   *
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  527   * And present to not present goes:
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  528   *
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  529   *   ptep->pte_low = 0;
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  530   *   smp_wmb();
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  531   *   ptep->pte_high = 0;
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  532   *
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  533   * We must ensure here that the load of pte_low sees 'l' IFF pte_high sees 'h'.
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  534   * We load pte_high *after* loading pte_low, which ensures we don't see an older
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  535   * value of pte_high.  *Then* we recheck pte_low, which ensures that we haven't
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  536   * picked up a changed pte high. We might have gotten rubbish values from
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  537   * pte_low and pte_high, but we are guaranteed that pte_low will not have the
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  538   * present bit set *unless* it is 'l'. Because get_user_pages_fast() only
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  539   * operates on present ptes we're safe.
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  540   */
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  541  static inline pte_t ptep_get_lockless(pte_t *ptep)
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  542  {
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  543  	pte_t pte;
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  544  
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  545  	do {
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  546  		pte.pte_low = ptep->pte_low;
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  547  		smp_rmb();
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  548  		pte.pte_high = ptep->pte_high;
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  549  		smp_rmb();
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  550  	} while (unlikely(pte.pte_low != ptep->pte_low));
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  551  
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  552  	return pte;
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  553  }
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  554  #define ptep_get_lockless ptep_get_lockless
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  555  
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  556  #if CONFIG_PGTABLE_LEVELS > 2
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  557  static inline pmd_t pmdp_get_lockless(pmd_t *pmdp)
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  558  {
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  559  	pmd_t pmd;
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  560  
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  561  	do {
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  562  		pmd.pmd_low = pmdp->pmd_low;
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  563  		smp_rmb();
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  564  		pmd.pmd_high = pmdp->pmd_high;
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  565  		smp_rmb();
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  566  	} while (unlikely(pmd.pmd_low != pmdp->pmd_low));
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  567  
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  568  	return pmd;
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  569  }
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  570  #define pmdp_get_lockless pmdp_get_lockless
146b42e07494e4 include/linux/pgtable.h       Hugh Dickins       2023-07-11  571  #define pmdp_get_lockless_sync() tlb_remove_table_sync_one()
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  572  #endif /* CONFIG_PGTABLE_LEVELS > 2 */
6ca297d4784625 include/linux/pgtable.h       Peter Zijlstra     2022-10-21  573  #endif /* CONFIG_GUP_GET_PXX_LOW_HIGH */
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  574  
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  575  /*
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  576   * We require that the PTE can be read atomically.
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  577   */
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  578  #ifndef ptep_get_lockless
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  579  static inline pte_t ptep_get_lockless(pte_t *ptep)
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  580  {
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  581  	return ptep_get(ptep);
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  582  }
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  583  #endif
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  584  
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  585  #ifndef pmdp_get_lockless
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  586  static inline pmd_t pmdp_get_lockless(pmd_t *pmdp)
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  587  {
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  588  	return pmdp_get(pmdp);
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  589  }
146b42e07494e4 include/linux/pgtable.h       Hugh Dickins       2023-07-11  590  static inline void pmdp_get_lockless_sync(void)
146b42e07494e4 include/linux/pgtable.h       Hugh Dickins       2023-07-11  591  {
146b42e07494e4 include/linux/pgtable.h       Hugh Dickins       2023-07-11  592  }
024d232ae4fcd7 include/linux/pgtable.h       Peter Zijlstra     2020-11-26  593  #endif
2a4a06da8a4b93 include/linux/pgtable.h       Peter Zijlstra     2020-11-13  594  
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  595  #ifdef CONFIG_TRANSPARENT_HUGEPAGE
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  596  #ifndef __HAVE_ARCH_PMDP_HUGE_GET_AND_CLEAR
8809aa2d28d741 include/asm-generic/pgtable.h Aneesh Kumar K.V   2015-06-24  597  static inline pmd_t pmdp_huge_get_and_clear(struct mm_struct *mm,
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  598  					    unsigned long address,
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  599  					    pmd_t *pmdp)
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  600  {
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  601  	pmd_t pmd = *pmdp;
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  602  
2d28a2275c21d0 include/asm-generic/pgtable.h Catalin Marinas    2012-10-08  603  	pmd_clear(pmdp);
1831414cd729a3 include/linux/pgtable.h       Kemeng Shi         2023-07-14  604  	page_table_check_pmd_clear(mm, pmd);
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  605  
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  606  	return pmd;
49b24d6b41c576 include/asm-generic/pgtable.h Nicolas Kaiser     2011-06-15  607  }
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  608  #endif /* __HAVE_ARCH_PMDP_HUGE_GET_AND_CLEAR */
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  609  #ifndef __HAVE_ARCH_PUDP_HUGE_GET_AND_CLEAR
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  610  static inline pud_t pudp_huge_get_and_clear(struct mm_struct *mm,
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  611  					    unsigned long address,
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  612  					    pud_t *pudp)
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  613  {
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  614  	pud_t pud = *pudp;
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  615  
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  616  	pud_clear(pudp);
931c38e16499a0 include/linux/pgtable.h       Kemeng Shi         2023-07-14  617  	page_table_check_pud_clear(mm, pud);
de8c8e52836d00 include/linux/pgtable.h       Tong Tiangen       2022-05-12  618  
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  619  	return pud;
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  620  }
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  621  #endif /* __HAVE_ARCH_PUDP_HUGE_GET_AND_CLEAR */
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  622  #endif /* CONFIG_TRANSPARENT_HUGEPAGE */
^1da177e4c3f41 include/asm-generic/pgtable.h Linus Torvalds     2005-04-16  623  
fcbe08d66f57c3 include/asm-generic/pgtable.h Martin Schwidefsky 2014-10-24  624  #ifdef CONFIG_TRANSPARENT_HUGEPAGE
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  625  #ifndef __HAVE_ARCH_PMDP_HUGE_GET_AND_CLEAR_FULL
93a98695f2f9f9 include/asm-generic/pgtable.h Aneesh Kumar K.V   2020-05-05  626  static inline pmd_t pmdp_huge_get_and_clear_full(struct vm_area_struct *vma,
fcbe08d66f57c3 include/asm-generic/pgtable.h Martin Schwidefsky 2014-10-24  627  					    unsigned long address, pmd_t *pmdp,
fcbe08d66f57c3 include/asm-generic/pgtable.h Martin Schwidefsky 2014-10-24  628  					    int full)
fcbe08d66f57c3 include/asm-generic/pgtable.h Martin Schwidefsky 2014-10-24  629  {
93a98695f2f9f9 include/asm-generic/pgtable.h Aneesh Kumar K.V   2020-05-05  630  	return pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp);
fcbe08d66f57c3 include/asm-generic/pgtable.h Martin Schwidefsky 2014-10-24  631  }
fcbe08d66f57c3 include/asm-generic/pgtable.h Martin Schwidefsky 2014-10-24  632  #endif
fcbe08d66f57c3 include/asm-generic/pgtable.h Martin Schwidefsky 2014-10-24  633  
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  634  #ifndef __HAVE_ARCH_PUDP_HUGE_GET_AND_CLEAR_FULL
f32928ab6fe5ab include/linux/pgtable.h       Aneesh Kumar K.V   2023-07-25  635  static inline pud_t pudp_huge_get_and_clear_full(struct vm_area_struct *vma,
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  636  					    unsigned long address, pud_t *pudp,
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  637  					    int full)
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  638  {
f32928ab6fe5ab include/linux/pgtable.h       Aneesh Kumar K.V   2023-07-25  639  	return pudp_huge_get_and_clear(vma->vm_mm, address, pudp);
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  640  }
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  641  #endif
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  642  #endif /* CONFIG_TRANSPARENT_HUGEPAGE */
a00cc7d9dd93d6 include/asm-generic/pgtable.h Matthew Wilcox     2017-02-24  643  
a600388d284193 include/asm-generic/pgtable.h Zachary Amsden     2005-09-03  644  #ifndef __HAVE_ARCH_PTEP_GET_AND_CLEAR_FULL
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  645  static inline pte_t ptep_get_and_clear_full(struct mm_struct *mm,
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  646  					    unsigned long address, pte_t *ptep,
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  647  					    int full)
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  648  {
d3a89233583bf8 include/linux/pgtable.h       zhang songyi       2022-11-28  649  	return ptep_get_and_clear(mm, address, ptep);
e2cda322648122 include/asm-generic/pgtable.h Andrea Arcangeli   2011-01-13  650  }
a600388d284193 include/asm-generic/pgtable.h Zachary Amsden     2005-09-03  651  #endif
a600388d284193 include/asm-generic/pgtable.h Zachary Amsden     2005-09-03  652  
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  653  #ifndef get_and_clear_full_ptes
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  654  /**
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  655   * get_and_clear_full_ptes - Clear present PTEs that map consecutive pages of
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  656   *			     the same folio, collecting dirty/accessed bits.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  657   * @mm: Address space the pages are mapped into.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  658   * @addr: Address the first page is mapped at.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  659   * @ptep: Page table pointer for the first entry.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  660   * @nr: Number of entries to clear.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  661   * @full: Whether we are clearing a full mm.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  662   *
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  663   * May be overridden by the architecture; otherwise, implemented as a simple
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  664   * loop over ptep_get_and_clear_full(), merging dirty/accessed bits into the
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  665   * returned PTE.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  666   *
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  667   * Note that PTE bits in the PTE range besides the PFN can differ. For example,
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  668   * some PTEs might be write-protected.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  669   *
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  670   * Context: The caller holds the page table lock.  The PTEs map consecutive
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  671   * pages that belong to the same folio.  The PTEs are all in the same PMD.
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  672   */
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  673  static inline pte_t get_and_clear_full_ptes(struct mm_struct *mm,
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  674  		unsigned long addr, pte_t *ptep, unsigned int nr, int full)
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  675  {
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  676  	pte_t pte, tmp_pte;
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  677  
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  678  	pte = ptep_get_and_clear_full(mm, addr, ptep, full);
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  679  	while (--nr) {
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  680  		ptep++;
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  681  		addr += PAGE_SIZE;
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  682  		tmp_pte = ptep_get_and_clear_full(mm, addr, ptep, full);
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  683  		if (pte_dirty(tmp_pte))
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14 @684  			pte = pte_mkdirty(pte);
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  685  		if (pte_young(tmp_pte))
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14 @686  			pte = pte_mkyoung(pte);
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  687  	}
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  688  	return pte;
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  689  }
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  690  #endif
10ebac4f95e7a9 include/linux/pgtable.h       David Hildenbrand  2024-02-14  691  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-01-22 14:41 [PATCH 0/2] drm: add header tests Jani Nikula
@ 2025-01-22 14:41 ` Jani Nikula
  2025-03-02 16:01   ` Masahiro Yamada
  0 siblings, 1 reply; 18+ messages in thread
From: Jani Nikula @ 2025-01-22 14:41 UTC (permalink / raw)
  To: dri-devel
  Cc: intel-gfx, intel-xe, simona.vetter, jani.nikula, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Masahiro Yamada

Ensure drm headers build, are self-contained, have header guards, and
have no kernel-doc warnings, when CONFIG_DRM_HEADER_TEST=y.

The mechanism follows similar patters used in i915, xe, and usr/include.

To cover include/drm, we need to recurse there using the top level
Kbuild and the new include/Kbuild files.

v4: check for CONFIG_WERROR in addition to CONFIG_DRM_WERROR

v3: adapt to upstream build changes

v2: make DRM_HEADER_TEST depend on DRM

Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Masahiro Yamada <masahiroy@kernel.org>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 Kbuild                   |  1 +
 drivers/gpu/drm/Kconfig  | 11 +++++++++++
 drivers/gpu/drm/Makefile | 18 ++++++++++++++++++
 include/Kbuild           |  1 +
 include/drm/Makefile     | 18 ++++++++++++++++++
 5 files changed, 49 insertions(+)
 create mode 100644 include/Kbuild
 create mode 100644 include/drm/Makefile

diff --git a/Kbuild b/Kbuild
index 464b34a08f51..f327ca86990c 100644
--- a/Kbuild
+++ b/Kbuild
@@ -97,3 +97,4 @@ obj-$(CONFIG_SAMPLES)	+= samples/
 obj-$(CONFIG_NET)	+= net/
 obj-y			+= virt/
 obj-y			+= $(ARCH_DRIVERS)
+obj-$(CONFIG_DRM_HEADER_TEST)	+= include/
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index fbef3f471bd0..f9b3ebf63fa9 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -494,6 +494,17 @@ config DRM_WERROR
 
 	  If in doubt, say N.
 
+config DRM_HEADER_TEST
+	bool "Ensure DRM headers are self-contained and pass kernel-doc"
+	depends on DRM && EXPERT
+	default n
+	help
+	  Ensure the DRM subsystem headers both under drivers/gpu/drm and
+	  include/drm compile, are self-contained, have header guards, and have
+	  no kernel-doc warnings.
+
+	  If in doubt, say N.
+
 endif
 
 # Separate option because drm_panel_orientation_quirks.c is shared with fbdev
diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 85af94bb907d..42901f877bf2 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -222,3 +222,21 @@ obj-y			+= solomon/
 obj-$(CONFIG_DRM_SPRD) += sprd/
 obj-$(CONFIG_DRM_LOONGSON) += loongson/
 obj-$(CONFIG_DRM_POWERVR) += imagination/
+
+# Ensure drm headers are self-contained and pass kernel-doc
+hdrtest-files := \
+	$(shell cd $(src) && find . -maxdepth 1 -name 'drm_*.h') \
+	$(shell cd $(src) && find display lib -name '*.h')
+
+always-$(CONFIG_DRM_HEADER_TEST) += \
+	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
+
+# Include the header twice to detect missing include guard.
+quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
+      cmd_hdrtest = \
+		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
+		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
+		touch $@
+
+$(obj)/%.hdrtest: $(src)/%.h FORCE
+	$(call if_changed_dep,hdrtest)
diff --git a/include/Kbuild b/include/Kbuild
new file mode 100644
index 000000000000..5e76a599e2dd
--- /dev/null
+++ b/include/Kbuild
@@ -0,0 +1 @@
+obj-$(CONFIG_DRM_HEADER_TEST)	+= drm/
diff --git a/include/drm/Makefile b/include/drm/Makefile
new file mode 100644
index 000000000000..a7bd15d2803e
--- /dev/null
+++ b/include/drm/Makefile
@@ -0,0 +1,18 @@
+# SPDX-License-Identifier: GPL-2.0
+
+# Ensure drm headers are self-contained and pass kernel-doc
+hdrtest-files := \
+	$(shell cd $(src) && find * -name '*.h' 2>/dev/null)
+
+always-$(CONFIG_DRM_HEADER_TEST) += \
+	$(patsubst %.h,%.hdrtest, $(hdrtest-files))
+
+# Include the header twice to detect missing include guard.
+quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
+      cmd_hdrtest = \
+		$(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
+		$(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
+		touch $@
+
+$(obj)/%.hdrtest: $(src)/%.h FORCE
+	$(call if_changed_dep,hdrtest)
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-01-22 14:41 ` [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
@ 2025-03-02 16:01   ` Masahiro Yamada
  2025-03-03 10:02     ` Jani Nikula
  0 siblings, 1 reply; 18+ messages in thread
From: Masahiro Yamada @ 2025-03-02 16:01 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, simona.vetter, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Linus Torvalds

+CC: Linus

On Wed, Jan 22, 2025 at 11:41 PM Jani Nikula <jani.nikula@intel.com> wrote:
>
> Ensure drm headers build, are self-contained, have header guards, and
> have no kernel-doc warnings, when CONFIG_DRM_HEADER_TEST=y.
>
> The mechanism follows similar patters used in i915, xe, and usr/include.
>
> To cover include/drm, we need to recurse there using the top level
> Kbuild and the new include/Kbuild files.

NACK.

I replied here:
https://lore.kernel.org/all/CAK7LNARJgqADxnOXAX49XzDFD4zT=7i8yTB0o=EmNtxmScq8jA@mail.gmail.com/T/#u


I CCed Linus to avoid him accidentally pulling this.
He disliked this misfeature.




>
> v4: check for CONFIG_WERROR in addition to CONFIG_DRM_WERROR
>
> v3: adapt to upstream build changes
>
> v2: make DRM_HEADER_TEST depend on DRM
>
> Suggested-by: Daniel Vetter <daniel@ffwll.ch>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: Masahiro Yamada <masahiroy@kernel.org>
> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> ---
>  Kbuild                   |  1 +
>  drivers/gpu/drm/Kconfig  | 11 +++++++++++
>  drivers/gpu/drm/Makefile | 18 ++++++++++++++++++
>  include/Kbuild           |  1 +
>  include/drm/Makefile     | 18 ++++++++++++++++++
>  5 files changed, 49 insertions(+)
>  create mode 100644 include/Kbuild
>  create mode 100644 include/drm/Makefile
>
> diff --git a/Kbuild b/Kbuild
> index 464b34a08f51..f327ca86990c 100644
> --- a/Kbuild
> +++ b/Kbuild
> @@ -97,3 +97,4 @@ obj-$(CONFIG_SAMPLES) += samples/
>  obj-$(CONFIG_NET)      += net/
>  obj-y                  += virt/
>  obj-y                  += $(ARCH_DRIVERS)
> +obj-$(CONFIG_DRM_HEADER_TEST)  += include/
> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> index fbef3f471bd0..f9b3ebf63fa9 100644
> --- a/drivers/gpu/drm/Kconfig
> +++ b/drivers/gpu/drm/Kconfig
> @@ -494,6 +494,17 @@ config DRM_WERROR
>
>           If in doubt, say N.
>
> +config DRM_HEADER_TEST
> +       bool "Ensure DRM headers are self-contained and pass kernel-doc"
> +       depends on DRM && EXPERT
> +       default n
> +       help
> +         Ensure the DRM subsystem headers both under drivers/gpu/drm and
> +         include/drm compile, are self-contained, have header guards, and have
> +         no kernel-doc warnings.
> +
> +         If in doubt, say N.
> +
>  endif
>
>  # Separate option because drm_panel_orientation_quirks.c is shared with fbdev
> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> index 85af94bb907d..42901f877bf2 100644
> --- a/drivers/gpu/drm/Makefile
> +++ b/drivers/gpu/drm/Makefile
> @@ -222,3 +222,21 @@ obj-y                      += solomon/
>  obj-$(CONFIG_DRM_SPRD) += sprd/
>  obj-$(CONFIG_DRM_LOONGSON) += loongson/
>  obj-$(CONFIG_DRM_POWERVR) += imagination/
> +
> +# Ensure drm headers are self-contained and pass kernel-doc
> +hdrtest-files := \
> +       $(shell cd $(src) && find . -maxdepth 1 -name 'drm_*.h') \
> +       $(shell cd $(src) && find display lib -name '*.h')
> +
> +always-$(CONFIG_DRM_HEADER_TEST) += \
> +       $(patsubst %.h,%.hdrtest, $(hdrtest-files))
> +
> +# Include the header twice to detect missing include guard.
> +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> +      cmd_hdrtest = \
> +               $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> +               $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
> +               touch $@
> +
> +$(obj)/%.hdrtest: $(src)/%.h FORCE
> +       $(call if_changed_dep,hdrtest)
> diff --git a/include/Kbuild b/include/Kbuild
> new file mode 100644
> index 000000000000..5e76a599e2dd
> --- /dev/null
> +++ b/include/Kbuild
> @@ -0,0 +1 @@
> +obj-$(CONFIG_DRM_HEADER_TEST)  += drm/
> diff --git a/include/drm/Makefile b/include/drm/Makefile
> new file mode 100644
> index 000000000000..a7bd15d2803e
> --- /dev/null
> +++ b/include/drm/Makefile
> @@ -0,0 +1,18 @@
> +# SPDX-License-Identifier: GPL-2.0
> +
> +# Ensure drm headers are self-contained and pass kernel-doc
> +hdrtest-files := \
> +       $(shell cd $(src) && find * -name '*.h' 2>/dev/null)
> +
> +always-$(CONFIG_DRM_HEADER_TEST) += \
> +       $(patsubst %.h,%.hdrtest, $(hdrtest-files))
> +
> +# Include the header twice to detect missing include guard.
> +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> +      cmd_hdrtest = \
> +               $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> +               $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
> +               touch $@
> +
> +$(obj)/%.hdrtest: $(src)/%.h FORCE
> +       $(call if_changed_dep,hdrtest)
> --
> 2.39.5
>


-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-03-02 16:01   ` Masahiro Yamada
@ 2025-03-03 10:02     ` Jani Nikula
  2025-03-03 12:59       ` Masahiro Yamada
  0 siblings, 1 reply; 18+ messages in thread
From: Jani Nikula @ 2025-03-03 10:02 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: dri-devel, intel-gfx, intel-xe, simona.vetter, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Linus Torvalds

On Mon, 03 Mar 2025, Masahiro Yamada <masahiroy@kernel.org> wrote:
> +CC: Linus
>
> On Wed, Jan 22, 2025 at 11:41 PM Jani Nikula <jani.nikula@intel.com> wrote:
>>
>> Ensure drm headers build, are self-contained, have header guards, and
>> have no kernel-doc warnings, when CONFIG_DRM_HEADER_TEST=y.
>>
>> The mechanism follows similar patters used in i915, xe, and usr/include.
>>
>> To cover include/drm, we need to recurse there using the top level
>> Kbuild and the new include/Kbuild files.
>
> NACK.
>
> I replied here:
> https://lore.kernel.org/all/CAK7LNARJgqADxnOXAX49XzDFD4zT=7i8yTB0o=EmNtxmScq8jA@mail.gmail.com/T/#u

I really don't find it fair to completely ignore several pings over an
extended period of time, and then show up to NAK after the patches have
been merged.

> I CCed Linus to avoid him accidentally pulling this.
> He disliked this misfeature.

I believe being able to statically check the headers at build time, both
by the developers and CI, depending on a config option, makes for a more
pleasant development experience.

We've had this in i915 and xe for a long time, and we avoid a lot of
build breakage due to missing includes e.g. while refactoring, and we
don't get reports about kernel-doc issues either. Because they all fail
at build, and we catch the issues pre-merge. We skip a whole class of
merge->dammit->fix cycles with this.

All of the drm headers are clean and pass. We don't add any exception
lists. It's not enabled by default.

I can appreciate this might not be the best approach for all of
include/linux, but for include/drm, I think it's definitely a win.

And one of the underlying goals is to make for minimal headers with
minimal includes and minimal dependencies, preferring forward
declarations over includes, splitting functionality by header, etc. It's
just that doing that often leads to broken headers, unless you actually
build test them... and here we are.


BR,
Jani.


>
>
>
>
>>
>> v4: check for CONFIG_WERROR in addition to CONFIG_DRM_WERROR
>>
>> v3: adapt to upstream build changes
>>
>> v2: make DRM_HEADER_TEST depend on DRM
>>
>> Suggested-by: Daniel Vetter <daniel@ffwll.ch>
>> Cc: David Airlie <airlied@gmail.com>
>> Cc: Daniel Vetter <daniel@ffwll.ch>
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: Maxime Ripard <mripard@kernel.org>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> Cc: Masahiro Yamada <masahiroy@kernel.org>
>> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>>  Kbuild                   |  1 +
>>  drivers/gpu/drm/Kconfig  | 11 +++++++++++
>>  drivers/gpu/drm/Makefile | 18 ++++++++++++++++++
>>  include/Kbuild           |  1 +
>>  include/drm/Makefile     | 18 ++++++++++++++++++
>>  5 files changed, 49 insertions(+)
>>  create mode 100644 include/Kbuild
>>  create mode 100644 include/drm/Makefile
>>
>> diff --git a/Kbuild b/Kbuild
>> index 464b34a08f51..f327ca86990c 100644
>> --- a/Kbuild
>> +++ b/Kbuild
>> @@ -97,3 +97,4 @@ obj-$(CONFIG_SAMPLES) += samples/
>>  obj-$(CONFIG_NET)      += net/
>>  obj-y                  += virt/
>>  obj-y                  += $(ARCH_DRIVERS)
>> +obj-$(CONFIG_DRM_HEADER_TEST)  += include/
>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
>> index fbef3f471bd0..f9b3ebf63fa9 100644
>> --- a/drivers/gpu/drm/Kconfig
>> +++ b/drivers/gpu/drm/Kconfig
>> @@ -494,6 +494,17 @@ config DRM_WERROR
>>
>>           If in doubt, say N.
>>
>> +config DRM_HEADER_TEST
>> +       bool "Ensure DRM headers are self-contained and pass kernel-doc"
>> +       depends on DRM && EXPERT
>> +       default n
>> +       help
>> +         Ensure the DRM subsystem headers both under drivers/gpu/drm and
>> +         include/drm compile, are self-contained, have header guards, and have
>> +         no kernel-doc warnings.
>> +
>> +         If in doubt, say N.
>> +
>>  endif
>>
>>  # Separate option because drm_panel_orientation_quirks.c is shared with fbdev
>> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
>> index 85af94bb907d..42901f877bf2 100644
>> --- a/drivers/gpu/drm/Makefile
>> +++ b/drivers/gpu/drm/Makefile
>> @@ -222,3 +222,21 @@ obj-y                      += solomon/
>>  obj-$(CONFIG_DRM_SPRD) += sprd/
>>  obj-$(CONFIG_DRM_LOONGSON) += loongson/
>>  obj-$(CONFIG_DRM_POWERVR) += imagination/
>> +
>> +# Ensure drm headers are self-contained and pass kernel-doc
>> +hdrtest-files := \
>> +       $(shell cd $(src) && find . -maxdepth 1 -name 'drm_*.h') \
>> +       $(shell cd $(src) && find display lib -name '*.h')
>> +
>> +always-$(CONFIG_DRM_HEADER_TEST) += \
>> +       $(patsubst %.h,%.hdrtest, $(hdrtest-files))
>> +
>> +# Include the header twice to detect missing include guard.
>> +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
>> +      cmd_hdrtest = \
>> +               $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
>> +               $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
>> +               touch $@
>> +
>> +$(obj)/%.hdrtest: $(src)/%.h FORCE
>> +       $(call if_changed_dep,hdrtest)
>> diff --git a/include/Kbuild b/include/Kbuild
>> new file mode 100644
>> index 000000000000..5e76a599e2dd
>> --- /dev/null
>> +++ b/include/Kbuild
>> @@ -0,0 +1 @@
>> +obj-$(CONFIG_DRM_HEADER_TEST)  += drm/
>> diff --git a/include/drm/Makefile b/include/drm/Makefile
>> new file mode 100644
>> index 000000000000..a7bd15d2803e
>> --- /dev/null
>> +++ b/include/drm/Makefile
>> @@ -0,0 +1,18 @@
>> +# SPDX-License-Identifier: GPL-2.0
>> +
>> +# Ensure drm headers are self-contained and pass kernel-doc
>> +hdrtest-files := \
>> +       $(shell cd $(src) && find * -name '*.h' 2>/dev/null)
>> +
>> +always-$(CONFIG_DRM_HEADER_TEST) += \
>> +       $(patsubst %.h,%.hdrtest, $(hdrtest-files))
>> +
>> +# Include the header twice to detect missing include guard.
>> +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
>> +      cmd_hdrtest = \
>> +               $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
>> +               $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
>> +               touch $@
>> +
>> +$(obj)/%.hdrtest: $(src)/%.h FORCE
>> +       $(call if_changed_dep,hdrtest)
>> --
>> 2.39.5
>>

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-03-03 10:02     ` Jani Nikula
@ 2025-03-03 12:59       ` Masahiro Yamada
  2025-03-03 13:52         ` Jani Nikula
  0 siblings, 1 reply; 18+ messages in thread
From: Masahiro Yamada @ 2025-03-03 12:59 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, simona.vetter, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Linus Torvalds

On Mon, Mar 3, 2025 at 7:02 PM Jani Nikula <jani.nikula@intel.com> wrote:
>
> On Mon, 03 Mar 2025, Masahiro Yamada <masahiroy@kernel.org> wrote:
> > +CC: Linus
> >
> > On Wed, Jan 22, 2025 at 11:41 PM Jani Nikula <jani.nikula@intel.com> wrote:
> >>
> >> Ensure drm headers build, are self-contained, have header guards, and
> >> have no kernel-doc warnings, when CONFIG_DRM_HEADER_TEST=y.
> >>
> >> The mechanism follows similar patters used in i915, xe, and usr/include.
> >>
> >> To cover include/drm, we need to recurse there using the top level
> >> Kbuild and the new include/Kbuild files.
> >
> > NACK.
> >
> > I replied here:
> > https://lore.kernel.org/all/CAK7LNARJgqADxnOXAX49XzDFD4zT=7i8yTB0o=EmNtxmScq8jA@mail.gmail.com/T/#u
>
> I really don't find it fair to completely ignore several pings over an
> extended period of time, and then show up to NAK after the patches have
> been merged.


Sorry, I didn't mean to ignore it - I simply didn't notice it.

I regularly check linux-kbuild and linux-kernel MLs (though I still miss
responding to many emails).
However, I don't check the drm ML at all.
I need to reconsider my email filtering rules, but in reality,
I can't respond to all emails in time.

I believe you are re-adding something Linus was negative about:
https://lore.kernel.org/all/87a7982hwc.fsf@intel.com/




> > I CCed Linus to avoid him accidentally pulling this.
> > He disliked this misfeature.
>
> I believe being able to statically check the headers at build time, both
> by the developers and CI, depending on a config option, makes for a more
> pleasant development experience.
>
> We've had this in i915 and xe for a long time, and we avoid a lot of
> build breakage due to missing includes e.g. while refactoring, and we
> don't get reports about kernel-doc issues either. Because they all fail
> at build, and we catch the issues pre-merge. We skip a whole class of
> merge->dammit->fix cycles with this.
>
> All of the drm headers are clean and pass. We don't add any exception
> lists. It's not enabled by default.

I'm not a big fan of the header tests in i915 and xe.
However, you've built a fence and you are dong what you want
in driver-local Makefiles, so I can't avoid them.


>
> I can appreciate this might not be the best approach for all of
> include/linux, but for include/drm, I think it's definitely a win.
>
> And one of the underlying goals is to make for minimal headers with
> minimal includes and minimal dependencies, preferring forward
> declarations over includes, splitting functionality by header, etc. It's
> just that doing that often leads to broken headers, unless you actually
> build test them... and here we are.


What I learned from my last attempt is that we cannot avoid
false positives without adding a lot of exceptions.

We can never be certain whether you are making DRM headers
self-contained for valid reasons or for hypothetical, invalid ones.







>
> BR,
> Jani.
>
>
> >
> >
> >
> >
> >>
> >> v4: check for CONFIG_WERROR in addition to CONFIG_DRM_WERROR
> >>
> >> v3: adapt to upstream build changes
> >>
> >> v2: make DRM_HEADER_TEST depend on DRM
> >>
> >> Suggested-by: Daniel Vetter <daniel@ffwll.ch>
> >> Cc: David Airlie <airlied@gmail.com>
> >> Cc: Daniel Vetter <daniel@ffwll.ch>
> >> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> >> Cc: Maxime Ripard <mripard@kernel.org>
> >> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> >> Cc: Masahiro Yamada <masahiroy@kernel.org>
> >> Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
> >> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
> >> ---
> >>  Kbuild                   |  1 +
> >>  drivers/gpu/drm/Kconfig  | 11 +++++++++++
> >>  drivers/gpu/drm/Makefile | 18 ++++++++++++++++++
> >>  include/Kbuild           |  1 +
> >>  include/drm/Makefile     | 18 ++++++++++++++++++
> >>  5 files changed, 49 insertions(+)
> >>  create mode 100644 include/Kbuild
> >>  create mode 100644 include/drm/Makefile
> >>
> >> diff --git a/Kbuild b/Kbuild
> >> index 464b34a08f51..f327ca86990c 100644
> >> --- a/Kbuild
> >> +++ b/Kbuild
> >> @@ -97,3 +97,4 @@ obj-$(CONFIG_SAMPLES) += samples/
> >>  obj-$(CONFIG_NET)      += net/
> >>  obj-y                  += virt/
> >>  obj-y                  += $(ARCH_DRIVERS)
> >> +obj-$(CONFIG_DRM_HEADER_TEST)  += include/
> >> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
> >> index fbef3f471bd0..f9b3ebf63fa9 100644
> >> --- a/drivers/gpu/drm/Kconfig
> >> +++ b/drivers/gpu/drm/Kconfig
> >> @@ -494,6 +494,17 @@ config DRM_WERROR
> >>
> >>           If in doubt, say N.
> >>
> >> +config DRM_HEADER_TEST
> >> +       bool "Ensure DRM headers are self-contained and pass kernel-doc"
> >> +       depends on DRM && EXPERT
> >> +       default n
> >> +       help
> >> +         Ensure the DRM subsystem headers both under drivers/gpu/drm and
> >> +         include/drm compile, are self-contained, have header guards, and have
> >> +         no kernel-doc warnings.
> >> +
> >> +         If in doubt, say N.
> >> +
> >>  endif
> >>
> >>  # Separate option because drm_panel_orientation_quirks.c is shared with fbdev
> >> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
> >> index 85af94bb907d..42901f877bf2 100644
> >> --- a/drivers/gpu/drm/Makefile
> >> +++ b/drivers/gpu/drm/Makefile
> >> @@ -222,3 +222,21 @@ obj-y                      += solomon/
> >>  obj-$(CONFIG_DRM_SPRD) += sprd/
> >>  obj-$(CONFIG_DRM_LOONGSON) += loongson/
> >>  obj-$(CONFIG_DRM_POWERVR) += imagination/
> >> +
> >> +# Ensure drm headers are self-contained and pass kernel-doc
> >> +hdrtest-files := \
> >> +       $(shell cd $(src) && find . -maxdepth 1 -name 'drm_*.h') \
> >> +       $(shell cd $(src) && find display lib -name '*.h')
> >> +
> >> +always-$(CONFIG_DRM_HEADER_TEST) += \
> >> +       $(patsubst %.h,%.hdrtest, $(hdrtest-files))
> >> +
> >> +# Include the header twice to detect missing include guard.
> >> +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> >> +      cmd_hdrtest = \
> >> +               $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> >> +               $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
> >> +               touch $@
> >> +
> >> +$(obj)/%.hdrtest: $(src)/%.h FORCE
> >> +       $(call if_changed_dep,hdrtest)
> >> diff --git a/include/Kbuild b/include/Kbuild
> >> new file mode 100644
> >> index 000000000000..5e76a599e2dd
> >> --- /dev/null
> >> +++ b/include/Kbuild
> >> @@ -0,0 +1 @@
> >> +obj-$(CONFIG_DRM_HEADER_TEST)  += drm/
> >> diff --git a/include/drm/Makefile b/include/drm/Makefile
> >> new file mode 100644
> >> index 000000000000..a7bd15d2803e
> >> --- /dev/null
> >> +++ b/include/drm/Makefile
> >> @@ -0,0 +1,18 @@
> >> +# SPDX-License-Identifier: GPL-2.0
> >> +
> >> +# Ensure drm headers are self-contained and pass kernel-doc
> >> +hdrtest-files := \
> >> +       $(shell cd $(src) && find * -name '*.h' 2>/dev/null)
> >> +
> >> +always-$(CONFIG_DRM_HEADER_TEST) += \
> >> +       $(patsubst %.h,%.hdrtest, $(hdrtest-files))
> >> +
> >> +# Include the header twice to detect missing include guard.
> >> +quiet_cmd_hdrtest = HDRTEST $(patsubst %.hdrtest,%.h,$@)
> >> +      cmd_hdrtest = \
> >> +               $(CC) $(c_flags) -fsyntax-only -x c /dev/null -include $< -include $<; \
> >> +               $(srctree)/scripts/kernel-doc -none $(if $(CONFIG_WERROR)$(CONFIG_DRM_WERROR),-Werror) $<; \
> >> +               touch $@
> >> +
> >> +$(obj)/%.hdrtest: $(src)/%.h FORCE
> >> +       $(call if_changed_dep,hdrtest)
> >> --
> >> 2.39.5
> >>
>
> --
> Jani Nikula, Intel



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-03-03 12:59       ` Masahiro Yamada
@ 2025-03-03 13:52         ` Jani Nikula
  2025-03-04 18:05           ` Masahiro Yamada
  0 siblings, 1 reply; 18+ messages in thread
From: Jani Nikula @ 2025-03-03 13:52 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: dri-devel, intel-gfx, intel-xe, simona.vetter, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Linus Torvalds

On Mon, 03 Mar 2025, Masahiro Yamada <masahiroy@kernel.org> wrote:
> On Mon, Mar 3, 2025 at 7:02 PM Jani Nikula <jani.nikula@intel.com> wrote:
>>
>> On Mon, 03 Mar 2025, Masahiro Yamada <masahiroy@kernel.org> wrote:
>> And one of the underlying goals is to make for minimal headers with
>> minimal includes and minimal dependencies, preferring forward
>> declarations over includes, splitting functionality by header, etc. It's
>> just that doing that often leads to broken headers, unless you actually
>> build test them... and here we are.
>
>
> What I learned from my last attempt is that we cannot avoid
> false positives without adding a lot of exceptions.

All of the drm core, xe and i915 headers build fine without
exceptions. There are no false positives. (*)

> We can never be certain whether you are making DRM headers
> self-contained for valid reasons or for hypothetical, invalid ones.

Please enlighten me. What are hypothetical, invalid reasons for making
headers self-contained?

IMO headers should almost invariably be self-contained, instead of
putting the burden on their users to include other headers to make it
work. It's a PITA in a project the size of the kernel, or even just the
drm subsystem, to track these cases when you modify includes in either
users or the headers being included.

The exception to this are headers that are not to be included directly
by users, but rather by other headers as an implementation detail. There
may be such cases in include/linux, but not under include/drm.


BR,
Jani.


(*) Fine, there's one *intentional* special case in i915.

-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-03-03 13:52         ` Jani Nikula
@ 2025-03-04 18:05           ` Masahiro Yamada
  2025-03-05 13:59             ` Maxime Ripard
  0 siblings, 1 reply; 18+ messages in thread
From: Masahiro Yamada @ 2025-03-04 18:05 UTC (permalink / raw)
  To: Jani Nikula
  Cc: dri-devel, intel-gfx, intel-xe, simona.vetter, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	Linus Torvalds

On Mon, Mar 3, 2025 at 10:53 PM Jani Nikula <jani.nikula@intel.com> wrote:
>
> On Mon, 03 Mar 2025, Masahiro Yamada <masahiroy@kernel.org> wrote:
> > On Mon, Mar 3, 2025 at 7:02 PM Jani Nikula <jani.nikula@intel.com> wrote:
> >>
> >> On Mon, 03 Mar 2025, Masahiro Yamada <masahiroy@kernel.org> wrote:
> >> And one of the underlying goals is to make for minimal headers with
> >> minimal includes and minimal dependencies, preferring forward
> >> declarations over includes, splitting functionality by header, etc. It's
> >> just that doing that often leads to broken headers, unless you actually
> >> build test them... and here we are.
> >
> >
> > What I learned from my last attempt is that we cannot avoid
> > false positives without adding a lot of exceptions.
>
> All of the drm core, xe and i915 headers build fine without
> exceptions. There are no false positives. (*)
>
> > We can never be certain whether you are making DRM headers
> > self-contained for valid reasons or for hypothetical, invalid ones.
>
> Please enlighten me. What are hypothetical, invalid reasons for making
> headers self-contained?

See this thread:
https://lore.kernel.org/all/20190718130835.GA28520@lst.de/

When CONFIG_BLOCK=n, it does not make sense to
ensure <linux/iomap.h> is self-contained.
This is just one example.

I am pretty sure I observed more false-positives
in header compile tests.

>
> IMO headers should almost invariably be self-contained, instead of
> putting the burden on their users to include other headers to make it
> work. It's a PITA in a project the size of the kernel, or even just the
> drm subsystem, to track these cases when you modify includes in either
> users or the headers being included.
>
> The exception to this are headers that are not to be included directly
> by users, but rather by other headers as an implementation detail. There
> may be such cases in include/linux, but not under include/drm.

This results in a false check for include/linux/.

I don’t see much sense in doing this exceptionally for include/drm/
after we've learned that it doesn't work globally.





>
> BR,
> Jani.
>
>
> (*) Fine, there's one *intentional* special case in i915.
>
> --
> Jani Nikula, Intel



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-03-04 18:05           ` Masahiro Yamada
@ 2025-03-05 13:59             ` Maxime Ripard
  2025-03-08 17:05               ` Masahiro Yamada
  0 siblings, 1 reply; 18+ messages in thread
From: Maxime Ripard @ 2025-03-05 13:59 UTC (permalink / raw)
  To: Masahiro Yamada
  Cc: Jani Nikula, dri-devel, intel-gfx, intel-xe, simona.vetter,
	Daniel Vetter, David Airlie, Maarten Lankhorst, Thomas Zimmermann,
	Linus Torvalds

[-- Attachment #1: Type: text/plain, Size: 1308 bytes --]

On Wed, Mar 05, 2025 at 03:05:25AM +0900, Masahiro Yamada wrote:
> > IMO headers should almost invariably be self-contained, instead of
> > putting the burden on their users to include other headers to make it
> > work. It's a PITA in a project the size of the kernel, or even just the
> > drm subsystem, to track these cases when you modify includes in either
> > users or the headers being included.
> >
> > The exception to this are headers that are not to be included directly
> > by users, but rather by other headers as an implementation detail. There
> > may be such cases in include/linux, but not under include/drm.
> 
> This results in a false check for include/linux/.
> 
> I don’t see much sense in doing this exceptionally for include/drm/
> after we've learned that it doesn't work globally.

As far as I'm concerned, I find this extremely helpful for DRM. If only
to ensure that the huge amount of work that went into cleaning up our
headers doesn't get lost.

Nobody here claims that it should be enabled globally, just that it
should be enabled for DRM. We already have plenty of exceptions like
that for compiler flags, checkpatch, contribution process, etc. so I'm
not sure why those would be ok, but additional checks limited to a
subsystem wouldn't.

Maxime

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-03-05 13:59             ` Maxime Ripard
@ 2025-03-08 17:05               ` Masahiro Yamada
  2025-03-13 10:59                 ` Jani Nikula
  0 siblings, 1 reply; 18+ messages in thread
From: Masahiro Yamada @ 2025-03-08 17:05 UTC (permalink / raw)
  To: Maxime Ripard
  Cc: Jani Nikula, dri-devel, intel-gfx, intel-xe, simona.vetter,
	Daniel Vetter, David Airlie, Maarten Lankhorst, Thomas Zimmermann,
	Linus Torvalds

On Wed, Mar 5, 2025 at 10:59 PM Maxime Ripard <mripard@kernel.org> wrote:
>
> On Wed, Mar 05, 2025 at 03:05:25AM +0900, Masahiro Yamada wrote:
> > > IMO headers should almost invariably be self-contained, instead of
> > > putting the burden on their users to include other headers to make it
> > > work. It's a PITA in a project the size of the kernel, or even just the
> > > drm subsystem, to track these cases when you modify includes in either
> > > users or the headers being included.
> > >
> > > The exception to this are headers that are not to be included directly
> > > by users, but rather by other headers as an implementation detail. There
> > > may be such cases in include/linux, but not under include/drm.
> >
> > This results in a false check for include/linux/.
> >
> > I don’t see much sense in doing this exceptionally for include/drm/
> > after we've learned that it doesn't work globally.
>
> As far as I'm concerned, I find this extremely helpful for DRM. If only
> to ensure that the huge amount of work that went into cleaning up our
> headers doesn't get lost.
>
> Nobody here claims that it should be enabled globally, just that it
> should be enabled for DRM. We already have plenty of exceptions like
> that for compiler flags, checkpatch, contribution process, etc. so I'm
> not sure why those would be ok, but additional checks limited to a
> subsystem wouldn't.
>
> Maxime

Because we learned this feature is broken.
It was broken under include/linux/, so it will be broken under include/drm/ too.

Headers are included conditionally.
There is no need to make them self-contained in all cases
by compile-testing every header detected by the 'find' command.

I am very negative about this patch.
I hope the upstream maintainers and Linus will not pull this.





--
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc
  2025-03-08 17:05               ` Masahiro Yamada
@ 2025-03-13 10:59                 ` Jani Nikula
  0 siblings, 0 replies; 18+ messages in thread
From: Jani Nikula @ 2025-03-13 10:59 UTC (permalink / raw)
  To: Masahiro Yamada, Maxime Ripard
  Cc: dri-devel, intel-gfx, intel-xe, simona.vetter, Daniel Vetter,
	David Airlie, Maarten Lankhorst, Thomas Zimmermann,
	Linus Torvalds

On Sun, 09 Mar 2025, Masahiro Yamada <masahiroy@kernel.org> wrote:
> On Wed, Mar 5, 2025 at 10:59 PM Maxime Ripard <mripard@kernel.org> wrote:
>> As far as I'm concerned, I find this extremely helpful for DRM. If only
>> to ensure that the huge amount of work that went into cleaning up our
>> headers doesn't get lost.
>>
>> Nobody here claims that it should be enabled globally, just that it
>> should be enabled for DRM. We already have plenty of exceptions like
>> that for compiler flags, checkpatch, contribution process, etc. so I'm
>> not sure why those would be ok, but additional checks limited to a
>> subsystem wouldn't.
>>
>> Maxime
>
> Because we learned this feature is broken.
> It was broken under include/linux/, so it will be broken under include/drm/ too.

I don't think that's a valid conclusion.


BR,
Jani.


-- 
Jani Nikula, Intel

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2025-03-13 10:59 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-23 14:11 [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Jani Nikula
2024-08-23 14:11 ` [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
2024-08-26 16:05   ` kernel test robot
2024-08-26 22:28   ` kernel test robot
2024-08-23 14:12 ` [PATCH 1/2] drm/ttm: fix kernel-doc typo for @trylock_only Christian König
2024-08-26 10:20   ` Jani Nikula
2024-08-23 14:44 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] " Patchwork
2024-08-23 14:51 ` ✓ Fi.CI.BAT: success " Patchwork
2024-08-24 13:38 ` ✗ Fi.CI.IGT: failure " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2025-01-22 14:41 [PATCH 0/2] drm: add header tests Jani Nikula
2025-01-22 14:41 ` [PATCH 2/2] drm: ensure drm headers are self-contained and pass kernel-doc Jani Nikula
2025-03-02 16:01   ` Masahiro Yamada
2025-03-03 10:02     ` Jani Nikula
2025-03-03 12:59       ` Masahiro Yamada
2025-03-03 13:52         ` Jani Nikula
2025-03-04 18:05           ` Masahiro Yamada
2025-03-05 13:59             ` Maxime Ripard
2025-03-08 17:05               ` Masahiro Yamada
2025-03-13 10:59                 ` Jani Nikula

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox