summaryrefslogtreecommitdiff
path: root/benchmarks/gem_latency.c
diff options
context:
space:
mode:
Diffstat (limited to 'benchmarks/gem_latency.c')
-rw-r--r--benchmarks/gem_latency.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/benchmarks/gem_latency.c b/benchmarks/gem_latency.c
index 539cf55d..e8ed9a8b 100644
--- a/benchmarks/gem_latency.c
+++ b/benchmarks/gem_latency.c
@@ -91,7 +91,10 @@ static void setup_batch(struct producer *p, int gen, uint32_t scratch)
p->exec[1].relocation_count = 3;
p->exec[1].relocs_ptr = (uintptr_t)p->reloc;
p->exec[1].handle = gem_create(fd, 4096);
- map = gem_mmap__cpu(fd, p->exec[1].handle, 0, 4096, PROT_WRITE);
+ if (gem_has_llc(fd))
+ map = gem_mmap__cpu(fd, p->exec[1].handle, 0, 4096, PROT_WRITE);
+ else
+ map = gem_mmap__gtt(fd, p->exec[1].handle, 4096, PROT_WRITE);
/* XY_SRC_COPY */
map[i++] = COPY_BLT_CMD | BLT_WRITE_ALPHA | BLT_WRITE_RGB;
@@ -152,7 +155,8 @@ static void setup_batch(struct producer *p, int gen, uint32_t scratch)
static void measure_latency(struct producer *p, igt_stats_t *stats)
{
gem_sync(fd, p->exec[1].handle);
- igt_stats_push(stats, INREG(BCS_TIMESTAMP) - *p->last_timestamp);
+#define READ(x) *(volatile uint32_t *)((volatile char *)igt_global_mmio + x)
+ igt_stats_push(stats, READ(BCS_TIMESTAMP) - *p->last_timestamp);
}
static void *producer(void *arg)