Intel-GFX Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
@ 2022-12-29 16:12 Rodrigo Vivi
  2022-12-29 16:39 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Rodrigo Vivi @ 2022-12-29 16:12 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

There are new cases where we want to block i915 probe, such
as when experimenting or developing the new Xe driver.

But also, with the new hibrid cards, users or developers might
want to use i915 only on integrated and fully block the probe
of the i915 for the discrete. Or vice versa.

Oh, and there are even older development and validation reasons,
like when you use some distro where the modprobe.blacklist is
not present.

But in any case, let's introduce a more granular control, but without
introducing yet another parameter, but using the existent force_probe
one.

Just by adding a ! in the begin of the id in the force_probe, like
in this case where we would block the probe for Alder Lake:

$ insmod i915.ko force_probe='!46a6'

Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/Kconfig       | 13 ++++++++++---
 drivers/gpu/drm/i915/i915_params.c |  2 +-
 drivers/gpu/drm/i915/i915_pci.c    | 29 +++++++++++++++++++++++++----
 3 files changed, 36 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index 3efce05d7b57..8873cd0355b7 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -54,24 +54,31 @@ config DRM_I915
 	  If "M" is selected, the module will be called i915.
 
 config DRM_I915_FORCE_PROBE
-	string "Force probe driver for selected new Intel hardware"
+	string "Force probe i915 for selected Intel hardware IDs"
 	depends on DRM_I915
 	help
 	  This is the default value for the i915.force_probe module
 	  parameter. Using the module parameter overrides this option.
 
-	  Force probe the driver for new Intel graphics devices that are
+	  Force probe the i915 for Intel graphics devices that are
 	  recognized but not properly supported by this kernel version. It is
 	  recommended to upgrade to a kernel version with proper support as soon
 	  as it is available.
 
+	  It can also be used to block the probe of recognized and fully
+	  supported devices.
+
 	  Use "" to disable force probe. If in doubt, use this.
 
-	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
+	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
 	  devices. For example, "4500" or "4500,4571".
 
 	  Use "*" to force probe the driver for all known devices.
 
+	  Use "!" right before the ID to block the probe of the device. For
+	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
+	  4571.
+
 config DRM_I915_CAPTURE_ERROR
 	bool "Enable capturing GPU state following a hang"
 	depends on DRM_I915
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 61578f2860cd..d634bd3f641a 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
 	"Default: 0");
 
 i915_param_named_unsafe(force_probe, charp, 0400,
-	"Force probe the driver for specified devices. "
+	"Force probe options for specified supported devices. "
 	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
 
 i915_param_named_unsafe(disable_power_well, int, 0400,
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 668e9da52584..fc1383f3a646 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
 }
 
 /* is device_id present in comma separated list of ids */
-static bool force_probe(u16 device_id, const char *devices)
+static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
 {
 	char *s, *p, *tok;
 	bool ret;
@@ -1272,6 +1272,12 @@ static bool force_probe(u16 device_id, const char *devices)
 	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
 		u16 val;
 
+		if (negative && tok[0] == '!')
+			tok++;
+		else if ((negative && tok[0] != '!') ||
+			 (!negative && tok[0] == '!'))
+			 continue;
+
 		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
 			ret = true;
 			break;
@@ -1283,6 +1289,16 @@ static bool force_probe(u16 device_id, const char *devices)
 	return ret;
 }
 
+static bool id_forced(u16 device_id)
+{
+	return device_id_in_list(device_id, i915_modparams.force_probe, false);
+}
+
+static bool id_blocked(u16 device_id)
+{
+	return device_id_in_list(device_id, i915_modparams.force_probe, true);
+}
+
 bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
 {
 	if (!pci_resource_flags(pdev, bar))
@@ -1308,10 +1324,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		(struct intel_device_info *) ent->driver_data;
 	int err;
 
-	if (intel_info->require_force_probe &&
-	    !force_probe(pdev->device, i915_modparams.force_probe)) {
+	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
 		dev_info(&pdev->dev,
-			 "Your graphics device %04x is not properly supported by the driver in this\n"
+			 "Your graphics device %04x is not properly supported by i915 in this\n"
 			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
 			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
 			 "or (recommended) check for kernel updates.\n",
@@ -1319,6 +1334,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		return -ENODEV;
 	}
 
+	if (id_blocked(pdev->device)) {
+		dev_info(&pdev->dev, "I915 probe blocked for Device ID %04x.\n",
+			 pdev->device);
+		return -ENODEV;
+	}
+
 	/* Only bind to function 0 of the device. Early generations
 	 * used function 1 as a placeholder for multi-head. This causes
 	 * us confusion instead, especially on the systems where both
-- 
2.38.1


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

* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Expand force_probe to block probe of devices as well.
  2022-12-29 16:12 [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well Rodrigo Vivi
@ 2022-12-29 16:39 ` Patchwork
  2022-12-29 17:02 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2022-12-29 16:39 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

== Series Details ==

Series: drm/i915: Expand force_probe to block probe of devices as well.
URL   : https://patchwork.freedesktop.org/series/112292/
State : warning

== Summary ==

Error: dim checkpatch failed
2802730b7726 drm/i915: Expand force_probe to block probe of devices as well.
-:100: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (16, 25)
#100: FILE: drivers/gpu/drm/i915/i915_pci.c:1277:
+		else if ((negative && tok[0] != '!') ||
[...]
+			 continue;

-:102: WARNING:TABSTOP: Statements should start on a tabstop
#102: FILE: drivers/gpu/drm/i915/i915_pci.c:1279:
+			 continue;

total: 0 errors, 2 warnings, 0 checks, 102 lines checked



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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Expand force_probe to block probe of devices as well.
  2022-12-29 16:12 [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well Rodrigo Vivi
  2022-12-29 16:39 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
@ 2022-12-29 17:02 ` Patchwork
  2022-12-29 18:01 ` [Intel-gfx] [PATCH] " Gustavo Sousa
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2022-12-29 17:02 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Expand force_probe to block probe of devices as well.
URL   : https://patchwork.freedesktop.org/series/112292/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12528 -> Patchwork_112292v1
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_112292v1 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_112292v1, please notify your bug team 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_112292v1/index.html

Participating hosts (40 -> 44)
------------------------------

  Additional (4): fi-kbl-soraka fi-bsw-kefka bat-dg2-9 bat-atsm-1 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@core_hotunplug@unbind-rebind:
    - fi-adl-ddr5:        [PASS][1] -> [SKIP][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@core_hotunplug@unbind-rebind.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@core_hotunplug@unbind-rebind.html
    - fi-rkl-11600:       [PASS][3] -> [SKIP][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@core_hotunplug@unbind-rebind.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@core_hotunplug@unbind-rebind.html
    - fi-icl-u2:          [PASS][5] -> [SKIP][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@core_hotunplug@unbind-rebind.html
    - bat-dg1-5:          [PASS][7] -> [SKIP][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@core_hotunplug@unbind-rebind.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@core_hotunplug@unbind-rebind.html
    - fi-rkl-guc:         [PASS][9] -> [SKIP][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@core_hotunplug@unbind-rebind.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@core_hotunplug@unbind-rebind.html
    - bat-dg1-6:          [PASS][11] -> [SKIP][12]
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@core_hotunplug@unbind-rebind.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@core_hotunplug@unbind-rebind.html

  * igt@dmabuf@all-tests@dma_fence_chain:
    - fi-kbl-soraka:      NOTRUN -> [INCOMPLETE][13]
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-soraka/igt@dmabuf@all-tests@dma_fence_chain.html

  * igt@i915_module_load@load:
    - fi-kbl-8809g:       [PASS][14] -> [FAIL][15]
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-8809g/igt@i915_module_load@load.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-8809g/igt@i915_module_load@load.html
    - bat-adlp-4:         [PASS][16] -> [FAIL][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@i915_module_load@load.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@i915_module_load@load.html

  * igt@i915_selftest@live@client:
    - fi-elk-e7500:       [PASS][18] -> [FAIL][19] +37 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-elk-e7500/igt@i915_selftest@live@client.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-elk-e7500/igt@i915_selftest@live@client.html

  * igt@i915_selftest@live@coherency:
    - fi-bwr-2160:        [PASS][20] -> [FAIL][21] +37 similar issues
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-bwr-2160/igt@i915_selftest@live@coherency.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bwr-2160/igt@i915_selftest@live@coherency.html
    - fi-hsw-4770:        [PASS][22] -> [FAIL][23] +28 similar issues
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-hsw-4770/igt@i915_selftest@live@coherency.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@i915_selftest@live@coherency.html

  * igt@i915_selftest@live@evict:
    - fi-pnv-d510:        [PASS][24] -> [FAIL][25] +37 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-pnv-d510/igt@i915_selftest@live@evict.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-pnv-d510/igt@i915_selftest@live@evict.html

  * igt@i915_selftest@live@gem:
    - fi-rkl-11600:       [PASS][26] -> [FAIL][27] +37 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@i915_selftest@live@gem.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@i915_selftest@live@gem.html

  * igt@i915_selftest@live@gem_contexts:
    - fi-cfl-guc:         [PASS][28] -> [FAIL][29] +37 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-guc/igt@i915_selftest@live@gem_contexts.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-guc/igt@i915_selftest@live@gem_contexts.html
    - fi-skl-6600u:       [PASS][30] -> [FAIL][31] +37 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6600u/igt@i915_selftest@live@gem_contexts.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6600u/igt@i915_selftest@live@gem_contexts.html

  * igt@i915_selftest@live@gt_contexts:
    - fi-ilk-650:         [PASS][32] -> [FAIL][33] +37 similar issues
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ilk-650/igt@i915_selftest@live@gt_contexts.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ilk-650/igt@i915_selftest@live@gt_contexts.html

  * igt@i915_selftest@live@gt_engines:
    - fi-ivb-3770:        [PASS][34] -> [FAIL][35] +37 similar issues
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ivb-3770/igt@i915_selftest@live@gt_engines.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ivb-3770/igt@i915_selftest@live@gt_engines.html

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-kbl-soraka:      NOTRUN -> [FAIL][36] +37 similar issues
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html
    - bat-dg1-6:          [PASS][37] -> [FAIL][38] +37 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@i915_selftest@live@gt_heartbeat.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@i915_selftest@live@gt_heartbeat.html
    - fi-skl-6700k2:      [PASS][39] -> [FAIL][40] +37 similar issues
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6700k2/igt@i915_selftest@live@gt_heartbeat.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6700k2/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@gt_lrc:
    - fi-icl-u2:          [PASS][41] -> [FAIL][42] +37 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@i915_selftest@live@gt_lrc.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@i915_selftest@live@gt_lrc.html

  * igt@i915_selftest@live@gt_mocs:
    - fi-glk-j4005:       [PASS][43] -> [FAIL][44] +37 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-glk-j4005/igt@i915_selftest@live@gt_mocs.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-glk-j4005/igt@i915_selftest@live@gt_mocs.html

  * igt@i915_selftest@live@guc:
    - fi-bsw-kefka:       NOTRUN -> [FAIL][45] +37 similar issues
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-kefka/igt@i915_selftest@live@guc.html
    - fi-adl-ddr5:        [PASS][46] -> [FAIL][47] +36 similar issues
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@i915_selftest@live@guc.html
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@i915_selftest@live@guc.html

  * igt@i915_selftest@live@perf:
    - fi-hsw-4770:        NOTRUN -> [FAIL][48] +7 similar issues
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@i915_selftest@live@perf.html

  * igt@i915_selftest@live@requests:
    - fi-bsw-nick:        [PASS][49] -> [FAIL][50] +37 similar issues
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-bsw-nick/igt@i915_selftest@live@requests.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-nick/igt@i915_selftest@live@requests.html

  * igt@i915_selftest@live@reset:
    - fi-apl-guc:         [PASS][51] -> [FAIL][52] +36 similar issues
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-apl-guc/igt@i915_selftest@live@reset.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-apl-guc/igt@i915_selftest@live@reset.html
    - bat-dg1-5:          [PASS][53] -> [FAIL][54] +37 similar issues
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@i915_selftest@live@reset.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@i915_selftest@live@reset.html

  * igt@i915_selftest@live@ring_submission:
    - fi-cfl-8109u:       [PASS][55] -> [FAIL][56] +36 similar issues
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8109u/igt@i915_selftest@live@ring_submission.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8109u/igt@i915_selftest@live@ring_submission.html
    - bat-adlp-4:         NOTRUN -> [FAIL][57] +36 similar issues
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@i915_selftest@live@ring_submission.html

  * igt@i915_selftest@live@sanitycheck:
    - fi-kbl-7567u:       [PASS][58] -> [FAIL][59] +37 similar issues
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-7567u/igt@i915_selftest@live@sanitycheck.html
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-7567u/igt@i915_selftest@live@sanitycheck.html
    - fi-cfl-8700k:       [PASS][60] -> [FAIL][61] +37 similar issues
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8700k/igt@i915_selftest@live@sanitycheck.html
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8700k/igt@i915_selftest@live@sanitycheck.html

  * igt@i915_selftest@live@vma:
    - fi-rkl-guc:         [PASS][62] -> [FAIL][63] +37 similar issues
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@i915_selftest@live@vma.html
   [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@i915_selftest@live@vma.html
    - fi-snb-2600:        [PASS][64] -> [FAIL][65] +37 similar issues
   [64]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-snb-2600/igt@i915_selftest@live@vma.html
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-snb-2600/igt@i915_selftest@live@vma.html
    - fi-skl-guc:         [PASS][66] -> [FAIL][67] +37 similar issues
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-guc/igt@i915_selftest@live@vma.html
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-guc/igt@i915_selftest@live@vma.html

  * igt@i915_selftest@live@workarounds:
    - fi-blb-e6850:       [PASS][68] -> [FAIL][69] +37 similar issues
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-blb-e6850/igt@i915_selftest@live@workarounds.html
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-blb-e6850/igt@i915_selftest@live@workarounds.html
    - fi-bsw-n3050:       [PASS][70] -> [FAIL][71] +37 similar issues
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-bsw-n3050/igt@i915_selftest@live@workarounds.html
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-n3050/igt@i915_selftest@live@workarounds.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor:
    - fi-adl-ddr5:        NOTRUN -> [SKIP][72] +6 similar issues
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@kms_cursor_legacy@basic-flip-after-cursor.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck:
    - fi-icl-u2:          NOTRUN -> [SKIP][73] +6 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@kms_pipe_crc_basic@compare-crc-sanitycheck.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][74] +3 similar issues
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@kms_pipe_crc_basic@compare-crc-sanitycheck.html

  * igt@kms_pipe_crc_basic@read-crc:
    - bat-adlp-4:         NOTRUN -> [SKIP][75] +11 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@kms_pipe_crc_basic@read-crc.html

  * igt@kms_pipe_crc_basic@read-crc-frame-sequence:
    - fi-rkl-11600:       NOTRUN -> [SKIP][76] +3 similar issues
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html

  
#### Warnings ####

  * igt@gem_lmem_swapping@parallel-random-engines:
    - fi-adl-ddr5:        [SKIP][77] ([i915#4613]) -> [SKIP][78] +3 similar issues
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@gem_lmem_swapping@parallel-random-engines.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_lmem_swapping@random-engines:
    - fi-icl-u2:          [SKIP][79] ([i915#4613]) -> [SKIP][80] +3 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@gem_lmem_swapping@random-engines.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@gem_lmem_swapping@random-engines.html

  * igt@i915_module_load@reload:
    - fi-kbl-8809g:       [DMESG-WARN][81] ([i915#6899]) -> [DMESG-FAIL][82]
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-8809g/igt@i915_module_load@reload.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-8809g/igt@i915_module_load@reload.html

  * igt@i915_selftest@live@gt_heartbeat:
    - fi-cfl-8109u:       [DMESG-FAIL][83] ([i915#5334]) -> [FAIL][84]
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8109u/igt@i915_selftest@live@gt_heartbeat.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8109u/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@hangcheck:
    - fi-adl-ddr5:        [DMESG-WARN][85] ([i915#5591]) -> [FAIL][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@i915_selftest@live@hangcheck.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@i915_selftest@live@hangcheck.html
    - fi-hsw-4770:        [INCOMPLETE][87] ([i915#4785]) -> [FAIL][88]
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@core_hotunplug@unbind-rebind:
    - {fi-ehl-2}:         [PASS][89] -> [SKIP][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ehl-2/igt@core_hotunplug@unbind-rebind.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ehl-2/igt@core_hotunplug@unbind-rebind.html
    - {bat-rpls-2}:       [PASS][91] -> [SKIP][92] +3 similar issues
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-2/igt@core_hotunplug@unbind-rebind.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-2/igt@core_hotunplug@unbind-rebind.html
    - {fi-jsl-1}:         [PASS][93] -> [SKIP][94]
   [93]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-jsl-1/igt@core_hotunplug@unbind-rebind.html
   [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-jsl-1/igt@core_hotunplug@unbind-rebind.html
    - {bat-adlp-6}:       [PASS][95] -> [SKIP][96]
   [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-6/igt@core_hotunplug@unbind-rebind.html
   [96]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-6/igt@core_hotunplug@unbind-rebind.html
    - {bat-dg1-7}:        [PASS][97] -> [SKIP][98]
   [97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-7/igt@core_hotunplug@unbind-rebind.html
   [98]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-7/igt@core_hotunplug@unbind-rebind.html
    - {bat-jsl-3}:        [PASS][99] -> [SKIP][100]
   [99]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-jsl-3/igt@core_hotunplug@unbind-rebind.html
   [100]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-jsl-3/igt@core_hotunplug@unbind-rebind.html
    - {bat-adlp-9}:       [PASS][101] -> [SKIP][102]
   [101]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-9/igt@core_hotunplug@unbind-rebind.html
   [102]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-9/igt@core_hotunplug@unbind-rebind.html

  * igt@gem_lmem_swapping@basic:
    - {bat-jsl-3}:        [SKIP][103] ([i915#4613]) -> [SKIP][104] +3 similar issues
   [103]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-jsl-3/igt@gem_lmem_swapping@basic.html
   [104]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-jsl-3/igt@gem_lmem_swapping@basic.html
    - {bat-adlp-9}:       [SKIP][105] ([i915#4613]) -> [SKIP][106] +3 similar issues
   [105]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-9/igt@gem_lmem_swapping@basic.html
   [106]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-9/igt@gem_lmem_swapping@basic.html
    - {bat-adln-1}:       [SKIP][107] ([i915#4613]) -> [SKIP][108] +3 similar issues
   [107]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adln-1/igt@gem_lmem_swapping@basic.html
   [108]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@gem_lmem_swapping@basic.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - {bat-adlm-1}:       [SKIP][109] ([i915#4613]) -> [SKIP][110] +3 similar issues
   [109]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlm-1/igt@gem_lmem_swapping@parallel-random-engines.html
   [110]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlm-1/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_lmem_swapping@random-engines:
    - {fi-jsl-1}:         [SKIP][111] ([i915#4613]) -> [SKIP][112] +3 similar issues
   [111]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-jsl-1/igt@gem_lmem_swapping@random-engines.html
   [112]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-jsl-1/igt@gem_lmem_swapping@random-engines.html
    - {bat-rpls-1}:       [SKIP][113] ([i915#4613]) -> [SKIP][114] +3 similar issues
   [113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-1/igt@gem_lmem_swapping@random-engines.html
   [114]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-1/igt@gem_lmem_swapping@random-engines.html
    - {bat-adlp-6}:       [SKIP][115] ([i915#4613]) -> [SKIP][116] +3 similar issues
   [115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-6/igt@gem_lmem_swapping@random-engines.html
   [116]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-6/igt@gem_lmem_swapping@random-engines.html
    - {fi-ehl-2}:         [SKIP][117] ([i915#4613]) -> [SKIP][118] +3 similar issues
   [117]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ehl-2/igt@gem_lmem_swapping@random-engines.html
   [118]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ehl-2/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_lmem_swapping@verify-random:
    - {bat-rpls-2}:       [SKIP][119] ([i915#4613]) -> [SKIP][120] +3 similar issues
   [119]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-2/igt@gem_lmem_swapping@verify-random.html
   [120]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-2/igt@gem_lmem_swapping@verify-random.html

  * igt@i915_module_load@reload:
    - {bat-adlp-6}:       [PASS][121] -> [FAIL][122] +37 similar issues
   [121]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-6/igt@i915_module_load@reload.html
   [122]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-6/igt@i915_module_load@reload.html

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - {bat-rpls-1}:       [PASS][123] -> [SKIP][124] +3 similar issues
   [123]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-1/igt@i915_pm_rpm@basic-pci-d3-state.html
   [124]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-1/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@i915_selftest@live@client:
    - {bat-dg2-8}:        [PASS][125] -> [FAIL][126] +37 similar issues
   [125]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@i915_selftest@live@client.html
   [126]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@i915_selftest@live@client.html
    - {bat-adlm-1}:       [PASS][127] -> [FAIL][128] +37 similar issues
   [127]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlm-1/igt@i915_selftest@live@client.html
   [128]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlm-1/igt@i915_selftest@live@client.html

  * igt@i915_selftest@live@coherency:
    - {bat-jsl-3}:        [PASS][129] -> [FAIL][130] +37 similar issues
   [129]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-jsl-3/igt@i915_selftest@live@coherency.html
   [130]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-jsl-3/igt@i915_selftest@live@coherency.html
    - {bat-dg2-9}:        NOTRUN -> [FAIL][131] +37 similar issues
   [131]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-9/igt@i915_selftest@live@coherency.html

  * igt@i915_selftest@live@gt_engines:
    - {bat-rpls-2}:       [PASS][132] -> [FAIL][133] +25 similar issues
   [132]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-2/igt@i915_selftest@live@gt_engines.html
   [133]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-2/igt@i915_selftest@live@gt_engines.html

  * igt@i915_selftest@live@gt_lrc:
    - {fi-ehl-2}:         [PASS][134] -> [FAIL][135] +37 similar issues
   [134]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ehl-2/igt@i915_selftest@live@gt_lrc.html
   [135]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ehl-2/igt@i915_selftest@live@gt_lrc.html

  * igt@i915_selftest@live@gt_mocs:
    - {bat-adlp-9}:       [PASS][136] -> [FAIL][137] +37 similar issues
   [136]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-9/igt@i915_selftest@live@gt_mocs.html
   [137]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-9/igt@i915_selftest@live@gt_mocs.html

  * igt@i915_selftest@live@gt_pm:
    - {fi-jsl-1}:         [PASS][138] -> [FAIL][139] +37 similar issues
   [138]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-jsl-1/igt@i915_selftest@live@gt_pm.html
   [139]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-jsl-1/igt@i915_selftest@live@gt_pm.html
    - {bat-rpls-2}:       [DMESG-FAIL][140] ([i915#4258]) -> [FAIL][141]
   [140]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-2/igt@i915_selftest@live@gt_pm.html
   [141]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-2/igt@i915_selftest@live@gt_pm.html

  * igt@i915_selftest@live@late_gt_pm:
    - {bat-adln-1}:       [PASS][142] -> [FAIL][143] +36 similar issues
   [142]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adln-1/igt@i915_selftest@live@late_gt_pm.html
   [143]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@i915_selftest@live@late_gt_pm.html

  * igt@i915_selftest@live@perf:
    - {bat-dg2-11}:       [PASS][144] -> [FAIL][145] +37 similar issues
   [144]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@i915_selftest@live@perf.html
   [145]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@i915_selftest@live@perf.html

  * igt@i915_selftest@live@requests:
    - {bat-kbl-2}:        [PASS][146] -> [FAIL][147] +37 similar issues
   [146]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-kbl-2/igt@i915_selftest@live@requests.html
   [147]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-kbl-2/igt@i915_selftest@live@requests.html

  * igt@i915_selftest@live@reset:
    - {bat-rpls-2}:       [DMESG-FAIL][148] ([i915#4983]) -> [FAIL][149]
   [148]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-2/igt@i915_selftest@live@reset.html
   [149]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-2/igt@i915_selftest@live@reset.html

  * igt@i915_selftest@live@ring_submission:
    - {bat-rpls-2}:       NOTRUN -> [FAIL][150] +9 similar issues
   [150]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-2/igt@i915_selftest@live@ring_submission.html

  * igt@i915_selftest@live@slpc:
    - {bat-atsm-1}:       NOTRUN -> [FAIL][151] +37 similar issues
   [151]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-atsm-1/igt@i915_selftest@live@slpc.html
    - {bat-adln-1}:       [DMESG-FAIL][152] ([i915#6997]) -> [FAIL][153]
   [152]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adln-1/igt@i915_selftest@live@slpc.html
   [153]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@i915_selftest@live@slpc.html

  * igt@i915_selftest@live@uncore:
    - {bat-dg1-7}:        [PASS][154] -> [FAIL][155] +37 similar issues
   [154]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-7/igt@i915_selftest@live@uncore.html
   [155]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-7/igt@i915_selftest@live@uncore.html

  * igt@i915_selftest@live@workarounds:
    - {bat-rpls-1}:       [PASS][156] -> [FAIL][157] +37 similar issues
   [156]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-1/igt@i915_selftest@live@workarounds.html
   [157]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-1/igt@i915_selftest@live@workarounds.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - {bat-dg2-8}:        [PASS][158] -> [WARN][159]
   [158]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@i915_suspend@basic-s2idle-without-i915.html
   [159]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@i915_suspend@basic-s2idle-without-i915.html
    - {bat-dg2-9}:        NOTRUN -> [WARN][160] +1 similar issue
   [160]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-9/igt@i915_suspend@basic-s2idle-without-i915.html

  * igt@i915_suspend@basic-s3-without-i915:
    - {fi-ehl-2}:         [PASS][161] -> [INCOMPLETE][162]
   [161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ehl-2/igt@i915_suspend@basic-s3-without-i915.html
   [162]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ehl-2/igt@i915_suspend@basic-s3-without-i915.html
    - {bat-dg2-11}:       [PASS][163] -> [WARN][164]
   [163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@i915_suspend@basic-s3-without-i915.html
   [164]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@i915_suspend@basic-s3-without-i915.html
    - {bat-adlp-6}:       [PASS][165] -> [INCOMPLETE][166]
   [165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-6/igt@i915_suspend@basic-s3-without-i915.html
   [166]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-6/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy:
    - {bat-dg2-11}:       [SKIP][167] ([i915#4212]) -> [SKIP][168] +7 similar issues
   [167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html
   [168]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_addfb_basic@addfb25-x-tiled-mismatch-legacy.html

  * igt@kms_addfb_basic@bad-pitch-63:
    - {bat-adlm-1}:       [PASS][169] -> [SKIP][170] +43 similar issues
   [169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlm-1/igt@kms_addfb_basic@bad-pitch-63.html
   [170]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlm-1/igt@kms_addfb_basic@bad-pitch-63.html

  * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
    - {bat-dg2-8}:        [SKIP][171] ([i915#4212]) -> [SKIP][172] +7 similar issues
   [171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
   [172]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html

  * igt@kms_addfb_basic@invalid-set-prop:
    - {bat-adln-1}:       [PASS][173] -> [SKIP][174] +43 similar issues
   [173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adln-1/igt@kms_addfb_basic@invalid-set-prop.html
   [174]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@kms_addfb_basic@invalid-set-prop.html

  * igt@kms_addfb_basic@invalid-set-prop-any:
    - {bat-dg2-9}:        NOTRUN -> [SKIP][175] +64 similar issues
   [175]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-9/igt@kms_addfb_basic@invalid-set-prop-any.html
    - {bat-dg2-11}:       [PASS][176] -> [SKIP][177] +30 similar issues
   [176]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@kms_addfb_basic@invalid-set-prop-any.html
   [177]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_addfb_basic@invalid-set-prop-any.html

  * igt@kms_addfb_basic@unused-offsets:
    - {bat-dg2-8}:        [PASS][178] -> [SKIP][179] +30 similar issues
   [178]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@kms_addfb_basic@unused-offsets.html
   [179]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@kms_addfb_basic@unused-offsets.html

  * igt@kms_chamelium@hdmi-edid-read:
    - {bat-dg2-8}:        [SKIP][180] ([fdo#111827]) -> [SKIP][181] +8 similar issues
   [180]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@kms_chamelium@hdmi-edid-read.html
   [181]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@kms_chamelium@hdmi-edid-read.html
    - {bat-adlm-1}:       [SKIP][182] ([fdo#111827]) -> [SKIP][183] +8 similar issues
   [182]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlm-1/igt@kms_chamelium@hdmi-edid-read.html
   [183]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlm-1/igt@kms_chamelium@hdmi-edid-read.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - {bat-dg2-11}:       [SKIP][184] ([fdo#111827]) -> [SKIP][185] +8 similar issues
   [184]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@kms_chamelium@hdmi-hpd-fast.html
   [185]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_chamelium@vga-edid-read:
    - {bat-adln-1}:       [SKIP][186] ([fdo#111827]) -> [SKIP][187] +8 similar issues
   [186]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adln-1/igt@kms_chamelium@vga-edid-read.html
   [187]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@kms_chamelium@vga-edid-read.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
    - {bat-adln-1}:       [SKIP][188] ([i915#4213]) -> [SKIP][189]
   [188]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adln-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [189]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
    - {bat-dg2-11}:       [SKIP][190] ([i915#4103] / [i915#4213]) -> [SKIP][191]
   [190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [191]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor:
    - {bat-atsm-1}:       NOTRUN -> [SKIP][192] +7 similar issues
   [192]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-atsm-1/igt@kms_cursor_legacy@basic-flip-after-cursor.html
    - {bat-jsl-3}:        NOTRUN -> [SKIP][193] +6 similar issues
   [193]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-jsl-3/igt@kms_cursor_legacy@basic-flip-after-cursor.html

  * igt@kms_flip@basic-plain-flip:
    - {bat-adln-1}:       NOTRUN -> [SKIP][194] +12 similar issues
   [194]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@kms_flip@basic-plain-flip.html
    - {bat-adlm-1}:       [SKIP][195] ([i915#3637]) -> [SKIP][196] +3 similar issues
   [195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlm-1/igt@kms_flip@basic-plain-flip.html
   [196]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlm-1/igt@kms_flip@basic-plain-flip.html

  * igt@kms_force_connector_basic@force-load-detect:
    - {bat-adln-1}:       [SKIP][197] ([fdo#109285]) -> [SKIP][198]
   [197]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adln-1/igt@kms_force_connector_basic@force-load-detect.html
   [198]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@kms_force_connector_basic@force-load-detect.html
    - {bat-adlm-1}:       [SKIP][199] ([fdo#109285]) -> [SKIP][200]
   [199]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlm-1/igt@kms_force_connector_basic@force-load-detect.html
   [200]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlm-1/igt@kms_force_connector_basic@force-load-detect.html
    - {bat-dg2-8}:        [SKIP][201] ([fdo#109285]) -> [SKIP][202]
   [201]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@kms_force_connector_basic@force-load-detect.html
   [202]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@kms_force_connector_basic@force-load-detect.html
    - {bat-dg2-11}:       [SKIP][203] ([fdo#109285]) -> [SKIP][204]
   [203]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@kms_force_connector_basic@force-load-detect.html
   [204]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - {bat-dg2-11}:       [SKIP][205] ([i915#5274]) -> [SKIP][206]
   [205]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@kms_force_connector_basic@prune-stale-modes.html
   [206]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_force_connector_basic@prune-stale-modes.html
    - {bat-dg2-8}:        [SKIP][207] ([i915#5274]) -> [SKIP][208]
   [207]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@kms_force_connector_basic@prune-stale-modes.html
   [208]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_pipe_crc_basic@compare-crc-sanitycheck:
    - {bat-rpls-1}:       [SKIP][209] ([i915#1845]) -> [SKIP][210] +5 similar issues
   [209]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck.html
   [210]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-1/igt@kms_pipe_crc_basic@compare-crc-sanitycheck.html
    - {bat-adlp-6}:       NOTRUN -> [SKIP][211] +5 similar issues
   [211]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-6/igt@kms_pipe_crc_basic@compare-crc-sanitycheck.html
    - {fi-ehl-2}:         NOTRUN -> [SKIP][212] +5 similar issues
   [212]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ehl-2/igt@kms_pipe_crc_basic@compare-crc-sanitycheck.html

  * igt@kms_pipe_crc_basic@hang-read-crc:
    - {bat-adlm-1}:       [SKIP][213] ([i915#1845]) -> [SKIP][214] +9 similar issues
   [213]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlm-1/igt@kms_pipe_crc_basic@hang-read-crc.html
   [214]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlm-1/igt@kms_pipe_crc_basic@hang-read-crc.html

  * igt@kms_pipe_crc_basic@nonblocking-crc:
    - {bat-dg2-11}:       NOTRUN -> [SKIP][215] +9 similar issues
   [215]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - {bat-adlp-9}:       NOTRUN -> [SKIP][216] +6 similar issues
   [216]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-9/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
    - {bat-dg2-11}:       [SKIP][217] ([i915#5354]) -> [SKIP][218] +2 similar issues
   [217]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
   [218]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  * igt@kms_pipe_crc_basic@read-crc:
    - {bat-rpls-2}:       [SKIP][219] ([i915#1845]) -> [SKIP][220] +5 similar issues
   [219]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-rpls-2/igt@kms_pipe_crc_basic@read-crc.html
   [220]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-2/igt@kms_pipe_crc_basic@read-crc.html

  * igt@kms_pipe_crc_basic@suspend-read-crc:
    - {bat-dg2-8}:        [SKIP][221] ([i915#5354]) -> [SKIP][222] +13 similar issues
   [221]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@kms_pipe_crc_basic@suspend-read-crc.html
   [222]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@kms_pipe_crc_basic@suspend-read-crc.html
    - {fi-jsl-1}:         NOTRUN -> [SKIP][223] +6 similar issues
   [223]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-jsl-1/igt@kms_pipe_crc_basic@suspend-read-crc.html
    - {bat-rpls-1}:       NOTRUN -> [SKIP][224]
   [224]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-1/igt@kms_pipe_crc_basic@suspend-read-crc.html
    - {bat-rpls-2}:       NOTRUN -> [SKIP][225]
   [225]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-rpls-2/igt@kms_pipe_crc_basic@suspend-read-crc.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - {bat-dg2-11}:       [SKIP][226] ([i915#3555] / [i915#4579]) -> [SKIP][227]
   [226]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-11/igt@kms_setmode@basic-clone-single-crtc.html
   [227]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-11/igt@kms_setmode@basic-clone-single-crtc.html
    - {bat-adln-1}:       [SKIP][228] ([i915#3555] / [i915#4579]) -> [SKIP][229]
   [228]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adln-1/igt@kms_setmode@basic-clone-single-crtc.html
   [229]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adln-1/igt@kms_setmode@basic-clone-single-crtc.html
    - {bat-dg2-8}:        [SKIP][230] ([i915#3555] / [i915#4579]) -> [SKIP][231]
   [230]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg2-8/igt@kms_setmode@basic-clone-single-crtc.html
   [231]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg2-8/igt@kms_setmode@basic-clone-single-crtc.html
    - {bat-adlm-1}:       [SKIP][232] ([i915#3555]) -> [SKIP][233]
   [232]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlm-1/igt@kms_setmode@basic-clone-single-crtc.html
   [233]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlm-1/igt@kms_setmode@basic-clone-single-crtc.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@core_auth@basic-auth:
    - fi-rkl-guc:         [PASS][234] -> [SKIP][235] ([i915#2575]) +42 similar issues
   [234]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@core_auth@basic-auth.html
   [235]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@core_auth@basic-auth.html

  * igt@debugfs_test@read_all_entries:
    - fi-kbl-soraka:      NOTRUN -> [SKIP][236] ([fdo#109271]) +140 similar issues
   [236]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-soraka/igt@debugfs_test@read_all_entries.html
    - fi-hsw-4770:        [PASS][237] -> [SKIP][238] ([fdo#109271] / [fdo#109315]) +45 similar issues
   [237]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-hsw-4770/igt@debugfs_test@read_all_entries.html
   [238]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@debugfs_test@read_all_entries.html
    - fi-skl-6700k2:      [PASS][239] -> [SKIP][240] ([fdo#109271]) +98 similar issues
   [239]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6700k2/igt@debugfs_test@read_all_entries.html
   [240]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6700k2/igt@debugfs_test@read_all_entries.html

  * igt@fbdev@eof:
    - bat-dg1-6:          [PASS][241] -> [SKIP][242] ([i915#2582]) +4 similar issues
   [241]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@fbdev@eof.html
   [242]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@fbdev@eof.html

  * igt@gem_basic@create-close:
    - fi-elk-e7500:       [PASS][243] -> [SKIP][244] ([fdo#109271]) +92 similar issues
   [243]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-elk-e7500/igt@gem_basic@create-close.html
   [244]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-elk-e7500/igt@gem_basic@create-close.html
    - fi-bsw-nick:        [PASS][245] -> [SKIP][246] ([fdo#109271]) +88 similar issues
   [245]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-bsw-nick/igt@gem_basic@create-close.html
   [246]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-nick/igt@gem_basic@create-close.html

  * igt@gem_busy@busy:
    - fi-elk-e7500:       NOTRUN -> [SKIP][247] ([fdo#109271]) +26 similar issues
   [247]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-elk-e7500/igt@gem_busy@busy.html

  * igt@gem_ctx_create@basic-files:
    - fi-bsw-n3050:       [PASS][248] -> [SKIP][249] ([fdo#109271]) +89 similar issues
   [248]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-bsw-n3050/igt@gem_ctx_create@basic-files.html
   [249]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-n3050/igt@gem_ctx_create@basic-files.html

  * igt@gem_exec_basic@basic:
    - fi-ilk-650:         NOTRUN -> [SKIP][250] ([fdo#109271]) +26 similar issues
   [250]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ilk-650/igt@gem_exec_basic@basic.html

  * igt@gem_exec_fence@basic-await:
    - fi-skl-6600u:       NOTRUN -> [SKIP][251] ([fdo#109271]) +26 similar issues
   [251]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6600u/igt@gem_exec_fence@basic-await.html

  * igt@gem_exec_fence@basic-wait:
    - bat-adlp-4:         NOTRUN -> [SKIP][252] ([i915#2575]) +35 similar issues
   [252]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@gem_exec_fence@basic-wait.html
    - fi-kbl-7567u:       NOTRUN -> [SKIP][253] ([fdo#109271]) +11 similar issues
   [253]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-7567u/igt@gem_exec_fence@basic-wait.html
    - fi-kbl-8809g:       NOTRUN -> [SKIP][254] ([fdo#109271]) +9 similar issues
   [254]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-8809g/igt@gem_exec_fence@basic-wait.html
    - fi-bsw-nick:        NOTRUN -> [SKIP][255] ([fdo#109271]) +11 similar issues
   [255]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-nick/igt@gem_exec_fence@basic-wait.html

  * igt@gem_exec_fence@nb-await:
    - fi-hsw-4770:        NOTRUN -> [SKIP][256] ([fdo#109271] / [fdo#109315]) +12 similar issues
   [256]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@gem_exec_fence@nb-await.html

  * igt@gem_exec_parallel@engines:
    - fi-rkl-guc:         NOTRUN -> [SKIP][257] ([fdo#109315]) +12 similar issues
   [257]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@gem_exec_parallel@engines.html
    - fi-skl-guc:         NOTRUN -> [SKIP][258] ([fdo#109271]) +25 similar issues
   [258]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-guc/igt@gem_exec_parallel@engines.html
    - bat-dg1-6:          NOTRUN -> [SKIP][259] ([i915#2575]) +25 similar issues
   [259]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@gem_exec_parallel@engines.html
    - fi-skl-6700k2:      NOTRUN -> [SKIP][260] ([fdo#109271]) +25 similar issues
   [260]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6700k2/igt@gem_exec_parallel@engines.html

  * igt@gem_exec_suspend@basic-s0:
    - fi-icl-u2:          NOTRUN -> [SKIP][261] ([fdo#109315]) +13 similar issues
   [261]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@gem_exec_suspend@basic-s0.html

  * igt@gem_exec_suspend@basic-s3:
    - fi-bsw-n3050:       NOTRUN -> [SKIP][262] ([fdo#109271]) +26 similar issues
   [262]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-n3050/igt@gem_exec_suspend@basic-s3.html

  * igt@gem_flink_basic@bad-flink:
    - fi-kbl-8809g:       [PASS][263] -> [SKIP][264] ([fdo#109271]) +91 similar issues
   [263]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-8809g/igt@gem_flink_basic@bad-flink.html
   [264]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-8809g/igt@gem_flink_basic@bad-flink.html
    - fi-ivb-3770:        [PASS][265] -> [SKIP][266] ([fdo#109271]) +89 similar issues
   [265]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ivb-3770/igt@gem_flink_basic@bad-flink.html
   [266]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ivb-3770/igt@gem_flink_basic@bad-flink.html

  * igt@gem_flink_basic@bad-open:
    - fi-apl-guc:         [PASS][267] -> [SKIP][268] ([fdo#109271]) +92 similar issues
   [267]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-apl-guc/igt@gem_flink_basic@bad-open.html
   [268]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-apl-guc/igt@gem_flink_basic@bad-open.html

  * igt@gem_flink_basic@basic:
    - fi-bwr-2160:        [PASS][269] -> [SKIP][270] ([fdo#109271]) +88 similar issues
   [269]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-bwr-2160/igt@gem_flink_basic@basic.html
   [270]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bwr-2160/igt@gem_flink_basic@basic.html

  * igt@gem_lmem_swapping@basic:
    - bat-dg1-5:          NOTRUN -> [SKIP][271] ([i915#5775]) +3 similar issues
   [271]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@gem_lmem_swapping@basic.html
    - bat-dg1-6:          NOTRUN -> [SKIP][272] ([i915#5775]) +3 similar issues
   [272]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@gem_lmem_swapping@basic.html

  * igt@gem_render_linear_blits@basic:
    - fi-rkl-11600:       [PASS][273] -> [SKIP][274] ([fdo#109315]) +43 similar issues
   [273]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@gem_render_linear_blits@basic.html
   [274]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@gem_render_linear_blits@basic.html
    - fi-icl-u2:          [PASS][275] -> [SKIP][276] ([fdo#109315]) +51 similar issues
   [275]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@gem_render_linear_blits@basic.html
   [276]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@gem_render_linear_blits@basic.html

  * igt@gem_softpin@allocator-basic:
    - fi-rkl-guc:         [PASS][277] -> [SKIP][278] ([fdo#109315]) +43 similar issues
   [277]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@gem_softpin@allocator-basic.html
   [278]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@gem_softpin@allocator-basic.html
    - bat-dg1-6:          [PASS][279] -> [SKIP][280] ([i915#2575]) +70 similar issues
   [279]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@gem_softpin@allocator-basic.html
   [280]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@gem_softpin@allocator-basic.html

  * igt@gem_wait@wait:
    - fi-rkl-11600:       NOTRUN -> [SKIP][281] ([fdo#109315]) +12 similar issues
   [281]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@gem_wait@wait.html

  * igt@i915_getparams_basic@basic-subslice-total:
    - bat-dg1-5:          [PASS][282] -> [SKIP][283] ([i915#2575]) +70 similar issues
   [282]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@i915_getparams_basic@basic-subslice-total.html
   [283]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@i915_getparams_basic@basic-subslice-total.html

  * igt@i915_pm_rpm@basic-pci-d3-state:
    - fi-rkl-guc:         [PASS][284] -> [SKIP][285] ([i915#5174]) +2 similar issues
   [284]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@i915_pm_rpm@basic-pci-d3-state.html
   [285]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@i915_pm_rpm@basic-pci-d3-state.html
    - bat-dg1-6:          [PASS][286] -> [SKIP][287] ([i915#5174]) +2 similar issues
   [286]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@i915_pm_rpm@basic-pci-d3-state.html
   [287]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@i915_pm_rpm@basic-pci-d3-state.html
    - bat-adlp-4:         [PASS][288] -> [SKIP][289] ([i915#5174])
   [288]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@i915_pm_rpm@basic-pci-d3-state.html
   [289]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@i915_pm_rpm@basic-pci-d3-state.html

  * igt@i915_pm_rpm@basic-rte:
    - fi-rkl-11600:       [PASS][290] -> [SKIP][291] ([i915#5174]) +2 similar issues
   [290]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@i915_pm_rpm@basic-rte.html
   [291]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@i915_pm_rpm@basic-rte.html
    - fi-adl-ddr5:        [PASS][292] -> [SKIP][293] ([i915#5174]) +2 similar issues
   [292]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@i915_pm_rpm@basic-rte.html
   [293]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@i915_pm_rpm@basic-rte.html

  * igt@i915_pm_rpm@module-reload:
    - fi-icl-u2:          [PASS][294] -> [SKIP][295] ([i915#5174]) +2 similar issues
   [294]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@i915_pm_rpm@module-reload.html
   [295]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@i915_pm_rpm@module-reload.html
    - bat-dg1-5:          [PASS][296] -> [SKIP][297] ([i915#5174]) +2 similar issues
   [296]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@i915_pm_rpm@module-reload.html
   [297]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@i915_pm_rpm@module-reload.html
    - bat-adlp-4:         NOTRUN -> [SKIP][298] ([i915#5174])
   [298]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@i915_pm_rpm@module-reload.html

  * igt@i915_selftest@live@gt_timelines:
    - fi-apl-guc:         [PASS][299] -> [FAIL][300] ([i915#7511])
   [299]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-apl-guc/igt@i915_selftest@live@gt_timelines.html
   [300]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-apl-guc/igt@i915_selftest@live@gt_timelines.html

  * igt@kms_addfb_basic@addfb25-bad-modifier:
    - fi-glk-j4005:       [PASS][301] -> [SKIP][302] ([fdo#109271]) +94 similar issues
   [301]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-glk-j4005/igt@kms_addfb_basic@addfb25-bad-modifier.html
   [302]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-glk-j4005/igt@kms_addfb_basic@addfb25-bad-modifier.html

  * igt@kms_addfb_basic@bad-pitch-0:
    - fi-icl-u2:          [PASS][303] -> [SKIP][304] ([i915#2575]) +42 similar issues
   [303]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@kms_addfb_basic@bad-pitch-0.html
   [304]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@kms_addfb_basic@bad-pitch-0.html

  * igt@kms_addfb_basic@basic:
    - fi-hsw-4770:        [PASS][305] -> [SKIP][306] ([fdo#109271]) +46 similar issues
   [305]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-hsw-4770/igt@kms_addfb_basic@basic.html
   [306]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@kms_addfb_basic@basic.html

  * igt@kms_addfb_basic@bo-too-small-due-to-tiling:
    - fi-blb-e6850:       [PASS][307] -> [SKIP][308] ([fdo#109271]) +83 similar issues
   [307]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-blb-e6850/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html
   [308]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-blb-e6850/igt@kms_addfb_basic@bo-too-small-due-to-tiling.html

  * igt@kms_addfb_basic@framebuffer-vs-set-tiling:
    - fi-rkl-11600:       [PASS][309] -> [SKIP][310] ([i915#2575]) +42 similar issues
   [309]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html
   [310]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_addfb_basic@framebuffer-vs-set-tiling.html

  * igt@kms_addfb_basic@invalid-get-prop-any:
    - fi-snb-2600:        [PASS][311] -> [SKIP][312] ([fdo#109271]) +94 similar issues
   [311]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-snb-2600/igt@kms_addfb_basic@invalid-get-prop-any.html
   [312]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-snb-2600/igt@kms_addfb_basic@invalid-get-prop-any.html

  * igt@kms_addfb_basic@invalid-set-prop:
    - fi-cfl-8109u:       [PASS][313] -> [SKIP][314] ([fdo#109271]) +94 similar issues
   [313]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8109u/igt@kms_addfb_basic@invalid-set-prop.html
   [314]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8109u/igt@kms_addfb_basic@invalid-set-prop.html
    - bat-adlp-4:         [PASS][315] -> [SKIP][316] ([i915#2575]) +77 similar issues
   [315]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@kms_addfb_basic@invalid-set-prop.html
   [316]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@kms_addfb_basic@invalid-set-prop.html
    - fi-kbl-7567u:       [PASS][317] -> [SKIP][318] ([fdo#109271]) +92 similar issues
   [317]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-7567u/igt@kms_addfb_basic@invalid-set-prop.html
   [318]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-7567u/igt@kms_addfb_basic@invalid-set-prop.html

  * igt@kms_addfb_basic@size-max:
    - fi-adl-ddr5:        [PASS][319] -> [SKIP][320] ([i915#2575]) +87 similar issues
   [319]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@kms_addfb_basic@size-max.html
   [320]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@kms_addfb_basic@size-max.html
    - fi-cfl-guc:         [PASS][321] -> [SKIP][322] ([fdo#109271]) +95 similar issues
   [321]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-guc/igt@kms_addfb_basic@size-max.html
   [322]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-guc/igt@kms_addfb_basic@size-max.html

  * igt@kms_addfb_basic@small-bo:
    - fi-skl-6600u:       [PASS][323] -> [SKIP][324] ([fdo#109271]) +98 similar issues
   [323]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6600u/igt@kms_addfb_basic@small-bo.html
   [324]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6600u/igt@kms_addfb_basic@small-bo.html

  * igt@kms_addfb_basic@too-high:
    - fi-cfl-8700k:       [PASS][325] -> [SKIP][326] ([fdo#109271]) +94 similar issues
   [325]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8700k/igt@kms_addfb_basic@too-high.html
   [326]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8700k/igt@kms_addfb_basic@too-high.html

  * igt@kms_busy@basic:
    - fi-ivb-3770:        NOTRUN -> [SKIP][327] ([fdo#109271]) +26 similar issues
   [327]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ivb-3770/igt@kms_busy@basic.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor:
    - fi-cfl-guc:         NOTRUN -> [SKIP][328] ([fdo#109271]) +25 similar issues
   [328]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-guc/igt@kms_cursor_legacy@basic-flip-after-cursor.html

  * igt@kms_cursor_legacy@basic-flip-before-cursor:
    - fi-icl-u2:          NOTRUN -> [SKIP][329] ([i915#2575]) +5 similar issues
   [329]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor.html
    - fi-rkl-guc:         NOTRUN -> [SKIP][330] ([i915#2575]) +5 similar issues
   [330]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@kms_cursor_legacy@basic-flip-before-cursor.html

  * igt@kms_flip@basic-flip-vs-dpms:
    - fi-adl-ddr5:        NOTRUN -> [SKIP][331] ([i915#2575]) +18 similar issues
   [331]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@kms_flip@basic-flip-vs-dpms.html
    - fi-bwr-2160:        NOTRUN -> [SKIP][332] ([fdo#109271]) +9 similar issues
   [332]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bwr-2160/igt@kms_flip@basic-flip-vs-dpms.html

  * igt@kms_flip@basic-flip-vs-wf_vblank:
    - fi-cfl-8700k:       NOTRUN -> [SKIP][333] ([fdo#109271]) +25 similar issues
   [333]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8700k/igt@kms_flip@basic-flip-vs-wf_vblank.html
    - fi-blb-e6850:       NOTRUN -> [SKIP][334] ([fdo#109271]) +15 similar issues
   [334]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-blb-e6850/igt@kms_flip@basic-flip-vs-wf_vblank.html

  * igt@kms_pipe_crc_basic@hang-read-crc:
    - fi-rkl-11600:       NOTRUN -> [SKIP][335] ([i915#2575]) +6 similar issues
   [335]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_pipe_crc_basic@hang-read-crc.html

  * igt@kms_pipe_crc_basic@nonblocking-crc:
    - fi-apl-guc:         NOTRUN -> [SKIP][336] ([fdo#109271]) +25 similar issues
   [336]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-apl-guc/igt@kms_pipe_crc_basic@nonblocking-crc.html
    - bat-dg1-5:          NOTRUN -> [SKIP][337] ([i915#2575]) +25 similar issues
   [337]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@kms_pipe_crc_basic@nonblocking-crc.html
    - fi-pnv-d510:        NOTRUN -> [SKIP][338] ([fdo#109271]) +26 similar issues
   [338]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-pnv-d510/igt@kms_pipe_crc_basic@nonblocking-crc.html
    - fi-glk-j4005:       NOTRUN -> [SKIP][339] ([fdo#109271]) +25 similar issues
   [339]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-glk-j4005/igt@kms_pipe_crc_basic@nonblocking-crc.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
    - fi-rkl-guc:         NOTRUN -> [SKIP][340] ([i915#6914]) +2 similar issues
   [340]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
    - fi-snb-2600:        NOTRUN -> [SKIP][341] ([fdo#109271]) +23 similar issues
   [341]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-snb-2600/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
    - fi-rkl-11600:       NOTRUN -> [SKIP][342] ([i915#6914]) +2 similar issues
   [342]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html

  * igt@kms_pipe_crc_basic@read-crc:
    - fi-hsw-4770:        NOTRUN -> [SKIP][343] ([fdo#109271]) +14 similar issues
   [343]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@kms_pipe_crc_basic@read-crc.html
    - fi-cfl-8109u:       NOTRUN -> [SKIP][344] ([fdo#109271]) +25 similar issues
   [344]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8109u/igt@kms_pipe_crc_basic@read-crc.html

  * igt@prime_self_import@basic-llseek-bad:
    - fi-ilk-650:         [PASS][345] -> [SKIP][346] ([fdo#109271]) +93 similar issues
   [345]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ilk-650/igt@prime_self_import@basic-llseek-bad.html
   [346]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ilk-650/igt@prime_self_import@basic-llseek-bad.html

  * igt@prime_vgem@basic-fence-flip:
    - fi-bsw-kefka:       NOTRUN -> [SKIP][347] ([fdo#109271]) +144 similar issues
   [347]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-kefka/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@basic-fence-mmap:
    - fi-pnv-d510:        [PASS][348] -> [SKIP][349] ([fdo#109271]) +89 similar issues
   [348]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-pnv-d510/igt@prime_vgem@basic-fence-mmap.html
   [349]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-pnv-d510/igt@prime_vgem@basic-fence-mmap.html

  * igt@prime_vgem@basic-read:
    - fi-skl-guc:         [PASS][350] -> [SKIP][351] ([fdo#109271]) +95 similar issues
   [350]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-guc/igt@prime_vgem@basic-read.html
   [351]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-guc/igt@prime_vgem@basic-read.html

  * igt@runner@aborted:
    - fi-kbl-soraka:      NOTRUN -> [FAIL][352] ([i915#4991])
   [352]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-soraka/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-rkl-11600:       [INCOMPLETE][353] ([i915#4817]) -> [PASS][354]
   [353]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
   [354]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html

  
#### Warnings ####

  * igt@debugfs_test@basic-hwmon:
    - fi-rkl-11600:       [SKIP][355] ([i915#7456]) -> [SKIP][356] ([fdo#109315])
   [355]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@debugfs_test@basic-hwmon.html
   [356]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@debugfs_test@basic-hwmon.html
    - fi-icl-u2:          [SKIP][357] ([i915#7456]) -> [SKIP][358] ([fdo#109315])
   [357]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@debugfs_test@basic-hwmon.html
   [358]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@debugfs_test@basic-hwmon.html
    - fi-rkl-guc:         [SKIP][359] ([i915#7456]) -> [SKIP][360] ([fdo#109315])
   [359]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@debugfs_test@basic-hwmon.html
   [360]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@debugfs_test@basic-hwmon.html
    - bat-adlp-4:         [SKIP][361] ([i915#7456]) -> [SKIP][362] ([i915#2575])
   [361]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@debugfs_test@basic-hwmon.html
   [362]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@debugfs_test@basic-hwmon.html
    - fi-adl-ddr5:        [SKIP][363] ([i915#7456]) -> [SKIP][364] ([i915#2575])
   [363]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@debugfs_test@basic-hwmon.html
   [364]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@debugfs_test@basic-hwmon.html

  * igt@gem_huc_copy@huc-copy:
    - fi-cfl-8109u:       [SKIP][365] ([fdo#109271] / [i915#2190]) -> [SKIP][366] ([fdo#109271])
   [365]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8109u/igt@gem_huc_copy@huc-copy.html
   [366]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8109u/igt@gem_huc_copy@huc-copy.html
    - fi-kbl-7567u:       [SKIP][367] ([fdo#109271] / [i915#2190]) -> [SKIP][368] ([fdo#109271])
   [367]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-7567u/igt@gem_huc_copy@huc-copy.html
   [368]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-7567u/igt@gem_huc_copy@huc-copy.html
    - fi-kbl-8809g:       [SKIP][369] ([fdo#109271] / [i915#2190]) -> [SKIP][370] ([fdo#109271])
   [369]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-8809g/igt@gem_huc_copy@huc-copy.html
   [370]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-8809g/igt@gem_huc_copy@huc-copy.html
    - fi-cfl-8700k:       [SKIP][371] ([fdo#109271] / [i915#2190]) -> [SKIP][372] ([fdo#109271])
   [371]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8700k/igt@gem_huc_copy@huc-copy.html
   [372]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8700k/igt@gem_huc_copy@huc-copy.html
    - fi-rkl-11600:       [SKIP][373] ([i915#2190]) -> [SKIP][374] ([fdo#109315])
   [373]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@gem_huc_copy@huc-copy.html
   [374]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@gem_huc_copy@huc-copy.html
    - fi-skl-6600u:       [SKIP][375] ([fdo#109271] / [i915#2190]) -> [SKIP][376] ([fdo#109271])
   [375]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6600u/igt@gem_huc_copy@huc-copy.html
   [376]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6600u/igt@gem_huc_copy@huc-copy.html
    - fi-icl-u2:          [SKIP][377] ([i915#2190]) -> [SKIP][378] ([fdo#109315])
   [377]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@gem_huc_copy@huc-copy.html
   [378]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@gem_huc_copy@huc-copy.html
    - fi-glk-j4005:       [SKIP][379] ([fdo#109271] / [i915#2190]) -> [SKIP][380] ([fdo#109271])
   [379]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-glk-j4005/igt@gem_huc_copy@huc-copy.html
   [380]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-glk-j4005/igt@gem_huc_copy@huc-copy.html
    - fi-skl-6700k2:      [SKIP][381] ([fdo#109271] / [i915#2190]) -> [SKIP][382] ([fdo#109271])
   [381]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6700k2/igt@gem_huc_copy@huc-copy.html
   [382]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6700k2/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-apl-guc:         [SKIP][383] ([fdo#109271] / [i915#4613]) -> [SKIP][384] ([fdo#109271]) +3 similar issues
   [383]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-apl-guc/igt@gem_lmem_swapping@basic.html
   [384]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-apl-guc/igt@gem_lmem_swapping@basic.html
    - fi-glk-j4005:       [SKIP][385] ([fdo#109271] / [i915#4613]) -> [SKIP][386] ([fdo#109271]) +3 similar issues
   [385]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-glk-j4005/igt@gem_lmem_swapping@basic.html
   [386]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-glk-j4005/igt@gem_lmem_swapping@basic.html
    - fi-rkl-guc:         [SKIP][387] ([i915#4613]) -> [SKIP][388] ([i915#5775]) +3 similar issues
   [387]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@gem_lmem_swapping@basic.html
   [388]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@gem_lmem_swapping@basic.html
    - fi-skl-guc:         [SKIP][389] ([fdo#109271] / [i915#4613]) -> [SKIP][390] ([fdo#109271]) +3 similar issues
   [389]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-guc/igt@gem_lmem_swapping@basic.html
   [390]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-guc/igt@gem_lmem_swapping@basic.html
    - fi-skl-6700k2:      [SKIP][391] ([fdo#109271] / [i915#4613]) -> [SKIP][392] ([fdo#109271]) +3 similar issues
   [391]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6700k2/igt@gem_lmem_swapping@basic.html
   [392]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6700k2/igt@gem_lmem_swapping@basic.html
    - fi-kbl-7567u:       [SKIP][393] ([fdo#109271] / [i915#4613]) -> [SKIP][394] ([fdo#109271]) +3 similar issues
   [393]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-7567u/igt@gem_lmem_swapping@basic.html
   [394]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-7567u/igt@gem_lmem_swapping@basic.html
    - fi-cfl-8700k:       [SKIP][395] ([fdo#109271] / [i915#4613]) -> [SKIP][396] ([fdo#109271]) +3 similar issues
   [395]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8700k/igt@gem_lmem_swapping@basic.html
   [396]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8700k/igt@gem_lmem_swapping@basic.html

  * igt@gem_lmem_swapping@parallel-random-engines:
    - fi-rkl-11600:       [SKIP][397] ([i915#4613]) -> [SKIP][398] ([i915#5775]) +3 similar issues
   [397]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@gem_lmem_swapping@parallel-random-engines.html
   [398]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@gem_lmem_swapping@parallel-random-engines.html

  * igt@gem_lmem_swapping@random-engines:
    - fi-skl-6600u:       [SKIP][399] ([fdo#109271] / [i915#4613]) -> [SKIP][400] ([fdo#109271]) +3 similar issues
   [399]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6600u/igt@gem_lmem_swapping@random-engines.html
   [400]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6600u/igt@gem_lmem_swapping@random-engines.html

  * igt@gem_lmem_swapping@verify-random:
    - fi-cfl-guc:         [SKIP][401] ([fdo#109271] / [i915#4613]) -> [SKIP][402] ([fdo#109271]) +3 similar issues
   [401]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-guc/igt@gem_lmem_swapping@verify-random.html
   [402]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-guc/igt@gem_lmem_swapping@verify-random.html
    - fi-cfl-8109u:       [SKIP][403] ([fdo#109271] / [i915#4613]) -> [SKIP][404] ([fdo#109271]) +3 similar issues
   [403]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8109u/igt@gem_lmem_swapping@verify-random.html
   [404]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8109u/igt@gem_lmem_swapping@verify-random.html

  * igt@gem_mmap@basic:
    - bat-dg1-5:          [SKIP][405] ([i915#4083]) -> [SKIP][406] ([i915#2575])
   [405]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@gem_mmap@basic.html
   [406]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@gem_mmap@basic.html
    - bat-dg1-6:          [SKIP][407] ([i915#4083]) -> [SKIP][408] ([i915#2575])
   [407]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@gem_mmap@basic.html
   [408]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@gem_mmap@basic.html

  * igt@gem_render_tiled_blits@basic:
    - bat-dg1-6:          [SKIP][409] ([i915#4079]) -> [SKIP][410] ([i915#2575]) +1 similar issue
   [409]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@gem_render_tiled_blits@basic.html
   [410]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@gem_render_tiled_blits@basic.html

  * igt@gem_softpin@allocator-basic-reserve:
    - fi-hsw-4770:        [SKIP][411] ([fdo#109271]) -> [SKIP][412] ([fdo#109271] / [fdo#109315]) +5 similar issues
   [411]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-hsw-4770/igt@gem_softpin@allocator-basic-reserve.html
   [412]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@gem_softpin@allocator-basic-reserve.html

  * igt@gem_tiled_fence_blits@basic:
    - bat-dg1-6:          [SKIP][413] ([i915#4077]) -> [SKIP][414] ([i915#2575]) +2 similar issues
   [413]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@gem_tiled_fence_blits@basic.html
   [414]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@gem_tiled_fence_blits@basic.html
    - bat-dg1-5:          [SKIP][415] ([i915#4077]) -> [SKIP][416] ([i915#2575]) +2 similar issues
   [415]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@gem_tiled_fence_blits@basic.html
   [416]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@gem_tiled_fence_blits@basic.html

  * igt@gem_tiled_pread_basic:
    - fi-rkl-11600:       [SKIP][417] ([i915#3282]) -> [SKIP][418] ([fdo#109315])
   [417]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@gem_tiled_pread_basic.html
   [418]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@gem_tiled_pread_basic.html
    - bat-dg1-5:          [SKIP][419] ([i915#4079]) -> [SKIP][420] ([i915#2575]) +1 similar issue
   [419]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@gem_tiled_pread_basic.html
   [420]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@gem_tiled_pread_basic.html
    - fi-rkl-guc:         [SKIP][421] ([i915#3282]) -> [SKIP][422] ([fdo#109315])
   [421]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@gem_tiled_pread_basic.html
   [422]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@gem_tiled_pread_basic.html
    - bat-adlp-4:         [SKIP][423] ([i915#3282]) -> [SKIP][424] ([i915#2575])
   [423]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@gem_tiled_pread_basic.html
   [424]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@gem_tiled_pread_basic.html
    - fi-adl-ddr5:        [SKIP][425] ([i915#3282]) -> [SKIP][426] ([i915#2575])
   [425]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@gem_tiled_pread_basic.html
   [426]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-adl-ddr5:        [SKIP][427] ([i915#7561]) -> [SKIP][428] ([i915#2575])
   [427]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@i915_pm_backlight@basic-brightness.html
   [428]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@i915_pm_backlight@basic-brightness.html
    - fi-rkl-guc:         [SKIP][429] ([i915#7561]) -> [SKIP][430] ([fdo#109315])
   [429]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@i915_pm_backlight@basic-brightness.html
   [430]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@i915_pm_backlight@basic-brightness.html
    - bat-dg1-6:          [SKIP][431] ([i915#7561]) -> [SKIP][432] ([i915#2575])
   [431]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@i915_pm_backlight@basic-brightness.html
   [432]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@i915_pm_backlight@basic-brightness.html
    - fi-rkl-11600:       [SKIP][433] ([i915#7561]) -> [SKIP][434] ([fdo#109315])
   [433]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@i915_pm_backlight@basic-brightness.html
   [434]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@i915_pm_backlight@basic-brightness.html
    - bat-dg1-5:          [SKIP][435] ([i915#7561]) -> [SKIP][436] ([i915#2575])
   [435]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@i915_pm_backlight@basic-brightness.html
   [436]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_pm_rpm@basic-rte:
    - bat-adlp-4:         [DMESG-WARN][437] ([i915#7077]) -> [SKIP][438] ([i915#5174])
   [437]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@i915_pm_rpm@basic-rte.html
   [438]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@i915_pm_rpm@basic-rte.html

  * igt@i915_pm_rps@basic-api:
    - fi-rkl-guc:         [SKIP][439] ([i915#6621]) -> [SKIP][440] ([fdo#109315])
   [439]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@i915_pm_rps@basic-api.html
   [440]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@i915_pm_rps@basic-api.html
    - bat-dg1-6:          [SKIP][441] ([i915#6621]) -> [SKIP][442] ([i915#2575])
   [441]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@i915_pm_rps@basic-api.html
   [442]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@i915_pm_rps@basic-api.html
    - bat-dg1-5:          [SKIP][443] ([i915#6621]) -> [SKIP][444] ([i915#2575])
   [443]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@i915_pm_rps@basic-api.html
   [444]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@i915_pm_rps@basic-api.html

  * igt@kms_addfb_basic@basic-x-tiled-legacy:
    - bat-dg1-5:          [SKIP][445] ([i915#4212]) -> [SKIP][446] ([i915#2575]) +7 similar issues
   [445]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html
   [446]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@kms_addfb_basic@basic-x-tiled-legacy.html

  * igt@kms_addfb_basic@basic-y-tiled-legacy:
    - bat-dg1-5:          [SKIP][447] ([i915#4215]) -> [SKIP][448] ([i915#2575])
   [447]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@kms_addfb_basic@basic-y-tiled-legacy.html
   [448]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@kms_addfb_basic@basic-y-tiled-legacy.html
    - bat-dg1-6:          [SKIP][449] ([i915#4215]) -> [SKIP][450] ([i915#2575])
   [449]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@kms_addfb_basic@basic-y-tiled-legacy.html
   [450]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@kms_addfb_basic@basic-y-tiled-legacy.html

  * igt@kms_addfb_basic@tile-pitch-mismatch:
    - bat-dg1-6:          [SKIP][451] ([i915#4212]) -> [SKIP][452] ([i915#2575]) +7 similar issues
   [451]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@kms_addfb_basic@tile-pitch-mismatch.html
   [452]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@kms_addfb_basic@tile-pitch-mismatch.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - fi-ivb-3770:        [SKIP][453] ([fdo#109271] / [fdo#111827]) -> [SKIP][454] ([fdo#109271]) +8 similar issues
   [453]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ivb-3770/igt@kms_chamelium@common-hpd-after-suspend.html
   [454]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ivb-3770/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@dp-crc-fast:
    - fi-cfl-guc:         [SKIP][455] ([fdo#109271] / [fdo#111827]) -> [SKIP][456] ([fdo#109271]) +8 similar issues
   [455]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-guc/igt@kms_chamelium@dp-crc-fast.html
   [456]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-guc/igt@kms_chamelium@dp-crc-fast.html
    - fi-hsw-4770:        [SKIP][457] ([fdo#109271] / [fdo#111827]) -> [SKIP][458] ([fdo#109271]) +7 similar issues
   [457]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-hsw-4770/igt@kms_chamelium@dp-crc-fast.html
   [458]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@kms_chamelium@dp-crc-fast.html
    - fi-cfl-8109u:       [SKIP][459] ([fdo#109271] / [fdo#111827]) -> [SKIP][460] ([fdo#109271]) +8 similar issues
   [459]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8109u/igt@kms_chamelium@dp-crc-fast.html
   [460]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8109u/igt@kms_chamelium@dp-crc-fast.html
    - bat-adlp-4:         [SKIP][461] ([fdo#111827]) -> [SKIP][462] ([i915#2575]) +7 similar issues
   [461]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@kms_chamelium@dp-crc-fast.html
   [462]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@kms_chamelium@dp-crc-fast.html

  * igt@kms_chamelium@dp-edid-read:
    - fi-bsw-n3050:       [SKIP][463] ([fdo#109271] / [fdo#111827]) -> [SKIP][464] ([fdo#109271]) +8 similar issues
   [463]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-bsw-n3050/igt@kms_chamelium@dp-edid-read.html
   [464]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-n3050/igt@kms_chamelium@dp-edid-read.html
    - fi-adl-ddr5:        [SKIP][465] ([fdo#111827]) -> [SKIP][466] ([i915#2575]) +8 similar issues
   [465]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@kms_chamelium@dp-edid-read.html
   [466]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@kms_chamelium@dp-edid-read.html

  * igt@kms_chamelium@dp-hpd-fast:
    - fi-kbl-7567u:       [SKIP][467] ([fdo#109271] / [fdo#111827]) -> [SKIP][468] ([fdo#109271]) +8 similar issues
   [467]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-7567u/igt@kms_chamelium@dp-hpd-fast.html
   [468]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-7567u/igt@kms_chamelium@dp-hpd-fast.html
    - fi-cfl-8700k:       [SKIP][469] ([fdo#109271] / [fdo#111827]) -> [SKIP][470] ([fdo#109271]) +8 similar issues
   [469]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-cfl-8700k/igt@kms_chamelium@dp-hpd-fast.html
   [470]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-cfl-8700k/igt@kms_chamelium@dp-hpd-fast.html

  * igt@kms_chamelium@hdmi-crc-fast:
    - fi-skl-6600u:       [SKIP][471] ([fdo#109271] / [fdo#111827]) -> [SKIP][472] ([fdo#109271]) +8 similar issues
   [471]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-6600u/igt@kms_chamelium@hdmi-crc-fast.html
   [472]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-6600u/igt@kms_chamelium@hdmi-crc-fast.html
    - fi-apl-guc:         [SKIP][473] ([fdo#109271] / [fdo#111827]) -> [SKIP][474] ([fdo#109271]) +8 similar issues
   [473]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-apl-guc/igt@kms_chamelium@hdmi-crc-fast.html
   [474]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-apl-guc/igt@kms_chamelium@hdmi-crc-fast.html
    - fi-glk-j4005:       [SKIP][475] ([fdo#109271] / [fdo#111827]) -> [SKIP][476] ([fdo#109271]) +8 similar issues
   [475]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-glk-j4005/igt@kms_chamelium@hdmi-crc-fast.html
   [476]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-glk-j4005/igt@kms_chamelium@hdmi-crc-fast.html
    - fi-rkl-guc:         [SKIP][477] ([fdo#111827]) -> [SKIP][478] ([i915#2575]) +8 similar issues
   [477]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@kms_chamelium@hdmi-crc-fast.html
   [478]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@kms_chamelium@hdmi-crc-fast.html
    - fi-skl-guc:         [SKIP][479] ([fdo#109271] / [fdo#111827]) -> [SKIP][480] ([fdo#109271]) +8 similar issues
   [479]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-skl-guc/igt@kms_chamelium@hdmi-crc-fast.html
   [480]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-skl-guc/igt@kms_chamelium@hdmi-crc-fast.html
    - bat-dg1-6:          [SKIP][481] ([fdo#111827]) -> [SKIP][482] ([i915#2575]) +8 similar issues
   [481]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@kms_chamelium@hdmi-crc-fast.html
   [482]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@kms_chamelium@hdmi-crc-fast.html

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-elk-e7500:       [SKIP][483] ([fdo#109271] / [fdo#111827]) -> [SKIP][484] ([fdo#109271]) +8 similar issues
   [483]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-elk-e7500/igt@kms_chamelium@hdmi-edid-read.html
   [484]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-elk-e7500/igt@kms_chamelium@hdmi-edid-read.html
    - fi-ilk-650:         [SKIP][485] ([fdo#109271] / [fdo#111827]) -> [SKIP][486] ([fdo#109271]) +8 similar issues
   [485]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-ilk-650/igt@kms_chamelium@hdmi-edid-read.html
   [486]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-ilk-650/igt@kms_chamelium@hdmi-edid-read.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-bsw-nick:        [SKIP][487] ([fdo#109271] / [fdo#111827]) -> [SKIP][488] ([fdo#109271]) +8 similar issues
   [487]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-bsw-nick/igt@kms_chamelium@hdmi-hpd-fast.html
   [488]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-bsw-nick/igt@kms_chamelium@hdmi-hpd-fast.html
    - fi-rkl-11600:       [SKIP][489] ([fdo#111827]) -> [SKIP][490] ([i915#2575]) +7 similar issues
   [489]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@kms_chamelium@hdmi-hpd-fast.html
   [490]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_chamelium@hdmi-hpd-fast.html
    - fi-icl-u2:          [SKIP][491] ([fdo#111827]) -> [SKIP][492] ([i915#2575]) +8 similar issues
   [491]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
   [492]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@kms_chamelium@hdmi-hpd-fast.html
    - bat-dg1-5:          [SKIP][493] ([fdo#111827]) -> [SKIP][494] ([i915#2575]) +8 similar issues
   [493]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@kms_chamelium@hdmi-hpd-fast.html
   [494]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_chamelium@vga-edid-read:
    - fi-kbl-8809g:       [SKIP][495] ([fdo#109271] / [fdo#111827]) -> [SKIP][496] ([fdo#109271]) +7 similar issues
   [495]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-kbl-8809g/igt@kms_chamelium@vga-edid-read.html
   [496]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-kbl-8809g/igt@kms_chamelium@vga-edid-read.html

  * igt@kms_chamelium@vga-hpd-fast:
    - fi-snb-2600:        [SKIP][497] ([fdo#109271] / [fdo#111827]) -> [SKIP][498] ([fdo#109271]) +8 similar issues
   [497]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-snb-2600/igt@kms_chamelium@vga-hpd-fast.html
   [498]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-snb-2600/igt@kms_chamelium@vga-hpd-fast.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
    - fi-rkl-11600:       [SKIP][499] ([i915#4103]) -> [SKIP][500] ([i915#2575])
   [499]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [500]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
    - fi-adl-ddr5:        [SKIP][501] ([i915#4103]) -> [SKIP][502] ([i915#2575])
   [501]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [502]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
    - bat-adlp-4:         [SKIP][503] ([i915#4103]) -> [SKIP][504] ([i915#2575])
   [503]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [504]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
    - fi-icl-u2:          [SKIP][505] ([i915#4103]) -> [SKIP][506] ([i915#2575])
   [505]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [506]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
    - bat-dg1-5:          [SKIP][507] ([i915#4103] / [i915#4213]) -> [SKIP][508] ([i915#2575])
   [507]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [508]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
    - fi-rkl-guc:         [SKIP][509] ([i915#4103]) -> [SKIP][510] ([i915#2575])
   [509]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [510]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
    - bat-dg1-6:          [SKIP][511] ([i915#4103] / [i915#4213]) -> [SKIP][512] ([i915#2575])
   [511]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html
   [512]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-rkl-11600:       [SKIP][513] ([fdo#109285] / [i915#4098]) -> [SKIP][514] ([i915#2575])
   [513]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@kms_force_connector_basic@force-load-detect.html
   [514]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_force_connector_basic@force-load-detect.html
    - fi-adl-ddr5:        [SKIP][515] ([fdo#109285]) -> [SKIP][516] ([i915#2575])
   [515]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@kms_force_connector_basic@force-load-detect.html
   [516]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@kms_force_connector_basic@force-load-detect.html
    - fi-icl-u2:          [SKIP][517] ([fdo#109285]) -> [SKIP][518] ([i915#2575])
   [517]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@kms_force_connector_basic@force-load-detect.html
   [518]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@kms_force_connector_basic@force-load-detect.html
    - bat-dg1-5:          [SKIP][519] ([fdo#109285]) -> [SKIP][520] ([i915#2575])
   [519]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@kms_force_connector_basic@force-load-detect.html
   [520]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@kms_force_connector_basic@force-load-detect.html
    - fi-rkl-guc:         [SKIP][521] ([fdo#109285]) -> [SKIP][522] ([i915#2575])
   [521]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@kms_force_connector_basic@force-load-detect.html
   [522]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@kms_force_connector_basic@force-load-detect.html
    - bat-dg1-6:          [SKIP][523] ([fdo#109285]) -> [SKIP][524] ([i915#2575])
   [523]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@kms_force_connector_basic@force-load-detect.html
   [524]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_force_connector_basic@prune-stale-modes:
    - bat-adlp-4:         [SKIP][525] ([i915#4093]) -> [SKIP][526] ([i915#2575]) +3 similar issues
   [525]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@kms_force_connector_basic@prune-stale-modes.html
   [526]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@kms_force_connector_basic@prune-stale-modes.html

  * igt@kms_psr@cursor_plane_move:
    - fi-adl-ddr5:        [SKIP][527] ([i915#1072]) -> [SKIP][528] ([i915#2575]) +3 similar issues
   [527]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@kms_psr@cursor_plane_move.html
   [528]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@kms_psr@cursor_plane_move.html

  * igt@kms_psr@primary_mmap_gtt:
    - fi-rkl-guc:         [SKIP][529] ([i915#1072]) -> [SKIP][530] ([fdo#109315]) +3 similar issues
   [529]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@kms_psr@primary_mmap_gtt.html
   [530]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@kms_psr@primary_mmap_gtt.html

  * igt@kms_psr@sprite_plane_onoff:
    - bat-dg1-6:          [SKIP][531] ([i915#1072] / [i915#4078]) -> [SKIP][532] ([i915#2575]) +3 similar issues
   [531]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@kms_psr@sprite_plane_onoff.html
   [532]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@kms_psr@sprite_plane_onoff.html
    - fi-rkl-11600:       [SKIP][533] ([i915#1072]) -> [SKIP][534] ([fdo#109315]) +3 similar issues
   [533]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@kms_psr@sprite_plane_onoff.html
   [534]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_psr@sprite_plane_onoff.html
    - bat-dg1-5:          [SKIP][535] ([i915#1072] / [i915#4078]) -> [SKIP][536] ([i915#2575]) +3 similar issues
   [535]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@kms_psr@sprite_plane_onoff.html
   [536]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@kms_psr@sprite_plane_onoff.html
    - fi-hsw-4770:        [SKIP][537] ([fdo#109271] / [i915#1072]) -> [SKIP][538] ([fdo#109271] / [fdo#109315]) +3 similar issues
   [537]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-hsw-4770/igt@kms_psr@sprite_plane_onoff.html
   [538]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-hsw-4770/igt@kms_psr@sprite_plane_onoff.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - fi-rkl-guc:         [SKIP][539] ([i915#3555] / [i915#4098]) -> [SKIP][540] ([i915#2575])
   [539]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@kms_setmode@basic-clone-single-crtc.html
   [540]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-dg1-6:          [SKIP][541] ([i915#3555]) -> [SKIP][542] ([i915#2575])
   [541]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@kms_setmode@basic-clone-single-crtc.html
   [542]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@kms_setmode@basic-clone-single-crtc.html
    - fi-rkl-11600:       [SKIP][543] ([i915#3555] / [i915#4098]) -> [SKIP][544] ([i915#2575])
   [543]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html
   [544]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html
    - fi-icl-u2:          [SKIP][545] ([i915#3555]) -> [SKIP][546] ([i915#2575])
   [545]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-icl-u2/igt@kms_setmode@basic-clone-single-crtc.html
   [546]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-icl-u2/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-dg1-5:          [SKIP][547] ([i915#3555]) -> [SKIP][548] ([i915#2575])
   [547]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html
   [548]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@kms_setmode@basic-clone-single-crtc.html
    - fi-adl-ddr5:        [SKIP][549] ([i915#3555]) -> [SKIP][550] ([i915#2575])
   [549]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-adl-ddr5/igt@kms_setmode@basic-clone-single-crtc.html
   [550]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-adl-ddr5/igt@kms_setmode@basic-clone-single-crtc.html
    - bat-adlp-4:         [SKIP][551] ([i915#3555] / [i915#4579]) -> [SKIP][552] ([i915#2575])
   [551]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-adlp-4/igt@kms_setmode@basic-clone-single-crtc.html
   [552]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-adlp-4/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-fence-read:
    - bat-dg1-5:          [SKIP][553] ([i915#3708]) -> [SKIP][554] ([i915#2575]) +3 similar issues
   [553]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@prime_vgem@basic-fence-read.html
   [554]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@prime_vgem@basic-fence-read.html
    - fi-rkl-guc:         [SKIP][555] ([fdo#109295] / [i915#3291] / [i915#3708]) -> [SKIP][556] ([fdo#109315]) +2 similar issues
   [555]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-guc/igt@prime_vgem@basic-fence-read.html
   [556]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/fi-rkl-guc/igt@prime_vgem@basic-fence-read.html

  * igt@prime_vgem@basic-gtt:
    - bat-dg1-5:          [SKIP][557] ([i915#3708] / [i915#4077]) -> [SKIP][558] ([i915#2575]) +1 similar issue
   [557]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-5/igt@prime_vgem@basic-gtt.html
   [558]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-5/igt@prime_vgem@basic-gtt.html
    - bat-dg1-6:          [SKIP][559] ([i915#3708] / [i915#4077]) -> [SKIP][560] ([i915#2575]) +1 similar issue
   [559]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@prime_vgem@basic-gtt.html
   [560]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@prime_vgem@basic-gtt.html

  * igt@prime_vgem@basic-read:
    - bat-dg1-6:          [SKIP][561] ([i915#3708]) -> [SKIP][562] ([i915#2575]) +3 similar issues
   [561]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/bat-dg1-6/igt@prime_vgem@basic-read.html
   [562]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v1/bat-dg1-6/igt@prime_vgem@basic-read.html
    - fi-rkl-11600:       [SKIP][563] ([fdo#109295] / [i915#3291] / [i915#3708]) -> [SKIP][564] ([fdo#109315]) +2 similar issues
   [563]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12528/fi-rkl-11600/igt@prime_vgem@basic-read.html
   [56

== Logs ==

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

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

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

* Re: [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2022-12-29 16:12 [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well Rodrigo Vivi
  2022-12-29 16:39 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
  2022-12-29 17:02 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
@ 2022-12-29 18:01 ` Gustavo Sousa
  2022-12-30  8:18   ` Rodrigo Vivi
  2023-01-04 14:19 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Expand force_probe to block probe of devices as well. (rev2) Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 15+ messages in thread
From: Gustavo Sousa @ 2022-12-29 18:01 UTC (permalink / raw)
  To: Rodrigo Vivi, intel-gfx

On Thu, Dec 29, 2022 at 11:12:30AM -0500, Rodrigo Vivi wrote:
> There are new cases where we want to block i915 probe, such
> as when experimenting or developing the new Xe driver.
> 
> But also, with the new hibrid cards, users or developers might
> want to use i915 only on integrated and fully block the probe
> of the i915 for the discrete. Or vice versa.
> 
> Oh, and there are even older development and validation reasons,
> like when you use some distro where the modprobe.blacklist is
> not present.
> 
> But in any case, let's introduce a more granular control, but without
> introducing yet another parameter, but using the existent force_probe
> one.
> 
> Just by adding a ! in the begin of the id in the force_probe, like
> in this case where we would block the probe for Alder Lake:
> 
> $ insmod i915.ko force_probe='!46a6'
> 
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  drivers/gpu/drm/i915/Kconfig       | 13 ++++++++++---
>  drivers/gpu/drm/i915/i915_params.c |  2 +-
>  drivers/gpu/drm/i915/i915_pci.c    | 29 +++++++++++++++++++++++++----
>  3 files changed, 36 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index 3efce05d7b57..8873cd0355b7 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -54,24 +54,31 @@ config DRM_I915
>  	  If "M" is selected, the module will be called i915.
>  
>  config DRM_I915_FORCE_PROBE
> -	string "Force probe driver for selected new Intel hardware"
> +	string "Force probe i915 for selected Intel hardware IDs"
>  	depends on DRM_I915
>  	help
>  	  This is the default value for the i915.force_probe module
>  	  parameter. Using the module parameter overrides this option.
>  
> -	  Force probe the driver for new Intel graphics devices that are
> +	  Force probe the i915 for Intel graphics devices that are
>  	  recognized but not properly supported by this kernel version. It is
>  	  recommended to upgrade to a kernel version with proper support as soon
>  	  as it is available.
>  
> +	  It can also be used to block the probe of recognized and fully
> +	  supported devices.
> +
>  	  Use "" to disable force probe. If in doubt, use this.
>  
> -	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
> +	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
>  	  devices. For example, "4500" or "4500,4571".
>  
>  	  Use "*" to force probe the driver for all known devices.
>  
> +	  Use "!" right before the ID to block the probe of the device. For
> +	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
> +	  4571.
> +
>  config DRM_I915_CAPTURE_ERROR
>  	bool "Enable capturing GPU state following a hang"
>  	depends on DRM_I915
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 61578f2860cd..d634bd3f641a 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
>  	"Default: 0");
>  
>  i915_param_named_unsafe(force_probe, charp, 0400,
> -	"Force probe the driver for specified devices. "
> +	"Force probe options for specified supported devices. "
>  	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
>  
>  i915_param_named_unsafe(disable_power_well, int, 0400,
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 668e9da52584..fc1383f3a646 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
>  }
>  
>  /* is device_id present in comma separated list of ids */
> -static bool force_probe(u16 device_id, const char *devices)
> +static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
>  {
>  	char *s, *p, *tok;
>  	bool ret;
> @@ -1272,6 +1272,12 @@ static bool force_probe(u16 device_id, const char *devices)
>  	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
>  		u16 val;
>  
> +		if (negative && tok[0] == '!')
> +			tok++;
> +		else if ((negative && tok[0] != '!') ||
> +			 (!negative && tok[0] == '!'))
> +			 continue;
> +
>  		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
>  			ret = true;
>  			break;
> @@ -1283,6 +1289,16 @@ static bool force_probe(u16 device_id, const char *devices)
>  	return ret;
>  }
>  
> +static bool id_forced(u16 device_id)
> +{
> +	return device_id_in_list(device_id, i915_modparams.force_probe, false);
> +}
> +
> +static bool id_blocked(u16 device_id)
> +{
> +	return device_id_in_list(device_id, i915_modparams.force_probe, true);
> +}

I think id_blocked() would return true for any device id if force_probe was "*".

> +
>  bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
>  {
>  	if (!pci_resource_flags(pdev, bar))
> @@ -1308,10 +1324,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		(struct intel_device_info *) ent->driver_data;
>  	int err;
>  
> -	if (intel_info->require_force_probe &&
> -	    !force_probe(pdev->device, i915_modparams.force_probe)) {
> +	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
>  		dev_info(&pdev->dev,
> -			 "Your graphics device %04x is not properly supported by the driver in this\n"
> +			 "Your graphics device %04x is not properly supported by i915 in this\n"
>  			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
>  			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
>  			 "or (recommended) check for kernel updates.\n",
> @@ -1319,6 +1334,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		return -ENODEV;
>  	}
>  
> +	if (id_blocked(pdev->device)) {
> +		dev_info(&pdev->dev, "I915 probe blocked for Device ID %04x.\n",
> +			 pdev->device);
> +		return -ENODEV;
> +	}
> +
>  	/* Only bind to function 0 of the device. Early generations
>  	 * used function 1 as a placeholder for multi-head. This causes
>  	 * us confusion instead, especially on the systems where both
> -- 
> 2.38.1
> 

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

* Re: [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2022-12-29 18:01 ` [Intel-gfx] [PATCH] " Gustavo Sousa
@ 2022-12-30  8:18   ` Rodrigo Vivi
  2022-12-30 12:42     ` Jani Nikula
  0 siblings, 1 reply; 15+ messages in thread
From: Rodrigo Vivi @ 2022-12-30  8:18 UTC (permalink / raw)
  To: Gustavo Sousa; +Cc: intel-gfx

On Thu, Dec 29, 2022 at 03:01:34PM -0300, Gustavo Sousa wrote:
> On Thu, Dec 29, 2022 at 11:12:30AM -0500, Rodrigo Vivi wrote:
> > There are new cases where we want to block i915 probe, such
> > as when experimenting or developing the new Xe driver.
> > 
> > But also, with the new hibrid cards, users or developers might
> > want to use i915 only on integrated and fully block the probe
> > of the i915 for the discrete. Or vice versa.
> > 
> > Oh, and there are even older development and validation reasons,
> > like when you use some distro where the modprobe.blacklist is
> > not present.
> > 
> > But in any case, let's introduce a more granular control, but without
> > introducing yet another parameter, but using the existent force_probe
> > one.
> > 
> > Just by adding a ! in the begin of the id in the force_probe, like
> > in this case where we would block the probe for Alder Lake:
> > 
> > $ insmod i915.ko force_probe='!46a6'
> > 
> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > ---
> >  drivers/gpu/drm/i915/Kconfig       | 13 ++++++++++---
> >  drivers/gpu/drm/i915/i915_params.c |  2 +-
> >  drivers/gpu/drm/i915/i915_pci.c    | 29 +++++++++++++++++++++++++----
> >  3 files changed, 36 insertions(+), 8 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> > index 3efce05d7b57..8873cd0355b7 100644
> > --- a/drivers/gpu/drm/i915/Kconfig
> > +++ b/drivers/gpu/drm/i915/Kconfig
> > @@ -54,24 +54,31 @@ config DRM_I915
> >  	  If "M" is selected, the module will be called i915.
> >  
> >  config DRM_I915_FORCE_PROBE
> > -	string "Force probe driver for selected new Intel hardware"
> > +	string "Force probe i915 for selected Intel hardware IDs"
> >  	depends on DRM_I915
> >  	help
> >  	  This is the default value for the i915.force_probe module
> >  	  parameter. Using the module parameter overrides this option.
> >  
> > -	  Force probe the driver for new Intel graphics devices that are
> > +	  Force probe the i915 for Intel graphics devices that are
> >  	  recognized but not properly supported by this kernel version. It is
> >  	  recommended to upgrade to a kernel version with proper support as soon
> >  	  as it is available.
> >  
> > +	  It can also be used to block the probe of recognized and fully
> > +	  supported devices.
> > +
> >  	  Use "" to disable force probe. If in doubt, use this.
> >  
> > -	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
> > +	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
> >  	  devices. For example, "4500" or "4500,4571".
> >  
> >  	  Use "*" to force probe the driver for all known devices.
> >  
> > +	  Use "!" right before the ID to block the probe of the device. For
> > +	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
> > +	  4571.
> > +
> >  config DRM_I915_CAPTURE_ERROR
> >  	bool "Enable capturing GPU state following a hang"
> >  	depends on DRM_I915
> > diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> > index 61578f2860cd..d634bd3f641a 100644
> > --- a/drivers/gpu/drm/i915/i915_params.c
> > +++ b/drivers/gpu/drm/i915/i915_params.c
> > @@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
> >  	"Default: 0");
> >  
> >  i915_param_named_unsafe(force_probe, charp, 0400,
> > -	"Force probe the driver for specified devices. "
> > +	"Force probe options for specified supported devices. "
> >  	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
> >  
> >  i915_param_named_unsafe(disable_power_well, int, 0400,
> > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> > index 668e9da52584..fc1383f3a646 100644
> > --- a/drivers/gpu/drm/i915/i915_pci.c
> > +++ b/drivers/gpu/drm/i915/i915_pci.c
> > @@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
> >  }
> >  
> >  /* is device_id present in comma separated list of ids */
> > -static bool force_probe(u16 device_id, const char *devices)
> > +static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
> >  {
> >  	char *s, *p, *tok;
> >  	bool ret;
> > @@ -1272,6 +1272,12 @@ static bool force_probe(u16 device_id, const char *devices)
> >  	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
> >  		u16 val;
> >  
> > +		if (negative && tok[0] == '!')
> > +			tok++;
> > +		else if ((negative && tok[0] != '!') ||
> > +			 (!negative && tok[0] == '!'))
> > +			 continue;
> > +
> >  		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
> >  			ret = true;
> >  			break;
> > @@ -1283,6 +1289,16 @@ static bool force_probe(u16 device_id, const char *devices)
> >  	return ret;
> >  }
> >  
> > +static bool id_forced(u16 device_id)
> > +{
> > +	return device_id_in_list(device_id, i915_modparams.force_probe, false);
> > +}
> > +
> > +static bool id_blocked(u16 device_id)
> > +{
> > +	return device_id_in_list(device_id, i915_modparams.force_probe, true);
> > +}
> 
> I think id_blocked() would return true for any device id if force_probe was "*".

good catch. I will just wait until middle next week to see if someone has something
against the idea in general and then re-spin a version with:

- if (strcmp(devices, "*") == 0)
+ if (strcmp(devices, "*") == 0 && !negative)

> 
> > +
> >  bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
> >  {
> >  	if (!pci_resource_flags(pdev, bar))
> > @@ -1308,10 +1324,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> >  		(struct intel_device_info *) ent->driver_data;
> >  	int err;
> >  
> > -	if (intel_info->require_force_probe &&
> > -	    !force_probe(pdev->device, i915_modparams.force_probe)) {
> > +	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
> >  		dev_info(&pdev->dev,
> > -			 "Your graphics device %04x is not properly supported by the driver in this\n"
> > +			 "Your graphics device %04x is not properly supported by i915 in this\n"
> >  			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
> >  			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
> >  			 "or (recommended) check for kernel updates.\n",
> > @@ -1319,6 +1334,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> >  		return -ENODEV;
> >  	}
> >  
> > +	if (id_blocked(pdev->device)) {
> > +		dev_info(&pdev->dev, "I915 probe blocked for Device ID %04x.\n",
> > +			 pdev->device);
> > +		return -ENODEV;
> > +	}
> > +
> >  	/* Only bind to function 0 of the device. Early generations
> >  	 * used function 1 as a placeholder for multi-head. This causes
> >  	 * us confusion instead, especially on the systems where both
> > -- 
> > 2.38.1
> > 

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

* Re: [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2022-12-30  8:18   ` Rodrigo Vivi
@ 2022-12-30 12:42     ` Jani Nikula
  2022-12-30 17:08       ` Rodrigo Vivi
  0 siblings, 1 reply; 15+ messages in thread
From: Jani Nikula @ 2022-12-30 12:42 UTC (permalink / raw)
  To: Rodrigo Vivi, Gustavo Sousa; +Cc: intel-gfx

On Fri, 30 Dec 2022, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> On Thu, Dec 29, 2022 at 03:01:34PM -0300, Gustavo Sousa wrote:
>> On Thu, Dec 29, 2022 at 11:12:30AM -0500, Rodrigo Vivi wrote:
>> > There are new cases where we want to block i915 probe, such
>> > as when experimenting or developing the new Xe driver.
>> > 
>> > But also, with the new hibrid cards, users or developers might
>> > want to use i915 only on integrated and fully block the probe
>> > of the i915 for the discrete. Or vice versa.
>> > 
>> > Oh, and there are even older development and validation reasons,
>> > like when you use some distro where the modprobe.blacklist is
>> > not present.
>> > 
>> > But in any case, let's introduce a more granular control, but without
>> > introducing yet another parameter, but using the existent force_probe
>> > one.
>> > 
>> > Just by adding a ! in the begin of the id in the force_probe, like
>> > in this case where we would block the probe for Alder Lake:
>> > 
>> > $ insmod i915.ko force_probe='!46a6'
>> > 
>> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> > ---
>> >  drivers/gpu/drm/i915/Kconfig       | 13 ++++++++++---
>> >  drivers/gpu/drm/i915/i915_params.c |  2 +-
>> >  drivers/gpu/drm/i915/i915_pci.c    | 29 +++++++++++++++++++++++++----
>> >  3 files changed, 36 insertions(+), 8 deletions(-)
>> > 
>> > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
>> > index 3efce05d7b57..8873cd0355b7 100644
>> > --- a/drivers/gpu/drm/i915/Kconfig
>> > +++ b/drivers/gpu/drm/i915/Kconfig
>> > @@ -54,24 +54,31 @@ config DRM_I915
>> >  	  If "M" is selected, the module will be called i915.
>> >  
>> >  config DRM_I915_FORCE_PROBE
>> > -	string "Force probe driver for selected new Intel hardware"
>> > +	string "Force probe i915 for selected Intel hardware IDs"
>> >  	depends on DRM_I915
>> >  	help
>> >  	  This is the default value for the i915.force_probe module
>> >  	  parameter. Using the module parameter overrides this option.
>> >  
>> > -	  Force probe the driver for new Intel graphics devices that are
>> > +	  Force probe the i915 for Intel graphics devices that are
>> >  	  recognized but not properly supported by this kernel version. It is
>> >  	  recommended to upgrade to a kernel version with proper support as soon
>> >  	  as it is available.
>> >  
>> > +	  It can also be used to block the probe of recognized and fully
>> > +	  supported devices.
>> > +
>> >  	  Use "" to disable force probe. If in doubt, use this.
>> >  
>> > -	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
>> > +	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
>> >  	  devices. For example, "4500" or "4500,4571".
>> >  
>> >  	  Use "*" to force probe the driver for all known devices.
>> >  
>> > +	  Use "!" right before the ID to block the probe of the device. For
>> > +	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
>> > +	  4571.
>> > +
>> >  config DRM_I915_CAPTURE_ERROR
>> >  	bool "Enable capturing GPU state following a hang"
>> >  	depends on DRM_I915
>> > diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
>> > index 61578f2860cd..d634bd3f641a 100644
>> > --- a/drivers/gpu/drm/i915/i915_params.c
>> > +++ b/drivers/gpu/drm/i915/i915_params.c
>> > @@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
>> >  	"Default: 0");
>> >  
>> >  i915_param_named_unsafe(force_probe, charp, 0400,
>> > -	"Force probe the driver for specified devices. "
>> > +	"Force probe options for specified supported devices. "
>> >  	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
>> >  
>> >  i915_param_named_unsafe(disable_power_well, int, 0400,
>> > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
>> > index 668e9da52584..fc1383f3a646 100644
>> > --- a/drivers/gpu/drm/i915/i915_pci.c
>> > +++ b/drivers/gpu/drm/i915/i915_pci.c
>> > @@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
>> >  }
>> >  
>> >  /* is device_id present in comma separated list of ids */
>> > -static bool force_probe(u16 device_id, const char *devices)
>> > +static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
>> >  {
>> >  	char *s, *p, *tok;
>> >  	bool ret;
>> > @@ -1272,6 +1272,12 @@ static bool force_probe(u16 device_id, const char *devices)
>> >  	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
>> >  		u16 val;
>> >  
>> > +		if (negative && tok[0] == '!')
>> > +			tok++;
>> > +		else if ((negative && tok[0] != '!') ||
>> > +			 (!negative && tok[0] == '!'))
>> > +			 continue;
>> > +
>> >  		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
>> >  			ret = true;
>> >  			break;
>> > @@ -1283,6 +1289,16 @@ static bool force_probe(u16 device_id, const char *devices)
>> >  	return ret;
>> >  }
>> >  
>> > +static bool id_forced(u16 device_id)
>> > +{
>> > +	return device_id_in_list(device_id, i915_modparams.force_probe, false);
>> > +}
>> > +
>> > +static bool id_blocked(u16 device_id)
>> > +{
>> > +	return device_id_in_list(device_id, i915_modparams.force_probe, true);
>> > +}
>> 
>> I think id_blocked() would return true for any device id if force_probe was "*".
>
> good catch. I will just wait until middle next week to see if someone has something
> against the idea in general and then re-spin a version with:
>
> - if (strcmp(devices, "*") == 0)
> + if (strcmp(devices, "*") == 0 && !negative)

I admit I didn't bother checking, but please ensure force_probe=!* also
works to block everything.

BR,
Jani.

>
>> 
>> > +
>> >  bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
>> >  {
>> >  	if (!pci_resource_flags(pdev, bar))
>> > @@ -1308,10 +1324,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>> >  		(struct intel_device_info *) ent->driver_data;
>> >  	int err;
>> >  
>> > -	if (intel_info->require_force_probe &&
>> > -	    !force_probe(pdev->device, i915_modparams.force_probe)) {
>> > +	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
>> >  		dev_info(&pdev->dev,
>> > -			 "Your graphics device %04x is not properly supported by the driver in this\n"
>> > +			 "Your graphics device %04x is not properly supported by i915 in this\n"
>> >  			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
>> >  			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
>> >  			 "or (recommended) check for kernel updates.\n",
>> > @@ -1319,6 +1334,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>> >  		return -ENODEV;
>> >  	}
>> >  
>> > +	if (id_blocked(pdev->device)) {
>> > +		dev_info(&pdev->dev, "I915 probe blocked for Device ID %04x.\n",
>> > +			 pdev->device);
>> > +		return -ENODEV;
>> > +	}
>> > +
>> >  	/* Only bind to function 0 of the device. Early generations
>> >  	 * used function 1 as a placeholder for multi-head. This causes
>> >  	 * us confusion instead, especially on the systems where both
>> > -- 
>> > 2.38.1
>> > 

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2022-12-30 12:42     ` Jani Nikula
@ 2022-12-30 17:08       ` Rodrigo Vivi
  2023-01-03 19:47         ` Rodrigo Vivi
  0 siblings, 1 reply; 15+ messages in thread
From: Rodrigo Vivi @ 2022-12-30 17:08 UTC (permalink / raw)
  To: Jani Nikula; +Cc: intel-gfx

On Fri, Dec 30, 2022 at 02:42:51PM +0200, Jani Nikula wrote:
> On Fri, 30 Dec 2022, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> > On Thu, Dec 29, 2022 at 03:01:34PM -0300, Gustavo Sousa wrote:
> >> On Thu, Dec 29, 2022 at 11:12:30AM -0500, Rodrigo Vivi wrote:
> >> > There are new cases where we want to block i915 probe, such
> >> > as when experimenting or developing the new Xe driver.
> >> > 
> >> > But also, with the new hibrid cards, users or developers might
> >> > want to use i915 only on integrated and fully block the probe
> >> > of the i915 for the discrete. Or vice versa.
> >> > 
> >> > Oh, and there are even older development and validation reasons,
> >> > like when you use some distro where the modprobe.blacklist is
> >> > not present.
> >> > 
> >> > But in any case, let's introduce a more granular control, but without
> >> > introducing yet another parameter, but using the existent force_probe
> >> > one.
> >> > 
> >> > Just by adding a ! in the begin of the id in the force_probe, like
> >> > in this case where we would block the probe for Alder Lake:
> >> > 
> >> > $ insmod i915.ko force_probe='!46a6'
> >> > 
> >> > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> >> > ---
> >> >  drivers/gpu/drm/i915/Kconfig       | 13 ++++++++++---
> >> >  drivers/gpu/drm/i915/i915_params.c |  2 +-
> >> >  drivers/gpu/drm/i915/i915_pci.c    | 29 +++++++++++++++++++++++++----
> >> >  3 files changed, 36 insertions(+), 8 deletions(-)
> >> > 
> >> > diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> >> > index 3efce05d7b57..8873cd0355b7 100644
> >> > --- a/drivers/gpu/drm/i915/Kconfig
> >> > +++ b/drivers/gpu/drm/i915/Kconfig
> >> > @@ -54,24 +54,31 @@ config DRM_I915
> >> >  	  If "M" is selected, the module will be called i915.
> >> >  
> >> >  config DRM_I915_FORCE_PROBE
> >> > -	string "Force probe driver for selected new Intel hardware"
> >> > +	string "Force probe i915 for selected Intel hardware IDs"
> >> >  	depends on DRM_I915
> >> >  	help
> >> >  	  This is the default value for the i915.force_probe module
> >> >  	  parameter. Using the module parameter overrides this option.
> >> >  
> >> > -	  Force probe the driver for new Intel graphics devices that are
> >> > +	  Force probe the i915 for Intel graphics devices that are
> >> >  	  recognized but not properly supported by this kernel version. It is
> >> >  	  recommended to upgrade to a kernel version with proper support as soon
> >> >  	  as it is available.
> >> >  
> >> > +	  It can also be used to block the probe of recognized and fully
> >> > +	  supported devices.
> >> > +
> >> >  	  Use "" to disable force probe. If in doubt, use this.
> >> >  
> >> > -	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
> >> > +	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
> >> >  	  devices. For example, "4500" or "4500,4571".
> >> >  
> >> >  	  Use "*" to force probe the driver for all known devices.
> >> >  
> >> > +	  Use "!" right before the ID to block the probe of the device. For
> >> > +	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
> >> > +	  4571.
> >> > +
> >> >  config DRM_I915_CAPTURE_ERROR
> >> >  	bool "Enable capturing GPU state following a hang"
> >> >  	depends on DRM_I915
> >> > diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> >> > index 61578f2860cd..d634bd3f641a 100644
> >> > --- a/drivers/gpu/drm/i915/i915_params.c
> >> > +++ b/drivers/gpu/drm/i915/i915_params.c
> >> > @@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
> >> >  	"Default: 0");
> >> >  
> >> >  i915_param_named_unsafe(force_probe, charp, 0400,
> >> > -	"Force probe the driver for specified devices. "
> >> > +	"Force probe options for specified supported devices. "
> >> >  	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
> >> >  
> >> >  i915_param_named_unsafe(disable_power_well, int, 0400,
> >> > diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> >> > index 668e9da52584..fc1383f3a646 100644
> >> > --- a/drivers/gpu/drm/i915/i915_pci.c
> >> > +++ b/drivers/gpu/drm/i915/i915_pci.c
> >> > @@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
> >> >  }
> >> >  
> >> >  /* is device_id present in comma separated list of ids */
> >> > -static bool force_probe(u16 device_id, const char *devices)
> >> > +static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
> >> >  {
> >> >  	char *s, *p, *tok;
> >> >  	bool ret;
> >> > @@ -1272,6 +1272,12 @@ static bool force_probe(u16 device_id, const char *devices)
> >> >  	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
> >> >  		u16 val;
> >> >  
> >> > +		if (negative && tok[0] == '!')
> >> > +			tok++;
> >> > +		else if ((negative && tok[0] != '!') ||
> >> > +			 (!negative && tok[0] == '!'))
> >> > +			 continue;
> >> > +
> >> >  		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
> >> >  			ret = true;
> >> >  			break;
> >> > @@ -1283,6 +1289,16 @@ static bool force_probe(u16 device_id, const char *devices)
> >> >  	return ret;
> >> >  }
> >> >  
> >> > +static bool id_forced(u16 device_id)
> >> > +{
> >> > +	return device_id_in_list(device_id, i915_modparams.force_probe, false);
> >> > +}
> >> > +
> >> > +static bool id_blocked(u16 device_id)
> >> > +{
> >> > +	return device_id_in_list(device_id, i915_modparams.force_probe, true);
> >> > +}
> >> 
> >> I think id_blocked() would return true for any device id if force_probe was "*".
> >
> > good catch. I will just wait until middle next week to see if someone has something
> > against the idea in general and then re-spin a version with:
> >
> > - if (strcmp(devices, "*") == 0)
> > + if (strcmp(devices, "*") == 0 && !negative)
> 
> I admit I didn't bother checking, but please ensure force_probe=!* also
> works to block everything.

makes sense

-       if (strcmp(devices, "*") == 0)
+       if (negative && strcmp(devices, "!*") == 0)
+               return true;
+       if (!negative && strcmp(devices, "*") == 0)

will be it.

Thanks,
Rodrigo.

> 
> BR,
> Jani.
> 
> >
> >> 
> >> > +
> >> >  bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
> >> >  {
> >> >  	if (!pci_resource_flags(pdev, bar))
> >> > @@ -1308,10 +1324,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> >> >  		(struct intel_device_info *) ent->driver_data;
> >> >  	int err;
> >> >  
> >> > -	if (intel_info->require_force_probe &&
> >> > -	    !force_probe(pdev->device, i915_modparams.force_probe)) {
> >> > +	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
> >> >  		dev_info(&pdev->dev,
> >> > -			 "Your graphics device %04x is not properly supported by the driver in this\n"
> >> > +			 "Your graphics device %04x is not properly supported by i915 in this\n"
> >> >  			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
> >> >  			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
> >> >  			 "or (recommended) check for kernel updates.\n",
> >> > @@ -1319,6 +1334,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> >> >  		return -ENODEV;
> >> >  	}
> >> >  
> >> > +	if (id_blocked(pdev->device)) {
> >> > +		dev_info(&pdev->dev, "I915 probe blocked for Device ID %04x.\n",
> >> > +			 pdev->device);
> >> > +		return -ENODEV;
> >> > +	}
> >> > +
> >> >  	/* Only bind to function 0 of the device. Early generations
> >> >  	 * used function 1 as a placeholder for multi-head. This causes
> >> >  	 * us confusion instead, especially on the systems where both
> >> > -- 
> >> > 2.38.1
> >> > 
> 
> -- 
> Jani Nikula, Intel Open Source Graphics Center

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

* [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2022-12-30 17:08       ` Rodrigo Vivi
@ 2023-01-03 19:47         ` Rodrigo Vivi
  2023-01-04  9:39           ` Jani Nikula
  2023-01-04 12:22           ` Gustavo Sousa
  0 siblings, 2 replies; 15+ messages in thread
From: Rodrigo Vivi @ 2023-01-03 19:47 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula, Rodrigo Vivi

There are new cases where we want to block i915 probe, such
as when experimenting or developing the new Xe driver.

But also, with the new hibrid cards, users or developers might
want to use i915 only on integrated and fully block the probe
of the i915 for the discrete. Or vice versa.

Oh, and there are even older development and validation reasons,
like when you use some distro where the modprobe.blacklist is
not present.

But in any case, let's introduce a more granular control, but without
introducing yet another parameter, but using the existent force_probe
one.

Just by adding a ! in the begin of the id in the force_probe, like
in this case where we would block the probe for Alder Lake:

$ insmod i915.ko force_probe='!46a6'

v2: Take care of '*' and  '!*' cases as pointed out by
    Gustavo and Jani.

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/Kconfig       | 15 +++++++++++---
 drivers/gpu/drm/i915/i915_params.c |  2 +-
 drivers/gpu/drm/i915/i915_pci.c    | 33 +++++++++++++++++++++++++-----
 3 files changed, 41 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index 3efce05d7b57..8eb3e60aeec9 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -54,24 +54,33 @@ config DRM_I915
 	  If "M" is selected, the module will be called i915.
 
 config DRM_I915_FORCE_PROBE
-	string "Force probe driver for selected new Intel hardware"
+	string "Force probe i915 for selected Intel hardware IDs"
 	depends on DRM_I915
 	help
 	  This is the default value for the i915.force_probe module
 	  parameter. Using the module parameter overrides this option.
 
-	  Force probe the driver for new Intel graphics devices that are
+	  Force probe the i915 for Intel graphics devices that are
 	  recognized but not properly supported by this kernel version. It is
 	  recommended to upgrade to a kernel version with proper support as soon
 	  as it is available.
 
+	  It can also be used to block the probe of recognized and fully
+	  supported devices.
+
 	  Use "" to disable force probe. If in doubt, use this.
 
-	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
+	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
 	  devices. For example, "4500" or "4500,4571".
 
 	  Use "*" to force probe the driver for all known devices.
 
+	  Use "!" right before the ID to block the probe of the device. For
+	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
+	  4571.
+
+	  Use "!*" to block the probe of the driver for all known devices.
+
 config DRM_I915_CAPTURE_ERROR
 	bool "Enable capturing GPU state following a hang"
 	depends on DRM_I915
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 61578f2860cd..d634bd3f641a 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
 	"Default: 0");
 
 i915_param_named_unsafe(force_probe, charp, 0400,
-	"Force probe the driver for specified devices. "
+	"Force probe options for specified supported devices. "
 	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
 
 i915_param_named_unsafe(disable_power_well, int, 0400,
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 7fd74cc28c0a..bc1af7e8f398 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
 }
 
 /* is device_id present in comma separated list of ids */
-static bool force_probe(u16 device_id, const char *devices)
+static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
 {
 	char *s, *p, *tok;
 	bool ret;
@@ -1262,7 +1262,9 @@ static bool force_probe(u16 device_id, const char *devices)
 		return false;
 
 	/* match everything */
-	if (strcmp(devices, "*") == 0)
+	if (negative && strcmp(devices, "!*") == 0)
+		return true;
+	if (!negative && strcmp(devices, "*") == 0)
 		return true;
 
 	s = kstrdup(devices, GFP_KERNEL);
@@ -1272,6 +1274,12 @@ static bool force_probe(u16 device_id, const char *devices)
 	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
 		u16 val;
 
+		if (negative && tok[0] == '!')
+			tok++;
+		else if ((negative && tok[0] != '!') ||
+			 (!negative && tok[0] == '!'))
+			continue;
+
 		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
 			ret = true;
 			break;
@@ -1283,6 +1291,16 @@ static bool force_probe(u16 device_id, const char *devices)
 	return ret;
 }
 
+static bool id_forced(u16 device_id)
+{
+	return device_id_in_list(device_id, i915_modparams.force_probe, false);
+}
+
+static bool id_blocked(u16 device_id)
+{
+	return device_id_in_list(device_id, i915_modparams.force_probe, true);
+}
+
 bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
 {
 	if (!pci_resource_flags(pdev, bar))
@@ -1308,10 +1326,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		(struct intel_device_info *) ent->driver_data;
 	int err;
 
-	if (intel_info->require_force_probe &&
-	    !force_probe(pdev->device, i915_modparams.force_probe)) {
+	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
 		dev_info(&pdev->dev,
-			 "Your graphics device %04x is not properly supported by the driver in this\n"
+			 "Your graphics device %04x is not properly supported by i915 in this\n"
 			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
 			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
 			 "or (recommended) check for kernel updates.\n",
@@ -1319,6 +1336,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		return -ENODEV;
 	}
 
+	if (id_blocked(pdev->device)) {
+		dev_info(&pdev->dev, "I915 probe blocked for Device ID %04x.\n",
+			 pdev->device);
+		return -ENODEV;
+	}
+
 	/* Only bind to function 0 of the device. Early generations
 	 * used function 1 as a placeholder for multi-head. This causes
 	 * us confusion instead, especially on the systems where both
-- 
2.38.1


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

* Re: [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2023-01-03 19:47         ` Rodrigo Vivi
@ 2023-01-04  9:39           ` Jani Nikula
  2023-01-04 18:55             ` Rodrigo Vivi
  2023-01-04 12:22           ` Gustavo Sousa
  1 sibling, 1 reply; 15+ messages in thread
From: Jani Nikula @ 2023-01-04  9:39 UTC (permalink / raw)
  To: Rodrigo Vivi, intel-gfx; +Cc: Rodrigo Vivi

On Tue, 03 Jan 2023, Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
> There are new cases where we want to block i915 probe, such
> as when experimenting or developing the new Xe driver.
>
> But also, with the new hibrid cards, users or developers might

*hybrid

> want to use i915 only on integrated and fully block the probe
> of the i915 for the discrete. Or vice versa.
>
> Oh, and there are even older development and validation reasons,
> like when you use some distro where the modprobe.blacklist is
> not present.

Maybe s/Oh, and t/T/

>
> But in any case, let's introduce a more granular control, but without
> introducing yet another parameter, but using the existent force_probe
> one.
>
> Just by adding a ! in the begin of the id in the force_probe, like
> in this case where we would block the probe for Alder Lake:
>
> $ insmod i915.ko force_probe='!46a6'
>
> v2: Take care of '*' and  '!*' cases as pointed out by
>     Gustavo and Jani.
>
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Gustavo Sousa <gustavo.sousa@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Reviewed-by: Jani Nikula <jani.nikula@intel.com>

That said, there's no way to do stuff like "1234,!*" to force 1234 but
block everything else. Can be added later as needed.

Also, "1234,!1234" and "!1234,1234" both block 1234. Sure, user error,
but just noting. Can be tweaked later as needed.


BR,
Jani.

> ---
>  drivers/gpu/drm/i915/Kconfig       | 15 +++++++++++---
>  drivers/gpu/drm/i915/i915_params.c |  2 +-
>  drivers/gpu/drm/i915/i915_pci.c    | 33 +++++++++++++++++++++++++-----
>  3 files changed, 41 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index 3efce05d7b57..8eb3e60aeec9 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -54,24 +54,33 @@ config DRM_I915
>  	  If "M" is selected, the module will be called i915.
>  
>  config DRM_I915_FORCE_PROBE
> -	string "Force probe driver for selected new Intel hardware"
> +	string "Force probe i915 for selected Intel hardware IDs"
>  	depends on DRM_I915
>  	help
>  	  This is the default value for the i915.force_probe module
>  	  parameter. Using the module parameter overrides this option.
>  
> -	  Force probe the driver for new Intel graphics devices that are
> +	  Force probe the i915 for Intel graphics devices that are
>  	  recognized but not properly supported by this kernel version. It is
>  	  recommended to upgrade to a kernel version with proper support as soon
>  	  as it is available.
>  
> +	  It can also be used to block the probe of recognized and fully
> +	  supported devices.
> +
>  	  Use "" to disable force probe. If in doubt, use this.
>  
> -	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
> +	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
>  	  devices. For example, "4500" or "4500,4571".
>  
>  	  Use "*" to force probe the driver for all known devices.
>  
> +	  Use "!" right before the ID to block the probe of the device. For
> +	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
> +	  4571.
> +
> +	  Use "!*" to block the probe of the driver for all known devices.
> +
>  config DRM_I915_CAPTURE_ERROR
>  	bool "Enable capturing GPU state following a hang"
>  	depends on DRM_I915
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 61578f2860cd..d634bd3f641a 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
>  	"Default: 0");
>  
>  i915_param_named_unsafe(force_probe, charp, 0400,
> -	"Force probe the driver for specified devices. "
> +	"Force probe options for specified supported devices. "
>  	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
>  
>  i915_param_named_unsafe(disable_power_well, int, 0400,
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 7fd74cc28c0a..bc1af7e8f398 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
>  }
>  
>  /* is device_id present in comma separated list of ids */
> -static bool force_probe(u16 device_id, const char *devices)
> +static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
>  {
>  	char *s, *p, *tok;
>  	bool ret;
> @@ -1262,7 +1262,9 @@ static bool force_probe(u16 device_id, const char *devices)
>  		return false;
>  
>  	/* match everything */
> -	if (strcmp(devices, "*") == 0)
> +	if (negative && strcmp(devices, "!*") == 0)
> +		return true;
> +	if (!negative && strcmp(devices, "*") == 0)
>  		return true;
>  
>  	s = kstrdup(devices, GFP_KERNEL);
> @@ -1272,6 +1274,12 @@ static bool force_probe(u16 device_id, const char *devices)
>  	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
>  		u16 val;
>  
> +		if (negative && tok[0] == '!')
> +			tok++;
> +		else if ((negative && tok[0] != '!') ||
> +			 (!negative && tok[0] == '!'))
> +			continue;
> +
>  		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
>  			ret = true;
>  			break;
> @@ -1283,6 +1291,16 @@ static bool force_probe(u16 device_id, const char *devices)
>  	return ret;
>  }
>  
> +static bool id_forced(u16 device_id)
> +{
> +	return device_id_in_list(device_id, i915_modparams.force_probe, false);
> +}
> +
> +static bool id_blocked(u16 device_id)
> +{
> +	return device_id_in_list(device_id, i915_modparams.force_probe, true);
> +}
> +
>  bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
>  {
>  	if (!pci_resource_flags(pdev, bar))
> @@ -1308,10 +1326,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		(struct intel_device_info *) ent->driver_data;
>  	int err;
>  
> -	if (intel_info->require_force_probe &&
> -	    !force_probe(pdev->device, i915_modparams.force_probe)) {
> +	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
>  		dev_info(&pdev->dev,
> -			 "Your graphics device %04x is not properly supported by the driver in this\n"
> +			 "Your graphics device %04x is not properly supported by i915 in this\n"
>  			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
>  			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
>  			 "or (recommended) check for kernel updates.\n",
> @@ -1319,6 +1336,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		return -ENODEV;
>  	}
>  
> +	if (id_blocked(pdev->device)) {
> +		dev_info(&pdev->dev, "I915 probe blocked for Device ID %04x.\n",
> +			 pdev->device);
> +		return -ENODEV;
> +	}
> +
>  	/* Only bind to function 0 of the device. Early generations
>  	 * used function 1 as a placeholder for multi-head. This causes
>  	 * us confusion instead, especially on the systems where both

-- 
Jani Nikula, Intel Open Source Graphics Center

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

* Re: [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2023-01-03 19:47         ` Rodrigo Vivi
  2023-01-04  9:39           ` Jani Nikula
@ 2023-01-04 12:22           ` Gustavo Sousa
  1 sibling, 0 replies; 15+ messages in thread
From: Gustavo Sousa @ 2023-01-04 12:22 UTC (permalink / raw)
  To: Rodrigo Vivi, intel-gfx; +Cc: Jani Nikula

On Tue, Jan 03, 2023 at 02:47:01PM -0500, Rodrigo Vivi wrote:
> There are new cases where we want to block i915 probe, such
> as when experimenting or developing the new Xe driver.
> 
> But also, with the new hibrid cards, users or developers might
> want to use i915 only on integrated and fully block the probe
> of the i915 for the discrete. Or vice versa.
> 
> Oh, and there are even older development and validation reasons,
> like when you use some distro where the modprobe.blacklist is
> not present.
> 
> But in any case, let's introduce a more granular control, but without
> introducing yet another parameter, but using the existent force_probe
> one.
> 
> Just by adding a ! in the begin of the id in the force_probe, like
> in this case where we would block the probe for Alder Lake:
> 
> $ insmod i915.ko force_probe='!46a6'
> 
> v2: Take care of '*' and  '!*' cases as pointed out by
>     Gustavo and Jani.
> 
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Gustavo Sousa <gustavo.sousa@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>

Acked-by: Gustavo Sousa <gustavo.sousa@intel.com>

> ---
>  drivers/gpu/drm/i915/Kconfig       | 15 +++++++++++---
>  drivers/gpu/drm/i915/i915_params.c |  2 +-
>  drivers/gpu/drm/i915/i915_pci.c    | 33 +++++++++++++++++++++++++-----
>  3 files changed, 41 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index 3efce05d7b57..8eb3e60aeec9 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -54,24 +54,33 @@ config DRM_I915
>  	  If "M" is selected, the module will be called i915.
>  
>  config DRM_I915_FORCE_PROBE
> -	string "Force probe driver for selected new Intel hardware"
> +	string "Force probe i915 for selected Intel hardware IDs"
>  	depends on DRM_I915
>  	help
>  	  This is the default value for the i915.force_probe module
>  	  parameter. Using the module parameter overrides this option.
>  
> -	  Force probe the driver for new Intel graphics devices that are
> +	  Force probe the i915 for Intel graphics devices that are
>  	  recognized but not properly supported by this kernel version. It is
>  	  recommended to upgrade to a kernel version with proper support as soon
>  	  as it is available.
>  
> +	  It can also be used to block the probe of recognized and fully
> +	  supported devices.
> +
>  	  Use "" to disable force probe. If in doubt, use this.
>  
> -	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
> +	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
>  	  devices. For example, "4500" or "4500,4571".
>  
>  	  Use "*" to force probe the driver for all known devices.
>  
> +	  Use "!" right before the ID to block the probe of the device. For
> +	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
> +	  4571.
> +
> +	  Use "!*" to block the probe of the driver for all known devices.
> +
>  config DRM_I915_CAPTURE_ERROR
>  	bool "Enable capturing GPU state following a hang"
>  	depends on DRM_I915
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 61578f2860cd..d634bd3f641a 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
>  	"Default: 0");
>  
>  i915_param_named_unsafe(force_probe, charp, 0400,
> -	"Force probe the driver for specified devices. "
> +	"Force probe options for specified supported devices. "
>  	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
>  
>  i915_param_named_unsafe(disable_power_well, int, 0400,
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 7fd74cc28c0a..bc1af7e8f398 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
>  }
>  
>  /* is device_id present in comma separated list of ids */
> -static bool force_probe(u16 device_id, const char *devices)
> +static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
>  {
>  	char *s, *p, *tok;
>  	bool ret;
> @@ -1262,7 +1262,9 @@ static bool force_probe(u16 device_id, const char *devices)
>  		return false;
>  
>  	/* match everything */
> -	if (strcmp(devices, "*") == 0)
> +	if (negative && strcmp(devices, "!*") == 0)
> +		return true;
> +	if (!negative && strcmp(devices, "*") == 0)
>  		return true;
>  
>  	s = kstrdup(devices, GFP_KERNEL);
> @@ -1272,6 +1274,12 @@ static bool force_probe(u16 device_id, const char *devices)
>  	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
>  		u16 val;
>  
> +		if (negative && tok[0] == '!')
> +			tok++;
> +		else if ((negative && tok[0] != '!') ||
> +			 (!negative && tok[0] == '!'))
> +			continue;
> +
>  		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
>  			ret = true;
>  			break;
> @@ -1283,6 +1291,16 @@ static bool force_probe(u16 device_id, const char *devices)
>  	return ret;
>  }
>  
> +static bool id_forced(u16 device_id)
> +{
> +	return device_id_in_list(device_id, i915_modparams.force_probe, false);
> +}
> +
> +static bool id_blocked(u16 device_id)
> +{
> +	return device_id_in_list(device_id, i915_modparams.force_probe, true);
> +}
> +
>  bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
>  {
>  	if (!pci_resource_flags(pdev, bar))
> @@ -1308,10 +1326,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		(struct intel_device_info *) ent->driver_data;
>  	int err;
>  
> -	if (intel_info->require_force_probe &&
> -	    !force_probe(pdev->device, i915_modparams.force_probe)) {
> +	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
>  		dev_info(&pdev->dev,
> -			 "Your graphics device %04x is not properly supported by the driver in this\n"
> +			 "Your graphics device %04x is not properly supported by i915 in this\n"
>  			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
>  			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
>  			 "or (recommended) check for kernel updates.\n",
> @@ -1319,6 +1336,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		return -ENODEV;
>  	}
>  
> +	if (id_blocked(pdev->device)) {
> +		dev_info(&pdev->dev, "I915 probe blocked for Device ID %04x.\n",
> +			 pdev->device);
> +		return -ENODEV;
> +	}
> +
>  	/* Only bind to function 0 of the device. Early generations
>  	 * used function 1 as a placeholder for multi-head. This causes
>  	 * us confusion instead, especially on the systems where both
> -- 
> 2.38.1
> 

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

* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Expand force_probe to block probe of devices as well. (rev2)
  2022-12-29 16:12 [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well Rodrigo Vivi
                   ` (2 preceding siblings ...)
  2022-12-29 18:01 ` [Intel-gfx] [PATCH] " Gustavo Sousa
@ 2023-01-04 14:19 ` Patchwork
  2023-01-04 20:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Expand force_probe to block probe of devices as well. (rev3) Patchwork
  2023-01-05  2:04 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2023-01-04 14:19 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Expand force_probe to block probe of devices as well. (rev2)
URL   : https://patchwork.freedesktop.org/series/112292/
State : failure

== Summary ==

CI Bug Log - changes from CI_DRM_12541 -> Patchwork_112292v2
====================================================

Summary
-------

  **FAILURE**

  Serious unknown changes coming with Patchwork_112292v2 absolutely need to be
  verified manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_112292v2, please notify your bug team 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_112292v2/index.html

Participating hosts (42 -> 41)
------------------------------

  Additional (1): fi-rkl-11600 
  Missing    (2): bat-dg2-oem1 bat-atsm-1 

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

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

### IGT changes ###

#### Possible regressions ####

  * igt@debugfs_test@read_all_entries:
    - fi-icl-u2:          [PASS][1] -> [ABORT][2]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12541/fi-icl-u2/igt@debugfs_test@read_all_entries.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-icl-u2/igt@debugfs_test@read_all_entries.html

  * igt@i915_selftest@live@hangcheck:
    - bat-adlp-4:         [PASS][3] -> [INCOMPLETE][4]
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12541/bat-adlp-4/igt@i915_selftest@live@hangcheck.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/bat-adlp-4/igt@i915_selftest@live@hangcheck.html

  
#### Suppressed ####

  The following results come from untrusted machines, tests, or statuses.
  They do not affect the overall result.

  * igt@gem_exec_suspend@basic-s0@smem:
    - {bat-rpls-1}:       [PASS][5] -> [DMESG-WARN][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12541/bat-rpls-1/igt@gem_exec_suspend@basic-s0@smem.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/bat-rpls-1/igt@gem_exec_suspend@basic-s0@smem.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@debugfs_test@basic-hwmon:
    - fi-rkl-11600:       NOTRUN -> [SKIP][7] ([i915#7456])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@debugfs_test@basic-hwmon.html

  * igt@gem_huc_copy@huc-copy:
    - fi-rkl-11600:       NOTRUN -> [SKIP][8] ([i915#2190])
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@gem_huc_copy@huc-copy.html

  * igt@gem_lmem_swapping@basic:
    - fi-rkl-11600:       NOTRUN -> [SKIP][9] ([i915#4613]) +3 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@gem_lmem_swapping@basic.html

  * igt@gem_tiled_pread_basic:
    - fi-rkl-11600:       NOTRUN -> [SKIP][10] ([i915#3282])
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@gem_tiled_pread_basic.html

  * igt@i915_pm_backlight@basic-brightness:
    - fi-rkl-11600:       NOTRUN -> [SKIP][11] ([i915#7561])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@i915_pm_backlight@basic-brightness.html

  * igt@i915_suspend@basic-s3-without-i915:
    - fi-rkl-11600:       NOTRUN -> [INCOMPLETE][12] ([i915#4817])
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html

  * igt@kms_chamelium@common-hpd-after-suspend:
    - bat-dg1-6:          NOTRUN -> [SKIP][13] ([fdo#111827])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/bat-dg1-6/igt@kms_chamelium@common-hpd-after-suspend.html

  * igt@kms_chamelium@hdmi-edid-read:
    - fi-rkl-11600:       NOTRUN -> [SKIP][14] ([fdo#111827]) +7 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@kms_chamelium@hdmi-edid-read.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor:
    - fi-rkl-11600:       NOTRUN -> [SKIP][15] ([i915#4103])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@kms_cursor_legacy@basic-busy-flip-before-cursor.html

  * igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
    - fi-bsw-kefka:       [PASS][16] -> [FAIL][17] ([i915#6298])
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12541/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html

  * igt@kms_force_connector_basic@force-load-detect:
    - fi-rkl-11600:       NOTRUN -> [SKIP][18] ([fdo#109285] / [i915#4098])
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@kms_force_connector_basic@force-load-detect.html

  * igt@kms_psr@primary_page_flip:
    - fi-rkl-11600:       NOTRUN -> [SKIP][19] ([i915#1072]) +3 similar issues
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@kms_psr@primary_page_flip.html

  * igt@kms_setmode@basic-clone-single-crtc:
    - fi-rkl-11600:       NOTRUN -> [SKIP][20] ([i915#3555] / [i915#4098])
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@kms_setmode@basic-clone-single-crtc.html

  * igt@prime_vgem@basic-read:
    - fi-rkl-11600:       NOTRUN -> [SKIP][21] ([fdo#109295] / [i915#3291] / [i915#3708]) +2 similar issues
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@prime_vgem@basic-read.html

  * igt@prime_vgem@basic-userptr:
    - fi-rkl-11600:       NOTRUN -> [SKIP][22] ([fdo#109295] / [i915#3301] / [i915#3708])
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-rkl-11600/igt@prime_vgem@basic-userptr.html

  * igt@runner@aborted:
    - bat-adlp-4:         NOTRUN -> [FAIL][23] ([i915#4312])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/bat-adlp-4/igt@runner@aborted.html
    - fi-icl-u2:          NOTRUN -> [FAIL][24] ([i915#4312])
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/fi-icl-u2/igt@runner@aborted.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@hangcheck:
    - bat-dg1-6:          [INCOMPLETE][25] -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12541/bat-dg1-6/igt@i915_selftest@live@hangcheck.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/bat-dg1-6/igt@i915_selftest@live@hangcheck.html

  * igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1:
    - {bat-adlp-9}:       [DMESG-WARN][27] ([i915#2867]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12541/bat-adlp-9/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v2/bat-adlp-9/igt@kms_pipe_crc_basic@suspend-read-crc@pipe-c-dp-1.html

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

  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
  [i915#7336]: https://gitlab.freedesktop.org/drm/intel/issues/7336
  [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561


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

  * Linux: CI_DRM_12541 -> Patchwork_112292v2

  CI-20190529: 20190529
  CI_DRM_12541: b832866fa6063614b3637598aca19aee3bc3039f @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7106: 8cce332bdc50d2b20d553d7a0221737f4399d031 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_112292v2: b832866fa6063614b3637598aca19aee3bc3039f @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

d2b933ac57c7 drm/i915: Expand force_probe to block probe of devices as well.

== Logs ==

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

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

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

* [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2023-01-04  9:39           ` Jani Nikula
@ 2023-01-04 18:55             ` Rodrigo Vivi
  2023-01-05 19:22               ` Rodrigo Vivi
  0 siblings, 1 reply; 15+ messages in thread
From: Rodrigo Vivi @ 2023-01-04 18:55 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula, Rodrigo Vivi

There are new cases where we want to block i915 probe, such
as when experimenting or developing the new Xe driver.

But also, with the new hybrid cards, users or developers might
want to use i915 only on integrated and fully block the probe
of the i915 for the discrete. Or vice versa.

There are even older development and validation reasons,
like when you use some distro where the modprobe.blacklist is
not present.

But in any case, let's introduce a more granular control, but without
introducing yet another parameter, but using the existent force_probe
one.

Just by adding a ! in the begin of the id in the force_probe, like
in this case where we would block the probe for Alder Lake:

$ insmod i915.ko force_probe='!46a6'

v2: Take care of '*' and  '!*' cases as pointed out by
    Gustavo and Jani.
v3: Information message improvements by Michal.
    Documentation improvements by Jani.

Cc: Jani Nikula <jani.nikula@intel.com>
Cc: Gustavo Sousa <gustavo.sousa@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com> #v2
Acked-by: Gustavo Sousa <gustavo.sousa@intel.com>
Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
---
 drivers/gpu/drm/i915/Kconfig       | 21 ++++++++++++++++---
 drivers/gpu/drm/i915/i915_params.c |  2 +-
 drivers/gpu/drm/i915/i915_pci.c    | 33 +++++++++++++++++++++++++-----
 3 files changed, 47 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
index 3efce05d7b57..3dfc1f5ce4de 100644
--- a/drivers/gpu/drm/i915/Kconfig
+++ b/drivers/gpu/drm/i915/Kconfig
@@ -54,24 +54,39 @@ config DRM_I915
 	  If "M" is selected, the module will be called i915.
 
 config DRM_I915_FORCE_PROBE
-	string "Force probe driver for selected new Intel hardware"
+	string "Force probe i915 for selected Intel hardware IDs"
 	depends on DRM_I915
 	help
 	  This is the default value for the i915.force_probe module
 	  parameter. Using the module parameter overrides this option.
 
-	  Force probe the driver for new Intel graphics devices that are
+	  Force probe the i915 for Intel graphics devices that are
 	  recognized but not properly supported by this kernel version. It is
 	  recommended to upgrade to a kernel version with proper support as soon
 	  as it is available.
 
+	  It can also be used to block the probe of recognized and fully
+	  supported devices.
+
 	  Use "" to disable force probe. If in doubt, use this.
 
-	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
+	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
 	  devices. For example, "4500" or "4500,4571".
 
 	  Use "*" to force probe the driver for all known devices.
 
+	  Use "!" right before the ID to block the probe of the device. For
+	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
+	  4571.
+
+	  Use "!*" to block the probe of the driver for all known devices.
+
+	  Please be aware that '*' cannot be combined with IDs. For example,
+	  "1234,!*" will result in the global block, even for "1234".
+
+	  Also, the '!' case supersedes the regular case. For example,
+	  "1234,!1234" and "!1234,1234" both block 1234.
+
 config DRM_I915_CAPTURE_ERROR
 	bool "Enable capturing GPU state following a hang"
 	depends on DRM_I915
diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
index 61578f2860cd..d634bd3f641a 100644
--- a/drivers/gpu/drm/i915/i915_params.c
+++ b/drivers/gpu/drm/i915/i915_params.c
@@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
 	"Default: 0");
 
 i915_param_named_unsafe(force_probe, charp, 0400,
-	"Force probe the driver for specified devices. "
+	"Force probe options for specified supported devices. "
 	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
 
 i915_param_named_unsafe(disable_power_well, int, 0400,
diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
index 7fd74cc28c0a..1bcbca38ce5c 100644
--- a/drivers/gpu/drm/i915/i915_pci.c
+++ b/drivers/gpu/drm/i915/i915_pci.c
@@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
 }
 
 /* is device_id present in comma separated list of ids */
-static bool force_probe(u16 device_id, const char *devices)
+static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
 {
 	char *s, *p, *tok;
 	bool ret;
@@ -1262,7 +1262,9 @@ static bool force_probe(u16 device_id, const char *devices)
 		return false;
 
 	/* match everything */
-	if (strcmp(devices, "*") == 0)
+	if (negative && strcmp(devices, "!*") == 0)
+		return true;
+	if (!negative && strcmp(devices, "*") == 0)
 		return true;
 
 	s = kstrdup(devices, GFP_KERNEL);
@@ -1272,6 +1274,12 @@ static bool force_probe(u16 device_id, const char *devices)
 	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
 		u16 val;
 
+		if (negative && tok[0] == '!')
+			tok++;
+		else if ((negative && tok[0] != '!') ||
+			 (!negative && tok[0] == '!'))
+			continue;
+
 		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
 			ret = true;
 			break;
@@ -1283,6 +1291,16 @@ static bool force_probe(u16 device_id, const char *devices)
 	return ret;
 }
 
+static bool id_forced(u16 device_id)
+{
+	return device_id_in_list(device_id, i915_modparams.force_probe, false);
+}
+
+static bool id_blocked(u16 device_id)
+{
+	return device_id_in_list(device_id, i915_modparams.force_probe, true);
+}
+
 bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
 {
 	if (!pci_resource_flags(pdev, bar))
@@ -1308,10 +1326,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		(struct intel_device_info *) ent->driver_data;
 	int err;
 
-	if (intel_info->require_force_probe &&
-	    !force_probe(pdev->device, i915_modparams.force_probe)) {
+	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
 		dev_info(&pdev->dev,
-			 "Your graphics device %04x is not properly supported by the driver in this\n"
+			 "Your graphics device %04x is not properly supported by i915 in this\n"
 			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
 			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
 			 "or (recommended) check for kernel updates.\n",
@@ -1319,6 +1336,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 		return -ENODEV;
 	}
 
+	if (id_blocked(pdev->device)) {
+		dev_info(&pdev->dev, "Probe blocked for device [%04x:%04x].\n",
+			 pdev->vendor, pdev->device);
+		return -ENODEV;
+	}
+
 	/* Only bind to function 0 of the device. Early generations
 	 * used function 1 as a placeholder for multi-head. This causes
 	 * us confusion instead, especially on the systems where both
-- 
2.38.1


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

* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Expand force_probe to block probe of devices as well. (rev3)
  2022-12-29 16:12 [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well Rodrigo Vivi
                   ` (3 preceding siblings ...)
  2023-01-04 14:19 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Expand force_probe to block probe of devices as well. (rev2) Patchwork
@ 2023-01-04 20:30 ` Patchwork
  2023-01-05  2:04 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2023-01-04 20:30 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Expand force_probe to block probe of devices as well. (rev3)
URL   : https://patchwork.freedesktop.org/series/112292/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12546 -> Patchwork_112292v3
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (43 -> 41)
------------------------------

  Missing    (2): bat-atsm-1 fi-snb-2520m 

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

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

### IGT changes ###

#### Possible fixes ####

  * igt@gem_exec_suspend@basic-s0@smem:
    - {bat-adlp-6}:       [DMESG-WARN][1] ([i915#2867]) -> [PASS][2] +2 similar issues
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/bat-adlp-6/igt@gem_exec_suspend@basic-s0@smem.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/bat-adlp-6/igt@gem_exec_suspend@basic-s0@smem.html

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

  [i915#2867]: https://gitlab.freedesktop.org/drm/intel/issues/2867
  [i915#6257]: https://gitlab.freedesktop.org/drm/intel/issues/6257
  [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367
  [i915#6997]: https://gitlab.freedesktop.org/drm/intel/issues/6997
  [i915#7336]: https://gitlab.freedesktop.org/drm/intel/issues/7336


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

  * Linux: CI_DRM_12546 -> Patchwork_112292v3

  CI-20190529: 20190529
  CI_DRM_12546: 07a684fbd4d0f5e284e8a782e0298f772fc4164e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7107: 4f22b49ee353406c14ce8bb3151ebe3ce4e6e9be @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_112292v3: 07a684fbd4d0f5e284e8a782e0298f772fc4164e @ git://anongit.freedesktop.org/gfx-ci/linux


### Linux commits

7c84d6caf781 drm/i915: Expand force_probe to block probe of devices as well.

== Logs ==

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

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

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

* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915: Expand force_probe to block probe of devices as well. (rev3)
  2022-12-29 16:12 [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well Rodrigo Vivi
                   ` (4 preceding siblings ...)
  2023-01-04 20:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Expand force_probe to block probe of devices as well. (rev3) Patchwork
@ 2023-01-05  2:04 ` Patchwork
  5 siblings, 0 replies; 15+ messages in thread
From: Patchwork @ 2023-01-05  2:04 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

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

== Series Details ==

Series: drm/i915: Expand force_probe to block probe of devices as well. (rev3)
URL   : https://patchwork.freedesktop.org/series/112292/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12546_full -> Patchwork_112292v3_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

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

  Additional (1): shard-rkl0 
  Missing    (4): pig-skl-6260u pig-kbl-iris shard-tglu-9 pig-glk-j5005 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-pace-solo@rcs0:
    - shard-glk:          [PASS][1] -> [FAIL][2] ([i915#2842])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-glk7/igt@gem_exec_fair@basic-pace-solo@rcs0.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-glk2/igt@gem_exec_fair@basic-pace-solo@rcs0.html

  * igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions:
    - shard-glk:          [PASS][3] -> [FAIL][4] ([i915#2346])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-glk6/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-glk7/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html

  * igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1:
    - shard-glk:          NOTRUN -> [SKIP][5] ([fdo#109271])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-glk9/igt@kms_dither@fb-8bpc-vs-panel-6bpc@pipe-a-hdmi-a-1.html

  
#### Possible fixes ####

  * igt@drm_fdinfo@virtual-idle:
    - {shard-rkl}:        [FAIL][6] ([i915#7742]) -> [PASS][7]
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-1/igt@drm_fdinfo@virtual-idle.html
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-6/igt@drm_fdinfo@virtual-idle.html

  * igt@gem_eio@suspend:
    - {shard-rkl}:        [FAIL][8] ([i915#7052]) -> [PASS][9]
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-4/igt@gem_eio@suspend.html
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-2/igt@gem_eio@suspend.html

  * igt@gem_exec_fair@basic-pace@rcs0:
    - {shard-rkl}:        [FAIL][10] ([i915#2842]) -> [PASS][11] +2 similar issues
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-3/igt@gem_exec_fair@basic-pace@rcs0.html
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-5/igt@gem_exec_fair@basic-pace@rcs0.html

  * igt@gem_exec_reloc@basic-cpu-gtt-noreloc:
    - {shard-rkl}:        [SKIP][12] ([i915#3281]) -> [PASS][13] +8 similar issues
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-6/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-5/igt@gem_exec_reloc@basic-cpu-gtt-noreloc.html

  * igt@gem_pwrite@basic-self:
    - {shard-rkl}:        [SKIP][14] ([i915#3282]) -> [PASS][15] +1 similar issue
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-6/igt@gem_pwrite@basic-self.html
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-5/igt@gem_pwrite@basic-self.html

  * igt@gen9_exec_parse@allowed-single:
    - {shard-rkl}:        [SKIP][16] ([i915#2527]) -> [PASS][17]
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-3/igt@gen9_exec_parse@allowed-single.html
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-5/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_rc6_residency@rc6-idle@rcs0:
    - {shard-dg1}:        [FAIL][18] ([i915#3591]) -> [PASS][19]
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-dg1-16/igt@i915_pm_rc6_residency@rc6-idle@rcs0.html

  * igt@i915_selftest@live@gt_heartbeat:
    - shard-glk:          [DMESG-FAIL][20] ([i915#5334]) -> [PASS][21]
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-glk5/igt@i915_selftest@live@gt_heartbeat.html
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-glk6/igt@i915_selftest@live@gt_heartbeat.html

  * igt@i915_selftest@live@gt_pm:
    - {shard-rkl}:        [DMESG-FAIL][22] ([i915#4258]) -> [PASS][23]
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-6/igt@i915_selftest@live@gt_pm.html
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-6/igt@i915_selftest@live@gt_pm.html

  * igt@kms_big_fb@y-tiled-64bpp-rotate-180:
    - {shard-tglu}:       [SKIP][24] ([i915#1845] / [i915#7651]) -> [PASS][25] +2 similar issues
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-tglu-6/igt@kms_big_fb@y-tiled-64bpp-rotate-180.html
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-tglu-2/igt@kms_big_fb@y-tiled-64bpp-rotate-180.html

  * igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_gen12_rc_ccs_cc:
    - {shard-tglu}:       [SKIP][26] ([i915#7651]) -> [PASS][27] +10 similar issues
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-tglu-6/igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_gen12_rc_ccs_cc.html
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-tglu-2/igt@kms_ccs@pipe-d-crc-primary-basic-y_tiled_gen12_rc_ccs_cc.html

  * igt@kms_frontbuffer_tracking@psr-suspend:
    - {shard-rkl}:        [SKIP][28] ([i915#1849] / [i915#4098]) -> [PASS][29] +5 similar issues
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-1/igt@kms_frontbuffer_tracking@psr-suspend.html
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-suspend.html

  * igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes:
    - {shard-tglu}:       [SKIP][30] ([i915#1849]) -> [PASS][31] +3 similar issues
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-tglu-6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-tglu-2/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
    - {shard-rkl}:        [SKIP][32] ([i915#1849]) -> [PASS][33] +1 similar issue
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-1/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-6/igt@kms_plane@plane-panning-bottom-right-suspend@pipe-a-planes.html

  * igt@kms_properties@plane-properties-atomic:
    - {shard-rkl}:        [SKIP][34] -> [PASS][35]
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-1/igt@kms_properties@plane-properties-atomic.html
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-6/igt@kms_properties@plane-properties-atomic.html
    - {shard-tglu}:       [SKIP][36] -> [PASS][37]
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-tglu-6/igt@kms_properties@plane-properties-atomic.html
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-tglu-2/igt@kms_properties@plane-properties-atomic.html

  * igt@kms_universal_plane@cursor-fb-leak-pipe-b:
    - {shard-rkl}:        [SKIP][38] ([i915#1845] / [i915#4070] / [i915#4098]) -> [PASS][39]
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-1/igt@kms_universal_plane@cursor-fb-leak-pipe-b.html
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-6/igt@kms_universal_plane@cursor-fb-leak-pipe-b.html
    - {shard-tglu}:       [SKIP][40] ([fdo#109274]) -> [PASS][41]
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-tglu-6/igt@kms_universal_plane@cursor-fb-leak-pipe-b.html
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-tglu-2/igt@kms_universal_plane@cursor-fb-leak-pipe-b.html

  * igt@kms_vblank@pipe-b-query-idle:
    - {shard-rkl}:        [SKIP][42] ([i915#1845] / [i915#4098]) -> [PASS][43] +9 similar issues
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-1/igt@kms_vblank@pipe-b-query-idle.html
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-6/igt@kms_vblank@pipe-b-query-idle.html

  * igt@prime_vgem@basic-write:
    - {shard-rkl}:        [SKIP][44] ([fdo#109295] / [i915#3291] / [i915#3708]) -> [PASS][45]
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12546/shard-rkl-6/igt@prime_vgem@basic-write.html
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_112292v3/shard-rkl-5/igt@prime_vgem@basic-write.html

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

  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109279]: https://bugs.freedesktop.org/show_bug.cgi?id=109279
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109283]: https://bugs.freedesktop.org/show_bug.cgi?id=109283
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
  [fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
  [fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
  [fdo#109315]: https://bugs.freedesktop.org/show_bug.cgi?id=109315
  [fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [fdo#110542]: https://bugs.freedesktop.org/show_bug.cgi?id=110542
  [fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
  [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068
  [fdo#111614]: https://bugs.freedesktop.org/show_bug.cgi?id=111614
  [fdo#111615]: https://bugs.freedesktop.org/show_bug.cgi?id=111615
  [fdo#111644]: https://bugs.freedesktop.org/show_bug.cgi?id=111644
  [fdo#111656]: https://bugs.freedesktop.org/show_bug.cgi?id=111656
  [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
  [fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
  [fdo#112054]: https://bugs.freedesktop.org/show_bug.cgi?id=112054
  [fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1825]: https://gitlab.freedesktop.org/drm/intel/issues/1825
  [i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
  [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845
  [i915#1849]: https://gitlab.freedesktop.org/drm/intel/issues/1849
  [i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
  [i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
  [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
  [i915#2532]: https://gitlab.freedesktop.org/drm/intel/issues/2532
  [i915#2575]: https://gitlab.freedesktop.org/drm/intel/issues/2575
  [i915#2582]: https://gitlab.freedesktop.org/drm/intel/issues/2582
  [i915#2587]: https://gitlab.freedesktop.org/drm/intel/issues/2587
  [i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
  [i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
  [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681
  [i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
  [i915#280]: https://gitlab.freedesktop.org/drm/intel/issues/280
  [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
  [i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
  [i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
  [i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
  [i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
  [i915#3281]: https://gitlab.freedesktop.org/drm/intel/issues/3281
  [i915#3282]: https://gitlab.freedesktop.org/drm/intel/issues/3282
  [i915#3291]: https://gitlab.freedesktop.org/drm/intel/issues/3291
  [i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3528]: https://gitlab.freedesktop.org/drm/intel/issues/3528
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591
  [i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
  [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638
  [i915#3639]: https://gitlab.freedesktop.org/drm/intel/issues/3639
  [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
  [i915#3708]: https://gitlab.freedesktop.org/drm/intel/issues/3708
  [i915#3734]: https://gitlab.freedesktop.org/drm/intel/issues/3734
  [i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
  [i915#3810]: https://gitlab.freedesktop.org/drm/intel/issues/3810
  [i915#3825]: https://gitlab.freedesktop.org/drm/intel/issues/3825
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#404]: https://gitlab.freedesktop.org/drm/intel/issues/404
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
  [i915#426]: https://gitlab.freedesktop.org/drm/intel/issues/426
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4877]: https://gitlab.freedesktop.org/drm/intel/issues/4877
  [i915#4958]: https://gitlab.freedesktop.org/drm/intel/issues/4958
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
  [i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
  [i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
  [i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
  [i915#5325]: https://gitlab.freedesktop.org/drm/intel/issues/5325
  [i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327
  [i915#533]: https://gitlab.freedesktop.org/drm/intel/issues/533
  [i915#5334]: https://gitlab.freedesktop.org/drm/intel/issues/5334
  [i915#5439]: https://gitlab.freedesktop.org/drm/intel/issues/5439
  [i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
  [i915#5563]: https://gitlab.freedesktop.org/drm/intel/issues/5563
  [i915#5723]: https://gitlab.freedesktop.org/drm/intel/issues/5723
  [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
  [i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
  [i915#6247]: https://gitlab.freedesktop.org/drm/intel/issues/6247
  [i915#6248]: https://gitlab.freedesktop.org/drm/intel/issues/6248
  [i915#6301]: https://gitlab.freedesktop.org/drm/intel/issues/6301
  [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
  [i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
  [i915#6355]: https://gitlab.freedesktop.org/drm/intel/issues/6355
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#7052]: https://gitlab.freedesktop.org/drm/intel/issues/7052
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7456]: https://gitlab.freedesktop.org/drm/intel/issues/7456
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7582]: https://gitlab.freedesktop.org/drm/intel/issues/7582
  [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
  [i915#7681]: https://gitlab.freedesktop.org/drm/intel/issues/7681
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7707]: https://gitlab.freedesktop.org/drm/intel/issues/7707
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742


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

  * Linux: CI_DRM_12546 -> Patchwork_112292v3
  * Piglit: piglit_4509 -> None

  CI-20190529: 20190529
  CI_DRM_12546: 07a684fbd4d0f5e284e8a782e0298f772fc4164e @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_7107: 4f22b49ee353406c14ce8bb3151ebe3ce4e6e9be @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
  Patchwork_112292v3: 07a684fbd4d0f5e284e8a782e0298f772fc4164e @ 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_112292v3/index.html

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

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

* Re: [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well.
  2023-01-04 18:55             ` Rodrigo Vivi
@ 2023-01-05 19:22               ` Rodrigo Vivi
  0 siblings, 0 replies; 15+ messages in thread
From: Rodrigo Vivi @ 2023-01-05 19:22 UTC (permalink / raw)
  To: intel-gfx; +Cc: Jani Nikula

On Wed, Jan 04, 2023 at 01:55:46PM -0500, Rodrigo Vivi wrote:
> There are new cases where we want to block i915 probe, such
> as when experimenting or developing the new Xe driver.
> 
> But also, with the new hybrid cards, users or developers might
> want to use i915 only on integrated and fully block the probe
> of the i915 for the discrete. Or vice versa.
> 
> There are even older development and validation reasons,
> like when you use some distro where the modprobe.blacklist is
> not present.
> 
> But in any case, let's introduce a more granular control, but without
> introducing yet another parameter, but using the existent force_probe
> one.
> 
> Just by adding a ! in the begin of the id in the force_probe, like
> in this case where we would block the probe for Alder Lake:
> 
> $ insmod i915.ko force_probe='!46a6'
> 
> v2: Take care of '*' and  '!*' cases as pointed out by
>     Gustavo and Jani.
> v3: Information message improvements by Michal.
>     Documentation improvements by Jani.

Please disregard this goofy v3. Pushed the v2 with the commit message fixes.

> 
> Cc: Jani Nikula <jani.nikula@intel.com>
> Cc: Gustavo Sousa <gustavo.sousa@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> Reviewed-by: Jani Nikula <jani.nikula@intel.com> #v2
> Acked-by: Gustavo Sousa <gustavo.sousa@intel.com>
> Cc: Michal Wajdeczko <michal.wajdeczko@intel.com>
> ---
>  drivers/gpu/drm/i915/Kconfig       | 21 ++++++++++++++++---
>  drivers/gpu/drm/i915/i915_params.c |  2 +-
>  drivers/gpu/drm/i915/i915_pci.c    | 33 +++++++++++++++++++++++++-----
>  3 files changed, 47 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/Kconfig b/drivers/gpu/drm/i915/Kconfig
> index 3efce05d7b57..3dfc1f5ce4de 100644
> --- a/drivers/gpu/drm/i915/Kconfig
> +++ b/drivers/gpu/drm/i915/Kconfig
> @@ -54,24 +54,39 @@ config DRM_I915
>  	  If "M" is selected, the module will be called i915.
>  
>  config DRM_I915_FORCE_PROBE
> -	string "Force probe driver for selected new Intel hardware"
> +	string "Force probe i915 for selected Intel hardware IDs"
>  	depends on DRM_I915
>  	help
>  	  This is the default value for the i915.force_probe module
>  	  parameter. Using the module parameter overrides this option.
>  
> -	  Force probe the driver for new Intel graphics devices that are
> +	  Force probe the i915 for Intel graphics devices that are
>  	  recognized but not properly supported by this kernel version. It is
>  	  recommended to upgrade to a kernel version with proper support as soon
>  	  as it is available.
>  
> +	  It can also be used to block the probe of recognized and fully
> +	  supported devices.
> +
>  	  Use "" to disable force probe. If in doubt, use this.
>  
> -	  Use "<pci-id>[,<pci-id>,...]" to force probe the driver for listed
> +	  Use "<pci-id>[,<pci-id>,...]" to force probe the i915 for listed
>  	  devices. For example, "4500" or "4500,4571".
>  
>  	  Use "*" to force probe the driver for all known devices.
>  
> +	  Use "!" right before the ID to block the probe of the device. For
> +	  example, "4500,!4571" forces the probe of 4500 and blocks the probe of
> +	  4571.
> +
> +	  Use "!*" to block the probe of the driver for all known devices.
> +
> +	  Please be aware that '*' cannot be combined with IDs. For example,
> +	  "1234,!*" will result in the global block, even for "1234".
> +
> +	  Also, the '!' case supersedes the regular case. For example,
> +	  "1234,!1234" and "!1234,1234" both block 1234.
> +
>  config DRM_I915_CAPTURE_ERROR
>  	bool "Enable capturing GPU state following a hang"
>  	depends on DRM_I915
> diff --git a/drivers/gpu/drm/i915/i915_params.c b/drivers/gpu/drm/i915/i915_params.c
> index 61578f2860cd..d634bd3f641a 100644
> --- a/drivers/gpu/drm/i915/i915_params.c
> +++ b/drivers/gpu/drm/i915/i915_params.c
> @@ -122,7 +122,7 @@ i915_param_named_unsafe(enable_psr2_sel_fetch, bool, 0400,
>  	"Default: 0");
>  
>  i915_param_named_unsafe(force_probe, charp, 0400,
> -	"Force probe the driver for specified devices. "
> +	"Force probe options for specified supported devices. "
>  	"See CONFIG_DRM_I915_FORCE_PROBE for details.");
>  
>  i915_param_named_unsafe(disable_power_well, int, 0400,
> diff --git a/drivers/gpu/drm/i915/i915_pci.c b/drivers/gpu/drm/i915/i915_pci.c
> index 7fd74cc28c0a..1bcbca38ce5c 100644
> --- a/drivers/gpu/drm/i915/i915_pci.c
> +++ b/drivers/gpu/drm/i915/i915_pci.c
> @@ -1253,7 +1253,7 @@ static void i915_pci_remove(struct pci_dev *pdev)
>  }
>  
>  /* is device_id present in comma separated list of ids */
> -static bool force_probe(u16 device_id, const char *devices)
> +static bool device_id_in_list(u16 device_id, const char *devices, bool negative)
>  {
>  	char *s, *p, *tok;
>  	bool ret;
> @@ -1262,7 +1262,9 @@ static bool force_probe(u16 device_id, const char *devices)
>  		return false;
>  
>  	/* match everything */
> -	if (strcmp(devices, "*") == 0)
> +	if (negative && strcmp(devices, "!*") == 0)
> +		return true;
> +	if (!negative && strcmp(devices, "*") == 0)
>  		return true;
>  
>  	s = kstrdup(devices, GFP_KERNEL);
> @@ -1272,6 +1274,12 @@ static bool force_probe(u16 device_id, const char *devices)
>  	for (p = s, ret = false; (tok = strsep(&p, ",")) != NULL; ) {
>  		u16 val;
>  
> +		if (negative && tok[0] == '!')
> +			tok++;
> +		else if ((negative && tok[0] != '!') ||
> +			 (!negative && tok[0] == '!'))
> +			continue;
> +
>  		if (kstrtou16(tok, 16, &val) == 0 && val == device_id) {
>  			ret = true;
>  			break;
> @@ -1283,6 +1291,16 @@ static bool force_probe(u16 device_id, const char *devices)
>  	return ret;
>  }
>  
> +static bool id_forced(u16 device_id)
> +{
> +	return device_id_in_list(device_id, i915_modparams.force_probe, false);
> +}
> +
> +static bool id_blocked(u16 device_id)
> +{
> +	return device_id_in_list(device_id, i915_modparams.force_probe, true);
> +}
> +
>  bool i915_pci_resource_valid(struct pci_dev *pdev, int bar)
>  {
>  	if (!pci_resource_flags(pdev, bar))
> @@ -1308,10 +1326,9 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		(struct intel_device_info *) ent->driver_data;
>  	int err;
>  
> -	if (intel_info->require_force_probe &&
> -	    !force_probe(pdev->device, i915_modparams.force_probe)) {
> +	if (intel_info->require_force_probe && !id_forced(pdev->device)) {
>  		dev_info(&pdev->dev,
> -			 "Your graphics device %04x is not properly supported by the driver in this\n"
> +			 "Your graphics device %04x is not properly supported by i915 in this\n"
>  			 "kernel version. To force driver probe anyway, use i915.force_probe=%04x\n"
>  			 "module parameter or CONFIG_DRM_I915_FORCE_PROBE=%04x configuration option,\n"
>  			 "or (recommended) check for kernel updates.\n",
> @@ -1319,6 +1336,12 @@ static int i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  		return -ENODEV;
>  	}
>  
> +	if (id_blocked(pdev->device)) {
> +		dev_info(&pdev->dev, "Probe blocked for device [%04x:%04x].\n",
> +			 pdev->vendor, pdev->device);
> +		return -ENODEV;
> +	}
> +
>  	/* Only bind to function 0 of the device. Early generations
>  	 * used function 1 as a placeholder for multi-head. This causes
>  	 * us confusion instead, especially on the systems where both
> -- 
> 2.38.1
> 

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

end of thread, other threads:[~2023-01-05 19:23 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-29 16:12 [Intel-gfx] [PATCH] drm/i915: Expand force_probe to block probe of devices as well Rodrigo Vivi
2022-12-29 16:39 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork
2022-12-29 17:02 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork
2022-12-29 18:01 ` [Intel-gfx] [PATCH] " Gustavo Sousa
2022-12-30  8:18   ` Rodrigo Vivi
2022-12-30 12:42     ` Jani Nikula
2022-12-30 17:08       ` Rodrigo Vivi
2023-01-03 19:47         ` Rodrigo Vivi
2023-01-04  9:39           ` Jani Nikula
2023-01-04 18:55             ` Rodrigo Vivi
2023-01-05 19:22               ` Rodrigo Vivi
2023-01-04 12:22           ` Gustavo Sousa
2023-01-04 14:19 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915: Expand force_probe to block probe of devices as well. (rev2) Patchwork
2023-01-04 20:30 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915: Expand force_probe to block probe of devices as well. (rev3) Patchwork
2023-01-05  2:04 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork

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