[i-g-t v5 3/4] tests/intel/xe_vm: Exclude invalid_flags tests from LNL and BMG
Oak Zeng
oak.zeng at intel.com
Fri Feb 21 15:53:35 UTC 2025
Due to a fix of out of bound prefetch issue, we now allow scratch
page coexist with fault mode on LNL and BMG, thus exclude those
tests on such HW.
Signed-off-by: Oak Zeng <oak.zeng at intel.com>
---
tests/intel/xe_vm.c | 47 ++++++++++++++++++++++++++++++---------------
1 file changed, 32 insertions(+), 15 deletions(-)
diff --git a/tests/intel/xe_vm.c b/tests/intel/xe_vm.c
index 0730dd3d3..834e0afd7 100644
--- a/tests/intel/xe_vm.c
+++ b/tests/intel/xe_vm.c
@@ -2349,6 +2349,7 @@ igt_main
struct drm_xe_engine_class_instance *hwe, *hwe_non_copy = NULL;
uint64_t bind_size;
int fd;
+ uint16_t dev_id;
const struct section {
const char *name;
int bo_n_pages;
@@ -2441,23 +2442,28 @@ igt_main
{ NULL },
};
- const struct vm_create_section {
- const char *name;
- __u32 flags;
- } xe_vm_create_invalid_flags[] = {
- { "xe_vm_create_fault", DRM_XE_VM_CREATE_FLAG_FAULT_MODE },
- { "xe_vm_create_scratch_fault",
- DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE |
- DRM_XE_VM_CREATE_FLAG_FAULT_MODE },
- { "xe_vm_create_scratch_fault_lr",
- ~(DRM_XE_VM_CREATE_FLAG_LR_MODE |
- DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE |
- DRM_XE_VM_CREATE_FLAG_FAULT_MODE) },
- { }
- };
+ const struct vm_create_section {
+ const char *name;
+ __u32 flags;
+ } xe_vm_create_invalid_flags1[] = {
+ { "xe_vm_create_fault", DRM_XE_VM_CREATE_FLAG_FAULT_MODE },
+ { }
+ };
+
+ const struct vm_create_section xe_vm_create_invalid_flags2[] = {
+ { "xe_vm_create_scratch_fault",
+ DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE |
+ DRM_XE_VM_CREATE_FLAG_FAULT_MODE },
+ { "xe_vm_create_scratch_fault_lr",
+ ~(DRM_XE_VM_CREATE_FLAG_LR_MODE |
+ DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE |
+ DRM_XE_VM_CREATE_FLAG_FAULT_MODE) },
+ { }
+ };
igt_fixture {
fd = drm_open_driver(DRIVER_XE);
+ dev_id = intel_get_drm_devid(fd);
xe_for_each_engine(fd, hwe)
if (hwe->engine_class != DRM_XE_ENGINE_CLASS_COPY) {
@@ -2715,11 +2721,22 @@ igt_main
}
}
- for (const struct vm_create_section *s = xe_vm_create_invalid_flags; s->name; s++) {
+ for (const struct vm_create_section *s = xe_vm_create_invalid_flags1;
+ s->name; s++) {
igt_subtest_f("invalid-flag-%s", s->name)
invalid_flag(fd, s->flags);
}
+ for (const struct vm_create_section *s = xe_vm_create_invalid_flags2;
+ s->name; s++) {
+ igt_subtest_f("invalid-flag-%s", s->name) {
+ igt_skip_on_f(IS_LUNARLAKE(dev_id) ||
+ IS_BATTLEMAGE(dev_id),
+ "Skip test on this platform\n");
+ invalid_flag(fd, s->flags);
+ }
+ }
+
igt_subtest("invalid-extensions")
invalid_extensions(fd);
--
2.26.3
More information about the igt-dev
mailing list