summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-09-06 17:25:01 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-09-06 17:26:21 +0100
commit5eeb1f34d4bd16ef22e9252e876dd93c28c73b3c (patch)
treedadcf801b4b9ac8d576c5922730865207910f2b3 /tests
parentd35cc3ea8c0023eb8aadf3e946b1c759c6e29b3a (diff)
igt/drv_missed_irq_hang: Increase busy load
The test relies on having to wait upon the GPU at some point and so simulating a missed interrupt. If there is insufficient load on the GPU, we can complete the task before we even wait. References: https://bugs.freedesktop.org/show_bug.cgi?id=71334 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tests')
-rwxr-xr-xtests/drv_missed_irq_hang15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/drv_missed_irq_hang b/tests/drv_missed_irq_hang
index 484e1514..6e8cfc27 100755
--- a/tests/drv_missed_irq_hang
+++ b/tests/drv_missed_irq_hang
@@ -10,6 +10,12 @@ oldpath=`pwd`
cd $i915_dfs_path
+function blt_wait {
+ (cd $oldpath; $SOURCE_DIR/gem_exec_blt 16384) > /dev/null
+ (cd $oldpath; $SOURCE_DIR/gem_exec_blt 65536) > /dev/null
+ (cd $oldpath; $SOURCE_DIR/gem_exec_blt 262144) > /dev/null
+}
+
function check_for_missed_irq {
if test `cat i915_ring_missed_irq` = 0x00000000; then
echo "missed interrupts undetected"
@@ -40,13 +46,11 @@ if test `cat i915_ring_test_irq` != 0x0000000f; then
exit 3
fi
-(cd $oldpath; $SOURCE_DIR/gem_exec_blt) > /dev/null
-
+blt_wait
check_for_missed_irq
check_for_hang
-(cd $oldpath; $SOURCE_DIR/gem_exec_blt) > /dev/null
-
+blt_wait
check_for_hang
echo 0 > i915_ring_test_irq
@@ -56,8 +60,7 @@ if test `cat i915_ring_test_irq` != 0x00000000; then
exit 3
fi
-(cd $oldpath; $SOURCE_DIR/gem_exec_blt) > /dev/null
-
+blt_wait
check_for_hang
echo 0 > i915_ring_missed_irq