The crucial trick to reproduce the bug is that we need to have
a decent pile of active bos to retire. Because we unref the bo
after having it moved off the active list, our recursion depth
in fdo bug #42180 is limited by the number of active objects that
can retire at the same time.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42180
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Allow testdisplay to locate the sprite on the screen and potentially
scale it using different crtc width/height vs the source width/height
(determined by the resolution on the target pipe).
Also fix exit, making sure we properly disable all the planes.
Signed-off-by: Jesse Barnes <jbarnes@virtuougseek.org>
The goal of this tool is to be usable as a test for whether something
(suspend/resume, GPU reset, bugs, whatever) may have lost various
required hardware setup specified in the docs.
Reviewed-By: Eugeni Dodonov <eugeni.dodonov@intel.com>
Provokes the forcewake warning when the hangcheck runs and no
one waits for the gpu (and hence holds the dev->struct_mutex).
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
We actually want to test lru behaviour, so do a bit of work with
the fence before yielding to the next thread (we use twice as many
fences as there are, so yielding always is pretty bad, no matter how
clever our fence stealing).
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This allows intel_gpu_top to run both in statistics-collecting mode
(collecting the per-ring statistics in gnuplot-friendly format) and
ncurses top-like mode at the same time.
It also allows to output the statistics directly to stdout, by using "-o
-", so the results can be parsed directly via a popen() parsing.
If you are using intel_gpu_top as previously (without any command-line
arguments), it should change nothing for you. If you were using its
logging facilities (e.g., the '-o file'), note that the logging will keep
running, but the detailed top-like interface will be on the screen at the
same time.
Signed-off-by: Eugeni Dodonov <eugeni.dodonov@intel.com>
According to docs, this should work with ppgtt and just convert to
noops otherwise. In reality, it hangs the machine.
So just disable these for the moment.
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
We use the "ret" variable to check function return values, and these
values are not necessarily 0 on the successful cases, so we need to
reset "ret" after we finish using it.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
getstats.c:48:2: warning: comparison of unsigned expression >= 0 is
always true
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
It seems that the kernel patches required by the TEST_PLANES feature are
still not upstream, so I didn't test this patch.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
If calls inside update_display fail, the function returns and we don't
quit the program if dump_info or test_all_modes. So we enter the main
loop and keep waiting for user input, even on cases where we are not
supposed to require user input. To fix this, we move the check to
outside the update_display function. As a side effect, we also do
cleanup instead of just exit(0) and we return 1 in case update_display
failed.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Previously, when called without any arguments, the application required
user input to finish. However, testdisplay is ran by "make check", and
it is not a good idea to run a program that requires user input in "make
check". So we change the default behavior to something that doesn't
require user input. You can still access the previous behavior using the
"-m" argument.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
testdisplay.c:117:1: warning: comparison between signed and unsigned
integer expressions
testdisplay.c:125:1: warning: comparison between signed and unsigned
integer expressions
testdisplay.c:145:1: warning: comparison between signed and unsigned
integer expressions
testdisplay.c:1060:16: warning: comparison between signed and unsigned
integer expressions
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Creating a zero-length bo should fail, so check that. Still run
the minimal batchbuffer, but without the zero-length reloc.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Hangs gen3 and simply writes garbage into the unmappable part of
gtt on gen4+, which might cause issues later on.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
- now also handles ascii dumps like i915_ringbuffer_data
- getoptified
- totally lazy binary detector
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>