diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2016-05-21 20:58:58 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2016-05-21 21:00:06 +0100 |
commit | a56cacc924109447b166f495122fd005b3b44b24 (patch) | |
tree | e5da22d9d298fe6f17515488946dad79c8510880 /tests/gem_exec_gttfill.c | |
parent | 415398a778e60354492d2adad2c3952133f8c6da (diff) |
igt/gem_exec_gttfill: qword writes require an extra bit on bdw+
Set bit 21 to enable qword writes for Broadwell.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests/gem_exec_gttfill.c')
-rw-r--r-- | tests/gem_exec_gttfill.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/gem_exec_gttfill.c b/tests/gem_exec_gttfill.c index 19c0de6c..5966125c 100644 --- a/tests/gem_exec_gttfill.c +++ b/tests/gem_exec_gttfill.c @@ -75,7 +75,7 @@ static void submit(int fd, int gen, reloc[0].target_handle = obj.handle; reloc[0].offset = eb->batch_start_offset; reloc[0].offset += sizeof(uint32_t); - reloc[0].delta = BATCH_SIZE- eb->batch_start_offset - 8; + reloc[0].delta = BATCH_SIZE - eb->batch_start_offset - 8; reloc[0].read_domains = I915_GEM_DOMAIN_INSTRUCTION; reloc[1].target_handle = obj.handle; reloc[1].offset = eb->batch_start_offset; @@ -85,10 +85,10 @@ static void submit(int fd, int gen, n = 0; batch[n] = MI_STORE_DWORD_IMM | (gen < 6 ? 1 << 22 : 0); if (gen >= 8) { + batch[n] |= 1 << 21; batch[n]++; batch[++n] = reloc[0].delta;/* lower_32_bits(address) */ batch[++n] = 0; /* upper_32_bits(address) */ - reloc[1].offset += sizeof(uint32_t); } else if (gen >= 4) { batch[++n] = 0; batch[++n] = reloc[0].delta;/* lower_32_bits(address) */ @@ -96,6 +96,7 @@ static void submit(int fd, int gen, } else { batch[n]--; batch[++n] = reloc[0].delta;/* lower_32_bits(address) */ + reloc[1].offset -= sizeof(uint32_t); } batch[++n] = 0; /* lower_32_bits(value) */ batch[++n] = 0; /* upper_32_bits(value) / nop */ @@ -147,6 +148,7 @@ static void fillgtt(int fd, unsigned ring, int timeout) igt_debug("Using %'d batches to fill %'llu aperture on %d engines\n", count, (long long)size, nengine); intel_require_memory(count, BATCH_SIZE, CHECK_RAM); + intel_detect_and_clear_missed_interrupts(fd); memset(&execbuf, 0, sizeof(execbuf)); execbuf.buffer_count = 1; @@ -181,6 +183,8 @@ static void fillgtt(int fd, unsigned ring, int timeout) for (unsigned i = 0; i < count; i++) gem_close(fd, handles[i]); + + igt_assert_eq(intel_detect_and_clear_missed_interrupts(fd), 0); } igt_main |