linux-surface/root/lib/systemd/system-sleep/sleep
Dorian Stoll b184bf438d Make the sleep script executable by default
Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>
2020-01-03 10:13:20 +09:00

64 lines
2.1 KiB
Bash
Executable file

#!/bin/sh
case $1 in
pre) # unload the modules before going to sleep
# Disable bluetooth if no device is connected
if ps cax | grep bluetoothd && ! bluetoothctl info; then
bluetoothctl power off
fi
## Disable bluetooth regardless if devices are connected (see notes below)
# if ps cax | grep bluetoothd; then
# bluetoothctl power off
# fi
## IPTS: see notes below
## > Remove IPTS from ME side
# modprobe -r ipts_surface
# modprobe -r intel_ipts
# modprobe -r mei_hdcp
# modprobe -r mei_me
# modprobe -r mei
## > Remove IPTS from i915 side
# for i in $(find /sys/kernel/debug/dri -name i915_intel_ipts_cleanup); do
# echo 1 > $i
# done
;;
post) # re-load modules after resume
## IPTS: see notes below
## > Load IPTS from i915 side
# for i in $(find /sys/kernel/debug/dri -name i915_intel_ipts_init); do
# echo 1 > $i
# done
## > Load IPTS from ME side
# modprobe mei
# modprobe mei_me
# modprobe mei_hdcp
# modprobe intel_ipts
# modprobe ipts_surface
# Restart bluetooth
if ps cax | grep bluetoothd; then
bluetoothctl power on
fi
;;
esac
# Notes:
#
# - For IPTS, see
# > https://github.com/jakeday/linux-surface/issues/544#issuecomment-519126757
# for an explanation/discussion. We do not unload/reload modules for now as
# the IPTS drivers should be able to resume/suspend without this. If you
# experience any issues on suspend/resume, please file an appropriate issue or
# join the discussion linked above so that we can fix it. As a temporary
# workaround, you may want to uncomment the IPTS-related lines above.
#
# - For bluetooth: If you have spontaneous wakeups, you may want to disable
# bluetooth completely, regardless if any devices are connected or not, by
# removing the `! bluetoothctl info;` part as indicated in the comment (e.g.
# comment-out the original check and comment-in the one below). Note that you
# may be required to re-connect your devices after resume if you choose this
# change.