1*d83cc019SAndroid Build Coastguard Worker#!/bin/sh 2*d83cc019SAndroid Build Coastguard Worker 3*d83cc019SAndroid Build Coastguard Workerif [ $(id -ru) -ne 0 ]; then 4*d83cc019SAndroid Build Coastguard Worker echo "$0 must be run as root" 5*d83cc019SAndroid Build Coastguard Worker exit 1 6*d83cc019SAndroid Build Coastguard Workerfi 7*d83cc019SAndroid Build Coastguard Worker 8*d83cc019SAndroid Build Coastguard Workerget(){ 9*d83cc019SAndroid Build Coastguard Worker if [ ! -e $tardir/${@:$#} ] ; then 10*d83cc019SAndroid Build Coastguard Worker mkdir -p $tardir/${@:$#} 11*d83cc019SAndroid Build Coastguard Worker fi 12*d83cc019SAndroid Build Coastguard Worker if [ -e $1 ] ; then 13*d83cc019SAndroid Build Coastguard Worker cp -a ${@:1:$#-1} $tardir/${@:$#} 2>/dev/null 14*d83cc019SAndroid Build Coastguard Worker fi 15*d83cc019SAndroid Build Coastguard Worker} 16*d83cc019SAndroid Build Coastguard Worker 17*d83cc019SAndroid Build Coastguard Workerigtdir=`dirname $0` 18*d83cc019SAndroid Build Coastguard Worker 19*d83cc019SAndroid Build Coastguard Workerif [ -d /debug/dri ] ; then 20*d83cc019SAndroid Build Coastguard Worker debugfs_path=/debug_dri 21*d83cc019SAndroid Build Coastguard Workerfi 22*d83cc019SAndroid Build Coastguard Worker 23*d83cc019SAndroid Build Coastguard Workerif [ -d /sys/kernel/debug/dri ] ; then 24*d83cc019SAndroid Build Coastguard Worker debugfs_path=/sys/kernel/debug/dri 25*d83cc019SAndroid Build Coastguard Workerfi 26*d83cc019SAndroid Build Coastguard Worker 27*d83cc019SAndroid Build Coastguard Workeri915_debugfs=x 28*d83cc019SAndroid Build Coastguard Workerfor dir in `ls $debugfs_path` ; do 29*d83cc019SAndroid Build Coastguard Worker if [ -f $debugfs_path/$dir/i915_error_state ] ; then 30*d83cc019SAndroid Build Coastguard Worker i915_debugfs=$debugfs_path/$dir 31*d83cc019SAndroid Build Coastguard Worker break 32*d83cc019SAndroid Build Coastguard Worker fi 33*d83cc019SAndroid Build Coastguard Workerdone 34*d83cc019SAndroid Build Coastguard Worker 35*d83cc019SAndroid Build Coastguard Workerif [ $i915_debugfs = "x" ] ; then 36*d83cc019SAndroid Build Coastguard Worker echo i915 debugfs path not found. 37*d83cc019SAndroid Build Coastguard Worker exit 1 38*d83cc019SAndroid Build Coastguard Workerfi 39*d83cc019SAndroid Build Coastguard Worker 40*d83cc019SAndroid Build Coastguard Workertmpdir=`mktemp -d` 41*d83cc019SAndroid Build Coastguard Workertardir=$tmpdir/intel_gpu_abrt 42*d83cc019SAndroid Build Coastguard Workermkdir $tardir 43*d83cc019SAndroid Build Coastguard Worker 44*d83cc019SAndroid Build Coastguard Workerget $i915_debugfs/* debugfs 45*d83cc019SAndroid Build Coastguard Worker 46*d83cc019SAndroid Build Coastguard Workerget /sys/module/i915/parameters/* mod_opts 47*d83cc019SAndroid Build Coastguard Worker 48*d83cc019SAndroid Build Coastguard Workermkdir $tardir/X 49*d83cc019SAndroid Build Coastguard Workerxrandr --verbose > $tardir/X/xrandr 50*d83cc019SAndroid Build Coastguard Workerget /var/log/Xorg.0.log X 51*d83cc019SAndroid Build Coastguard Workerget /var/log/Xorg.0.log.old X 52*d83cc019SAndroid Build Coastguard Workerget /etc/X11/xorg.conf X 53*d83cc019SAndroid Build Coastguard Workerget /etc/X11/xorg.conf.d/ X 54*d83cc019SAndroid Build Coastguard Worker 55*d83cc019SAndroid Build Coastguard Workerdmesg > $tardir/dmesg 56*d83cc019SAndroid Build Coastguard Workerlspci -nn > $tardir/lspci 57*d83cc019SAndroid Build Coastguard Worker 58*d83cc019SAndroid Build Coastguard Worker$igtdir/intel_reg dump > $tardir/intel_reg_dump.txt 59*d83cc019SAndroid Build Coastguard Worker$igtdir/intel_bios_dumper $tardir/intel_bios_dump 60*d83cc019SAndroid Build Coastguard Worker$igtdir/intel_stepping > $tardir/intel_stepping 61*d83cc019SAndroid Build Coastguard Worker 62*d83cc019SAndroid Build Coastguard Workerecho 1 > /sys/devices/pci0000:00/0000:00:02.0/rom 63*d83cc019SAndroid Build Coastguard Workercat /sys/devices/pci0000:00/0000:00:02.0/rom > $tardir/vbios.dump 64*d83cc019SAndroid Build Coastguard Workerecho 0 > /sys/devices/pci0000:00/0000:00:02.0/rom 65*d83cc019SAndroid Build Coastguard Worker 66*d83cc019SAndroid Build Coastguard Worker(cd $tmpdir; tar -c intel_gpu_abrt ) > intel_gpu_abrt.tar 67*d83cc019SAndroid Build Coastguard Worker 68*d83cc019SAndroid Build Coastguard Workerrm $tmpdir -Rf 69*d83cc019SAndroid Build Coastguard Worker 70*d83cc019SAndroid Build Coastguard Workerif [ -f intel_gpu_abrt.tar ] ; then 71*d83cc019SAndroid Build Coastguard Worker cat <<EOF 72*d83cc019SAndroid Build Coastguard Workerintel_gpu_abrt.tar has been created. 73*d83cc019SAndroid Build Coastguard Worker 74*d83cc019SAndroid Build Coastguard WorkerPlease attach it to https://bugs.freedesktop.org 75*d83cc019SAndroid Build Coastguard Workerwith a good bug description as suggested in this template: 76*d83cc019SAndroid Build Coastguard Worker 77*d83cc019SAndroid Build Coastguard WorkerSystem environment: 78*d83cc019SAndroid Build Coastguard Worker-- chipset: 79*d83cc019SAndroid Build Coastguard Worker-- system architecture: `uname -m` 80*d83cc019SAndroid Build Coastguard Worker-- xf86-video-intel: 81*d83cc019SAndroid Build Coastguard Worker-- xserver: `grep "X.Org X Server" /var/log/Xorg.0.log | awk '{print $NF}'` 82*d83cc019SAndroid Build Coastguard Worker-- mesa: 83*d83cc019SAndroid Build Coastguard Worker-- libdrm: `pkg-config --modversion libdrm` 84*d83cc019SAndroid Build Coastguard Worker-- kernel: `uname -r` 85*d83cc019SAndroid Build Coastguard Worker-- Linux distribution: 86*d83cc019SAndroid Build Coastguard Worker-- Machine or mobo model: 87*d83cc019SAndroid Build Coastguard Worker-- Display connector: 88*d83cc019SAndroid Build Coastguard Worker 89*d83cc019SAndroid Build Coastguard WorkerReproducing steps: 90*d83cc019SAndroid Build Coastguard Worker 91*d83cc019SAndroid Build Coastguard WorkerAdditional info: 92*d83cc019SAndroid Build Coastguard Worker 93*d83cc019SAndroid Build Coastguard WorkerEOF 94*d83cc019SAndroid Build Coastguard Workerexit 0 95*d83cc019SAndroid Build Coastguard Workerelse 96*d83cc019SAndroid Build Coastguard Workercat <<EOF 97*d83cc019SAndroid Build Coastguard WorkerError on tarball generation. 98*d83cc019SAndroid Build Coastguard WorkerFor bug report, please follow manual instructions available at: 99*d83cc019SAndroid Build Coastguard Workerhttps://01.org/linuxgraphics/documentation/how-report-bugs-0 100*d83cc019SAndroid Build Coastguard WorkerEOF 101*d83cc019SAndroid Build Coastguard Workerexit 1 102*d83cc019SAndroid Build Coastguard Workerfi 103