diff options
author | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2018-10-04 17:00:04 +0100 |
---|---|---|
committer | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2019-05-22 09:52:27 +0100 |
commit | c27de2a2a3be7302eb8d23a9f0e6d654c64292f0 (patch) | |
tree | 8b1c551f667ab7c051038c7d219811ec44f74998 /benchmarks | |
parent | 4a2583fc2e55ae23bab265fc0390d48d35b89bad (diff) | |
download | platform_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.c | 34 |
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) { |