summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2016-12-14 15:47:36 +0000
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2017-01-30 15:57:16 +0000
commit385a9361bdabe2c32fdc9b06aacf063c7fd2b9bb (patch)
tree671a9860f8b732ca3d567e7fef5c8dcc3589d143
parent92b5ed31ce763f90dfdf6bf26d02642ea573799f (diff)
gem_ctx_params: Test the new context concurrency parameter
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
-rw-r--r--lib/ioctl_wrappers.h1
-rw-r--r--tests/gem_ctx_param.c24
2 files changed, 24 insertions, 1 deletions
diff --git a/lib/ioctl_wrappers.h b/lib/ioctl_wrappers.h
index 5f3bbd14..c434c0c2 100644
--- a/lib/ioctl_wrappers.h
+++ b/lib/ioctl_wrappers.h
@@ -121,6 +121,7 @@ struct local_i915_gem_context_param {
#define LOCAL_CONTEXT_PARAM_GTT_SIZE 0x3
#define LOCAL_CONTEXT_PARAM_NO_ERROR_CAPTURE 0x4
#define LOCAL_CONTEXT_PARAM_BANNABLE 0x5
+#define LOCAL_CONTEXT_PARAM_CONCURRENCY 0x6
uint64_t value;
};
void gem_context_require_bannable(int fd);
diff --git a/tests/gem_ctx_param.c b/tests/gem_ctx_param.c
index efdaf191..8cf3d192 100644
--- a/tests/gem_ctx_param.c
+++ b/tests/gem_ctx_param.c
@@ -136,11 +136,33 @@ igt_main
gem_context_set_param(fd, &arg);
}
+ arg.param = LOCAL_CONTEXT_PARAM_CONCURRENCY;
+
+ igt_subtest("concurrency-get") {
+ arg.context = ctx;
+ gem_context_get_param(fd, &arg);
+ }
+
+ igt_subtest("concurrency-set") {
+ arg.context = ctx;
+ arg.value = 1 << (I915_EXEC_BSD - 1);
+ gem_context_set_param(fd, &arg);
+ arg.value = 0;
+ gem_context_get_param(fd, &arg);
+ igt_assert(arg.value == (1 << (I915_EXEC_BSD - 1)));
+ }
+
+ igt_subtest("concurrency-invalid") {
+ arg.context = ctx;
+ arg.value = 100;
+ igt_assert_eq(__gem_context_set_param(fd, &arg), -EINVAL);
+ }
+
/* NOTE: This testcase intentionally tests for the next free parameter
* to catch ABI extensions. Don't "fix" this testcase without adding all
* the tests for the new param first.
*/
- arg.param = LOCAL_CONTEXT_PARAM_BANNABLE + 1;
+ arg.param = LOCAL_CONTEXT_PARAM_CONCURRENCY + 1;
igt_subtest("invalid-param-get") {
arg.context = ctx;