tests/gem_ctx_param_basic: support NO_ZEROMAP

Signed-off-by: David Weinehall <david.weinehall@linux.intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
David Weinehall 2015-08-07 15:53:57 +03:00 committed by Daniel Vetter
parent 38b3bd6b7c
commit 24617ef82a
2 changed files with 44 additions and 14 deletions

View File

@ -102,6 +102,7 @@ struct local_i915_gem_context_param {
uint32_t size; uint32_t size;
uint64_t param; uint64_t param;
#define LOCAL_CONTEXT_PARAM_BAN_PERIOD 0x1 #define LOCAL_CONTEXT_PARAM_BAN_PERIOD 0x1
#define LOCAL_CONTEXT_PARAM_NO_ZEROMAP 0x2
uint64_t value; uint64_t value;
}; };
void gem_context_require_ban_period(int fd); void gem_context_require_ban_period(int fd);

View File

@ -98,18 +98,6 @@ igt_main
ctx_param.size = 0; ctx_param.size = 0;
} }
ctx_param.param = LOCAL_CONTEXT_PARAM_BAN_PERIOD + 1;
igt_subtest("invalid-param-get") {
ctx_param.context = ctx;
TEST_FAIL(LOCAL_IOCTL_I915_GEM_CONTEXT_GETPARAM, EINVAL);
}
igt_subtest("invalid-param-set") {
ctx_param.context = ctx;
TEST_FAIL(LOCAL_IOCTL_I915_GEM_CONTEXT_SETPARAM, EINVAL);
}
ctx_param.param = LOCAL_CONTEXT_PARAM_BAN_PERIOD; ctx_param.param = LOCAL_CONTEXT_PARAM_BAN_PERIOD;
igt_subtest("non-root-set") { igt_subtest("non-root-set") {
@ -132,6 +120,47 @@ igt_main
TEST_SUCCESS(LOCAL_IOCTL_I915_GEM_CONTEXT_SETPARAM); TEST_SUCCESS(LOCAL_IOCTL_I915_GEM_CONTEXT_SETPARAM);
} }
ctx_param.param = LOCAL_CONTEXT_PARAM_NO_ZEROMAP;
igt_subtest("non-root-set-no-zeromap") {
igt_fork(child, 1) {
igt_drop_root();
ctx_param.context = ctx;
TEST_SUCCESS(LOCAL_IOCTL_I915_GEM_CONTEXT_GETPARAM);
ctx_param.value--;
TEST_FAIL(LOCAL_IOCTL_I915_GEM_CONTEXT_SETPARAM, EPERM);
}
igt_waitchildren();
}
igt_subtest("root-set-no-zeromap-enabled") {
ctx_param.context = ctx;
TEST_SUCCESS(LOCAL_IOCTL_I915_GEM_CONTEXT_GETPARAM);
ctx_param.value = 1;
TEST_SUCCESS(LOCAL_IOCTL_I915_GEM_CONTEXT_SETPARAM);
}
igt_subtest("root-set-no-zeromap-disabled") {
ctx_param.context = ctx;
TEST_SUCCESS(LOCAL_IOCTL_I915_GEM_CONTEXT_GETPARAM);
ctx_param.value = 0;
TEST_SUCCESS(LOCAL_IOCTL_I915_GEM_CONTEXT_SETPARAM);
}
ctx_param.param = LOCAL_CONTEXT_PARAM_NO_ZEROMAP + 1;
igt_subtest("invalid-param-get") {
ctx_param.context = ctx;
TEST_FAIL(LOCAL_IOCTL_I915_GEM_CONTEXT_GETPARAM, EINVAL);
}
igt_subtest("invalid-param-set") {
ctx_param.context = ctx;
TEST_FAIL(LOCAL_IOCTL_I915_GEM_CONTEXT_SETPARAM, EINVAL);
}
igt_fixture igt_fixture
close(fd); close(fd);
} }