summaryrefslogtreecommitdiff
path: root/tests/i915/gem_exec_latency.c
diff options
context:
space:
mode:
authorMika Kuoppala <mika.kuoppala@linux.intel.com>2019-04-23 17:15:58 +0300
committerMika Kuoppala <mika.kuoppala@linux.intel.com>2019-04-24 10:55:43 +0300
commit5e7519121de3c0e97ec27d33d6164278e86e75c5 (patch)
treefd1296da4b1d4db235be3f92958e408245769ce5 /tests/i915/gem_exec_latency.c
parent504367d33b787de2ba8e007a5b620cfd6f0b3074 (diff)
lib/igt_dummyload: Introduce igt_spin_reset
Libify resetting a spin for reuse. v2: use also in perf_pmu v3: s/cmd_spin/cmd_precondition v4: remove early return for !spin (Chris) Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/i915/gem_exec_latency.c')
-rw-r--r--tests/i915/gem_exec_latency.c19
1 files changed, 4 insertions, 15 deletions
diff --git a/tests/i915/gem_exec_latency.c b/tests/i915/gem_exec_latency.c
index 6b7dfbc0..2cfb78bf 100644
--- a/tests/i915/gem_exec_latency.c
+++ b/tests/i915/gem_exec_latency.c
@@ -73,19 +73,17 @@ poll_ring(int fd, unsigned ring, const char *name)
unsigned long cycles;
igt_spin_t *spin[2];
uint64_t elapsed;
- uint32_t cmd;
gem_require_ring(fd, ring);
igt_require(gem_can_store_dword(fd, ring));
spin[0] = __igt_spin_factory(fd, &opts);
igt_assert(igt_spin_has_poll(spin[0]));
- cmd = *spin[0]->batch;
spin[1] = __igt_spin_factory(fd, &opts);
igt_assert(igt_spin_has_poll(spin[1]));
- igt_assert(cmd == *spin[1]->batch);
+ igt_assert(*spin[0]->batch == *spin[1]->batch);
igt_spin_end(spin[0]);
igt_spin_busywait_until_started(spin[1]);
@@ -96,8 +94,8 @@ poll_ring(int fd, unsigned ring, const char *name)
while ((elapsed = igt_nsec_elapsed(&tv)) < 2ull << 30) {
const unsigned int idx = cycles++ & 1;
- *spin[idx]->batch = cmd;
- spin[idx]->poll[SPIN_POLL_START_IDX] = 0;
+ igt_spin_reset(spin[idx]);
+
gem_execbuf(fd, &spin[idx]->execbuf);
igt_spin_end(spin[!idx]);
@@ -414,15 +412,6 @@ static void latency_from_ring(int fd,
}
}
-static void __rearm_spin(igt_spin_t *spin)
-{
- const uint32_t mi_arb_chk = 0x5 << 23;
-
- *spin->batch = mi_arb_chk;
- spin->poll[SPIN_POLL_START_IDX] = 0;
- __sync_synchronize();
-}
-
static void
__submit_spin(int fd, igt_spin_t *spin, unsigned int flags)
{
@@ -557,7 +546,7 @@ rthog_latency_on_ring(int fd, unsigned int engine, const char *name, unsigned in
if (nengine > 1)
usleep(10*nengine);
- __rearm_spin(spin);
+ igt_spin_reset(spin);
igt_nsec_elapsed(&ts);
__submit_spin(fd, spin, engine);