diff options
author | Wei Wang <wvw@google.com> | 2016-11-21 17:58:09 -0800 |
---|---|---|
committer | Wei Wang <wvw@google.com> | 2016-11-21 17:58:09 -0800 |
commit | 929ba306074d978ce1de50d6544ccd009fe0c97b (patch) | |
tree | 26aad7cafc6d89d523ff7ee4d09f0ebca1387966 /init.bullhead.rc | |
parent | 5c25a3da90ba5b4b6517c436e63efca69aa5174d (diff) | |
download | bullhead-929ba306074d978ce1de50d6544ccd009fe0c97b.tar.gz |
bullhead: Accelerate boot by paralleling device enable
Some QCOM devices require sysfs to trigger boot/init which are blocking
the init process.
[ 7.453205] init: Command 'write /sys/kernel/boot_adsp/boot 1' action=post-fs-data (/init.angler.rc:166) returned 0 took 271.936ms.
This CL is to put those slow to start devices in a
separate service and wait for the service to be done later on.
Bug: 32712851
Test: On device
Change-Id: Idd4e965f122cbc8421b443a41573d363112dfa50
Diffstat (limited to 'init.bullhead.rc')
-rw-r--r-- | init.bullhead.rc | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/init.bullhead.rc b/init.bullhead.rc index 61fd977..c3a6fd8 100644 --- a/init.bullhead.rc +++ b/init.bullhead.rc @@ -89,6 +89,9 @@ on early-boot # Update dm-verity state and set partition.*.verified properties verity_update_state + # Busy loop to wait for devices booted by devstart_sh just in case device not ready + exec - root root system -- /system/bin/init.qcom.devwait.sh + on boot # execute script to set initial CPU settings # don't run as a service to avoid race conditions @@ -182,7 +185,10 @@ on post-fs mkdir /persist/widevine 0770 drm system start qseecomd + # Busy loop to wait for qseecomd started exec - root root system -- /system/bin/init.bullhead.qseecomd.sh + # Start devices by sysfs trigger + start devstart_sh on post-fs-data # Mark the copy complete flag to not completed @@ -191,8 +197,6 @@ on post-fs-data chown radio radio /data/misc/radio/copy_complete chmod 0660 /data/misc/radio/copy_complete - write /sys/kernel/boot_adsp/boot 1 - #Update touch firmware if required write /sys/bus/i2c/devices/2-0020/check_fw 1 write /sys/devices/soc.0/f9924000.i2c/power/control on @@ -431,3 +435,9 @@ service fingerprintd /system/bin/fingerprintd user system group system input +service devstart_sh /system/bin/init.qcom.devstart.sh + class main + user root + group root system + disabled + oneshot |