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 <[email protected]>
---
 intel/intel_bufmgr_gem.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

I've done more testings about this on more hosts. No regression found
on older HW with previous emulator with memory type change. And verify
this on more recent emulators that without crash and produce result
fine.

diff --git a/intel/intel_bufmgr_gem.c b/intel/intel_bufmgr_gem.c
index 14e92c9..cf85bb8 100644
--- a/intel/intel_bufmgr_gem.c
+++ b/intel/intel_bufmgr_gem.c
@@ -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 */
-- 
2.1.4

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to