Message ID | 20161109161602.2402-9-robert@sixbynine.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 9 November 2016 at 16:15, Robert Bragg <robert@sixbynine.org> wrote: > Since an access violation won't return an error to userspace for v >= 8 > of the command parser this updates the cmd-crossing-page test to > explicitly read back from SO_WRITE_OFFSET[0] to see that the command > wasn't squashed to a NOOP. > > Signed-off-by: Robert Bragg <robert@sixbynine.org> Reviewed-by: Matthew Auld <matthew.auld@intel.com>
diff --git a/tests/gem_exec_parse.c b/tests/gem_exec_parse.c index 1aa5114..d6a2885 100644 --- a/tests/gem_exec_parse.c +++ b/tests/gem_exec_parse.c @@ -499,14 +499,25 @@ igt_main igt_subtest("cmd-crossing-page") { uint32_t lri_ok[] = { MI_LOAD_REGISTER_IMM, - 0x5280, /* allowed register address (SO_WRITE_OFFSET[0]) */ - 0x1, + SO_WRITE_OFFSET_0, /* allowed register address */ + 0xdcbaabc0, /* [1:0] MBZ */ + MI_BATCH_BUFFER_END, + }; + uint32_t store_reg[] = { + MI_STORE_REGISTER_MEM | (3 - 2), + SO_WRITE_OFFSET_0, + 0, /* reloc */ MI_BATCH_BUFFER_END, }; exec_split_batch(fd, lri_ok, sizeof(lri_ok), I915_EXEC_RENDER, 0); + exec_batch_patched(fd, handle, + store_reg, + sizeof(store_reg), + 2 * sizeof(uint32_t), /* reloc */ + 0xdcbaabc0); } igt_subtest("oacontrol-tracking") {
Since an access violation won't return an error to userspace for v >= 8 of the command parser this updates the cmd-crossing-page test to explicitly read back from SO_WRITE_OFFSET[0] to see that the command wasn't squashed to a NOOP. Signed-off-by: Robert Bragg <robert@sixbynine.org> --- tests/gem_exec_parse.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)