mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-09 00:46:17 +00:00
The audio driver uses the power well provided by our driver, so on Haswell we can't "rmmod i915" if we don't "rmmod snd_hda_intel" first. The problem with removing snd_hda_intel is that we also need to kill its users. On the specific machine I tested, the only user seem to be alsactl, but on other machines this may change. IMHO we should leave the "kill user space" step to whoever is running the script, but Daniel asked me to put it here so we have a better chance of Just Working on QA's machines. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=70336 Requested-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
51 lines
1.2 KiB
Bash
Executable File
51 lines
1.2 KiB
Bash
Executable File
#!/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
|