summaryrefslogtreecommitdiff
path: root/benchmarks
diff options
context:
space:
mode:
authorTvrtko Ursulin <tvrtko.ursulin@intel.com>2020-06-17 16:55:17 +0100
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>2020-06-19 16:37:22 +0100
commit27897d7a9a522be7b753fe90dd07fbe87e371418 (patch)
treea6e2fea1cae131f99d851154db5bf4cdd8dea1fb /benchmarks
parent61d49ef6f2747608eb9a15f512df75b6828411b0 (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.c20
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) {