From: Jan Sokolowski <jan.sokolowski@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: Jan Sokolowski <jan.sokolowski@intel.com>
Subject: [PATCH i-g-t v2 1/1] tests/intel/xe_eudebug: refactor exec-queue-placements test
Date: Thu, 16 Jan 2025 12:57:38 +0000 [thread overview]
Message-ID: <20250116125738.146610-1-jan.sokolowski@intel.com> (raw)
In some cases, ccs_mode_all_engines can fail,
which will cause test fixture to not execute properly
and put the rest of the tests in an unstable state. Also,
ccs_mode_all_engines changes the state of the card for
other tests as well, thus it should clean after itself too,
which until now it didn't do.
Move the test to the end in the execution list and add
a proper cleanup method, ccs_mode_restore;
Signed-off-by: Jan Sokolowski <jan.sokolowski@intel.com>
---
v2: Forgot proper path in title
---
tests/intel/xe_eudebug.c | 46 ++++++++++++++++++++++++++++++----------
1 file changed, 35 insertions(+), 11 deletions(-)
diff --git a/tests/intel/xe_eudebug.c b/tests/intel/xe_eudebug.c
index 91e9ae885..c93b55857 100644
--- a/tests/intel/xe_eudebug.c
+++ b/tests/intel/xe_eudebug.c
@@ -2805,6 +2805,25 @@ static void ccs_mode_all_engines(int num_gt)
igt_require(num_gts_with_ccs_mode > 0);
}
+static void ccs_mode_restore(int num_gt)
+{
+ int fd, gt, gt_fd, ccs_mode, num_slices;
+
+ for (gt = 0; gt < num_gt; gt++) {
+ fd = drm_open_driver(DRIVER_XE);
+ gt_fd = xe_sysfs_gt_open(fd, gt);
+ close(fd);
+
+ if (igt_sysfs_scanf(gt_fd, "num_cslices", "%u", &num_slices) <= 0)
+ continue;
+
+ igt_assert(igt_sysfs_printf(gt_fd, "ccs_mode", "%u", 1) > 0);
+ igt_assert(igt_sysfs_scanf(gt_fd, "ccs_mode", "%u", &ccs_mode) > 0);
+ igt_assert(ccs_mode == 1);
+ close(gt_fd);
+ }
+}
+
igt_main
{
bool was_enabled;
@@ -2919,17 +2938,6 @@ igt_main
igt_subtest("discovery-empty-clients")
test_empty_discovery(fd, DISCOVERY_DESTROY_RESOURCES, 16);
- igt_subtest_group {
- igt_fixture {
- drm_close_driver(fd);
- ccs_mode_all_engines(gt_count);
- fd = drm_open_driver(DRIVER_XE);
- }
-
- igt_subtest("exec-queue-placements")
- test_basic_sessions(fd, EXEC_QUEUES_PLACEMENTS, 1, true);
- }
-
igt_fixture {
xe_eudebug_enable(fd, was_enabled);
drm_close_driver(fd);
@@ -2984,4 +2992,20 @@ igt_main
free(multigpu_was_enabled);
}
}
+
+ igt_subtest_group {
+ igt_fixture {
+ ccs_mode_all_engines(gt_count);
+ }
+
+ igt_subtest("exec-queue-placements") {
+ fd = drm_open_driver(DRIVER_XE);
+
+ test_basic_sessions(fd, EXEC_QUEUES_PLACEMENTS, 1, true);
+
+ ccs_mode_restore(gt_count);
+ drm_close_driver(fd);
+ }
+ }
+
}
--
2.34.1
next reply other threads:[~2025-01-16 12:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-16 12:57 Jan Sokolowski [this message]
2025-01-16 15:37 ` ✗ i915.CI.BAT: failure for series starting with [i-g-t,v2,1/1] tests/intel/xe_eudebug: refactor exec-queue-placements test Patchwork
2025-01-17 10:36 ` [PATCH i-g-t v2 1/1] " Manszewski, Christoph
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250116125738.146610-1-jan.sokolowski@intel.com \
--to=jan.sokolowski@intel.com \
--cc=igt-dev@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox