aboutsummaryrefslogtreecommitdiffstats
path: root/benchmarks
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2018-10-04 17:00:04 +0100
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2019-05-22 09:52:27 +0100
commitc27de2a2a3be7302eb8d23a9f0e6d654c64292f0 (patch)
tree8b1c551f667ab7c051038c7d219811ec44f74998 /benchmarks
parent4a2583fc2e55ae23bab265fc0390d48d35b89bad (diff)
downloadplatform_external_igt-gpu-tools-c27de2a2a3be7302eb8d23a9f0e6d654c64292f0.tar.gz
platform_external_igt-gpu-tools-c27de2a2a3be7302eb8d23a9f0e6d654c64292f0.tar.bz2
platform_external_igt-gpu-tools-c27de2a2a3be7302eb8d23a9f0e6d654c64292f0.zip
gem_wsim: Extract str to engine lookup
v2: * Remove redundant check. (Chris) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'benchmarks')
-rw-r--r--benchmarks/gem_wsim.c34
1 files changed, 21 insertions, 13 deletions
diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c
index 464314c0..60b7d32e 100644
--- a/benchmarks/gem_wsim.c
+++ b/benchmarks/gem_wsim.c
@@ -318,6 +318,18 @@ wsim_err(const char *fmt, ...)
} \
}
+static int str_to_engine(const char *str)
+{
+ unsigned int i;
+
+ for (i = 0; i < ARRAY_SIZE(ring_str_map); i++) {
+ if (!strcasecmp(str, ring_str_map[i]))
+ return i;
+ }
+
+ return -1;
+}
+
static struct workload *
parse_workload(struct w_arg *arg, unsigned int flags, struct workload *app_w)
{
@@ -480,22 +492,18 @@ parse_workload(struct w_arg *arg, unsigned int flags, struct workload *app_w)
}
if ((field = strtok_r(fstart, ".", &fctx)) != NULL) {
- unsigned int old_valid = valid;
-
fstart = NULL;
- for (i = 0; i < ARRAY_SIZE(ring_str_map); i++) {
- if (!strcasecmp(field, ring_str_map[i])) {
- step.engine = i;
- if (step.engine == BCS)
- bcs_used = true;
- valid++;
- break;
- }
- }
-
- check_arg(old_valid == valid,
+ i = str_to_engine(field);
+ check_arg(i < 0,
"Invalid engine id at step %u!\n", nr_steps);
+
+ valid++;
+
+ step.engine = i;
+
+ if (step.engine == BCS)
+ bcs_used = true;
}
if ((field = strtok_r(fstart, ".", &fctx)) != NULL) {