[Intel-gfx] [PATCH] tests/gem_bad_address: Adapt test to ppgtt to pass with command parser
Pavel Popov
pavel.e.popov at intel.com
Fri May 15 03:05:01 PDT 2015
The gem_bad_address test started to fail on Gen7 with enabled command parser.
Error message is printed because MI_GLOBAL_GTT equals to MI_MEM_VIRTUAL:
"CMD: Rejected command 0x10600002 for bitmask 0x00400000...".
MI_MEM_VIRTUAL means global gtt. This bit shouldn't be set for ppgtt.
Changed test like it was done previously for storedw tests in the commit:
afbdc7af8d9324ae065c47d6122bb020c579fd0a.
Signed-off-by: Pavel Popov <pavel.e.popov at intel.com>
---
tests/gem_bad_address.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/tests/gem_bad_address.c b/tests/gem_bad_address.c
index 4a4a570..ccc55f1 100644
--- a/tests/gem_bad_address.c
+++ b/tests/gem_bad_address.c
@@ -44,14 +44,19 @@
static drm_intel_bufmgr *bufmgr;
struct intel_batchbuffer *batch;
+static int has_ppgtt = 0;
#define BAD_GTT_DEST ((512*1024*1024)) /* past end of aperture */
static void
bad_store(void)
{
+ int cmd = MI_STORE_DWORD_IMM | 1 << 21;
+ if (!has_ppgtt)
+ cmd |= MI_MEM_VIRTUAL;
+
BEGIN_BATCH(4, 0);
- OUT_BATCH(MI_STORE_DWORD_IMM | MI_MEM_VIRTUAL | 1 << 21);
+ OUT_BATCH(cmd);
OUT_BATCH(0);
OUT_BATCH(BAD_GTT_DEST);
OUT_BATCH(0xdeadbeef);
@@ -66,6 +71,8 @@ igt_simple_main
fd = drm_open_any();
+ has_ppgtt = gem_uses_aliasing_ppgtt(fd);
+
bufmgr = drm_intel_bufmgr_gem_init(fd, 4096);
drm_intel_bufmgr_gem_enable_reuse(bufmgr);
batch = intel_batchbuffer_alloc(bufmgr, intel_get_drm_devid(fd));
--
1.9.1
More information about the Intel-gfx
mailing list