<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 10/21/2024 22:07, Marcin Bernatowicz
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:20241021200737.941384-1-marcin.bernatowicz@linux.intel.com">
      <pre wrap="" class="moz-quote-pre">Introduce VF (Virtual Function) FLR (Function Level Reset) tests to
validate shared resource cleanup and ensure isolation across VFs (confirm
that one VF's FLR does not affect another VF's resources). To reduce
runtime perform a single FLR and verify all subchecks (clear-lmem,
clear-ggtt, clear-scratch-regs, clear-media-scratch-regs) in one go.
The proposed skeleton ensures that while one subcheck may stop due
to failure or a skip condition, other subchecks can continue execution.

The series includes:

lib/igt_sriov_device: Add helper for opening SR-IOV device sysfs
lib/igt_sriov_device: Add helper for resetting SR-IOV device

tests/intel/xe_sriov_flr: Add skeleton for clear and isolation tests
Introduce a skeleton and verify_flr method to orchestrate FLRs across VFs.

tests/intel/xe_sriov_flr: Implement clear-ggtt subcheck
Add GGTT subcheck to verify address resets post-FLR.

tests/intel/xe_sriov_flr: Implement clear-lmem subcheck
Add LMEM subcheck to validate VF memory clearing post-FLR.

tests/intel/xe_sriov_flr: Implement clear-scratch-regs and
                          clear-media-scratch-regs subchecks
Add subchecks to verify clearing of scratch and media scratch registers
post-FLR.

Example test output:

ATSM:~# xe_sriov_flr
IGT-Version: 1.29-gf1c71392e (x86_64) (Linux: 6.11.0-rc5-xe+ x86_64)
Using IGT_SRANDOM=1728461543 for randomisation
Opened device: /dev/dri/card1
Starting subtest: flr-vf1-clear
clear-ggtt: SUCCESS
clear-lmem: SUCCESS
clear-scratch-regs: SUCCESS
clear-media-scratch-regs: SKIP : No media GT
Subtest flr-vf1-clear: SUCCESS (7.506s)
Starting subtest: flr-each-isolation
clear-ggtt: SUCCESS
clear-lmem: SUCCESS
clear-scratch-regs: SUCCESS
clear-media-scratch-regs: SKIP : No media GT
Subtest flr-each-isolation: SUCCESS (11.797s)

v2: Correct subtest run type, use uppercase for GT.
    Adjust pte_offsets, vf_lmem_size, mmio arrays to align VF index
    with array index.
    Add set_skip_reason, set_fail_reason helpers for readability.

Marcin Bernatowicz (6):
  lib/igt_sriov_device: add helper for opening SR-IOV device sysfs
  lib/igt_sriov_device: add helper for resetting SR-IOV device
  tests/intel/xe_sriov_flr: Add skeleton for clear and isolation tests
  tests/intel/xe_sriov_flr: Implement clear-ggtt subcheck
  tests/intel/xe_sriov_flr: Implement clear-lmem subcheck
  tests/intel/xe_sriov_flr: Implement clear-scratch-regs and
    clear-media-scratch-regs subchecks

 lib/igt_sriov_device.c     |  83 ++++
 lib/igt_sriov_device.h     |   3 +
 tests/intel/xe_sriov_flr.c | 936 +++++++++++++++++++++++++++++++++++++
 tests/meson.build          |   1 +
 4 files changed, 1023 insertions(+)
 create mode 100644 tests/intel/xe_sriov_flr.c
</pre>
    </blockquote>
    <br>
    LGTM,<br>
    Reviewed-by: Lukasz Laguna <a class="moz-txt-link-rfc2396E" href="mailto:lukasz.laguna@intel.com"><lukasz.laguna@intel.com></a><br>
    <br>
    <p><span style="white-space: pre-wrap">
</span></p>
  </body>
</html>