[PATCH i-g-t v4 2/7] tests/intel/xe_vm: Update invalid flag subtest with valid PXP flag
Daniele Ceraolo Spurio
daniele.ceraolospurio at intel.com
Tue Feb 25 00:31:33 UTC 2025
The invalid flag subtest also checks all the valid flags, so add the new
PXP flag to it.
v2: only test the new flag if the kernel supports it.
v3: rebase on the split of the update on the first invalid flag number
to its own patch.
Signed-off-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
Reviewed-by: Alan Previn <alan.previn.teres.alexis at intel.com> #v2
---
tests/intel/xe_vm.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/tests/intel/xe_vm.c b/tests/intel/xe_vm.c
index 0730dd3d3..40e92d805 100644
--- a/tests/intel/xe_vm.c
+++ b/tests/intel/xe_vm.c
@@ -2173,6 +2173,22 @@ test_mmap_style_bind(int fd, struct drm_xe_engine_class_instance *eci,
xe_vm_destroy(fd, vm);
}
+static bool pxp_interface_supported(int fd)
+{
+ struct drm_xe_device_query query = {
+ .extensions = 0,
+ .query = DRM_XE_DEVICE_QUERY_PXP_STATUS,
+ .size = 0,
+ .data = 0,
+ };
+ int ret = 0;
+
+ if (igt_ioctl(fd, DRM_IOCTL_XE_DEVICE_QUERY, &query))
+ ret = -errno;
+
+ return ret != -EINVAL;
+}
+
/**
* SUBTEST: bind-flag-invalid
* Description:
@@ -2221,6 +2237,13 @@ static void bind_flag_invalid(int fd)
igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0, NULL));
syncobj_reset(fd, &sync[0].handle, 1);
+ if (pxp_interface_supported(fd)) {
+ bind.bind.flags = DRM_XE_VM_BIND_FLAG_CHECK_PXP;
+ igt_ioctl(fd, DRM_IOCTL_XE_VM_BIND, &bind);
+ igt_assert(syncobj_wait(fd, &sync[0].handle, 1, INT64_MAX, 0, NULL));
+ syncobj_reset(fd, &sync[0].handle, 1);
+ }
+
bind.bind.flags = DRM_XE_VM_BIND_FLAG_NULL;
bind.bind.obj = 0;
igt_ioctl(fd, DRM_IOCTL_XE_VM_BIND, &bind);
--
2.43.0
More information about the igt-dev
mailing list