* [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios
@ 2022-08-18 22:42 Daniele Ceraolo Spurio
2022-08-19 0:26 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios (rev3) Patchwork
2022-08-19 21:09 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
0 siblings, 2 replies; 8+ messages in thread
From: Daniele Ceraolo Spurio @ 2022-08-18 22:42 UTC (permalink / raw)
To: igt-dev; +Cc: Alan Previn
Additional subtests have been added to make sure the HuC keeps working
after GT reset and suspend/resume.
v2: get a new ahnd per subtest.
v3: improve description, rework status check to match clearer spec
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Cc: Tony Ye <tony.ye@intel.com>
Cc: Alan Previn <alan.previn.teres.alexis@intel.com>
Reviewed-by: Tony Ye <tony.ye@intel.com> #v1
---
tests/i915/gem_huc_copy.c | 168 +++++++++++++++++++++++++++-----------
1 file changed, 120 insertions(+), 48 deletions(-)
diff --git a/tests/i915/gem_huc_copy.c b/tests/i915/gem_huc_copy.c
index ea32b705..f9cd4aa2 100644
--- a/tests/i915/gem_huc_copy.c
+++ b/tests/i915/gem_huc_copy.c
@@ -36,10 +36,17 @@
#include "i915/gem.h"
#include "i915/gem_create.h"
-IGT_TEST_DESCRIPTION("A very simple workload for the HuC.");
+IGT_TEST_DESCRIPTION("Check if HuC works by using it to copy a char array");
#define HUC_COPY_DATA_BUF_SIZE 4096
+enum operation {
+ GPU_RESET,
+ SUSPEND_RESUME,
+ HIBERNATE_RESUME,
+ SIMPLE_COPY,
+};
+
static void
compare_huc_copy_result(int drm_fd, uint32_t src_handle, uint32_t dst_handle)
{
@@ -73,15 +80,85 @@ static void test_huc_load(int fd)
{
int err;
int status = 0;
+ int attempts = 3;
+
+ /*
+ * Status 0 indicates FW load is still not completed. Since HuC load can
+ * complete after i915 load/resume is done, if we read status 0 we wait
+ * a bit and try again to wait for the status change.
+ */
+ while (attempts--) {
+ err = get_huc_status(fd, &status);
+ igt_skip_on_f(err == -ENODEV,
+ "HuC is not present on this platform!\n");
+ igt_skip_on_f(err == -EOPNOTSUPP,
+ "HuC firmware is disabled!\n");
+ igt_fail_on_f(err < 0, "HuC firmware loading error: %i, %s\n",
+ -err, strerror(-err));
+
+ if (status)
+ break;
+
+ igt_debug("HuC load not done. Will check again in 1s (%d attempts left)\n",
+ attempts);
+ sleep(1);
+ }
+ igt_fail_on_f(status == 0, "HuC firmware load has not completed!\n");
+}
+
+static void huc_copy_test(int drm_fd, uint64_t ahnd,
+ igt_huc_copyfunc_t huc_copy, enum operation op)
+{
+ char inputs[HUC_COPY_DATA_BUF_SIZE];
+ struct drm_i915_gem_exec_object2 obj[3];
+ uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
+ HUC_COPY_DATA_BUF_SIZE,
+ 4096 };
+
+ switch (op) {
+ case GPU_RESET:
+ igt_force_gpu_reset(drm_fd);
+ break;
+
+ case SUSPEND_RESUME:
+ igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
+ SUSPEND_TEST_NONE);
+ break;
+
+ case HIBERNATE_RESUME:
+ igt_system_suspend_autoresume(SUSPEND_STATE_DISK,
+ SUSPEND_TEST_NONE);
+ break;
+
+ case SIMPLE_COPY:
+ break;
+
+ default:
+ igt_assert(0);
+ }
+
+ test_huc_load(drm_fd);
+ /* Initialize src buffer randomly */
+ srand(time(NULL));
+ for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
+ inputs[i] = (char) (rand() % 256);
+
+ memset(obj, 0, sizeof(obj));
+ /* source buffer object for storing input */
+ obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
+ /* destination buffer object to receive input */
+ obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
+ /* execution buffer object */
+ obj[2].handle = gem_create(drm_fd, 4096);
+
+ gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
- err = get_huc_status(fd, &status);
- igt_skip_on_f(err == -ENODEV,
- "HuC is not present on this platform!\n");
- igt_skip_on_f(err == -EOPNOTSUPP,
- "HuC firmware is disabled!\n");
- igt_fail_on_f(err < 0, "HuC firmware loading error: %i, %s\n",
- -err, strerror(-err));
- igt_fail_on_f(status == 0, "HuC firmware is not running!\n");
+ huc_copy(drm_fd, ahnd, obj, objsize);
+ compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
+
+ gem_close(drm_fd, obj[0].handle);
+ gem_close(drm_fd, obj[1].handle);
+ gem_close(drm_fd, obj[2].handle);
}
igt_main
@@ -89,7 +166,17 @@ igt_main
int drm_fd = -1;
uint32_t devid;
igt_huc_copyfunc_t huc_copy;
- uint64_t ahnd;
+ const struct {
+ const char *name;
+ enum operation op;
+ const char *describe;
+ } ops[] = {
+ { "", SIMPLE_COPY, "" },
+ { "-after-reset", GPU_RESET, " after GT reset" },
+ { "-after-suspend-resume", SUSPEND_RESUME, " after suspend-to-mem" },
+ { "-after-hibernate-resume", HIBERNATE_RESUME, " after suspend-to-disk" },
+ { }
+ }, *op;
igt_fixture {
drm_fd = drm_open_driver(DRIVER_INTEL);
@@ -98,47 +185,32 @@ igt_main
huc_copy = igt_get_huc_copyfunc(devid);
igt_require_f(huc_copy, "no huc_copy function\n");
-
- ahnd = get_reloc_ahnd(drm_fd, 0);
}
- igt_describe("Make sure that Huc firmware works"
- "by copying a char array using Huc"
- "and verifying the copied result");
-
- igt_subtest("huc-copy") {
- char inputs[HUC_COPY_DATA_BUF_SIZE];
- struct drm_i915_gem_exec_object2 obj[3];
- uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
- HUC_COPY_DATA_BUF_SIZE,
- 4096 };
-
- test_huc_load(drm_fd);
- /* Initialize src buffer randomly */
- srand(time(NULL));
- for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
- inputs[i] = (char) (rand() % 256);
-
- memset(obj, 0, sizeof(obj));
- /* source buffer object for storing input */
- obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
- /* destination buffer object to receive input */
- obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
- /* execution buffer object */
- obj[2].handle = gem_create(drm_fd, 4096);
-
- gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
-
- huc_copy(drm_fd, ahnd, obj, objsize);
- compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
-
- gem_close(drm_fd, obj[0].handle);
- gem_close(drm_fd, obj[1].handle);
- gem_close(drm_fd, obj[2].handle);
+ for (op = ops; op->name; op++) {
+ igt_hang_t hang = {};
+ uint64_t ahnd;
+
+ igt_fixture {
+ ahnd = get_reloc_ahnd(drm_fd, 0);
+
+ if (op->op == GPU_RESET)
+ hang = igt_allow_hang(drm_fd, 0, HANG_ALLOW_CAPTURE);
+ }
+
+ igt_describe_f("Submit a copy work to the HuC%s and verify the result.",
+ op->describe);
+ igt_subtest_f("huc-copy%s", op->name)
+ huc_copy_test(drm_fd, ahnd, huc_copy, op->op);
+
+ igt_fixture {
+ if (op->op == GPU_RESET)
+ igt_disallow_hang(drm_fd, hang);
+
+ put_ahnd(ahnd);
+ }
}
- igt_fixture {
- put_ahnd(ahnd);
+ igt_fixture
close(drm_fd);
- }
}
--
2.37.2
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios (rev3)
2022-08-18 22:42 [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios Daniele Ceraolo Spurio
@ 2022-08-19 0:26 ` Patchwork
2022-08-19 21:09 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
1 sibling, 0 replies; 8+ messages in thread
From: Patchwork @ 2022-08-19 0:26 UTC (permalink / raw)
To: Daniele Ceraolo Spurio; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 5049 bytes --]
== Series Details ==
Series: tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios (rev3)
URL : https://patchwork.freedesktop.org/series/103240/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_12001 -> IGTPW_7662
====================================================
Summary
-------
**SUCCESS**
No regressions found.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/index.html
Participating hosts (31 -> 29)
------------------------------
Additional (1): fi-tgl-dsi
Missing (3): bat-rplp-1 fi-icl-u2 bat-dg1-6
Known issues
------------
Here are the changes found in IGTPW_7662 that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@i915_selftest@live@gem:
- fi-pnv-d510: NOTRUN -> [DMESG-FAIL][1] ([i915#4528])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/fi-pnv-d510/igt@i915_selftest@live@gem.html
* igt@i915_selftest@live@hangcheck:
- fi-hsw-4770: [PASS][2] -> [INCOMPLETE][3] ([i915#4785])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/fi-hsw-4770/igt@i915_selftest@live@hangcheck.html
* igt@kms_chamelium@common-hpd-after-suspend:
- fi-rkl-11600: NOTRUN -> [SKIP][4] ([fdo#111827])
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/fi-rkl-11600/igt@kms_chamelium@common-hpd-after-suspend.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions:
- fi-bsw-kefka: [PASS][5] -> [FAIL][6] ([i915#6298])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/fi-bsw-kefka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor@atomic-transitions.html
* igt@runner@aborted:
- fi-hsw-4770: NOTRUN -> [FAIL][7] ([fdo#109271] / [i915#4312] / [i915#5594] / [i915#6246])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/fi-hsw-4770/igt@runner@aborted.html
#### Possible fixes ####
* igt@i915_selftest@live@requests:
- fi-pnv-d510: [DMESG-FAIL][8] ([i915#4528]) -> [PASS][9]
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/fi-pnv-d510/igt@i915_selftest@live@requests.html
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/fi-pnv-d510/igt@i915_selftest@live@requests.html
* igt@i915_suspend@basic-s3-without-i915:
- fi-rkl-11600: [INCOMPLETE][10] ([i915#5982]) -> [PASS][11]
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/fi-rkl-11600/igt@i915_suspend@basic-s3-without-i915.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109285]: https://bugs.freedesktop.org/show_bug.cgi?id=109285
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[i915#1759]: https://gitlab.freedesktop.org/drm/intel/issues/1759
[i915#2190]: https://gitlab.freedesktop.org/drm/intel/issues/2190
[i915#2373]: https://gitlab.freedesktop.org/drm/intel/issues/2373
[i915#3301]: https://gitlab.freedesktop.org/drm/intel/issues/3301
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#4528]: https://gitlab.freedesktop.org/drm/intel/issues/4528
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4785]: https://gitlab.freedesktop.org/drm/intel/issues/4785
[i915#5594]: https://gitlab.freedesktop.org/drm/intel/issues/5594
[i915#5982]: https://gitlab.freedesktop.org/drm/intel/issues/5982
[i915#6246]: https://gitlab.freedesktop.org/drm/intel/issues/6246
[i915#6298]: https://gitlab.freedesktop.org/drm/intel/issues/6298
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6632 -> IGTPW_7662
CI-20190529: 20190529
CI_DRM_12001: e7ce4438e1626b5b42be03eba2837e57cd075f1f @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7662: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/index.html
IGT_6632: a0ac4d449e551fd5c78b56f85cd534330ea60507 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
Testlist changes
----------------
+igt@gem_huc_copy@huc-copy-after-hibernate-resume
+igt@gem_huc_copy@huc-copy-after-reset
+igt@gem_huc_copy@huc-copy-after-suspend-resume
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/index.html
[-- Attachment #2: Type: text/html, Size: 5150 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] ✗ Fi.CI.IGT: failure for tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios (rev3)
2022-08-18 22:42 [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios Daniele Ceraolo Spurio
2022-08-19 0:26 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios (rev3) Patchwork
@ 2022-08-19 21:09 ` Patchwork
1 sibling, 0 replies; 8+ messages in thread
From: Patchwork @ 2022-08-19 21:09 UTC (permalink / raw)
To: Daniele Ceraolo Spurio; +Cc: igt-dev
[-- Attachment #1: Type: text/plain, Size: 51977 bytes --]
== Series Details ==
Series: tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios (rev3)
URL : https://patchwork.freedesktop.org/series/103240/
State : failure
== Summary ==
CI Bug Log - changes from CI_DRM_12001_full -> IGTPW_7662_full
====================================================
Summary
-------
**FAILURE**
Serious unknown changes coming with IGTPW_7662_full absolutely need to be
verified manually.
If you think the reported changes have nothing to do with the changes
introduced in IGTPW_7662_full, please notify your bug team to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/index.html
Participating hosts (10 -> 8)
------------------------------
Additional (1): shard-tglu
Missing (3): pig-skl-6260u pig-kbl-iris pig-glk-j5005
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in IGTPW_7662_full:
### IGT changes ###
#### Possible regressions ####
* igt@gem_eio@hibernate:
- shard-glk: NOTRUN -> [INCOMPLETE][1]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk2/igt@gem_eio@hibernate.html
* igt@gem_exec_suspend@basic-s0@smem:
- shard-apl: [PASS][2] -> [INCOMPLETE][3]
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl1/igt@gem_exec_suspend@basic-s0@smem.html
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl2/igt@gem_exec_suspend@basic-s0@smem.html
* igt@gem_exec_suspend@basic-s4-devices@smem:
- shard-glk: [PASS][4] -> [INCOMPLETE][5] +2 similar issues
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-glk7/igt@gem_exec_suspend@basic-s4-devices@smem.html
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk9/igt@gem_exec_suspend@basic-s4-devices@smem.html
* {igt@gem_huc_copy@huc-copy-after-reset} (NEW):
- shard-iclb: NOTRUN -> [SKIP][6] +1 similar issue
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb4/igt@gem_huc_copy@huc-copy-after-reset.html
* {igt@gem_huc_copy@huc-copy-after-suspend-resume} (NEW):
- {shard-tglu}: NOTRUN -> [SKIP][7]
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglu-1/igt@gem_huc_copy@huc-copy-after-suspend-resume.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-iclb: NOTRUN -> [INCOMPLETE][8] +2 similar issues
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_psr@suspend:
- shard-iclb: [PASS][9] -> [INCOMPLETE][10] +3 similar issues
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb1/igt@kms_psr@suspend.html
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@kms_psr@suspend.html
New tests
---------
New tests have been introduced between CI_DRM_12001_full and IGTPW_7662_full:
### New IGT tests (2) ###
* igt@gem_huc_copy@huc-copy-after-reset:
- Statuses : 1 pass(s) 5 skip(s)
- Exec time: [0.0, 0.13] s
* igt@gem_huc_copy@huc-copy-after-suspend-resume:
- Statuses : 7 skip(s)
- Exec time: [0.0, 2.14] s
Known issues
------------
Here are the changes found in IGTPW_7662_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@api_intel_bb@crc32:
- shard-iclb: NOTRUN -> [SKIP][11] ([i915#6230])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@api_intel_bb@crc32.html
- shard-tglb: NOTRUN -> [SKIP][12] ([i915#6230])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@api_intel_bb@crc32.html
* igt@feature_discovery@display-3x:
- shard-iclb: NOTRUN -> [SKIP][13] ([i915#1839])
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@feature_discovery@display-3x.html
* igt@gem_ccs@suspend-resume:
- shard-iclb: NOTRUN -> [SKIP][14] ([i915#5327])
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@gem_ccs@suspend-resume.html
* igt@gem_ctx_persistence@smoketest:
- shard-snb: NOTRUN -> [SKIP][15] ([fdo#109271] / [i915#1099]) +7 similar issues
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb2/igt@gem_ctx_persistence@smoketest.html
* igt@gem_eio@hibernate:
- shard-apl: NOTRUN -> [INCOMPLETE][16] ([i915#6598]) +3 similar issues
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl8/igt@gem_eio@hibernate.html
- shard-snb: NOTRUN -> [INCOMPLETE][17] ([i915#6598])
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb4/igt@gem_eio@hibernate.html
* igt@gem_exec_capture@capture-recoverable:
- shard-iclb: NOTRUN -> [SKIP][18] ([i915#6344])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@gem_exec_capture@capture-recoverable.html
* igt@gem_exec_fair@basic-deadline:
- shard-kbl: [PASS][19] -> [FAIL][20] ([i915#2846])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl4/igt@gem_exec_fair@basic-deadline.html
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl1/igt@gem_exec_fair@basic-deadline.html
* igt@gem_exec_fair@basic-none-rrul@rcs0:
- shard-glk: NOTRUN -> [FAIL][21] ([i915#2842]) +3 similar issues
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk9/igt@gem_exec_fair@basic-none-rrul@rcs0.html
* igt@gem_exec_fair@basic-none@vcs0:
- shard-kbl: [PASS][22] -> [FAIL][23] ([i915#2842])
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl7/igt@gem_exec_fair@basic-none@vcs0.html
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl7/igt@gem_exec_fair@basic-none@vcs0.html
* igt@gem_exec_fair@basic-none@vcs1:
- shard-iclb: NOTRUN -> [FAIL][24] ([i915#2842]) +6 similar issues
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb2/igt@gem_exec_fair@basic-none@vcs1.html
* igt@gem_exec_fair@basic-throttle@rcs0:
- shard-iclb: [PASS][25] -> [FAIL][26] ([i915#2842])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb4/igt@gem_exec_fair@basic-throttle@rcs0.html
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@gem_exec_fair@basic-throttle@rcs0.html
* igt@gem_exec_flush@basic-batch-kernel-default-cmd:
- shard-iclb: NOTRUN -> [SKIP][27] ([fdo#109313])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb1/igt@gem_exec_flush@basic-batch-kernel-default-cmd.html
* igt@gem_exec_params@secure-non-master:
- shard-iclb: NOTRUN -> [SKIP][28] ([fdo#112283])
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb5/igt@gem_exec_params@secure-non-master.html
* igt@gem_exec_suspend@basic-s4-devices@smem:
- shard-apl: [PASS][29] -> [INCOMPLETE][30] ([i915#6598])
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl4/igt@gem_exec_suspend@basic-s4-devices@smem.html
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl7/igt@gem_exec_suspend@basic-s4-devices@smem.html
- shard-snb: [PASS][31] -> [INCOMPLETE][32] ([i915#4972] / [i915#6598])
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-snb6/igt@gem_exec_suspend@basic-s4-devices@smem.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb6/igt@gem_exec_suspend@basic-s4-devices@smem.html
* {igt@gem_huc_copy@huc-copy-after-suspend-resume} (NEW):
- shard-tglb: NOTRUN -> [SKIP][33] ([i915#2411])
[33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@gem_huc_copy@huc-copy-after-suspend-resume.html
* igt@gem_lmem_swapping@parallel-random-engines:
- shard-iclb: NOTRUN -> [SKIP][34] ([i915#4613]) +3 similar issues
[34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb5/igt@gem_lmem_swapping@parallel-random-engines.html
* igt@gem_lmem_swapping@random-engines:
- shard-glk: NOTRUN -> [SKIP][35] ([fdo#109271] / [i915#4613]) +2 similar issues
[35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk7/igt@gem_lmem_swapping@random-engines.html
* igt@gem_lmem_swapping@verify-random-ccs:
- shard-apl: NOTRUN -> [SKIP][36] ([fdo#109271] / [i915#4613]) +3 similar issues
[36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl8/igt@gem_lmem_swapping@verify-random-ccs.html
* igt@gem_ppgtt@blt-vs-render-ctx0:
- shard-glk: [PASS][37] -> [DMESG-WARN][38] ([i915#118])
[37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-glk9/igt@gem_ppgtt@blt-vs-render-ctx0.html
[38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk9/igt@gem_ppgtt@blt-vs-render-ctx0.html
* igt@gem_pxp@create-valid-protected-context:
- shard-iclb: NOTRUN -> [SKIP][39] ([i915#4270]) +5 similar issues
[39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb4/igt@gem_pxp@create-valid-protected-context.html
- shard-tglb: NOTRUN -> [SKIP][40] ([i915#4270])
[40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb3/igt@gem_pxp@create-valid-protected-context.html
* igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs:
- shard-glk: NOTRUN -> [SKIP][41] ([fdo#109271]) +237 similar issues
[41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk7/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html
- shard-iclb: NOTRUN -> [SKIP][42] ([i915#768]) +3 similar issues
[42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@gem_render_copy@y-tiled-ccs-to-y-tiled-mc-ccs.html
* igt@gem_softpin@evict-single-offset:
- shard-apl: NOTRUN -> [FAIL][43] ([i915#4171])
[43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl7/igt@gem_softpin@evict-single-offset.html
- shard-tglb: [PASS][44] -> [FAIL][45] ([i915#4171])
[44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-tglb5/igt@gem_softpin@evict-single-offset.html
[45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb5/igt@gem_softpin@evict-single-offset.html
- shard-glk: NOTRUN -> [FAIL][46] ([i915#4171])
[46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk9/igt@gem_softpin@evict-single-offset.html
* igt@gem_userptr_blits@coherency-unsync:
- shard-iclb: NOTRUN -> [SKIP][47] ([i915#3297]) +2 similar issues
[47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@gem_userptr_blits@coherency-unsync.html
* igt@gem_userptr_blits@dmabuf-sync:
- shard-apl: NOTRUN -> [SKIP][48] ([fdo#109271] / [i915#3323])
[48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl7/igt@gem_userptr_blits@dmabuf-sync.html
- shard-glk: NOTRUN -> [SKIP][49] ([fdo#109271] / [i915#3323])
[49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk3/igt@gem_userptr_blits@dmabuf-sync.html
- shard-iclb: NOTRUN -> [SKIP][50] ([i915#3323])
[50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb1/igt@gem_userptr_blits@dmabuf-sync.html
* igt@gem_userptr_blits@input-checking:
- shard-iclb: NOTRUN -> [DMESG-WARN][51] ([i915#4991])
[51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@gem_userptr_blits@input-checking.html
- shard-apl: NOTRUN -> [DMESG-WARN][52] ([i915#4991])
[52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl3/igt@gem_userptr_blits@input-checking.html
- shard-glk: NOTRUN -> [DMESG-WARN][53] ([i915#4991])
[53]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk8/igt@gem_userptr_blits@input-checking.html
* igt@gen3_render_tiledy_blits:
- shard-iclb: NOTRUN -> [SKIP][54] ([fdo#109289]) +7 similar issues
[54]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb4/igt@gen3_render_tiledy_blits.html
* igt@gen7_exec_parse@basic-allowed:
- shard-tglb: NOTRUN -> [SKIP][55] ([fdo#109289]) +2 similar issues
[55]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb3/igt@gen7_exec_parse@basic-allowed.html
* igt@gen7_exec_parse@oacontrol-tracking:
- shard-apl: NOTRUN -> [SKIP][56] ([fdo#109271]) +285 similar issues
[56]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl1/igt@gen7_exec_parse@oacontrol-tracking.html
* igt@gen9_exec_parse@basic-rejected:
- shard-iclb: NOTRUN -> [SKIP][57] ([i915#2856]) +3 similar issues
[57]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@gen9_exec_parse@basic-rejected.html
* igt@i915_module_load@load:
- shard-tglb: NOTRUN -> [SKIP][58] ([i915#6227])
[58]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@i915_module_load@load.html
- shard-iclb: NOTRUN -> [SKIP][59] ([i915#6227])
[59]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb1/igt@i915_module_load@load.html
* igt@i915_pm_freq_mult@media-freq@gt0:
- shard-iclb: NOTRUN -> [SKIP][60] ([i915#6590])
[60]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@i915_pm_freq_mult@media-freq@gt0.html
* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp:
- shard-apl: NOTRUN -> [SKIP][61] ([fdo#109271] / [i915#1937])
[61]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl3/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-dp.html
* igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a:
- shard-glk: NOTRUN -> [SKIP][62] ([fdo#109271] / [i915#1937])
[62]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk9/igt@i915_pm_lpsp@kms-lpsp@kms-lpsp-hdmi-a.html
* igt@i915_pm_lpsp@screens-disabled:
- shard-iclb: NOTRUN -> [SKIP][63] ([i915#1902])
[63]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@i915_pm_lpsp@screens-disabled.html
* igt@i915_pm_rpm@pc8-residency:
- shard-iclb: NOTRUN -> [SKIP][64] ([fdo#109293] / [fdo#109506])
[64]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@i915_pm_rpm@pc8-residency.html
* igt@i915_suspend@debugfs-reader:
- shard-apl: NOTRUN -> [INCOMPLETE][65] ([i915#4939])
[65]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl7/igt@i915_suspend@debugfs-reader.html
- shard-snb: [PASS][66] -> [INCOMPLETE][67] ([i915#4939])
[66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-snb2/igt@i915_suspend@debugfs-reader.html
[67]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb6/igt@i915_suspend@debugfs-reader.html
* igt@i915_suspend@fence-restore-tiled2untiled:
- shard-snb: NOTRUN -> [INCOMPLETE][68] ([i915#4817] / [i915#4939] / [i915#6598])
[68]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb4/igt@i915_suspend@fence-restore-tiled2untiled.html
* igt@i915_suspend@sysfs-reader:
- shard-snb: [PASS][69] -> [INCOMPLETE][70] ([i915#4817] / [i915#4939])
[69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-snb4/igt@i915_suspend@sysfs-reader.html
[70]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb5/igt@i915_suspend@sysfs-reader.html
* igt@kms_atomic_transition@plane-all-modeset-transition:
- shard-iclb: NOTRUN -> [SKIP][71] ([i915#1769])
[71]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb5/igt@kms_atomic_transition@plane-all-modeset-transition.html
- shard-tglb: NOTRUN -> [SKIP][72] ([i915#1769])
[72]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@kms_atomic_transition@plane-all-modeset-transition.html
* igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip:
- shard-iclb: NOTRUN -> [SKIP][73] ([i915#5286]) +7 similar issues
[73]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb2/igt@kms_big_fb@4-tiled-max-hw-stride-64bpp-rotate-0-async-flip.html
* igt@kms_big_fb@x-tiled-64bpp-rotate-270:
- shard-iclb: NOTRUN -> [SKIP][74] ([fdo#110725] / [fdo#111614]) +6 similar issues
[74]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@kms_big_fb@x-tiled-64bpp-rotate-270.html
* igt@kms_big_fb@yf-tiled-64bpp-rotate-270:
- shard-iclb: NOTRUN -> [SKIP][75] ([fdo#110723]) +3 similar issues
[75]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb4/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html
- shard-tglb: NOTRUN -> [SKIP][76] ([fdo#111615])
[76]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb5/igt@kms_big_fb@yf-tiled-64bpp-rotate-270.html
* igt@kms_big_joiner@invalid-modeset:
- shard-iclb: NOTRUN -> [SKIP][77] ([i915#2705]) +1 similar issue
[77]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb4/igt@kms_big_joiner@invalid-modeset.html
* igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs_cc:
- shard-glk: NOTRUN -> [SKIP][78] ([fdo#109271] / [i915#3886]) +20 similar issues
[78]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk2/igt@kms_ccs@pipe-a-bad-aux-stride-y_tiled_gen12_rc_ccs_cc.html
* igt@kms_ccs@pipe-a-crc-primary-basic-4_tiled_dg2_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][79] ([i915#3689] / [i915#6095])
[79]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb3/igt@kms_ccs@pipe-a-crc-primary-basic-4_tiled_dg2_mc_ccs.html
* igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][80] ([i915#3689] / [i915#3886])
[80]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb5/igt@kms_ccs@pipe-a-crc-primary-basic-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs:
- shard-iclb: NOTRUN -> [SKIP][81] ([fdo#109278]) +43 similar issues
[81]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@kms_ccs@pipe-a-crc-sprite-planes-basic-y_tiled_gen12_rc_ccs.html
* igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs:
- shard-iclb: NOTRUN -> [SKIP][82] ([fdo#109278] / [i915#3886]) +22 similar issues
[82]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@kms_ccs@pipe-a-random-ccs-data-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][83] ([i915#3689])
[83]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb5/igt@kms_ccs@pipe-b-bad-aux-stride-y_tiled_ccs.html
* igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs:
- shard-apl: NOTRUN -> [SKIP][84] ([fdo#109271] / [i915#3886]) +25 similar issues
[84]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl6/igt@kms_ccs@pipe-b-crc-sprite-planes-basic-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_mc_ccs:
- shard-kbl: NOTRUN -> [SKIP][85] ([fdo#109271] / [i915#3886]) +5 similar issues
[85]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl1/igt@kms_ccs@pipe-c-crc-primary-rotation-180-y_tiled_gen12_mc_ccs.html
* igt@kms_ccs@pipe-d-crc-primary-basic-yf_tiled_ccs:
- shard-tglb: NOTRUN -> [SKIP][86] ([fdo#111615] / [i915#3689]) +1 similar issue
[86]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb3/igt@kms_ccs@pipe-d-crc-primary-basic-yf_tiled_ccs.html
* igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs:
- shard-tglb: NOTRUN -> [SKIP][87] ([i915#6095])
[87]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb3/igt@kms_ccs@pipe-d-crc-sprite-planes-basic-4_tiled_dg2_mc_ccs.html
* igt@kms_cdclk@plane-scaling:
- shard-iclb: NOTRUN -> [SKIP][88] ([i915#3742])
[88]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb4/igt@kms_cdclk@plane-scaling.html
* igt@kms_chamelium@hdmi-crc-multiple:
- shard-glk: NOTRUN -> [SKIP][89] ([fdo#109271] / [fdo#111827]) +15 similar issues
[89]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk8/igt@kms_chamelium@hdmi-crc-multiple.html
* igt@kms_chamelium@hdmi-frame-dump:
- shard-kbl: NOTRUN -> [SKIP][90] ([fdo#109271] / [fdo#111827]) +3 similar issues
[90]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl4/igt@kms_chamelium@hdmi-frame-dump.html
* igt@kms_chamelium@vga-hpd-without-ddc:
- shard-snb: NOTRUN -> [SKIP][91] ([fdo#109271] / [fdo#111827]) +13 similar issues
[91]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb5/igt@kms_chamelium@vga-hpd-without-ddc.html
* igt@kms_color_chamelium@ctm-0-50:
- shard-apl: NOTRUN -> [SKIP][92] ([fdo#109271] / [fdo#111827]) +17 similar issues
[92]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl7/igt@kms_color_chamelium@ctm-0-50.html
* igt@kms_color_chamelium@ctm-blue-to-red:
- shard-tglb: NOTRUN -> [SKIP][93] ([fdo#109284] / [fdo#111827])
[93]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@kms_color_chamelium@ctm-blue-to-red.html
* igt@kms_color_chamelium@degamma:
- shard-iclb: NOTRUN -> [SKIP][94] ([fdo#109284] / [fdo#111827]) +15 similar issues
[94]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb5/igt@kms_color_chamelium@degamma.html
* igt@kms_content_protection@atomic-dpms:
- shard-iclb: NOTRUN -> [SKIP][95] ([fdo#109300] / [fdo#111066]) +1 similar issue
[95]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@kms_content_protection@atomic-dpms.html
* igt@kms_content_protection@dp-mst-lic-type-1:
- shard-iclb: NOTRUN -> [SKIP][96] ([i915#3116])
[96]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@kms_content_protection@dp-mst-lic-type-1.html
* igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy:
- shard-glk: [PASS][97] -> [FAIL][98] ([i915#72])
[97]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-glk3/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
[98]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk3/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html
* igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
- shard-tglb: NOTRUN -> [SKIP][99] ([fdo#109274] / [fdo#111825])
[99]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb3/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
* igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions:
- shard-glk: NOTRUN -> [FAIL][100] ([i915#2346])
[100]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk3/igt@kms_cursor_legacy@flip-vs-cursor@atomic-transitions.html
* igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-4tiled:
- shard-tglb: NOTRUN -> [SKIP][101] ([i915#5287])
[101]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb3/igt@kms_draw_crc@draw-method-xrgb2101010-pwrite-4tiled.html
* igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-4tiled:
- shard-iclb: NOTRUN -> [SKIP][102] ([i915#5287]) +4 similar issues
[102]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@kms_draw_crc@draw-method-xrgb8888-mmap-cpu-4tiled.html
* igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible:
- shard-iclb: NOTRUN -> [SKIP][103] ([fdo#109274]) +15 similar issues
[103]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@kms_flip@2x-flip-vs-absolute-wf_vblank-interruptible.html
* igt@kms_flip@flip-vs-expired-vblank@b-dp1:
- shard-apl: [PASS][104] -> [FAIL][105] ([i915#79])
[104]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl2/igt@kms_flip@flip-vs-expired-vblank@b-dp1.html
[105]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl2/igt@kms_flip@flip-vs-expired-vblank@b-dp1.html
* igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling@pipe-a-valid-mode:
- shard-iclb: NOTRUN -> [SKIP][106] ([i915#2672]) +7 similar issues
[106]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@kms_flip_scaled_crc@flip-64bpp-yftile-to-16bpp-yftile-downscaling@pipe-a-valid-mode.html
* igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode:
- shard-iclb: NOTRUN -> [SKIP][107] ([i915#2672] / [i915#3555])
[107]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@kms_flip_scaled_crc@flip-64bpp-ytile-to-32bpp-ytilegen12rcccs-upscaling@pipe-a-valid-mode.html
* igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-msflip-blt:
- shard-iclb: NOTRUN -> [SKIP][108] ([fdo#109280]) +55 similar issues
[108]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-shrfb-msflip-blt.html
* igt@kms_frontbuffer_tracking@fbc-suspend:
- shard-snb: NOTRUN -> [INCOMPLETE][109] ([i915#6598] / [i915#6625])
[109]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb2/igt@kms_frontbuffer_tracking@fbc-suspend.html
* igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff:
- shard-kbl: NOTRUN -> [SKIP][110] ([fdo#109271]) +54 similar issues
[110]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl7/igt@kms_frontbuffer_tracking@psr-1p-primscrn-spr-indfb-onoff.html
* igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-gtt:
- shard-tglb: NOTRUN -> [SKIP][111] ([fdo#109280] / [fdo#111825]) +2 similar issues
[111]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@kms_frontbuffer_tracking@psr-2p-primscrn-spr-indfb-draw-mmap-gtt.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu:
- shard-snb: NOTRUN -> [SKIP][112] ([fdo#109271]) +408 similar issues
[112]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb5/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-pri-indfb-draw-mmap-cpu.html
* igt@kms_hdmi_inject@inject-audio:
- shard-tglb: [PASS][113] -> [SKIP][114] ([i915#433])
[113]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-tglb3/igt@kms_hdmi_inject@inject-audio.html
[114]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@kms_hdmi_inject@inject-audio.html
* igt@kms_hdr@bpc-switch-dpms@pipe-a-dp-1:
- shard-kbl: [PASS][115] -> [FAIL][116] ([i915#1188])
[115]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl4/igt@kms_hdr@bpc-switch-dpms@pipe-a-dp-1.html
[116]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl1/igt@kms_hdr@bpc-switch-dpms@pipe-a-dp-1.html
* igt@kms_hdr@static-toggle:
- shard-iclb: NOTRUN -> [SKIP][117] ([i915#3555]) +7 similar issues
[117]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@kms_hdr@static-toggle.html
* igt@kms_invalid_mode@clock-too-high@edp-1-pipe-c:
- shard-iclb: NOTRUN -> [SKIP][118] ([i915#6403]) +2 similar issues
[118]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@kms_invalid_mode@clock-too-high@edp-1-pipe-c.html
* igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb:
- shard-kbl: NOTRUN -> [FAIL][119] ([fdo#108145] / [i915#265])
[119]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl4/igt@kms_plane_alpha_blend@pipe-a-alpha-opaque-fb.html
* igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb:
- shard-apl: NOTRUN -> [FAIL][120] ([i915#265]) +2 similar issues
[120]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl2/igt@kms_plane_alpha_blend@pipe-a-alpha-transparent-fb.html
* igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb:
- shard-glk: NOTRUN -> [FAIL][121] ([i915#265]) +1 similar issue
[121]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk5/igt@kms_plane_alpha_blend@pipe-b-alpha-transparent-fb.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-basic:
- shard-apl: NOTRUN -> [FAIL][122] ([fdo#108145] / [i915#265]) +2 similar issues
[122]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl8/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
- shard-glk: NOTRUN -> [FAIL][123] ([fdo#108145] / [i915#265]) +3 similar issues
[123]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk7/igt@kms_plane_alpha_blend@pipe-c-alpha-basic.html
* igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb:
- shard-kbl: NOTRUN -> [FAIL][124] ([i915#265])
[124]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl7/igt@kms_plane_alpha_blend@pipe-c-alpha-transparent-fb.html
* igt@kms_plane_lowres@tiling-4:
- shard-iclb: NOTRUN -> [SKIP][125] ([i915#5288])
[125]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb2/igt@kms_plane_lowres@tiling-4.html
* igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-edp-1:
- shard-iclb: NOTRUN -> [SKIP][126] ([i915#5176]) +14 similar issues
[126]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@kms_plane_scaling@plane-scaler-with-clipping-clamping-rotation@pipe-c-edp-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1:
- shard-tglb: NOTRUN -> [SKIP][127] ([i915#5235]) +3 similar issues
[127]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb5/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-25@pipe-d-edp-1.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-c-edp-1:
- shard-iclb: NOTRUN -> [SKIP][128] ([i915#5235]) +2 similar issues
[128]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb2/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-5@pipe-c-edp-1.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-iclb: NOTRUN -> [SKIP][129] ([i915#6524])
[129]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb1/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf:
- shard-glk: NOTRUN -> [SKIP][130] ([fdo#109271] / [i915#658]) +6 similar issues
[130]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk7/igt@kms_psr2_sf@cursor-plane-move-continuous-exceed-sf.html
* igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf:
- shard-iclb: NOTRUN -> [SKIP][131] ([i915#658]) +1 similar issue
[131]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@kms_psr2_sf@overlay-plane-move-continuous-exceed-fully-sf.html
* igt@kms_psr2_sf@plane-move-sf-dmg-area:
- shard-apl: NOTRUN -> [SKIP][132] ([fdo#109271] / [i915#658]) +4 similar issues
[132]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl3/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
- shard-iclb: NOTRUN -> [SKIP][133] ([i915#2920])
[133]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb2/igt@kms_psr2_sf@plane-move-sf-dmg-area.html
* igt@kms_psr2_su@frontbuffer-xrgb8888:
- shard-kbl: NOTRUN -> [SKIP][134] ([fdo#109271] / [i915#658]) +1 similar issue
[134]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl7/igt@kms_psr2_su@frontbuffer-xrgb8888.html
* igt@kms_psr2_su@page_flip-nv12:
- shard-iclb: NOTRUN -> [SKIP][135] ([fdo#109642] / [fdo#111068] / [i915#658]) +1 similar issue
[135]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@kms_psr2_su@page_flip-nv12.html
* igt@kms_psr@psr2_cursor_blt:
- shard-iclb: NOTRUN -> [SKIP][136] ([fdo#109441]) +2 similar issues
[136]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@kms_psr@psr2_cursor_blt.html
* igt@kms_tv_load_detect@load-detect:
- shard-iclb: NOTRUN -> [SKIP][137] ([fdo#109309])
[137]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@kms_tv_load_detect@load-detect.html
* igt@kms_vblank@pipe-a-ts-continuation-suspend:
- shard-glk: NOTRUN -> [INCOMPLETE][138] ([i915#6598]) +3 similar issues
[138]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk9/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
* igt@kms_vblank@pipe-b-ts-continuation-suspend:
- shard-apl: [PASS][139] -> [INCOMPLETE][140] ([i915#4939] / [i915#6598])
[139]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl2/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
[140]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl1/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
- shard-iclb: [PASS][141] -> [INCOMPLETE][142] ([fdo#111764])
[141]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb7/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
[142]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@kms_vblank@pipe-b-ts-continuation-suspend.html
* igt@kms_writeback@writeback-pixel-formats:
- shard-apl: NOTRUN -> [SKIP][143] ([fdo#109271] / [i915#2437])
[143]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl6/igt@kms_writeback@writeback-pixel-formats.html
- shard-glk: NOTRUN -> [SKIP][144] ([fdo#109271] / [i915#2437])
[144]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk1/igt@kms_writeback@writeback-pixel-formats.html
- shard-iclb: NOTRUN -> [SKIP][145] ([i915#2437])
[145]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@kms_writeback@writeback-pixel-formats.html
* igt@nouveau_crc@ctx-flip-threshold-reset-after-capture:
- shard-tglb: NOTRUN -> [SKIP][146] ([i915#2530])
[146]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb3/igt@nouveau_crc@ctx-flip-threshold-reset-after-capture.html
* igt@nouveau_crc@pipe-a-ctx-flip-detection:
- shard-iclb: NOTRUN -> [SKIP][147] ([i915#2530]) +2 similar issues
[147]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb8/igt@nouveau_crc@pipe-a-ctx-flip-detection.html
* igt@prime_nv_test@i915_blt_fill_nv_read:
- shard-iclb: NOTRUN -> [SKIP][148] ([fdo#109291]) +7 similar issues
[148]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@prime_nv_test@i915_blt_fill_nv_read.html
* igt@sysfs_clients@recycle-many:
- shard-iclb: NOTRUN -> [SKIP][149] ([i915#2994]) +3 similar issues
[149]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb1/igt@sysfs_clients@recycle-many.html
* igt@sysfs_clients@split-50:
- shard-apl: NOTRUN -> [SKIP][150] ([fdo#109271] / [i915#2994]) +3 similar issues
[150]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl6/igt@sysfs_clients@split-50.html
- shard-glk: NOTRUN -> [SKIP][151] ([fdo#109271] / [i915#2994]) +4 similar issues
[151]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk2/igt@sysfs_clients@split-50.html
* igt@tools_test@sysfs_l3_parity:
- shard-iclb: NOTRUN -> [SKIP][152] ([fdo#109307])
[152]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@tools_test@sysfs_l3_parity.html
#### Possible fixes ####
* igt@gem_eio@unwedge-stress:
- shard-tglb: [FAIL][153] ([i915#5784]) -> [PASS][154]
[153]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-tglb5/igt@gem_eio@unwedge-stress.html
[154]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@gem_eio@unwedge-stress.html
* igt@gem_exec_balancer@parallel-out-fence:
- shard-iclb: [SKIP][155] ([i915#4525]) -> [PASS][156] +1 similar issue
[155]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb7/igt@gem_exec_balancer@parallel-out-fence.html
[156]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb1/igt@gem_exec_balancer@parallel-out-fence.html
* igt@gem_exec_endless@dispatch@vcs1:
- shard-tglb: [INCOMPLETE][157] ([i915#3778]) -> [PASS][158]
[157]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-tglb5/igt@gem_exec_endless@dispatch@vcs1.html
[158]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb5/igt@gem_exec_endless@dispatch@vcs1.html
* igt@gem_exec_fair@basic-pace@vcs1:
- shard-kbl: [FAIL][159] ([i915#2842]) -> [PASS][160]
[159]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl1/igt@gem_exec_fair@basic-pace@vcs1.html
[160]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl7/igt@gem_exec_fair@basic-pace@vcs1.html
* igt@gen9_exec_parse@allowed-single:
- shard-kbl: [DMESG-WARN][161] ([i915#5566] / [i915#716]) -> [PASS][162]
[161]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl4/igt@gen9_exec_parse@allowed-single.html
[162]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl4/igt@gen9_exec_parse@allowed-single.html
- shard-apl: [DMESG-WARN][163] ([i915#5566] / [i915#716]) -> [PASS][164]
[163]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl4/igt@gen9_exec_parse@allowed-single.html
[164]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl6/igt@gen9_exec_parse@allowed-single.html
* igt@kms_fbcon_fbt@fbc-suspend:
- shard-kbl: [FAIL][165] ([i915#4767]) -> [PASS][166]
[165]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl1/igt@kms_fbcon_fbt@fbc-suspend.html
[166]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl4/igt@kms_fbcon_fbt@fbc-suspend.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode:
- shard-iclb: [FAIL][167] ([i915#1888]) -> [PASS][168]
[167]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb1/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html
[168]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb7/igt@kms_flip_scaled_crc@flip-32bpp-ytileccs-to-64bpp-ytile-upscaling@pipe-a-valid-mode.html
* igt@kms_psr@psr2_cursor_mmap_cpu:
- shard-iclb: [SKIP][169] ([fdo#109441]) -> [PASS][170]
[169]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb8/igt@kms_psr@psr2_cursor_mmap_cpu.html
[170]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb2/igt@kms_psr@psr2_cursor_mmap_cpu.html
* igt@kms_psr_stress_test@flip-primary-invalidate-overlay:
- shard-iclb: [SKIP][171] ([i915#5519]) -> [PASS][172]
[171]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb7/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
[172]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb3/igt@kms_psr_stress_test@flip-primary-invalidate-overlay.html
* igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend:
- shard-iclb: [INCOMPLETE][173] -> [PASS][174] +1 similar issue
[173]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb6/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
[174]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb6/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
- shard-apl: [INCOMPLETE][175] ([i915#4939]) -> [PASS][176]
[175]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl6/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
[176]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl1/igt@kms_vblank@pipe-c-ts-continuation-dpms-suspend.html
* igt@perf@polling-parameterized:
- shard-tglb: [FAIL][177] ([i915#5639]) -> [PASS][178]
[177]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-tglb3/igt@perf@polling-parameterized.html
[178]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-tglb7/igt@perf@polling-parameterized.html
#### Warnings ####
* igt@gem_eio@in-flight-suspend:
- shard-apl: [INCOMPLETE][179] -> [INCOMPLETE][180] ([i915#6598])
[179]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl2/igt@gem_eio@in-flight-suspend.html
[180]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl2/igt@gem_eio@in-flight-suspend.html
- shard-snb: [INCOMPLETE][181] ([i915#6628]) -> [INCOMPLETE][182] ([i915#6598] / [i915#6628])
[181]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-snb6/igt@gem_eio@in-flight-suspend.html
[182]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb4/igt@gem_eio@in-flight-suspend.html
* igt@gem_eio@suspend:
- shard-snb: [INCOMPLETE][183] -> [INCOMPLETE][184] ([i915#6598])
[183]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-snb6/igt@gem_eio@suspend.html
[184]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-snb4/igt@gem_eio@suspend.html
* igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area:
- shard-iclb: [SKIP][185] ([fdo#111068] / [i915#658]) -> [SKIP][186] ([i915#2920])
[185]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-iclb7/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
[186]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-iclb2/igt@kms_psr2_sf@overlay-primary-update-sf-dmg-area.html
* igt@nouveau_crc@pipe-d-ctx-flip-detection:
- shard-glk: [SKIP][187] ([fdo#109271] / [i915#1888]) -> [SKIP][188] ([fdo#109271])
[187]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-glk2/igt@nouveau_crc@pipe-d-ctx-flip-detection.html
[188]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-glk3/igt@nouveau_crc@pipe-d-ctx-flip-detection.html
* igt@runner@aborted:
- shard-apl: ([FAIL][189], [FAIL][190]) ([fdo#109271] / [i915#3002] / [i915#4312] / [i915#5257] / [i915#6599]) -> ([FAIL][191], [FAIL][192]) ([i915#3002] / [i915#4312] / [i915#5257] / [i915#6599])
[189]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl4/igt@runner@aborted.html
[190]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-apl2/igt@runner@aborted.html
[191]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl3/igt@runner@aborted.html
[192]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-apl3/igt@runner@aborted.html
- shard-kbl: ([FAIL][193], [FAIL][194], [FAIL][195]) ([fdo#109271] / [i915#3002] / [i915#4312] / [i915#5257] / [i915#716]) -> ([FAIL][196], [FAIL][197]) ([i915#3002] / [i915#4312] / [i915#5257])
[193]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl4/igt@runner@aborted.html
[194]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl4/igt@runner@aborted.html
[195]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_12001/shard-kbl1/igt@runner@aborted.html
[196]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl7/igt@runner@aborted.html
[197]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/shard-kbl1/igt@runner@aborted.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
[fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
[fdo#109274]: https://bugs.freedesktop.org/show_bug.cgi?id=109274
[fdo#109278]: https://bugs.freedesktop.org/show_bug.cgi?id=109278
[fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
[fdo#109284]: https://bugs.freedesktop.org/show_bug.cgi?id=109284
[fdo#109289]: https://bugs.freedesktop.org/show_bug.cgi?id=109289
[fdo#109291]: https://bugs.freedesktop.org/show_bug.cgi?id=109291
[fdo#109293]: https://bugs.freedesktop.org/show_bug.cgi?id=109293
[fdo#109295]: https://bugs.freedesktop.org/show_bug.cgi?id=109295
[fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300
[fdo#109302]: https://bugs.freedesktop.org/show_bug.cgi?id=109302
[fdo#109307]: https://bugs.freedesktop.org/show_bug.cgi?id=109307
[fdo#109309]: https://bugs.freedesktop.org/show_bug.cgi?id=109309
[fdo#109312]: https://bugs.freedesktop.org/show_bug.cgi?id=109312
[fdo#109313]: https://bugs.freedesktop.org/show_bug.cgi?id=109313
[fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
[fdo#109506]: https://bugs.freedesktop.org/show_bug.cgi?id=109506
[fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
[fdo#110189]: https://bugs.freedesktop.org/show_bug.cgi?id=110189
[fdo#110723]: https://bugs.freedesktop.org/show_bug.cgi?id=110723
[fdo#110725]: https://bugs.freedesktop.org/show_bug.cgi?id=110725
[fdo#111066]: https://bugs.freedesktop.org/show_bug.cgi?id=111066
[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#111764]: https://bugs.freedesktop.org/show_bug.cgi?id=111764
[fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825
[fdo#111827]: https://bugs.freedesktop.org/show_bug.cgi?id=111827
[fdo#112283]: https://bugs.freedesktop.org/show_bug.cgi?id=112283
[i915#1063]: https://gitlab.freedesktop.org/drm/intel/issues/1063
[i915#1099]: https://gitlab.freedesktop.org/drm/intel/issues/1099
[i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118
[i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188
[i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397
[i915#1769]: https://gitlab.freedesktop.org/drm/intel/issues/1769
[i915#1839]: https://gitlab.freedesktop.org/drm/intel/issues/1839
[i915#1888]: https://gitlab.freedesktop.org/drm/intel/issues/1888
[i915#1902]: https://gitlab.freedesktop.org/drm/intel/issues/1902
[i915#1937]: https://gitlab.freedesktop.org/drm/intel/issues/1937
[i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346
[i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411
[i915#2437]: https://gitlab.freedesktop.org/drm/intel/issues/2437
[i915#2527]: https://gitlab.freedesktop.org/drm/intel/issues/2527
[i915#2530]: https://gitlab.freedesktop.org/drm/intel/issues/2530
[i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265
[i915#2658]: https://gitlab.freedesktop.org/drm/intel/issues/2658
[i915#2672]: https://gitlab.freedesktop.org/drm/intel/issues/2672
[i915#2705]: https://gitlab.freedesktop.org/drm/intel/issues/2705
[i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842
[i915#2846]: https://gitlab.freedesktop.org/drm/intel/issues/2846
[i915#2856]: https://gitlab.freedesktop.org/drm/intel/issues/2856
[i915#2920]: https://gitlab.freedesktop.org/drm/intel/issues/2920
[i915#2994]: https://gitlab.freedesktop.org/drm/intel/issues/2994
[i915#3002]: https://gitlab.freedesktop.org/drm/intel/issues/3002
[i915#3063]: https://gitlab.freedesktop.org/drm/intel/issues/3063
[i915#3116]: https://gitlab.freedesktop.org/drm/intel/issues/3116
[i915#3297]: https://gitlab.freedesktop.org/drm/intel/issues/3297
[i915#3323]: https://gitlab.freedesktop.org/drm/intel/issues/3323
[i915#3555]: https://gitlab.freedesktop.org/drm/intel/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/intel/issues/3637
[i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689
[i915#3742]: https://gitlab.freedesktop.org/drm/intel/issues/3742
[i915#3778]: https://gitlab.freedesktop.org/drm/intel/issues/3778
[i915#3804]: https://gitlab.freedesktop.org/drm/intel/issues/3804
[i915#3828]: https://gitlab.freedesktop.org/drm/intel/issues/3828
[i915#3886]: https://gitlab.freedesktop.org/drm/intel/issues/3886
[i915#4103]: https://gitlab.freedesktop.org/drm/intel/issues/4103
[i915#4171]: https://gitlab.freedesktop.org/drm/intel/issues/4171
[i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270
[i915#4312]: https://gitlab.freedesktop.org/drm/intel/issues/4312
[i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433
[i915#4387]: https://gitlab.freedesktop.org/drm/intel/issues/4387
[i915#4525]: https://gitlab.freedesktop.org/drm/intel/issues/4525
[i915#4613]: https://gitlab.freedesktop.org/drm/intel/issues/4613
[i915#4767]: https://gitlab.freedesktop.org/drm/intel/issues/4767
[i915#4817]: https://gitlab.freedesktop.org/drm/intel/issues/4817
[i915#4939]: https://gitlab.freedesktop.org/drm/intel/issues/4939
[i915#4972]: https://gitlab.freedesktop.org/drm/intel/issues/4972
[i915#4991]: https://gitlab.freedesktop.org/drm/intel/issues/4991
[i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176
[i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235
[i915#5257]: https://gitlab.freedesktop.org/drm/intel/issues/5257
[i915#5286]: https://gitlab.freedesktop.org/drm/intel/issues/5286
[i915#5287]: https://gitlab.freedesktop.org/drm/intel/issues/5287
[i915#5288]: https://gitlab.freedesktop.org/drm/intel/issues/5288
[i915#5289]: https://gitlab.freedesktop.org/drm/intel/issues/5289
[i915#5327]: https://gitlab.freedesktop.org/drm/intel/issues/5327
[i915#5461]: https://gitlab.freedesktop.org/drm/intel/issues/5461
[i915#5519]: https://gitlab.freedesktop.org/drm/intel/issues/5519
[i915#5566]: https://gitlab.freedesktop.org/drm/intel/issues/5566
[i915#5639]: https://gitlab.freedesktop.org/drm/intel/issues/5639
[i915#5784]: https://gitlab.freedesktop.org/drm/intel/issues/5784
[i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095
[i915#6117]: https://gitlab.freedesktop.org/drm/intel/issues/6117
[i915#6227]: https://gitlab.freedesktop.org/drm/intel/issues/6227
[i915#6230]: https://gitlab.freedesktop.org/drm/intel/issues/6230
[i915#6334]: https://gitlab.freedesktop.org/drm/intel/issues/6334
[i915#6335]: https://gitlab.freedesktop.org/drm/intel/issues/6335
[i915#6344]: https://gitlab.freedesktop.org/drm/intel/issues/6344
[i915#6403]: https://gitlab.freedesktop.org/drm/intel/issues/6403
[i915#6412]: https://gitlab.freedesktop.org/drm/intel/issues/6412
[i915#6524]: https://gitlab.freedesktop.org/drm/intel/issues/6524
[i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658
[i915#6590]: https://gitlab.freedesktop.org/drm/intel/issues/6590
[i915#6598]: https://gitlab.freedesktop.org/drm/intel/issues/6598
[i915#6599]: https://gitlab.freedesktop.org/drm/intel/issues/6599
[i915#6625]: https://gitlab.freedesktop.org/drm/intel/issues/6625
[i915#6628]: https://gitlab.freedesktop.org/drm/intel/issues/6628
[i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716
[i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72
[i915#768]: https://gitlab.freedesktop.org/drm/intel/issues/768
[i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79
Build changes
-------------
* CI: CI-20190529 -> None
* IGT: IGT_6632 -> IGTPW_7662
* Piglit: piglit_4509 -> None
CI-20190529: 20190529
CI_DRM_12001: e7ce4438e1626b5b42be03eba2837e57cd075f1f @ git://anongit.freedesktop.org/gfx-ci/linux
IGTPW_7662: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/index.html
IGT_6632: a0ac4d449e551fd5c78b56f85cd534330ea60507 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_7662/index.html
[-- Attachment #2: Type: text/html, Size: 63732 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios
@ 2022-04-27 21:44 Daniele Ceraolo Spurio
2022-04-27 21:58 ` Ye, Tony
2022-06-15 16:42 ` Kamil Konieczny
0 siblings, 2 replies; 8+ messages in thread
From: Daniele Ceraolo Spurio @ 2022-04-27 21:44 UTC (permalink / raw)
To: igt-dev
Additional subtests have been added to make sure the HuC keeps working
after GT reset and suspend/resume.
Cc: Tony Ye <tony.ye@intel.com>
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
---
tests/i915/gem_huc_copy.c | 118 ++++++++++++++++++++++++++++----------
1 file changed, 89 insertions(+), 29 deletions(-)
diff --git a/tests/i915/gem_huc_copy.c b/tests/i915/gem_huc_copy.c
index ea32b705..ef577824 100644
--- a/tests/i915/gem_huc_copy.c
+++ b/tests/i915/gem_huc_copy.c
@@ -40,6 +40,13 @@ IGT_TEST_DESCRIPTION("A very simple workload for the HuC.");
#define HUC_COPY_DATA_BUF_SIZE 4096
+enum operation {
+ GPU_RESET,
+ SUSPEND_RESUME,
+ HIBERNATE_RESUME,
+ SIMPLE_COPY,
+};
+
static void
compare_huc_copy_result(int drm_fd, uint32_t src_handle, uint32_t dst_handle)
{
@@ -84,12 +91,77 @@ static void test_huc_load(int fd)
igt_fail_on_f(status == 0, "HuC firmware is not running!\n");
}
+static void huc_copy_test(int drm_fd, uint64_t ahnd,
+ igt_huc_copyfunc_t huc_copy, enum operation op)
+{
+ char inputs[HUC_COPY_DATA_BUF_SIZE];
+ struct drm_i915_gem_exec_object2 obj[3];
+ uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
+ HUC_COPY_DATA_BUF_SIZE,
+ 4096 };
+
+ switch (op) {
+ case GPU_RESET:
+ igt_force_gpu_reset(drm_fd);
+ break;
+
+ case SUSPEND_RESUME:
+ igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
+ SUSPEND_TEST_NONE);
+ break;
+
+ case HIBERNATE_RESUME:
+ igt_system_suspend_autoresume(SUSPEND_STATE_DISK,
+ SUSPEND_TEST_NONE);
+ break;
+
+ case SIMPLE_COPY:
+ break;
+
+ default:
+ igt_assert(0);
+ }
+
+ test_huc_load(drm_fd);
+ /* Initialize src buffer randomly */
+ srand(time(NULL));
+ for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
+ inputs[i] = (char) (rand() % 256);
+
+ memset(obj, 0, sizeof(obj));
+ /* source buffer object for storing input */
+ obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
+ /* destination buffer object to receive input */
+ obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
+ /* execution buffer object */
+ obj[2].handle = gem_create(drm_fd, 4096);
+
+ gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
+
+ huc_copy(drm_fd, ahnd, obj, objsize);
+ compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
+
+ gem_close(drm_fd, obj[0].handle);
+ gem_close(drm_fd, obj[1].handle);
+ gem_close(drm_fd, obj[2].handle);
+}
+
igt_main
{
int drm_fd = -1;
uint32_t devid;
igt_huc_copyfunc_t huc_copy;
uint64_t ahnd;
+ const struct {
+ const char *name;
+ enum operation op;
+ } ops[] = {
+ { "", SIMPLE_COPY },
+ { "-after-reset", GPU_RESET },
+ { "-after-suspend-resume", SUSPEND_RESUME },
+ { "-after-hibernate-resume", HIBERNATE_RESUME },
+ { }
+ }, *op;
igt_fixture {
drm_fd = drm_open_driver(DRIVER_INTEL);
@@ -106,35 +178,23 @@ igt_main
"by copying a char array using Huc"
"and verifying the copied result");
- igt_subtest("huc-copy") {
- char inputs[HUC_COPY_DATA_BUF_SIZE];
- struct drm_i915_gem_exec_object2 obj[3];
- uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
- HUC_COPY_DATA_BUF_SIZE,
- 4096 };
-
- test_huc_load(drm_fd);
- /* Initialize src buffer randomly */
- srand(time(NULL));
- for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
- inputs[i] = (char) (rand() % 256);
-
- memset(obj, 0, sizeof(obj));
- /* source buffer object for storing input */
- obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
- /* destination buffer object to receive input */
- obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
- /* execution buffer object */
- obj[2].handle = gem_create(drm_fd, 4096);
-
- gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
-
- huc_copy(drm_fd, ahnd, obj, objsize);
- compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
-
- gem_close(drm_fd, obj[0].handle);
- gem_close(drm_fd, obj[1].handle);
- gem_close(drm_fd, obj[2].handle);
+ for (op = ops; op->name; op++) {
+ igt_subtest_group {
+ igt_hang_t hang = {};
+
+ igt_fixture {
+ if (op->op == GPU_RESET)
+ hang = igt_allow_hang(drm_fd, 0, HANG_ALLOW_CAPTURE);
+ }
+
+ igt_subtest_f("huc-copy%s", op->name)
+ huc_copy_test(drm_fd, ahnd, huc_copy, op->op);
+
+ igt_fixture {
+ if (op->op == GPU_RESET)
+ igt_disallow_hang(drm_fd, hang);
+ }
+ }
}
igt_fixture {
--
2.25.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios
2022-04-27 21:44 [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios Daniele Ceraolo Spurio
@ 2022-04-27 21:58 ` Ye, Tony
2022-04-27 22:12 ` Ceraolo Spurio, Daniele
2022-06-15 16:42 ` Kamil Konieczny
1 sibling, 1 reply; 8+ messages in thread
From: Ye, Tony @ 2022-04-27 21:58 UTC (permalink / raw)
To: Daniele Ceraolo Spurio, igt-dev
On 4/27/2022 2:44 PM, Daniele Ceraolo Spurio wrote:
> Additional subtests have been added to make sure the HuC keeps working
> after GT reset and suspend/resume.
>
> Cc: Tony Ye <tony.ye@intel.com>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> ---
> tests/i915/gem_huc_copy.c | 118 ++++++++++++++++++++++++++++----------
> 1 file changed, 89 insertions(+), 29 deletions(-)
>
> diff --git a/tests/i915/gem_huc_copy.c b/tests/i915/gem_huc_copy.c
> index ea32b705..ef577824 100644
> --- a/tests/i915/gem_huc_copy.c
> +++ b/tests/i915/gem_huc_copy.c
> @@ -40,6 +40,13 @@ IGT_TEST_DESCRIPTION("A very simple workload for the HuC.");
>
> #define HUC_COPY_DATA_BUF_SIZE 4096
>
> +enum operation {
> + GPU_RESET,
> + SUSPEND_RESUME,
> + HIBERNATE_RESUME,
> + SIMPLE_COPY,
> +};
> +
> static void
> compare_huc_copy_result(int drm_fd, uint32_t src_handle, uint32_t dst_handle)
> {
> @@ -84,12 +91,77 @@ static void test_huc_load(int fd)
> igt_fail_on_f(status == 0, "HuC firmware is not running!\n");
> }
>
> +static void huc_copy_test(int drm_fd, uint64_t ahnd,
> + igt_huc_copyfunc_t huc_copy, enum operation op)
> +{
> + char inputs[HUC_COPY_DATA_BUF_SIZE];
> + struct drm_i915_gem_exec_object2 obj[3];
> + uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
> + HUC_COPY_DATA_BUF_SIZE,
> + 4096 };
> +
> + switch (op) {
> + case GPU_RESET:
> + igt_force_gpu_reset(drm_fd);
The issue in VLK-33957 is not reproducible with a forced gpu reset
through the i915_wedged debugfs. It is also not reproducible with
igt_hang_ctx(). Only a real GPU HANG can reproduce the issue.
Thanks,
Tony
> + break;
> +
> + case SUSPEND_RESUME:
> + igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
> + SUSPEND_TEST_NONE);
> + break;
> +
> + case HIBERNATE_RESUME:
> + igt_system_suspend_autoresume(SUSPEND_STATE_DISK,
> + SUSPEND_TEST_NONE);
> + break;
> +
> + case SIMPLE_COPY:
> + break;
> +
> + default:
> + igt_assert(0);
> + }
> +
> + test_huc_load(drm_fd);
> + /* Initialize src buffer randomly */
> + srand(time(NULL));
> + for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
> + inputs[i] = (char) (rand() % 256);
> +
> + memset(obj, 0, sizeof(obj));
> + /* source buffer object for storing input */
> + obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
> + /* destination buffer object to receive input */
> + obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
> + /* execution buffer object */
> + obj[2].handle = gem_create(drm_fd, 4096);
> +
> + gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
> +
> + huc_copy(drm_fd, ahnd, obj, objsize);
> + compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
> +
> + gem_close(drm_fd, obj[0].handle);
> + gem_close(drm_fd, obj[1].handle);
> + gem_close(drm_fd, obj[2].handle);
> +}
> +
> igt_main
> {
> int drm_fd = -1;
> uint32_t devid;
> igt_huc_copyfunc_t huc_copy;
> uint64_t ahnd;
> + const struct {
> + const char *name;
> + enum operation op;
> + } ops[] = {
> + { "", SIMPLE_COPY },
> + { "-after-reset", GPU_RESET },
> + { "-after-suspend-resume", SUSPEND_RESUME },
> + { "-after-hibernate-resume", HIBERNATE_RESUME },
> + { }
> + }, *op;
>
> igt_fixture {
> drm_fd = drm_open_driver(DRIVER_INTEL);
> @@ -106,35 +178,23 @@ igt_main
> "by copying a char array using Huc"
> "and verifying the copied result");
>
> - igt_subtest("huc-copy") {
> - char inputs[HUC_COPY_DATA_BUF_SIZE];
> - struct drm_i915_gem_exec_object2 obj[3];
> - uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
> - HUC_COPY_DATA_BUF_SIZE,
> - 4096 };
> -
> - test_huc_load(drm_fd);
> - /* Initialize src buffer randomly */
> - srand(time(NULL));
> - for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
> - inputs[i] = (char) (rand() % 256);
> -
> - memset(obj, 0, sizeof(obj));
> - /* source buffer object for storing input */
> - obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
> - /* destination buffer object to receive input */
> - obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
> - /* execution buffer object */
> - obj[2].handle = gem_create(drm_fd, 4096);
> -
> - gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
> -
> - huc_copy(drm_fd, ahnd, obj, objsize);
> - compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
> -
> - gem_close(drm_fd, obj[0].handle);
> - gem_close(drm_fd, obj[1].handle);
> - gem_close(drm_fd, obj[2].handle);
> + for (op = ops; op->name; op++) {
> + igt_subtest_group {
> + igt_hang_t hang = {};
> +
> + igt_fixture {
> + if (op->op == GPU_RESET)
> + hang = igt_allow_hang(drm_fd, 0, HANG_ALLOW_CAPTURE);
> + }
> +
> + igt_subtest_f("huc-copy%s", op->name)
> + huc_copy_test(drm_fd, ahnd, huc_copy, op->op);
> +
> + igt_fixture {
> + if (op->op == GPU_RESET)
> + igt_disallow_hang(drm_fd, hang);
> + }
> + }
> }
>
> igt_fixture {
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios
2022-04-27 21:58 ` Ye, Tony
@ 2022-04-27 22:12 ` Ceraolo Spurio, Daniele
2022-04-29 6:25 ` Ye, Tony
0 siblings, 1 reply; 8+ messages in thread
From: Ceraolo Spurio, Daniele @ 2022-04-27 22:12 UTC (permalink / raw)
To: Ye, Tony, igt-dev
On 4/27/2022 2:58 PM, Ye, Tony wrote:
>
> On 4/27/2022 2:44 PM, Daniele Ceraolo Spurio wrote:
>> Additional subtests have been added to make sure the HuC keeps working
>> after GT reset and suspend/resume.
>>
>> Cc: Tony Ye <tony.ye@intel.com>
>> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>> ---
>> tests/i915/gem_huc_copy.c | 118 ++++++++++++++++++++++++++++----------
>> 1 file changed, 89 insertions(+), 29 deletions(-)
>>
>> diff --git a/tests/i915/gem_huc_copy.c b/tests/i915/gem_huc_copy.c
>> index ea32b705..ef577824 100644
>> --- a/tests/i915/gem_huc_copy.c
>> +++ b/tests/i915/gem_huc_copy.c
>> @@ -40,6 +40,13 @@ IGT_TEST_DESCRIPTION("A very simple workload for
>> the HuC.");
>> #define HUC_COPY_DATA_BUF_SIZE 4096
>> +enum operation {
>> + GPU_RESET,
>> + SUSPEND_RESUME,
>> + HIBERNATE_RESUME,
>> + SIMPLE_COPY,
>> +};
>> +
>> static void
>> compare_huc_copy_result(int drm_fd, uint32_t src_handle, uint32_t
>> dst_handle)
>> {
>> @@ -84,12 +91,77 @@ static void test_huc_load(int fd)
>> igt_fail_on_f(status == 0, "HuC firmware is not running!\n");
>> }
>> +static void huc_copy_test(int drm_fd, uint64_t ahnd,
>> + igt_huc_copyfunc_t huc_copy, enum operation op)
>> +{
>> + char inputs[HUC_COPY_DATA_BUF_SIZE];
>> + struct drm_i915_gem_exec_object2 obj[3];
>> + uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
>> + HUC_COPY_DATA_BUF_SIZE,
>> + 4096 };
>> +
>> + switch (op) {
>> + case GPU_RESET:
>> + igt_force_gpu_reset(drm_fd);
>
> The issue in VLK-33957 is not reproducible with a forced gpu reset
> through the i915_wedged debugfs. It is also not reproducible with
> igt_hang_ctx(). Only a real GPU HANG can reproduce the issue.
The bug you're referencing is about recovery of an hung context and it
is not what these new tests are for. What I want to test here is whether
the HuC itself is working correctly after a GT reset or suspend/resume
flow. This is to make sure we don't break anything with the upcoming DG2
changes, because the flow and timing are completely different with GSC
loading the HuC. Hibernation/resume is going to be especially tricky,
because HuC load will happen after i915 resume is complete, so we'll
have to synchronize.
Daniele
>
> Thanks,
>
> Tony
>
>> + break;
>> +
>> + case SUSPEND_RESUME:
>> + igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
>> + SUSPEND_TEST_NONE);
>> + break;
>> +
>> + case HIBERNATE_RESUME:
>> + igt_system_suspend_autoresume(SUSPEND_STATE_DISK,
>> + SUSPEND_TEST_NONE);
>> + break;
>> +
>> + case SIMPLE_COPY:
>> + break;
>> +
>> + default:
>> + igt_assert(0);
>> + }
>> +
>> + test_huc_load(drm_fd);
>> + /* Initialize src buffer randomly */
>> + srand(time(NULL));
>> + for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
>> + inputs[i] = (char) (rand() % 256);
>> +
>> + memset(obj, 0, sizeof(obj));
>> + /* source buffer object for storing input */
>> + obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
>> + /* destination buffer object to receive input */
>> + obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
>> + /* execution buffer object */
>> + obj[2].handle = gem_create(drm_fd, 4096);
>> +
>> + gem_write(drm_fd, obj[0].handle, 0, inputs,
>> HUC_COPY_DATA_BUF_SIZE);
>> +
>> + huc_copy(drm_fd, ahnd, obj, objsize);
>> + compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
>> +
>> + gem_close(drm_fd, obj[0].handle);
>> + gem_close(drm_fd, obj[1].handle);
>> + gem_close(drm_fd, obj[2].handle);
>> +}
>> +
>> igt_main
>> {
>> int drm_fd = -1;
>> uint32_t devid;
>> igt_huc_copyfunc_t huc_copy;
>> uint64_t ahnd;
>> + const struct {
>> + const char *name;
>> + enum operation op;
>> + } ops[] = {
>> + { "", SIMPLE_COPY },
>> + { "-after-reset", GPU_RESET },
>> + { "-after-suspend-resume", SUSPEND_RESUME },
>> + { "-after-hibernate-resume", HIBERNATE_RESUME },
>> + { }
>> + }, *op;
>> igt_fixture {
>> drm_fd = drm_open_driver(DRIVER_INTEL);
>> @@ -106,35 +178,23 @@ igt_main
>> "by copying a char array using Huc"
>> "and verifying the copied result");
>> - igt_subtest("huc-copy") {
>> - char inputs[HUC_COPY_DATA_BUF_SIZE];
>> - struct drm_i915_gem_exec_object2 obj[3];
>> - uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
>> - HUC_COPY_DATA_BUF_SIZE,
>> - 4096 };
>> -
>> - test_huc_load(drm_fd);
>> - /* Initialize src buffer randomly */
>> - srand(time(NULL));
>> - for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
>> - inputs[i] = (char) (rand() % 256);
>> -
>> - memset(obj, 0, sizeof(obj));
>> - /* source buffer object for storing input */
>> - obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
>> - /* destination buffer object to receive input */
>> - obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
>> - /* execution buffer object */
>> - obj[2].handle = gem_create(drm_fd, 4096);
>> -
>> - gem_write(drm_fd, obj[0].handle, 0, inputs,
>> HUC_COPY_DATA_BUF_SIZE);
>> -
>> - huc_copy(drm_fd, ahnd, obj, objsize);
>> - compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
>> -
>> - gem_close(drm_fd, obj[0].handle);
>> - gem_close(drm_fd, obj[1].handle);
>> - gem_close(drm_fd, obj[2].handle);
>> + for (op = ops; op->name; op++) {
>> + igt_subtest_group {
>> + igt_hang_t hang = {};
>> +
>> + igt_fixture {
>> + if (op->op == GPU_RESET)
>> + hang = igt_allow_hang(drm_fd, 0,
>> HANG_ALLOW_CAPTURE);
>> + }
>> +
>> + igt_subtest_f("huc-copy%s", op->name)
>> + huc_copy_test(drm_fd, ahnd, huc_copy, op->op);
>> +
>> + igt_fixture {
>> + if (op->op == GPU_RESET)
>> + igt_disallow_hang(drm_fd, hang);
>> + }
>> + }
>> }
>> igt_fixture {
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios
2022-04-27 22:12 ` Ceraolo Spurio, Daniele
@ 2022-04-29 6:25 ` Ye, Tony
0 siblings, 0 replies; 8+ messages in thread
From: Ye, Tony @ 2022-04-29 6:25 UTC (permalink / raw)
To: Ceraolo Spurio, Daniele; +Cc: igt-dev
Reviewed-by: Tony Ye <tony.ye@intel.com>
Thanks,
Tony
> 在 2022年4月27日,下午3:12,Ceraolo Spurio, Daniele <daniele.ceraolospurio@intel.com> 写道:
>
>
>
>> On 4/27/2022 2:58 PM, Ye, Tony wrote:
>>
>>> On 4/27/2022 2:44 PM, Daniele Ceraolo Spurio wrote:
>>> Additional subtests have been added to make sure the HuC keeps working
>>> after GT reset and suspend/resume.
>>>
>>> Cc: Tony Ye <tony.ye@intel.com>
>>> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
>>> ---
>>> tests/i915/gem_huc_copy.c | 118 ++++++++++++++++++++++++++++----------
>>> 1 file changed, 89 insertions(+), 29 deletions(-)
>>>
>>> diff --git a/tests/i915/gem_huc_copy.c b/tests/i915/gem_huc_copy.c
>>> index ea32b705..ef577824 100644
>>> --- a/tests/i915/gem_huc_copy.c
>>> +++ b/tests/i915/gem_huc_copy.c
>>> @@ -40,6 +40,13 @@ IGT_TEST_DESCRIPTION("A very simple workload for the HuC.");
>>> #define HUC_COPY_DATA_BUF_SIZE 4096
>>> +enum operation {
>>> + GPU_RESET,
>>> + SUSPEND_RESUME,
>>> + HIBERNATE_RESUME,
>>> + SIMPLE_COPY,
>>> +};
>>> +
>>> static void
>>> compare_huc_copy_result(int drm_fd, uint32_t src_handle, uint32_t dst_handle)
>>> {
>>> @@ -84,12 +91,77 @@ static void test_huc_load(int fd)
>>> igt_fail_on_f(status == 0, "HuC firmware is not running!\n");
>>> }
>>> +static void huc_copy_test(int drm_fd, uint64_t ahnd,
>>> + igt_huc_copyfunc_t huc_copy, enum operation op)
>>> +{
>>> + char inputs[HUC_COPY_DATA_BUF_SIZE];
>>> + struct drm_i915_gem_exec_object2 obj[3];
>>> + uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
>>> + HUC_COPY_DATA_BUF_SIZE,
>>> + 4096 };
>>> +
>>> + switch (op) {
>>> + case GPU_RESET:
>>> + igt_force_gpu_reset(drm_fd);
>>
>> The issue in VLK-33957 is not reproducible with a forced gpu reset through the i915_wedged debugfs. It is also not reproducible with igt_hang_ctx(). Only a real GPU HANG can reproduce the issue.
>
> The bug you're referencing is about recovery of an hung context and it is not what these new tests are for. What I want to test here is whether the HuC itself is working correctly after a GT reset or suspend/resume flow. This is to make sure we don't break anything with the upcoming DG2 changes, because the flow and timing are completely different with GSC loading the HuC. Hibernation/resume is going to be especially tricky, because HuC load will happen after i915 resume is complete, so we'll have to synchronize.
>
> Daniele
>
>>
>> Thanks,
>>
>> Tony
>>
>>> + break;
>>> +
>>> + case SUSPEND_RESUME:
>>> + igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
>>> + SUSPEND_TEST_NONE);
>>> + break;
>>> +
>>> + case HIBERNATE_RESUME:
>>> + igt_system_suspend_autoresume(SUSPEND_STATE_DISK,
>>> + SUSPEND_TEST_NONE);
>>> + break;
>>> +
>>> + case SIMPLE_COPY:
>>> + break;
>>> +
>>> + default:
>>> + igt_assert(0);
>>> + }
>>> +
>>> + test_huc_load(drm_fd);
>>> + /* Initialize src buffer randomly */
>>> + srand(time(NULL));
>>> + for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
>>> + inputs[i] = (char) (rand() % 256);
>>> +
>>> + memset(obj, 0, sizeof(obj));
>>> + /* source buffer object for storing input */
>>> + obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
>>> + /* destination buffer object to receive input */
>>> + obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
>>> + /* execution buffer object */
>>> + obj[2].handle = gem_create(drm_fd, 4096);
>>> +
>>> + gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
>>> +
>>> + huc_copy(drm_fd, ahnd, obj, objsize);
>>> + compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
>>> +
>>> + gem_close(drm_fd, obj[0].handle);
>>> + gem_close(drm_fd, obj[1].handle);
>>> + gem_close(drm_fd, obj[2].handle);
>>> +}
>>> +
>>> igt_main
>>> {
>>> int drm_fd = -1;
>>> uint32_t devid;
>>> igt_huc_copyfunc_t huc_copy;
>>> uint64_t ahnd;
>>> + const struct {
>>> + const char *name;
>>> + enum operation op;
>>> + } ops[] = {
>>> + { "", SIMPLE_COPY },
>>> + { "-after-reset", GPU_RESET },
>>> + { "-after-suspend-resume", SUSPEND_RESUME },
>>> + { "-after-hibernate-resume", HIBERNATE_RESUME },
>>> + { }
>>> + }, *op;
>>> igt_fixture {
>>> drm_fd = drm_open_driver(DRIVER_INTEL);
>>> @@ -106,35 +178,23 @@ igt_main
>>> "by copying a char array using Huc"
>>> "and verifying the copied result");
>>> - igt_subtest("huc-copy") {
>>> - char inputs[HUC_COPY_DATA_BUF_SIZE];
>>> - struct drm_i915_gem_exec_object2 obj[3];
>>> - uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
>>> - HUC_COPY_DATA_BUF_SIZE,
>>> - 4096 };
>>> -
>>> - test_huc_load(drm_fd);
>>> - /* Initialize src buffer randomly */
>>> - srand(time(NULL));
>>> - for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
>>> - inputs[i] = (char) (rand() % 256);
>>> -
>>> - memset(obj, 0, sizeof(obj));
>>> - /* source buffer object for storing input */
>>> - obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
>>> - /* destination buffer object to receive input */
>>> - obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
>>> - /* execution buffer object */
>>> - obj[2].handle = gem_create(drm_fd, 4096);
>>> -
>>> - gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
>>> -
>>> - huc_copy(drm_fd, ahnd, obj, objsize);
>>> - compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
>>> -
>>> - gem_close(drm_fd, obj[0].handle);
>>> - gem_close(drm_fd, obj[1].handle);
>>> - gem_close(drm_fd, obj[2].handle);
>>> + for (op = ops; op->name; op++) {
>>> + igt_subtest_group {
>>> + igt_hang_t hang = {};
>>> +
>>> + igt_fixture {
>>> + if (op->op == GPU_RESET)
>>> + hang = igt_allow_hang(drm_fd, 0, HANG_ALLOW_CAPTURE);
>>> + }
>>> +
>>> + igt_subtest_f("huc-copy%s", op->name)
>>> + huc_copy_test(drm_fd, ahnd, huc_copy, op->op);
>>> +
>>> + igt_fixture {
>>> + if (op->op == GPU_RESET)
>>> + igt_disallow_hang(drm_fd, hang);
>>> + }
>>> + }
>>> }
>>> igt_fixture {
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios
2022-04-27 21:44 [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios Daniele Ceraolo Spurio
2022-04-27 21:58 ` Ye, Tony
@ 2022-06-15 16:42 ` Kamil Konieczny
1 sibling, 0 replies; 8+ messages in thread
From: Kamil Konieczny @ 2022-06-15 16:42 UTC (permalink / raw)
To: igt-dev; +Cc: Alan Previn
Hi Daniele,
On 2022-04-27 at 14:44:36 -0700, Daniele Ceraolo Spurio wrote:
> Additional subtests have been added to make sure the HuC keeps working
> after GT reset and suspend/resume.
>
> Cc: Tony Ye <tony.ye@intel.com>
> Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
> ---
> tests/i915/gem_huc_copy.c | 118 ++++++++++++++++++++++++++++----------
> 1 file changed, 89 insertions(+), 29 deletions(-)
>
> diff --git a/tests/i915/gem_huc_copy.c b/tests/i915/gem_huc_copy.c
> index ea32b705..ef577824 100644
> --- a/tests/i915/gem_huc_copy.c
> +++ b/tests/i915/gem_huc_copy.c
> @@ -40,6 +40,13 @@ IGT_TEST_DESCRIPTION("A very simple workload for the HuC.");
>
> #define HUC_COPY_DATA_BUF_SIZE 4096
>
> +enum operation {
> + GPU_RESET,
> + SUSPEND_RESUME,
> + HIBERNATE_RESUME,
> + SIMPLE_COPY,
> +};
> +
> static void
> compare_huc_copy_result(int drm_fd, uint32_t src_handle, uint32_t dst_handle)
> {
> @@ -84,12 +91,77 @@ static void test_huc_load(int fd)
> igt_fail_on_f(status == 0, "HuC firmware is not running!\n");
> }
>
> +static void huc_copy_test(int drm_fd, uint64_t ahnd,
> + igt_huc_copyfunc_t huc_copy, enum operation op)
> +{
> + char inputs[HUC_COPY_DATA_BUF_SIZE];
> + struct drm_i915_gem_exec_object2 obj[3];
> + uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
> + HUC_COPY_DATA_BUF_SIZE,
> + 4096 };
> +
> + switch (op) {
> + case GPU_RESET:
> + igt_force_gpu_reset(drm_fd);
> + break;
> +
> + case SUSPEND_RESUME:
> + igt_system_suspend_autoresume(SUSPEND_STATE_MEM,
> + SUSPEND_TEST_NONE);
> + break;
> +
> + case HIBERNATE_RESUME:
> + igt_system_suspend_autoresume(SUSPEND_STATE_DISK,
> + SUSPEND_TEST_NONE);
> + break;
> +
> + case SIMPLE_COPY:
> + break;
> +
> + default:
> + igt_assert(0);
> + }
> +
> + test_huc_load(drm_fd);
> + /* Initialize src buffer randomly */
> + srand(time(NULL));
> + for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
> + inputs[i] = (char) (rand() % 256);
> +
> + memset(obj, 0, sizeof(obj));
> + /* source buffer object for storing input */
> + obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
> + /* destination buffer object to receive input */
> + obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
> + /* execution buffer object */
> + obj[2].handle = gem_create(drm_fd, 4096);
> +
> + gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
> +
> + huc_copy(drm_fd, ahnd, obj, objsize);
> + compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
> +
> + gem_close(drm_fd, obj[0].handle);
> + gem_close(drm_fd, obj[1].handle);
> + gem_close(drm_fd, obj[2].handle);
> +}
> +
> igt_main
> {
> int drm_fd = -1;
> uint32_t devid;
> igt_huc_copyfunc_t huc_copy;
> uint64_t ahnd;
> + const struct {
> + const char *name;
> + enum operation op;
Add const char *description to this struct.
> + } ops[] = {
> + { "", SIMPLE_COPY },
> + { "-after-reset", GPU_RESET },
> + { "-after-suspend-resume", SUSPEND_RESUME },
> + { "-after-hibernate-resume", HIBERNATE_RESUME },
> + { }
> + }, *op;
>
> igt_fixture {
> drm_fd = drm_open_driver(DRIVER_INTEL);
> @@ -106,35 +178,23 @@ igt_main
> "by copying a char array using Huc"
> "and verifying the copied result");
Move this into struct (add spaces before new lines).
>
> - igt_subtest("huc-copy") {
> - char inputs[HUC_COPY_DATA_BUF_SIZE];
> - struct drm_i915_gem_exec_object2 obj[3];
> - uint64_t objsize[3] = { HUC_COPY_DATA_BUF_SIZE,
> - HUC_COPY_DATA_BUF_SIZE,
> - 4096 };
> -
> - test_huc_load(drm_fd);
> - /* Initialize src buffer randomly */
> - srand(time(NULL));
> - for (int i = 0; i < HUC_COPY_DATA_BUF_SIZE; i++)
> - inputs[i] = (char) (rand() % 256);
> -
> - memset(obj, 0, sizeof(obj));
> - /* source buffer object for storing input */
> - obj[0].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
> - /* destination buffer object to receive input */
> - obj[1].handle = gem_create(drm_fd, HUC_COPY_DATA_BUF_SIZE);
> - /* execution buffer object */
> - obj[2].handle = gem_create(drm_fd, 4096);
> -
> - gem_write(drm_fd, obj[0].handle, 0, inputs, HUC_COPY_DATA_BUF_SIZE);
> -
> - huc_copy(drm_fd, ahnd, obj, objsize);
> - compare_huc_copy_result(drm_fd, obj[0].handle, obj[1].handle);
> -
> - gem_close(drm_fd, obj[0].handle);
> - gem_close(drm_fd, obj[1].handle);
> - gem_close(drm_fd, obj[2].handle);
> + for (op = ops; op->name; op++) {
> + igt_subtest_group {
> + igt_hang_t hang = {};
> +
> + igt_fixture {
> + if (op->op == GPU_RESET)
> + hang = igt_allow_hang(drm_fd, 0, HANG_ALLOW_CAPTURE);
> + }
> +
Put description here with help of igt_describe_f() and op->description.
Please verify that descriptions looks sane by compiling your
code and then running with --describe option.
Regards,
Kamil
> + igt_subtest_f("huc-copy%s", op->name)
> + huc_copy_test(drm_fd, ahnd, huc_copy, op->op);
> +
> + igt_fixture {
> + if (op->op == GPU_RESET)
> + igt_disallow_hang(drm_fd, hang);
> + }
> + }
> }
>
> igt_fixture {
> --
> 2.25.1
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-08-19 21:09 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-18 22:42 [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios Daniele Ceraolo Spurio
2022-08-19 0:26 ` [igt-dev] ✓ Fi.CI.BAT: success for tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios (rev3) Patchwork
2022-08-19 21:09 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
-- strict thread matches above, loose matches on Subject: below --
2022-04-27 21:44 [igt-dev] [PATCH] tests/i915/gem_huc_copy: cover reset and suspend/resume scenarios Daniele Ceraolo Spurio
2022-04-27 21:58 ` Ye, Tony
2022-04-27 22:12 ` Ceraolo Spurio, Daniele
2022-04-29 6:25 ` Ye, Tony
2022-06-15 16:42 ` Kamil Konieczny
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.