Commit ad66f016 authored by Christian Ludwig's avatar Christian Ludwig Committed by slayher
Browse files

lpm.rc init: Fix charger mode and update pm paths.

lpm.rc is only processed by init when the device boots into charger
mode. In charger mode, init does not trigger the 'early-boot' and 'boot'
actions at all. It runs the 'charger' action instead.

Before this patch even core services were not started in charger mode,
as class_start was part of the non-existing 'boot' action.

Insert usecases for different platforms and add pm paths for msm8974
to init.qcom.lpm_boot.sh

Change-Id: I2d1e794a5a288abca33a59a00ae49ef02d111950
parent ab9f296a
......@@ -37,58 +37,95 @@
# Allow persistent usb charging disabling
# User needs to set usb charging disabled in persist.usb.chgdisabled
#
target=`getprop ro.board.platform`
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu2/online
echo 1 > /sys/devices/system/cpu/cpu3/online
if [ -d /sys/module/lpm_resources ]; then
echo 2 > /sys/module/lpm_resources/enable_low_power/l2
echo 1 > /sys/module/lpm_resources/enable_low_power/pxo
echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_dig
echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_mem
else
echo 1 > /sys/module/rpm_resources/enable_low_power/l2
echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig
echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem
fi
case "$target" in
"msm8660" | "msm8960")
if [ -d /sys/module/lpm_resources ]; then
echo 2 > /sys/module/lpm_resources/enable_low_power/l2
echo 1 > /sys/module/lpm_resources/enable_low_power/pxo
echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_dig
echo 1 > /sys/module/lpm_resources/enable_low_power/vdd_mem
else
echo 1 > /sys/module/rpm_resources/enable_low_power/l2
echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_dig
echo 1 > /sys/module/rpm_resources/enable_low_power/vdd_mem
fi
echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu2/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu3/power_collapse/idle_enabled
echo 1 > /sys/module/pm_8660/modes/cpu0/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu1/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu2/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu3/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 0 > /sys/module/pm_8660/modes/cpu0/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu1/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu2/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu3/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu0/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu1/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu2/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu3/power_collapse/idle_enabled
echo "powersave" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu3/online
;;
esac
echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu2/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu3/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu2/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu3/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu2/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8x60/modes/cpu3/power_collapse/idle_enabled
echo 1 > /sys/module/pm_8660/modes/cpu0/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu1/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu2/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu3/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8660/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 0 > /sys/module/pm_8660/modes/cpu0/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu1/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu2/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu3/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu0/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu1/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu2/power_collapse/idle_enabled
echo 0 > /sys/module/pm_8660/modes/cpu3/power_collapse/idle_enabled
echo "powersave" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu3/online
case "$target" in
"msm8974")
echo 2 > /sys/module/lpm_levels/enable_low_power/l2
echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 0 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
echo 0 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled
echo 0 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled
echo 0 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled
echo 0 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled
echo "powersave" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor
echo "powersave" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor
echo 0 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu3/online
;;
esac
......@@ -23,7 +23,7 @@ loglevel 3
write /proc/sys/kernel/sched_compat_yield 1
write /proc/sys/kernel/sched_child_runs_first 0
on boot
on charger
# change cpufreq governor
exec /system/bin/sh /init.qcom.lpm_boot.sh
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment