Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH i-g-t 1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests
@ 2024-07-01 14:54 Badal Nilawar
  2024-07-01 14:54 ` [PATCH i-g-t 2/2] tests/intel/xe_pm: Extend mocs-rpm test to support D3Cold Badal Nilawar
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Badal Nilawar @ 2024-07-01 14:54 UTC (permalink / raw)
  To: igt-dev; +Cc: rodrigo.vivi, janga.rahul.kumar

Move code to install fw close exit handler before rpm tests
as some of the tests uses fw.

Fixes: a3c590fbb5eb ("tests/intel/xe_pm: Convert mmap tests to use existing d3 helpers")
Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
---
 tests/intel/xe_pm.c | 32 +++++++++++++++-----------------
 1 file changed, 15 insertions(+), 17 deletions(-)

diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
index 5a9e4858a..b30e94a2a 100644
--- a/tests/intel/xe_pm.c
+++ b/tests/intel/xe_pm.c
@@ -769,6 +769,10 @@ igt_main
 			test_mocs_suspend_resume(device, s->state);
 	}
 
+	igt_fixture {
+		igt_install_exit_handler(close_fw_handle);
+	}
+
 	for (const struct d_state *d = d_states; d->name; d++) {
 		igt_subtest_f("%s-basic", d->name) {
 			igt_assert(setup_d3(device, d->state));
@@ -823,24 +827,18 @@ igt_main
 		}
 	}
 
-	igt_subtest_group {
-		igt_fixture {
-			igt_install_exit_handler(close_fw_handle);
-		}
-
-		igt_describe("Validate whether card is limited to d3hot,"
-			     "if vram used > vram threshold");
-		igt_subtest("vram-d3cold-threshold") {
-			orig_threshold = get_vram_d3cold_threshold(sysfs_fd);
-			igt_install_exit_handler(vram_d3cold_threshold_restore);
-			test_vram_d3cold_threshold(device, sysfs_fd);
-		}
+	igt_describe("Validate whether card is limited to d3hot,"
+		     "if vram used > vram threshold");
+	igt_subtest("vram-d3cold-threshold") {
+		orig_threshold = get_vram_d3cold_threshold(sysfs_fd);
+		igt_install_exit_handler(vram_d3cold_threshold_restore);
+		test_vram_d3cold_threshold(device, sysfs_fd);
+	}
 
-		igt_subtest("mocs-rpm") {
-			dpms_on_off(device, DRM_MODE_DPMS_OFF);
-			test_mocs_suspend_resume(device, NO_SUSPEND);
-			dpms_on_off(device, DRM_MODE_DPMS_ON);
-		}
+	igt_subtest("mocs-rpm") {
+		dpms_on_off(device, DRM_MODE_DPMS_OFF);
+		test_mocs_suspend_resume(device, NO_SUSPEND);
+		dpms_on_off(device, DRM_MODE_DPMS_ON);
 	}
 
 	igt_fixture {
-- 
2.34.1


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

* [PATCH i-g-t 2/2] tests/intel/xe_pm: Extend mocs-rpm test to support D3Cold
  2024-07-01 14:54 [PATCH i-g-t 1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests Badal Nilawar
@ 2024-07-01 14:54 ` Badal Nilawar
  2024-07-02 10:49   ` Riana Tauro
  2024-07-02 11:45 ` ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests Patchwork
  2024-07-02 11:51 ` ✗ GitLab.Pipeline: warning " Patchwork
  2 siblings, 1 reply; 6+ messages in thread
From: Badal Nilawar @ 2024-07-01 14:54 UTC (permalink / raw)
  To: igt-dev; +Cc: rodrigo.vivi, janga.rahul.kumar

Use existing d3 helpers to cover D3Hot and D3Cold.

Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
---
 tests/intel/xe_pm.c | 49 +++++++++++++++++++++++++++++++--------------
 1 file changed, 34 insertions(+), 15 deletions(-)

diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
index b30e94a2a..eac5ea8a7 100644
--- a/tests/intel/xe_pm.c
+++ b/tests/intel/xe_pm.c
@@ -611,10 +611,15 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
 }
 
 /**
- * SUBTEST: mocs-rpm
+ * SUBTEST: %s-mocs-rpm
  * Description:
  *     Validate mocs register contents over suspend resume
  *
+ * arg[2]:
+ *
+ * @d3hot:	d3hot
+ * @d3cold:	d3cold
+ *
  * Functionality: mocs registers
  * Run type: FULL
  */
@@ -629,9 +634,14 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
  * @s3:		s3
  * @s4:		s4
  */
-static void test_mocs_suspend_resume(device_t device, int s_state)
+static void test_mocs_suspend_resume(device_t device, enum igt_suspend_state s_state,
+				     enum igt_acpi_d_state d_state)
 {
 	int gt;
+	uint64_t active_time;
+	bool check_rpm = (d_state == IGT_ACPI_D3Hot ||
+			  d_state == IGT_ACPI_D3Cold);
+
 
 	xe_for_each_gt(device.fd_xe, gt) {
 		char path[256];
@@ -644,19 +654,27 @@ static void test_mocs_suspend_resume(device_t device, int s_state)
 		igt_debugfs_dump(device.fd_xe, path);
 		igt_debugfs_read(device.fd_xe, path, mocs_content_pre);
 
-		if (s_state == NO_SUSPEND) {
+		if (check_rpm) {
+			igt_assert(in_d3(device, d_state));
+			active_time = igt_pm_get_runtime_active_time(device.pci_xe);
+
 			fw_handle = igt_debugfs_open(device.fd_xe, "forcewake_all", O_RDONLY);
 			igt_assert(fw_handle >= 0);
-			igt_assert(igt_get_runtime_pm_status() == IGT_RUNTIME_PM_STATUS_ACTIVE);
+			igt_assert(igt_pm_get_runtime_active_time(device.pci_xe) >
+				   active_time);
 
 			/* Make sure runtime pm goes back to suspended status after closing forcewake_all */
 			close(fw_handle);
-			igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
+			sleep(1);
+
+			igt_assert(in_d3(device, d_state));
 		} else {
-			enum igt_suspend_test test = s_state == SUSPEND_STATE_DISK ?
-				SUSPEND_TEST_DEVICES : SUSPEND_TEST_NONE;
+			if (s_state != NO_SUSPEND) {
+				enum igt_suspend_test test = s_state == SUSPEND_STATE_DISK ?
+					SUSPEND_TEST_DEVICES : SUSPEND_TEST_NONE;
 
-			igt_system_suspend_autoresume(s_state, test);
+				igt_system_suspend_autoresume(s_state, test);
+			}
 		}
 		igt_assert(igt_debugfs_exists(device.fd_xe, path, O_RDONLY));
 		igt_debugfs_dump(device.fd_xe, path);
@@ -766,7 +784,7 @@ igt_main
 		}
 
 		igt_subtest_f("%s-mocs", s->name)
-			test_mocs_suspend_resume(device, s->state);
+			test_mocs_suspend_resume(device, s->state, NO_RPM);
 	}
 
 	igt_fixture {
@@ -825,6 +843,13 @@ igt_main
 
 			igt_pm_set_autosuspend_delay(device.pci_xe, delay_ms);
 		}
+
+		igt_subtest_f("%s-mocs-rpm", d->name) {
+			igt_assert(setup_d3(device, d->state));
+			test_mocs_suspend_resume(device, NO_SUSPEND, d->state);
+			cleanup_d3(device);
+		}
+
 	}
 
 	igt_describe("Validate whether card is limited to d3hot,"
@@ -835,12 +860,6 @@ igt_main
 		test_vram_d3cold_threshold(device, sysfs_fd);
 	}
 
-	igt_subtest("mocs-rpm") {
-		dpms_on_off(device, DRM_MODE_DPMS_OFF);
-		test_mocs_suspend_resume(device, NO_SUSPEND);
-		dpms_on_off(device, DRM_MODE_DPMS_ON);
-	}
-
 	igt_fixture {
 		close(sysfs_fd);
 		igt_pm_set_d3cold_allowed(device.pci_slot_name, d3cold_allowed);
-- 
2.34.1


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

* Re: [PATCH i-g-t 2/2] tests/intel/xe_pm: Extend mocs-rpm test to support D3Cold
  2024-07-01 14:54 ` [PATCH i-g-t 2/2] tests/intel/xe_pm: Extend mocs-rpm test to support D3Cold Badal Nilawar
@ 2024-07-02 10:49   ` Riana Tauro
  2024-07-02 16:54     ` Kamil Konieczny
  0 siblings, 1 reply; 6+ messages in thread
From: Riana Tauro @ 2024-07-02 10:49 UTC (permalink / raw)
  To: Badal Nilawar, igt-dev; +Cc: rodrigo.vivi, janga.rahul.kumar

Hi Badal

On 7/1/2024 8:24 PM, Badal Nilawar wrote:
> Use existing d3 helpers to cover D3Hot and D3Cold.
add description for the test being modified in commit message
> 
> Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
> ---
>   tests/intel/xe_pm.c | 49 +++++++++++++++++++++++++++++++--------------
>   1 file changed, 34 insertions(+), 15 deletions(-)
> 
> diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
> index b30e94a2a..eac5ea8a7 100644
> --- a/tests/intel/xe_pm.c
> +++ b/tests/intel/xe_pm.c
> @@ -611,10 +611,15 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
>   }
>   
>   /**
> - * SUBTEST: mocs-rpm
> + * SUBTEST: %s-mocs-rpm
%s already denotes the runtime pm state. 'rpm' can be dropped
>    * Description:
>    *     Validate mocs register contents over suspend resume
%s/register/registers
%s/suspend resume/runtime suspend,resume
>    *
> + * arg[2]:
%s/arg[2]/arg[1]
> + *
> + * @d3hot:	d3hot
> + * @d3cold:	d3cold
> + *
>    * Functionality: mocs registers
Functionality for the other mocs test is pm - %arg[1]
Should be same
>    * Run type: FULL
>    */
> @@ -629,9 +634,14 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
>    * @s3:		s3
>    * @s4:		s4
>    */
> -static void test_mocs_suspend_resume(device_t device, int s_state)
> +static void test_mocs_suspend_resume(device_t device, enum igt_suspend_state s_state,
> +				     enum igt_acpi_d_state d_state)
>   {
>   	int gt;
> +	uint64_t active_time;
> +	bool check_rpm = (d_state == IGT_ACPI_D3Hot ||
> +			  d_state == IGT_ACPI_D3Cold);
> +
>   
>   	xe_for_each_gt(device.fd_xe, gt) {
It would be good to have a log to identify the gt running this test,
else would be difficult to identify which GT moc registers failed
>   		char path[256];
> @@ -644,19 +654,27 @@ static void test_mocs_suspend_resume(device_t device, int s_state)
>   		igt_debugfs_dump(device.fd_xe, path);
>   		igt_debugfs_read(device.fd_xe, path, mocs_content_pre);
>   
> -		if (s_state == NO_SUSPEND) {
> +		if (check_rpm) {
> +			igt_assert(in_d3(device, d_state));
> +			active_time = igt_pm_get_runtime_active_time(device.pci_xe);
> +
>   			fw_handle = igt_debugfs_open(device.fd_xe, "forcewake_all", O_RDONLY);
>   			igt_assert(fw_handle >= 0);
> -			igt_assert(igt_get_runtime_pm_status() == IGT_RUNTIME_PM_STATUS_ACTIVE);
> +			igt_assert(igt_pm_get_runtime_active_time(device.pci_xe) >
> +				   active_time);
>   
>   			/* Make sure runtime pm goes back to suspended status after closing forcewake_all */
>   			close(fw_handle);
> -			igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> +			sleep(1);
> +
> +			igt_assert(in_d3(device, d_state));
>   		} else {
> -			enum igt_suspend_test test = s_state == SUSPEND_STATE_DISK ?
> -				SUSPEND_TEST_DEVICES : SUSPEND_TEST_NONE;
> +			if (s_state != NO_SUSPEND) {
> +				enum igt_suspend_test test = s_state == SUSPEND_STATE_DISK ?
> +					SUSPEND_TEST_DEVICES : SUSPEND_TEST_NONE;
>   
> -			igt_system_suspend_autoresume(s_state, test);
> +				igt_system_suspend_autoresume(s_state, test);
> +			}
>   		}
>   		igt_assert(igt_debugfs_exists(device.fd_xe, path, O_RDONLY));
>   		igt_debugfs_dump(device.fd_xe, path);
> @@ -766,7 +784,7 @@ igt_main
>   		}
>   
>   		igt_subtest_f("%s-mocs", s->name)
add igt_describe
> -			test_mocs_suspend_resume(device, s->state);
> +			test_mocs_suspend_resume(device, s->state, NO_RPM);
>   	}
>   
>   	igt_fixture {
> @@ -825,6 +843,13 @@ igt_main
>   
>   			igt_pm_set_autosuspend_delay(device.pci_xe, delay_ms);
>   		}
add igt_describe

Could you also add the tests temporarily to BAT in these series to check 
the CI of the new tests?

Thanks
Riana Tauro
> +
> +		igt_subtest_f("%s-mocs-rpm", d->name) {
> +			igt_assert(setup_d3(device, d->state));
> +			test_mocs_suspend_resume(device, NO_SUSPEND, d->state);
> +			cleanup_d3(device);
> +		}
> +
>   	}
>   
>   	igt_describe("Validate whether card is limited to d3hot,"
> @@ -835,12 +860,6 @@ igt_main
>   		test_vram_d3cold_threshold(device, sysfs_fd);
>   	}
>   
> -	igt_subtest("mocs-rpm") {
> -		dpms_on_off(device, DRM_MODE_DPMS_OFF);
> -		test_mocs_suspend_resume(device, NO_SUSPEND);
> -		dpms_on_off(device, DRM_MODE_DPMS_ON);
> -	}
> -
>   	igt_fixture {
>   		close(sysfs_fd);
>   		igt_pm_set_d3cold_allowed(device.pci_slot_name, d3cold_allowed);

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

* ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests
  2024-07-01 14:54 [PATCH i-g-t 1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests Badal Nilawar
  2024-07-01 14:54 ` [PATCH i-g-t 2/2] tests/intel/xe_pm: Extend mocs-rpm test to support D3Cold Badal Nilawar
@ 2024-07-02 11:45 ` Patchwork
  2024-07-02 11:51 ` ✗ GitLab.Pipeline: warning " Patchwork
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2024-07-02 11:45 UTC (permalink / raw)
  To: Badal Nilawar; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests
URL   : https://patchwork.freedesktop.org/series/135601/
State : failure

== Summary ==

IGT patchset build failed on latest successful build
bf723cf88eab8774a5a17794a720f9321f625ffc xe/oa/oa-metricset-codegen: Fix XE_OA_FORMAT_PEC64u64 offsets

Tail of build.log:
[1712/1736] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_mtlgt3.c.o'.
[1713/1736] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_acmgt1.c.o'.
[1714/1736] Compiling C object 'runner/527aa9f@@runner_test@exe/runner_tests.c.o'.
[1715/1736] Linking target runner/runner_test.
[1716/1736] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_acmgt2.c.o'.
[1717/1736] Compiling C object 'lib/76b5a35@@i915_perf@sha/meson-generated_.._i915_perf_metrics_acmgt3.c.o'.
[1718/1736] Linking target lib/libi915_perf.so.1.5.
[1719/1736] Generating symbol file 'lib/76b5a35@@i915_perf@sha/libi915_perf.so.1.5.symbols'.
[1720/1736] Linking target tools/i915-perf/i915-perf-configs.
[1721/1736] Linking target tools/i915-perf/i915-perf-reader.
[1722/1736] Linking target tools/i915-perf/i915-perf-recorder.
[1723/1736] Linking target tests/perf.
[1724/1736] Linking target tests/gem_barrier_race.
[1725/1736] Linking target tests/core_hotunplug.
[1726/1736] Generating core_hotunplug.testlist with a meson_exe.py custom command.
[1727/1736] Generating gem_barrier_race.testlist with a meson_exe.py custom command.
[1728/1736] Generating perf.testlist with a meson_exe.py custom command.
[1729/1736] Generating xe_tests.rst with a custom command.
FAILED: docs/testplan/xe_tests.rst 
/usr/src/igt-gpu-tools/scripts/igt_doc.py --config /usr/src/igt-gpu-tools/tests/intel/xe_test_config.json --rest docs/testplan/xe_tests.rst --check-testlist --igt-build-path /opt/igt/build
Traceback (most recent call last):
  File "/usr/src/igt-gpu-tools/scripts/igt_doc.py", line 386, in <module>
    main()
  File "/usr/src/igt-gpu-tools/scripts/igt_doc.py", line 341, in main
    tests.check_tests()
  File "/usr/src/igt-gpu-tools/scripts/test_list.py", line 1166, in check_tests
    subtests = self.expand_dictionary(True)
  File "/usr/src/igt-gpu-tools/scripts/test_list.py", line 749, in expand_dictionary
    subtest_array = self.expand_subtest(fname, name, test, subtest_only)
  File "/usr/src/igt-gpu-tools/scripts/test_list.py", line 655, in expand_subtest
    if arg_array[j] is None:
KeyError: 0
[1730/1736] Generating i915_tests.rst with a custom command.
[1731/1736] Generating kms_tests.rst with a custom command.
[1732/1736] Generating intel-ci-tests with a custom command.
FAILED: docs/testplan/intel-ci-tests 
/usr/src/igt-gpu-tools/scripts/igt_doc.py --config /usr/src/igt-gpu-tools/tests/intel/i915_test_config.json /usr/src/igt-gpu-tools/tests/intel/kms_test_config.json /usr/src/igt-gpu-tools/tests/intel/xe_test_config.json --intelci-testlist docs/testplan/intel-ci-tests
Traceback (most recent call last):
  File "/usr/src/igt-gpu-tools/scripts/igt_doc.py", line 386, in <module>
    main()
  File "/usr/src/igt-gpu-tools/scripts/igt_doc.py", line 380, in main
    (testlist, gpu_set) = tests.gen_intelci_testlist()
  File "/usr/src/igt-gpu-tools/scripts/igt_doc.py", line 91, in gen_intelci_testlist
    subtest_dict = self.expand_dictionary(True)
  File "/usr/src/igt-gpu-tools/scripts/test_list.py", line 749, in expand_dictionary
    subtest_array = self.expand_subtest(fname, name, test, subtest_only)
  File "/usr/src/igt-gpu-tools/scripts/test_list.py", line 655, in expand_subtest
    if arg_array[j] is None:
KeyError: 0
ninja: build stopped: subcommand failed.



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

* ✗ GitLab.Pipeline: warning for series starting with [i-g-t,1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests
  2024-07-01 14:54 [PATCH i-g-t 1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests Badal Nilawar
  2024-07-01 14:54 ` [PATCH i-g-t 2/2] tests/intel/xe_pm: Extend mocs-rpm test to support D3Cold Badal Nilawar
  2024-07-02 11:45 ` ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests Patchwork
@ 2024-07-02 11:51 ` Patchwork
  2 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2024-07-02 11:51 UTC (permalink / raw)
  To: Badal Nilawar; +Cc: igt-dev

== Series Details ==

Series: series starting with [i-g-t,1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests
URL   : https://patchwork.freedesktop.org/series/135601/
State : warning

== Summary ==

Pipeline status: FAILED.

see https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/1215289 for the overview.

build:tests-debian-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595848):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/i915_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --intelci-testlist docs/testplan/intel-ci-tests
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 380, in main
      (testlist, gpu_set) = tests.gen_intelci_testlist()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 91, in gen_intelci_testlist
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920852:step_script
  section_start:1719920852:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920853:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-debian-meson-arm64 has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595851):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --rest docs/testplan/xe_tests.rst
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 370, in main
      tests.print_nested_rest(parse_args.rest)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 933, in print_nested_rest
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920852:step_script
  section_start:1719920852:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920853:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-debian-meson-armhf has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595850):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --rest docs/testplan/xe_tests.rst
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 370, in main
      tests.print_nested_rest(parse_args.rest)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 933, in print_nested_rest
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920819:step_script
  section_start:1719920819:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920820:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-debian-meson-mips has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595852):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --rest docs/testplan/xe_tests.rst
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 370, in main
      tests.print_nested_rest(parse_args.rest)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 933, in print_nested_rest
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920830:step_script
  section_start:1719920830:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920831:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-debian-minimal has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595849):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --rest docs/testplan/xe_tests.rst
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 370, in main
      tests.print_nested_rest(parse_args.rest)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 933, in print_nested_rest
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920766:step_script
  section_start:1719920766:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920766:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595843):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/i915_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --intelci-testlist docs/testplan/intel-ci-tests
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 380, in main
      (testlist, gpu_set) = tests.gen_intelci_testlist()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 91, in gen_intelci_testlist
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920842:step_script
  section_start:1719920842:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920843:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-clang has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595847):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/i915_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --intelci-testlist docs/testplan/intel-ci-tests
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 380, in main
      (testlist, gpu_set) = tests.gen_intelci_testlist()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 91, in gen_intelci_testlist
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920877:step_script
  section_start:1719920877:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920877:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-no-libdrm-nouveau has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595846):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/i915_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --intelci-testlist docs/testplan/intel-ci-tests
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 380, in main
      (testlist, gpu_set) = tests.gen_intelci_testlist()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 91, in gen_intelci_testlist
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920844:step_script
  section_start:1719920844:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920845:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-no-libunwind has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595844):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/i915_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --intelci-testlist docs/testplan/intel-ci-tests
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 380, in main
      (testlist, gpu_set) = tests.gen_intelci_testlist()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 91, in gen_intelci_testlist
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920841:step_script
  section_start:1719920841:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920842:cleanup_file_variables
  ERROR: Job failed: exit code 1
  

build:tests-fedora-oldest-meson has failed (https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/jobs/60595845):
  /builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py --config /builds/gfx-ci/igt-ci-tags/tests/intel/i915_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/kms_test_config.json /builds/gfx-ci/igt-ci-tags/tests/intel/xe_test_config.json --intelci-testlist docs/testplan/intel-ci-tests
  Traceback (most recent call last):
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 386, in <module>
      main()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 380, in main
      (testlist, gpu_set) = tests.gen_intelci_testlist()
    File "/builds/gfx-ci/igt-ci-tags/scripts/igt_doc.py", line 91, in gen_intelci_testlist
      subtest_dict = self.expand_dictionary(True)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 749, in expand_dictionary
      subtest_array = self.expand_subtest(fname, name, test, subtest_only)
    File "/builds/gfx-ci/igt-ci-tags/scripts/test_list.py", line 655, in expand_subtest
      if arg_array[j] is None:
  KeyError: 0
  ninja: build stopped: subcommand failed.
  section_end:1719920851:step_script
  section_start:1719920851:cleanup_file_variables
  Cleaning up project directory and file based variables
  section_end:1719920852:cleanup_file_variables
  ERROR: Job failed: exit code 1

== Logs ==

For more details see: https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/pipelines/1215289

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

* Re: [PATCH i-g-t 2/2] tests/intel/xe_pm: Extend mocs-rpm test to support D3Cold
  2024-07-02 10:49   ` Riana Tauro
@ 2024-07-02 16:54     ` Kamil Konieczny
  0 siblings, 0 replies; 6+ messages in thread
From: Kamil Konieczny @ 2024-07-02 16:54 UTC (permalink / raw)
  To: igt-dev
  Cc: Riana Tauro, Badal Nilawar, rodrigo.vivi, janga.rahul.kumar,
	Katarzyna Piecielska

Hi Riana,
On 2024-07-02 at 16:19:18 +0530, Riana Tauro wrote:
> Hi Badal
> 
> On 7/1/2024 8:24 PM, Badal Nilawar wrote:
> > Use existing d3 helpers to cover D3Hot and D3Cold.
> add description for the test being modified in commit message
> > 
> > Signed-off-by: Badal Nilawar <badal.nilawar@intel.com>
> > ---
> >   tests/intel/xe_pm.c | 49 +++++++++++++++++++++++++++++++--------------
> >   1 file changed, 34 insertions(+), 15 deletions(-)
> > 
> > diff --git a/tests/intel/xe_pm.c b/tests/intel/xe_pm.c
> > index b30e94a2a..eac5ea8a7 100644
> > --- a/tests/intel/xe_pm.c
> > +++ b/tests/intel/xe_pm.c
> > @@ -611,10 +611,15 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
> >   }
> >   /**
> > - * SUBTEST: mocs-rpm
> > + * SUBTEST: %s-mocs-rpm
> %s already denotes the runtime pm state. 'rpm' can be dropped
> >    * Description:
> >    *     Validate mocs register contents over suspend resume
> %s/register/registers
> %s/suspend resume/runtime suspend,resume

or just:
 * Description: Validate mocs registers contents over runtime suspend and resume

> >    *
> > + * arg[2]:
> %s/arg[2]/arg[1]
> > + *
> > + * @d3hot:	d3hot
> > + * @d3cold:	d3cold
> > + *
> >    * Functionality: mocs registers
> Functionality for the other mocs test is pm - %arg[1]

Please do not use '%args[1]' in Functionality or other fields,
this is only for subtests names, also put all these before
describing args[] vars.

+Cc: Katarzyna Piecielska <katarzyna.piecielska@intel.com>

Regards,
Kamil

> Should be same
> >    * Run type: FULL
> >    */
> > @@ -629,9 +634,14 @@ static void test_mmap(device_t device, uint32_t placement, uint32_t flags,
> >    * @s3:		s3
> >    * @s4:		s4
> >    */
> > -static void test_mocs_suspend_resume(device_t device, int s_state)
> > +static void test_mocs_suspend_resume(device_t device, enum igt_suspend_state s_state,
> > +				     enum igt_acpi_d_state d_state)
> >   {
> >   	int gt;
> > +	uint64_t active_time;
> > +	bool check_rpm = (d_state == IGT_ACPI_D3Hot ||
> > +			  d_state == IGT_ACPI_D3Cold);
> > +
> >   	xe_for_each_gt(device.fd_xe, gt) {
> It would be good to have a log to identify the gt running this test,
> else would be difficult to identify which GT moc registers failed
> >   		char path[256];
> > @@ -644,19 +654,27 @@ static void test_mocs_suspend_resume(device_t device, int s_state)
> >   		igt_debugfs_dump(device.fd_xe, path);
> >   		igt_debugfs_read(device.fd_xe, path, mocs_content_pre);
> > -		if (s_state == NO_SUSPEND) {
> > +		if (check_rpm) {
> > +			igt_assert(in_d3(device, d_state));
> > +			active_time = igt_pm_get_runtime_active_time(device.pci_xe);
> > +
> >   			fw_handle = igt_debugfs_open(device.fd_xe, "forcewake_all", O_RDONLY);
> >   			igt_assert(fw_handle >= 0);
> > -			igt_assert(igt_get_runtime_pm_status() == IGT_RUNTIME_PM_STATUS_ACTIVE);
> > +			igt_assert(igt_pm_get_runtime_active_time(device.pci_xe) >
> > +				   active_time);
> >   			/* Make sure runtime pm goes back to suspended status after closing forcewake_all */
> >   			close(fw_handle);
> > -			igt_assert(igt_wait_for_pm_status(IGT_RUNTIME_PM_STATUS_SUSPENDED));
> > +			sleep(1);
> > +
> > +			igt_assert(in_d3(device, d_state));
> >   		} else {
> > -			enum igt_suspend_test test = s_state == SUSPEND_STATE_DISK ?
> > -				SUSPEND_TEST_DEVICES : SUSPEND_TEST_NONE;
> > +			if (s_state != NO_SUSPEND) {
> > +				enum igt_suspend_test test = s_state == SUSPEND_STATE_DISK ?
> > +					SUSPEND_TEST_DEVICES : SUSPEND_TEST_NONE;
> > -			igt_system_suspend_autoresume(s_state, test);
> > +				igt_system_suspend_autoresume(s_state, test);
> > +			}
> >   		}
> >   		igt_assert(igt_debugfs_exists(device.fd_xe, path, O_RDONLY));
> >   		igt_debugfs_dump(device.fd_xe, path);
> > @@ -766,7 +784,7 @@ igt_main
> >   		}
> >   		igt_subtest_f("%s-mocs", s->name)
> add igt_describe
> > -			test_mocs_suspend_resume(device, s->state);
> > +			test_mocs_suspend_resume(device, s->state, NO_RPM);
> >   	}
> >   	igt_fixture {
> > @@ -825,6 +843,13 @@ igt_main
> >   			igt_pm_set_autosuspend_delay(device.pci_xe, delay_ms);
> >   		}
> add igt_describe
> 
> Could you also add the tests temporarily to BAT in these series to check the
> CI of the new tests?
> 
> Thanks
> Riana Tauro
> > +
> > +		igt_subtest_f("%s-mocs-rpm", d->name) {
> > +			igt_assert(setup_d3(device, d->state));
> > +			test_mocs_suspend_resume(device, NO_SUSPEND, d->state);
> > +			cleanup_d3(device);
> > +		}
> > +
> >   	}
> >   	igt_describe("Validate whether card is limited to d3hot,"
> > @@ -835,12 +860,6 @@ igt_main
> >   		test_vram_d3cold_threshold(device, sysfs_fd);
> >   	}
> > -	igt_subtest("mocs-rpm") {
> > -		dpms_on_off(device, DRM_MODE_DPMS_OFF);
> > -		test_mocs_suspend_resume(device, NO_SUSPEND);
> > -		dpms_on_off(device, DRM_MODE_DPMS_ON);
> > -	}
> > -
> >   	igt_fixture {
> >   		close(sysfs_fd);
> >   		igt_pm_set_d3cold_allowed(device.pci_slot_name, d3cold_allowed);

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

end of thread, other threads:[~2024-07-02 16:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-01 14:54 [PATCH i-g-t 1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests Badal Nilawar
2024-07-01 14:54 ` [PATCH i-g-t 2/2] tests/intel/xe_pm: Extend mocs-rpm test to support D3Cold Badal Nilawar
2024-07-02 10:49   ` Riana Tauro
2024-07-02 16:54     ` Kamil Konieczny
2024-07-02 11:45 ` ✗ Fi.CI.BUILD: failure for series starting with [i-g-t,1/2] tests/intel/xe_pm: Install fw close exit handler before rpm tests Patchwork
2024-07-02 11:51 ` ✗ GitLab.Pipeline: warning " Patchwork

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