diff options
author | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2020-06-17 16:55:17 +0100 |
---|---|---|
committer | Tvrtko Ursulin <tvrtko.ursulin@intel.com> | 2020-06-19 16:37:22 +0100 |
commit | 27897d7a9a522be7b753fe90dd07fbe87e371418 (patch) | |
tree | a6e2fea1cae131f99d851154db5bf4cdd8dea1fb /benchmarks | |
parent | 61d49ef6f2747608eb9a15f512df75b6828411b0 (diff) |
gem_wsim: Fix calibration handling
Intended use case was that run without arguments prints out the
calibrations which can be simply copied and pasted to the -n argument and
things should just work.
Two problems we need to solve: If the print out loops shows zero
calibrations (engine not present) they are later rejected and also if some
calibration is not given it is only an error if it needs to be used
(engine present).
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 | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/benchmarks/gem_wsim.c b/benchmarks/gem_wsim.c index 8788f752..dbb46b9a 100644 --- a/benchmarks/gem_wsim.c +++ b/benchmarks/gem_wsim.c @@ -295,8 +295,8 @@ print_engine_calibrations(void) printf("Nop calibration for %uus delay is: ", nop_calibration_us); for (int i = 0; i < NUM_ENGINES; i++) { - /* skip DEFAULT and VCS engines */ - if (i != DEFAULT && i != VCS) { + /* skip engines not present and DEFAULT and VCS */ + if (i != DEFAULT && i != VCS && engine_calib_map[i]) { if (first_entry) { printf("%s=%lu", ring_str_map[i], engine_calib_map[i]); first_entry = false; @@ -2831,22 +2831,6 @@ int main(int argc, char **argv) if (verbose) print_engine_calibrations(); goto out; - } else { - bool missing = false; - - for (i = 0; i < NUM_ENGINES; i++) { - if (i == VCS) - continue; - - if (!engine_calib_map[i]) { - wsim_err("Missing calibration for '%s'!\n", - ring_str_map[i]); - missing = true; - } - } - - if (missing) - goto err; } if (!nr_w_args) { |