ntel-gpu-tools/tests/drm_lib.sh
Chris Wilson bc388b54d4 drm_lib.sh: Be more precise in detecting the i915 /sys path
We need to be careful in case other devices grow an error file in the
future. The first step here is just to check the minor that corresponds
with the debugfs path found for the device
2013-07-03 08:17:18 +01:00

40 lines
780 B
Bash
Executable File

#!/bin/sh
die() {
echo "$@"
exit 1
}
if [ -d /debug/dri ] ; then
debugfs_path=/debug/dri
fi
if [ -d /sys/kernel/debug/dri ] ; then
debugfs_path=/sys/kernel/debug/dri
fi
i915_dfs_path=x
for minor in `seq 0 16`; do
if [ -f $debugfs_path/$minor/i915_error_state ] ; then
i915_dfs_path=$debugfs_path/$minor
break
fi
done
if [ $i915_dfs_path = "x" ] ; then
die " i915 debugfs path not found."
fi
# read everything we can
if [ `cat $i915_dfs_path/clients | wc -l` -gt "2" ] ; then
die "ERROR: other drm clients running"
fi
i915_sfs_path=
if [ -d /sys/class/drm ] ; then
sysfs_path=/sys/class/drm
if [ -f $sysfs_path/card$minor/error ] ; then
i915_sfs_path="$sysfs_path/card$minor"
fi
fi
# sysfs may not exist as the 'error' is a new interface in 3.11