[Intel-gfx] [PATCH i-g-t v2] tests/perf: skip config tests on older kernels

Lionel Landwerlin lionel.g.landwerlin at intel.com
Fri Dec 8 16:02:36 UTC 2017


We mostly run tests on the most recent kernels but those are failing
on < 4.14.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
---
 tests/perf.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/tests/perf.c b/tests/perf.c
index 969b8c74..a173680c 100644
--- a/tests/perf.c
+++ b/tests/perf.c
@@ -3964,6 +3964,17 @@ static void i915_perf_remove_config(int fd, uint64_t config_id)
 				&config_id), 0);
 }
 
+static bool has_i915_perf_userspace_config(int fd)
+{
+	uint64_t config = 0;
+	int ret = igt_ioctl(fd, DRM_IOCTL_I915_PERF_REMOVE_CONFIG, &config);
+	igt_assert_eq(ret, -1);
+
+	igt_debug("errno=%i\n", errno);
+
+	return errno != EINVAL;
+}
+
 static void
 test_invalid_create_userspace_config(void)
 {
@@ -3973,6 +3984,8 @@ test_invalid_create_userspace_config(void)
 	uint32_t mux_regs[] = { 0x9888 /* NOA_WRITE */, 0x0 };
 	uint32_t invalid_mux_regs[] = { 0x12345678 /* invalid register */, 0x0 };
 
+	igt_require(has_i915_perf_userspace_config(drm_fd));
+
 	memset(&config, 0, sizeof(config));
 
 	/* invalid uuid */
@@ -4032,6 +4045,8 @@ test_invalid_remove_userspace_config(void)
 	uint64_t config_id, wrong_config_id = 999999999;
 	char path[512];
 
+	igt_require(has_i915_perf_userspace_config(drm_fd));
+
 	snprintf(path, sizeof(path), "/sys/class/drm/card%d/metrics/%s/id", card, uuid);
 
 	/* Destroy previous configuration if present */
@@ -4090,6 +4105,8 @@ test_create_destroy_userspace_config(void)
 	};
 	char path[512];
 
+	igt_require(has_i915_perf_userspace_config(drm_fd));
+
 	snprintf(path, sizeof(path), "/sys/class/drm/card%d/metrics/%s/id", card, uuid);
 
 	/* Destroy previous configuration if present */
@@ -4170,6 +4187,8 @@ test_whitelisted_registers_userspace_config(void)
 		0xe65c
 	};
 
+	igt_require(has_i915_perf_userspace_config(drm_fd));
+
 	snprintf(path, sizeof(path), "/sys/class/drm/card%d/metrics/%s/id", card, uuid);
 
 	if (try_read_u64_file(path, &config_id))
-- 
2.15.1



More information about the Intel-gfx mailing list