intel: Fix GTT entry setup for aub dump
authorZhenyu Wang <zhenyuw@linux.intel.com>
Thu, 8 Jan 2015 07:23:04 +0000 (15:23 +0800)
committerZhenyu Wang <zhenyuw@linux.intel.com>
Fri, 16 Jan 2015 06:50:56 +0000 (14:50 +0800)
On recent emulator GTT entry setup for aub dump needs mem type as
GTT_ENTRY instead of NONLOCAL. NONLOCAL would write data in main
memory space which is wrong with new memory layout. GTT_ENTRY write
would setup GTT memory pool and other required internal buffers. With
this I can run aub dump on latest release without crash.

Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com>
intel/intel_bufmgr_gem.c

index 14e92c9..cf85bb8 100644 (file)
@@ -3180,7 +3180,8 @@ drm_intel_bufmgr_gem_set_aub_dump(drm_intel_bufmgr *bufmgr, int enable)
 
        /* Set up the GTT. The max we can handle is 256M */
        aub_out(bufmgr_gem, CMD_AUB_TRACE_HEADER_BLOCK | ((bufmgr_gem->gen >= 8 ? 6 : 5) - 2));
-       aub_out(bufmgr_gem, AUB_TRACE_MEMTYPE_NONLOCAL | 0 | AUB_TRACE_OP_DATA_WRITE);
+       /* Need to use GTT_ENTRY type for recent emulator */
+       aub_out(bufmgr_gem, AUB_TRACE_MEMTYPE_GTT_ENTRY | 0 | AUB_TRACE_OP_DATA_WRITE);
        aub_out(bufmgr_gem, 0); /* subtype */
        aub_out(bufmgr_gem, 0); /* offset */
        aub_out(bufmgr_gem, gtt_size); /* size */