winsys/radeon: add command stream replay dump for faulty lockup v3
authorJerome Glisse <jglisse@redhat.com>
Wed, 27 Mar 2013 15:04:29 +0000 (11:04 -0400)
committerJerome Glisse <jglisse@redhat.com>
Fri, 5 Apr 2013 14:22:05 +0000 (10:22 -0400)
commitb8998f976ee11e5bdffa78cd78278deeed2789c1
treef1fdec4f496175d350133914b5890963d6ee3d5e
parent5192262833c08903b0e27b991f4b9995c187a8ce
winsys/radeon: add command stream replay dump for faulty lockup v3

Build time option, set RADEON_CS_DUMP_ON_LOCKUP to 1 in radeon_drm_cs.h to
enable it.

When enabled after each cs submission the code will try to detect lockup by
waiting on one of the buffer of the cs to become idle, after a timeout it
will consider that the cs triggered a lockup and will write a radeon_lockup.c
file in current directory that have all information for replaying the cs.

To build this file :
gcc -O0 -g radeon_lockup.c -ldrm -o radeon_lockup -I/usr/include/libdrm

v2: Add radeon_ctx.h file to mesa git tree
v3: Slightly improve dumped file for easier editing, only dump first faulty cs

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
src/gallium/winsys/radeon/drm/Makefile.sources
src/gallium/winsys/radeon/drm/radeon_drm_bo.c
src/gallium/winsys/radeon/drm/radeon_drm_bo.h
src/gallium/winsys/radeon/drm/radeon_drm_cs.c
src/gallium/winsys/radeon/drm/radeon_drm_cs.h
src/gallium/winsys/radeon/drm/radeon_drm_cs_dump.c [new file with mode: 0644]
src/gallium/winsys/radeon/tools/radeon_ctx.h [new file with mode: 0644]