mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-09 00:46:17 +00:00
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
40 lines
780 B
Bash
Executable File
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
|