Skip to content

Commit d13ed5c

Browse files
committed
pyramid: Split performance items to init.qcom.power.rc
* Clean up unused cpu entries * Add CM perfomance profiles
1 parent ba57da1 commit d13ed5c

5 files changed

Lines changed: 93 additions & 48 deletions

File tree

device_pyramid.mk

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ DEVICE_PACKAGE_OVERLAYS += $(LOCAL_PATH)/overlay
153153
PRODUCT_PACKAGES += \
154154
fstab.pyramid \
155155
init.pyramid.rc \
156+
init.qcom.power.rc \
156157
init.pyramid.usb.rc \
157158
ueventd.pyramid.rc \
158159
gps.pyramid

overlay/frameworks/base/core/res/res/values/config.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,4 +235,8 @@
235235
on screen size and total memory for the largest lowmemorykiller bucket, and scaled
236236
proportionally to the smaller buckets. -1 keeps the default. -->
237237
<integer name="config_lowMemoryKillerMinFreeKbytesAbsolute">81920</integer>
238+
239+
<!-- Performance profiles -->
240+
<string name="config_perf_profile_prop">sys.perf.profile</string>
241+
<string name="config_perf_profile_default_entry">1</string>
238242
</resources>

rootdir/Android.mk

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
LOCAL_PATH := $(call my-dir)
22

3+
include $(CLEAR_VARS)
4+
LOCAL_MODULE := init.qcom.power.rc
5+
LOCAL_MODULE_TAGS := optional eng
6+
LOCAL_MODULE_CLASS := ETC
7+
LOCAL_SRC_FILES := etc/init.qcom.power.rc
8+
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT)
9+
include $(BUILD_PREBUILT)
10+
311
include $(CLEAR_VARS)
412
LOCAL_MODULE := fstab.pyramid
513
LOCAL_MODULE_TAGS := optional eng

rootdir/etc/init.pyramid.rc

Lines changed: 4 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import init.pyramid.usb.rc
2+
import init.qcom.power.rc
23

34
on early-init
4-
write /sys/devices/system/cpu/cpu1/online 1
55

66
# ZRAM
77
write /sys/block/zram0/comp_algorithm lz4
@@ -167,12 +167,6 @@ on boot
167167
chown system /sys/devices/platform/rs300000a7.65536/force_sync
168168
chown system /sys/devices/platform/rs300000a7.65536/sync_sts
169169

170-
# Touch boost
171-
write /sys/module/cpu_boost/parameters/boost_ms 20
172-
write /sys/module/cpu_boost/parameters/sync_threshold 1242000
173-
write /sys/module/cpu_boost/parameters/input_boost_freq 1134000
174-
write /sys/module/cpu_boost/parameters/input_boost_ms 40
175-
176170
# Vibration intensity
177171
chown root system /sys/class/timed_output/vibrator/voltage_level
178172
chmod 0664 /sys/class/timed_output/vibrator/voltage_level
@@ -185,6 +179,9 @@ on boot
185179
# Display color calibration
186180
chown system system /sys/class/graphics/fb0/kcal
187181

182+
# Wake on volume
183+
write /sys/keyboard/vol_wakeup 1
184+
188185
# Services start here
189186
service qcamerasvr /system/bin/mm-qcamera-daemon
190187
class main
@@ -279,47 +276,6 @@ on property:service.adb.root=1
279276
restart adbd
280277
write /sys/class/android_usb/android0/enable 1
281278

282-
on property:sys.boot_completed=1
283-
write /sys/module/rpm_resources/enable_low_power/L2_cache 1
284-
write /sys/module/rpm_resources/enable_low_power/pxo 1
285-
write /sys/module/rpm_resources/enable_low_power/vdd_dig 2
286-
write /sys/module/rpm_resources/enable_low_power/vdd_mem 2
287-
write /sys/module/rpm_resources/enable_low_power/rpm_cpu 1
288-
write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1
289-
write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1
290-
write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled 1
291-
write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled 1
292-
write /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled 1
293-
write /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled 1
294-
write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled 1
295-
write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled 1
296-
write /sys/module/pm_8660/modes/cpu0/power_collapse/suspend_enabled 1
297-
write /sys/module/pm_8660/modes/cpu1/power_collapse/suspend_enabled 1
298-
write /sys/module/pm_8660/modes/cpu0/standalone_power_collapse/suspend_enabled 1
299-
write /sys/module/pm_8660/modes/cpu1/standalone_power_collapse/suspend_enabled 1
300-
write /sys/module/pm_8660/modes/cpu0/power_collapse/idle_enabled 1
301-
write /sys/module/pm_8660/modes/cpu1/power_collapse/idle_enabled 1
302-
write /sys/module/pm_8660/modes/cpu0/standalone_power_collapse/idle_enabled 1
303-
write /sys/module/pm_8660/modes/cpu1/standalone_power_collapse/idle_enabled 1
304-
write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000
305-
write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90
306-
write /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy 1
307-
write /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 4
308-
chown system system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
309-
chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
310-
chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
311-
chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
312-
chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
313-
chown system system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
314-
chown system system /sys/devices/system/cpu/cpu0/online
315-
chown system system /sys/devices/system/cpu/cpu1/online
316-
chmod 664 /sys/devices/system/cpu/cpu0/online
317-
chmod 664 /sys/devices/system/cpu/cpu1/online
318-
chown root system /sys/devices/system/cpu/mfreq
319-
chmod 220 /sys/devices/system/cpu/mfreq
320-
# Wake on volume
321-
write /sys/keyboard/vol_wakeup 1
322-
323279
on property:sys.radio.shutdown=true
324280
exec /system/bin/sh /system/etc/init.qcom.efs.sync.sh
325281

rootdir/etc/init.qcom.power.rc

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
2+
on early-init
3+
write /sys/module/msm_thermal/parameters/enabled "N"
4+
write /sys/devices/system/cpu1/cpu1/online 1
5+
write /sys/module/msm_thermal/parameters/enabled "Y"
6+
7+
on enable-low-power
8+
# Enable power modes
9+
write /sys/module/rpm_resources/enable_low_power/L2_cache 1
10+
write /sys/module/rpm_resources/enable_low_power/pxo 1
11+
write /sys/module/rpm_resources/enable_low_power/vdd_dig 1
12+
write /sys/module/rpm_resources/enable_low_power/vdd_mem 1
13+
write /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled 1
14+
write /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled 1
15+
write /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled 1
16+
write /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled 1
17+
write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled 1
18+
write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled 1
19+
write /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled 1
20+
write /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled 1
21+
write /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled 1
22+
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 192000
23+
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 192000
24+
chown root system /sys/devices/system/cpu/cpu0/online
25+
chmod 664 /sys/devices/system/cpu/cpu0/online
26+
chown root system /sys/devices/system/cpu/cpu1/online
27+
chmod 664 /sys/devices/system/cpu/cpu1/online
28+
29+
chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
30+
chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
31+
32+
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "ondemand"
33+
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "ondemand"
34+
35+
write /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate 50000
36+
write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold 90
37+
write /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy 1
38+
write /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor 4
39+
write /sys/devices/system/cpu/cpufreq/ondemand/down_differential 10
40+
write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core 70
41+
write /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core 3
42+
write /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq 1134000
43+
write /sys/devices/system/cpu/cpufreq/ondemand/sync_freq 1242000
44+
write /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load 80
45+
46+
write /sys/module/cpu_boost/parameters/boost_ms 20
47+
write /sys/module/cpu_boost/parameters/sync_threshold 1242000
48+
write /sys/module/cpu_boost/parameters/input_boost_freq 1134000
49+
write /sys/module/cpu_boost/parameters/input_boost_ms 40
50+
51+
rm /data/system/default_values
52+
53+
54+
on class_start:late_start
55+
trigger enable-low-power
56+
57+
# Powersave
58+
on property:sys.perf.profile=0
59+
write /sys/devices/system/cpu/cpu1/online 1
60+
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "conservative"
61+
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "conservative"
62+
write /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor "ondemand"
63+
64+
# Balanced
65+
on property:sys.perf.profile=1
66+
write /sys/devices/system/cpu/cpu1/online 1
67+
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "ondemand"
68+
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "ondemand"
69+
write /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor "ondemand"
70+
71+
# High performance
72+
on property:sys.perf.profile=2
73+
write /sys/devices/system/cpu/cpu1/online 1
74+
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "performance"
75+
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "performance"
76+
write /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor "performance"

0 commit comments

Comments
 (0)