summaryrefslogtreecommitdiff
path: root/tests/drv_missed_irq_hang
diff options
context:
space:
mode:
Diffstat (limited to 'tests/drv_missed_irq_hang')
-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