Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t 0/2] tests/i915/i915_pm_dc: Add DC6 test for mtl
@ 2023-03-15 21:01 Mohammed Thasleem
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS " Mohammed Thasleem
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Mohammed Thasleem @ 2023-03-15 21:01 UTC (permalink / raw)
  To: igt-dev

The flow for DC6 validation has changed for MTL.
DC6 state achieved based on PKGC10 entry.
This test validates PKGC10 entry and confirm DC6 achieved.

Mohammed Thasleem (2):
  tests/i915/i915_pm_dc: Add DC6 DPMS test for mtl
  tests/i915/i915_pm_dc: Add DC6 PSR test for mtl

 tests/i915/i915_pm_dc.c | 92 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 90 insertions(+), 2 deletions(-)

-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS test for mtl
  2023-03-15 21:01 [igt-dev] [PATCH i-g-t 0/2] tests/i915/i915_pm_dc: Add DC6 test for mtl Mohammed Thasleem
@ 2023-03-15 21:01 ` Mohammed Thasleem
  2023-03-21 22:56   ` Imre Deak
  2023-03-27 19:30   ` [igt-dev] [PATCH v3 " Mohammed Thasleem
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/i915_pm_dc: Add DC6 PSR " Mohammed Thasleem
                   ` (3 subsequent siblings)
  4 siblings, 2 replies; 11+ messages in thread
From: Mohammed Thasleem @ 2023-03-15 21:01 UTC (permalink / raw)
  To: igt-dev

The flow for DC6 validation has changed for MTL.
DC6 state achieved based on PKGC10 entry.
This test validates PKGC10 entry and confirm DC6 achieved

Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
---
 tests/i915/i915_pm_dc.c | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 1c695b50..322a0c60 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -45,6 +45,7 @@
 #define PWR_DOMAIN_INFO "i915_power_domain_info"
 #define RPM_STATUS "i915_runtime_pm_status"
 #define KMS_HELPER "/sys/module/drm_kms_helper/parameters/"
+#define PACKAGE_STATE_PATH "/sys/kernel/debug/pmc_core/"
 #define KMS_POLL_DISABLE 0
 #define DC9_RESETS_DC_COUNTERS(devid) (!(IS_DG1(devid) || IS_DG2(devid)))
 
@@ -60,6 +61,7 @@ typedef struct {
 	int drm_fd;
 	int msr_fd;
 	int debugfs_fd;
+	int pmc_fd;
 	uint32_t devid;
 	char *debugfs_dump;
 	igt_display_t display;
@@ -519,6 +521,36 @@ static int has_panels_without_dc_support(igt_display_t *display)
 	return external_panel;
 }
 
+static unsigned int read_pkc_state_value(int pmc_fd)
+{
+	char buf[4096];
+	char *str;
+
+	igt_require((pmc_fd = open(PACKAGE_STATE_PATH, O_RDONLY)) >= 0);
+
+	igt_debugfs_simple_read(pmc_fd, "package_cstate_show",
+				buf, sizeof(buf));
+	igt_skip_on_f(!strstr(buf, "Package C10"),
+		      "PK10 will be not supported.\n");
+	str = strstr(buf, "Package C10");
+	igt_assert_f(str, "PKC10 value not available\n");
+
+	return get_dc_counter(str);
+}
+
+static void test_pkc_state_dpms(data_t *data)
+{
+	unsigned int timeout_msec = 30;
+	unsigned int prev_value = 0, cur_value = 0;
+
+	prev_value = read_pkc_state_value(data->pmc_fd);
+	dpms_off(data);
+	igt_wait((cur_value = read_pkc_state_value(data->pmc_fd)),
+		  timeout_msec * 1000, 100);
+	igt_assert_f(cur_value > prev_value, "PK10 is not achieived.\n");
+	dpms_on(data);
+}
+
 static void kms_poll_state_restore(int sig)
 {
 	int sysfs_fd;
@@ -600,7 +632,11 @@ igt_main
 	igt_subtest("dc6-dpms") {
 		igt_require_f(igt_pm_pc8_plus_residencies_enabled(data.msr_fd),
 			      "PC8+ residencies not supported\n");
-		test_dc_state_dpms(&data, CHECK_DC6);
+		if (intel_display_ver(data.devid) == 14)
+			test_pkc_state_dpms(&data);
+		else
+			test_dc_state_dpms(&data, CHECK_DC6);
+
 	}
 
 	igt_describe("This test validates display engine entry to DC9 state");
-- 
2.25.1

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

* [igt-dev] [PATCH i-g-t 2/2] tests/i915/i915_pm_dc: Add DC6 PSR test for mtl
  2023-03-15 21:01 [igt-dev] [PATCH i-g-t 0/2] tests/i915/i915_pm_dc: Add DC6 test for mtl Mohammed Thasleem
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS " Mohammed Thasleem
@ 2023-03-15 21:01 ` Mohammed Thasleem
  2023-03-27 10:26   ` Hogander, Jouni
  2023-04-04 12:10   ` Hogander, Jouni
  2023-03-15 22:05 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev2) Patchwork
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 11+ messages in thread
From: Mohammed Thasleem @ 2023-03-15 21:01 UTC (permalink / raw)
  To: igt-dev

The flow for DC6 validation has changed for MTL.
DC6 state achieved based on PKGC10 entry.
This test validates PKGC10 entry and confirm DC6 achieved.

Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
---
 tests/i915/i915_pm_dc.c | 54 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 53 insertions(+), 1 deletion(-)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 322a0c60..ed573ce6 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -407,6 +407,38 @@ static void dpms_on(data_t *data)
 			   (IGT_RUNTIME_PM_STATUS_ACTIVE));
 }
 
+static void psr_pkc_enable(data_t *data)
+{
+	igt_output_t *output;
+
+	for_each_connected_output(&data->display, output) {
+		drmModeConnectorPtr c = output->config.connector;
+
+		if (c->connector_type == DRM_MODE_CONNECTOR_eDP)
+			continue;
+
+		kmstest_set_connector_dpms(data->drm_fd,
+					   data->display.outputs->config.connector,
+					   DRM_MODE_DPMS_OFF);
+	}
+}
+
+static void psr_pkc_disable(data_t *data)
+{
+	igt_output_t *output;
+
+	for_each_connected_output(&data->display, output) {
+		drmModeConnectorPtr c = output->config.connector;
+
+		if (c->connector_type == DRM_MODE_CONNECTOR_eDP)
+			continue;
+
+		kmstest_set_connector_dpms(data->drm_fd,
+					   data->display.outputs->config.connector,
+					   DRM_MODE_DPMS_ON);
+	}
+}
+
 static void test_dc_state_dpms(data_t *data, int dc_flag)
 {
 	uint32_t dc_counter;
@@ -551,6 +583,23 @@ static void test_pkc_state_dpms(data_t *data)
 	dpms_on(data);
 }
 
+static void test_pkc_state_psr(data_t *data)
+{
+	unsigned int timeout_msec = 30;
+	unsigned int prev_value = 0, cur_value = 0;
+
+	prev_value = read_pkc_state_value(data->pmc_fd);
+	setup_output(data);
+	setup_primary(data);
+	igt_assert(psr_wait_entry(data->debugfs_fd, data->op_psr_mode));
+	psr_pkc_enable(data);
+	cleanup_dc_psr(data);
+	igt_wait((cur_value = read_pkc_state_value(data->pmc_fd)),
+		  timeout_msec * 1000, 100);
+	igt_assert_f(cur_value > prev_value, "PK10 is not achieived.\n");
+	psr_pkc_disable(data);
+}
+
 static void kms_poll_state_restore(int sig)
 {
 	int sysfs_fd;
@@ -609,7 +658,10 @@ igt_main
 		psr_enable(data.drm_fd, data.debugfs_fd, data.op_psr_mode);
 		igt_require_f(igt_pm_pc8_plus_residencies_enabled(data.msr_fd),
 			      "PC8+ residencies not supported\n");
-		test_dc_state_psr(&data, CHECK_DC6);
+		if (intel_display_ver(data.devid) == 14)
+			test_pkc_state_psr(&data);
+		else
+			test_dc_state_psr(&data, CHECK_DC6);
 	}
 
 	igt_describe("This test validates display engine entry to DC5 state "
-- 
2.25.1

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

* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev2)
  2023-03-15 21:01 [igt-dev] [PATCH i-g-t 0/2] tests/i915/i915_pm_dc: Add DC6 test for mtl Mohammed Thasleem
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS " Mohammed Thasleem
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/i915_pm_dc: Add DC6 PSR " Mohammed Thasleem
@ 2023-03-15 22:05 ` Patchwork
  2023-03-16  6:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  2023-03-27 19:57 ` [igt-dev] ✗ Fi.CI.BUILD: failure for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev3) Patchwork
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2023-03-15 22:05 UTC (permalink / raw)
  To: Mohammed Thasleem; +Cc: igt-dev

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

== Series Details ==

Series: tests/i915/i915_pm_dc: Add DC6 test for mtl (rev2)
URL   : https://patchwork.freedesktop.org/series/112918/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12866 -> IGTPW_8616
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (38 -> 36)
------------------------------

  Missing    (2): fi-kbl-soraka fi-snb-2520m 

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

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

### IGT changes ###

#### Issues hit ####

  * igt@kms_chamelium_hpd@common-hpd-after-suspend:
    - fi-bsw-nick:        NOTRUN -> [SKIP][1] ([fdo#109271]) +1 similar issue
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/fi-bsw-nick/igt@kms_chamelium_hpd@common-hpd-after-suspend.html

  
#### Possible fixes ####

  * igt@i915_selftest@live@execlists:
    - fi-bsw-nick:        [ABORT][2] ([i915#7911] / [i915#7913]) -> [PASS][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/fi-bsw-nick/igt@i915_selftest@live@execlists.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/fi-bsw-nick/igt@i915_selftest@live@execlists.html

  * igt@i915_suspend@basic-s2idle-without-i915:
    - fi-apl-guc:         [DMESG-WARN][4] ([i915#180] / [i915#62]) -> [PASS][5]
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/fi-apl-guc/igt@i915_suspend@basic-s2idle-without-i915.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/fi-apl-guc/igt@i915_suspend@basic-s2idle-without-i915.html

  
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62
  [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911
  [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7196 -> IGTPW_8616

  CI-20190529: 20190529
  CI_DRM_12866: 65b8c410c0b7c039a79cdf51f9870cdfcd89c5ae @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8616: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/index.html
  IGT_7196: 9b8c5dbe8cd82163ee198c43b81222d2b9b75fd4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* [igt-dev] ✓ Fi.CI.IGT: success for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev2)
  2023-03-15 21:01 [igt-dev] [PATCH i-g-t 0/2] tests/i915/i915_pm_dc: Add DC6 test for mtl Mohammed Thasleem
                   ` (2 preceding siblings ...)
  2023-03-15 22:05 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev2) Patchwork
@ 2023-03-16  6:25 ` Patchwork
  2023-03-27 19:57 ` [igt-dev] ✗ Fi.CI.BUILD: failure for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev3) Patchwork
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2023-03-16  6:25 UTC (permalink / raw)
  To: Mohammed Thasleem; +Cc: igt-dev

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

== Series Details ==

Series: tests/i915/i915_pm_dc: Add DC6 test for mtl (rev2)
URL   : https://patchwork.freedesktop.org/series/112918/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_12866_full -> IGTPW_8616_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

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

Participating hosts (7 -> 7)
------------------------------

  No changes in participating hosts

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

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

### IGT changes ###

#### Suppressed ####

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

  * igt@device_reset@unbind-reset-rebind:
    - {shard-rkl}:        NOTRUN -> [ABORT][1]
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-1/igt@device_reset@unbind-reset-rebind.html
    - {shard-tglu}:       [PASS][2] -> [ABORT][3]
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-2/igt@device_reset@unbind-reset-rebind.html
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-8/igt@device_reset@unbind-reset-rebind.html

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

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

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_fair@basic-none@rcs0:
    - shard-glk:          [PASS][4] -> [FAIL][5] ([i915#2842])
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-glk4/igt@gem_exec_fair@basic-none@rcs0.html
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk4/igt@gem_exec_fair@basic-none@rcs0.html

  * igt@gem_lmem_swapping@smem-oom:
    - shard-glk:          NOTRUN -> [SKIP][6] ([fdo#109271] / [i915#4613])
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk1/igt@gem_lmem_swapping@smem-oom.html

  * igt@gen9_exec_parse@allowed-single:
    - shard-apl:          [PASS][7] -> [ABORT][8] ([i915#5566])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-apl6/igt@gen9_exec_parse@allowed-single.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-apl3/igt@gen9_exec_parse@allowed-single.html

  * igt@i915_pm_dc@dc9-dpms:
    - shard-apl:          [PASS][9] -> [SKIP][10] ([fdo#109271]) +1 similar issue
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-apl2/igt@i915_pm_dc@dc9-dpms.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-apl2/igt@i915_pm_dc@dc9-dpms.html

  * igt@i915_selftest@live@gt_heartbeat:
    - shard-glk:          [PASS][11] -> [DMESG-FAIL][12] ([i915#5334])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-glk2/igt@i915_selftest@live@gt_heartbeat.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk7/igt@i915_selftest@live@gt_heartbeat.html

  * igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs:
    - shard-glk:          NOTRUN -> [SKIP][13] ([fdo#109271] / [i915#3886]) +1 similar issue
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk4/igt@kms_ccs@pipe-a-ccs-on-another-bo-y_tiled_gen12_mc_ccs.html

  * igt@kms_cdclk@mode-transition:
    - shard-glk:          NOTRUN -> [SKIP][14] ([fdo#109271]) +48 similar issues
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk8/igt@kms_cdclk@mode-transition.html

  * igt@kms_flip@flip-vs-suspend@b-dp1:
    - shard-apl:          [PASS][15] -> [ABORT][16] ([i915#180])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-apl1/igt@kms_flip@flip-vs-suspend@b-dp1.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-apl6/igt@kms_flip@flip-vs-suspend@b-dp1.html

  * igt@kms_plane_alpha_blend@constant-alpha-max@pipe-c-hdmi-a-1:
    - shard-glk:          NOTRUN -> [FAIL][17] ([i915#4573]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk3/igt@kms_plane_alpha_blend@constant-alpha-max@pipe-c-hdmi-a-1.html

  * igt@kms_psr2_sf@plane-move-sf-dmg-area:
    - shard-snb:          NOTRUN -> [SKIP][18] ([fdo#109271]) +59 similar issues
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-snb2/igt@kms_psr2_sf@plane-move-sf-dmg-area.html

  * igt@kms_vblank@pipe-c-accuracy-idle:
    - shard-glk:          [PASS][19] -> [FAIL][20] ([i915#43])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-glk6/igt@kms_vblank@pipe-c-accuracy-idle.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk1/igt@kms_vblank@pipe-c-accuracy-idle.html

  
#### Possible fixes ####

  * igt@fbdev@unaligned-read:
    - {shard-rkl}:        [SKIP][21] ([i915#2582]) -> [PASS][22]
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-2/igt@fbdev@unaligned-read.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-6/igt@fbdev@unaligned-read.html

  * igt@gem_ctx_persistence@hang:
    - {shard-rkl}:        [SKIP][23] ([i915#6252]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-5/igt@gem_ctx_persistence@hang.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-3/igt@gem_ctx_persistence@hang.html

  * igt@gem_eio@in-flight-external:
    - {shard-tglu}:       [ABORT][25] ([i915#7811]) -> [PASS][26]
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-9/igt@gem_eio@in-flight-external.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-1/igt@gem_eio@in-flight-external.html

  * igt@gem_exec_fair@basic-none-share@rcs0:
    - {shard-tglu}:       [FAIL][27] ([i915#2842]) -> [PASS][28]
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-8/igt@gem_exec_fair@basic-none-share@rcs0.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-3/igt@gem_exec_fair@basic-none-share@rcs0.html

  * igt@gem_exec_fair@basic-none-solo@rcs0:
    - shard-apl:          [FAIL][29] ([i915#2842]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-apl6/igt@gem_exec_fair@basic-none-solo@rcs0.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-apl2/igt@gem_exec_fair@basic-none-solo@rcs0.html

  * igt@gem_exec_fair@basic-none@vcs0:
    - {shard-rkl}:        [FAIL][31] ([i915#2842]) -> [PASS][32] +4 similar issues
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-3/igt@gem_exec_fair@basic-none@vcs0.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@gem_exec_fair@basic-none@vcs0.html

  * igt@gem_exec_fair@basic-pace-share@rcs0:
    - shard-glk:          [FAIL][33] ([i915#2842]) -> [PASS][34] +1 similar issue
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-glk8/igt@gem_exec_fair@basic-pace-share@rcs0.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk7/igt@gem_exec_fair@basic-pace-share@rcs0.html

  * igt@gem_exec_flush@basic-batch-kernel-default-cmd:
    - {shard-rkl}:        [SKIP][35] ([fdo#109313]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-1/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html

  * igt@gem_exec_reloc@basic-gtt-read:
    - {shard-rkl}:        [SKIP][37] ([i915#3281]) -> [PASS][38] +9 similar issues
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-1/igt@gem_exec_reloc@basic-gtt-read.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@gem_exec_reloc@basic-gtt-read.html

  * igt@gem_exec_schedule@semaphore-power:
    - {shard-rkl}:        [SKIP][39] ([i915#7276]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-2/igt@gem_exec_schedule@semaphore-power.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@gem_exec_schedule@semaphore-power.html

  * igt@gem_pread@snoop:
    - {shard-rkl}:        [SKIP][41] ([i915#3282]) -> [PASS][42] +1 similar issue
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-3/igt@gem_pread@snoop.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@gem_pread@snoop.html

  * igt@gem_workarounds@suspend-resume-context:
    - shard-apl:          [DMESG-WARN][43] -> [PASS][44]
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-apl2/igt@gem_workarounds@suspend-resume-context.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-apl7/igt@gem_workarounds@suspend-resume-context.html

  * igt@gem_workarounds@suspend-resume-fd:
    - {shard-rkl}:        [ABORT][45] ([i915#5122]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-3/igt@gem_workarounds@suspend-resume-fd.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-2/igt@gem_workarounds@suspend-resume-fd.html

  * igt@gen9_exec_parse@bb-start-out:
    - {shard-rkl}:        [SKIP][47] ([i915#2527]) -> [PASS][48] +3 similar issues
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-2/igt@gen9_exec_parse@bb-start-out.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@gen9_exec_parse@bb-start-out.html

  * igt@i915_pm_dc@dc5-dpms:
    - {shard-rkl}:        [FAIL][49] ([i915#7330]) -> [PASS][50]
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-5/igt@i915_pm_dc@dc5-dpms.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-2/igt@i915_pm_dc@dc5-dpms.html

  * igt@i915_pm_rpm@modeset-lpsp-stress-no-wait:
    - {shard-tglu}:       [SKIP][51] ([i915#1397]) -> [PASS][52]
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-10/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-4/igt@i915_pm_rpm@modeset-lpsp-stress-no-wait.html

  * igt@i915_pm_rpm@modeset-non-lpsp-stress:
    - {shard-dg1}:        [SKIP][53] ([i915#1397]) -> [PASS][54]
   [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-dg1-14/igt@i915_pm_rpm@modeset-non-lpsp-stress.html
   [54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-dg1-16/igt@i915_pm_rpm@modeset-non-lpsp-stress.html

  * igt@i915_pm_rpm@pm-tiling:
    - {shard-tglu}:       [SKIP][55] ([i915#3547]) -> [PASS][56]
   [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-9/igt@i915_pm_rpm@pm-tiling.html
   [56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-2/igt@i915_pm_rpm@pm-tiling.html

  * igt@i915_pm_rps@reset:
    - shard-snb:          [INCOMPLETE][57] ([i915#7790]) -> [PASS][58]
   [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-snb4/igt@i915_pm_rps@reset.html
   [58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-snb4/igt@i915_pm_rps@reset.html

  * igt@i915_pm_sseu@full-enable:
    - shard-apl:          [FAIL][59] ([i915#3524]) -> [PASS][60]
   [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-apl6/igt@i915_pm_sseu@full-enable.html
   [60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-apl7/igt@i915_pm_sseu@full-enable.html

  * {igt@i915_power@sanity}:
    - {shard-rkl}:        [SKIP][61] ([i915#7984]) -> [PASS][62]
   [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-1/igt@i915_power@sanity.html
   [62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@i915_power@sanity.html

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

  * igt@kms_atomic@atomic_plane_damage:
    - {shard-rkl}:        [SKIP][65] ([i915#4098]) -> [PASS][66]
   [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-3/igt@kms_atomic@atomic_plane_damage.html
   [66]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-6/igt@kms_atomic@atomic_plane_damage.html

  * igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip:
    - {shard-rkl}:        [SKIP][67] ([i915#1845] / [i915#4098]) -> [PASS][68] +17 similar issues
   [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-5/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html
   [68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-6/igt@kms_big_fb@x-tiled-max-hw-stride-32bpp-rotate-180-async-flip.html

  * igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_rc_ccs:
    - {shard-tglu}:       [SKIP][69] ([i915#1845]) -> [PASS][70] +21 similar issues
   [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-10/igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_rc_ccs.html
   [70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-1/igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_rc_ccs.html

  * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size:
    - shard-apl:          [FAIL][71] ([i915#2346]) -> [PASS][72] +1 similar issue
   [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-apl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html
   [72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-apl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite:
    - {shard-rkl}:        [SKIP][73] ([i915#1849] / [i915#4098]) -> [PASS][74] +7 similar issues
   [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-2/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html
   [74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff:
    - {shard-tglu}:       [SKIP][75] ([i915#1849]) -> [PASS][76] +10 similar issues
   [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-10/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff.html
   [76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-onoff.html

  * igt@kms_plane@plane-panning-bottom-right@pipe-a-planes:
    - {shard-tglu}:       [SKIP][77] ([i915#1849] / [i915#3558]) -> [PASS][78] +1 similar issue
   [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-9/igt@kms_plane@plane-panning-bottom-right@pipe-a-planes.html
   [78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-2/igt@kms_plane@plane-panning-bottom-right@pipe-a-planes.html

  * igt@kms_plane@plane-position-covered@pipe-a-planes:
    - {shard-rkl}:        [SKIP][79] ([i915#1849]) -> [PASS][80] +4 similar issues
   [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-3/igt@kms_plane@plane-position-covered@pipe-a-planes.html
   [80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-6/igt@kms_plane@plane-position-covered@pipe-a-planes.html

  * igt@kms_universal_plane@cursor-fb-leak-pipe-d:
    - {shard-tglu}:       [SKIP][81] ([fdo#109274]) -> [PASS][82] +4 similar issues
   [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-10/igt@kms_universal_plane@cursor-fb-leak-pipe-d.html
   [82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-1/igt@kms_universal_plane@cursor-fb-leak-pipe-d.html

  * igt@kms_vblank@pipe-d-wait-forked-busy:
    - {shard-tglu}:       [SKIP][83] ([i915#1845] / [i915#7651]) -> [PASS][84] +31 similar issues
   [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-9/igt@kms_vblank@pipe-d-wait-forked-busy.html
   [84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-4/igt@kms_vblank@pipe-d-wait-forked-busy.html

  * igt@perf@mi-rpc:
    - {shard-rkl}:        [SKIP][85] ([i915#2434]) -> [PASS][86]
   [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-2/igt@perf@mi-rpc.html
   [86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@perf@mi-rpc.html

  * igt@perf@stress-open-close:
    - shard-glk:          [ABORT][87] ([i915#5213]) -> [PASS][88]
   [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-glk4/igt@perf@stress-open-close.html
   [88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-glk4/igt@perf@stress-open-close.html

  * igt@prime_vgem@basic-fence-flip:
    - {shard-tglu}:       [SKIP][89] ([fdo#109295]) -> [PASS][90]
   [89]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-tglu-9/igt@prime_vgem@basic-fence-flip.html
   [90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-tglu-6/igt@prime_vgem@basic-fence-flip.html

  * igt@prime_vgem@coherency-gtt:
    - {shard-rkl}:        [SKIP][91] ([fdo#109295] / [fdo#111656] / [i915#3708]) -> [PASS][92]
   [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12866/shard-rkl-2/igt@prime_vgem@coherency-gtt.html
   [92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/shard-rkl-5/igt@prime_vgem@coherency-gtt.html

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

  [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
  [fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
  [fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
  [fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
  [fdo#109308]: https://bugs.freedesktop.org/show_bug.cgi?id=109308
  [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#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
  [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
  [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072
  [i915#1257]: https://gitlab.freedesktop.org/drm/intel/issues/1257
  [i915#132]: https://gitlab.freedesktop.org/drm/intel/issues/132
  [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
  [i915#1722]: https://gitlab.freedesktop.org/drm/intel/issues/1722
  [i915#1755]: https://gitlab.freedesktop.org/drm/intel/issues/1755
  [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180
  [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#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
  [i915#2434]: https://gitlab.freedesktop.org/drm/intel/issues/2434
  [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#284]: https://gitlab.freedesktop.org/drm/intel/issues/284
  [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#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#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
  [i915#3299]: https://gitlab.freedesktop.org/drm/intel/issues/3299
  [i915#3359]: https://gitlab.freedesktop.org/drm/intel/issues/3359
  [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458
  [i915#3469]: https://gitlab.freedesktop.org/drm/intel/issues/3469
  [i915#3524]: https://gitlab.freedesktop.org/drm/intel/issues/3524
  [i915#3536]: https://gitlab.freedesktop.org/drm/intel/issues/3536
  [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539
  [i915#3546]: https://gitlab.freedesktop.org/drm/intel/issues/3546
  [i915#3547]: https://gitlab.freedesktop.org/drm/intel/issues/3547
  [i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
  [i915#3558]: https://gitlab.freedesktop.org/drm/intel/issues/3558
  [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#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#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
  [i915#3840]: https://gitlab.freedesktop.org/drm/intel/issues/3840
  [i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
  [i915#3938]: https://gitlab.freedesktop.org/drm/intel/issues/3938
  [i915#3952]: https://gitlab.freedesktop.org/drm/intel/issues/3952
  [i915#3955]: https://gitlab.freedesktop.org/drm/intel/issues/3955
  [i915#3989]: https://gitlab.freedesktop.org/drm/intel/issues/3989
  [i915#4070]: https://gitlab.freedesktop.org/drm/intel/issues/4070
  [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077
  [i915#4079]: https://gitlab.freedesktop.org/drm/intel/issues/4079
  [i915#4083]: https://gitlab.freedesktop.org/drm/intel/issues/4083
  [i915#4098]: https://gitlab.freedesktop.org/drm/intel/issues/4098
  [i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
  [i915#4212]: https://gitlab.freedesktop.org/drm/intel/issues/4212
  [i915#4215]: https://gitlab.freedesktop.org/drm/intel/issues/4215
  [i915#4258]: https://gitlab.freedesktop.org/drm/intel/issues/4258
  [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
  [i915#43]: https://gitlab.freedesktop.org/drm/intel/issues/43
  [i915#4349]: https://gitlab.freedesktop.org/drm/intel/issues/4349
  [i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
  [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391
  [i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
  [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538
  [i915#4565]: https://gitlab.freedesktop.org/drm/intel/issues/4565
  [i915#4573]: https://gitlab.freedesktop.org/drm/intel/issues/4573
  [i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
  [i915#4771]: https://gitlab.freedesktop.org/drm/intel/issues/4771
  [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812
  [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833
  [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852
  [i915#4859]: https://gitlab.freedesktop.org/drm/intel/issues/4859
  [i915#4860]: https://gitlab.freedesktop.org/drm/intel/issues/4860
  [i915#4880]: https://gitlab.freedesktop.org/drm/intel/issues/4880
  [i915#4881]: https://gitlab.freedesktop.org/drm/intel/issues/4881
  [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983
  [i915#5122]: https://gitlab.freedesktop.org/drm/intel/issues/5122
  [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
  [i915#5213]: https://gitlab.freedesktop.org/drm/intel/issues/5213
  [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#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#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
  [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#6252]: https://gitlab.freedesktop.org/drm/intel/issues/6252
  [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268
  [i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
  [i915#6433]: https://gitlab.freedesktop.org/drm/intel/issues/6433
  [i915#6493]: https://gitlab.freedesktop.org/drm/intel/issues/6493
  [i915#6497]: https://gitlab.freedesktop.org/drm/intel/issues/6497
  [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
  [i915#6621]: https://gitlab.freedesktop.org/drm/intel/issues/6621
  [i915#6768]: https://gitlab.freedesktop.org/drm/intel/issues/6768
  [i915#6944]: https://gitlab.freedesktop.org/drm/intel/issues/6944
  [i915#6953]: https://gitlab.freedesktop.org/drm/intel/issues/6953
  [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116
  [i915#7118]: https://gitlab.freedesktop.org/drm/intel/issues/7118
  [i915#7178]: https://gitlab.freedesktop.org/drm/intel/issues/7178
  [i915#7276]: https://gitlab.freedesktop.org/drm/intel/issues/7276
  [i915#7330]: https://gitlab.freedesktop.org/drm/intel/issues/7330
  [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561
  [i915#7651]: https://gitlab.freedesktop.org/drm/intel/issues/7651
  [i915#7697]: https://gitlab.freedesktop.org/drm/intel/issues/7697
  [i915#7701]: https://gitlab.freedesktop.org/drm/intel/issues/7701
  [i915#7711]: https://gitlab.freedesktop.org/drm/intel/issues/7711
  [i915#7742]: https://gitlab.freedesktop.org/drm/intel/issues/7742
  [i915#7790]: https://gitlab.freedesktop.org/drm/intel/issues/7790
  [i915#7811]: https://gitlab.freedesktop.org/drm/intel/issues/7811
  [i915#7828]: https://gitlab.freedesktop.org/drm/intel/issues/7828
  [i915#7949]: https://gitlab.freedesktop.org/drm/intel/issues/7949
  [i915#7957]: https://gitlab.freedesktop.org/drm/intel/issues/7957
  [i915#7975]: https://gitlab.freedesktop.org/drm/intel/issues/7975
  [i915#7981]: https://gitlab.freedesktop.org/drm/intel/issues/7981
  [i915#7984]: https://gitlab.freedesktop.org/drm/intel/issues/7984
  [i915#8152]: https://gitlab.freedesktop.org/drm/intel/issues/8152
  [i915#8154]: https://gitlab.freedesktop.org/drm/intel/issues/8154
  [i915#8155]: https://gitlab.freedesktop.org/drm/intel/issues/8155
  [i915#8211]: https://gitlab.freedesktop.org/drm/intel/issues/8211
  [i915#8228]: https://gitlab.freedesktop.org/drm/intel/issues/8228
  [i915#8247]: https://gitlab.freedesktop.org/drm/intel/issues/8247
  [i915#8273]: https://gitlab.freedesktop.org/drm/intel/issues/8273
  [i915#8282]: https://gitlab.freedesktop.org/drm/intel/issues/8282


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

  * CI: CI-20190529 -> None
  * IGT: IGT_7196 -> IGTPW_8616

  CI-20190529: 20190529
  CI_DRM_12866: 65b8c410c0b7c039a79cdf51f9870cdfcd89c5ae @ git://anongit.freedesktop.org/gfx-ci/linux
  IGTPW_8616: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_8616/index.html
  IGT_7196: 9b8c5dbe8cd82163ee198c43b81222d2b9b75fd4 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git

== Logs ==

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

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

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

* Re: [igt-dev] [PATCH i-g-t 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS test for mtl
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS " Mohammed Thasleem
@ 2023-03-21 22:56   ` Imre Deak
  2023-03-27 19:30   ` [igt-dev] [PATCH v3 " Mohammed Thasleem
  1 sibling, 0 replies; 11+ messages in thread
From: Imre Deak @ 2023-03-21 22:56 UTC (permalink / raw)
  To: Mohammed Thasleem; +Cc: igt-dev

On Thu, Mar 16, 2023 at 02:31:46AM +0530, Mohammed Thasleem wrote:
> The flow for DC6 validation has changed for MTL.
> DC6 state achieved based on PKGC10 entry.
> This test validates PKGC10 entry and confirm DC6 achieved
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
> ---
>  tests/i915/i915_pm_dc.c | 38 +++++++++++++++++++++++++++++++++++++-
>  1 file changed, 37 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
> index 1c695b50..322a0c60 100644
> --- a/tests/i915/i915_pm_dc.c
> +++ b/tests/i915/i915_pm_dc.c
> @@ -45,6 +45,7 @@
>  #define PWR_DOMAIN_INFO "i915_power_domain_info"
>  #define RPM_STATUS "i915_runtime_pm_status"
>  #define KMS_HELPER "/sys/module/drm_kms_helper/parameters/"
> +#define PACKAGE_STATE_PATH "/sys/kernel/debug/pmc_core/"
>  #define KMS_POLL_DISABLE 0
>  #define DC9_RESETS_DC_COUNTERS(devid) (!(IS_DG1(devid) || IS_DG2(devid)))
>  
> @@ -60,6 +61,7 @@ typedef struct {
>  	int drm_fd;
>  	int msr_fd;
>  	int debugfs_fd;
> +	int pmc_fd;
>  	uint32_t devid;
>  	char *debugfs_dump;
>  	igt_display_t display;
> @@ -519,6 +521,36 @@ static int has_panels_without_dc_support(igt_display_t *display)
>  	return external_panel;
>  }
>  
> +static unsigned int read_pkc_state_value(int pmc_fd)

A more usual name for the power state is pkgc.

> +{
> +	char buf[4096];
> +	char *str;
> +
> +	igt_require((pmc_fd = open(PACKAGE_STATE_PATH, O_RDONLY)) >= 0);

Better to make the assignment a separate expression and use
igt_debugfs_mount().

> +
> +	igt_debugfs_simple_read(pmc_fd, "package_cstate_show",
> +				buf, sizeof(buf));
> +	igt_skip_on_f(!strstr(buf, "Package C10"),
> +		      "PK10 will be not supported.\n");

Could be simply "PKGC10 is not supported".

> +	str = strstr(buf, "Package C10");

Could move the above before igt_skip_on_f() and reuse str instead of
calling strstr() again.

> +	igt_assert_f(str, "PKC10 value not available\n");

This looks redundant after the skip().

> +
> +	return get_dc_counter(str);
> +}
> +
> +static void test_pkc_state_dpms(data_t *data)
> +{
> +	unsigned int timeout_msec = 30;
> +	unsigned int prev_value = 0, cur_value = 0;
> +
> +	prev_value = read_pkc_state_value(data->pmc_fd);
> +	dpms_off(data);

Outputs will be off here and the device runtime suspends. That measures
the PKGC10 residency in a deeper power state (S0ix), but we want here to
measure only DC6. Should runtime PM be disabled accordingly as on other
platforms (done in setup_dc_dpms())?

> +	igt_wait((cur_value = read_pkc_state_value(data->pmc_fd)),
> +		  timeout_msec * 1000, 100);

igt_wait() accepts msec, so the '* 1000' conversion isn't correct.
A 30 sec timeout looks too long, was it meant to be 3 sec?

> +	igt_assert_f(cur_value > prev_value, "PK10 is not achieived.\n");
> +	dpms_on(data);
> +}
> +
>  static void kms_poll_state_restore(int sig)
>  {
>  	int sysfs_fd;
> @@ -600,7 +632,11 @@ igt_main
>  	igt_subtest("dc6-dpms") {
>  		igt_require_f(igt_pm_pc8_plus_residencies_enabled(data.msr_fd),
>  			      "PC8+ residencies not supported\n");
> -		test_dc_state_dpms(&data, CHECK_DC6);
> +		if (intel_display_ver(data.devid) == 14)

Checking for >= 14 makes it future proof.

> +			test_pkc_state_dpms(&data);
> +		else
> +			test_dc_state_dpms(&data, CHECK_DC6);
> +
>  	}
>  
>  	igt_describe("This test validates display engine entry to DC9 state");
> -- 
> 2.25.1
> 

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

* Re: [igt-dev] [PATCH i-g-t 2/2] tests/i915/i915_pm_dc: Add DC6 PSR test for mtl
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/i915_pm_dc: Add DC6 PSR " Mohammed Thasleem
@ 2023-03-27 10:26   ` Hogander, Jouni
  2023-04-04 12:10   ` Hogander, Jouni
  1 sibling, 0 replies; 11+ messages in thread
From: Hogander, Jouni @ 2023-03-27 10:26 UTC (permalink / raw)
  To: Thasleem, Mohammed, igt-dev@lists.freedesktop.org

On Thu, 2023-03-16 at 02:31 +0530, Mohammed Thasleem wrote:
> The flow for DC6 validation has changed for MTL.
> DC6 state achieved based on PKGC10 entry.
> This test validates PKGC10 entry and confirm DC6 achieved.

Can you please clarify in commit message why this has changed? Using
PKGC10 as indicator for DC6 entry is much more error prone. There are
much more possible blockers for PKGC* state entry compared to DC* state
entry. You should have good reasoning for your change.
 
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
> ---
>  tests/i915/i915_pm_dc.c | 54
> ++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 53 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
> index 322a0c60..ed573ce6 100644
> --- a/tests/i915/i915_pm_dc.c
> +++ b/tests/i915/i915_pm_dc.c
> @@ -407,6 +407,38 @@ static void dpms_on(data_t *data)
>                            (IGT_RUNTIME_PM_STATUS_ACTIVE));
>  }
>  
> +static void psr_pkc_enable(data_t *data)

I think this naming doesn't make sense. Anyways, eventually this
function is doing same thing as:

kmstest_set_connector_dpms(data->drm_fd, data->display.outputs-
>config.connector, DRM_MODE_DPMS_OFF);

So maybe you could directly do that instead of splitting this into it's
own function? I.e. loop below doesn't make sense.

> +{
> +       igt_output_t *output;
> +
> +       for_each_connected_output(&data->display, output) {
> +               drmModeConnectorPtr c = output->config.connector;
> +
> +               if (c->connector_type == DRM_MODE_CONNECTOR_eDP)
> +                       continue;
> +
> +               kmstest_set_connector_dpms(data->drm_fd,
> +                                          data->display.outputs-
> >config.connector,
> +                                          DRM_MODE_DPMS_OFF);

As mentioned above this loop doesn't make sense. Maybe you wanted :

kmstest_set_connector_dpms(data->drm_fd, c, DRM_MODE_DPMS_OFF);

?
> +       }
> +}
> +
> +static void psr_pkc_disable(data_t *data)
> +{
> +       igt_output_t *output;
> +
> +       for_each_connected_output(&data->display, output) {
> +               drmModeConnectorPtr c = output->config.connector;
> +
> +               if (c->connector_type == DRM_MODE_CONNECTOR_eDP)
> +                       continue;
> +
> +               kmstest_set_connector_dpms(data->drm_fd,
> +                                          data->display.outputs-
> >config.connector,
> +                                          DRM_MODE_DPMS_ON);
> +       }
> +}
> +
>  static void test_dc_state_dpms(data_t *data, int dc_flag)
>  {
>         uint32_t dc_counter;
> @@ -551,6 +583,23 @@ static void test_pkc_state_dpms(data_t *data)
>         dpms_on(data);
>  }
>  
> +static void test_pkc_state_psr(data_t *data)

Would it make more sense to differentiate in test_dc_state_psr instead
of having own function?

> +{
> +       unsigned int timeout_msec = 30;
> +       unsigned int prev_value = 0, cur_value = 0;
> +
> +       prev_value = read_pkc_state_value(data->pmc_fd);
> +       setup_output(data);
> +       setup_primary(data);
> +       igt_assert(psr_wait_entry(data->debugfs_fd, data-
> >op_psr_mode));
> +       psr_pkc_enable(data);
> +       cleanup_dc_psr(data);
> +       igt_wait((cur_value = read_pkc_state_value(data->pmc_fd)),
> +                 timeout_msec * 1000, 100);

I think you want to have:

igt_wait((cur_value = read_pkc_state_value(data->pmc_fd)) >
prev_value,timeout_msec * 1000, 100);


> +       igt_assert_f(cur_value > prev_value, "PK10 is not
> achieived.\n");
> +       psr_pkc_disable(data);
> +}
> +
>  static void kms_poll_state_restore(int sig)
>  {
>         int sysfs_fd;
> @@ -609,7 +658,10 @@ igt_main
>                 psr_enable(data.drm_fd, data.debugfs_fd,
> data.op_psr_mode);
>                 igt_require_f(igt_pm_pc8_plus_residencies_enabled(dat
> a.msr_fd),
>                               "PC8+ residencies not supported\n");
> -               test_dc_state_psr(&data, CHECK_DC6);
> +               if (intel_display_ver(data.devid) == 14)
> +                       test_pkc_state_psr(&data);
> +               else
> +                       test_dc_state_psr(&data, CHECK_DC6);
>         }
>  
>         igt_describe("This test validates display engine entry to DC5
> state "

BR,

Jouni Högander

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

* [igt-dev] [PATCH v3 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS test for mtl
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS " Mohammed Thasleem
  2023-03-21 22:56   ` Imre Deak
@ 2023-03-27 19:30   ` Mohammed Thasleem
  2023-03-28 19:34     ` Imre Deak
  1 sibling, 1 reply; 11+ messages in thread
From: Mohammed Thasleem @ 2023-03-27 19:30 UTC (permalink / raw)
  To: igt-dev

The flow for DC6 validation has changed for MTL.
DC6 state achieved based on PKGC10 entry.
This test validates PKGC10 entry and confirm DC6 achieved

v2: - Removed varisable to store disp version. (Vinod)
v3: - Used igt_debugfs_mount to open the path. (Imre)
    - Updated string in igt_skip_on_f. (Imre)
    - Removed redundant code. (Imre)
    - Set test execution for display for version >=14. (Imre)
    - Rename function read_pkc_state_value with pkgc. (Imre)
    - Added runtime PM disabled and enable. (Imre).
    - During testing the entry always happened in ~4.5ses, so
      set max igt_wait to 5sec.

Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
---
 tests/i915/i915_pm_dc.c | 36 +++++++++++++++++++++++++++++++++++-
 1 file changed, 35 insertions(+), 1 deletion(-)

diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index 1c695b50..2da415e8 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -45,6 +45,7 @@
 #define PWR_DOMAIN_INFO "i915_power_domain_info"
 #define RPM_STATUS "i915_runtime_pm_status"
 #define KMS_HELPER "/sys/module/drm_kms_helper/parameters/"
+#define PACKAGE_STATE_PATH "pmc_core/package_cstate_show"
 #define KMS_POLL_DISABLE 0
 #define DC9_RESETS_DC_COUNTERS(devid) (!(IS_DG1(devid) || IS_DG2(devid)))
 
@@ -60,6 +61,7 @@ typedef struct {
 	int drm_fd;
 	int msr_fd;
 	int debugfs_fd;
+	int pmc_fd;
 	uint32_t devid;
 	char *debugfs_dump;
 	igt_display_t display;
@@ -519,6 +521,34 @@ static int has_panels_without_dc_support(igt_display_t *display)
 	return external_panel;
 }
 
+static unsigned int pkgc(int pmc_fd)
+{
+	char buf[4096];
+	char *str;
+
+	pmc_fd = open(igt_debugfs_mount(), O_RDONLY);
+	igt_debugfs_simple_read(pmc_fd, PACKAGE_STATE_PATH, buf, sizeof(buf));
+	str = strstr(buf, "Package C10");
+	igt_skip_on_f(!strstr(buf, "Package C10"), "PKGC10 is not supported.\n");
+	close(pmc_fd);
+
+	return get_dc_counter(str);
+}
+
+static void test_pkc_state_dpms(data_t *data)
+{
+	unsigned int timeout_sec = 5;
+	unsigned int prev_value = 0, cur_value = 0;
+
+	prev_value = pkgc(data->pmc_fd);
+	setup_dc_dpms(data);
+	dpms_off(data);
+	igt_wait((cur_value = pkgc(data->pmc_fd)) > prev_value, timeout_sec * 1000, 100);
+	igt_assert_f(cur_value > prev_value, "PK10 is not achieived.\n");
+	dpms_on(data);
+	cleanup_dc_dpms(data);
+}
+
 static void kms_poll_state_restore(int sig)
 {
 	int sysfs_fd;
@@ -600,7 +630,11 @@ igt_main
 	igt_subtest("dc6-dpms") {
 		igt_require_f(igt_pm_pc8_plus_residencies_enabled(data.msr_fd),
 			      "PC8+ residencies not supported\n");
-		test_dc_state_dpms(&data, CHECK_DC6);
+		if (intel_display_ver(data.devid) >= 14)
+			test_pkc_state_dpms(&data);
+		else
+			test_dc_state_dpms(&data, CHECK_DC6);
+
 	}
 
 	igt_describe("This test validates display engine entry to DC9 state");
-- 
2.25.1

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

* [igt-dev] ✗ Fi.CI.BUILD: failure for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev3)
  2023-03-15 21:01 [igt-dev] [PATCH i-g-t 0/2] tests/i915/i915_pm_dc: Add DC6 test for mtl Mohammed Thasleem
                   ` (3 preceding siblings ...)
  2023-03-16  6:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
@ 2023-03-27 19:57 ` Patchwork
  4 siblings, 0 replies; 11+ messages in thread
From: Patchwork @ 2023-03-27 19:57 UTC (permalink / raw)
  To: Mohammed Thasleem; +Cc: igt-dev

== Series Details ==

Series: tests/i915/i915_pm_dc: Add DC6 test for mtl (rev3)
URL   : https://patchwork.freedesktop.org/series/112918/
State : failure

== Summary ==

IGT patchset build failed on latest successful build
4b77c6d85024d22ca521d510f8eee574128fe04f lib/xe_query: Prevent cache corruption on multiple access

[254/649] Linking target tests/gem_pwrite.
[255/649] Linking target tests/gem_pwrite_snooped.
[256/649] Linking target tests/gem_pxp.
[257/649] Linking target tests/gem_read_read_speed.
[258/649] Linking target tests/gem_readwrite.
[259/649] Linking target tests/gem_render_copy_redux.
[260/649] Linking target tests/gem_reg_read.
[261/649] Linking target tests/gem_render_copy.
[262/649] Linking target tests/gem_render_linear_blits.
[263/649] Linking target tests/gem_render_tiled_blits.
[264/649] Linking target tests/gem_request_retire.
[265/649] Linking target tests/gem_reset_stats.
[266/649] Linking target tests/gem_ringfill.
[267/649] Linking target tests/gem_set_tiling_vs_blt.
[268/649] Linking target tests/gem_set_tiling_vs_gtt.
[269/649] Linking target tests/gem_shrink.
[270/649] Linking target tests/gem_set_tiling_vs_pwrite.
[271/649] Linking target tests/gem_softpin.
[272/649] Linking target tests/gem_sync.
[273/649] Linking target tests/gem_spin_batch.
[274/649] Linking target tests/gem_streaming_writes.
[275/649] Linking target tests/gem_tiled_blits.
[276/649] Linking target tests/gem_tiled_fence_blits.
[277/649] Linking target tests/gem_tiled_partial_pwrite_pread.
[278/649] Linking target tests/gem_tiled_pread_pwrite.
[279/649] Linking target tests/gem_tiled_pread_basic.
[280/649] Linking target tests/gem_tiled_swapping.
[281/649] Linking target tests/gem_tiled_wb.
[282/649] Linking target tests/gem_tiled_wc.
[283/649] Linking target tests/gem_tiling_max_stride.
[284/649] Linking target tests/gem_unfence_active_buffers.
[285/649] Linking target tests/gem_userptr_blits.
[286/649] Linking target tests/gem_unref_active_buffers.
[287/649] Linking target tests/gem_vm_create.
[288/649] Linking target tests/gem_wait.
[289/649] Linking target tests/gem_watchdog.
[290/649] Linking target tests/gem_workarounds.
[291/649] Linking target tests/i915_fb_tiling.
[292/649] Linking target tests/i915_getparams_basic.
[293/649] Linking target tests/i915_hangman.
[294/649] Compiling C object 'tests/59830eb@@i915_pm_dc@exe/i915_i915_pm_dc.c.o'.
FAILED: tests/59830eb@@i915_pm_dc@exe/i915_i915_pm_dc.c.o 
cc -Itests/59830eb@@i915_pm_dc@exe -Itests -I../../../usr/src/igt-gpu-tools/tests -I../../../usr/src/igt-gpu-tools/include -I../../../usr/src/igt-gpu-tools/include/drm-uapi -I../../../usr/src/igt-gpu-tools/include/linux-uapi -Ilib -I../../../usr/src/igt-gpu-tools/lib -I../../../usr/src/igt-gpu-tools/lib/stubs/syscalls -I. -I../../../usr/src/igt-gpu-tools/ -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/libdrm -I/usr/include/x86_64-linux-gnu -I/usr/include/valgrind -I/usr/include -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=gnu11 -O2 -g -D_GNU_SOURCE -include config.h -D_FORTIFY_SOURCE=2 -Wbad-function-cast -Wdeclaration-after-statement -Wformat=2 -Wimplicit-fallthrough=0 -Wlogical-op -Wmissing-declarations -Wmissing-format-attribute -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wredundant-decls -Wshadow -Wstrict-prototypes -Wuninitialized -Wunused -Wno-clobbered -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-pointer-arith -Wno-address-of-packed-member -Wno-sign-compare -Wno-type-limits -Wno-unused-parameter -Wno-unused-result -Werror=address -Werror=array-bounds -Werror=implicit -Werror=init-self -Werror=int-to-pointer-cast -Werror=main -Werror=missing-braces -Werror=nonnull -Werror=pointer-to-int-cast -Werror=return-type -Werror=sequence-point -Werror=trigraphs -Werror=write-strings -fno-builtin-malloc -fno-builtin-calloc -pthread -MD -MQ 'tests/59830eb@@i915_pm_dc@exe/i915_i915_pm_dc.c.o' -MF 'tests/59830eb@@i915_pm_dc@exe/i915_i915_pm_dc.c.o.d' -o 'tests/59830eb@@i915_pm_dc@exe/i915_i915_pm_dc.c.o' -c ../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_dc.c
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_dc.c: In function ‘test_pkc_state_psr’:
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_dc.c:589:15: error: implicit declaration of function ‘read_pkc_state_value’ [-Werror=implicit-function-declaration]
  589 |  prev_value = read_pkc_state_value(data->pmc_fd);
      |               ^~~~~~~~~~~~~~~~~~~~
../../../usr/src/igt-gpu-tools/tests/i915/i915_pm_dc.c:589:15: warning: nested extern declaration of ‘read_pkc_state_value’ [-Wnested-externs]
cc1: some warnings being treated as errors
ninja: build stopped: subcommand failed.


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

* Re: [igt-dev] [PATCH v3 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS test for mtl
  2023-03-27 19:30   ` [igt-dev] [PATCH v3 " Mohammed Thasleem
@ 2023-03-28 19:34     ` Imre Deak
  0 siblings, 0 replies; 11+ messages in thread
From: Imre Deak @ 2023-03-28 19:34 UTC (permalink / raw)
  To: Mohammed Thasleem; +Cc: igt-dev

On Tue, Mar 28, 2023 at 01:00:43AM +0530, Mohammed Thasleem wrote:
> The flow for DC6 validation has changed for MTL.
> DC6 state achieved based on PKGC10 entry.
> This test validates PKGC10 entry and confirm DC6 achieved
> 
> v2: - Removed varisable to store disp version. (Vinod)
> v3: - Used igt_debugfs_mount to open the path. (Imre)
>     - Updated string in igt_skip_on_f. (Imre)
>     - Removed redundant code. (Imre)
>     - Set test execution for display for version >=14. (Imre)
>     - Rename function read_pkc_state_value with pkgc. (Imre)
>     - Added runtime PM disabled and enable. (Imre).
>     - During testing the entry always happened in ~4.5ses, so
>       set max igt_wait to 5sec.
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>
> ---
>  tests/i915/i915_pm_dc.c | 36 +++++++++++++++++++++++++++++++++++-
>  1 file changed, 35 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
> index 1c695b50..2da415e8 100644
> --- a/tests/i915/i915_pm_dc.c
> +++ b/tests/i915/i915_pm_dc.c
> @@ -45,6 +45,7 @@
>  #define PWR_DOMAIN_INFO "i915_power_domain_info"
>  #define RPM_STATUS "i915_runtime_pm_status"
>  #define KMS_HELPER "/sys/module/drm_kms_helper/parameters/"
> +#define PACKAGE_STATE_PATH "pmc_core/package_cstate_show"
>  #define KMS_POLL_DISABLE 0
>  #define DC9_RESETS_DC_COUNTERS(devid) (!(IS_DG1(devid) || IS_DG2(devid)))
>  
> @@ -60,6 +61,7 @@ typedef struct {
>  	int drm_fd;
>  	int msr_fd;
>  	int debugfs_fd;
> +	int pmc_fd;

Should be int sysfs_fd;

>  	uint32_t devid;
>  	char *debugfs_dump;
>  	igt_display_t display;
> @@ -519,6 +521,34 @@ static int has_panels_without_dc_support(igt_display_t *display)
>  	return external_panel;
>  }
>  
> +static unsigned int pkgc(int pmc_fd)

The name should still reflect what the function does:

static unsigned int read_pkgc_counter(int sysfs_fd)

> +{
> +	char buf[4096];
> +	char *str;
> +
> +	pmc_fd = open(igt_debugfs_mount(), O_RDONLY);
> +	igt_debugfs_simple_read(pmc_fd, PACKAGE_STATE_PATH, buf, sizeof(buf));

It's a sysfs entry, so:
	len = igt_sysfs_read(sysfs_fd, PACKAGE_STATE_PATH, buf, sizeof(buf));
	igt_skip_on_f(len < 0, "PKGC state file not found\n");

> +	str = strstr(buf, "Package C10");
> +	igt_skip_on_f(!strstr(buf, "Package C10"), "PKGC10 is not supported.\n");

the above strstr() call is still redundant, should be:

	igt_skip_on_f(!str, "...");

> +	close(pmc_fd);
> +
> +	return get_dc_counter(str);
> +}
> +
> +static void test_pkc_state_dpms(data_t *data)
> +{
> +	unsigned int timeout_sec = 5;
> +	unsigned int prev_value = 0, cur_value = 0;
> +
> +	prev_value = pkgc(data->pmc_fd);

	prev_value = read_pkgc_counter(data->sysfs_fd);

> +	setup_dc_dpms(data);
> +	dpms_off(data);
> +	igt_wait((cur_value = pkgc(data->pmc_fd)) > prev_value, timeout_sec * 1000, 100);
> +	igt_assert_f(cur_value > prev_value, "PK10 is not achieived.\n");
> +	dpms_on(data);
> +	cleanup_dc_dpms(data);
> +}
> +
>  static void kms_poll_state_restore(int sig)
>  {
>  	int sysfs_fd;
> @@ -600,7 +630,11 @@ igt_main

After initing data.debugfs_fd under igt_fixture:

	data.sysfs_fd = igt_sysfs_open(data.drm_fd);
	igt_require(data.sysfs_fd != -1);

>  	igt_subtest("dc6-dpms") {
>  		igt_require_f(igt_pm_pc8_plus_residencies_enabled(data.msr_fd),
>  			      "PC8+ residencies not supported\n");
> -		test_dc_state_dpms(&data, CHECK_DC6);
> +		if (intel_display_ver(data.devid) >= 14)
> +			test_pkc_state_dpms(&data);
> +		else
> +			test_dc_state_dpms(&data, CHECK_DC6);
> +
>  	}
>  
>  	igt_describe("This test validates display engine entry to DC9 state");
> -- 
> 2.25.1
> 

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

* Re: [igt-dev] [PATCH i-g-t 2/2] tests/i915/i915_pm_dc: Add DC6 PSR test for mtl
  2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/i915_pm_dc: Add DC6 PSR " Mohammed Thasleem
  2023-03-27 10:26   ` Hogander, Jouni
@ 2023-04-04 12:10   ` Hogander, Jouni
  1 sibling, 0 replies; 11+ messages in thread
From: Hogander, Jouni @ 2023-04-04 12:10 UTC (permalink / raw)
  To: Thasleem, Mohammed, igt-dev@lists.freedesktop.org

On Thu, 2023-03-16 at 02:31 +0530, Mohammed Thasleem wrote:
> The flow for DC6 validation has changed for MTL.
> DC6 state achieved based on PKGC10 entry.
> This test validates PKGC10 entry and confirm DC6 achieved.
> 
> Signed-off-by: Mohammed Thasleem <mohammed.thasleem@intel.com>

Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
> ---
>  tests/i915/i915_pm_dc.c | 54
> ++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 53 insertions(+), 1 deletion(-)
> 
> diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
> index 322a0c60..ed573ce6 100644
> --- a/tests/i915/i915_pm_dc.c
> +++ b/tests/i915/i915_pm_dc.c
> @@ -407,6 +407,38 @@ static void dpms_on(data_t *data)
>                            (IGT_RUNTIME_PM_STATUS_ACTIVE));
>  }
>  
> +static void psr_pkc_enable(data_t *data)
> +{
> +       igt_output_t *output;
> +
> +       for_each_connected_output(&data->display, output) {
> +               drmModeConnectorPtr c = output->config.connector;
> +
> +               if (c->connector_type == DRM_MODE_CONNECTOR_eDP)
> +                       continue;
> +
> +               kmstest_set_connector_dpms(data->drm_fd,
> +                                          data->display.outputs-
> >config.connector,
> +                                          DRM_MODE_DPMS_OFF);
> +       }
> +}
> +
> +static void psr_pkc_disable(data_t *data)
> +{
> +       igt_output_t *output;
> +
> +       for_each_connected_output(&data->display, output) {
> +               drmModeConnectorPtr c = output->config.connector;
> +
> +               if (c->connector_type == DRM_MODE_CONNECTOR_eDP)
> +                       continue;
> +
> +               kmstest_set_connector_dpms(data->drm_fd,
> +                                          data->display.outputs-
> >config.connector,
> +                                          DRM_MODE_DPMS_ON);
> +       }
> +}
> +
>  static void test_dc_state_dpms(data_t *data, int dc_flag)
>  {
>         uint32_t dc_counter;
> @@ -551,6 +583,23 @@ static void test_pkc_state_dpms(data_t *data)
>         dpms_on(data);
>  }
>  
> +static void test_pkc_state_psr(data_t *data)
> +{
> +       unsigned int timeout_msec = 30;
> +       unsigned int prev_value = 0, cur_value = 0;
> +
> +       prev_value = read_pkc_state_value(data->pmc_fd);
> +       setup_output(data);
> +       setup_primary(data);
> +       igt_assert(psr_wait_entry(data->debugfs_fd, data-
> >op_psr_mode));
> +       psr_pkc_enable(data);
> +       cleanup_dc_psr(data);
> +       igt_wait((cur_value = read_pkc_state_value(data->pmc_fd)),
> +                 timeout_msec * 1000, 100);
> +       igt_assert_f(cur_value > prev_value, "PK10 is not
> achieived.\n");
> +       psr_pkc_disable(data);
> +}
> +
>  static void kms_poll_state_restore(int sig)
>  {
>         int sysfs_fd;
> @@ -609,7 +658,10 @@ igt_main
>                 psr_enable(data.drm_fd, data.debugfs_fd,
> data.op_psr_mode);
>                 igt_require_f(igt_pm_pc8_plus_residencies_enabled(dat
> a.msr_fd),
>                               "PC8+ residencies not supported\n");
> -               test_dc_state_psr(&data, CHECK_DC6);
> +               if (intel_display_ver(data.devid) == 14)
> +                       test_pkc_state_psr(&data);
> +               else
> +                       test_dc_state_psr(&data, CHECK_DC6);
>         }
>  
>         igt_describe("This test validates display engine entry to DC5
> state "


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

end of thread, other threads:[~2023-04-04 12:11 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-15 21:01 [igt-dev] [PATCH i-g-t 0/2] tests/i915/i915_pm_dc: Add DC6 test for mtl Mohammed Thasleem
2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 1/2] tests/i915/i915_pm_dc: Add DC6 DPMS " Mohammed Thasleem
2023-03-21 22:56   ` Imre Deak
2023-03-27 19:30   ` [igt-dev] [PATCH v3 " Mohammed Thasleem
2023-03-28 19:34     ` Imre Deak
2023-03-15 21:01 ` [igt-dev] [PATCH i-g-t 2/2] tests/i915/i915_pm_dc: Add DC6 PSR " Mohammed Thasleem
2023-03-27 10:26   ` Hogander, Jouni
2023-04-04 12:10   ` Hogander, Jouni
2023-03-15 22:05 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev2) Patchwork
2023-03-16  6:25 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2023-03-27 19:57 ` [igt-dev] ✗ Fi.CI.BUILD: failure for tests/i915/i915_pm_dc: Add DC6 test for mtl (rev3) Patchwork

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