#!/bin/bash # # Testcase: Reload the drm module # # ... we've broken this way too often :( # SOURCE_DIR="$( dirname "${BASH_SOURCE[0]}" )" . $SOURCE_DIR/drm_lib.sh # no other drm service should be running, so we can just unbind # vtcon0 is vga, vtcon1 fbcon and let's pray that won't change due to boot load # time changes if ! echo 0 > /sys/class/vtconsole/vtcon1/bind ; then echo -e "no kms unload support" echo "please enable CONFIG_VT_HW_CONSOLE_BINDING in the kernel" exit 77 fi # The sound driver uses our power well pkill alsactl rmmod snd_hda_intel &> /dev/null #ignore errors in ips - gen5 only rmmod intel_ips &> /dev/null rmmod i915 #ignore errors in intel-gtt, often built-in rmmod intel-gtt &> /dev/null # drm may be used by other devices (nouveau, radeon, udl, etc) rmmod drm_kms_helper &> /dev/null rmmod drm &> /dev/null if lsmod | grep i915 &> /dev/null ; then echo WARNING: i915.ko still loaded! exitcode=1 else echo module successfully unloaded exitcode=0 fi modprobe i915 echo 1 > /sys/class/vtconsole/vtcon1/bind modprobe snd_hda_intel # try to run something $SOURCE_DIR/gem_exec_nop > /dev/null && echo "module successfully loaded again" exit $exitcode