From 1f85157b1bea76c720090a778dade0d8191f5d49 Mon Sep 17 00:00:00 2001 From: Baruch Eruchimovitch Date: Sun, 3 Nov 2013 21:20:47 +0200 Subject: [PATCH 001/641] Remove ultrasound settings from syspart_fixup Updated ultrasound services settings do not require writable system partition, therefore, the settings script should be moved from syspart_fixup script to the ultrasound post boot script. The ultrasound post boot script is called each time, in the late stage of the device start-up. Change-Id: I7bb69521c6ef27cd8f8d376aedf1e291a6c71071 --- rootdir/etc/init.qcom.syspart_fixup.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/rootdir/etc/init.qcom.syspart_fixup.sh b/rootdir/etc/init.qcom.syspart_fixup.sh index c5e2ba56b..661b635aa 100755 --- a/rootdir/etc/init.qcom.syspart_fixup.sh +++ b/rootdir/etc/init.qcom.syspart_fixup.sh @@ -70,11 +70,6 @@ if [ -f /system/etc/init.qcom.sensor.sh ]; then /system/bin/sh /system/etc/init.qcom.sensor.sh fi -# Run usf script -if [ -f /system/etc/usf_settings.sh ]; then - /system/bin/sh /system/etc/usf_settings.sh -fi - touch /system/etc/boot_fixup if $mount_needed ;then From c16929dadcb7209b6b91091b3ee6b368f13a6273 Mon Sep 17 00:00:00 2001 From: Olav Haugan Date: Thu, 21 Nov 2013 14:25:36 -0800 Subject: [PATCH 002/641] zswap: Add file to enable swap Add script file that creates swap device from zram virtual block device and turns on swap. Change-Id: I991be6d53bb73cb7213550526717a50191fa103c --- common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/common.mk b/common.mk index 9a0a403f3..71f39a3d1 100644 --- a/common.mk +++ b/common.mk @@ -217,6 +217,7 @@ INIT += ueventd.qcom.rc INIT += init.ath3k.bt.sh INIT += init.qcom.audio.sh INIT += init.qcom.ssr.sh +INIT += enable_swap.sh INIT += init.mdm.sh #IPROUTE2 From d1624dd021347bcf7b5a99da3acaf78d7e0bc96e Mon Sep 17 00:00:00 2001 From: Naseer Ahmed Date: Fri, 22 Nov 2013 22:22:44 -0500 Subject: [PATCH 003/641] Remove ppd and hdmi from common init ppd should be enabled in the target specific init script and hdmid is obsolete Change-Id: Ifb2610954a56fb8a5e3d35cb4180ea5009378986 --- rootdir/etc/init.qcom.rc | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 2c2227b2c..272c4d574 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -241,10 +241,6 @@ service usbhub_init /system/bin/usbhub_init on property:persist.radio.atfwd.start=false stop atfwd -on property:init.svc.surfaceflinger=stopped - stop ppd - stop hdmid - on property:ro.board.platform=msm7630_fusion start usbhub_init @@ -619,17 +615,6 @@ service atfwd /system/bin/ATFWD-daemon user system group system radio -service hdmid /system/bin/hdmid - class late_start - socket hdmid stream 0660 root system graphics - disabled - -service ppd /system/bin/mm-pp-daemon - class late_start - user system - socket pps stream 0660 system system graphics - group system graphics - service hostapd /system/bin/hostapd -dddd /data/hostapd/hostapd.conf class late_start user root From ec7897b186419a733c4d3599ffb9e88cb675ca74 Mon Sep 17 00:00:00 2001 From: Srinu Jella Date: Mon, 25 Nov 2013 15:22:29 +0530 Subject: [PATCH 004/641] Bluetooth: Add DUN support for APQ8084 target This change will enable support for DUN on APQ8084 platform. Handled the DUN feature enablement based on target under modem section since DUN feature is dependent on modem support. Change-Id: If8600ee82a271f33b8e7df0ffd7eb56622fa02eb --- rootdir/etc/init.qcom.bt.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.bt.sh b/rootdir/etc/init.qcom.bt.sh index a1532173f..346893354 100644 --- a/rootdir/etc/init.qcom.bt.sh +++ b/rootdir/etc/init.qcom.bt.sh @@ -103,7 +103,15 @@ config_bt () setprop ro.qualcomm.bluetooth.map true setprop ro.qualcomm.bluetooth.nap true setprop ro.bluetooth.sap true - setprop ro.bluetooth.dun false + case $target in + "apq8084") + setprop ro.bluetooth.dun true + logi "Enabling BT-DUN for APQ8084" + ;; + *) + setprop ro.bluetooth.dun false + ;; + esac ;; "msm") setprop ro.qualcomm.bluetooth.opp true @@ -159,7 +167,6 @@ config_bt () elif [ "$btsoc" = "rome" ] then setprop ro.bluetooth.hfp.ver 1.6 - setprop ro.bluetooth.dun true fi ;; *) From a8eda5ad7c9d5a63d828f3952912b6324d092b17 Mon Sep 17 00:00:00 2001 From: Aparna Mallavarapu Date: Tue, 27 Aug 2013 17:56:32 +0530 Subject: [PATCH 005/641] common: Add initial support for msm_bronze Add msm_bronze target in the common makefiles and lunch combo. Change-Id: I4d6261ca4c649af0505afd641214f0181acc69ba --- common.mk | 1 + vendorsetup.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/common.mk b/common.mk index 9a0a403f3..4ee8427bb 100644 --- a/common.mk +++ b/common.mk @@ -12,6 +12,7 @@ QCOM_BOARD_PLATFORMS += msm8610 QCOM_BOARD_PLATFORMS += msm8226 QCOM_BOARD_PLATFORMS += apq8084 QCOM_BOARD_PLATFORMS += mpq8092 +QCOM_BOARD_PLATFORMS += msm_bronze MSM7K_BOARD_PLATFORMS := msm7630_surf MSM7K_BOARD_PLATFORMS += msm7630_fusion diff --git a/vendorsetup.sh b/vendorsetup.sh index 97cbfa4a0..00d6cf38e 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -37,3 +37,4 @@ add_lunch_combo msm8610-userdebug add_lunch_combo msm8226-userdebug add_lunch_combo apq8084-userdebug add_lunch_combo mpq8092-userdebug +add_lunch_combo msm_bronze-userdebug From 9017636dd7875c78b17a73cbfc65ca8203043c5b Mon Sep 17 00:00:00 2001 From: Aravind Kumar Date: Mon, 25 Nov 2013 12:49:34 +0530 Subject: [PATCH 006/641] Compiling audio policy and hal for mpq8092 Changes to support compiling Audio Policy Configuration and Audio HAL for mpq8092 Change-Id: I8c1b4eedc4212cbf6a1a0ac09a806a7c810b51f6 --- common.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common.mk b/common.mk index 9a0a403f3..df71b4f4a 100644 --- a/common.mk +++ b/common.mk @@ -79,6 +79,7 @@ AUDIO_HARDWARE += audio.primary.msm7630_fusion #AUDIO_HARDWARE += audio.primary.default AUDIO_HARDWARE += audio.a2dp.default AUDIO_HARDWARE += audio.usb.default +AUDIO_HARDWARE += audio.primary.mpq8092 # AUDIO_POLICY := audio_policy.mpq8064 AUDIO_POLICY += audio_policy.apq8084 @@ -87,6 +88,7 @@ AUDIO_POLICY += audio_policy.msm8974 AUDIO_POLICY += audio_policy.msm8226 AUDIO_POLICY += audio_policy.msm8660 AUDIO_POLICY += audio_policy.msm8610 +AUDIO_POLICY += audio_policy.mpq8092 #AUDIO_POLICY += audio_policy.msm7627_surf AUDIO_POLICY += audio_policy.msm7627a AUDIO_POLICY += audio_policy.msm7630_surf From 4a3911388faee9afe4f6ae434d92219d3bca6344 Mon Sep 17 00:00:00 2001 From: Dilip Gudlur Date: Mon, 25 Nov 2013 15:56:49 -0800 Subject: [PATCH 007/641] init.qcom.post_boot: Modify above_hispeed_delay for 8974 pro This change enables 40ms above_hispeed_delay parameter for Interactive governor to apply for frequencies above 1.4 GHz. Change-Id: Ib021da2fbfeac42cfa961d86357cfca67b090687 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index bbb08a5f3..3180d1d30 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -282,7 +282,7 @@ case "$target" in echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo "20000 1500000:80000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load echo 1497600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads From a55561414293ae62f24a83d53eb7776f97826d3f Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Tue, 26 Nov 2013 12:28:44 -0800 Subject: [PATCH 008/641] common: start up mdm helper when baseband is set to mdm2 mdm_helper is now started up on devices where ro.baseband is set to mdm2. Change-Id: If0c8fc98df2de8da6cd9ce62705aecdace85dd55 --- rootdir/etc/init.mdm.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.mdm.sh b/rootdir/etc/init.mdm.sh index 451e58805..67e4667ed 100644 --- a/rootdir/etc/init.mdm.sh +++ b/rootdir/etc/init.mdm.sh @@ -27,7 +27,7 @@ # baseband=`getprop ro.baseband` -if [ "$baseband" = "mdm" ]; then +if [ "$baseband" = "mdm" ] || [ "$baseband" = "mdm2" ]; then start mdm_helper fi From ae416ab5f5ed9e0ccfa8fcc6d883d3a2882d313d Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Tue, 26 Nov 2013 12:42:38 -0800 Subject: [PATCH 009/641] init.qcom.usb.sh: Add support for APQ8084 + 9x35 based devices USB composition is now set up for devices where ro.baseband is set to mdm2. Change-Id: I3f6b4b083ace33f6308ed54f4d8f1f21744c94b6 --- rootdir/etc/init.qcom.usb.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 5b3f5e843..c5aa0c23c 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -92,6 +92,9 @@ case "$usb_config" in "mdm") setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb ;; + "mdm2") + setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb + ;; "sglte") setprop persist.sys.usb.config diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage,adb ;; From c018ed3ece7f864ea4511e7e982ae02476836b76 Mon Sep 17 00:00:00 2001 From: Naseer Ahmed Date: Tue, 26 Nov 2013 18:16:04 -0500 Subject: [PATCH 010/641] common: Enable memtrack Enable memtrack HAL for 8084, 8974, 8226 and 8610 Change-Id: If42d196c8c1c00df58e9702f56ef963671e63555 --- common.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/common.mk b/common.mk index 9a0a403f3..c66b07f64 100644 --- a/common.mk +++ b/common.mk @@ -325,6 +325,13 @@ LIBGRALLOC += gralloc.msm7627_6x LIBGRALLOC += gralloc.msm7627a LIBGRALLOC += libmemalloc +#memtrack +LIBMEMTRACK := memtrack.default +LIBMEMTRACK += memtrack.msm8974 +LIBMEMTRACK += memtrack.msm8226 +LIBMEMTRACK += memtrack.msm8610 +LIBMEMTRACK += memtrack.apq8084 + #LIBLIGHTS LIBLIGHTS := lights.msm8660 LIBLIGHTS += lights.msm8960 @@ -594,6 +601,7 @@ PRODUCT_PACKAGES += $(LIBCAMERA) PRODUCT_PACKAGES += $(LIBGESTURES) PRODUCT_PACKAGES += $(LIBCOPYBIT) PRODUCT_PACKAGES += $(LIBGRALLOC) +PRODUCT_PACKAGES += $(LIBMEMTRACK) PRODUCT_PACKAGES += $(LIBLIGHTS) PRODUCT_PACKAGES += $(LIBAUDIOPARAM) PRODUCT_PACKAGES += $(LIBAUDIORESAMPLER) From 838fe5acdd7b1343b5957ac5e2e735f00e6f243f Mon Sep 17 00:00:00 2001 From: Mahesh Sivasubramanian Date: Mon, 11 Nov 2013 16:21:35 -0700 Subject: [PATCH 011/641] init scripts changes to support new PM code A new Power management driver has been add a new module and the sysfs modules are no longer valid. Change-Id: I1f5b2bafce1c5a034f31b9268d9dee574907dae0 --- rootdir/etc/init.qcom.post_boot.sh | 123 +++++++++++++++-------------- 1 file changed, 63 insertions(+), 60 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index bbb08a5f3..14528fcf4 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -249,23 +249,26 @@ case "$target" in 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 - 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/power_collapse/idle_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 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu3/retention/idle_enabled + 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/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online @@ -335,19 +338,19 @@ case "$target" in if [ "$soc_revision" != "1.0" ]; then echo 1 > /sys/module/lpm_resources/enable_low_power/pxo 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 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled + 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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online @@ -380,19 +383,19 @@ case "$target" in 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 - 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 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled + 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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online @@ -422,23 +425,23 @@ esac case "$target" in "apq8084") echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - 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/power_collapse/idle_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 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu3/retention/idle_enabled + 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/power_collapse/idle_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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online From 83d88017c18c2c5370d270b60bf9f70a03e75ee7 Mon Sep 17 00:00:00 2001 From: Bhakthavatsala Raghavendra Date: Wed, 27 Nov 2013 12:48:10 -0800 Subject: [PATCH 012/641] Bluetooth: generalize transport related properties Generalize transport related properties as wcnss as it is common for both Bluetooth and ANT stack Change-Id: Ia1adc31c91f5aea64bed7930aa1ca75771d70f50 --- rootdir/etc/init.qcom.rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 9971704f2..54f958bed 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -317,10 +317,10 @@ service rfs_access /system/bin/rfs_access on property:ro.boot.emmc=true start rfs_access -on property:bluetooth.start_hci=true +on property:wc_transport.start_hci=true start start_hci_filter -on property:bluetooth.start_hci=false +on property:wc_transport.start_hci=false stop start_hci_filter service start_hci_filter /system/bin/wcnss_filter From 62e5f08acc6d68344aa41cf6490b1f21e144dcf9 Mon Sep 17 00:00:00 2001 From: Manu Gautam Date: Mon, 2 Dec 2013 15:44:48 +0530 Subject: [PATCH 013/641] device: qcom: Add DIAG only composition (900E) Some targets may support 901D (DIAG+ADB) composition. To support UI option to disable ADB, specify init-rc rule for DIAG only composition. Change-Id: I34501e887b4dcf004de2ee390a5ff12733cea562 --- rootdir/etc/init.qcom.usb.rc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index 29d3cd32a..cf0728a90 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -101,6 +101,15 @@ on property:sys.usb.config=diag,adb start adbd setprop sys.usb.state ${sys.usb.config} +on property:sys.usb.config=diag + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 900E + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 05C6 From d5a172bb602913ac97fcc33fc9101e89f490a93b Mon Sep 17 00:00:00 2001 From: Susheel nyamala Date: Fri, 29 Nov 2013 15:47:43 +0530 Subject: [PATCH 014/641] Telephony:Add config item for regular deactivation - Default AOSP implementation is to restart the radio for PDP error cause = 36-Regular deactivation. - Add xml based option to disable this implementation and treat error=36 as temp failure. Change-Id: I72dfb00216967b8f55869b0c6658ef3c2a462974 --- overlay/frameworks/base/core/res/res/values/config.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 0ad725119..89f9e2fce 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -183,4 +183,8 @@ http://www.google.com/oha/rdf/ua-profile-kila.xml + + false + From acd2b0d589a08566fa1731c4507cca9ba51777ef Mon Sep 17 00:00:00 2001 From: Bhakthavatsala Raghavendra Date: Thu, 10 Oct 2013 14:30:54 -0700 Subject: [PATCH 015/641] FM: remove legacy fm_radio uid for fm_dl service FM app runs with system uid now and there is no defined uid as fm_radio. Need to cleanup this so that fm_dl service would run as expected Change-Id: If7f2d577ae98b542175ca43e4c2c31da105939bc --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index f6372a66a..5e6e1ae65 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -571,7 +571,7 @@ service lowi-server /system/bin/lowi-server service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh class late_start user root - group system fm_radio + group system disabled oneshot From 4ca024a49f45d26b427ff0bd57dca720faad56fa Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Wed, 4 Dec 2013 16:09:28 -0700 Subject: [PATCH 016/641] ueventd: Added correct permissions for mhi device file node Added permissions for MHI device file node so radio group can access it. CRs-fixed: 585138 Change-Id: I2a531de22373ab7fb7bb817996ee3d4eb4eedda7 --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 801e9b920..d9305287d 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -92,6 +92,7 @@ /dev/hsicctl14 0640 radio radio /dev/hsicctl15 0640 radio radio /dev/hsicctl16 0640 radio radio +/dev/mhi_pipe_14 0640 radio radio /dev/video* 0660 system camera /dev/media* 0660 system camera /dev/v4l-subdev* 0660 system camera From 3f9f3d5b4dd054e1262f6d37b510e6f54c59794e Mon Sep 17 00:00:00 2001 From: Hanumantha Reddy Pothula Date: Thu, 5 Dec 2013 18:33:41 +0530 Subject: [PATCH 017/641] common:Add pronto_wlan for user variant builds Add pronto_wlan into to common.mk. This change is needed to build wlan driver for User variant builds. Change-Id: Id20fd1899e6183201e311229775052002aa3b2ce CRs-Fixed: 585483 --- common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/common.mk b/common.mk index 83ee99612..1bf1aff89 100644 --- a/common.mk +++ b/common.mk @@ -527,6 +527,7 @@ CRDA += init.crda.sh #WLAN WLAN := prima_wlan.ko +WLAN += pronto_wlan.ko PRODUCT_PACKAGES := \ AccountAndSyncSettings \ From 181c756fc580c11e4aeecfd0673327b97c49f4a3 Mon Sep 17 00:00:00 2001 From: Nitin Shivpure Date: Thu, 5 Dec 2013 18:47:45 +0530 Subject: [PATCH 018/641] ueventd.qcom.rc: Adding owner permission for ttyUSB0 As ttyUSB0 is used by Bluetooth DUN to communicate with the modem. So adding require permission for ttyUSB0 Change-Id: I4ab1487e6b455bc22989f1e0fe7a52779301feb7 CRs-Fixed: 571461 --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 801e9b920..15207362d 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -47,6 +47,7 @@ /dev/radio0 0640 system system /dev/rfcomm0 0660 bluetooth bluetooth +/dev/ttyUSB0 0660 bluetooth bluetooth /dev/smdcntl0 0640 radio radio /dev/smdcntl1 0640 radio radio /dev/smdcntl2 0640 radio radio From 8dbcb123910817bdb157635e24cc4cbe6d7038d0 Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Thu, 5 Dec 2013 11:52:58 -0700 Subject: [PATCH 019/641] init.qcom.rc: Restored TCP performance tuning This patch tunes the TCP buffer sizes for high performance data links including global max rmem and wmem. CRs-Fixed: 578574 Change-Id: Ie60da9db2769a33026c94b81443be7f6ff946709 --- rootdir/etc/init.qcom.rc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 5e6e1ae65..e736413f3 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -115,6 +115,24 @@ on boot #For bridgemgr daemon to inform the USB driver of the correct transport chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport +# Define TCP buffer sizes for various networks +# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, + setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208 + setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576 + setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208 + setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040 + setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680 + setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144 + +# Assign TCP buffer thresholds to be ceiling value of technology maximums +# Increased technology maximums should be reflected here. + write /proc/sys/net/core/rmem_max 2097152 + write /proc/sys/net/core/wmem_max 2097152 + #To allow interfaces to get v6 address when tethering is enabled write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2 From 57ee22a273fa7f466b34efca3d2fd3dd06d4adf3 Mon Sep 17 00:00:00 2001 From: Ramakrishnan Ganesh Date: Thu, 5 Dec 2013 17:57:01 -0800 Subject: [PATCH 020/641] Revert "init scripts changes to support new PM code" This reverts commit 838fe5acdd7b1343b5957ac5e2e735f00e6f243f. --- rootdir/etc/init.qcom.post_boot.sh | 123 ++++++++++++++--------------- 1 file changed, 60 insertions(+), 63 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 14528fcf4..bbb08a5f3 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -249,26 +249,23 @@ case "$target" in 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 - 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/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled + 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/power_collapse/idle_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 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/pm_8x60/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/pm_8x60/modes/cpu3/retention/idle_enabled echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online @@ -338,19 +335,19 @@ case "$target" in if [ "$soc_revision" != "1.0" ]; then echo 1 > /sys/module/lpm_resources/enable_low_power/pxo fi - 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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + 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 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online @@ -383,19 +380,19 @@ case "$target" in 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 - 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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + 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 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online @@ -425,23 +422,23 @@ esac case "$target" in "apq8084") echo 4 > /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/power_collapse/idle_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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled + 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/power_collapse/idle_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 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/pm_8x60/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/pm_8x60/modes/cpu3/retention/idle_enabled echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online From 81ff3fb4268bab51bdf8e7f8398ab5c3df3ca1d9 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Fri, 22 Nov 2013 12:40:11 -0800 Subject: [PATCH 021/641] common: Clean up common directory Removed init.qcom.ril.sh and references to it from the common dir. The script contained carrier specific instructions which resulted in a temporary remount of the system partition as r/w which is not allowed. Removed usage of exec from .rc files. Change-Id: Icdbe81ad1405f45d18f9b7befdb7cc8c9aec1696 --- common.mk | 1 - rootdir/Android.mk | 8 ----- rootdir/etc/init.qcom.rc | 15 --------- rootdir/etc/init.qcom.ril.sh | 60 ------------------------------------ 4 files changed, 84 deletions(-) delete mode 100755 rootdir/etc/init.qcom.ril.sh diff --git a/common.mk b/common.mk index 42c4112a0..2c5531ab1 100644 --- a/common.mk +++ b/common.mk @@ -209,7 +209,6 @@ INIT += init.class_main.sh INIT += init.qcom.wifi.sh INIT += vold.fstab INIT += init.qcom.ril.path.sh -INIT += init.qcom.ril.sh INIT += init.qcom.usb.rc INIT += init.qcom.usb.sh INIT += usf_post_boot.sh diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 2afd1a441..3d6fc506a 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -121,14 +121,6 @@ LOCAL_SRC_FILES := etc/init.class_main.sh LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) -include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.ril.sh -LOCAL_MODULE_TAGS := optional -LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.ril.sh -LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) -include $(BUILD_PREBUILT) - include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.usb.rc LOCAL_MODULE_TAGS := optional eng diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 5e6e1ae65..721aa723f 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -57,8 +57,6 @@ on early-boot setrlimit 8 67108864 67108864 # Allow subsystem (modem etc) debugging write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} - exec /system/bin/sh /init.qcom.early_boot.sh ${ro.board.platform} - exec /system/bin/sh /init.qcom.syspart_fixup.sh ${ro.board.platform} ${ro.serialno} on boot chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power @@ -276,11 +274,6 @@ service qcom-c_main-sh /system/bin/sh /init.class_main.sh user root oneshot -service ril-qmi /system/bin/sh /init.qcom.ril.sh - class main - user root - oneshot - on property:vold.decrypt=trigger_restart_framework start qcom-c_main-sh start config_bluetooth @@ -579,10 +572,6 @@ on property:crypto.driver.load=1 insmod /system/lib/modules/qce.ko insmod /system/lib/modules/qcedev.ko -on property:crypto.driver.load=0 - exec /system/bin/rmmod qcedev.ko - exec /system/bin/rmmod qce.ko - service drmdiag /system/bin/drmdiagapp class late_start user root @@ -707,10 +696,6 @@ service ssr_diag /system/bin/ssr_diag user system group system -# SSR setting -on property:persist.sys.ssr.restart_level=* - exec /system/bin/sh /init.qcom.ssr.sh ${persist.sys.ssr.restart_level} - # Define fastmmi service fastmmi /system/bin/mmi user root diff --git a/rootdir/etc/init.qcom.ril.sh b/rootdir/etc/init.qcom.ril.sh deleted file mode 100755 index 7dc519be0..000000000 --- a/rootdir/etc/init.qcom.ril.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/system/bin/sh -# Copyright (c) 2013, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -carrier=`getprop persist.env.spec` -if [ "$carrier" = "ChinaTelecom" ]; then - # Update the props. - setprop persist.env.phone.global true - setprop persist.env.plmn.update true - - # Remount /system with read-write permission for copy action. - `mount -o remount,rw /system` - - # Copy the modules to system app. - `cp /system/vendor/ChinaTelecom/system/app/RoamingSettings.apk /system/app/RoamingSettings.apk` - `cp /system/vendor/ChinaTelecom/system/app/UniversalDownload.apk /system/app/UniversalDownload.apk` - `chmod -h 644 /system/app/RoamingSettings.apk` - `chmod -h 644 /system/app/UniversalDownload.apk` - - # Remount /system with read-only - `mount -o remount,ro /system` -else - # Update the props. - setprop persist.env.phone.global false - setprop persist.env.plmn.update false - - # Remount /system with read-write permission for remove action. - `mount -o remount,rw /system` - - # Remove the modules from the system app. - `rm /system/app/RoamingSettings.apk` - `rm /system/app/UniversalDownload.apk` - - # Remount /system with read-only - `mount -o remount,ro /system` -fi From da466de90aa9b4f3eca0dd42e5776f7b521e2112 Mon Sep 17 00:00:00 2001 From: Vladimir Petrov Date: Fri, 6 Dec 2013 12:16:02 +0530 Subject: [PATCH 022/641] Camera: Round camera settings icon margins to 8 Rounding margins of camera settings icon to 8. This would avoid overlapping of constituent tiles. CRs-Fixed: 562465 Change-Id: I4fb86487ad1281c8d3fce0cb66445075dac70047 --- .../res/layout-land/camera_controls.xml | 73 +++++++++++++++++++ .../res/layout-port/camera_controls.xml | 73 +++++++++++++++++++ .../res/layout-land/camera_controls.xml | 72 ++++++++++++++++++ .../res/layout-port/camera_controls.xml | 72 ++++++++++++++++++ 4 files changed, 290 insertions(+) create mode 100644 overlay/packages/apps/Camera2/res/layout-land/camera_controls.xml create mode 100644 overlay/packages/apps/Camera2/res/layout-port/camera_controls.xml create mode 100644 overlay/packages/apps/Gallery2/res/layout-land/camera_controls.xml create mode 100644 overlay/packages/apps/Gallery2/res/layout-port/camera_controls.xml diff --git a/overlay/packages/apps/Camera2/res/layout-land/camera_controls.xml b/overlay/packages/apps/Camera2/res/layout-land/camera_controls.xml new file mode 100644 index 000000000..0b5af894e --- /dev/null +++ b/overlay/packages/apps/Camera2/res/layout-land/camera_controls.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + diff --git a/overlay/packages/apps/Camera2/res/layout-port/camera_controls.xml b/overlay/packages/apps/Camera2/res/layout-port/camera_controls.xml new file mode 100644 index 000000000..0f26f0f3a --- /dev/null +++ b/overlay/packages/apps/Camera2/res/layout-port/camera_controls.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + diff --git a/overlay/packages/apps/Gallery2/res/layout-land/camera_controls.xml b/overlay/packages/apps/Gallery2/res/layout-land/camera_controls.xml new file mode 100644 index 000000000..3e6423d0e --- /dev/null +++ b/overlay/packages/apps/Gallery2/res/layout-land/camera_controls.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + diff --git a/overlay/packages/apps/Gallery2/res/layout-port/camera_controls.xml b/overlay/packages/apps/Gallery2/res/layout-port/camera_controls.xml new file mode 100644 index 000000000..026567c11 --- /dev/null +++ b/overlay/packages/apps/Gallery2/res/layout-port/camera_controls.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file From 5ff61d4cce232341012696eb3aa5dbbfe944c991 Mon Sep 17 00:00:00 2001 From: Biswajit Paul Date: Wed, 23 Oct 2013 12:28:56 -0700 Subject: [PATCH 023/641] Revert "Set default time before Zygote init to year 2009". The original gerrit was a workaround needed for Zygote class initialitation before JB_MR2. it is not needed from JB_MR2 This reverts commit 620710d7a891a6cb4a451c614491b2d4bbe4b82b. Change-Id: I8640654322dfe7df14509ba1166179b95b9c8678 --- rootdir/etc/init.qcom.early_boot.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index fa97d92f7..21d3b14aa 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -192,8 +192,3 @@ dev_file=/dev/graphics/fb$fb_cnt esac fi done - -# Set date to a time after 2008 -# This is a workaround for Zygote to preload time related classes properly -date -s 20090102.130000 - From fe60d0ef7042f6845103c42ce1a305745467046f Mon Sep 17 00:00:00 2001 From: Zhoulu Luo Date: Fri, 6 Dec 2013 16:32:10 -0800 Subject: [PATCH 024/641] Revert "Revert "power: keep two cores online when display is on"" This reverts commit 1b147f354e0da3ca98b909357191a4c90b6665b9. --- power/hint-data.h | 1 + power/power-8974.c | 26 ++++++++++++++++++++++++++ power/power.c | 19 ++++++++++++++++++- power/utils.c | 13 +++++++++++++ 4 files changed, 58 insertions(+), 1 deletion(-) diff --git a/power/hint-data.h b/power/hint-data.h index e205c9e8e..2a8113a2f 100644 --- a/power/hint-data.h +++ b/power/hint-data.h @@ -31,6 +31,7 @@ #define DEFAULT_VIDEO_ENCODE_HINT_ID (0x0A00) #define DEFAULT_VIDEO_DECODE_HINT_ID (0x0B00) #define DISPLAY_STATE_HINT_ID (0x0C00) +#define DISPLAY_STATE_HINT_ID_2 (0x0D00) struct hint_data { unsigned long hint_id; /* This is our key. */ diff --git a/power/power-8974.c b/power/power-8974.c index 91a404511..7aa152949 100644 --- a/power/power-8974.c +++ b/power/power-8974.c @@ -48,6 +48,9 @@ #include "power-common.h" static int display_hint_sent; +static int display_hint2_sent; +static int first_display_off_hint; +extern int display_boost; int set_interactive_override(struct power_module *module, int on) { @@ -61,6 +64,22 @@ int set_interactive_override(struct power_module *module, int on) if (!on) { /* Display off. */ + /* + * We need to be able to identify the first display off hint + * and release the current lock holder + */ + if (display_boost) { + if (!first_display_off_hint) { + undo_initial_hint_action(); + first_display_off_hint = 1; + } + /* used for all subsequent toggles to the display */ + if (!display_hint2_sent) { + undo_hint_action(DISPLAY_STATE_HINT_ID_2); + display_hint2_sent = 1; + } + } + if ((strncmp(governor, ONDEMAND_GOVERNOR, strlen(ONDEMAND_GOVERNOR)) == 0) && (strlen(governor) == strlen(ONDEMAND_GOVERNOR))) { int resource_values[] = {MS_500, SYNC_FREQ_600, OPTIMAL_FREQ_600, THREAD_MIGRATION_SYNC_OFF}; @@ -75,6 +94,13 @@ int set_interactive_override(struct power_module *module, int on) } } else { /* Display on */ + if (display_boost && display_hint2_sent) { + int resource_values2[] = {CPUS_ONLINE_MIN_2}; + perform_hint_action(DISPLAY_STATE_HINT_ID_2, + resource_values2, sizeof(resource_values2)/sizeof(resource_values2[0])); + display_hint2_sent = 0; + } + if ((strncmp(governor, ONDEMAND_GOVERNOR, strlen(ONDEMAND_GOVERNOR)) == 0) && (strlen(governor) == strlen(ONDEMAND_GOVERNOR))) { undo_hint_action(DISPLAY_STATE_HINT_ID); diff --git a/power/power.c b/power/power.c index 3cd447325..970a9d73e 100644 --- a/power/power.c +++ b/power/power.c @@ -55,6 +55,7 @@ static int saved_mpdecision_slack_min = -1; static int saved_interactive_mode = -1; static int slack_node_rw_failed = 0; static int display_hint_sent; +int display_boost; static struct hw_module_methods_t power_module_methods = { .open = NULL, @@ -63,6 +64,22 @@ static struct hw_module_methods_t power_module_methods = { static void power_init(struct power_module *module) { ALOGI("QCOM power HAL initing."); + + int fd; + char buf[10] = {0}; + + fd = open("/sys/devices/soc0/soc_id", O_RDONLY); + if (fd >= 0) { + if (read(fd, buf, sizeof(buf) - 1) == -1) { + ALOGW("Unable to read soc_id"); + } else { + int soc_id = atoi(buf); + if (soc_id == 194 || (soc_id >= 208 && soc_id <= 218)) { + display_boost = 1; + } + } + close(fd); + } } static void process_video_decode_hint(void *metadata) @@ -242,7 +259,7 @@ void set_interactive(struct power_module *module, int on) } } else if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { - int resource_values[] = {DISPLAY_OFF, TR_MS_500, THREAD_MIGRATION_SYNC_OFF}; + int resource_values[] = {TR_MS_500, THREAD_MIGRATION_SYNC_OFF}; if (!display_hint_sent) { perform_hint_action(DISPLAY_STATE_HINT_ID, diff --git a/power/utils.c b/power/utils.c index 15f7aed13..5c7863e85 100644 --- a/power/utils.c +++ b/power/utils.c @@ -269,3 +269,16 @@ void undo_hint_action(int hint_id) } } } + +/* + * Used to release initial lock holding + * two cores online when the display is on + */ +void undo_initial_hint_action() +{ + if (qcopt_handle) { + if (perf_lock_rel) { + perf_lock_rel(1); + } + } +} From 90d5b2b127a623bcc36d32a1fb7216d62a1156bb Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 2 Dec 2013 12:45:22 -0800 Subject: [PATCH 025/641] init.qcom.post_boot: Enable input boost for 8974 pro Enables the following parameters for input_boost: 1) input_boost_freq is set to 1.49 GHz 2) input_boost_ms which is the time for which the boost is effective is set to 40ms Change-Id: I697ddb1c2511ec3aa8cf9168bca392c7480a9a3d --- rootdir/etc/init.qcom.post_boot.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index bbb08a5f3..ed14d3f5b 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -290,6 +290,8 @@ case "$target" in echo 20 > /sys/module/cpu_boost/parameters/boost_ms echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms ;; *) echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor From 260f056527c0e0ea6c322ce28db7feb0ec2a2283 Mon Sep 17 00:00:00 2001 From: Wu Jin Date: Mon, 9 Dec 2013 13:20:56 +0800 Subject: [PATCH 026/641] Init: Add services logkit needed to initialize. The qlogd is a daemon of capturing logs and rootagent is for autotrigger. The service logkit needed is controled by property. Change-Id: I21d03fa38b705969394b5ca8a256f90dfa6e8c3d --- rootdir/etc/init.qcom.rc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 9971704f2..7a0ecb81f 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -769,3 +769,19 @@ service diag_mdlog_stop /system/bin/diag_mdlog -k group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot + +service qlogd /system/xbin/qlogd + class main + disabled +on property:persist.sys.qlogd=1 + start qlogd +on property:persist.sys.qlogd=0 + stop qlogd + +service rootagent /system/bin/sh /system/etc/init.qcom.rootagent.sh + disabled + oneshot +on property:persist.sys.rootagent=1 + start rootagent +on property:persist.sys.rootagent=0 + stop rootagent From 5b86a64ced3c6243ddfa113246e82653cbf1bceb Mon Sep 17 00:00:00 2001 From: Wu Fenglin Date: Mon, 9 Dec 2013 15:05:35 +0800 Subject: [PATCH 027/641] init: qcom: modify charger_monitor to a root service Start charger_monitor as a root service, it can obtain CAP_BLOCK_SUSPEND to take wake locks. It will be dropped down to be a system service and retain CAP_BLOCK_SUSPEND capability. Change-Id: I043a7dcb98b665cabfb46c31f263a6822d748d3b --- rootdir/etc/init.qcom.rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 8d18ad0b8..a56ec5b18 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -740,8 +740,8 @@ on property:persist.usb.hvdcp.detect=false stop hvdcp service charger_monitor /system/bin/charger_monitor - user system - group system + user root + group root disabled service diag_mdlog_start /system/bin/diag_mdlog From 3751c74d59af4ae5a397fef1afa52bf31986f1a1 Mon Sep 17 00:00:00 2001 From: Zohaib Alam Date: Mon, 28 Oct 2013 13:21:13 -0400 Subject: [PATCH 028/641] mpq8092: setting lcd-density & enabling hwcomposer and gralloc setting lcd-density for 8092, and enabling hwcomposer and gralloc Change-Id: Ifce52c4b7015a69e5c180c32a7ee2cb7c9354108 --- common.mk | 2 ++ rootdir/etc/init.qcom.early_boot.sh | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/common.mk b/common.mk index 2c5531ab1..638264f02 100644 --- a/common.mk +++ b/common.mk @@ -318,6 +318,7 @@ LIBGRALLOC += gralloc.msm8974 LIBGRALLOC += gralloc.msm8226 LIBGRALLOC += gralloc.msm8610 LIBGRALLOC += gralloc.apq8084 +LIBGRALLOC += gralloc.mpq8092 LIBGRALLOC += gralloc.msm7k LIBGRALLOC += gralloc.msm7630_surf LIBGRALLOC += gralloc.msm7630_fusion @@ -354,6 +355,7 @@ LIBHWCOMPOSER += hwcomposer.msm8974 LIBHWCOMPOSER += hwcomposer.msm8226 LIBHWCOMPOSER += hwcomposer.msm8610 LIBHWCOMPOSER += hwcomposer.apq8084 +LIBHWCOMPOSER += hwcomposer.mpq8092 LIBHWCOMPOSER += hwcomposer.msm7k LIBHWCOMPOSER += hwcomposer.msm7630_surf LIBHWCOMPOSER += hwcomposer.msm7630_fusion diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index 21d3b14aa..a2c63c16a 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -140,7 +140,7 @@ case "$1" in esac ;; - "msm8610") + "msm8610" | "apq8084" | "mpq8092") case "$soc_hwplatform" in *) setprop ro.sf.lcd_density 240 From 002830b23fef6a21ab554f54c36d16cd33b1f4d3 Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Mon, 9 Dec 2013 15:33:58 -0700 Subject: [PATCH 029/641] mdm2: Start QMUX and NETMGR daemons for mdm2 For mdm2 targets (Fusion 4.5), start netmgrd and QMUXD daemons at powerup. CRs-fixed: 587136 Change-Id: Ib9d7fd5a7f94bc30053a1f3cee5df57dab61c7a5 --- rootdir/etc/init.class_main.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.class_main.sh b/rootdir/etc/init.class_main.sh index b95b754b3..54a8a8ccb 100755 --- a/rootdir/etc/init.class_main.sh +++ b/rootdir/etc/init.class_main.sh @@ -40,7 +40,7 @@ case "$baseband" in esac case "$baseband" in - "msm" | "csfb" | "svlte2a" | "mdm" | "sglte" | "sglte2" | "dsda2" | "unknown") + "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown") start qmuxd case "$baseband" in "svlte2a" | "csfb") From ba13952d8e93a4fc35153684f3e3195f939224d4 Mon Sep 17 00:00:00 2001 From: Aparna Mallavarapu Date: Sun, 16 Jun 2013 16:29:22 -0700 Subject: [PATCH 030/641] common: Generate Android disk image for simulation software Add support to generate the android disk image as part of the regular android images so that simulation software can load it. Change-Id: Ic7af0a0c17b9899fc92f5e3abea054b588ce238f Conflicts: generate_extra_images.mk --- generate_extra_images.mk | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index cb84efbd2..12bcb7b9b 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -140,6 +140,27 @@ $(CDROM_ISO_TAREGT): $(CDROM_RES_FILE) ALL_DEFAULT_INSTALLED_MODULES += $(CDROM_ISO_TARGET) ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(CDROM_ISO_TARGET) endif +#--------------------------------------------------------------------- +#Generate the SingleImage.bin / MMC_FLASHMEM1.dat +#--------------------------------------------------------------------- +ifeq ($(strip $(BOARD_DISK_ANDROID_IMG)),true) +DISK_IMG_TOOL := $(HOST_OUT_EXECUTABLES)/singleimage.py +$(call pretty,"Android Disk Image for simulator: $(DISK_IMG_TOOL)") + +INSTALLED_DISK_IMG_TARGET := $(PRODUCT_OUT)/MMC_FLASHMEM1.dat +$(call pretty,"Android Disk Image for simulator: $(INSTALLED_DISK_IMG_TARGET)") + +define build-disk-img-target + $(call pretty,"Android Disk Image for simulator: $(INSTALLED_DISK_IMG_TARGET)") + $(hide) $(DISK_IMG_TOOL) $(PRODUCT_OUT) + $(hide) mv $(PRODUCT_OUT)/singleimage.bin $(PRODUCT_OUT)/MMC_FLASHMEM1.dat +endef + +$(INSTALLED_DISK_IMG_TARGET): $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_RAMDISK_TARGET) $(INSTALLED_SYSTEMIMAGE) $(INSTALLED_USERDATAIMAGE_TARGET) $(INSTALLED_RECOVERYIMAGE_TARGET) $(BUILT_CACHEIMAGE_TARGET) $(DISK_IMG_TOOL) + $(build-disk-img-target) +ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_DISK_IMG_TARGET) +ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_DISK_IMG_TARGET) +endif #---------------------------------------------------------------------- # Generate NAND images From 2becab78d9a1b8530d0a38380d53c8f37d39884d Mon Sep 17 00:00:00 2001 From: Vadivel Thekkamalai Date: Wed, 4 Dec 2013 17:55:17 -0800 Subject: [PATCH 031/641] Provide diag permission to wcnss_filter wcnss_filter should have diag permission to write bluetooth logs into the QXDM. Change-Id: I880c681450dd81017e35f898effd209bc6874269 --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 5e6e1ae65..791210efc 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -322,7 +322,7 @@ on property:bluetooth.start_hci=false service start_hci_filter /system/bin/wcnss_filter class late_start user bluetooth - group bluetooth + group bluetooth qcom_diag disabled service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot" From f68d13a12df6dcb429766cc8bd7fef80895be848 Mon Sep 17 00:00:00 2001 From: Nitin Arora Date: Wed, 11 Dec 2013 11:56:47 -0800 Subject: [PATCH 032/641] Bluetooth: Enable macro to skip conn update at conn complete The patch enables the macro in order to skip the connection param update at the conn complete event since it interferes with the link encryption Change-Id: Id41ed9d9b44bb5f1292b41ac9ec9507e97d51eba CRs-Fixed: 585765 --- bdroid_buildcfg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bdroid_buildcfg.h b/bdroid_buildcfg.h index df500c39f..a0252caee 100644 --- a/bdroid_buildcfg.h +++ b/bdroid_buildcfg.h @@ -25,4 +25,6 @@ // Enables Interleave scan #define BTA_HOST_INTERLEAVE_SEARCH TRUE #define MAX_L2CAP_CHANNELS 14 +// skips conn update at conn completion +#define BTA_BLE_SKIP_CONN_UPD TRUE #endif From c7c5a0dd0cefa89f02f4628ac193e040176b96fa Mon Sep 17 00:00:00 2001 From: Satya Durga Srinivasu Prabhala Date: Wed, 11 Dec 2013 08:39:50 -0800 Subject: [PATCH 033/641] common: init: update sensor settings file related entries As part of consolidating sensor directories & files, updating sensor settings related entries in init script for better alignment & security. CRs-Fixed: 582070 Change-Id: I5df308fe2d77ea047435d03dfda47a338fb858af --- rootdir/etc/init.qcom.sh | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index f0ff33c51..9178da79f 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -38,20 +38,13 @@ fi start_sensors() { if [ -c /dev/msm_dsps -o -c /dev/sensors ]; then - mkdir -p /data/system/sensors - touch /data/system/sensors/settings - chmod -h 775 /data/system/sensors - chmod -h 664 /data/system/sensors/settings - chown -h system /data/system/sensors/settings + chmod -h 775 /persist/sensors + chmod -h 664 /persist/sensors/sensors_settings + chown -h system.root /persist/sensors/sensors_settings mkdir -p /data/misc/sensors chmod -h 775 /data/misc/sensors - if [ ! -s /data/system/sensors/settings ]; then - # If the settings file is empty, enable sensors HAL - # Otherwise leave the file with it's current contents - echo 1 > /data/system/sensors/settings - fi start sensors fi } From 3a046058422b9c25453ece38f863e39be37bbadd Mon Sep 17 00:00:00 2001 From: Sivalatha Chakrala Date: Thu, 12 Dec 2013 22:30:23 +0530 Subject: [PATCH 034/641] common: Add initial support for msm8916. Add msm8916 target in the common makefiles and lunch combo. Change-Id: I90327da5706a61ce8faf73dda20d00c417719af2 --- common.mk | 1 + vendorsetup.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/common.mk b/common.mk index 89668dbcc..a901aa55f 100644 --- a/common.mk +++ b/common.mk @@ -13,6 +13,7 @@ QCOM_BOARD_PLATFORMS += msm8226 QCOM_BOARD_PLATFORMS += apq8084 QCOM_BOARD_PLATFORMS += mpq8092 QCOM_BOARD_PLATFORMS += msm_bronze +QCOM_BOARD_PLATFORMS += msm8916 MSM7K_BOARD_PLATFORMS := msm7630_surf MSM7K_BOARD_PLATFORMS += msm7630_fusion diff --git a/vendorsetup.sh b/vendorsetup.sh index 00d6cf38e..ab8548bbe 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -38,3 +38,4 @@ add_lunch_combo msm8226-userdebug add_lunch_combo apq8084-userdebug add_lunch_combo mpq8092-userdebug add_lunch_combo msm_bronze-userdebug +add_lunch_combo msm8916-userdebug From e735e2f5959e70a8fdc69d5111805e0a4e95a406 Mon Sep 17 00:00:00 2001 From: Vidyakumar Athota Date: Thu, 12 Dec 2013 11:29:17 -0800 Subject: [PATCH 035/641] init.qcom.rc: remove set GID bit for /data/audio Remove set GID bit for /data/audio for security reasons Change-Id: I23f037e101dd4fc783761c8fc3f08f46de8733a5 CRs-Fixed: 578087 --- rootdir/etc/init.qcom.rc | 2 -- 1 file changed, 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 6ba4d4320..067ea548b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -223,8 +223,6 @@ on post-fs-data mkdir /data/time/ 0700 system system mkdir /data/audio/ 0770 media audio - # Enable the setgid bit on the directory - chmod 2770 /data/audio setprop vold.post_fs_data_done 1 From 25e09dac008301b0e26f17029faf1b1c5f9f3502 Mon Sep 17 00:00:00 2001 From: Kevin Tang Date: Thu, 12 Dec 2013 12:26:14 -0800 Subject: [PATCH 036/641] disable NLP and FLP overlay Enabling overlay will risk having a later market installed NLP or FLP that comes with gcore from app store override the tested platform NLP or FLP. Something might get broken. CRs-Fixed: 580898 Change-Id: I49ae07d46df0722e55acde5ae8c3e2c4e18c6fc1 --- overlay/frameworks/base/core/res/res/values/config.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 89f9e2fce..ca1793397 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -187,4 +187,8 @@ error cause as Regular deactivation(36). --> false + + false + false + From ab3b2116dd1f4615af0d38ffc7220ef1e045c240 Mon Sep 17 00:00:00 2001 From: Krishna Vanka Date: Fri, 6 Dec 2013 10:09:18 +0530 Subject: [PATCH 037/641] CPUFreq: Set optimal frequency for msm8226 The ondemand governor has the ability to adapt to multicore targets to render better scaling. This change sets one of such parameters i.e optimal frequency to the nominal max frequency to achieve best perf/power. Along with that, this change also tunes the down_differential_multi_core to a reasonable value. CRs-fixed: 561456 Change-Id: If0ea8e2f663982201f7d680144def44fbfd62c50 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 14528fcf4..41fd31d66 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -361,8 +361,8 @@ case "$target" in echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq + echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core + echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq From d09a9bd4d6b53a070a46760f88d15c7c3101896a Mon Sep 17 00:00:00 2001 From: Satish kumar sugasi Date: Mon, 9 Dec 2013 13:27:44 -0800 Subject: [PATCH 038/641] Bluetooth: Enable config to skip read remote device features This avoids sending read remote device features which cause encryption failure with few remote devices. CRs-Fixed: 590293 Change-Id: I8b5fd9f1dda1fa11b74953825a3ccbdc0e709511 --- bdroid_buildcfg.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bdroid_buildcfg.h b/bdroid_buildcfg.h index a0252caee..1a63809fe 100644 --- a/bdroid_buildcfg.h +++ b/bdroid_buildcfg.h @@ -24,6 +24,8 @@ #define BTM_DEF_LOCAL_NAME "QCOM-BTD" // Enables Interleave scan #define BTA_HOST_INTERLEAVE_SEARCH TRUE +// Disables read remote device feature +#define BTA_SKIP_BLE_READ_REMOTE_FEAT TRUE #define MAX_L2CAP_CHANNELS 14 // skips conn update at conn completion #define BTA_BLE_SKIP_CONN_UPD TRUE From 6d87755aae42711f3b7872e71a6f98227f485c68 Mon Sep 17 00:00:00 2001 From: Vidyakumar Athota Date: Wed, 11 Dec 2013 18:26:36 -0800 Subject: [PATCH 039/641] common: Add owner permission for audio_slimslave As audio_slimslave device is used by audio to make custom ioctls, add the required permissions Change-Id: If6181692ae3a3d0305200cf7c66870549cce5ac2 --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 801e9b920..36726174c 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -113,6 +113,7 @@ /dev/adsprpc-smd 0664 system system #permissions for audio +/dev/audio_slimslave 0660 system audio /dev/msm_qcelp 0660 system audio /dev/msm_evrc 0660 system audio /dev/msm_wma 0660 system audio From 27487b25125349db3681687c7c1d0e2bd6f34566 Mon Sep 17 00:00:00 2001 From: Leo Chang Date: Thu, 12 Dec 2013 13:17:16 -0800 Subject: [PATCH 040/641] wlan: make PTT app as default running daemon PTT app will running as default daemon. Mission mode, will control RIDL and Quarky Start with root prevelige and drop to SYSTEM FFBM mode, will handle FTM Will run root always. Only FFBM mode will start this mode. Change-Id: I18a64b35d2097e274a5a7c6f769382f1af834e9c CRs-fixed: 536472 --- rootdir/etc/init.qcom.factory.sh | 1 + rootdir/etc/init.qcom.rc | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index 302d243ac..77e531a25 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -245,3 +245,4 @@ start qcamerasvr start qcom-usb-sh start qcomsysd + start ptt_ffbm diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d0c2b30de..354505951 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -501,10 +501,16 @@ service iprenew_p2p /system/bin/dhcpcd -n disabled oneshot -service ptt_socket_app /system/bin/ptt_socket_app +service ptt_socket_app /system/bin/ptt_socket_app -d class main - user system - group system + user root + group root + oneshot + +service ptt_ffbm /system/bin/ptt_socket_app -f -d + user root + group root + disabled oneshot service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG From c390eaa483fdef4469738b147918120cab820c14 Mon Sep 17 00:00:00 2001 From: Damir Didjusto Date: Tue, 10 Dec 2013 11:10:57 -0800 Subject: [PATCH 041/641] init.qcom.rc: Deferring ADSP load until debug flag setup - ADSP was getting loaded way too early. This blocked debugging processor - Moved ADSP loading command to the line after the command to setup debug flag - The debug flag couldn't be moved as its current place allows access to android persistent properties CRs-fixed: 581939 Change-Id: I11cb7907f6d006c08b7d4e4e22a8d8d2d4942991 --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d0c2b30de..a3bcdd906 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -57,6 +57,7 @@ on early-boot setrlimit 8 67108864 67108864 # Allow subsystem (modem etc) debugging write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} + write /sys/kernel/boot_adsp/boot 1 on boot chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power From 31c01e7fcd7d82f0fc6b8cf6971ceab097e6c785 Mon Sep 17 00:00:00 2001 From: Naseer Ahmed Date: Tue, 17 Dec 2013 20:49:35 -0500 Subject: [PATCH 042/641] mpq8092: Enable memtrack Enable memtrack HAL for dumpsys meminfo Change-Id: I45c79958a8efb332e73cf0f211567aa055500bab --- common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/common.mk b/common.mk index cf71a9503..98d091b7b 100644 --- a/common.mk +++ b/common.mk @@ -336,6 +336,7 @@ LIBMEMTRACK += memtrack.msm8974 LIBMEMTRACK += memtrack.msm8226 LIBMEMTRACK += memtrack.msm8610 LIBMEMTRACK += memtrack.apq8084 +LIBMEMTRACK += memtrack.mpq8092 #LIBLIGHTS LIBLIGHTS := lights.msm8660 From 396223e124d0d0affb13a433828853009c65add1 Mon Sep 17 00:00:00 2001 From: Krishna Vanka Date: Thu, 19 Dec 2013 10:20:38 +0530 Subject: [PATCH 043/641] CPUFreq: Set optimal frequency for msm8610 The ondemand governor has the ability to adapt to multicore targets to render better scaling. This change sets one of such parameters i.e optimal frequency to the nominal max frequency to achieve best perf/power. Along with that, this change also tunes the down_differential_multi_core to a reasonable value. Change-Id: I4fe76224f0166a3a6db2a79c18637e0ab760ceac CRs-fixed: 561456 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 14528fcf4..2a808b323 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -406,8 +406,8 @@ case "$target" in echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential echo 70 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core - echo 3 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core - echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq + echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential_multi_core + echo 787200 > /sys/devices/system/cpu/cpufreq/ondemand/optimal_freq echo 300000 > /sys/devices/system/cpu/cpufreq/ondemand/sync_freq echo 80 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq From f0c8be03fa8f2b43daeaa278db8c9a11daba30f0 Mon Sep 17 00:00:00 2001 From: Anirudh Ghayal Date: Wed, 30 Oct 2013 10:05:15 +0530 Subject: [PATCH 044/641] init: qcom: Change owner and permissions of input_current_settled property The input_current_settled property is accessed by the charger_monitor which is running as a system service. Modify the permissions and owner for it to be accessible. Change-Id: I0bc0b6b31d2cda0c1550e38ce838b984f80a959b --- rootdir/etc/init.qcom.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 9178da79f..16d699c8e 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -72,9 +72,11 @@ start_charger_monitor() chown -h root.system /sys/module/qpnp_charger/parameters/* chown -h root.system /sys/class/power_supply/battery/input_current_max chown -h root.system /sys/class/power_supply/battery/input_current_trim + chown -h root.system /sys/class/power_supply/battery/input_current_settled chown -h root.system /sys/class/power_supply/battery/voltage_min chmod -h 0664 /sys/class/power_supply/battery/input_current_max chmod -h 0664 /sys/class/power_supply/battery/input_current_trim + chmod -h 0664 /sys/class/power_supply/battery/input_current_settled chmod -h 0664 /sys/class/power_supply/battery/voltage_min chmod -h 0664 /sys/module/qpnp_charger/parameters/charger_monitor start charger_monitor From f458d0292372c4fdd880ebf13d7ab316c78c532a Mon Sep 17 00:00:00 2001 From: Kevin Tang Date: Fri, 20 Dec 2013 08:19:57 -0800 Subject: [PATCH 045/641] no default packages specified after overlay is diabled both Nlp and Flp default packages are either missing or wrong Change-Id: I9eba47eb9c725155bbe52ada515c50cb60e502b6 CRs-Fixed: 591196 --- overlay/frameworks/base/core/res/res/values/config.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index ca1793397..a15868eae 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -190,5 +190,7 @@ false false + com.qualcomm.location + com.qualcomm.location From 2ce3aeea0e243062c8e9246cfe493887b48c441b Mon Sep 17 00:00:00 2001 From: Hariprasad Dhalinarasimha Date: Mon, 16 Dec 2013 15:37:08 -0800 Subject: [PATCH 046/641] ueventd.qcom.rc: Change hw_random permission to root Change hw_random permission to root, higher the permission higher is the device secure. Change-Id: Ifca1f2e40a980444d64f38631dd9ea337701df62 --- rootdir/etc/ueventd.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 15207362d..47581e48c 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -110,7 +110,7 @@ /dev/msm_vidc_dec_sec 0660 system audio /dev/msm_vidc_enc 0660 system audio /dev/msm_rotator 0660 system system -/dev/hw_random 0660 system system +/dev/hw_random 0600 root root /dev/adsprpc-smd 0664 system system #permissions for audio From 03fad1b50f496687b7ed269824b46b92863afe68 Mon Sep 17 00:00:00 2001 From: Garik Badalyan Date: Thu, 19 Dec 2013 21:35:12 -0800 Subject: [PATCH 047/641] IMS-VT: Enable libimscamera_jni library. Enable libimscamera_jni library. Change-Id: I6a1f5c79323879719aba5cea565b232b6d1eb2de CRs-Fixed: 592584 --- common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/common.mk b/common.mk index 98d091b7b..52861ddc5 100644 --- a/common.mk +++ b/common.mk @@ -523,6 +523,7 @@ CHARGER += charger_res_images #VT_JNI VT_JNI := libvt_jni +VT_JNI += libimscamera_jni #CRDA CRDA := crda From 9e1cbbcf2b62e6eae3f2478c8996b3e847c01bb9 Mon Sep 17 00:00:00 2001 From: Sheng Fang Date: Fri, 23 Aug 2013 19:21:44 +0800 Subject: [PATCH 048/641] wlan: update the exist condition of cfg.ini file. In some cases, cfg.ini file is there but the size is 0. So we need to check the size also. Change-Id: Ic4ca9ecb050193d9be6c8e754894394ce508a3ba CRs-Fixed: 533380 --- rootdir/etc/init.qcom.wifi.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.wifi.sh b/rootdir/etc/init.qcom.wifi.sh index 89dc2d593..bc03f5c17 100644 --- a/rootdir/etc/init.qcom.wifi.sh +++ b/rootdir/etc/init.qcom.wifi.sh @@ -251,7 +251,7 @@ case "$target" in ln -s /system/lib/modules/pronto/pronto_wlan.ko \ /system/lib/modules/wlan.ko # Populate the writable driver configuration file - if [ ! -e /data/misc/wifi/WCNSS_qcom_cfg.ini ]; then + if [ ! -s /data/misc/wifi/WCNSS_qcom_cfg.ini ]; then cp /system/etc/wifi/WCNSS_qcom_cfg.ini \ /data/misc/wifi/WCNSS_qcom_cfg.ini chown -h system:wifi /data/misc/wifi/WCNSS_qcom_cfg.ini From 43e380323c0d31db0a2c153343bad4d774f0c2d0 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Mon, 30 Dec 2013 11:56:53 -0800 Subject: [PATCH 049/641] ueventd.qcom.rc: Change user and group of esoc nodes. ESOC nodes need to be opened by non root clients(eg: RIL,GPS). Set the permissions to allow them to do so. Change-Id: I65c7f6d6eee39732141db2651a1282ea26c756c8 --- rootdir/etc/ueventd.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 801e9b920..ae9e608a3 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -176,3 +176,6 @@ /dev/uio0 0660 system system /dev/uio1 0660 system system /dev/uio2 0660 system system + +# ESOC devices +/dev/subsys_esoc* 0640 system radio From aff1c9dc1f1bf5583ab14f68949d84571f54f8e9 Mon Sep 17 00:00:00 2001 From: Valeri Atamaniouk Date: Mon, 16 Dec 2013 14:11:48 +0200 Subject: [PATCH 050/641] common: set security options for HS serial driver port HS serial driver is used on APQ8084 for QCA1530 SoC (GPS) communication. CRs-Fixed: 594889 Change-Id: I19b5a0903ee232f53577cec27d0b183bad0e0ab4 --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 801e9b920..bc253134b 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -140,6 +140,7 @@ /dev/smd3 0660 bluetooth net_bt_stack /dev/smd2 0660 bluetooth net_bt_stack /dev/ttyHSL1 0660 system system +/dev/ttyHS1 0660 system system /dev/mdm 0660 system radio /sys/devices/virtual/smdpkt/smdcntl* open_timeout 0664 radio radio /dev/sdio_tty_ciq_00 0660 system system From 777bf76b7c9e51109b661a6c819104b654c03215 Mon Sep 17 00:00:00 2001 From: Amir Vajid Date: Tue, 17 Dec 2013 15:43:53 -0800 Subject: [PATCH 051/641] post_boot: Set devfreq governor to cpubw_hwmon for 8974 Pro Remove line that enables krait bus dcvs and replace it with one that sets the devfreq governor to "cpubw_hwmon". Change-Id: Ie1b3e7ff232ff06232e1dbada2ab762c95196c2d --- rootdir/etc/init.qcom.post_boot.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1e9b2a729..6d06cad8c 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -277,7 +277,10 @@ case "$target" in fi case "$soc_id" in "208" | "211" | "214" | "217" | "209" | "212" | "215" | "218" | "194" | "210" | "213" | "216") - echo 1 > /sys/module/cpubw_krait/parameters/enable + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "cpubw_hwmon" > $devfreq_gov + done echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor From b5fd682c0cb660d56360370e52790365a9a57d74 Mon Sep 17 00:00:00 2001 From: Jack Pham Date: Thu, 2 Jan 2014 18:12:10 -0800 Subject: [PATCH 052/641] device: qcom: Add QDSS USB compositions for Fusion targets Add the following USB PID compositions, which support QDSS trace and debug interfaces along with both APQ/MSM and MDM Diag interfaces found on Fusion targets. * 0x9098: MSM DIAG + MDM DIAG + QDSS Trace + QDSS Debug + ADB * 0x9099: MSM DIAG + MDM DIAG + QDSS Trace + QDSS Debug * 0x909A: MSM DIAG + MDM DIAG + QDSS Trace + QDSS Debug + ADB + RmNet * 0x909B: MSM DIAG + MDM DIAG + QDSS Trace + QDSS Debug + RmNet As there is no user interface to enable QDSS, these must be manually selected using "setprop sys.usb.config" on the command line. CRs-Fixed: 591224 Change-Id: Id65f67634d52b080d072d382d8030f93802b4533 --- rootdir/etc/init.qcom.usb.rc | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index cf0728a90..7d3a77201 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -676,6 +676,25 @@ on property:sys.usb.config=diag,qdss,adb start adbd setprop sys.usb.state ${sys.usb.config} +on property:sys.usb.config=diag,diag_mdm,qdss + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9099 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/functions diag,qdss + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9098 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/functions diag,qdss,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + on property:sys.usb.config=diag,qdss,rmnet_bam write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 05C6 @@ -698,6 +717,28 @@ on property:sys.usb.config=diag,qdss,rmnet_bam,adb start adbd setprop sys.usb.state ${sys.usb.config} +on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_bam + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 909B + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,qdss,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_bam,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 909A + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet + write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + on property:sys.usb.config=rndis,diag,qdss write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 05C6 From 1bcc3c0c33f5e25d83b7fa83b4d73286845c5ee1 Mon Sep 17 00:00:00 2001 From: Xiaogang Cui Date: Mon, 14 Oct 2013 17:45:23 +0800 Subject: [PATCH 053/641] msm: common: Fix typo in cdrom iso build Fix typo in cdrom iso build. Change-Id: Ib35e20e7f2776d2cadf10b5517df3f4788c9af58 --- generate_extra_images.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 12bcb7b9b..805123ee2 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -134,7 +134,7 @@ define build-cdrom-target $(hide) mkisofs -o $(CDROM_ISO_TARGET) $(CDROM_RES_FILE) endef -$(CDROM_ISO_TAREGT): $(CDROM_RES_FILE) +$(CDROM_ISO_TARGET): $(CDROM_RES_FILE) $(build-cdrom-target) ALL_DEFAULT_INSTALLED_MODULES += $(CDROM_ISO_TARGET) From 627a221e67f3a4a20f05cb00d7b594752fe9ba4c Mon Sep 17 00:00:00 2001 From: Harout Hedeshian Date: Tue, 10 Dec 2013 10:21:27 -0700 Subject: [PATCH 054/641] COMMON: DSDA3 configuration added. Support for DSDA3 configuration is added. CRs-Fixed: 584122 Change-Id: Ic2acd00679366a40d8841fc22a0037ce55ab49cb --- rootdir/etc/init.class_main.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.class_main.sh b/rootdir/etc/init.class_main.sh index 54a8a8ccb..bb872de11 100755 --- a/rootdir/etc/init.class_main.sh +++ b/rootdir/etc/init.class_main.sh @@ -40,7 +40,7 @@ case "$baseband" in esac case "$baseband" in - "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown") + "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3") start qmuxd case "$baseband" in "svlte2a" | "csfb") From 4182828dba5f7f5edc01ec59f4b4c27a8c6f163d Mon Sep 17 00:00:00 2001 From: Ajay Dudani Date: Mon, 6 Jan 2014 12:33:23 -0800 Subject: [PATCH 055/641] Disable generating dt.img if TARGET_NO_KERNEL is defined as true TARGET_NO_KERNEL implies the kernel is not present/compiled with the rest of the build. In absence of a kernel, it does not make much sense to compile a device tree either. Make dt.img generation tied to TARGET_NO_KERNEL flag. Change-Id: Ie0421c7630f30c39019bebd63fd82fe52e11e982 --- generate_extra_images.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 12bcb7b9b..e8e1ffb09 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -81,6 +81,7 @@ endif #---------------------------------------------------------------------- # Generate device tree image (dt.img) #---------------------------------------------------------------------- +ifneq ($(strip $(TARGET_NO_KERNEL)),true) ifeq ($(strip $(BOARD_KERNEL_SEPARATED_DT)),true) ifeq ($(strip $(BUILD_TINY_ANDROID)),true) include device/qcom/common/dtbtool/Android.mk @@ -105,6 +106,7 @@ $(INSTALLED_DTIMAGE_TARGET): $(DTBTOOL) $(INSTALLED_KERNEL_TARGET) ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_DTIMAGE_TARGET) ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_DTIMAGE_TARGET) endif +endif #--------------------------------------------------------------------- # Generate usbdisk.img FAT32 image From f689b14c1d5688836038bbe9f0b1896a9b9a79f7 Mon Sep 17 00:00:00 2001 From: Kevin Tang Date: Mon, 23 Dec 2013 17:49:19 -0800 Subject: [PATCH 056/641] move location data files under /data/misc/location Different location daemons each has its own locations for data, pipe, or sockets files. Centralize them all under the same dir, namely /data/misc/location CRs-Fixed: 595946 Change-Id: I532e2b0b4bcd100bab600724a12a1e6ba9ebf119 --- rootdir/etc/init.qcom.rc | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d0c2b30de..1105138d4 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -213,16 +213,13 @@ on post-fs-data mkdir /data/system 0775 system system #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant - #Create directories for gpsone_daemon services - mkdir /data/misc/gpsone_d 0770 system gps - - #Create directories for QuIPS - mkdir /data/misc/quipc 0770 gps system - #Create directories for Location services mkdir /data/misc/location 0770 gps gps mkdir /data/misc/location/mq 0770 gps gps mkdir /data/misc/location/xtwifi 0770 gps gps + mkdir /data/misc/location/gpsone_d 0770 system gps + mkdir /data/misc/location/quipc 0770 gps system + mkdir /data/misc/location/gsiff 0770 gps gps #Create directory from IMS services mkdir /data/shared 0755 From c2140b83b8abc5d50eed533f34b3d6fb8dc084d5 Mon Sep 17 00:00:00 2001 From: Anurag Singh Date: Wed, 18 Dec 2013 18:24:14 -0800 Subject: [PATCH 057/641] power: vote to turn off io_is_busy for interactive governor If the interactive governor is being used, vote to turn off io_is_busy when video encode starts to reduce power consumption. Change-Id: I69738b989af3d6e0f1a708c21875b935b435cd91 --- power/performance.h | 5 +++++ power/power.c | 3 ++- rootdir/etc/init.qcom.post_boot.sh | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/power/performance.h b/power/performance.h index 3c09cf525..fb6c19fda 100755 --- a/power/performance.h +++ b/power/performance.h @@ -151,6 +151,11 @@ enum SCREEN_PWR_CLPS_LVL { enum THREAD_MIGRATION_LVL { THREAD_MIGRATION_SYNC_OFF = 0x1400, }; + +enum INTERACTIVE_IO_BUSY_LVL { + INTERACTIVE_IO_BUSY_OFF = 0x1B00, + INTERACTIVE_IO_BUSY_ON = 0x1B01, +}; #ifdef __cplusplus } #endif diff --git a/power/power.c b/power/power.c index 970a9d73e..721f74164 100644 --- a/power/power.c +++ b/power/power.c @@ -171,7 +171,8 @@ static void process_video_encode_hint(void *metadata) resource_values, sizeof(resource_values)/sizeof(resource_values[0])); } else if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { - int resource_values[] = {TR_MS_30, HISPEED_LOAD_90, HS_FREQ_1026, THREAD_MIGRATION_SYNC_OFF}; + int resource_values[] = {TR_MS_30, HISPEED_LOAD_90, HS_FREQ_1026, THREAD_MIGRATION_SYNC_OFF, + INTERACTIVE_IO_BUSY_OFF}; perform_hint_action(video_encode_metadata.hint_id, resource_values, sizeof(resource_values)/sizeof(resource_values[0])); diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1e9b2a729..93fcf0ed7 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -285,6 +285,7 @@ case "$target" in echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load echo 1497600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 1 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time echo 20 > /sys/module/cpu_boost/parameters/boost_ms From 24a9d1c4bd9229e897a2d61357610707e121f1a0 Mon Sep 17 00:00:00 2001 From: Sandeep Kunta Date: Fri, 3 Jan 2014 12:23:54 +0530 Subject: [PATCH 058/641] Enable config_speed_up_audio_on_mt_calls Set default value of config_speed_up_audio_on_mt_calls from 'false' to 'true'. CRs-Fixed:571380 Change-Id: Id76a34f3f3e841de6db957fb39ebe09c0da46198 --- overlay/frameworks/base/core/res/res/values/config.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index a15868eae..16330e2d3 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -193,4 +193,7 @@ com.qualcomm.location com.qualcomm.location + + true + From 4d85541c3bbf9299fb92a8739cb2b161c5cec751 Mon Sep 17 00:00:00 2001 From: Prasad Sodagudi Date: Fri, 27 Dec 2013 17:23:22 +0530 Subject: [PATCH 059/641] common: serial: Use persist.serial.enable to disable serial Set to persist.serial.enable false to disable the console. CRs-Fixed: 593761 Change-Id: Ib29ffde3c1daa43d854696a1de3d671b2e35b2ea --- rootdir/etc/init.qcom.class_core.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/rootdir/etc/init.qcom.class_core.sh b/rootdir/etc/init.qcom.class_core.sh index 0345bfc0b..501b27d43 100755 --- a/rootdir/etc/init.qcom.class_core.sh +++ b/rootdir/etc/init.qcom.class_core.sh @@ -169,6 +169,25 @@ case "$target" in ;; esac ;; + + "msm8610" | "msm8974" | "msm8226") + case "$serial" in + "0") + echo 0 > /sys/devices/f991f000.serial/console + ;; + "1") + echo 1 > /sys/devices/f991f000.serial/console + start console + ;; + *) + case "$dserial" in + "1") + start console + ;; + esac + ;; + esac + ;; *) case "$dserial" in "1") From 19d9ad80d267f1c4611952f7bdd3cde65d1a12e6 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Thu, 9 Jan 2014 17:57:44 -0800 Subject: [PATCH 060/641] init.qcom.rc: Start up qcom system daemon qcom-system-daemon is now started as a part of class main. Change-Id: If5fee24d1d2d6bfbe4c5dcc84c7ef5bd08cacaea --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 6e152e6a6..a879928d4 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -253,6 +253,9 @@ service usbhub_init /system/bin/usbhub_init disabled oneshot +service qcomsysd /system/bin/qcom-system-daemon + class main + on property:persist.radio.atfwd.start=false stop atfwd From 162b3cbe596f686d6b6f625501b39e80174bc313 Mon Sep 17 00:00:00 2001 From: Xiaogang Cui Date: Thu, 9 Jan 2014 19:52:52 +0800 Subject: [PATCH 061/641] qcom: common: Update cdrom build process The usb gadget mass_storage driver limit the min size of CDROM file. SHOULD larger than 300 Sectors. Each sector is 2KBytes. If the resouce file size fit the limitation of cdrom feature. Create cdrom_install.iso file dynamically at compiling time. If not, create a dummy file dynamically to increase the total size of cdrom_install.iso Change-Id: I49d08bad83b8debfb16fe011f350b3eed3d907cb --- generate_extra_images.mk | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 084c331a3..49c12e721 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -128,9 +128,18 @@ endif #---------------------------------------------------------------------- # Generate CDROM image #---------------------------------------------------------------------- -CDROM_RES_FILE = $(TARGET_DEVICE_DIR)/cdrom_res +CDROM_RES_FILE := $(TARGET_DEVICE_DIR)/cdrom_res ifneq ($(wildcard $(CDROM_RES_FILE)),) CDROM_ISO_TARGET := $(PRODUCT_OUT)/system/etc/cdrom_install.iso +CDROM_RES_SIZE := $(shell du -b $(CDROM_RES_FILE) | egrep -o '^[0-9]+') +#At least 300 sectors, 2048Bytes per Sector, set as 310 here +CDROM_MIN_SIZE := 634880 +CDROM_CAPACITY_IS_ENOUGH := $(shell expr $(CDROM_RES_SIZE) / $(CDROM_MIN_SIZE)) +ifeq ($(CDROM_CAPACITY_IS_ENOUGH),0) +CDROM_DUMMY_SIZE := $(shell expr $(CDROM_MIN_SIZE) - $(CDROM_RES_SIZE)) +CDROM_DUMMY_SIZE_KB := $(shell expr $(CDROM_DUMMY_SIZE) / 1024) +$(shell dd if=/dev/zero of=$(CDROM_RES_FILE)/zero.bin bs=1024 count=$(CDROM_DUMMY_SIZE_KB)) +endif define build-cdrom-target $(hide) mkisofs -o $(CDROM_ISO_TARGET) $(CDROM_RES_FILE) From 1731446096445d57243d15e2aa3b989eed5305ff Mon Sep 17 00:00:00 2001 From: Mahesh Sivasubramanian Date: Mon, 11 Nov 2013 16:21:35 -0700 Subject: [PATCH 062/641] init scripts changes to support new PM code A new Power management driver has been add a new module and the sysfs modules are no longer valid. Change-Id: Ice97d56d966fda46176a81736194ea33ee368c9f --- rootdir/etc/init.qcom.post_boot.sh | 170 +++++++++++++++-------------- 1 file changed, 88 insertions(+), 82 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 93fcf0ed7..b3678735e 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -61,14 +61,14 @@ case "$target" in echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_dig echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_mem echo 1 > /sys/module/rpm_resources/enable_low_power/rpm_cpu - 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/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/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_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/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/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/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate @@ -94,20 +94,20 @@ case "$target" in 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 - echo 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled - 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 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + 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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online @@ -249,23 +249,26 @@ case "$target" in 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 - 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/power_collapse/idle_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 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu3/retention/idle_enabled + 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/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online @@ -338,19 +341,19 @@ case "$target" in if [ "$soc_revision" != "1.0" ]; then echo 1 > /sys/module/lpm_resources/enable_low_power/pxo 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 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled + 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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online @@ -383,19 +386,19 @@ case "$target" in 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 - 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 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled + 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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online @@ -425,23 +428,26 @@ esac case "$target" in "apq8084") echo 4 > /sys/module/lpm_levels/enable_low_power/l2 - 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/power_collapse/idle_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 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu1/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu2/retention/idle_enabled - echo 1 > /sys/module/pm_8x60/modes/cpu3/retention/idle_enabled + 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/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online From a6f9f99f50f5bfeb63aaf3a83ff909c52d527b39 Mon Sep 17 00:00:00 2001 From: Girish S Ghongdemath Date: Wed, 27 Nov 2013 14:02:10 -0800 Subject: [PATCH 063/641] qcom: init.qcom.post_boot: 8084: Enable Interactive governor Enables Interactive governor and set the recommended parameteres for 8084 Change-Id: I1deb726805d1adb2b834ccffe6d1bb764a5f899e --- rootdir/etc/init.qcom.post_boot.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1e9b2a729..e8b669e6b 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -445,14 +445,18 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online - echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor - echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor - echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate - echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold - echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy - echo 2 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor + echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 1497600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 20 > /sys/module/cpu_boost/parameters/boost_ms + echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold + echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq From c3b8208861b19f2c016b3926f8f4eded69f592a4 Mon Sep 17 00:00:00 2001 From: Ming-yi Lin Date: Tue, 17 Dec 2013 21:36:01 +0800 Subject: [PATCH 064/641] init: qcom: Add init service for QCA6234 WLAN. The qca6234-service is used for the initialization setup needed for QCA6234 WLAN driver. Change-Id: Iec12c91bcbd6d62918a972b480ab5b792441cf64 --- common.mk | 1 + rootdir/Android.mk | 7 +++ rootdir/etc/qca6234-service.sh | 86 ++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) create mode 100644 rootdir/etc/qca6234-service.sh diff --git a/common.mk b/common.mk index 52861ddc5..8b9b99918 100644 --- a/common.mk +++ b/common.mk @@ -218,6 +218,7 @@ INIT += usf_post_boot.sh INIT += init.qcom.efs.sync.sh INIT += ueventd.qcom.rc INIT += init.ath3k.bt.sh +INIT += qca6234-service.sh INIT += init.qcom.audio.sh INIT += init.qcom.ssr.sh INIT += enable_swap.sh diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 3d6fc506a..13cd0cdf6 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -160,6 +160,13 @@ LOCAL_MODULE_CLASS := ETC LOCAL_SRC_FILES := etc/init.qcom.audio.sh include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := qca6234-service.sh +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/qca6234-service.sh +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := hcidump.sh LOCAL_MODULE_TAGS := optional eng diff --git a/rootdir/etc/qca6234-service.sh b/rootdir/etc/qca6234-service.sh new file mode 100644 index 000000000..8510eaaa9 --- /dev/null +++ b/rootdir/etc/qca6234-service.sh @@ -0,0 +1,86 @@ +#!/system/bin/sh +# Copyright (c) 2010-2014, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# Check whether device is plugged on the HSIC bus +# Currently HSIC bus will be the first index + +PATH=/sbin:/system/sbin:/system/bin:/system/xbin +export PATH + +deviceprop=`getprop ro.baseband` +boardprop=`getprop ro.board.platform` + +if [ -e /sys/bus/platform/drivers/msm_hsic_host ]; then + if [ ! -L /sys/bus/usb/devices/1-1 ]; then + echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind + fi + + chown -h system.system /sys/bus/platform/drivers/msm_hsic_host/bind + chown -h system.system /sys/bus/platform/drivers/msm_hsic_host/unbind + chmod -h 0200 /sys/bus/platform/drivers/msm_hsic_host/bind + chmod -h 0200 /sys/bus/platform/drivers/msm_hsic_host/unbind +fi + +wlanchip="" + +if [ "$deviceprop" == "apq" ] && [ "$boardprop" == "msm8974" ]; then + wlanchip="AR6004-USB" +fi + +# force ar6004 is ar6004_wlan.conf existed. +if [ -f /system/etc/firmware/ath6k/AR6004/ar6004_wlan.conf ]; then + wlanchip=`cat /system/etc/firmware/ath6k/AR6004/ar6004_wlan.conf` +fi + +echo "The WLAN Chip ID is $wlanchip" +if [ "$wlanchip" == "AR6004-USB" ]; then + echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind + setprop wlan.driver.ath 2 + setprop qcom.bluetooth.soc ath3k + setprop wlan.driver.name /system/lib/modules/ath6kl-3.5/ath6kl_usb.ko + setprop wlan.supp.template /system/etc/wifi/wpa_supplicant_ath6kl.conf + btsoc="ath3k" +elif [ "$wlanchip" == "AR6004-SDIO" ]; then + setprop wlan.driver.ath 2 + setprop qcom.bluetooth.soc ath3k + setprop wlan.driver.name /system/lib/modules/ath6kl-3.5/ath6kl_sdio.ko + setprop wlan.supp.template /system/etc/wifi/wpa_supplicant_ath6kl.conf + btsoc="ath3k" + + # Chown polling nodes as needed from UI running on system server + chmod -h 0200 /sys/devices/msm_sdcc.1/polling + chmod -h 0200 /sys/devices/msm_sdcc.2/polling + chmod -h 0200 /sys/devices/msm_sdcc.3/polling + chmod -h 0200 /sys/devices/msm_sdcc.4/polling + + chown -h system.system /sys/devices/msm_sdcc.1/polling + chown -h system.system /sys/devices/msm_sdcc.2/polling + chown -h system.system /sys/devices/msm_sdcc.3/polling + chown -h system.system /sys/devices/msm_sdcc.4/polling +fi + From 1c014d50f16b30e5aedd03d657f59a61a6668567 Mon Sep 17 00:00:00 2001 From: Pradeep Panigrahi Date: Sat, 11 Jan 2014 12:50:53 +0530 Subject: [PATCH 065/641] init: qcom: Setting Bluetooth soc property. In case of msm8974-apq, setting Bluetooth property as ath3k Change-Id: I4c9da7fc422d82b97b1dac353c33b1b1913fc826 --- init/init_msm.h | 2 ++ init/init_msm8974.c | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/init/init_msm.h b/init/init_msm.h index aacfa6fd4..2843c8e2c 100644 --- a/init/init_msm.h +++ b/init/init_msm.h @@ -35,6 +35,8 @@ #define PROP_HWROTATE "ro.sf.hwrotation" #define PROP_LCDDENSITY "ro.sf.lcd_density" #define PROP_QEMU_NAVKEY "qemu.hw.mainkeys" +#define PROP_BOOT_BASEBAND "ro.boot.baseband" +#define PROP_BLUETOOTH_SOC "qcom.bluetooth.soc" #define UNUSED(a) ((void)(a)) #define ISMATCH(a,b) (!strncmp(a,b,PROP_VALUE_MAX)) diff --git a/init/init_msm8974.c b/init/init_msm8974.c index 6173eff79..c8a806c7a 100644 --- a/init/init_msm8974.c +++ b/init/init_msm8974.c @@ -39,6 +39,7 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type) { char platform[PROP_VALUE_MAX]; + char baseband[PROP_VALUE_MAX]; int rc; UNUSED(msm_id); @@ -60,4 +61,9 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar else { property_set(PROP_LCDDENSITY, "320"); } + + rc = property_get(PROP_BOOT_BASEBAND, baseband); + if ((rc != NULL) && ISMATCH(baseband, "apq")) { + property_set(PROP_BLUETOOTH_SOC, "ath3k"); + } } From c82841c50439ac2a93dcecc637b9e302ed5fbd7b Mon Sep 17 00:00:00 2001 From: Mingming Yin Date: Fri, 3 Jan 2014 16:13:56 -0800 Subject: [PATCH 066/641] audio: enable camera shutter sound enforcement - set config_camera_sound_forced to true to force camera shutter sound playback on speaker Change-Id: I5d1bcaddb6810d81346d6235e92315b3aa325c8b CRs-Fixed: 591822 --- overlay/frameworks/base/core/res/res/values/config.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 16330e2d3..45758b785 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -1,5 +1,5 @@ - true + + true + From b3969bf582b183017e03848debec8148fc684b74 Mon Sep 17 00:00:00 2001 From: Mingming Yin Date: Mon, 30 Dec 2013 16:44:06 -0800 Subject: [PATCH 067/641] device/qcom/common: compile remote submix hal - Add default remote submix hal to product package to compile audio.r_submix.default.so Change-Id: Id47832d27b25486549f0d3f5526636ccc354b1d1 CRs-Fixed: 591189 --- common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/common.mk b/common.mk index 52861ddc5..ed4e62900 100644 --- a/common.mk +++ b/common.mk @@ -81,6 +81,7 @@ AUDIO_HARDWARE += audio.primary.msm7630_fusion #AUDIO_HARDWARE += audio.primary.default AUDIO_HARDWARE += audio.a2dp.default AUDIO_HARDWARE += audio.usb.default +AUDIO_HARDWARE += audio.r_submix.default AUDIO_HARDWARE += audio.primary.mpq8092 # AUDIO_POLICY := audio_policy.mpq8064 From 71afd5a177da9e60f1d64a8637a0f575ccb326a8 Mon Sep 17 00:00:00 2001 From: Shashank Mittal Date: Mon, 9 Dec 2013 15:15:21 -0800 Subject: [PATCH 068/641] qcom: Add plutonium target. Add plutonium target. Change-Id: Iee84fa00e9c0e862f6c1d3949e39c1ed9f3e26b7 --- common.mk | 1 + vendorsetup.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/common.mk b/common.mk index 8b9b99918..ffa606606 100644 --- a/common.mk +++ b/common.mk @@ -14,6 +14,7 @@ QCOM_BOARD_PLATFORMS += apq8084 QCOM_BOARD_PLATFORMS += mpq8092 QCOM_BOARD_PLATFORMS += msm_bronze QCOM_BOARD_PLATFORMS += msm8916 +QCOM_BOARD_PLATFORMS += plutonium MSM7K_BOARD_PLATFORMS := msm7630_surf MSM7K_BOARD_PLATFORMS += msm7630_fusion diff --git a/vendorsetup.sh b/vendorsetup.sh index ab8548bbe..373fefb85 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -39,3 +39,4 @@ add_lunch_combo apq8084-userdebug add_lunch_combo mpq8092-userdebug add_lunch_combo msm_bronze-userdebug add_lunch_combo msm8916-userdebug +add_lunch_combo plutonium-userdebug From 632de5921ba6a3b3b5245d804552ccbdc03f0f6b Mon Sep 17 00:00:00 2001 From: Amir Vajid Date: Thu, 9 Jan 2014 15:08:03 -0800 Subject: [PATCH 069/641] post_boot: set devfreq governor to cpubw_hwmon for 8084 System will boot up with static mapping governor, "msm_cpufreq". Change this to "cpubw_hwmon" to enable Krait Bus DCVS. Change-Id: I04b41e0acab7dcd1992f49145ee99217f85095d3 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 0c93cb5ec..48b8c2a61 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -446,6 +446,10 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "cpubw_hwmon" > $devfreq_gov + done echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "interactive" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo "interactive" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor From 5b339aae295bd65de4707f80ba8e79497f10fb83 Mon Sep 17 00:00:00 2001 From: Dilip Gudlur Date: Tue, 14 Jan 2014 15:34:46 -0800 Subject: [PATCH 070/641] power: keep two cores online when display is on This change is specific to 8084 and has been modeled based on 8974 pro changes. Use PerfLock to keep two cores online when the display is on. Change-Id: Iffea0f9afbb3743cec2804da5884ec6d977b662a --- power/power-8084.c | 114 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 power/power-8084.c diff --git a/power/power-8084.c b/power/power-8084.c new file mode 100644 index 000000000..e4aacb71e --- /dev/null +++ b/power/power-8084.c @@ -0,0 +1,114 @@ +/* + * Copyright (c) 2014, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#define LOG_NIDEBUG 0 + +#include +#include +#include +#include +#include +#include +#include + +#define LOG_TAG "QCOM PowerHAL" +#include +#include +#include + +#include "utils.h" +#include "metadata-defs.h" +#include "hint-data.h" +#include "performance.h" +#include "power-common.h" + +static int display_hint_sent; +static int display_hint2_sent; +static int first_display_off_hint; +extern int display_boost; + +int set_interactive_override(struct power_module *module, int on) +{ + char governor[80]; + + if (get_scaling_governor(governor, sizeof(governor)) == -1) { + ALOGE("Can't obtain scaling governor."); + + return HINT_NONE; + } + + if (!on) { + /* Display off. */ + /* + * We need to be able to identify the first display off hint + * and release the current lock holder + */ + if (display_boost) { + if (!first_display_off_hint) { + undo_initial_hint_action(); + first_display_off_hint = 1; + } + /* used for all subsequent toggles to the display */ + if (!display_hint2_sent) { + undo_hint_action(DISPLAY_STATE_HINT_ID_2); + display_hint2_sent = 1; + } + } + + if ((strncmp(governor, ONDEMAND_GOVERNOR, strlen(ONDEMAND_GOVERNOR)) == 0) && + (strlen(governor) == strlen(ONDEMAND_GOVERNOR))) { + int resource_values[] = {MS_500, SYNC_FREQ_600, OPTIMAL_FREQ_600, THREAD_MIGRATION_SYNC_OFF}; + + if (!display_hint_sent) { + perform_hint_action(DISPLAY_STATE_HINT_ID, + resource_values, sizeof(resource_values)/sizeof(resource_values[0])); + display_hint_sent = 1; + } + + return HINT_HANDLED; + } + } else { + /* Display on */ + if (display_boost && display_hint2_sent) { + int resource_values2[] = {CPUS_ONLINE_MIN_2}; + perform_hint_action(DISPLAY_STATE_HINT_ID_2, + resource_values2, sizeof(resource_values2)/sizeof(resource_values2[0])); + display_hint2_sent = 0; + } + + if ((strncmp(governor, ONDEMAND_GOVERNOR, strlen(ONDEMAND_GOVERNOR)) == 0) && + (strlen(governor) == strlen(ONDEMAND_GOVERNOR))) { + undo_hint_action(DISPLAY_STATE_HINT_ID); + display_hint_sent = 0; + + return HINT_HANDLED; + } + } + + return HINT_NONE; +} From 30c633275f21616d5fd9ee71bf3b73f655b7151c Mon Sep 17 00:00:00 2001 From: Jack Pham Date: Tue, 7 Jan 2014 18:16:33 -0800 Subject: [PATCH 071/641] qcom: usb: Use ESOC framework to determine MDM transport The kernel ESOC framework allows for querying of externally connected MDMs and connection type. Use this to support newer Fusion targets which may contain an MDM interconnected via HSIC, PCIe or a combination. Change-Id: Ic1ac6b7f61e24809db9cdd1e6f2619decf994385 --- rootdir/etc/init.qcom.usb.rc | 56 ++++++++++++++++++++++++++++++++++ rootdir/etc/init.qcom.usb.sh | 59 +++++++++++++++++++++++++++--------- 2 files changed, 101 insertions(+), 14 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index 7d3a77201..66418c74b 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -430,6 +430,62 @@ on property:sys.usb.config=diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmne write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} +# Fusion PCIe composition with diag_mdm and adb +# Serial & RmNet bridged in userspace with tty and qti/ether +on property:sys.usb.config=diag,diag_mdm,serial_tty,rmnet_qti_ether,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9035 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion PCIe composition with diag_mdm +# Serial & RmNet bridged in userspace with tty and qti/ether +on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_hsic,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9036 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +# Fusion HSIC/PCIe Hybrid composition with diag_mdm and adb +# RmNet is bridged over PCIe using qti,ether ctrl/data transports +on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_qti_ether,mass_storage,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9035 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports hsic + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +# Fusion HSIC/PCIe Hybrid composition with diag_mdm +# RmNet is bridged over PCIe using qti,ether ctrl/data transports +on property:sys.usb.config=diag,diag_mdm,serial_hsic,rmnet_hsic,mass_storage + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9036 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_serial/transports hsic + write /sys/class/android_usb/android0/f_serial/transport_names serial_hsic + write /sys/class/android_usb/android0/f_rmnet/transports qti,ether + write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + # Fusion 2.2 composition with diag_qsc and adb on property:sys.usb.config=diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage,adb write /sys/class/android_usb/android0/enable 0 diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index c5aa0c23c..457c1c081 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -80,6 +80,24 @@ case "$usbcurrentlimit" in ;; esac esac + +# +# Check ESOC for external MDM +# +# Note: currently only a single MDM is supported +# +if [ -d /sys/bus/esoc/devices ]; then +for f in /sys/bus/esoc/devices/*; do + if [ -d $f ]; then + esoc_name=`cat $f/esoc_name` + if [ "$esoc_name" = "MDM9x25" -o "$esoc_name" = "MDM9x35" ]; then + esoc_link=`cat $f/esoc_link` + break + fi + fi +done +fi + # # Allow USB enumeration with default PID/VID # @@ -88,24 +106,37 @@ echo 1 > /sys/class/android_usb/f_mass_storage/lun/nofua usb_config=`getprop persist.sys.usb.config` case "$usb_config" in "" | "adb") #USB persist config not set, select default configuration - case "$baseband" in - "mdm") - setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb - ;; - "mdm2") - setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb + case "$esoc_link" in + "HSIC") + setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb ;; - "sglte") - setprop persist.sys.usb.config diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage,adb + "HSIC+PCIe") + setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,rmnet_qti_ether,mass_storage,adb ;; - "dsda" | "sglte2") - setprop persist.sys.usb.config diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmnet_hsic,rmnet_hsuart,mass_storage,adb - ;; - "dsda2") - setprop persist.sys.usb.config diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb + "PCIe") + setprop persist.sys.usb.config diag,diag_mdm,serial_tty,rmnet_qti_ether,mass_storage,adb ;; *) - setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb + case "$baseband" in + "mdm") + setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb + ;; + "mdm2") + setprop persist.sys.usb.config diag,diag_mdm,serial_hsic,serial_tty,rmnet_hsic,mass_storage,adb + ;; + "sglte") + setprop persist.sys.usb.config diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmnet_hsuart,mass_storage,adb + ;; + "dsda" | "sglte2") + setprop persist.sys.usb.config diag,diag_mdm,diag_qsc,serial_hsic,serial_hsuart,rmnet_hsic,rmnet_hsuart,mass_storage,adb + ;; + "dsda2") + setprop persist.sys.usb.config diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb + ;; + *) + setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb + ;; + esac ;; esac ;; From f8ff6126c8ca37d05e5a23b39ae51f2cfe3abe1e Mon Sep 17 00:00:00 2001 From: Saket Saurabh Date: Mon, 13 Jan 2014 13:34:58 +0530 Subject: [PATCH 072/641] qcom: Add support for 8916 USB compositions 8916 USB compositions are supported by: 1.Product ID 0x9091 having DIAG, DUN, RMNET and ADB interfaces. 2.Product ID 0x9092 having DIAG, DUN, and RMNET interfaces. Change-Id: I0d2794e209e320fde675caf769eafc87549e645d --- rootdir/etc/init.qcom.usb.rc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index cf0728a90..f5380c9d8 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -110,6 +110,29 @@ on property:sys.usb.config=diag write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} +on property:sys.usb.config=diag,serial_smd,rmnet_bam,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9091 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,serial,rmnet,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_bam + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 9092 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/functions diag,serial,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 05C6 From 899c44aace4159529b554fd639007e226869f59c Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Wed, 4 Dec 2013 14:31:40 -0800 Subject: [PATCH 073/641] init.qcom.post_boot: Enabling cpu-boost and input boost for 8084 1. Enable thread migration notifiers from scheduler 2. Enable input boost with boost frequency as 1.49 GHz and boost duration of 40 ms Change-Id: Ic8443905bba658234a5ceaad775d2c5369153660 --- rootdir/etc/init.qcom.post_boot.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 8dc26c8c8..f51c3b734 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -461,6 +461,9 @@ case "$target" in echo 20 > /sys/module/cpu_boost/parameters/boost_ms echo 1728000 > /sys/module/cpu_boost/parameters/sync_threshold echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + echo 1497600 > /sys/module/cpu_boost/parameters/input_boost_freq + echo 40 > /sys/module/cpu_boost/parameters/input_boost_ms + echo 1 > /dev/cpuctl/apps/cpu.notify_on_migrate echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq From 14f858aa20f683018e518e6d45f581cc9249c359 Mon Sep 17 00:00:00 2001 From: Dilip Gudlur Date: Wed, 15 Jan 2014 14:24:45 -0800 Subject: [PATCH 074/641] power: Add apq8084 specific changes Added compilation flag for power-8084.c in makefile and detection of apq8084 soc id in power.c. Change-Id: I00e8e18f6de4ee7b38269e4bf565954db46148c5 --- power/Android.mk | 4 ++++ power/power.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/power/Android.mk b/power/Android.mk index fbf16d24d..a290ef067 100644 --- a/power/Android.mk +++ b/power/Android.mk @@ -23,6 +23,10 @@ ifeq ($(call is-board-platform-in-list, msm8610), true) LOCAL_SRC_FILES += power-8610.c endif +ifeq ($(call is-board-platform-in-list, apq8084), true) +LOCAL_SRC_FILES += power-8084.c +endif + ifeq ($(TARGET_USES_INTERACTION_BOOST),true) LOCAL_CFLAGS += -DINTERACTION_BOOST endif diff --git a/power/power.c b/power/power.c index 970a9d73e..19f8c7a68 100644 --- a/power/power.c +++ b/power/power.c @@ -74,7 +74,7 @@ static void power_init(struct power_module *module) ALOGW("Unable to read soc_id"); } else { int soc_id = atoi(buf); - if (soc_id == 194 || (soc_id >= 208 && soc_id <= 218)) { + if (soc_id == 194 || (soc_id >= 208 && soc_id <= 218) || soc_id == 178) { display_boost = 1; } } From d2e87e3061456663bb2a301cae16a48b5240f841 Mon Sep 17 00:00:00 2001 From: Amir Vajid Date: Thu, 16 Jan 2014 13:45:49 -0800 Subject: [PATCH 075/641] post_boot: modify hispeed_freq for 8974 pro The interactive governor is configured with a hispeed frequency of 1.5 GHz. This causes L2 to be bumped up to 1.5 GHz as well, which requires a turbo CX voltage and affects power. To save power when the hispeed frequency is triggered, change the hispeed frequency to 1.2 GHz, which has the highest L2 frequency that can be supported by a nominal CX voltage. Change-Id: I6742770b79e9d9e929766c1039a73da99b3a89fc --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1373bdf19..bf1f1f8b3 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -290,7 +290,7 @@ case "$target" in echo "interactive" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor echo "20000 1400000:40000 1700000:20000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 1497600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 1190400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo 1 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy echo "85 1500000:90 1800000:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads echo 40000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time From 5d47313f9376786e355cf4ee98475a8280d51ac3 Mon Sep 17 00:00:00 2001 From: guopingy Date: Fri, 3 Jan 2014 17:53:50 +0800 Subject: [PATCH 076/641] init.qcom.rc: change service fuse_sdcard to fuse_sdcard1 In vold, when do mount/unmount operation, it will start/stop fuse_##lablel service. In fstab.qcom, The lablel is "sdcard1". So the service name should be fuse_sdcard1. --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a879928d4..64e06235a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -700,7 +700,7 @@ service profiler_daemon /system/bin/profiler_daemon service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023 class late_start -service fuse_sdcard /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 +service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 class late_start # Binding fuse mount point to /storage/emulated/legacy From 8e06197ce0a5ae4e011b91a391c9e69cda5c15e8 Mon Sep 17 00:00:00 2001 From: Harout Hedeshian Date: Thu, 9 Jan 2014 13:29:28 -0700 Subject: [PATCH 077/641] init script: Start data services depending on configuration parameter Added service definition for QTI. Bootup script will now start the correct components to enable either embedded or RmNet tethered calls depending on the devices configuration CRs-Fixed: 598185 Change-Id: I6071fc720755cebf1e74ff954f7755ed18a8b4ab --- rootdir/etc/init.class_main.sh | 14 +++++++++----- rootdir/etc/init.qcom.rc | 6 +++++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/rootdir/etc/init.class_main.sh b/rootdir/etc/init.class_main.sh index bb872de11..77f1a5236 100755 --- a/rootdir/etc/init.class_main.sh +++ b/rootdir/etc/init.class_main.sh @@ -1,5 +1,5 @@ #!/system/bin/sh -# Copyright (c) 2013, The Linux Foundation. All rights reserved. +# Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -30,8 +30,8 @@ # start ril-daemon only for targets on which radio is present # baseband=`getprop ro.baseband` -netmgr=`getprop ro.use_data_netmgrd` sgltecsfb=`getprop persist.radio.sglte_csfb` +datamode=`getprop persist.data.mode` case "$baseband" in "apq") @@ -70,8 +70,12 @@ case "$baseband" in start ril-daemon2 fi - case "$netmgr" in - "true") - start netmgrd + case "$datamode" in + "tethered") + start qti + ;; + *) + start netmgrd + ;; esac esac diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a879928d4..8febd231b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -1,4 +1,4 @@ -# Copyright (c) 2009-2012, The Linux Foundation. All rights reserved. +# Copyright (c) 2009-2012, 2014, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -413,6 +413,10 @@ service netmgrd /system/bin/netmgrd class main disabled +service qti /system/vendor/bin/qti + class main + disabled + service sensors /system/bin/sensors.qcom class late_start user root From 6b63d39ad74ad065b06773c4c914ee5069c199b4 Mon Sep 17 00:00:00 2001 From: Dinesh K Garg Date: Mon, 20 Jan 2014 13:55:32 -0800 Subject: [PATCH 078/641] vold: HW based device encryption SW based device encryption uses SW crypto engine. This module provides the support for VOLD to utilize HW crypto engine. HW based crypto engine is more efficient both in terms of power and throughput. Change-Id: I34107a0ce50d9fc5c80c15ace0678a0bba7adee5 --- cryptfs_hw/Android.mk | 24 ++++++ cryptfs_hw/cryptfs_hw.c | 167 ++++++++++++++++++++++++++++++++++++++++ cryptfs_hw/cryptfs_hw.h | 43 +++++++++++ 3 files changed, 234 insertions(+) create mode 100644 cryptfs_hw/Android.mk create mode 100644 cryptfs_hw/cryptfs_hw.c create mode 100644 cryptfs_hw/cryptfs_hw.h diff --git a/cryptfs_hw/Android.mk b/cryptfs_hw/Android.mk new file mode 100644 index 000000000..29e78aa3c --- /dev/null +++ b/cryptfs_hw/Android.mk @@ -0,0 +1,24 @@ +ifeq ($(TARGET_HW_DISK_ENCRYPTION),true) +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +sourceFiles := \ + cryptfs_hw.c + +commonSharedLibraries := \ + libcutils \ + libutils \ + libdl + +LOCAL_C_INCLUDES := $(commonIncludes) +LOCAL_SRC_FILES := $(sourceFiles) + +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE:= libcryptfs_hw +LOCAL_SHARED_LIBRARIES := $(commonSharedLibraries) + +LOCAL_MODULE_OWNER := qcom +LOCAL_PROPRIETARY_MODULE := true + +include $(BUILD_SHARED_LIBRARY) +endif diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c new file mode 100644 index 000000000..16b614c7e --- /dev/null +++ b/cryptfs_hw/cryptfs_hw.c @@ -0,0 +1,167 @@ +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "cutils/log.h" +#include "cutils/android_reboot.h" + + +// MAX_PASSWORD_ATTEMPTS must not be changed as it is enforced by HW +#define MAX_PASSWORD_ATTEMPTS 50 +#define QSEECOM_DISK_ENCRYPTION 1 +#define MAX_PASSWORD_LEN 32 + +/* Operations that be performed on HW based device encryption key */ +#define SET_HW_DISK_ENC_KEY 1 +#define UPDATE_HW_DISK_ENC_KEY 2 + +static int password_attempts = 0; +static int loaded_library = 0; +static unsigned char current_passwd[MAX_PASSWORD_LEN]; +static int (*qseecom_create_key)(int, void*); +static int (*qseecom_update_key)(int, void*, void*); + +static unsigned char* get_tmp_passwd(const char* passwd) +{ + int passwd_len = 0; + unsigned char * tmp_passwd = NULL; + if(passwd) { + tmp_passwd = (unsigned char*)malloc(MAX_PASSWORD_LEN); + if(tmp_passwd) { + memset(tmp_passwd, 0, MAX_PASSWORD_LEN); + passwd_len = (strlen(passwd) > MAX_PASSWORD_LEN) ? MAX_PASSWORD_LEN : strlen(passwd); + memcpy(tmp_passwd, passwd, passwd_len); + } else { + SLOGE("%s: Failed to allocate memory for tmp passwd \n", __func__); + } + } else { + SLOGE("%s: Passed argument is NULL \n", __func__); + } + return tmp_passwd; +} + +static void wipe_userdata() +{ + mkdir("/cache/recovery", 0700); + int fd = open("/cache/recovery/command", O_RDWR|O_CREAT|O_TRUNC, 0600); + if (fd >= 0) { + write(fd, "--wipe_data", strlen("--wipe_data") + 1); + close(fd); + } else { + SLOGE("could not open /cache/recovery/command\n"); + } + android_reboot(ANDROID_RB_RESTART2, 0, "recovery"); +} + +static int load_qseecom_library() +{ + const char *error = NULL; + if (loaded_library) + return loaded_library; + + void * handle = dlopen("/vendor/lib/libQSEEComAPI.so", RTLD_NOW); + if(handle) { + dlerror(); /* Clear any existing error */ + *(void **) (&qseecom_create_key) = dlsym(handle,"QSEECom_create_key"); + + if((error = dlerror()) == NULL) { + SLOGD("Success loading QSEECom_create_key \n"); + *(void **) (&qseecom_update_key) = dlsym(handle,"QSEECom_update_key_user_info"); + if ((error = dlerror()) == NULL) + loaded_library = 1; + else + SLOGE("Error %s loading symbols for QSEECom APIs \n", error); + } + } else { + SLOGE("Could not load libQSEEComAPI.so \n"); + } + + if(error) + dlclose(handle); + + return loaded_library; +} + +static int set_key(const char* passwd, const char* enc_mode, int operation) +{ + int ret = 0; + int err = -1; + if (is_hw_disk_encryption(enc_mode) && load_qseecom_library()) { + unsigned char* tmp_passwd = get_tmp_passwd(passwd); + if(tmp_passwd) { + + if (operation == UPDATE_HW_DISK_ENC_KEY) + err = qseecom_update_key(QSEECOM_DISK_ENCRYPTION, current_passwd, tmp_passwd); + else if (operation == SET_HW_DISK_ENC_KEY) + err = (*qseecom_create_key)(QSEECOM_DISK_ENCRYPTION, tmp_passwd); + + if(!err) { + memset(current_passwd, 0, MAX_PASSWORD_LEN); + memcpy(current_passwd, tmp_passwd, MAX_PASSWORD_LEN); + password_attempts = 0; + ret = 1; + } else { + if(++password_attempts >= MAX_PASSWORD_ATTEMPTS) + wipe_userdata(); + } + SLOGD("Password attempt = %d", password_attempts); + free(tmp_passwd); + } + } + return ret; +} + +int set_hw_device_encryption_key(const char* passwd, const char* enc_mode) +{ + return set_key(passwd, enc_mode, SET_HW_DISK_ENC_KEY); +} + +int update_hw_device_encryption_key(const char* newpw, const char* enc_mode) +{ + + return set_key(newpw, enc_mode, UPDATE_HW_DISK_ENC_KEY); +} + +int is_hw_disk_encryption(const char* encryption_mode) +{ + int ret = 0; + if(encryption_mode) { + if (!strcmp(encryption_mode, "aes-xts")) { + SLOGD("HW based disk encryption is enabled \n"); + ret = 1; + } + } + return ret; +} diff --git a/cryptfs_hw/cryptfs_hw.h b/cryptfs_hw/cryptfs_hw.h new file mode 100644 index 000000000..7732bff05 --- /dev/null +++ b/cryptfs_hw/cryptfs_hw.h @@ -0,0 +1,43 @@ +/* Copyright (c) 2014, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __CRYPTFS_HW_H_ +#define __CRYPTFS_HW_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +int set_hw_device_encryption_key(const char*, const char*); +int update_hw_device_encryption_key(const char*, const char*); +int is_hw_disk_encryption(const char*); + +#ifdef __cplusplus +} +#endif +#endif From 4b50252ff21ac4eaa9443161f47208fd76bc0bad Mon Sep 17 00:00:00 2001 From: Sujeet Kumar Date: Wed, 22 Jan 2014 11:20:21 +0530 Subject: [PATCH 079/641] init.qcom.usb: Add support for rom lun creation and composition This change writes to mass storage lun sysfs entry to rom LUNs for 8x26 and 8x10 platforms. With this, lun0 for cdrom is created. CRs-Fixed: 526542 Change-Id: Ieda5306f5b767a1d7ec033e33308cd519b0a3f93 --- rootdir/etc/init.qcom.usb.rc | 4 +++ rootdir/etc/init.qcom.usb.sh | 57 +++++++++++++++++++++++------------- 2 files changed, 41 insertions(+), 20 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index 66418c74b..41d29861c 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -118,6 +118,7 @@ on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb write /sys/class/android_usb/android0/f_serial/transports smd,tty write /sys/class/android_usb/android0/f_rmnet/transports smd,bam write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/f_mass_storage/luns ${persist.sys.usb.luns} write /sys/class/android_usb/android0/enable 1 start adbd setprop sys.usb.state ${sys.usb.config} @@ -142,6 +143,7 @@ on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage write /sys/class/android_usb/android0/f_serial/transports smd,tty write /sys/class/android_usb/android0/f_rmnet/transports smd,bam write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage + write /sys/class/android_usb/android0/f_mass_storage/luns ${persist.sys.usb.luns} write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} @@ -247,6 +249,7 @@ on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage,adb write /sys/class/android_usb/android0/f_diag/clients diag write /sys/class/android_usb/android0/f_serial/transports tty,tty write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/f_mass_storage/luns ${persist.sys.usb.luns} write /sys/class/android_usb/android0/enable 1 start adbd start port-bridge @@ -271,6 +274,7 @@ on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage write /sys/class/android_usb/android0/f_diag/clients diag write /sys/class/android_usb/android0/f_serial/transports tty,tty write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage + write /sys/class/android_usb/android0/f_mass_storage/luns ${persist.sys.usb.luns} write /sys/class/android_usb/android0/enable 1 start port-bridge setprop sys.usb.state ${sys.usb.config} diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 457c1c081..55625b223 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -98,6 +98,23 @@ for f in /sys/bus/esoc/devices/*; do done fi +target=`getprop ro.product.device` +cdromenable=`getprop persist.service.cdrom.enable` +create_luns() { + case "$1" in + "msm8226" | "msm8610") + case "$2" in + 0) + setprop persist.sys.usb.luns "" + ;; + 1) + setprop persist.sys.usb.luns rom + ;; + esac + ;; + esac +} + # # Allow USB enumeration with default PID/VID # @@ -134,6 +151,7 @@ case "$usb_config" in setprop persist.sys.usb.config diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb ;; *) + create_luns $target $cdromenable setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb ;; esac @@ -143,26 +161,6 @@ case "$usb_config" in * ) ;; #USB persist config exists, do nothing esac -# -# Add support for exposing lun0 as cdrom in mass-storage -# -target=`getprop ro.product.device` -cdromname="/system/etc/cdrom_install.iso" -cdromenable=`getprop persist.service.cdrom.enable` -case "$target" in - "msm8226" | "msm8610") - case "$cdromenable" in - 0) - echo "" > /sys/class/android_usb/android0/f_mass_storage/lun0/file - ;; - 1) - echo "mounting usbcdrom lun" - echo $cdromname > /sys/class/android_usb/android0/f_mass_storage/lun0/file - ;; - esac - ;; -esac - # # Do target specific things # @@ -227,3 +225,22 @@ case "$baseband" in chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait ;; esac + +# +# Add support for exposing lun0 as cdrom in mass-storage +# +cdromname="/system/etc/cdrom_install.iso" +case "$target" in + "msm8226" | "msm8610") + case "$cdromenable" in + 1) + echo "mounting usbcdrom lun" + if [ ! -f /sys/class/android_usb/android0/f_mass_storage/lun0/file ]; then + sleep 2 # cdrom lun still not created. give some time. + fi + echo $cdromname > /sys/class/android_usb/android0/f_mass_storage/lun0/file + chmod 0444 /sys/class/android_usb/android0/f_mass_storage/lun0/file + ;; + esac + ;; +esac From 47bbb955c844e04bce8f539e4157ca84dedd4cdd Mon Sep 17 00:00:00 2001 From: Pawan Kumar Nimmagadda Date: Sun, 26 Jan 2014 22:03:38 -0800 Subject: [PATCH 080/641] init.qcom.post_boot: Include Low power modes for MPQ8092 Enable Low power modes in MPQ8092 Change-Id: I49a0297e00701d9263d4cedc9dd9cfdd01f1086f --- rootdir/etc/init.qcom.post_boot.sh | 54 +++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index bf1f1f8b3..a212c5ffb 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -492,6 +492,58 @@ case "$target" in ;; esac +case "$target" in + "mpq8092") + echo 4 > /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/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu0/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/retention/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/retention/idle_enabled + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor + echo "ondemand" > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor + echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate + echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold + echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy + echo 300000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq + echo 300000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq + echo 1 > /sys/module/msm_thermal/core_control/enabled + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chown -h system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + chown -h root.system /sys/devices/system/cpu/mfreq + chmod -h 220 /sys/devices/system/cpu/mfreq + chown -h root.system /sys/devices/system/cpu/cpu1/online + chown -h root.system /sys/devices/system/cpu/cpu2/online + chown -h root.system /sys/devices/system/cpu/cpu3/online + chmod -h 664 /sys/devices/system/cpu/cpu1/online + chmod -h 664 /sys/devices/system/cpu/cpu2/online + chmod -h 664 /sys/devices/system/cpu/cpu3/online + ;; +esac + case "$target" in "msm7627_ffa" | "msm7627_surf" | "msm7627_6x") echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate @@ -535,7 +587,7 @@ esac # Post-setup services case "$target" in - "msm8660" | "msm8960" | "msm8226" | "msm8610") + "msm8660" | "msm8960" | "msm8226" | "msm8610" | "mpq8092") start mpdecision ;; "msm8974") From 0f3c01f4a6f0dbc13a1a3bd75fe913ed818f0330 Mon Sep 17 00:00:00 2001 From: Jack Lu Date: Thu, 23 Jan 2014 20:26:50 -0500 Subject: [PATCH 081/641] Push Vidpp OMX component library to system image Vidpp OMX component library needs to be pushed to system image for third party to pick it up from meta build. Change-Id: I4844c5f1a65888e3e52288aadf8ebcbad3f6947c --- common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/common.mk b/common.mk index 0db07276e..d3dee7e67 100644 --- a/common.mk +++ b/common.mk @@ -430,6 +430,7 @@ MM_VIDEO += libdivxdrmdecrypt MM_VIDEO += liblasic MM_VIDEO += libOmxVdec MM_VIDEO += libOmxVdecHevc +MM_VIDEO += libOmxVdpp MM_VIDEO += libOmxVenc MM_VIDEO += libOmxVidEnc MM_VIDEO += libstagefrighthw From 90da91dc82303749a9cf502168a9d0eb4806832b Mon Sep 17 00:00:00 2001 From: Sukanya Rajkhowa Date: Thu, 16 Jan 2014 19:56:33 -0800 Subject: [PATCH 082/641] Support Cell Broadcast for India Add config options for supporting channel 50 and 60 cell broadcasts for India Change-Id: Iee43e2c2ce4936fbbe200021c133449de126e885 CRs-Fixed: 576013 --- .../packages/apps/CellBroadcastReceiver/res/values/config.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml b/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml index 74a7c9d04..34d2221e1 100644 --- a/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml +++ b/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml @@ -24,4 +24,6 @@ true true + + true From b9781c46e6ea06b6d4a9974a57d016e7f4f25536 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Mon, 27 Jan 2014 15:10:23 -0800 Subject: [PATCH 083/641] init.qcom.rc: Add a message at the end of the android boot We now print a message in the kernel logs when android boot is complete. Change-Id: Ib7fb7afad30345286943be215b016e08b088d6a5 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 64e06235a..a0fb4f0d0 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -256,6 +256,9 @@ service usbhub_init /system/bin/usbhub_init service qcomsysd /system/bin/qcom-system-daemon class main +on property:sys.boot_completed=1 + write /dev/kmsg "Boot completed " + on property:persist.radio.atfwd.start=false stop atfwd From cc584c790ff37bcf5c3a827b6817b9f0f9ecc731 Mon Sep 17 00:00:00 2001 From: Naresh Tanniru Date: Thu, 30 Jan 2014 18:17:48 +0530 Subject: [PATCH 084/641] Audio: Bear family(8916) audio HAL bringup changes - Added AUDIO_HARDWARE property to build audio.primary.msm8916 library for 8916 targets Added AUDIO_POLICY property to build audio_policy.msm8916 library for 8916 targets Change-Id: Ib4b8ed1791f1cccd7f751c458e4f9cba81cab4fa --- common.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/common.mk b/common.mk index 0db07276e..3adbe653d 100644 --- a/common.mk +++ b/common.mk @@ -84,6 +84,7 @@ AUDIO_HARDWARE += audio.a2dp.default AUDIO_HARDWARE += audio.usb.default AUDIO_HARDWARE += audio.r_submix.default AUDIO_HARDWARE += audio.primary.mpq8092 +AUDIO_HARDWARE += audio.primary.msm8916 # AUDIO_POLICY := audio_policy.mpq8064 AUDIO_POLICY += audio_policy.apq8084 @@ -100,6 +101,7 @@ AUDIO_POLICY += audio_policy.msm7630_fusion #AUDIO_POLICY += audio_policy.default AUDIO_POLICY += audio_policy.conf AUDIO_POLICY += audio_policy_8064.conf +AUDIO_POLICY += audio_policy.msm8916 #tinyalsa test apps TINY_ALSA_TEST_APPS := tinyplay From 5bcae2345e19b3af5dcbcb34f8c68646d86d4a2a Mon Sep 17 00:00:00 2001 From: Yashdev Singh Date: Mon, 27 Jan 2014 15:48:08 -0800 Subject: [PATCH 085/641] Telephony: Implementation of IWLAN. -- Add feature flag config_feature_iwlan_available. CRs-Fixed: 600118 Change-Id: Iaae1b78fc593e19b5ba055aa340f0fc78595b63d --- overlay/frameworks/base/core/res/res/values/config.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 45758b785..79082f195 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -199,4 +199,7 @@ true + + true + From ce6d16fac8b02117cb8f427c36e5242dfe57a789 Mon Sep 17 00:00:00 2001 From: Tushar Janefalkar Date: Wed, 15 Jan 2014 11:48:43 -0800 Subject: [PATCH 086/641] Remove location related processes from init scripts The native proceses that are used by location features have been moved from the init scripts and will now be launched from a native launcher processes. This launcher process will be started from init.rc Change-Id: I00101fcdff61824c31fd9510bc6202cb943dcd8c CRs-fixed: 600179 --- rootdir/etc/init.qcom.rc | 43 +++--------------------------- rootdir/etc/init.qcom.sh | 57 ---------------------------------------- 2 files changed, 3 insertions(+), 97 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 61f5da4d4..26e37beb7 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -549,47 +549,10 @@ service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG disabled oneshot -service gpsone_daemon /system/bin/gpsone_daemon +service loc_launcher /system/bin/loc_launcher + #loc_launcher will start as root and set its uid to gps class late_start - user gps - group gps inet net_raw - disabled - -service quipc_igsn /system/bin/quipc_igsn - class late_start - user gps - group inet gps qcom_diag - disabled - -service quipc_main /system/bin/quipc_main - class late_start - user gps - group gps net_admin wifi inet qcom_diag - disabled - -service location_mq /system/bin/location-mq - class late_start - user gps - group gps - disabled - -service xtwifi_inet /system/bin/xtwifi-inet-agent - class late_start - user gps - group inet gps - disabled - -service xtwifi_client /system/bin/xtwifi-client - class late_start - user gps - group net_admin wifi inet gps - disabled - -service lowi-server /system/bin/lowi-server - class late_start - user gps - group gps net_admin wifi inet qcom_diag - disabled + group gps qcom_oncrpc inet net_raw qcom_diag net_admin wifi service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh class late_start diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 16d699c8e..d3f8cc144 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -84,9 +84,6 @@ start_charger_monitor() } baseband=`getprop ro.baseband` -izat_premium_enablement=`getprop ro.qc.sdk.izat.premium_enabled` -izat_service_mask=`getprop ro.qc.sdk.izat.service_mask` - # # Suppress default route installation during RA for IPV6; user space will take # care of this @@ -97,66 +94,12 @@ do done echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr -# -# Start gpsone_daemon for SVLTE Type I & II devices -# - -# platform id 126 is for MSM8974 -case "$platformid" in - "126") - start gpsone_daemon -esac -case "$target" in - "msm7630_fusion") - start gpsone_daemon -esac case "$baseband" in "svlte2a") - start gpsone_daemon start bridgemgrd ;; - "sglte" | "sglte2") - start gpsone_daemon - ;; esac -let "izat_service_gtp_wifi=$izat_service_mask & 2#1" -let "izat_service_gtp_wwan_lite=($izat_service_mask & 2#10)>>1" -let "izat_service_pip=($izat_service_mask & 2#100)>>2" - -if [ "$izat_premium_enablement" -ne 1 ]; then - if [ "$izat_service_gtp_wifi" -ne 0 ]; then -# GTP WIFI bit shall be masked by the premium service flag - let "izat_service_gtp_wifi=0" - fi -fi - -if [ "$izat_service_gtp_wwan_lite" -ne 0 ] || - [ "$izat_service_gtp_wifi" -ne 0 ] || - [ "$izat_service_pip" -ne 0 ]; then -# OS Agent would also be started under the same condition - start location_mq -fi - -if [ "$izat_service_gtp_wwan_lite" -ne 0 ] || - [ "$izat_service_gtp_wifi" -ne 0 ]; then -# start GTP services shared by WiFi and WWAN Lite - start xtwifi_inet - start xtwifi_client -fi - -if [ "$izat_service_gtp_wifi" -ne 0 ] || - [ "$izat_service_pip" -ne 0 ]; then -# advanced WiFi scan service shared by WiFi and PIP - start lowi-server -fi - -if [ "$izat_service_pip" -ne 0 ]; then -# PIP services - start quipc_main - start quipc_igsn -fi - start_sensors case "$target" in From 60bf422f439d592bae0c67a5fdd60adafba58fdc Mon Sep 17 00:00:00 2001 From: Dinesh K Garg Date: Mon, 3 Feb 2014 14:03:33 -0800 Subject: [PATCH 087/641] Place library in vendor folder on device All vendors developed libraries must be in vendor folder on device. Using appropriate directive to accomplish the objective. Change-Id: I4ed413b799c0b66a86321f799713068776fa538a --- cryptfs_hw/Android.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cryptfs_hw/Android.mk b/cryptfs_hw/Android.mk index 29e78aa3c..69ace0d2b 100644 --- a/cryptfs_hw/Android.mk +++ b/cryptfs_hw/Android.mk @@ -2,6 +2,8 @@ ifeq ($(TARGET_HW_DISK_ENCRYPTION),true) LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_SHARED_LIBRARIES) + sourceFiles := \ cryptfs_hw.c @@ -18,7 +20,6 @@ LOCAL_MODULE:= libcryptfs_hw LOCAL_SHARED_LIBRARIES := $(commonSharedLibraries) LOCAL_MODULE_OWNER := qcom -LOCAL_PROPRIETARY_MODULE := true include $(BUILD_SHARED_LIBRARY) endif From 4a3f6b23b640ada52f883e30251509a8361312df Mon Sep 17 00:00:00 2001 From: David Ng Date: Wed, 11 Dec 2013 12:29:39 -0800 Subject: [PATCH 088/641] build: Generalize kernel DTB path and optionally disable DLKM Use $TARGET_KERNEL_ARCH to specify the architecture-dependent path location of the DTB files. Also, optionally disable compilation of DLKM based on TARGET_KERNEL_DLKM_DISABLE flag. Change-Id: I302f407d987e1b33acb0e47b284a1cb793747691 --- dlkm/AndroidKernelModule.mk | 7 ++++++- generate_extra_images.mk | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/dlkm/AndroidKernelModule.mk b/dlkm/AndroidKernelModule.mk index cf6911d5a..2f86e81db 100644 --- a/dlkm/AndroidKernelModule.mk +++ b/dlkm/AndroidKernelModule.mk @@ -1,3 +1,7 @@ +ifeq ($(TARGET_KERNEL_DLKM_DISABLE),true) +$(warning DLKM '$(LOCAL_MODULE)' disabled for target) +else + # Assign external kernel modules to the DLKM class LOCAL_MODULE_CLASS := DLKM @@ -118,7 +122,7 @@ $(KBUILD_TARGET): kbuild_options := $(KBUILD_OPTIONS) $(KBUILD_TARGET): $(TARGET_PREBUILT_INT_KERNEL) @mkdir -p $(kbuild_out_dir) $(hide) cp -f $(local_path)/Kbuild $(kbuild_out_dir)/Kbuild - $(MAKE) -C kernel M=../$(local_path) O=../$(KERNEL_OUT) ARCH=arm CROSS_COMPILE=arm-eabi- modules $(kbuild_options) + $(MAKE) -C kernel M=../$(local_path) O=../$(KERNEL_OUT) ARCH=$(KERNEL_ARCH) CROSS_COMPILE=$(KERNEL_CROSS_COMPILE) modules $(kbuild_options) # Once the KBUILD_OPTIONS variable has been used for the target # that's specific to the LOCAL_PATH, clear it. If this isn't done, @@ -127,3 +131,4 @@ $(KBUILD_TARGET): $(TARGET_PREBUILT_INT_KERNEL) # which would require a change to build/core. KBUILD_OPTIONS := endif +endif diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 49c12e721..6f9940dcb 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -91,7 +91,7 @@ DTBTOOL := $(HOST_OUT_EXECUTABLES)/dtbTool$(HOST_EXECUTABLE_SUFFIX) INSTALLED_DTIMAGE_TARGET := $(PRODUCT_OUT)/dt.img -possible_dtb_dirs = $(KERNEL_OUT)/arch/arm/boot/dts/ $(KERNEL_OUT)/arch/arm/boot/ +possible_dtb_dirs = $(KERNEL_OUT)/arch/$(TARGET_KERNEL_ARCH)/boot/dts/ $(KERNEL_OUT)/arch/arm/boot/dts/ $(KERNEL_OUT)/arch/arm/boot/ dtb_dir = $(firstword $(wildcard $(possible_dtb_dirs))) define build-dtimage-target From 50ef660ff163f0917d8fc9e17e609516972d6955 Mon Sep 17 00:00:00 2001 From: Surajit Podder Date: Tue, 4 Feb 2014 09:49:57 +0530 Subject: [PATCH 089/641] Modify init.qcom.rc to create /data/misc/dash needed by MM/DASH client This change persists bandwidth history across DASH Sessions to use for representation selection at DASH session startup Change-Id: I542fbedc2dbece2fd03e90f7bce5987713efa635 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 61f5da4d4..4718b7f14 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -195,6 +195,9 @@ on post-fs-data # Create directory used by audio subsystem mkdir /data/misc/audio 0770 audio audio + # Create directory used by the DASH client + mkdir /data/misc/dash 0770 media audio + # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections # We chown/chmod /persist again so because mount is run as root + defaults chown system system /persist From bf670616d5e01b632981246359e349e6ef4f0a93 Mon Sep 17 00:00:00 2001 From: Aparna Das Date: Wed, 29 Jan 2014 10:48:11 -0800 Subject: [PATCH 090/641] build: selectively enable DLKM For 64-bit kernel and 32-bit Android userspace all DLKM with source outside of the kernel source tree are disabled. Support compilation of DLKMs selectively. Change-Id: I3f2dd9a65d0dd9f755f6610d72a562648ac92daf --- dlkm/AndroidKernelModule.mk | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/dlkm/AndroidKernelModule.mk b/dlkm/AndroidKernelModule.mk index 2f86e81db..779046e4c 100644 --- a/dlkm/AndroidKernelModule.mk +++ b/dlkm/AndroidKernelModule.mk @@ -1,4 +1,13 @@ -ifeq ($(TARGET_KERNEL_DLKM_DISABLE),true) +DISABLE_THIS_DLKM := $(strip $(TARGET_KERNEL_DLKM_DISABLE)) + +ifeq ($(DISABLE_THIS_DLKM),true) +ifneq (,$(filter $(LOCAL_MODULE),$(TARGET_KERNEL_DLKM_OVERRIDE))) + DISABLE_THIS_DLKM = false +else +endif +endif + +ifeq ($(DISABLE_THIS_DLKM),true) $(warning DLKM '$(LOCAL_MODULE)' disabled for target) else From 1d6fc81ca391f68d4a9d2d55e1b596880b2dce9d Mon Sep 17 00:00:00 2001 From: Aravind Venkateswaran Date: Tue, 4 Feb 2014 12:35:02 -0800 Subject: [PATCH 091/641] init: Set DPI property based on platform subtype ID There is a need to support panels of different resolutions on msm8926. In such scenarios, the platform subtype ID is used to uniquely identify such panels. Use this ID to correctly configure the device property for the DPI setting. Change-Id: If2d7c3cb2a528e9fe6780116ea1ceb278eba138d --- init/init_msm.c | 4 ++-- init/init_msm.h | 3 ++- init/init_msm8226.c | 28 ++++++++++++++++++++++++++-- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/init/init_msm.c b/init/init_msm.c index 6ee196bb1..5559d28b9 100644 --- a/init/init_msm.c +++ b/init/init_msm.c @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, The Linux Foundation. All rights reserved. + Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -71,7 +71,7 @@ void init_msm_properties(unsigned long soc, unsigned long socrev, char *board) UNUSED(board); } -static int read_file2(const char *fname, char *data, int max_size) +int read_file2(const char *fname, char *data, int max_size) { int fd, rc; diff --git a/init/init_msm.h b/init/init_msm.h index 2843c8e2c..24e02aade 100644 --- a/init/init_msm.h +++ b/init/init_msm.h @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, The Linux Foundation. All rights reserved. + Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -42,5 +42,6 @@ #define ISMATCH(a,b) (!strncmp(a,b,PROP_VALUE_MAX)) void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type); +int read_file2(const char *fname, char *data, int max_size); #endif /* __INIT_MSM__H__ */ diff --git a/init/init_msm8226.c b/init/init_msm8226.c index 32a9ce040..a8bf341af 100644 --- a/init/init_msm8226.c +++ b/init/init_msm8226.c @@ -1,5 +1,5 @@ /* - Copyright (c) 2013, The Linux Foundation. All rights reserved. + Copyright (c) 2013-2014, The Linux Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -36,10 +36,23 @@ #include "init_msm.h" +#define SUBTYPE_ID_PATH1 "/sys/devices/soc0/platform_subtype_id" +#define SUBTYPE_ID_PATH2 "/sys/devices/system/soc/soc0/platform_subtype_id" +#define BUF_SIZE 64 + +enum { + PLATFORM_SUBTYPE_720p = 0x0, + PLATFORM_SUBTYPE_1080p = 0x2, + PLATFORM_SUBTYPE_1080p_EXT_BUCK = 0x3, + PLATFORM_SUBTYPE_INVALID, +}; + void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type) { char platform[PROP_VALUE_MAX]; int rc; + unsigned long subtype = PLATFORM_SUBTYPE_720p; + char tmp[BUF_SIZE]; UNUSED(msm_id); UNUSED(msm_ver); @@ -49,5 +62,16 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar if (!rc || !ISMATCH(platform, ANDROID_TARGET)) return; - property_set(PROP_LCDDENSITY, "320"); + rc = read_file2(SUBTYPE_ID_PATH1, tmp, sizeof(tmp)); + if (!rc) { + rc = read_file2(SUBTYPE_ID_PATH2, tmp, sizeof(tmp)); + } + if (rc) { + subtype = strtoul(tmp, NULL, 0); + } + + if ((subtype == PLATFORM_SUBTYPE_1080p) || (subtype == PLATFORM_SUBTYPE_1080p_EXT_BUCK)) + property_set(PROP_LCDDENSITY, "480"); + else + property_set(PROP_LCDDENSITY, "320"); } From 68184e3a0c33cee0cc8fbbb6992899d0df5638e0 Mon Sep 17 00:00:00 2001 From: Leo Chang Date: Sun, 15 Dec 2013 14:34:04 -0800 Subject: [PATCH 092/641] wlan: start ftm daemon during startup in FFBM mode In FFBM mode, start the ftmdaemon service for the factory test mode. This will allow to perform FTM tests without having to manually start the ftmdaemon from adb shell. Change-Id: If0fa66c7fb0d86309677aa2e0c5938a5c6b07de3 CRs-Fixed: 589906 --- rootdir/etc/init.qcom.factory.sh | 1 + rootdir/etc/init.qcom.rc | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index 77e531a25..e127a666d 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -246,3 +246,4 @@ start qcom-usb-sh start qcomsysd start ptt_ffbm + start ftm_ffbm diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 61f5da4d4..8be7a352e 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -519,6 +519,12 @@ service ptt_ffbm /system/bin/ptt_socket_app -f -d disabled oneshot +service ftm_ffbm /system/bin/ftmdaemon + user root + group root + disabled + oneshot + service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG class late_start disabled From d1b13d52de25eb1578b94c89c14f2c48afb7748f Mon Sep 17 00:00:00 2001 From: Kevin Tang Date: Wed, 29 Jan 2014 19:46:10 -0800 Subject: [PATCH 093/641] make overlay here package overlay instead of device overlay Because of the overlay reference order, package overlays could shadow device overlays. So many overlays here the final control we need to add this overlay path part of package overlay. Change-Id: Ie7bec1c3566b38e25ffe490215e684db64a7e903 CRs-fixed: 606005 --- common.mk | 3 +- .../base/core/res/res/values/config.xml | 6 --- .../base/core/res/res/xml/storage_list.xml | 0 .../res/values/config.xml | 0 .../apps/Gallery2/res/values/arrays.xml | 0 .../packages/apps/Phone/res/values/config.xml | 0 .../services/Telephony/res/values/config.xml | 0 .../base/core/res/res/values/config.xml | 41 +++++++++++++++++++ 8 files changed, 43 insertions(+), 7 deletions(-) rename {overlay => device/overlay}/frameworks/base/core/res/res/values/config.xml (95%) rename {overlay => device/overlay}/frameworks/base/core/res/res/xml/storage_list.xml (100%) rename {overlay => device/overlay}/packages/apps/CellBroadcastReceiver/res/values/config.xml (100%) rename {overlay => device/overlay}/packages/apps/Gallery2/res/values/arrays.xml (100%) rename {overlay => device/overlay}/packages/apps/Phone/res/values/config.xml (100%) rename {overlay => device/overlay}/packages/services/Telephony/res/values/config.xml (100%) create mode 100644 product/overlay/frameworks/base/core/res/res/values/config.xml diff --git a/common.mk b/common.mk index d3dee7e67..b771bcb29 100644 --- a/common.mk +++ b/common.mk @@ -713,7 +713,8 @@ PRODUCT_COPY_FILES += device/qcom/common/media/media_profiles.xml:system/etc/med # enable overlays to use our version of # source/resources etc. -DEVICE_PACKAGE_OVERLAYS += device/qcom/common/overlay +DEVICE_PACKAGE_OVERLAYS += device/qcom/common/device/overlay +PRODUCT_PACKAGE_OVERLAYS += device/qcom/common/product/overlay # include additional build utilities -include device/qcom/common/utils.mk diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml similarity index 95% rename from overlay/frameworks/base/core/res/res/values/config.xml rename to device/overlay/frameworks/base/core/res/res/values/config.xml index 79082f195..4863c4c3e 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -187,12 +187,6 @@ error cause as Regular deactivation(36). --> false - - false - false - com.qualcomm.location - com.qualcomm.location - true diff --git a/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml similarity index 100% rename from overlay/frameworks/base/core/res/res/xml/storage_list.xml rename to device/overlay/frameworks/base/core/res/res/xml/storage_list.xml diff --git a/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml b/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml similarity index 100% rename from overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml rename to device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml diff --git a/overlay/packages/apps/Gallery2/res/values/arrays.xml b/device/overlay/packages/apps/Gallery2/res/values/arrays.xml similarity index 100% rename from overlay/packages/apps/Gallery2/res/values/arrays.xml rename to device/overlay/packages/apps/Gallery2/res/values/arrays.xml diff --git a/overlay/packages/apps/Phone/res/values/config.xml b/device/overlay/packages/apps/Phone/res/values/config.xml similarity index 100% rename from overlay/packages/apps/Phone/res/values/config.xml rename to device/overlay/packages/apps/Phone/res/values/config.xml diff --git a/overlay/packages/services/Telephony/res/values/config.xml b/device/overlay/packages/services/Telephony/res/values/config.xml similarity index 100% rename from overlay/packages/services/Telephony/res/values/config.xml rename to device/overlay/packages/services/Telephony/res/values/config.xml diff --git a/product/overlay/frameworks/base/core/res/res/values/config.xml b/product/overlay/frameworks/base/core/res/res/values/config.xml new file mode 100644 index 000000000..e5c9d0e57 --- /dev/null +++ b/product/overlay/frameworks/base/core/res/res/values/config.xml @@ -0,0 +1,41 @@ + + + + + + + false + false + com.qualcomm.location + com.qualcomm.location + + From d445283feb440050bfe11362949324611a59c299 Mon Sep 17 00:00:00 2001 From: Guang Jian Zeng Date: Sun, 26 Jan 2014 21:19:29 -0800 Subject: [PATCH 094/641] device: qcom: Add new mdm qdss interface to usb compostion. Add new usb composition to support mdm qdss. * 0x90A2: MSM DIAG + MDM DIAG + APQ QDSS Trace(bulk in) + MDM QDSS Trace(bulk in) + ADB + RmNet * 0x90A3: MSM DIAG + MDM DIAG + APQ QDSS Trace(bulk in) + MDM QDSS Trace(bulk in + RmNet QDSS compositions are now required to specify transport type and whether to enable debug interface. Modify existing QDSS over BAM compositions accordingly. Also fix rmnet transport name for PID 0x909A/0x909B to use HSIC. Change-Id: I39da5bda48079fcbba59fc36c5d49c900f0fed8c --- rootdir/etc/init.qcom.usb.rc | 66 +++++++++++++++++++++++++++++++++--- 1 file changed, 62 insertions(+), 4 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index 41d29861c..61ae7ef1b 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -722,6 +722,9 @@ on property:sys.usb.config=diag,qdss write /sys/class/android_usb/android0/idVendor 05C6 write /sys/class/android_usb/android0/idProduct 904A write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions diag,qdss write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} @@ -731,6 +734,9 @@ on property:sys.usb.config=diag,qdss,adb write /sys/class/android_usb/android0/idVendor 05C6 write /sys/class/android_usb/android0/idProduct 9060 write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions diag,qdss,adb write /sys/class/android_usb/android0/enable 1 start adbd @@ -741,6 +747,9 @@ on property:sys.usb.config=diag,diag_mdm,qdss write /sys/class/android_usb/android0/idVendor 05C6 write /sys/class/android_usb/android0/idProduct 9099 write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions diag,qdss write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} @@ -750,6 +759,9 @@ on property:sys.usb.config=diag,diag_mdm,qdss,adb write /sys/class/android_usb/android0/idVendor 05C6 write /sys/class/android_usb/android0/idProduct 9098 write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions diag,qdss,adb write /sys/class/android_usb/android0/enable 1 start adbd @@ -761,6 +773,9 @@ on property:sys.usb.config=diag,qdss,rmnet_bam write /sys/class/android_usb/android0/idProduct 9083 write /sys/class/android_usb/android0/f_diag/clients diag write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions diag,qdss,rmnet write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} @@ -771,28 +786,65 @@ on property:sys.usb.config=diag,qdss,rmnet_bam,adb write /sys/class/android_usb/android0/idProduct 9084 write /sys/class/android_usb/android0/f_diag/clients diag write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 write /sys/class/android_usb/android0/enable 1 start adbd setprop sys.usb.state ${sys.usb.config} -on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_bam +on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_hsic write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 05C6 write /sys/class/android_usb/android0/idProduct 909B write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions diag,qdss,rmnet write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} -on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_bam,adb +on property:sys.usb.config=diag,diag_mdm,qdss,rmnet_hsic,adb write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 05C6 write /sys/class/android_usb/android0/idProduct 909A write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm - write /sys/class/android_usb/android0/f_rmnet/transports smd,bam + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam + write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet + write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss_apq,qdss_mdm,rmnet_hsic + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90A3 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_qdss/debug_intf 0 + write /sys/class/android_usb/android0/f_qdss/transports bam,hsic + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam,qdss_hsic + write /sys/class/android_usb/android0/functions diag,qdss,rmnet + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,diag_mdm,qdss_apq,qdss_mdm,rmnet_hsic,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90A2 + write /sys/class/android_usb/android0/f_diag/clients diag,diag_mdm + write /sys/class/android_usb/android0/f_rmnet/transports hsic,hsic + write /sys/class/android_usb/android0/f_qdss/debug_intf 0 + write /sys/class/android_usb/android0/f_qdss/transports bam,hsic + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam,qdss_hsic write /sys/class/android_usb/android0/functions diag,qdss,adb,rmnet write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 write /sys/class/android_usb/android0/enable 1 @@ -804,6 +856,9 @@ on property:sys.usb.config=rndis,diag,qdss write /sys/class/android_usb/android0/idVendor 05C6 write /sys/class/android_usb/android0/idProduct 9081 write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions rndis,diag,qdss write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} @@ -813,6 +868,9 @@ on property:sys.usb.config=rndis,diag,qdss,adb write /sys/class/android_usb/android0/idVendor 05C6 write /sys/class/android_usb/android0/idProduct 9082 write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_qdss/debug_intf 1 + write /sys/class/android_usb/android0/f_qdss/transports bam + write /sys/class/android_usb/android0/f_qdss/transport_names qdss_bam write /sys/class/android_usb/android0/functions rndis,diag,qdss,adb write /sys/module/dwc3/parameters/tx_fifo_resize_enable 1 write /sys/class/android_usb/android0/enable 1 From 77eb8a537b58a8b389552ac1a016b005de42f5cb Mon Sep 17 00:00:00 2001 From: Yulian Shandorov Date: Tue, 22 Oct 2013 05:19:09 -0700 Subject: [PATCH 095/641] init.qcom.post_boot.sh: Add support for image version info - Send APPS image version info to kernel through sysfs nodes. - Image version node contains: "ro.build.id:ro.build.version.incremental". Image variant contains "ro.product.name". Image oem version contains: "ro.build.type:ro.build.version.codename". E.g: image_version - > JLS36C:eng.julian.20131022.045853 image_variant - > image_crm_version - > REL Change-Id: Ib3e6e06a681249998acab8e3ac27980d43028702 --- rootdir/etc/init.qcom.post_boot.sh | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index a212c5ffb..25757c91b 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -667,3 +667,21 @@ case "$target" in echo 5120 > /proc/sys/vm/min_free_kbytes ;; esac + +case "$target" in + "msm8226" | "msm8974" | "msm8610" | "apq8084" | "mpq8092" | "msm8610") + # Let kernel know our image version/variant/crm_version + image_version="10:" + image_version+=`getprop ro.build.id` + image_version+=":" + image_version+=`getprop ro.build.version.incremental` + image_variant=`getprop ro.product.name` + image_variant+="-" + image_variant+=`getprop ro.build.type` + oem_version=`getprop ro.build.version.codename` + echo 10 > /sys/devices/soc0/select_image + echo $image_version > /sys/devices/soc0/image_version + echo $image_variant > /sys/devices/soc0/image_variant + echo $oem_version > /sys/devices/soc0/image_crm_version + ;; +esac From e47e3852749ac1e104c0a94694f98b61ccb036c5 Mon Sep 17 00:00:00 2001 From: Vijay Ganti Date: Wed, 12 Feb 2014 13:06:42 -0800 Subject: [PATCH 096/641] apq8084: Update LCD density setting for APQ8084 MTP and Liquid Update LCD density on Liquid to 320 and MTP to 480 based on UX profiling and Jank analysis CRs-fixed: 612032 Change-Id: I1d2ee7671b7fd388967087df4f4bf8711f010478 --- init/init_apq8084.c | 4 ++-- rootdir/etc/init.qcom.early_boot.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/init/init_apq8084.c b/init/init_apq8084.c index b832ccf2e..0b579aa40 100644 --- a/init/init_apq8084.c +++ b/init/init_apq8084.c @@ -49,13 +49,13 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar return; if (ISMATCH(board_type, "Liquid")) { - property_set(PROP_LCDDENSITY, "293"); + property_set(PROP_LCDDENSITY, "320"); /* Liquid do not have hardware navigation keys, so enable Android sw navigation bar */ property_set(PROP_QEMU_NAVKEY, "0"); } else { - property_set(PROP_LCDDENSITY, "440"); + property_set(PROP_LCDDENSITY, "480"); } } diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index a2c63c16a..07f677698 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -150,13 +150,13 @@ case "$1" in "apq8084") case "$soc_hwplatform" in "Liquid") - setprop ro.sf.lcd_density 293 + setprop ro.sf.lcd_density 320 # Liquid do not have hardware navigation keys, so enable # Android sw navigation bar setprop ro.hw.nav_keys 0 ;; *) - setprop ro.sf.lcd_density 440 + setprop ro.sf.lcd_density 480 ;; esac ;; From 9f5db22f91e4c7987869b65f67f915f7a84e6909 Mon Sep 17 00:00:00 2001 From: Ramkumar Radhakrishnan Date: Tue, 11 Feb 2014 19:45:58 -0800 Subject: [PATCH 097/641] init script: Add usergroup write permission to idle_time node. Set usergroup write permission of idle_time node to enable idle timeout feature. Change-Id: If6b0a94e93b5117c4004726d62a346403f7a8ed3 --- init/init_msm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/init/init_msm.c b/init/init_msm.c index 6ee196bb1..478bdc22f 100644 --- a/init/init_msm.c +++ b/init/init_msm.c @@ -128,10 +128,10 @@ void setOwners(char *path, int owner, int group) } /* - * Setup HDMI related nodes & permissions. HDMI can be fb1 or fb2 + * Setup Display related nodes & permissions. For HDMI, it can be fb1 or fb2 * Loop through the sysfs nodes and determine the HDMI(dtv panel) */ -void set_hdmi_node_perms() +void set_display_node_perms() { char panel_type[] = "dtv panel"; char buf[BUF_SIZE]; @@ -169,6 +169,10 @@ void set_hdmi_node_perms() } } } + // Set the permission for idle_time. + snprintf(tmp, sizeof(tmp), "%sfb0/idle_time", sys_fb_path); + setPerms(tmp, 0664); + setOwners(tmp, AID_SYSTEM, AID_GRAPHICS); } void vendor_load_properties() @@ -209,6 +213,6 @@ void vendor_load_properties() /* Define MSM family properties */ init_msm_properties(msm_id, msm_ver, board_type); - /* Set Hdmi Node Permissions */ - set_hdmi_node_perms(); + /* Set Display Node Permissions */ + set_display_node_perms(); } From 63f36dff66aeb5d8278ca16a1f77f6199ebc2e85 Mon Sep 17 00:00:00 2001 From: Vladimir Petrov Date: Fri, 13 Dec 2013 17:59:29 +0200 Subject: [PATCH 098/641] Camera: Flash mode settings array values reordered Without this change, flash mode was being sent to lower layers as 'off' when user enables flash in the application and as 'torch' when user disables flash. The same as change I89de2525 but for Camera2. Change-Id: I993ae987081685edd458d3355d387594b350761e CRs-fixed: 567295 --- .../apps/Camera2/res/values/arrays.xml | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 overlay/packages/apps/Camera2/res/values/arrays.xml diff --git a/overlay/packages/apps/Camera2/res/values/arrays.xml b/overlay/packages/apps/Camera2/res/values/arrays.xml new file mode 100644 index 000000000..19426eae7 --- /dev/null +++ b/overlay/packages/apps/Camera2/res/values/arrays.xml @@ -0,0 +1,45 @@ + + + + + + + @string/pref_camera_flashmode_entry_off + @string/pref_camera_flashmode_entry_on + + + + @string/pref_camera_flashmode_label_off + @string/pref_camera_flashmode_label_on + + + + off + torch + + + + @drawable/ic_flash_off_holo_light + @drawable/ic_flash_on_holo_light + + + + @drawable/ic_flash_off_holo_light + @drawable/ic_flash_on_holo_light + + From 61ebe20753cf34c271fc1eabf05a04d55d315187 Mon Sep 17 00:00:00 2001 From: Xiaogang Cui Date: Tue, 18 Feb 2014 14:07:31 +0800 Subject: [PATCH 099/641] qcom: common: Add -s option to calculate size Add -s option to calculate the total size of folder cdrom_res/ in case it has sub-dirs. Change-Id: I733f46b6abd865aa1e6331683d57b9bca022c561 --- generate_extra_images.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 6f9940dcb..169caec18 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -131,7 +131,7 @@ endif CDROM_RES_FILE := $(TARGET_DEVICE_DIR)/cdrom_res ifneq ($(wildcard $(CDROM_RES_FILE)),) CDROM_ISO_TARGET := $(PRODUCT_OUT)/system/etc/cdrom_install.iso -CDROM_RES_SIZE := $(shell du -b $(CDROM_RES_FILE) | egrep -o '^[0-9]+') +CDROM_RES_SIZE := $(shell du -bs $(CDROM_RES_FILE) | egrep -o '^[0-9]+') #At least 300 sectors, 2048Bytes per Sector, set as 310 here CDROM_MIN_SIZE := 634880 CDROM_CAPACITY_IS_ENOUGH := $(shell expr $(CDROM_RES_SIZE) / $(CDROM_MIN_SIZE)) From c7eb0d69e4f5aad2f641c701d54c3b0f224f09d4 Mon Sep 17 00:00:00 2001 From: Kun Liang Date: Fri, 27 Dec 2013 11:03:06 +0800 Subject: [PATCH 100/641] QuickBoot: add qbcharger service to start charger Add qbcharger service to control charger for supporting power off charging under QuickBoot mode. Change-Id: I5adf98e04dca1a72b89bb93785cafb5781a0f829 --- rootdir/etc/init.qcom.rc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 380a907c8..be37e1bfa 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -728,6 +728,16 @@ service charger_monitor /system/bin/charger_monitor group root disabled +service qbcharger /charger -m 1 + disabled + oneshot + +on property:sys.qbcharger.enable=true + start qbcharger + +on property:sys.qbcharger.enable=false + stop qbcharger + service diag_mdlog_start /system/bin/diag_mdlog class late_start user sdcard_rw From c0dc793bc655faf51ab05b945f01c916a9701381 Mon Sep 17 00:00:00 2001 From: Arif Hussain Date: Fri, 14 Feb 2014 10:11:00 -0800 Subject: [PATCH 101/641] framework/base: Enable batch scan feature in framework Enable config_wifi_batched_scan_supported flag in config file. Change-Id: I95030e371b29c3cbc9715957413ff0ebce4db951 CRs-Fixed: 600763 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 4863c4c3e..593e85b7e 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -130,6 +130,9 @@ Software implementation will be used if config_hardware_auto_brightness_available is not set --> true + + true + + + @@ -36,21 +38,9 @@ - - - - - + - - - - - - - - @@ -71,10 +61,6 @@ - - - - - + From 9ea128011bfdf7c7abe967d1ca33546a52a3d48a Mon Sep 17 00:00:00 2001 From: Patrick Cain Date: Mon, 16 Jun 2014 15:23:49 -0700 Subject: [PATCH 177/641] init: qcom: post_boot: use interactive_pro governor for msm8994 This change sets the cpufreq governor to be interactive_pro and configures the parameters for both clusters in msm8994. If interactive_pro doesn't exist the fallback will be interactive with default configuration. Change-Id: Iedc979ff2824f88d782d5d1da2dd733f62df6bd7 --- rootdir/etc/init.qcom.post_boot.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1f61eb27e..9d8d4f3da 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -581,6 +581,28 @@ case "$target" in echo 0 > /sys/module/lpm_levels/system/a57/a57-l2-pc/idle_enabled echo 0 > /sys/module/lpm_levels/system/system-cci-pc/idle_enabled echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + # enable interactive first in case interactive_pro doesn't exist + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo "interactive_pro" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "20000 600000:40000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/timer_rate + echo 940800 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/io_is_busy + echo "85 600000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/target_loads + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/min_sample_time + echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable governor for performance cluster + echo "interactive_pro" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo "20000 600000:40000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/timer_rate + echo 600000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/io_is_busy + echo "85 600000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/min_sample_time + echo 200000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq ;; esac From e6297373a722ed7184c2b170d3e7487b7baa65fa Mon Sep 17 00:00:00 2001 From: Bhavya Sokke Mallikarjunappa Date: Wed, 2 Jul 2014 14:16:10 -0700 Subject: [PATCH 178/641] Start the dpmd daemon. dpmd(Data Power Manager Daemon) hosts features to save device power. Change-Id: I78227bba0159c6520b039c96e3bccce0f7c15bc4 --- rootdir/etc/init.qcom.rc | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index befcff864..efeaa4078 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -197,8 +197,15 @@ on post-fs-data mkdir /data/connectivity 0771 system system chown system system /data/connectivity - mkdir /data/connectivity/nsrm 0771 system system - chown system system /data/connectivity/nsrm + # Create the directories used by DPM subsystem + mkdir /data/dpm 0771 system system + chown system system /data/dpm + + mkdir /data/dpm/fdMgr 0771 system system + chown system system /data/dpm/fdMgr + + mkdir /data/dpm/nsrm 0771 system system + chown system system /data/dpm/nsrm # Create directory used by audio subsystem mkdir /data/misc/audio 0770 audio audio @@ -322,6 +329,10 @@ service cnd /system/bin/cnd class late_start socket cnd stream 660 root inet +service dpmd /system/bin/dpmd + class late_start + socket dpmd stream 660 root system + service irsc_util /system/bin/logwrapper /system/bin/irsc_util "/etc/sec_config" class main user root From f40f03ca3b0be6c64467e5714ea4a0e16868afff Mon Sep 17 00:00:00 2001 From: Sudhir Sharma Date: Thu, 3 Jul 2014 13:26:21 -0700 Subject: [PATCH 179/641] Compilation fix :remove proprieties from resource xml files for bring up remove proprieties from resource xml files for bring up Change-Id: Ie8745cf72684b2de86296ab5c1a3ce652f0ceb17 --- .../frameworks/base/core/res/res/values/config.xml | 8 +++++--- .../frameworks/base/core/res/res/xml/storage_list.xml | 4 ++-- .../apps/Camera2/res/layout-land/camera_controls.xml | 4 ++-- .../apps/Camera2/res/layout-port/camera_controls.xml | 4 ++-- .../apps/CellBroadcastReceiver/res/values/config.xml | 2 +- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 593e85b7e..704afdf9b 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -110,7 +110,7 @@ true - true + + true @@ -197,6 +198,7 @@ true + diff --git a/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml index 8eeb42ca5..6f7451f4c 100755 --- a/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml +++ b/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml @@ -48,7 +48,7 @@ android:emulated="false" android:removable="true" android:allowMassStorage="true" /> - + android:allowMassStorage="false" /--> - + android:layout_gravity="top|right"/--> - + android:layout_marginRight="-8dip" /--> true - true + From 403c50bbc0aa4622001ffb8b9ab4800a0b44391a Mon Sep 17 00:00:00 2001 From: Harout Hedeshian Date: Tue, 20 May 2014 15:17:13 -0600 Subject: [PATCH 180/641] init script: Introduce new data mode "concurrent" Starts embedded and tetherd services if persist.data.mode is set to concurrent. Change-Id: Ic499b04ecafa116a775f446b8d8710eaf27172f2 --- rootdir/etc/init.class_main.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.class_main.sh b/rootdir/etc/init.class_main.sh index ab2a96a9b..ac5431adb 100755 --- a/rootdir/etc/init.class_main.sh +++ b/rootdir/etc/init.class_main.sh @@ -71,6 +71,10 @@ case "$baseband" in start qti start port-bridge ;; + "concurrent") + start qti + start netmgrd + ;; *) start netmgrd ;; From 801fa549b2a8a4e2fc2b99d61762473eef4b23f3 Mon Sep 17 00:00:00 2001 From: Karthik Parsha Date: Wed, 2 Jul 2014 18:02:43 -0700 Subject: [PATCH 181/641] init: qcom: post_boot: Enable L2 and CCI low power modes for 8994 L2 and CCI low power modes have been validated and verified. Enable L2 and CCI low power modes along with CPU low power modes on android boot completion. Change-Id: I5430fda0712801478abb3d6cc55c830b4e7ec9a1 --- rootdir/etc/init.qcom.post_boot.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 9d8d4f3da..79da7f4a8 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -577,9 +577,6 @@ esac case "$target" in "msm8994") - echo 0 > /sys/module/lpm_levels/system/a53/a53-l2-pc/idle_enabled - echo 0 > /sys/module/lpm_levels/system/a57/a57-l2-pc/idle_enabled - echo 0 > /sys/module/lpm_levels/system/system-cci-pc/idle_enabled echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled # enable interactive first in case interactive_pro doesn't exist echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor From f183b36c08c0f515dd2b59197474af8bffe8337f Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Tue, 1 Jul 2014 12:05:45 -0700 Subject: [PATCH 182/641] common: releasetools: Do not distinguish between nand and emmc devices Code cleanup. We no longer support nand based devices on mainline. Change-Id: Ie2291f82fc6b0fc1972fccd825ce9b1686d1d3cb --- releasetools.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/releasetools.py b/releasetools.py index 4c7373c2c..4e02144c2 100755 --- a/releasetools.py +++ b/releasetools.py @@ -226,9 +226,8 @@ def IncrementalOTA_Assertions(info): def IncrementalOTA_VerifyEnd(info): - if info.type == 'MMC': - OTA_VerifyEnd(info, info.target_version, info.target_zip, info.source_zip) - return + OTA_VerifyEnd(info, info.target_version, info.target_zip, info.source_zip) + return # This function handles only non-HLOS whole partition images @@ -346,13 +345,9 @@ def FullOTA_InstallEnd_MTD(info): def FullOTA_InstallEnd(info): - if info.type == 'MMC': - FullOTA_InstallEnd_MMC(info) - elif info.type == 'MTD': - FullOTA_InstallEnd_MTD(info) + FullOTA_InstallEnd_MMC(info) return - def IncrementalOTA_InstallEnd_MMC(info): OTA_InstallEnd(info) return @@ -362,10 +357,6 @@ def IncrementalOTA_InstallEnd_MTD(info): print "warning radio-update: radio update for NAND devices not supported" return - def IncrementalOTA_InstallEnd(info): - if info.type == 'MMC': - IncrementalOTA_InstallEnd_MMC(info) - elif info.type == 'MTD': - IncrementalOTA_InstallEnd_MTD(info) + IncrementalOTA_InstallEnd_MMC(info) return From 1692f3175cab4686505a108809d79c285722c05a Mon Sep 17 00:00:00 2001 From: Vikram Mulukutla Date: Tue, 15 Jul 2014 14:45:58 -0700 Subject: [PATCH 183/641] int: qcom: post_boot: Correct min frequency of A53/57 to 199.2 MHz The cpu scaling drivers now specify 199.2 MHz as the minimum rate; switch from 200MHz to 199.2Mhz. Eventually, this code should go away since there is no point overriding the minimum frequency with an identical value. Change-Id: I74a2062081936bc64010596cde89d7c3d3550e8c --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 79da7f4a8..42f5da6f8 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -589,7 +589,7 @@ case "$target" in echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/io_is_busy echo "85 600000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/target_loads echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/min_sample_time - echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 199200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # enable governor for performance cluster echo "interactive_pro" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor echo "20000 600000:40000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/above_hispeed_delay @@ -599,7 +599,7 @@ case "$target" in echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/io_is_busy echo "85 600000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/target_loads echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/min_sample_time - echo 200000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 199200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq ;; esac From 0e73a7a0d609689d645deb4df634a3f48825a637 Mon Sep 17 00:00:00 2001 From: pramod kotreshappa Date: Wed, 16 Jul 2014 18:34:20 -0700 Subject: [PATCH 184/641] Bluetooth: Compile libbt-vendor for 32bit and 64bit FTM BT loads 64bit bt vendor shared lib. Compile bt vendor for both 32bit and 64bit Change-Id: I20e7131f9f25637171ce8d701b3bf055a10060d4 --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index 69f9518fe..840019df3 100644 --- a/base.mk +++ b/base.mk @@ -118,6 +118,7 @@ BSON := libbson BT := javax.btobex BT += libattrib_static BT += hcidump.sh +BT += libbt-vendor BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/qcom/common #C2DColorConvert From fab465d8f3cdaac9ec0e0e482a5e5cafae3e4115 Mon Sep 17 00:00:00 2001 From: Jack Pham Date: Thu, 17 Jul 2014 14:10:45 -0700 Subject: [PATCH 185/641] init.qcom.usb: Disable RNDIS UL aggregation on MSM8994 MSM8994 IPA hardware does not properly handle aggregated RNDIS packets from the host. Set the max_pkt_per_xfer to 1 to disable UL aggregation. Change-Id: Ib36b10a1a6a9920c93bcd93614e3a4dc76caa4b2 --- rootdir/etc/init.qcom.usb.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 55498127f..364669954 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -198,6 +198,8 @@ case "$target" in ;; "msm8994") echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports + echo 1 > /sys/class/android_usb/android0/f_rndis_qc/max_pkt_per_xfer # Disable RNDIS UL aggregation + ;; esac # From abed33068f1e5bfe4bfdf45b18dd3563f6ea9e60 Mon Sep 17 00:00:00 2001 From: Skylar Chang Date: Fri, 4 Jul 2014 04:13:12 -0700 Subject: [PATCH 186/641] init script: Start IPACM-DIAG and IPACM Added service definition for IPACM-DIAG and IPACM Change-Id: Iea87ad8d8f46558cd2eb18b82a6ab609898e161e --- rootdir/etc/init.class_main.sh | 2 ++ rootdir/etc/init.qcom.rc | 11 +++++++++++ 2 files changed, 13 insertions(+) mode change 100755 => 100644 rootdir/etc/init.class_main.sh diff --git a/rootdir/etc/init.class_main.sh b/rootdir/etc/init.class_main.sh old mode 100755 new mode 100644 index ac5431adb..2e8e9c1a5 --- a/rootdir/etc/init.class_main.sh +++ b/rootdir/etc/init.class_main.sh @@ -42,6 +42,8 @@ esac case "$baseband" in "msm" | "csfb" | "svlte2a" | "mdm" | "mdm2" | "sglte" | "sglte2" | "dsda2" | "unknown" | "dsda3") start qmuxd + start ipacm-diag + start ipacm case "$baseband" in "svlte2a" | "csfb") start qmiproxy diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index efeaa4078..fa15a5be4 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -448,6 +448,17 @@ service netmgrd /system/bin/netmgrd class main disabled +service ipacm-diag /system/bin/ipacm-diag + class main + user system + group qcom_diag + disabled + +service ipacm /system/bin/ipacm + class main + user root + disabled + service qti /system/vendor/bin/qti class main disabled From 746a9958cc90dc23b4a89736572c4bc502b92b20 Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Thu, 13 Feb 2014 15:23:53 -0800 Subject: [PATCH 187/641] ueventd.qcom.rc: Add msm_audio_cal driver permissions Add read & write permissions for the msm_audio_cal driver. Change-Id: Iead81573dbaad819a9e5f126fc069c9c6df43bb7 --- rootdir/etc/ueventd.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 5f90b1bf4..a8d5aa892 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -134,7 +134,7 @@ /dev/msm_amrnb_in 0640 system audio /dev/msm_a2dp_in 0660 system audio /dev/msm_ac3 0660 system audio -/dev/msm_acdb 0660 system audio +/dev/msm_audio_cal 0660 system audio /dev/msm_cad 0660 system audio /dev/msm_fm 0660 system audio /dev/msm_mvs 0660 system audio From 427b76cdf81595f2241c0954a13fc1c508784725 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Mon, 21 Jul 2014 17:32:13 -0700 Subject: [PATCH 188/641] recovery: Fix bug where the module would not get compiled in some cases We now correctly check the entire TARGET_RECOVERY_UPDATER_LIBS list for librecovery_updater_msm. Change-Id: Ief2bde02b432537ded80ab563e41b82142e15955 --- recovery/oem-recovery/Android.mk | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/recovery/oem-recovery/Android.mk b/recovery/oem-recovery/Android.mk index 267154652..5b39fecfa 100644 --- a/recovery/oem-recovery/Android.mk +++ b/recovery/oem-recovery/Android.mk @@ -1,7 +1,5 @@ -ifeq ($(TARGET_RECOVERY_UPDATER_LIBS),librecovery_updater_msm) - +ifneq ($(filter librecovery_updater_msm,$(TARGET_RECOVERY_UPDATER_LIBS)),) LOCAL_PATH := $(call my-dir) - include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_C_INCLUDES := bootable/recovery \ @@ -11,5 +9,4 @@ LOCAL_SRC_FILES := gpt-utils.c dec.c oem-updater.c LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr LOCAL_MODULE := librecovery_updater_msm include $(BUILD_STATIC_LIBRARY) - endif From 954b95f2bdaad4fa97808838ed8a98249d8c3c80 Mon Sep 17 00:00:00 2001 From: Karthik Parsha Date: Mon, 14 Jul 2014 14:14:04 -0700 Subject: [PATCH 189/641] init: qcom: post_boot: Online big cluster after boot complete on 8994 8994 boots up with cores from the little cluster, Online the rest of the cores from the big cluster after bootup is complete. Change-Id: I483321a502ce9dd1bd556292ba9dc7a00f88be47 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 42f5da6f8..330bfaffa 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -577,6 +577,10 @@ esac case "$target" in "msm8994") + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled # enable interactive first in case interactive_pro doesn't exist echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor From 0b5ff3a9722b672bec0e5b0b682babc057ea6d08 Mon Sep 17 00:00:00 2001 From: Sujeet Kumar Date: Thu, 27 Mar 2014 18:29:32 +0530 Subject: [PATCH 190/641] USB: init.qcom.usb.sh: Mount cdrom media for msm8916 Mount cdrom media for msm8916 targets. LUNs are already created during the initialization time and hence its fine to echo the media for cdrom at this time. Change-Id: I43c5be6483c3d47559986a95c48938dad15789e7 --- rootdir/etc/init.qcom.usb.rc | 4 ---- rootdir/etc/init.qcom.usb.sh | 38 ++++++++++-------------------------- 2 files changed, 10 insertions(+), 32 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index 4ce856c8d..2c00e5f4b 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -166,7 +166,6 @@ on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb write /sys/class/android_usb/android0/f_serial/transports smd,tty write /sys/class/android_usb/android0/f_rmnet/transports smd,bam write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/f_mass_storage/luns ${persist.sys.usb.luns} write /sys/class/android_usb/android0/enable 1 start adbd setprop sys.usb.state ${sys.usb.config} @@ -192,7 +191,6 @@ on property:sys.usb.config=diag,serial_smd,serial_tty,rmnet_bam,mass_storage write /sys/class/android_usb/android0/f_serial/transports smd,tty write /sys/class/android_usb/android0/f_rmnet/transports smd,bam write /sys/class/android_usb/android0/functions diag,serial,rmnet,mass_storage - write /sys/class/android_usb/android0/f_mass_storage/luns ${persist.sys.usb.luns} write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} @@ -303,7 +301,6 @@ on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage,adb write /sys/class/android_usb/android0/f_diag/clients diag write /sys/class/android_usb/android0/f_serial/transports tty,tty write /sys/class/android_usb/android0/functions diag,adb,serial,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/f_mass_storage/luns ${persist.sys.usb.luns} write /sys/class/android_usb/android0/enable 1 start adbd start port-bridge @@ -329,7 +326,6 @@ on property:sys.usb.config=diag,serial_tty,serial_tty,rmnet_smd,mass_storage write /sys/class/android_usb/android0/f_diag/clients diag write /sys/class/android_usb/android0/f_serial/transports tty,tty write /sys/class/android_usb/android0/functions diag,serial,rmnet_smd,mass_storage - write /sys/class/android_usb/android0/f_mass_storage/luns ${persist.sys.usb.luns} write /sys/class/android_usb/android0/enable 1 start port-bridge setprop sys.usb.state ${sys.usb.config} diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 55498127f..0334a95f0 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -99,21 +99,6 @@ done fi target=`getprop ro.product.device` -cdromenable=`getprop persist.service.cdrom.enable` -create_luns() { - case "$1" in - "msm8226" | "msm8610") - case "$2" in - 0) - setprop persist.sys.usb.luns "" - ;; - 1) - setprop persist.sys.usb.luns rom - ;; - esac - ;; - esac -} # # Allow USB enumeration with default PID/VID @@ -152,7 +137,6 @@ case "$usb_config" in setprop persist.sys.usb.config diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb ;; *) - create_luns $target $cdromenable echo $target case "$target" in "msm8916_32") @@ -247,19 +231,17 @@ esac # Add support for exposing lun0 as cdrom in mass-storage # cdromname="/system/etc/cdrom_install.iso" +platformver=`cat /sys/devices/soc0/hw_platform` case "$target" in - "msm8226" | "msm8610") - case "$cdromenable" in - 1) - echo "mounting usbcdrom lun" - if [ ! -f /sys/class/android_usb/android0/f_mass_storage/lun0/file ]; then - sleep 2 # cdrom lun still not created. give some time. - fi - echo $cdromname > /sys/class/android_usb/android0/f_mass_storage/lun0/file - chmod 0444 /sys/class/android_usb/android0/f_mass_storage/lun0/file - ;; - esac - ;; + "msm8226" | "msm8610" | "msm8916" | "msm8916_32" | "msm8916_64") + case $platformver in + "QRD") + echo "mounting usbcdrom lun" + echo $cdromname > /sys/class/android_usb/android0/f_mass_storage/rom/file + chmod 0444 /sys/class/android_usb/android0/f_mass_storage/rom/file + ;; + esac + ;; esac # From 5a9f2eb409d246d39e3f2cd9754646ad043ad560 Mon Sep 17 00:00:00 2001 From: Kamen Kirov Date: Tue, 22 Jul 2014 13:51:08 +0300 Subject: [PATCH 191/641] ueventd.qcom.rc: Add jpeg3 device node Adds a device node for the jpeg dma Change-Id: I56afe83abda0c94269258a6c2329d46ff3f85a1a --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 5f90b1bf4..bbb501357 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -105,6 +105,7 @@ /dev/jpeg0 0660 system camera /dev/jpeg1 0660 system camera /dev/jpeg2 0660 system camera +/dev/jpeg3 0660 system camera /dev/adsprpc-smd 0664 system system /dev/msm_camera/* 0660 system camera /dev/gemini/ 0660 system camera From f5aa23c6f6de7445bca4aa5a53e91a5c9152eb58 Mon Sep 17 00:00:00 2001 From: Amir Vajid Date: Thu, 10 Jul 2014 12:04:17 -0700 Subject: [PATCH 192/641] init: qcom: post_boot: set cpubw devfreq governor to bw_hwmon for 8994 Enable CPU to DDR bus scaling using hw counters by setting cpubw devfreq governor to bw_hwmon. Change-Id: Iadc997a615afd5ec27ae85ba5a0c30f7b689d5f6 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 42f5da6f8..6b8c57955 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -600,6 +600,10 @@ case "$target" in echo "85 600000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/target_loads echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/min_sample_time echo 199200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + done ;; esac From 36f11d177b21dc8698e5f72f0975880be9916c5e Mon Sep 17 00:00:00 2001 From: Nikhilesh Reddy Date: Wed, 16 Jul 2014 12:06:03 -0700 Subject: [PATCH 193/641] init.qcom.rc: Launch rfs_access process as root user The rfs_access daemon requires root privileges to open the wakelock files and grab capabilities for accessing wakelocks. The rfs_access daemon will downgrade to user AID_SYSTEM after getting the necessary capabilities. Change-Id: Ib3866bc92ca106c844011209978a9ace1c94a6ee --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index efeaa4078..d032dc85a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -348,7 +348,7 @@ on property:ro.boot.emmc=true service rfs_access /system/bin/rfs_access class core - user system + user root group system net_raw on property:ro.boot.emmc=true From 21fe90ffd135cc38270a2806b54cd5a200862289 Mon Sep 17 00:00:00 2001 From: pramod kotreshappa Date: Wed, 23 Jul 2014 19:31:10 -0700 Subject: [PATCH 194/641] Bluetooth: Push BT permission files to device Push Bluetooth and Bluetooth LE permission files for enabling BLE. Set MAX_ACL_CONNECTIONS and MAX_L2CAP_CONNECTIONS to 16 Change-Id: I4768a66100c6b131d4421370732c9200fcdedcd8 --- base.mk | 2 ++ bdroid_buildcfg.h | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/base.mk b/base.mk index 69f9518fe..396843ace 100644 --- a/base.mk +++ b/base.mk @@ -696,6 +696,8 @@ PRODUCT_COPY_FILES := \ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ + frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \ + frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ # Bluetooth configuration files #PRODUCT_COPY_FILES += \ diff --git a/bdroid_buildcfg.h b/bdroid_buildcfg.h index a6eb14d27..adb4ca665 100644 --- a/bdroid_buildcfg.h +++ b/bdroid_buildcfg.h @@ -24,7 +24,8 @@ #define BTM_DEF_LOCAL_NAME "QCOM-BTD" // Disables read remote device feature #define BTA_SKIP_BLE_READ_REMOTE_FEAT FALSE -#define MAX_L2CAP_CHANNELS 14 +#define MAX_ACL_CONNECTIONS 16 +#define MAX_L2CAP_CHANNELS 16 // skips conn update at conn completion #define BTA_BLE_SKIP_CONN_UPD FALSE #endif From da321c04239e79db176dc0bb773a251b30bc2394 Mon Sep 17 00:00:00 2001 From: Shruthi Krishna Date: Thu, 24 Jul 2014 16:37:29 -0700 Subject: [PATCH 195/641] Removing contentDescription as compilation fix Change-Id: I6a2d909c753ee030e8294acba5138edec490cd96 --- .../packages/apps/Camera2/res/layout-land/camera_controls.xml | 4 ++-- .../packages/apps/Camera2/res/layout-port/camera_controls.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/device/overlay/packages/apps/Camera2/res/layout-land/camera_controls.xml b/device/overlay/packages/apps/Camera2/res/layout-land/camera_controls.xml index 3c45750d9..41a9a7fa4 100644 --- a/device/overlay/packages/apps/Camera2/res/layout-land/camera_controls.xml +++ b/device/overlay/packages/apps/Camera2/res/layout-land/camera_controls.xml @@ -42,12 +42,12 @@ android:layout_gravity="right|top" android:layout_marginRight="2dip" /> - + android:contentDescription="@string/accessibility_mode_picker" /--> - + android:contentDescription="@string/accessibility_mode_picker" /--> Date: Thu, 24 Jul 2014 14:26:18 +0530 Subject: [PATCH 196/641] Ferrum: Bringup changes 1. Adding in board platform list. 2. Adding lunch option for ferrum product Change-Id: I6ed0ff0df56558378e58322c1254a79ea92a4bad CRs-fixed: 675222 --- base.mk | 1 + vendorsetup.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/base.mk b/base.mk index ad3516ca4..1152f01b7 100644 --- a/base.mk +++ b/base.mk @@ -10,6 +10,7 @@ QCOM_BOARD_PLATFORMS += msm8916 QCOM_BOARD_PLATFORMS += msm8916_32 QCOM_BOARD_PLATFORMS += msm8916_64 QCOM_BOARD_PLATFORMS += msm8994 +QCOM_BOARD_PLATFORMS += ferrum QSD8K_BOARD_PLATFORMS := qsd8k diff --git a/vendorsetup.sh b/vendorsetup.sh index 08a1490f1..d1566caa4 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -38,3 +38,4 @@ add_lunch_combo msm8916_32_k64-userdebug add_lunch_combo msm8916_64-userdebug add_lunch_combo msm8994-userdebug add_lunch_combo thulium-userdebug +add_lunch_combo ferrum-userdebug From a90d9c819ebcd420267a0f340af83bfbdba62ab6 Mon Sep 17 00:00:00 2001 From: pramod kotreshappa Date: Fri, 25 Jul 2014 13:23:42 -0700 Subject: [PATCH 197/641] Bluetooth: Enable HFP1.6 feature Enable HFP1.6 feature for the target Change-Id: Ia0b7dc5f0292f7921988be89335e70968ab4181b --- rootdir/etc/init.qcom.bt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.bt.sh b/rootdir/etc/init.qcom.bt.sh index 92ff22b89..30d36c3c5 100644 --- a/rootdir/etc/init.qcom.bt.sh +++ b/rootdir/etc/init.qcom.bt.sh @@ -160,7 +160,7 @@ config_bt () setprop ro.qualcomm.bt.hci_transport smd fi ;; - "apq8084" | "mpq8092" ) + "apq8084" | "mpq8092" | "msm8994" ) if [ "$btsoc" != "rome" ] then setprop ro.qualcomm.bt.hci_transport smd From 171133f232fa78e70cfb267857496c14e8b25a21 Mon Sep 17 00:00:00 2001 From: Amir Samuelov Date: Sun, 25 May 2014 18:19:56 +0300 Subject: [PATCH 198/641] security: Add appropriate permission for PFT driver Update the permissions for PFT driver so that only apps with drmrpc group permission can open it. Change-Id: Id985234cb62ac34bc92875618ff79dc9d8bc8ad9 --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index a8d5aa892..2e3530651 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -101,6 +101,7 @@ /dev/media* 0660 system camera /dev/v4l-subdev* 0660 system camera /dev/qseecom 0660 system drmrpc +/dev/pft 0660 system drmrpc /dev/gemini0 0660 system camera /dev/jpeg0 0660 system camera /dev/jpeg1 0660 system camera From be91e32069624957103b2d5e312a49c883a22c91 Mon Sep 17 00:00:00 2001 From: Gopal G Goberu Date: Mon, 28 Jul 2014 17:11:43 +0530 Subject: [PATCH 199/641] msm8916_32_512: Add support for 8916_32_512. Add support for 8916_32_512. Change-Id: I4b87c3c2093e5940f08706a9dceffc676e4a4f96 --- base.mk | 1 + vendorsetup.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/base.mk b/base.mk index 1152f01b7..a6dcd179e 100644 --- a/base.mk +++ b/base.mk @@ -8,6 +8,7 @@ QCOM_BOARD_PLATFORMS += mpq8092 QCOM_BOARD_PLATFORMS += msm_bronze QCOM_BOARD_PLATFORMS += msm8916 QCOM_BOARD_PLATFORMS += msm8916_32 +QCOM_BOARD_PLATFORMS += msm8916_32_512 QCOM_BOARD_PLATFORMS += msm8916_64 QCOM_BOARD_PLATFORMS += msm8994 QCOM_BOARD_PLATFORMS += ferrum diff --git a/vendorsetup.sh b/vendorsetup.sh index d1566caa4..4981a59bf 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -34,6 +34,7 @@ add_lunch_combo apq8084-userdebug add_lunch_combo mpq8092-userdebug add_lunch_combo msm_bronze-userdebug add_lunch_combo msm8916_32-userdebug +add_lunch_combo msm8916_32_512-userdebug add_lunch_combo msm8916_32_k64-userdebug add_lunch_combo msm8916_64-userdebug add_lunch_combo msm8994-userdebug From c786e027618fc6af7215edd286225ed1c5b87704 Mon Sep 17 00:00:00 2001 From: Georgi Hristov Date: Sat, 10 May 2014 18:44:37 +0300 Subject: [PATCH 200/641] rootdir/etc/init.qcom.rc: add camera folder Create camera folder under /data folder needed for mm-qcamera-daemon. Change-Id: I195512a48c36199ce7e2e364472c7529ba27dc06 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d032dc85a..19be7a433 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -261,6 +261,9 @@ on post-fs-data #Create a folder for SRS to be able to create a usercfg file mkdir /data/data/media 0770 media media + #Create folder for mm-qcamera-daemon + mkdir /data/camera 0770 media camera + # Export GPIO56 for fusion targets to enable/disable hub service usbhub_init /system/bin/usbhub_init class late_start From 33f998a68f18c855ddc1d063d130cf56b2596251 Mon Sep 17 00:00:00 2001 From: Satya Durga Srinivasu Prabhala Date: Tue, 24 Jun 2014 18:45:19 -0700 Subject: [PATCH 201/641] sec_config: Allow sensors group process to QMI Sensor services Enable Sensors QMI services for sensors process groups. CRs-Fixed: 431081 Change-Id: Ibbdb0e07d9497e1809e7ef817e8400d4a9e4f8c1 --- sec_config | 257 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 257 insertions(+) diff --git a/sec_config b/sec_config index 62e509755..1bbffb049 100644 --- a/sec_config +++ b/sec_config @@ -3,3 +3,260 @@ 16:4294967295:1000:3004 /* Allow SS CTL service to be used by system and net_raw processes */ 43:4294967295:1000:3004 +/* Allow Sensor services to be used by sensor process */ +256:4294967295:3011 +257:4294967295:3011 +258:4294967295:3011 +259:4294967295:3011 +260:4294967295:3011 +261:4294967295:3011 +262:4294967295:3011 +263:4294967295:3011 +264:4294967295:3011 +265:4294967295:3011 +266:4294967295:3011 +267:4294967295:3011 +268:4294967295:3011 +269:4294967295:3011 +270:4294967295:3011 +271:4294967295:3011 +272:4294967295:3011 +273:4294967295:3011 +274:4294967295:3011 +275:4294967295:3011 +276:4294967295:3011 +277:4294967295:3011 +278:4294967295:3011 +279:4294967295:3011 +280:4294967295:3011 +281:4294967295:3011 +282:4294967295:3011 +283:4294967295:3011 +284:4294967295:3011 +285:4294967295:3011 +286:4294967295:3011 +287:4294967295:3011 +288:4294967295:3011 +289:4294967295:3011 +290:4294967295:3011 +291:4294967295:3011 +292:4294967295:3011 +293:4294967295:3011 +294:4294967295:3011 +295:4294967295:3011 +296:4294967295:3011 +297:4294967295:3011 +298:4294967295:3011 +299:4294967295:3011 +300:4294967295:3011 +301:4294967295:3011 +302:4294967295:3011 +303:4294967295:3011 +304:4294967295:3011 +305:4294967295:3011 +306:4294967295:3011 +307:4294967295:3011 +308:4294967295:3011 +309:4294967295:3011 +310:4294967295:3011 +311:4294967295:3011 +312:4294967295:3011 +313:4294967295:3011 +314:4294967295:3011 +315:4294967295:3011 +316:4294967295:3011 +317:4294967295:3011 +318:4294967295:3011 +319:4294967295:3011 +320:4294967295:3011 +321:4294967295:3011 +322:4294967295:3011 +323:4294967295:3011 +324:4294967295:3011 +325:4294967295:3011 +326:4294967295:3011 +327:4294967295:3011 +328:4294967295:3011 +329:4294967295:3011 +330:4294967295:3011 +331:4294967295:3011 +332:4294967295:3011 +333:4294967295:3011 +334:4294967295:3011 +335:4294967295:3011 +336:4294967295:3011 +337:4294967295:3011 +338:4294967295:3011 +339:4294967295:3011 +340:4294967295:3011 +341:4294967295:3011 +342:4294967295:3011 +343:4294967295:3011 +344:4294967295:3011 +345:4294967295:3011 +346:4294967295:3011 +347:4294967295:3011 +348:4294967295:3011 +349:4294967295:3011 +350:4294967295:3011 +351:4294967295:3011 +352:4294967295:3011 +353:4294967295:3011 +354:4294967295:3011 +355:4294967295:3011 +356:4294967295:3011 +357:4294967295:3011 +358:4294967295:3011 +359:4294967295:3011 +360:4294967295:3011 +361:4294967295:3011 +362:4294967295:3011 +363:4294967295:3011 +364:4294967295:3011 +365:4294967295:3011 +366:4294967295:3011 +367:4294967295:3011 +368:4294967295:3011 +369:4294967295:3011 +370:4294967295:3011 +371:4294967295:3011 +372:4294967295:3011 +373:4294967295:3011 +374:4294967295:3011 +375:4294967295:3011 +376:4294967295:3011 +377:4294967295:3011 +378:4294967295:3011 +379:4294967295:3011 +380:4294967295:3011 +381:4294967295:3011 +382:4294967295:3011 +383:4294967295:3011 +384:4294967295:3011 +385:4294967295:3011 +386:4294967295:3011 +387:4294967295:3011 +388:4294967295:3011 +389:4294967295:3011 +390:4294967295:3011 +391:4294967295:3011 +392:4294967295:3011 +393:4294967295:3011 +394:4294967295:3011 +395:4294967295:3011 +396:4294967295:3011 +397:4294967295:3011 +398:4294967295:3011 +399:4294967295:3011 +400:4294967295:3011 +401:4294967295:3011 +402:4294967295:3011 +403:4294967295:3011 +404:4294967295:3011 +405:4294967295:3011 +406:4294967295:3011 +407:4294967295:3011 +408:4294967295:3011 +409:4294967295:3011 +410:4294967295:3011 +411:4294967295:3011 +412:4294967295:3011 +413:4294967295:3011 +414:4294967295:3011 +415:4294967295:3011 +416:4294967295:3011 +417:4294967295:3011 +418:4294967295:3011 +419:4294967295:3011 +420:4294967295:3011 +421:4294967295:3011 +422:4294967295:3011 +423:4294967295:3011 +424:4294967295:3011 +425:4294967295:3011 +426:4294967295:3011 +427:4294967295:3011 +428:4294967295:3011 +429:4294967295:3011 +430:4294967295:3011 +431:4294967295:3011 +432:4294967295:3011 +433:4294967295:3011 +434:4294967295:3011 +435:4294967295:3011 +436:4294967295:3011 +437:4294967295:3011 +438:4294967295:3011 +439:4294967295:3011 +440:4294967295:3011 +441:4294967295:3011 +442:4294967295:3011 +443:4294967295:3011 +444:4294967295:3011 +445:4294967295:3011 +446:4294967295:3011 +447:4294967295:3011 +448:4294967295:3011 +449:4294967295:3011 +450:4294967295:3011 +451:4294967295:3011 +452:4294967295:3011 +453:4294967295:3011 +454:4294967295:3011 +455:4294967295:3011 +456:4294967295:3011 +457:4294967295:3011 +458:4294967295:3011 +459:4294967295:3011 +460:4294967295:3011 +461:4294967295:3011 +462:4294967295:3011 +463:4294967295:3011 +464:4294967295:3011 +465:4294967295:3011 +466:4294967295:3011 +467:4294967295:3011 +468:4294967295:3011 +469:4294967295:3011 +470:4294967295:3011 +471:4294967295:3011 +472:4294967295:3011 +473:4294967295:3011 +474:4294967295:3011 +475:4294967295:3011 +476:4294967295:3011 +477:4294967295:3011 +478:4294967295:3011 +479:4294967295:3011 +480:4294967295:3011 +481:4294967295:3011 +482:4294967295:3011 +483:4294967295:3011 +484:4294967295:3011 +485:4294967295:3011 +486:4294967295:3011 +487:4294967295:3011 +488:4294967295:3011 +489:4294967295:3011 +490:4294967295:3011 +491:4294967295:3011 +492:4294967295:3011 +493:4294967295:3011 +494:4294967295:3011 +495:4294967295:3011 +496:4294967295:3011 +497:4294967295:3011 +498:4294967295:3011 +499:4294967295:3011 +500:4294967295:3011 +501:4294967295:3011 +502:4294967295:3011 +503:4294967295:3011 +504:4294967295:3011 +505:4294967295:3011 +506:4294967295:3011 +507:4294967295:3011 +508:4294967295:3011 +509:4294967295:3011 +510:4294967295:3011 +511:4294967295:3011 From 3da7ed1b515801f7713e063e4485c724ac4d3416 Mon Sep 17 00:00:00 2001 From: Mallikarjuna GB Date: Wed, 30 Jul 2014 23:29:43 +0530 Subject: [PATCH 202/641] Bluetooth: Enable HFP HS and AVRCP controller Enable HFP HS and AVRCP controller Change-Id: I7c47aef3cdfeec4613ece0d7610546cece5512b0 --- .../apps/Bluetooth/res/values/config.xml | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 device/overlay/packages/apps/Bluetooth/res/values/config.xml diff --git a/device/overlay/packages/apps/Bluetooth/res/values/config.xml b/device/overlay/packages/apps/Bluetooth/res/values/config.xml new file mode 100644 index 000000000..9fef17812 --- /dev/null +++ b/device/overlay/packages/apps/Bluetooth/res/values/config.xml @@ -0,0 +1,35 @@ + + + + true + true + From 252e453cb620d89eb01f128721a7e5f6bddb193b Mon Sep 17 00:00:00 2001 From: Manikanta Kanamarlapudi Date: Thu, 17 Jul 2014 21:09:24 +0530 Subject: [PATCH 203/641] common: Add init_msm for 8916 file Add init_msm for 8916 file and do setprop's for hw/sw HEVC based on msm_id Change-Id: I4cde44765e017add364a3632632a4c78cdab33f5 --- init/init_msm8916.c | 50 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 init/init_msm8916.c diff --git a/init/init_msm8916.c b/init/init_msm8916.c new file mode 100644 index 000000000..451bce270 --- /dev/null +++ b/init/init_msm8916.c @@ -0,0 +1,50 @@ +/* + Copyright (c) 2014, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include "vendor_init.h" +#include "property_service.h" +#include "log.h" +#include "util.h" + +#include "init_msm.h" + +void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type) +{ + + UNUSED(msm_ver); + UNUSED(board_type); + + if (msm_id >= 239 && msm_id <= 243) { + property_set("media.hwhevccodectype", "1"); + } else if (msm_id == 206) { + property_set("media.swhevccodectype", "1"); + } +} From f8096593150fd1cf9b556b9e0ed05f4ef6f0c417 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Fri, 1 Aug 2014 13:13:51 -0700 Subject: [PATCH 204/641] ueventd: Drop permissions for ssr device nodes. Users with system privilages are now able to open/close the SSR dev nodes. Change-Id: I93a2c2c3666b58c70c65c0392abaeafcd8c4fc5e --- rootdir/etc/ueventd.qcom.rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index a8d5aa892..46d050e18 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -191,5 +191,5 @@ /dev/uio1 0660 system system /dev/uio2 0660 system system -# ESOC devices -/dev/subsys_esoc* 0640 system radio +# SSR devices +/dev/subsys_* 0640 system system From e6aa44add47d3cfa6c9cc712341a25151c574615 Mon Sep 17 00:00:00 2001 From: Olav Haugan Date: Sun, 3 Aug 2014 15:00:32 -0700 Subject: [PATCH 205/641] msm8994: Enable msm_irqbalance The msm_irqbalance daemon starts up as root and then lower its privileges immediately to user nobody while holding on to capability to read/write files on the file system (proc). The msm_irqbalance daemon balances IRQs among available cores to ensure even IRQ load on each core. The daemon also moves IRQs away from cores that are configured to not handle any IRQs Change-Id: Ib9a8d6a12902bcdba60837d9d3ca31adea2d574f --- rootdir/etc/init.qcom.rc | 6 ++++++ rootdir/etc/init.qcom.sh | 21 +++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d032dc85a..4a0f7bd0a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -811,3 +811,9 @@ service vm_bms /system/bin/vm_bms user root group root disabled + +service msm_irqbalance /system/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf + class core + user root + group root + disabled diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index ba765d823..941645fa4 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -94,6 +94,23 @@ start_vm_bms() fi } +start_msm_irqbalance_8939() +{ + if [ -f /system/bin/msm_irqbalance ]; then + case "$platformid" in + "239") + start msm_irqbalance;; + esac + fi +} + +start_msm_irqbalance() +{ + if [ -f /system/bin/msm_irqbalance ]; then + start msm_irqbalance + fi +} + baseband=`getprop ro.baseband` # # Suppress default route installation during RA for IPV6; user space will take @@ -186,5 +203,9 @@ case "$target" in ;; "msm8916") start_vm_bms + start_msm_irqbalance_8939 + ;; + "msm8994") + start_msm_irqbalance ;; esac From 655142eebd751bc5db6354b4b080d9895c3ae816 Mon Sep 17 00:00:00 2001 From: Lalit Kansara Date: Thu, 1 May 2014 15:00:30 +0530 Subject: [PATCH 206/641] init.qcom.rc: Add MBA debug parameters to persist properties Persist properties to debug MBA on early init for the following module parameters. pbl_mba_boot_timeout_ms modem_auth_timeout_ms proxy_timeout_ms Change-Id: I64ec982df33c83c065aa77e75033d595e6adf39b --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index b3aa0c966..a3dc6ee37 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -62,6 +62,9 @@ on early-boot setrlimit 8 67108864 67108864 # Allow subsystem (modem etc) debugging write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} + write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} + write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} + write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} write /sys/kernel/boot_adsp/boot 1 on boot From 38c34e91a341d3d6fb61a2cbe07f385c79d04b3b Mon Sep 17 00:00:00 2001 From: Vicky Sehrawat Date: Wed, 26 Feb 2014 16:48:23 -0800 Subject: [PATCH 207/641] audio: Add appropriate permission for voice_svc driver Update the permisions for voice_svc driver so that only apps with audio group permission can open it CRs-fixed: 642690 Change-Id: I4a3697457884946cc9ff65c4307c944d3606bb42 --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 1a82f46f5..56f062723 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -154,6 +154,7 @@ /dev/tty_sdio_00 0660 system system /dev/ttyGS0 0660 system system /dev/i2c-5 0660 media media +/dev/voice_svc 0660 system audio # DVB devices /dev/dvb/adapter0/demux* 0440 media media From 476e9c3cbd1e14df34b6b92f564f4b5642d4c60b Mon Sep 17 00:00:00 2001 From: Mahesh Lanka Date: Wed, 30 Jul 2014 22:55:52 +0530 Subject: [PATCH 208/641] base.mk: Update product pkg to include extendedmediaextractor Add extendedmediaextractor product packages to make it part of system Change-Id: Ib76f638be3d5c04498561d6622850559794b7336 --- base.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/base.mk b/base.mk index 1152f01b7..9a9373b8f 100644 --- a/base.mk +++ b/base.mk @@ -140,6 +140,9 @@ CURL += curl DASH := libdashplayer DASH += qcmediaplayer +#EXTENDEDMEDIA_EXT +EXTENDEDMEDIA_EXT := extendedmediaextractor + #DATA_OS DATA_OS := librmnetctl DATA_OS += rmnetcli @@ -605,6 +608,7 @@ PRODUCT_PACKAGES += $(DASH) PRODUCT_PACKAGES += $(DATA_OS) PRODUCT_PACKAGES += $(E2FSPROGS) PRODUCT_PACKAGES += $(EBTABLES) +PRODUCT_PACKAGES += $(EXTENDEDMEDIA_EXT) PRODUCT_PACKAGES += $(FASTPOWERON) PRODUCT_PACKAGES += $(FM) PRODUCT_PACKAGES += $(GPS_HARDWARE) From c34b3ca7abfa9bb18e4f04e30a858f6347994a02 Mon Sep 17 00:00:00 2001 From: Manikanta Kanamarlapudi Date: Thu, 7 Aug 2014 20:08:37 +0530 Subject: [PATCH 209/641] common: Add setprop to differentiate sw/hw HEVC Add setprop to differentiate sw/hw HEVC based on msm_id Change-Id: I15421fa9217597a541e0ee042ba48662fcda59b4 --- init/init_msm8916.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/init/init_msm8916.c b/init/init_msm8916.c index 451bce270..a0aa31ad9 100644 --- a/init/init_msm8916.c +++ b/init/init_msm8916.c @@ -42,9 +42,7 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar UNUSED(msm_ver); UNUSED(board_type); - if (msm_id >= 239 && msm_id <= 243) { - property_set("media.hwhevccodectype", "1"); - } else if (msm_id == 206) { + if (msm_id == 206) { property_set("media.swhevccodectype", "1"); } } From df1aa36f887b34b4a380998c2ec60aea0aee7542 Mon Sep 17 00:00:00 2001 From: Shashank Mittal Date: Thu, 12 Jun 2014 21:58:01 -0700 Subject: [PATCH 210/641] AppOps: Add new appos policy file. AppOps policy file can be used to configure default permissions of OPs. Change-Id: I3920c37e11d5bb104245e264915dc72e7e97e64e --- appops/Android.mk | 19 +++++ appops/README.txt | 125 +++++++++++++++++++++++++++++ appops/appops_policy.xml | 44 +++++++++++ appops/appops_policy.xsd | 165 +++++++++++++++++++++++++++++++++++++++ base.mk | 4 + 5 files changed, 357 insertions(+) create mode 100644 appops/Android.mk create mode 100644 appops/README.txt create mode 100644 appops/appops_policy.xml create mode 100644 appops/appops_policy.xsd diff --git a/appops/Android.mk b/appops/Android.mk new file mode 100644 index 000000000..09ba90baf --- /dev/null +++ b/appops/Android.mk @@ -0,0 +1,19 @@ +define validate-xml-file + @echo "validating xml: $2" + @xmllint --noout --schema $1 $2 +endef +LOCAL_PATH:= $(call my-dir) +####################################### + +include $(CLEAR_VARS) +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE := appops_policy.xml +APPOPS_POLICY_XSD_FILE := $(LOCAL_PATH)/appops_policy.xsd +include $(BUILD_SYSTEM)/base_rules.mk + +$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/appops_policy.xml $(APPOPS_POLICY_XSD_FILE) $(ACP) + @echo Validating $< + @xmllint --noout --schema $(APPOPS_POLICY_XSD_FILE) $< + $(copy-file-to-target) +####################################### + diff --git a/appops/README.txt b/appops/README.txt new file mode 100644 index 000000000..3c028afb9 --- /dev/null +++ b/appops/README.txt @@ -0,0 +1,125 @@ +=============================================================================== +Copyright (c) 2014, The Linux Foundation. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +=============================================================================== + +1. Introduction: +---------------- + Android provides support for AppOps service to manage and control + user-permissions of different operations of installed packages. + + AppOps service reads /system/etc/appops_policy.xml file to read all default + user-permissions of different operations of installed packages. + +2. AppOps Policy File: +---------------------- + AppOps policy file can be used to assign default permissions to both system + and user installed applications. Since hardcoded in AppOpsService this file + should be at /system/etc/appops_policy.xml path on the device. + + Following section talks about various tags used in appops_policy.xml file: + + 2.1 appops-policy + This is the root tag of appops_policy file. + + Parameters: + i) version (Required) -This parameter defines the version of + appops_policy.xml format. It should be set to "1". + + Tags: + i) user-app - section to configure default permissions of user + installed apps. + ii) system-app - section to configure default permissions of preset + (system) apps + iii) application - section to override default permission of particular + packages. + 2.2 user-app + This tag is used to set default permission of user installed applications. + + Parameters: + i) permission - To set default permission of all user installed apps. + ii) show - To show/hide operations in app ops settings activity. + + Tags: + + + 2.3 system-app + This tag is used to set default permission of preset installed applications. + + Parameters: + i) permission - To set default permission of all system installed apps. + ii) show - To show/hide operations in app ops settings activity. + + Tags: + + + 2.4 application + This tag is used to set default permission of specific applications. + + Parameters: + + + Tags: + i) pkg - section to set default permission of specific package. + + 2.5 pkg + This tag is used to set default permission of specific package. + + Parameters: + i) name - To specify name of the package. + ii) type - To set if package is part of preset or user installed application. + iii) permission - To set default permission of package's all operations. + iv) show - To show/hide operations in app ops settings activity. + + Tags: + i) op - section to set defualt permission of an operation. + + 2.5 op + This tag is used to set default permission of specific operation + + Parameters: + i) name - To specify name of the operation + ii) permission - To set default permisison of operation + iii) show - To show/hide operation in app ops settings activity. + +3 Example: +---------- + + + + + + + + + + + + + + + diff --git a/appops/appops_policy.xml b/appops/appops_policy.xml new file mode 100644 index 000000000..bbc489b7e --- /dev/null +++ b/appops/appops_policy.xml @@ -0,0 +1,44 @@ + + + + + + + + + + diff --git a/appops/appops_policy.xsd b/appops/appops_policy.xsd new file mode 100644 index 000000000..0f27d1651 --- /dev/null +++ b/appops/appops_policy.xsd @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/base.mk b/base.mk index a6dcd179e..fce8e579c 100644 --- a/base.mk +++ b/base.mk @@ -58,6 +58,9 @@ ALSA_UCM += snd_soc_msm_samarium_Tapan #ANGLE ANGLE := libangle +#APPOPS_POLICY +APPOPS_POLICY := appops_policy.xml + AUDIO_HARDWARE := audio.primary.mpq8064 AUDIO_HARDWARE += audio.primary.apq8084 AUDIO_HARDWARE += audio.primary.msm8960 @@ -589,6 +592,7 @@ PRODUCT_PACKAGES := \ PRODUCT_PACKAGES += $(ALSA_HARDWARE) PRODUCT_PACKAGES += $(ALSA_UCM) PRODUCT_PACKAGES += $(ANGLE) +PRODUCT_PACKAGES += $(APPOPS_POLICY) PRODUCT_PACKAGES += $(AUDIO_HARDWARE) PRODUCT_PACKAGES += $(AUDIO_POLICY) PRODUCT_PACKAGES += $(TINY_ALSA_TEST_APPS) From e63fd036387f2e7bee7e2e1b2221322b71f4613f Mon Sep 17 00:00:00 2001 From: padarshr Date: Fri, 8 Aug 2014 11:09:37 +0530 Subject: [PATCH 211/641] ferrum_512: Bringup changes. 1. Adding in board platform list. 2. Adding lunch option for ferrum_512 product. Change-Id: I5738a993fafe1ab7d024dc2c415beaef82b1fa73 --- base.mk | 1 + vendorsetup.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/base.mk b/base.mk index 3d7f6482e..ceef0a599 100644 --- a/base.mk +++ b/base.mk @@ -12,6 +12,7 @@ QCOM_BOARD_PLATFORMS += msm8916_32_512 QCOM_BOARD_PLATFORMS += msm8916_64 QCOM_BOARD_PLATFORMS += msm8994 QCOM_BOARD_PLATFORMS += ferrum +QCOM_BOARD_PLATFORMS += ferrum_512 QSD8K_BOARD_PLATFORMS := qsd8k diff --git a/vendorsetup.sh b/vendorsetup.sh index 4981a59bf..cdaa2ba4e 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -40,3 +40,4 @@ add_lunch_combo msm8916_64-userdebug add_lunch_combo msm8994-userdebug add_lunch_combo thulium-userdebug add_lunch_combo ferrum-userdebug +add_lunch_combo ferrum_512-userdebug From 464725c09ac633184637eaf875928437da99ff1a Mon Sep 17 00:00:00 2001 From: Ashay Jaiswal Date: Thu, 14 Aug 2014 17:20:52 +0530 Subject: [PATCH 212/641] init script: fix chmod command line option 'chmod' command does not support '-h' option. Update 'chmod' command line option in the init script. CRs-Fixed: 709723 Change-Id: Ie10cbd8c04308cd7de8b9496f3b64a9ab6cb881e --- rootdir/etc/init.qcom.sh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 941645fa4..b127f2825 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -57,11 +57,11 @@ start_battery_monitor() chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_data chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_temp chown -h root.system /sys/bus/spmi/devices/qpnp-bms-*/fcc_chgcyl - chmod -h 0660 /sys/module/qpnp_bms/parameters/* - chmod -h 0660 /sys/module/pm8921_bms/parameters/* + chmod 0660 /sys/module/qpnp_bms/parameters/* + chmod 0660 /sys/module/pm8921_bms/parameters/* mkdir -p /data/bms chown -h root.system /data/bms - chmod -h 0770 /data/bms + chmod 0770 /data/bms start battery_monitor fi } @@ -74,11 +74,11 @@ start_charger_monitor() chown -h root.system /sys/class/power_supply/battery/input_current_trim chown -h root.system /sys/class/power_supply/battery/input_current_settled chown -h root.system /sys/class/power_supply/battery/voltage_min - chmod -h 0664 /sys/class/power_supply/battery/input_current_max - chmod -h 0664 /sys/class/power_supply/battery/input_current_trim - chmod -h 0664 /sys/class/power_supply/battery/input_current_settled - chmod -h 0664 /sys/class/power_supply/battery/voltage_min - chmod -h 0664 /sys/module/qpnp_charger/parameters/charger_monitor + chmod 0664 /sys/class/power_supply/battery/input_current_max + chmod 0664 /sys/class/power_supply/battery/input_current_trim + chmod 0664 /sys/class/power_supply/battery/input_current_settled + chmod 0664 /sys/class/power_supply/battery/voltage_min + chmod 0664 /sys/module/qpnp_charger/parameters/charger_monitor start charger_monitor fi } @@ -88,8 +88,8 @@ start_vm_bms() if [ -e /dev/vm_bms ]; then chown -h root.system /sys/class/power_supply/bms/current_now chown -h root.system /sys/class/power_supply/bms/voltage_ocv - chmod -h 0664 /sys/class/power_supply/bms/current_now - chmod -h 0664 /sys/class/power_supply/bms/voltage_ocv + chmod 0664 /sys/class/power_supply/bms/current_now + chmod 0664 /sys/class/power_supply/bms/voltage_ocv start vm_bms fi } From c16aa7fd5e301e9f869b5f547b4a428040ba3cb2 Mon Sep 17 00:00:00 2001 From: Satish Kumar Singh Date: Thu, 3 Apr 2014 11:47:43 -0700 Subject: [PATCH 213/641] NFC: enable Smart Card Service assd device driver Set permissions for Android Seek service. Change-Id: I21215da48645159672b067179497c9adfc2a36dd --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 56f062723..f9e6302b9 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -187,6 +187,7 @@ /dev/wcnss_ctrl 0660 system system #nfc permissions /dev/nfc-nci 0660 nfc nfc +/dev/assd 0660 nfc nfc # UIO devices /dev/uio0 0660 system system From 8d4cfd37820f093ac81a4590c90b0cf5fb81acc2 Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Wed, 25 Jun 2014 12:13:00 -0700 Subject: [PATCH 214/641] common: add sched boost enum Add enum for enabling sched boost in PerfLock Change-Id: I252953c79a5194f75384140c20dd413e7518c14e --- power/performance.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/power/performance.h b/power/performance.h index 9b3367532..f9d66498b 100755 --- a/power/performance.h +++ b/power/performance.h @@ -173,6 +173,10 @@ enum INTERACTIVE_IO_BUSY_LVL { INTERACTIVE_IO_BUSY_OFF = 0x1B00, INTERACTIVE_IO_BUSY_ON = 0x1B01, }; + +enum SCHED_BOOST_LVL { + SCHED_BOOST_ON = 0x1E01, +}; #ifdef __cplusplus } #endif From daef8c8ce9935bb5f7fa0f30fbdb894187e0ba29 Mon Sep 17 00:00:00 2001 From: Archana Sathyakumar Date: Wed, 13 Aug 2014 16:07:05 -0600 Subject: [PATCH 215/641] init: msm8994: Initialize energy-aware driver Estimate per core power consumption and initialize the energy-aware driver with these values. Depends-on: 885673 Change-Id: I85fb4a1029d3dc1f8f1d38247a7e4a2117986771 --- rootdir/etc/init.qcom.post_boot.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 752e87944..377fb8a64 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -608,6 +608,7 @@ case "$target" in do echo "bw_hwmon" > $devfreq_gov done + /system/bin/energy-awareness ;; esac From 1695a8d3de64b7a4a1ee89a0d46a59e6268b9121 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Wed, 26 Mar 2014 12:59:05 -0700 Subject: [PATCH 216/641] init.qcom.rc: Add support for setting ssr configurations We can now enable/disable SSR on a single or a group of peripherals by setting the persist.sys.ssr.restart_level property to the list of peripherals which we want SSR to be enabled for. Change-Id: I0b0d54985a863e92343f0a08865cb30f0f433853 --- base.mk | 2 +- rootdir/etc/init.qcom.rc | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/base.mk b/base.mk index ceef0a599..191f35fdc 100644 --- a/base.mk +++ b/base.mk @@ -221,7 +221,7 @@ INIT += ueventd.qcom.rc INIT += init.ath3k.bt.sh INIT += qca6234-service.sh INIT += init.qcom.audio.sh -INIT += init.qcom.ssr.sh +INIT += ssr_setup INIT += enable_swap.sh INIT += init.mdm.sh INIT += fstab.qcom diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 18e9e6c00..94f66a7db 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -271,6 +271,13 @@ service usbhub_init /system/bin/usbhub_init service qcomsysd /system/bin/qcom-system-daemon class main +service ssr_setup /system/bin/ssr_setup + oneshot + disabled + +on property:persist.sys.ssr.restart_level=* + start ssr_setup + on property:sys.boot_completed=1 write /dev/kmsg "Boot completed " From d3995485ad3a5afc07addbd2b80f149002a1ab2b Mon Sep 17 00:00:00 2001 From: Mahesh Lanka Date: Sun, 17 Aug 2014 16:58:40 +0530 Subject: [PATCH 217/641] base.mk: including extendedmediaextractor libs and jar Add extendedmediaextractor libs and jar to product packages to make it part of system Change-Id: Ib3bbee1b5dba16c3a55f7059fc2dc2d382779c54 --- base.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/base.mk b/base.mk index 9a9373b8f..48d07222b 100644 --- a/base.mk +++ b/base.mk @@ -141,7 +141,11 @@ DASH := libdashplayer DASH += qcmediaplayer #EXTENDEDMEDIA_EXT -EXTENDEDMEDIA_EXT := extendedmediaextractor +EXTENDEDMEDIA_EXT := libextendedmediaextractor +EXTENDEDMEDIA_EXT += libextendedmediaextractor_jni +EXTENDEDMEDIA_EXT += extendedmediaextractor +EXTENDEDMEDIA_EXT += ExtendedMediaPlayer + #DATA_OS DATA_OS := librmnetctl From 895e54f6316dd030161918f02b6d469854684264 Mon Sep 17 00:00:00 2001 From: Praveena Pachipulusu Date: Fri, 4 Apr 2014 12:20:24 +0530 Subject: [PATCH 218/641] init: Add MSM-specific init extension library Implement MSM-specific initialization during boot up at "init" stage. Set DPI property based on panel resolutions by reading virtual_size sysfs entry. Change-Id: Ie0e1b5e68c72abe4aa11edbd4700bef3208dd461 --- init/init_msm8916.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/init/init_msm8916.c b/init/init_msm8916.c index a0aa31ad9..1dfc3b29f 100644 --- a/init/init_msm8916.c +++ b/init/init_msm8916.c @@ -36,12 +36,33 @@ #include "init_msm.h" +#define VIRTUAL_SIZE "/sys/class/graphics/fb0/virtual_size" +#define BUF_SIZE 64 + void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type) { + char platform[PROP_VALUE_MAX], *virtual_size = NULL; + int rc; + char str[BUF_SIZE]; + UNUSED(msm_id); UNUSED(msm_ver); UNUSED(board_type); + rc = property_get("ro.board.platform", platform); + if (!rc || !ISMATCH(platform, ANDROID_TARGET)) + return; + + rc = read_file2(VIRTUAL_SIZE, str, sizeof(str)); + if (rc) { + virtual_size = strtok(str,","); + } + + if (!strncmp(virtual_size,"1080",strlen(virtual_size))) { + property_set(PROP_LCDDENSITY, "480"); + } else + property_set(PROP_LCDDENSITY, "320"); + if (msm_id == 206) { property_set("media.swhevccodectype", "1"); } From 003ead94d6bf339d105041bb725447942c9d4586 Mon Sep 17 00:00:00 2001 From: Praveena Pachipulusu Date: Tue, 22 Apr 2014 16:04:05 +0530 Subject: [PATCH 219/641] init_msm8916: Properly handle reading sysfs node Properly handle failure to read sysfs file used to determine the lcd density. Change-Id: I864f67e9c9489b20f3634179e277fb5ad6096af0 --- init/init_msm8916.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/init/init_msm8916.c b/init/init_msm8916.c index 1dfc3b29f..fd2fccb8f 100644 --- a/init/init_msm8916.c +++ b/init/init_msm8916.c @@ -41,8 +41,9 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type) { - char platform[PROP_VALUE_MAX], *virtual_size = NULL; + char platform[PROP_VALUE_MAX]; int rc; + unsigned long virtual_size = 0; char str[BUF_SIZE]; UNUSED(msm_id); @@ -50,16 +51,23 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar UNUSED(board_type); rc = property_get("ro.board.platform", platform); - if (!rc || !ISMATCH(platform, ANDROID_TARGET)) + if (!rc || !ISMATCH(platform, ANDROID_TARGET)){ return; + } rc = read_file2(VIRTUAL_SIZE, str, sizeof(str)); if (rc) { - virtual_size = strtok(str,","); + virtual_size = strtoul(str, NULL, 0); } - if (!strncmp(virtual_size,"1080",strlen(virtual_size))) { + if(virtual_size >= 1080) { property_set(PROP_LCDDENSITY, "480"); + } else if (virtual_size >= 720) { + // For 720x1280 resolution + property_set(PROP_LCDDENSITY, "320"); + } else if (virtual_size >= 480) { + // For 480x854 resolution QRD. + property_set(PROP_LCDDENSITY, "240"); } else property_set(PROP_LCDDENSITY, "320"); From aea4871eaf834f9b59304da913d9b7d0a5f0784e Mon Sep 17 00:00:00 2001 From: Chaitanya Saggurthi Date: Fri, 8 Aug 2014 20:34:23 +0530 Subject: [PATCH 220/641] (MSIM):Add multi SIM support start ril daemons based on multi sim property "persist.radio.multisim.config". Change-Id: Iafa2b0fbd9ff15c2e26b9c05f6c5b8f2ad2adabe --- rootdir/etc/init.class_main.sh | 4 ++-- rootdir/etc/init.qcom.rc | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/rootdir/etc/init.class_main.sh b/rootdir/etc/init.class_main.sh index 2e8e9c1a5..97686b986 100644 --- a/rootdir/etc/init.class_main.sh +++ b/rootdir/etc/init.class_main.sh @@ -62,10 +62,10 @@ case "$baseband" in multisim=`getprop persist.radio.multisim.config` if [ "$multisim" = "dsds" ] || [ "$multisim" = "dsda" ]; then - start ril-daemon1 + start ril-daemon2 elif [ "$multisim" = "tsts" ]; then - start ril-daemon1 start ril-daemon2 + start ril-daemon3 fi case "$datamode" in diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index b3aa0c966..ead0da87b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -694,18 +694,18 @@ service battery_monitor /system/bin/battery_monitor group system disabled -service ril-daemon1 /system/bin/rild -c 1 +service ril-daemon2 /system/bin/rild -c 2 class main - socket rild1 stream 660 root radio - socket rild-debug1 stream 660 radio system + socket rild2 stream 660 root radio + socket rild-debug2 stream 660 radio system user root disabled group radio cache inet misc audio sdcard_r sdcard_rw diag qcom_diag log -service ril-daemon2 /system/bin/rild -c 2 +service ril-daemon3 /system/bin/rild -c 3 class main - socket rild2 stream 660 root radio - socket rild-debug2 stream 660 radio system + socket rild3 stream 660 root radio + socket rild-debug3 stream 660 radio system user root disabled group radio cache inet misc audio sdcard_r sdcard_rw diag qcom_diag log From 9475b00122859b03ab0ee0dec73f81228ab5643e Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Mon, 11 Aug 2014 23:09:30 -0700 Subject: [PATCH 221/641] init.qcom.post_boot: enable perfd for msm8994 msm8994 will use perfd instead of mpdecision to host PerfLock Change-Id: Ib95952fdd6b8eea472cdb50694e959658eff9a42 --- rootdir/etc/init.qcom.post_boot.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 752e87944..aa0a49df6 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1,5 +1,5 @@ #!/system/bin/sh -# Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. +# Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -661,6 +661,9 @@ case "$target" in start mpdecision echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb ;; + "msm8994") + start perfd + ;; "apq8084") rm /data/system/default_values start mpdecision From a4a06356b5d287f24169f005c2635028ecb49460 Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Tue, 19 Aug 2014 16:09:46 -0600 Subject: [PATCH 222/641] init.qcom.rc: Restored TCP performance tuning This patch tunes the TCP buffer sizes for high performance data links including global max rmem and wmem. CRs-Fixed: 711771 Change-Id: Ie60da9db2769a33026c94b81443be7f6ff946709 --- rootdir/etc/init.qcom.rc | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 94f66a7db..e364fdb0b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -124,8 +124,8 @@ on boot # Define TCP buffer sizes for various networks # ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, - setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208 - setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576 + setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208 + setprop net.tcp.buffersize.lte 2097152,4194304,8388608,262144,524288,1048576 setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208 setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608 setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608 @@ -133,12 +133,12 @@ on boot setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608 setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040 setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680 - setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144 + setprop net.tcp.buffersize.evdo 4094,87380,524288,4096,16384,262144 # Assign TCP buffer thresholds to be ceiling value of technology maximums # Increased technology maximums should be reflected here. - write /proc/sys/net/core/rmem_max 2097152 - write /proc/sys/net/core/wmem_max 2097152 + write /proc/sys/net/core/rmem_max 8388608 + write /proc/sys/net/core/wmem_max 8388608 #To allow interfaces to get v6 address when tethering is enabled write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 From ed3be530b574aeb535361c438097de379a6fb0c1 Mon Sep 17 00:00:00 2001 From: Mingming Yin Date: Tue, 8 Jul 2014 15:07:43 -0700 Subject: [PATCH 223/641] audio: add default audio_policy.conf - Add default audio_policy.conf in common - This config file contains only AOSP audio profiles. All extended profiles are removed - This config file is used when USE_CUSTOM_AUDIO_POLICY is not set or not set to 1. Change-Id: I88d099bb33e63e8b988a0d6862ce775e7b0bc8ea --- media/audio_policy.conf | 127 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 media/audio_policy.conf diff --git a/media/audio_policy.conf b/media/audio_policy.conf new file mode 100644 index 000000000..7b1f0662f --- /dev/null +++ b/media/audio_policy.conf @@ -0,0 +1,127 @@ +# Global configuration section: +# - lists input and output devices always present on the device +# as well as the output device selected by default. +# Devices are designated by a string that corresponds to the enum in audio.h +# - defines whether the speaker output path uses DRC +# "TRUE" means DRC is enabled, "FALSE" or omission means DRC isn't used. + +global_configuration { + attached_output_devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER + default_output_device AUDIO_DEVICE_OUT_SPEAKER + attached_input_devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_BACK_MIC|AUDIO_DEVICE_IN_REMOTE_SUBMIX + speaker_drc_enabled TRUE +} + +# audio hardware module section: contains descriptors for all audio hw modules present on the +# device. Each hw module node is named after the corresponding hw module library base name. +# For instance, "primary" corresponds to audio.primary..so. +# The "primary" module is mandatory and must include at least one output with +# AUDIO_OUTPUT_FLAG_PRIMARY flag. +# Each module descriptor contains one or more output profile descriptors and zero or more +# input profile descriptors. Each profile lists all the parameters supported by a given output +# or input stream category. +# The "channel_masks", "formats", "devices" and "flags" are specified using strings corresponding +# to enums in audio.h and audio_policy.h. They are concatenated by use of "|" without space or "\n". + +audio_hw_modules { + primary { + outputs { + primary { + sampling_rates 44100|48000 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL + flags AUDIO_OUTPUT_FLAG_PRIMARY + } + deep_buffer { + sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_EARPIECE|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_AUX_DIGITAL + flags AUDIO_OUTPUT_FLAG_DEEP_BUFFER + } + hdmi { + sampling_rates 44100|48000 + channel_masks dynamic + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_AUX_DIGITAL + flags AUDIO_OUTPUT_FLAG_DIRECT + } + compress_offload { + sampling_rates 8000|11025|16000|22050|32000|44100|48000 + channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_MP3|AUDIO_FORMAT_AAC_LC|AUDIO_FORMAT_AAC_HE_V1|AUDIO_FORMAT_AAC_HE_V2 + devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_WIRED_HEADSET|AUDIO_DEVICE_OUT_WIRED_HEADPHONE + flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD|AUDIO_OUTPUT_FLAG_NON_BLOCKING + } + } + inputs { + primary { + sampling_rates 8000|11025|12000|16000|22050|24000|32000|44100|48000 + channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO|AUDIO_CHANNEL_IN_FRONT_BACK + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_IN_BUILTIN_MIC|AUDIO_DEVICE_IN_WIRED_HEADSET|AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET|AUDIO_DEVICE_IN_VOICE_CALL|AUDIO_DEVICE_IN_BACK_MIC + } + } + } + a2dp { + outputs { + a2dp { + sampling_rates 44100 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_ALL_A2DP + } + } + inputs { + a2dp { + sampling_rates 44100|48000 + channel_masks AUDIO_CHANNEL_IN_MONO|AUDIO_CHANNEL_IN_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_IN_BLUETOOTH_A2DP + } + } + } + usb { + outputs { + usb_accessory { + sampling_rates 44100 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_USB_ACCESSORY + } + usb_device { + sampling_rates dynamic + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats dynamic + devices AUDIO_DEVICE_OUT_USB_DEVICE + } + } + inputs { + usb_device { + sampling_rates dynamic + channel_masks AUDIO_CHANNEL_IN_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_IN_USB_DEVICE + } + } + } + r_submix { + outputs { + submix { + sampling_rates 48000 + channel_masks AUDIO_CHANNEL_OUT_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_OUT_REMOTE_SUBMIX + } + } + inputs { + submix { + sampling_rates 48000 + channel_masks AUDIO_CHANNEL_IN_STEREO + formats AUDIO_FORMAT_PCM_16_BIT + devices AUDIO_DEVICE_IN_REMOTE_SUBMIX + } + } + } +} From 6d5a909bde55a57efc4ef0cbc76ad9cac9dcc17d Mon Sep 17 00:00:00 2001 From: AnubhavGupta Date: Wed, 20 Aug 2014 21:38:12 +0530 Subject: [PATCH 224/641] Bluetooth: Enable A2DP Sink - Enable A2DP Sink Change-Id: Ifd438e3acbe43887c290b11b3d9083f105f93a2f --- device/overlay/packages/apps/Bluetooth/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/device/overlay/packages/apps/Bluetooth/res/values/config.xml b/device/overlay/packages/apps/Bluetooth/res/values/config.xml index 9fef17812..cdd071a58 100644 --- a/device/overlay/packages/apps/Bluetooth/res/values/config.xml +++ b/device/overlay/packages/apps/Bluetooth/res/values/config.xml @@ -32,4 +32,5 @@ true true + true From 610654967b017c27d9190b0d1b0a12dc4824e383 Mon Sep 17 00:00:00 2001 From: Amir Vajid Date: Tue, 12 Aug 2014 19:25:49 -0700 Subject: [PATCH 225/641] init: qcom: post_boot: use interactive gov with sched input for msm8994 Set cpufreq governor to interactive for both clusters on msm8994. Also set up tunables per cluster to query the load from the scheduler and enable migration notifications from the scheduler. Change-Id: I24e197ee6ec4e2e94bbc6e8499f819be3a951cf4 --- rootdir/etc/init.qcom.post_boot.sh | 40 ++++++++++++++++-------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 377fb8a64..9455fec5e 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -582,27 +582,29 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu6/online echo 1 > /sys/devices/system/cpu/cpu7/online echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - # enable interactive first in case interactive_pro doesn't exist + # configure governor settings for little cluster echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo "interactive_pro" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "20000 600000:40000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/timer_rate - echo 940800 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/io_is_busy - echo "85 600000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/target_loads - echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive_pro/min_sample_time + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo "20000 600000:40000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 940800 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "85 600000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time echo 199200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq - # enable governor for performance cluster - echo "interactive_pro" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo "20000 600000:40000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/go_hispeed_load - echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/timer_rate - echo 600000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/io_is_busy - echo "85 600000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/target_loads - echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive_pro/min_sample_time + # configure governor settings for big cluster + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo "20000 600000:40000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 600000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "85 600000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time echo 199200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do From e60dbe2ab876b3db73e8469bef5969b02c6a0e23 Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Tue, 19 Aug 2014 16:00:05 -0600 Subject: [PATCH 226/641] init.qcom.post_boot.sh: Enable RPS configuration for 8994 Enable RPS configuration on 8994 by statically assigning it to core 3. In stock configuration, we are observing worker queue starvation due to contention with network stack and this leads to data stalls. CRs-fixed: 711771 Change-Id: I3933aea9d5495053adcd4854c76e53b2ed0fd551 --- rootdir/etc/init.qcom.post_boot.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 377fb8a64..23f4dd460 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -609,6 +609,8 @@ case "$target" in echo "bw_hwmon" > $devfreq_gov done /system/bin/energy-awareness + #enable rps static configuration + echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus ;; esac From 729e3bdbe62bd939bbf7a8518196c3a8a245612c Mon Sep 17 00:00:00 2001 From: Kishore Srivenkata Ganesh Bolisetty Date: Thu, 10 Jul 2014 15:39:53 +0530 Subject: [PATCH 227/641] Enable ZRAM on devices with less than 1 GB RAM This patch turns on the property ro.config.zram during post boot if memtotal is less than 1 GB. Change-Id: I49276e2c121d53a907ce54e1bd5ee3efbb46b651 --- base.mk | 1 + rootdir/Android.mk | 7 +++++++ rootdir/etc/init.qcom.rc | 6 ++++++ rootdir/etc/init.qcom.zram.sh | 38 +++++++++++++++++++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 rootdir/etc/init.qcom.zram.sh diff --git a/base.mk b/base.mk index c4d053f2b..b0ba6d75a 100644 --- a/base.mk +++ b/base.mk @@ -229,6 +229,7 @@ INIT += ssr_setup INIT += enable_swap.sh INIT += init.mdm.sh INIT += fstab.qcom +INIT += init.qcom.zram.sh #IPROUTE2 IPROUTE2 := ip diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 13cd0cdf6..106311a9f 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -189,3 +189,10 @@ LOCAL_MODULE_CLASS := ETC LOCAL_SRC_FILES := etc/init.mdm.sh LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.zram.sh +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qcom.zram.sh +include $(BUILD_PREBUILT) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 7b13589b7..62739e360 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -659,9 +659,15 @@ service wifi-crda /system/bin/sh /system/etc/init.crda.sh disabled oneshot +service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh + class late_start + user root + disabled + oneshot on property:sys.boot_completed=1 start qcom-post-boot + start config-zram service atfwd /system/bin/ATFWD-daemon class late_start diff --git a/rootdir/etc/init.qcom.zram.sh b/rootdir/etc/init.qcom.zram.sh new file mode 100644 index 000000000..b13db629b --- /dev/null +++ b/rootdir/etc/init.qcom.zram.sh @@ -0,0 +1,38 @@ +#!/system/bin/sh +# Copyright (c) 2014, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# The script will check total_ram and enable zram for devices with total_ram +# less or equals to 1GB + +MemTotalStr=`cat /proc/meminfo | grep MemTotal` +MemTotal=${MemTotalStr:16:8} +ZRAM_THRESHOLD=1048576 +IsLowMemory=0 +((IsLowMemory=MemTotal Date: Tue, 12 Aug 2014 11:59:55 -0700 Subject: [PATCH 228/641] base.mk: disable BT apps based on TARGET_USES_AOSP This disables packages: BluetoothExt, BTTestApp, and HiddTestApp based on flag TARGET_USES_AOSP. Change-Id: Idb59d50d2687e6275083c2c723be1ffa3540a57b --- base.mk | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/base.mk b/base.mk index c4d053f2b..f300cdd04 100644 --- a/base.mk +++ b/base.mk @@ -563,9 +563,6 @@ PRODUCT_PACKAGES := \ DeskClock \ AlarmProvider \ Bluetooth \ - BluetoothExt \ - BTTestApp \ - HiddTestApp \ Calculator \ Calendar \ Camera \ @@ -594,6 +591,14 @@ PRODUCT_PACKAGES := \ FMRecord \ VideoEditor + +ifneq ($(TARGET_USES_AOSP),true) +PRODUCT_PACKAGES := \ + BluetoothExt \ + BTTestApp \ + HiddTestApp +endif + PRODUCT_PACKAGES += $(ALSA_HARDWARE) PRODUCT_PACKAGES += $(ALSA_UCM) PRODUCT_PACKAGES += $(ANGLE) From a98982f56485e79b34589036d1b1562ef4cf7a5c Mon Sep 17 00:00:00 2001 From: Vinay Roy Date: Tue, 8 Apr 2014 15:57:47 +0530 Subject: [PATCH 229/641] init.qcom.post_boot: Correcting the interactive governor parameters. Updating the 8916 interactive governor parameters as per available frequency. Change-Id: I674ca353b5c909425e4500d8504b092e5fa3a52f --- rootdir/etc/init.qcom.post_boot.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 76e5b03b0..6628aee88 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -446,12 +446,12 @@ esac case "$target" in "msm8916") echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "25000 1094400:50000 1344000:25000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo "25000 800000:50000 1094400:25000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 787200 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo 1 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "85 787200:90 998400:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo "85 800000:90 998400:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor ;; From e527e281fe5df04b125817093f094abee60fc477 Mon Sep 17 00:00:00 2001 From: Vinay Roy Date: Wed, 9 Apr 2014 15:48:22 +0530 Subject: [PATCH 230/641] init.qcom.post_boot: Setting minimum freq for 8916 to 800MHz. For 8916 the acpu scaling_min_freq should be 800MHz. Change-Id: Icbde45ffa230b3217e35ae5883eac8944ab2a5d2 --- rootdir/etc/init.qcom.post_boot.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 6628aee88..e0f91155d 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -454,6 +454,7 @@ case "$target" in echo "85 800000:90 998400:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq ;; esac From b4aa38a18e1995be26789b8a23a5332e84901b46 Mon Sep 17 00:00:00 2001 From: Archana Sathyakumar Date: Mon, 14 Apr 2014 12:05:36 -0600 Subject: [PATCH 231/641] init.qcom.post_boot: Enable idle pc for secondary core. Currently, idle pc is enabled only for core 0. Enable them for secondary cores for supported targets. Change-Id: I1cc29b5ad99653f709832076cf7a2e2868141206 --- rootdir/etc/init.qcom.post_boot.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index e0f91155d..f7ab45a6c 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -351,6 +351,9 @@ case "$target" in echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online @@ -373,6 +376,9 @@ case "$target" in echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online @@ -415,6 +421,9 @@ case "$target" in echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled + echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online From 47b588ae647fbdd07ac9e8a0ab7210da243316b0 Mon Sep 17 00:00:00 2001 From: Vinay Roy Date: Wed, 23 Apr 2014 19:03:17 +0530 Subject: [PATCH 232/641] init.qcom.post_boot: Tuning the interactive governor parameters For 8916 the interactive governor parameters are tuned for power/performance. Change-Id: I8aa55e945a58f6b1df4ca91cb4444cdddc1e170d --- rootdir/etc/init.qcom.post_boot.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index f7ab45a6c..2ac258e41 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -455,14 +455,14 @@ esac case "$target" in "msm8916") echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "25000 800000:50000 1094400:25000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo 1 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "85 800000:90 998400:70" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo "85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 100000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq ;; esac From 1cefca7a514a9e1ec030c8812f1a46b77ed50e24 Mon Sep 17 00:00:00 2001 From: Stewart Chao Date: Fri, 3 May 2013 11:52:53 -0400 Subject: [PATCH 233/641] init: qcom: Install SWE_Browser.apk on first bootup. Install SWE_Browser.apk from /data/prebuilt if it is not already installed. CRs-fixed: 657017 Change-Id: I48c9acbf3257121b3d89dec2f779aa61b50eff43 --- rootdir/etc/init.qcom.post_boot.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 2ac258e41..b39a1d559 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -734,9 +734,9 @@ if [ -f /data/prebuilt/AdrenoTest.apk ]; then fi # Install SWE_Browser.apk if not already installed -if [ -f /data/prebuilt/SWE_Browser.apk ]; then - if [ ! -d /data/data/org.codeaurora.swe.browser ]; then - pm install /data/prebuilt/SWE_Browser.apk +if [ -f /data/prebuilt/SWE_AndroidBrowser.apk ]; then + if [ ! -d /data/data/com.android.swe.browser ]; then + pm install /data/prebuilt/SWE_AndroidBrowser.apk fi fi From f45a812490932254212f21d39f54eb83efd1dcc6 Mon Sep 17 00:00:00 2001 From: Shirish Kumar Agarwal Date: Mon, 5 May 2014 10:53:16 +0530 Subject: [PATCH 234/641] init.qcom.post_boot: Disable io_busy for 8916 Disable io_busy for 8916 target with interactive governor. This will help save Gfx power. Change-Id: I1a211e3fb8dee5803013fe0b7a524767d51d72ce --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index b39a1d559..88be02703 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -459,7 +459,7 @@ case "$target" in echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 1 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy echo "85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor From aa0066b99879b3b5f53335e2cc725da7ab15ed1f Mon Sep 17 00:00:00 2001 From: Anil kumar mamidala Date: Fri, 22 Aug 2014 16:09:41 +0530 Subject: [PATCH 235/641] init: qcom: post_boot: Enable low power modes for 8916, 8939 and 8936 With cluster architecture the low power mode sysfs nodes are changed. Enable all low power modes through single control now for both these targets. Change-Id: I5ea404490742f679bf08fe1053854941afa9453c --- rootdir/etc/init.qcom.post_boot.sh | 112 +++++++++++++++++++++-------- 1 file changed, 82 insertions(+), 30 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 88be02703..3e2aa9e5c 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -337,26 +337,28 @@ esac case "$target" in "msm8916") - echo 4 > /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 1 > /sys/module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu0/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu1/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu2/power_collapse/idle_enabled - echo 1 > /sys/module/msm_pm/modes/cpu3/power_collapse/idle_enabled - 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 [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + case "$soc_id" in + "206") + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + ;; + "239" | "241" ) + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; + "233") + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + ;; + esac ;; esac @@ -454,16 +456,66 @@ esac case "$target" in "msm8916") - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + # Apply governor settings for 8916 + case "$soc_id" in + "206") + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + ;; + esac + + # Apply governor settings for 8939 + case "$soc_id" in + "239" | "241" ) + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + done + # enable governor for perf cluster + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "25000 800000:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 25000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "85 800000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor + echo 400000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable governor for power cluster + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo "25000 499200:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 25000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 499200 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "85 499200:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor + echo 249600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + ;; + esac ;; esac From 91e0d6de4c8bca43bf9c1d972ca2d49fb9083365 Mon Sep 17 00:00:00 2001 From: Krishna Vanka Date: Tue, 12 Aug 2014 17:03:27 +0530 Subject: [PATCH 236/641] init.qcom.post_boot.sh: Add scheduler packing settings Enable Task Packing logic for targets with HMP Scheduler. Change-Id: Ib499e149c02944a2896aedd92c63758a6b35bd0b --- rootdir/etc/init.qcom.post_boot.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 3e2aa9e5c..52f89b5ec 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -462,6 +462,11 @@ case "$target" in soc_id=`cat /sys/devices/system/soc/soc0/id` fi + # Apply HMP Task packing for 8916, 8936 and 8939 + echo 30 > /proc/sys/kernel/sched_small_task + echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + # Apply governor settings for 8916 case "$soc_id" in "206") @@ -514,7 +519,7 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu5/online echo 1 > /sys/devices/system/cpu/cpu6/online echo 1 > /sys/devices/system/cpu/cpu7/online - ;; + ;; esac ;; esac From 5faa857e210be41ee59d2e026d986e34f2b1a8a2 Mon Sep 17 00:00:00 2001 From: AnilKumar Chimata Date: Wed, 13 Aug 2014 18:08:59 +0530 Subject: [PATCH 237/641] common: Enable kernel module signing Enable kernel module signing Change-Id: Ic4fb849ae026a7f9c406486a0f09d5886d52bb46 --- dlkm/AndroidKernelModule.mk | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/dlkm/AndroidKernelModule.mk b/dlkm/AndroidKernelModule.mk index ee38236f1..bf750ef5b 100644 --- a/dlkm/AndroidKernelModule.mk +++ b/dlkm/AndroidKernelModule.mk @@ -75,6 +75,21 @@ endif # If LOCAL_MODULE_DEBUG_ENABLE is set, strip debug symbols. So that, # the final images generated by ABS will have the stripped version of # the modules +-include $(KERNEL_OUT)/.config + +ifeq ($(CONFIG_MODULE_SIG_ALL), y) +MODSECKEY = $(KERNEL_OUT)/signing_key.priv +MODPUBKEY = $(KERNEL_OUT)/signing_key.x509 +mod_sign_cmd = perl ./kernel/scripts/sign-file $(CONFIG_MODULE_SIG_HASH) $(MODSECKEY) $(MODPUBKEY) + +define sign-mod +$(mod_sign_cmd) $@ +endef + +else +mod_sign_cmd = true +endif + $(LOCAL_BUILT_MODULE): $(KBUILD_MODULE) | $(ACP) ifneq "$(LOCAL_MODULE_DEBUG_ENABLE)" "" @mkdir -p $(dir $@) @@ -82,6 +97,8 @@ ifneq "$(LOCAL_MODULE_DEBUG_ENABLE)" "" else $(transform-prebuilt-to-target) endif + @echo "mod_sign_cmd: $(mod_sign_cmd)" + $(sign-mod) # This should really be cleared in build/core/clear-vars.mk, but for # the time being, we need to clear it ourselves From a42f8becdd43e80fec7eca1490dd78da9f7f9727 Mon Sep 17 00:00:00 2001 From: Houston Hoffman Date: Mon, 25 Aug 2014 14:17:32 -0700 Subject: [PATCH 238/641] NFC: provide a default manufacturer Set manufacturer name to QUALCOMM for ISIS wallet test Change-Id: If747ae00f49f5483be18930bde178bffac5b8b14 CRs-Fixed:672925 --- common.mk | 4 ++++ common64.mk | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/common.mk b/common.mk index eda1e86ec..cf96ef553 100644 --- a/common.mk +++ b/common.mk @@ -10,6 +10,10 @@ PRODUCT_BRAND := qcom PRODUCT_LOCALES := en_US es_US de_DE zh_CN PRODUCT_LOCALES += hdpi mdpi +ifndef PRODUCT_MANUFACTURER +PRODUCT_MANUFACTURER := QUALCOMM +endif + PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=/vendor/lib/libqc-opt.so \ persist.radio.apm_sim_not_pwdn=1 diff --git a/common64.mk b/common64.mk index 0ffc4abf3..f248adb56 100644 --- a/common64.mk +++ b/common64.mk @@ -10,6 +10,10 @@ PRODUCT_BRAND := qcom PRODUCT_LOCALES := en_US es_US de_DE zh_CN PRODUCT_LOCALES += hdpi mdpi +ifndef PRODUCT_MANUFACTURER +PRODUCT_MANUFACTURER := QUALCOMM +endif + PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=/vendor/lib/libqc-opt.so \ persist.radio.apm_sim_not_pwdn=1 From e217182ea42506e4952b986a9b3a953f5dc0057f Mon Sep 17 00:00:00 2001 From: Satish kumar sugasi Date: Mon, 25 Aug 2014 14:38:12 -0700 Subject: [PATCH 239/641] Bluetooth: Enable vendor specific BLE code This adds config flag to enable BLE vendor specific features Change-Id: I45ad68edd66f7e2f954746db3a0bff9a8df08d73 --- bdroid_buildcfg.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/bdroid_buildcfg.h b/bdroid_buildcfg.h index adb4ca665..929b9e33d 100644 --- a/bdroid_buildcfg.h +++ b/bdroid_buildcfg.h @@ -26,6 +26,9 @@ #define BTA_SKIP_BLE_READ_REMOTE_FEAT FALSE #define MAX_ACL_CONNECTIONS 16 #define MAX_L2CAP_CHANNELS 16 +#define BLE_VND_INCLUDED TRUE // skips conn update at conn completion #define BTA_BLE_SKIP_CONN_UPD FALSE +#define BLE_PERIPHERAL_DISPLAYONLY TRUE +#define BLE_PERIPHERAL_ADV_NAME TRUE #endif From 99860c50e7b20e3c522cccba38a2aec22f3a818c Mon Sep 17 00:00:00 2001 From: Dilip Gudlur Date: Sat, 23 Aug 2014 00:49:36 -0700 Subject: [PATCH 240/641] init: qcom: post_boot: use interactive gov for msm8994 Set cpufreq governor to interactive (without load input from scheduler) for both clusters on msm8994. Also set tunables per cluster for optimal power/performance. Change-Id: Icea285b3ecf14d70b02cf7bc004fc9578102ec51 --- rootdir/etc/init.qcom.post_boot.sh | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index d233fca2c..8e30ab81b 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -651,28 +651,28 @@ case "$target" in echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled # configure governor settings for little cluster echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif - echo "20000 600000:40000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo "20000 750000:40000 800000:20000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 940800 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 768000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "85 600000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo "85 780000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time - echo 199200 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # configure governor settings for big cluster echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load - echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif - echo "20000 600000:40000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo "20000 750000:40000 800000:20000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 99 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 600000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "85 600000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo "85 780000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 199200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov From 64b49f19f1b600be63fdf73dad57267f8ba916d3 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Mon, 25 Aug 2014 18:46:11 -0700 Subject: [PATCH 241/641] init.qcom.rc: Send out filesystem triggers when ffbm trigger is recieved We now send out the fs triggers on recieving the ffbm trigger. This is required to mount the filesystems in ffbm mode. Change-Id: I01d4087920e4e772ee307dc2d0ccc5e4eed01d85 --- rootdir/etc/init.qcom.rc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 6503bd449..9ad989da9 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -767,6 +767,10 @@ service fastmmisrv /system/bin/sh /init.qcom.factory.sh oneshot on ffbm + trigger early-fs + trigger fs + trigger post-fs + trigger post-fs-data start fastmmisrv service hvdcp /system/bin/hvdcp From 1b0556065535cee39dc77d26bee37a4561936827 Mon Sep 17 00:00:00 2001 From: Lijuan Gao Date: Fri, 18 Jul 2014 10:28:03 +0800 Subject: [PATCH 242/641] dtbtool: Add qcom,pmic-id support (version 3) Add support for parsing PMIC info in the DTB files. The new format supports up to four pmic nodes in the DTB. pmic0, pmic1, pmic2 & pmic3. Unused pmic nodes should be marked as '0' in the DTB. dtbtool(v3) to parse the split qcom,msm-id/qcom,board-id/qcom,pmic-id in DTB files. The original qcom,msm-id with soc_id/platform, soc_rev is split into qcom,msm-id with only soc_id/soc_rev; The original qcom,board-id with platform/subtype. and a new qcom,pmic-id with pmic0/pmic1/pmic2/pmic3. The tool always generate the new table of device tree format (v3), but is backward compatible with parsing original DTB files with only qcom,msm-id (in which case subtype and pmic 0 to 3 are assumed zero) and backward com -patible with parsing original DTB files with qcom,msm-id and qcom,board-id (in which case pmic 0 to 3 are assumed zero) This change requires a corresponding bootloader change to properly parse the updated table of device tree image format (v3) Change-Id: If44d7a2617a6a8ea4434ed3ac6138ec4726aae50 --- dtbtool/dtbtool.c | 247 ++++++++++++++++++++++++++++++++++++-------- dtbtool/dtbtool.txt | 86 ++++++++++++--- 2 files changed, 278 insertions(+), 55 deletions(-) diff --git a/dtbtool/dtbtool.c b/dtbtool/dtbtool.c index 804dd5dc0..af219ca55 100644 --- a/dtbtool/dtbtool.c +++ b/dtbtool/dtbtool.c @@ -41,10 +41,12 @@ #include #define QCDT_MAGIC "QCDT" /* Master DTB magic */ -#define QCDT_VERSION 2 /* QCDT version */ +#define QCDT_VERSION 3 /* QCDT version */ #define QCDT_DT_TAG "qcom,msm-id = <" #define QCDT_BOARD_TAG "qcom,board-id = <" +#define QCDT_PMIC_TAG "qcom,pmic-id = <" + #define PAGE_SIZE_DEF 2048 #define PAGE_SIZE_MAX (1024*1024) @@ -63,6 +65,7 @@ struct chipInfo_t { uint32_t platform; uint32_t subtype; uint32_t revNum; + uint32_t pmic_model[4]; uint32_t dtb_size; char *dtb_file; struct chipInfo_t *prev; @@ -89,6 +92,15 @@ struct chipSt_t { struct chipSt_t *t_next; }; +struct chipPt_t { + uint32_t pmic0; + uint32_t pmic1; + uint32_t pmic2; + uint32_t pmic3; + struct chipPt_t *next; + struct chipPt_t *t_next; +}; + char *input_dir; char *output_file; char *dtc_path; @@ -201,7 +213,11 @@ int chip_add(struct chipInfo_t *c) if ((c->chipset == x->chipset) && (c->platform == x->platform) && (c->subtype == x->subtype) && - (c->revNum == x->revNum)) { + (c->revNum == x->revNum) && + (c->pmic_model[0] == x->pmic_model[0]) && + (c->pmic_model[1] == x->pmic_model[1]) && + (c->pmic_model[2] == x->pmic_model[2]) && + (c->pmic_model[3] == x->pmic_model[3])) { return RC_ERROR; /* duplicate */ } if (!x->next) { @@ -247,15 +263,20 @@ struct chipInfo_t *getChipInfo(const char *filename, int *num, uint32_t msmversi size_t line_size; FILE *pfile; int llen; - struct chipInfo_t *chip = NULL, *tmp; + struct chipInfo_t *chip = NULL, *tmp, *chip_t; uint32_t data[3] = {0, 0, 0}; uint32_t data_st[2] = {0, 0}; + uint32_t data_pt[4] = {0, 0, 0, 0}; char *tok, *sptr = NULL; int i, entryValid, entryEnded; - int count = 0, count1 = 0, count2 =0; - int entryValidST, entryEndedST, entryValidDT, entryEndedDT; + int count = 0, count1 = 0, count2 = 0, count3 = 0; + int entryValidST, entryEndedST, entryValidDT, entryEndedDT, entryValidPT, entryEndedPT; struct chipId_t *chipId = NULL, *cId = NULL, *tmp_id = NULL; struct chipSt_t *chipSt = NULL, *cSt = NULL, *tmp_st = NULL; + struct chipPt_t *chipPt = NULL, *cPt = NULL, *tmp_pt = NULL; + struct chipId_t *chipId_tmp = NULL; + struct chipSt_t *chipSt_tmp = NULL; + struct chipPt_t *chipPt_tmp = NULL; line_size = 1024; line = (char *)malloc(line_size); @@ -335,6 +356,10 @@ struct chipInfo_t *getChipInfo(const char *filename, int *num, uint32_t msmversi tmp->platform = data[1]; tmp->subtype = 0; tmp->revNum = data[2]; + tmp->pmic_model[0] = 0; + tmp->pmic_model[1] = 0; + tmp->pmic_model[2] = 0; + tmp->pmic_model[3] = 0; tmp->dtb_size = 0; tmp->dtb_file = NULL; tmp->master = chip; @@ -347,7 +372,7 @@ struct chipInfo_t *getChipInfo(const char *filename, int *num, uint32_t msmversi log_err("... skip, incorrect '%s' format\n", QCDT_DT_TAG); break; } - } else if (msmversion == 2) { + } else if (msmversion == 2 || msmversion == 3) { if ((pos = strstr(line, QCDT_DT_TAG)) != NULL) { pos += strlen(QCDT_DT_TAG); @@ -437,6 +462,53 @@ struct chipInfo_t *getChipInfo(const char *filename, int *num, uint32_t msmversi } } } + + if ((pos = strstr(line,QCDT_PMIC_TAG)) != NULL) { + pos += strlen(QCDT_PMIC_TAG); + entryEndedPT = 0; + for (;entryEndedPT < 1;) { + entryValidPT = 1; + for (i = 0; i < 4; i++) { + tok = strtok_r(pos, " \t", &sptr); + pos = NULL; + if (tok != NULL) { + if (*tok == '>') { + entryEndedPT = 1; + entryValidPT = 0; + break; + } + data_pt[i] = strtoul(tok, NULL, 0); + } else { + data_pt[i] = 0; + entryValidPT = 0; + entryEndedPT = 1; + } + } + if (entryValidPT) { + tmp_pt = (struct chipPt_t *) + malloc(sizeof(struct chipPt_t)); + if (!tmp_pt) { + log_err("Out of memory\n"); + break; + } + + if (!chipPt) { + chipPt = tmp_pt; + cPt = tmp_pt; + chipPt->t_next = NULL; + } else { + tmp_pt->t_next = chipPt->t_next; + chipPt->t_next = tmp_pt; + } + + tmp_pt->pmic0 = data_pt[0]; + tmp_pt->pmic1 = data_pt[1]; + tmp_pt->pmic2 = data_pt[2]; + tmp_pt->pmic3 = data_pt[3]; + count3++; + } + } + } } } } @@ -452,49 +524,116 @@ struct chipInfo_t *getChipInfo(const char *filename, int *num, uint32_t msmversi log_err("... skip, incorrect '%s' format\n", QCDT_BOARD_TAG); return NULL; } + if (count3 == 0 && msmversion == 3) { + log_err("... skip, incorrect '%s' format\n", QCDT_PMIC_TAG); + return NULL; + } tmp_st = cSt; + tmp_pt = cPt; while (cId != NULL) { while (cSt != NULL) { - tmp = (struct chipInfo_t *) - malloc(sizeof(struct chipInfo_t)); - if (!tmp) { - log_err("Out of memory\n"); - break; - } - if (!chip) { - chip = tmp; - chip->t_next = NULL; + if (msmversion == 3) { + while (cPt != NULL) { + tmp = (struct chipInfo_t *) + malloc(sizeof(struct chipInfo_t)); + if (!tmp) { + log_err("Out of memory\n"); + break; + } + if (!chip) { + chip = tmp; + chip->t_next = NULL; + } else { + tmp->t_next = chip->t_next; + chip->t_next = tmp; + } + + tmp->chipset = cId->chipset; + tmp->platform = cSt->platform; + tmp->revNum = cId->revNum; + tmp->subtype = cSt->subtype; + tmp->pmic_model[0] = cPt->pmic0; + tmp->pmic_model[1] = cPt->pmic1; + tmp->pmic_model[2] = cPt->pmic2; + tmp->pmic_model[3] = cPt->pmic3; + tmp->dtb_size = 0; + tmp->dtb_file = NULL; + tmp->master = chip; + tmp->wroteDtb = 0; + tmp->master_offset = 0; + cPt = cPt->t_next; + } + cPt = tmp_pt; } else { - tmp->t_next = chip->t_next; - chip->t_next = tmp; + tmp = (struct chipInfo_t *) + malloc(sizeof(struct chipInfo_t)); + if (!tmp) { + log_err("Out of memory\n"); + break; + } + if (!chip) { + chip = tmp; + chip->t_next = NULL; + } else { + tmp->t_next = chip->t_next; + chip->t_next = tmp; + } + tmp->chipset = cId->chipset; + tmp->platform = cSt->platform; + tmp->revNum = cId->revNum; + tmp->subtype = cSt->subtype; + tmp->pmic_model[0] = 0; + tmp->pmic_model[1] = 0; + tmp->pmic_model[2] = 0; + tmp->pmic_model[3] = 0; + tmp->dtb_size = 0; + tmp->dtb_file = NULL; + tmp->master = chip; + tmp->wroteDtb = 0; + tmp->master_offset = 0; } - - tmp->chipset = cId->chipset; - tmp->platform = cSt->platform; - tmp->revNum = cId->revNum; - tmp->subtype = cSt->subtype; - tmp->dtb_size = 0; - tmp->dtb_file = NULL; - tmp->master = chip; - tmp->wroteDtb = 0; - tmp->master_offset = 0; - cSt = cSt->t_next; - } cSt = tmp_st; cId = cId->t_next; } - if (entryEndedST == 1 && entryEndedDT == 1) { - pclose(pfile); + if (msmversion == 2) + entryEndedPT = 1; + + /* clear memory*/ + pclose(pfile); + while (chipId) { + chipId_tmp = chipId; + chipId = chipId->t_next; + free(chipId_tmp); + } + while (chipSt) { + chipSt_tmp= chipSt; + chipSt = chipSt->t_next; + free(chipSt_tmp); + } + + while (chipPt) { + chipPt_tmp= chipPt; + chipPt = chipPt->t_next; + free(chipPt_tmp); + } + + if (entryEndedST == 1 && entryEndedDT == 1 && entryEndedPT == 1) { *num = count1; - free(chipSt); - free(chipId); return chip; } + /* clear memory*/ + while (chip) { + chip_t = chip; + chip = chip->next; + if (chip_t->dtb_file) + free(chip_t->dtb_file); + free(chip_t); + } return NULL; } @@ -541,15 +680,18 @@ int GetVersionInfo(const char *filename) } else { /* Find the type of version */ while ((llen = getline(&line, &line_size, pfile)) != -1) { - if ((pos = strstr(line,QCDT_BOARD_TAG)) != NULL) { + if ((pos = strstr(line,QCDT_BOARD_TAG)) != NULL) { v = 2; + } + if ((pos = strstr(line,QCDT_PMIC_TAG)) != NULL) { + v = 3; break; - } + } } } - if (v == 1) - log_info(" Old Version:%d\n", v); + free(line); + log_info("Version:%d\n", v); return v; } @@ -620,7 +762,7 @@ int main(int argc, char **argv) flen = strlen(dp->d_name); if ((flen > 4) && (strncmp(&dp->d_name[flen-4], ".dtb", 4) == 0)) { - log_info("Found file: %s ... ", dp->d_name); + log_info("Found file: %s ... \n", dp->d_name); flen = strlen(input_dir) + strlen(dp->d_name) + 1; filename = (char *)malloc(flen); @@ -654,6 +796,14 @@ int main(int argc, char **argv) continue; } } + if (msmversion == 3) { + if (!chip) { + log_err("skip, failed to scan for '%s', '%s' or '%s' tag\n", + QCDT_DT_TAG, QCDT_BOARD_TAG, QCDT_PMIC_TAG); + free(filename); + continue; + } + } if ((stat(filename, &st) != 0) || (st.st_size == 0)) { @@ -662,12 +812,14 @@ int main(int argc, char **argv) continue; } - log_info("chipset: %u, rev: %u, platform: %u, subtype: %u\n", - chip->chipset, chip->revNum, chip->platform, chip->subtype); + log_info("chipset: %u, rev: %u, platform: %u, subtype: %u, pmic0: %u, pmic1: %u, pmic2: %u, pmic3: %u\n", + chip->chipset, chip->revNum, chip->platform, chip->subtype, + chip->pmic_model[0], chip->pmic_model[1], chip->pmic_model[2], chip->pmic_model[3]); for (t_chip = chip->t_next; t_chip; t_chip = t_chip->t_next) { - log_info(" additional chipset: %u, rev: %u, platform: %u, subtype: %u\n", - t_chip->chipset, t_chip->revNum, t_chip->platform, t_chip->subtype); + log_info("additional chipset: %u, rev: %u, platform: %u, subtype: %u, pmic0: %u, pmic1: %u, pmic2: %u, pmic3: %u\n", + t_chip->chipset, t_chip->revNum, t_chip->platform, t_chip->subtype, + t_chip->pmic_model[0], t_chip->pmic_model[1], t_chip->pmic_model[2], t_chip->pmic_model[3]); } rc = chip_add(chip); @@ -725,8 +877,9 @@ int main(int argc, char **argv) /* Calculate offset of first DTB block */ dtb_offset = 12 + /* header */ - (24 * dtb_count) + /* DTB table entries */ + (40 * dtb_count) + /* DTB table entries */ 4; /* end of table indicator */ + /* Round up to page size */ padding = page_size - (dtb_offset % page_size); dtb_offset += padding; @@ -737,6 +890,10 @@ int main(int argc, char **argv) platform subtype soc rev + pmic model0 + pmic model1 + pmic model2 + pmic model3 dtb offset dtb size */ @@ -745,6 +902,10 @@ int main(int argc, char **argv) wrote += write(out_fd, &chip->platform, sizeof(uint32_t)); wrote += write(out_fd, &chip->subtype, sizeof(uint32_t)); wrote += write(out_fd, &chip->revNum, sizeof(uint32_t)); + wrote += write(out_fd, &chip->pmic_model[0], sizeof(uint32_t)); + wrote += write(out_fd, &chip->pmic_model[1], sizeof(uint32_t)); + wrote += write(out_fd, &chip->pmic_model[2], sizeof(uint32_t)); + wrote += write(out_fd, &chip->pmic_model[3], sizeof(uint32_t)); if (chip->master->master_offset != 0) { wrote += write(out_fd, &chip->master->master_offset, sizeof(uint32_t)); } else { diff --git a/dtbtool/dtbtool.txt b/dtbtool/dtbtool.txt index b48e4bf46..1aa0be438 100644 --- a/dtbtool/dtbtool.txt +++ b/dtbtool/dtbtool.txt @@ -1,4 +1,4 @@ -Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. +Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. Redistribution and use in source form and compiled forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are @@ -73,7 +73,7 @@ Android - Table of Device Tree x +------------------+ | | MAGIC ("QCDT") | 4B | +------------------+ - header | VERSION | uint32 (version 2) + header | VERSION | uint32 (version 3) | +------------------+ | | num of DTBs | uint32 (number of DTB entries) x +------------------+ @@ -85,6 +85,14 @@ Android - Table of Device Tree device +------------------+ #1 | soc rev #1 | uint32 (e.g. MSM8974 v2) entry +------------------+ + | | pmic0 #1 | uint32 (pmic0-> first smallest SID of existing pmic) + | +------------------+ + | | pmic1 #1 | uint32 (pmic1-> secondary smallest SID of existing pmic) + | +------------------+ + | | pmic2 #1 | uint32 (pmic2-> third smallest SID of existing pmic) + | +------------------+ + | | pmic3 #1 | uint32 (pmic3-> fourth smallest SID of existing pmic) + | +------------------+ | | offset #1 | uint32 (byte offset from start/before MAGIC | +------------------+ to DTB entry) | | size #1 | uint32 (size in bytes of DTB blob) @@ -98,10 +106,18 @@ Android - Table of Device Tree | +------------------+ device | variant id #Z | uint32 (e.g. ID for CDP, MTP) #Z +------------------+ - entry | variant id #Z | uint32 (e.g. ID for subtype) (QCDT v2) + entry | subtype id #Z | uint32 (e.g. ID for subtype) (QCDT v2) (last) +------------------+ | | soc rev #Z | uint32 (e.g. MSM8974 v2) | +------------------+ + | | pmic0 #1 | uint32 (pmic0-> first smallest SID of existing pmic) + | +------------------+ + | | pmic1 #1 | uint32 (pmic1-> secondary smallest SID of existing pmic) + | +------------------+ + | | pmic2 #1 | uint32 (pmic2-> third smallest SID of existing pmic) + | +------------------+ + | | pmic3 #1 | uint32 (pmic3-> fourth smallest SID of existing pmic) + | +------------------+ | | offset #Z | uint32 (byte offset from start/before MAGIC x +------------------+ to DTB entry) | 0 ("zero") | uint32 (end of list delimiter) @@ -133,28 +149,57 @@ Android - Table of Device Tree or qcom,msm-id = ; qcom,board-id = ; + or + qcom,msm-id = ; + qcom,board-id = ; + qcom,pmic-id = ; x = ID for msm8974 y = ID for CDP, MTP, etc. y' = ID for subtype (assumed zero if absent) z = ID for soc revision + a = pmic0 + b = pmic1 + c = pmic2 + d = pmic3 + SBL populates the pmic entries always in ascending order of SID, so + pmic0-> SID0, pmic1-> SID1, pmic2-> SID2, pmic3-> SID3. + e.g. for qcom,pmic-id = + Board X = MSM8994 + PM8994 + PMI8994 (Existing boards [ROW]) + Board Y = MSM8994 + PM8994 + PMI8994 + PM8004 (Internal SS board variant) + Board Z = MSM8994 + PM8994 + PM8004 (Boards that SS will be making) + + For all boards X, Y, and Z, PMICs have the following SIDs and REVID SUBTYPEs + (i.e. PMIC Model): + PM8994 - SID 0 and 1; subtype = 9 + PMI8994 - SID 2 and 3; subtype = 10 + PM8004 - SID 4 and 5; subtype = 12 + + LK using SMEM PMIC info(1 as major and 0 as minor version for example): + Board X: qcom,pmic-id = <0x0109 0x010A 0x0 0x0>; + Board Y: qcom,pmic-id = <0x0109 0x010A 0x010C 0x0>; + Board Z: qcom,pmic-id = <0x0109 0x010C 0x0 0x0>; + The entry can optionally be an array: qcom,msm-id = , , ...; or qcom,msm-id = , , ...; qcom,board-id = , ...; - Note that qcom,msm-id and qcom,board-id are not matched - pairs. + or + qcom,msm-id = , , ...; + qcom,board-id = , ...; + qcom,pmic-id = , ...; + Note that qcom,msm-id, qcom,board-id and qcom,pmic-id are not matched pairs. 2) Kernel compile will generate the DTB 3) Android build will run a new tool (dtbTool) a) scan the DTB output directory for all compiled DTB - b) decompile the DTB for "qcom,msm-id"/"qcom,board-id" + b) decompile the DTB for "qcom,msm-id"/"qcom,board-id"/"qcom,pmic-id" c) generate the QC table of device tree in sorted - order (platform, variant, subtype, soc rev) + order (platform, variant, subtype, soc rev, pmic0, pmic1, pmic2, pmic3) d) modified mkbootimg will merge new table of DT 3.2) Run-time: - 1) LK bootloader will obtain MSM id/variant/subtype/soc rev - info either from early bootloaders or via other means + 1) LK bootloader will obtain platform id/variant/subtype/soc rev/major ver/minor ver + /pmic0/pmic1/pmic2/pmic3 info either from early bootloaders or via other means 2) LK bootloader will check entries #10 for non-zero value (set to zero for standard boot.img). If the value is non-zero, refer to page section after @@ -164,10 +209,27 @@ Android - Table of Device Tree QCDT version) 5) LK scans through the QCDT table to look for matching entry. Search order is: - 1) platform ID exact match - 2) variant ID exact match + 1) msm ID exact match + 2) Platform type exact match 3) subtype ID exact match - 4) select the highest soc rev in QCDT that is + 4) HLOS subtype exact match + 5) Pmic0 model ID exact match + 6) Pmic1 model ID exact match + 7) Pmic2 model ID exact match + 8) Pmic3 model ID exact match + 9) foundry ID, look for exact match, if not found choose + device tree with foundry-id(0x0) + 10) select the highest soc rev in QCDT that is equal to or lower than the runtime detected soc rev + 11) select the highest major&minor ver in QCDT that is + equal to or lower than the runtime detected major ver + 12) select the highest pmic0 major&minor in QCDT that is + equal to or lower than the runtime detected pmic0 + 13) select the highest pmic1 major&minor in QCDT that is + equal to or lower than the runtime detected pmic1 + 14) select the highest pmic2 major&minor in QCDT that is + equal to or lower than the runtime detected pmic2 + 15) select the highest pmic3 major&minor in QCDT that is + equal to or lower than the runtime detected pmic3 6) Load the matching DTB blob to the tags addr 7) LK pass the correct DTB to the kernel From 9d5ba9af780f0b7bcb7eb905fb5b839923e3dc07 Mon Sep 17 00:00:00 2001 From: Ravit Dennis Date: Mon, 3 Mar 2014 17:12:51 +0200 Subject: [PATCH 243/641] Ultrasound: Add digital pen service resources Add digital pen resources needed for the system service Change-Id: Ie1fa588149d392ca5075275d8db2fe99a9e6987d --- .../res/drawable-hdpi/digital_pen_active.png | Bin 0 -> 1875 bytes .../digital_pen_blocked_mic_red.png | Bin 0 -> 2504 bytes .../digital_pen_blocked_mic_yellow.png | Bin 0 -> 2656 bytes .../drawable-hdpi/digital_pen_low_battery.png | Bin 0 -> 1097 bytes .../res/drawable-ldpi/digital_pen_active.png | Bin 0 -> 1490 bytes .../digital_pen_blocked_mic_red.png | Bin 0 -> 1554 bytes .../digital_pen_blocked_mic_yellow.png | Bin 0 -> 1600 bytes .../drawable-ldpi/digital_pen_low_battery.png | Bin 0 -> 747 bytes .../res/drawable-mdpi/digital_pen_active.png | Bin 0 -> 1490 bytes .../digital_pen_blocked_mic_red.png | Bin 0 -> 1554 bytes .../digital_pen_blocked_mic_yellow.png | Bin 0 -> 1600 bytes .../drawable-mdpi/digital_pen_low_battery.png | Bin 0 -> 747 bytes .../res/drawable-xhdpi/digital_pen_active.png | Bin 0 -> 2382 bytes .../digital_pen_blocked_mic_red.png | Bin 0 -> 3454 bytes .../digital_pen_blocked_mic_yellow.png | Bin 0 -> 3777 bytes .../digital_pen_low_battery.png | Bin 0 -> 1447 bytes .../drawable-xxhdpi/digital_pen_active.png | Bin 0 -> 2382 bytes .../digital_pen_blocked_mic_red.png | Bin 0 -> 3454 bytes .../digital_pen_blocked_mic_yellow.png | Bin 0 -> 3777 bytes .../digital_pen_low_battery.png | Bin 0 -> 1447 bytes .../base/core/res/res/values/config.xml | 3 ++ .../base/core/res/res/values/public.xml | 42 ++++++++++++++++++ 22 files changed, 45 insertions(+) create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_active.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_blocked_mic_red.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_blocked_mic_yellow.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_low_battery.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_active.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_blocked_mic_red.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_blocked_mic_yellow.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_low_battery.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_active.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_blocked_mic_red.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_blocked_mic_yellow.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_low_battery.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_active.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_blocked_mic_red.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_blocked_mic_yellow.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_low_battery.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_active.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_blocked_mic_red.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_blocked_mic_yellow.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_low_battery.png create mode 100644 device/overlay/frameworks/base/core/res/res/values/public.xml diff --git a/device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_active.png b/device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_active.png new file mode 100644 index 0000000000000000000000000000000000000000..3eb5190fb44de54efc5a1675090aeedb25b1d0c6 GIT binary patch literal 1875 zcmaJ?Yfuwc6b?iLf}jIZq6J*yyFjuV5+NZ`LKY%wXe3bq6$!~A2__q}izE~a6;ROf zXnj#}tS_tzMnoP}5CpACE22&DiB1rO4p>1E3p#2yDz-ngyR&=mJ#)VAeCM&Vd6Gzx zGi5S`L?Ssy%!i|h6|_DMV~O`N+mTJgG6@fh#-(T?o+{TPB!Lo5K!6C1d^Hk<$d$&m zEeMZ9B2QDvqVZ_)BCZ0}(B)PixymGzI6=2&L~*(C9wUYO(iaA_~SZ$aM^e4q8(hbrg&L-&Lde;Emx? z$iI3&N{q>jI)o90U}%b7K{PILsx_33E7T)$9M#KEbj@fLB}pibVo9hD5K7r}2oTE^ zDy`M>79kdMBeWPU*D8<*m`@`(=qiWSRgape)NMT zDPK;#*mmny@y?d+=~d^!#Scnb>|IAP$5(b{EsY&?HBPDi*62G0j#IPXX}ijY<3q*Y zyC?WDPUN-P!*SP(PjD{wo8BDxsf)L+hSSC=!)_eMuB_jKT^Y(S^))>1YbdzWGkA(S zsJl4kJaNN0nGHqGThCHu&NnRD)f0+b>f}6DM2JUH_7~N9Eef&Y zZTRA6@`0@NwNl#)LZ6O}u?E{Z!23mL9xRJF|FFqvWpLZ$x^t>3$F@`86=vX==S=|y z$C*AcG`i{vZ(UXsbMBi}jc$=PuY-q4n|;nbjWa!d?i*yYGJaym_FTIO_I5>7N1MKs zoxVB7*Atfh24dnv2_4k>7|eH{%jO4yFOwVH3;e3Qca)i)#CG$4?eW+qzHBNXkKE3| zwk<%9<}P;|FpAVZ!Cl8*X14T{R;(OZKhH1QT(RUxwP#%L%E;Qp^u4)RlJZwg4rxv? zPd9e;d?U%PUAlip_KpzuiGr-n!N<+Ex7GC-R7QuSe7y8jhvivb`I!qZ`@q4jEx2v+ zjod9oPhMA^7C7B{60la3-%nX3m(J?B_hvS*7%K7Y%BVFDr+K;cbM9`ZI*Iny#?{{R zBzr*(XMB{sLylMNnM3unT`$xw$!z(IoH8-}s3xP*WlF+VVua3LZEKgs~ z(@_sCf5Fru2i=aU>eYqC^xIS;O>mF-u&G_=RV929ayr)QdQR`w?+)$Y9ICO1QaoLE zGv~@|PPV%{bX3&GlFd~?t%s$TgA>wc`D{DbAU>MFxjAqtIEHdeN-3>ON;+Or*SM_n z{>x1sQspxnYW$7deAuD2MwZ{CezAvAs&5~n&&)?#$-;K$K6PG3Z2~WD<2}h?S$L%g z4eSo7%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{2}ManK~!i%?O6*@Rp$}*6~%x?swiquhghu@wHeJ2;v+L=l*Fh} z2+H8lijN9JDx<|Hj87;85)cD7DyeM<;|vLf)`$@yazz1wAVC@<0xAz5$VJ|di`?^X zcmKn=4<7e0f=D|(Ge75Y&-r)v`~UrSzuh}z$p5eZ(G_rXbX*-682DL4L_~COaB!%z zv-5g{I%3enwYIjlIeq%{wL5q2z|*HsficGKrKP119UXn$#>QsRpao%RX*oSMHuf># z)!yC?O-)VE*x1PL^gmq*2?=%c=FOWuC_(u9`$vc1^=h->H62DOR7Ny0BsskTvfHP?A*Dh5E=@w zVFSRzg#a^V0KEDt!1U<=ufGoP;fDYrAyDz%ckOp7D>vc!81=$|u-aNT793mvD^>uE z90@RFi2N8a0^pr@fCUBJVwIIUZ~=x5I1p6&I~Em{21}QAHF)e;fCUQx?Ck*@8~|3X z6n9|UxUTQo*#SFoA`5rJcECWe>gwMM9v;o`^2<7dtgHY$Jpocu092|DZ|`(_@&rJs z1lY9;z}i|jcho3g+qbvjZftw*AXstnZdkWYr~H*yfO&Y-RwO4YzD-T7&n_y0D>*rE zH8T^grl;#hMh5>r`}S>!Q!4B4r=^84FR#ZiX_8LX>eaw*-t>KLAlQQk+hENaox;~% z10g9X5x3upl#aEqn2EP3I4pV^CMG7+CQO*{YkD8&O@*^(zlFt%bu!WISV_sB`W*!M zDBHSKV{k~POaT@je-RyJq@-}mmMwPP-rgHLJw3aOJ$v?S*tBU=mn6mt3lG72@999e zxKIXP)^8vv+_B@wZ^7{4q7q9>fR|npKcfqQdccf32p*xkDy>jwmkP8w;=K}{0^yuR(HTCa2Z;&2zPnMtW-)8`5i#hZ0QAw^N z?A`mA?+9ZvnZN%d0}!W9T~J)O5J!}OI8Z}FgLbqarFeo-2;FFBPe!54G3@Z+GD#QP zxw8TFTlNVAd-%{D=Fb;b#l{9S<>g+IKvX!-00hSQny`8rWo0F}ySx9v zm_bloy%`oQ67|iV4HWhI20)=u!mwdnAltQzn5LP&Kn@}x;1OUf=SodXKuAacTDp3@ z9cV)?R9037uCA^Q#tbT=-QB;xl*<}A6j*q8)-wY@<17SM*G4YP+#H1OzyGq^1IXBK zSzus=76eiSAwJ#!1f7Ax!a_{U4)$^ev9z>Mm^e{fG#3}O6sG0ob$N~xm&3AU;>z0E z0#mCUjri}J&LA{#ah!qDPEb9NpP!GEX~kkWLr|~1Ha8H}Xm4LFH>ca@m{8nd&Kz+i z)~pdwu+c&UpU=VYS4vyYL8I$wzWIiO&k~BaS8{@4D=HkDiBe0f6hR2FvB1!(%a<=}EW~VW^iokYa(92I z%`+D-2FcCo_Bqmo5Q(b@J9a#vFefKyzOC(&pD}?!RFn<`?MPxGBo`Fa<9wnSMlT+w zy}a&8d54`l*KP8XlQV=}x^x7lP8D5f+cvaH%(liZTU*So%B$jDorlN7!+6f^rxEguR9xIy3bV&S@f1-bgi6pOjQH{S$JON+CNu;KCX z@g@2I2#6Xp@jtS&bA=;EZh)DYC=Y9AJR^nrAn@}lc>8VfId(HxUf#iHHl8MuuVPFV z=>&#D;ge5_Da;uYirqO{HSG=%Go>pqIQXwPcM{eXw_(f}(MY_rh=@Xob>g#psqSE# zH@D&UGx`L8gUHPM6sTw?g;Mp_Gzxvd_ko05ry&9XcdtMjF^AVO3Q6EQn1?XOpXox|LfUXiPAbFFjG6GOvUk^Tb zbpkMy-M@cQf92^jy6C62OIC*3#mFA^N7)=OxOnRGxZn#%n5pPU@V&YurrzP=>}i$KPI@By&v*Z=a|jn}#pz&h+q+%s6gj*QKV zpY`j3ee@Av6M)~5O93EA-jb1m0o|$l;OAEX8jaI{8LtPzoaN*MV6Cju7XJFi8T*V4 z0_-}}u#Ak51}t3%+<1M36z(*orCykX(!kBFj+dcC!$*$>UMJI_|1rZdH@60M?ATST z_Pl%ILN62yg~mjsa-Rx+%PE-nU4P;fgtn<;a1HxEjqJFnPu8ymZl@^Vfe)ch}Y z)iW~M@V)Ubbai{H+}_^aPKmz*lp~0|ygWwtGiT0dOifKE_EyFVeb33s$qaw!Ub%bs z?v3f`=}iiSV*lE;Yx}R;JW%NP;YJcCF-qb;n2~1R>JK?*U2=mcise_}?yj+vPe z#Xu0x)+Xt*Mb97re-rS%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{3EfFVK~!i%?O6*@ROb~|YvLo5L=$OR{7WjgK0WplOqoW+;^e6?Ej$_)4r2W-N`B(K;$B28kdmFL^G@?%fA0EVv5` z?32gtIX&mzT_CuyD3H)j@64IY-h2OZ&UgOvpBH1s{QvqNwZMuMD?(#qWA`K{C#US* zy?gKK)vI42sN+XH+*z|`1s^$bBu}kYV`pb40)Tke>2#Qql2Q~L9Q^%J3nDNuFeoi8 z?IzOI)zyVIn+>g2t9a+%e5I$Sw=P()VD6{{5fc-W!b;lh4s2_)Vw;8T-DD#mb`b=* zRQjj{aN=Y}Ju7H+5(q~JI_)j!v^5c#(LulYIbWyFTsDm=0Ho7+Rh@BFP4$^h)bB;C zSczElG@@)K(IZ4bh=q#~%U?yTjYGZi-(Bk3#x-<4CVcBa09w|9VRsn{KSRvB8}Z^8 z|8#9UqVPOI-Oeh2#!X~^ao;!)68aQ09nMDeb7WysI+N%U(U(NIQzVO*{T#89cBAY? zX-9IWO7HnQ{yvXLy#&E@Kt{W<_!|QO9ZkP+>wa&?8~7t(F6qTh7Raxd}G8xfK{~}bzz8CJ;IBpBBy?>F|4hH! zcD+c6U*+WE)vLKgIlU-Xe15&C8c&?M(pIa?+6&sZ8nHZ3+6@My3q`P0MvfQ=u+_hT zHNQZ-;&GMIIVAAXY1;njEHoe>U^dut7sylY_6l6LZrzfIh=`S2wrshD`1$(v>zDRb4jfe< zqI$UmfQ_RG=L{Y)Y#=z?L0w`M7JNtA?vjV;;CdoX`9pLFKhGl&Q&`}>efx5pPA8g7 zCNvt2Un72=n3$OFOEH&2cn^gT#LLA0`WOWLP7TSuXIMahL-`)6pOC_1@ic^%tP7ys zAz*1??d|Qz3VVrv^L6OZp?RtA%6*4haNw8aAWwq@<+kNd#xZn_h+_@Cmmewhjv? zNLDMHip{EHXtp9L{&fJ}f{yB-ks$BAJRgzbig zK7L6c=0n3y2?T@8nTT#OMMp<}Jdi@XyC6jBFqe4ck430Wklir= zQZB$Pf88oZhVlm};$$4~#f;pEK*Z|1L1c|55GTI|!fv+{pf-$*jC|jpLUb15P)_-Q zq7ul%i9I~(Z;j9QwD2dWpvb_Hr}_s7UG3ae_4n;9AY8pbI2;aaYHGr5+qP}-rwqw` z9u-ugh;pgafUZz~YkVu^6gFe^d@<%jMOYUx=0w%+CAyO_UX3yex9m=|6Rw+Ipq1Ro z>1;=X!GIe#Zv3@BWr)uVs95O~^MYbFMWfOPe`|cc$Cm79lv6p(5us|G(HrXrVs`vY z<1ekceNuhI7R(xl?#49iq{SMI7Q@5CU-qYr7>$%$>cq%bNqMIE!cKo{e7<)#WyCQ9 z@c=6~*A6DJ%nN>INtv7?Z8N0dM{XNZLsRBvb`0QdQ0v~c0Vr)08x1k%D?m(&9y_bzM_j$q>FH=p&# zL(KfDty<1I;trTE?)JCF=X;k`z7-X7r87{zqJtO*`D4TdU3PZ1i-r+s?O+gplj_2Y!Gs9{em>)lWys$3-{(bCNs_e1>g20$0#}W^SlKatp zGnoO4RVUOZ-@tsDT5uVm{2iSjoH--_B2)9Vc&zr+>DAOmwifOki0RRzN3Zw-keZr$ z-D8wTz(`7$+$ZhCjeE&32?gM+O~i7Fdc50JeC9449J2DvK|6&lwARH2f zwf!+ac<|s^UjS(6o9SIc?;iuUyca|Pfl*Mz;b_Huhwg)B+Wm)y1%PO^uJ)J2X#__k z?u&)j2!wHiF9AtON&n!fG&eEcriKCS-@pG<@9)`d2t*zh1oZUTY#`l>#JhFXuqoed zwU!&vsHKC+uSA++Wspw=@6VWEooG$M?Z1K55`R-eS*z5DK;c5n~OO$_e<-}!$8ksn5j ziiu4NxK@E-PZ^falN9Hj)hyGT6$ckZL*rCPh z@AZrb#p;o&S2;By6|W+wBG66K629|ql#}~aPL~w+jwHF(ssFQ{5{$q6GOYTG%*5!_ zk^d2B-!XB+j|KFI3ox#od`+qOIls>*QU+6I-)aVXZk&Z$*WuUhHaK#)bGdYHL49I2 zR;_KtN^%bwm*JC$sM%-AqhXjl1VORZ0)~B8!6ig^N0PT8YUDrV(0KOzmFmraAF1_9}L>9gM^TfkVO|S zUPQfKk3~gA9U6@Wv$C>q*|KH-9RNZ@LnqTex?k9|Y11pz8(i77YuDDWu&@`%Hr-R~ zVX)K4vmk$ekV^_8@BafPQBoVQog8_sZbO3EY<`R%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1I9^2K~!i%?U_GJ6LA#B8~${FMj$Z~4G9JZ6BR?OPA0ejjwE7; z3zL{IV8D?L!X`mN;~=PCJf6h&bW9GQLMv==}U#G2#0Qi2w;W zTOIbQ9Q^#E>-rmU0C2Ak052hvNkq7&`My61fZO5#PEJk|kjVpB&z}sSJpjBb4gk@A zQbRGnJw^t;i32!2J-q_?JVGZ*X4C0pmZ)TW&(F#Rnq(%Exi1a?j@3gNGial!Gv80y z^Yf|v++0e>Jt7_&Y9IxehvEQ^kB^%nBU|YulOgKtBpMyPP*nhUEe=4_v?ks2G#7op z*xgMOi_v*k7a6)vhHZyy0uurBl{^5VCfzhO8XQ#42bSB~A{`4@u&9Xz*a1LcY)q?k zp6~Osv!s`zu1qX|1^|0?Rik*kDg$0`FX@^R~CcJ@xQVm2wLWr>DLhm|f zp{FO5lC`lBb|TR=zyO>9?mU&<$Q>C8JCS?<-zRH*ov5)fgzysyG7k?`A&Up#B4*9! zr>Cp3ke`}T&m#fAql2E$Q!$w=LDbiiv$&}0AQ}K@o0vk$+}$O=r3J6>aWeP!)q)lc z0E`UWiE^8p%JD+qgeIYIzDJ~ISdwpUgZfXYT`v=;b6!?O^N66L8gnEyj54G$Afrr2Mk zvtltq06d8n3S^|yrH-_=MtJFu5J07rxCSOBWCE0TCGzEIq4ovu1*T=m+m+zGf9QS` zH876-p^MG3#<4HNzjce-m0*Y9SU(&b1V~N8VaM}yI(&-|3KstAj z0re7$6Pb^Za=s!9U&l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s00+w{G(#^lGsVi)#n8yb&DhM;$-vFf(ACh=#L&{!#L3yw z&D7A`#K{n**Cju>G&eP`1g19yq1POzUQlAlEdbi=l3J8mmYU*Ll%J~r_Ow+dZnv1= zG!Lpb1-DyFaq86vIz}H9wMbD769T3m5EGtofgE_!Pt60S_ab1z_Wk-jmVtrE#nZ(x zq~g|_>;4{793_r_jQzaU#aB6UiL;|u(u8WxMI1br98Pqc2vG9jR7_P|@#4b51q%Xf zL}hpVSRR}ik)Zj^_0zK4_6r692CITwB4=KE^-J~#=jt8nc75J8oy|^X_Z#c;dyLQj zKC|aufyEoo6z@+eJ5*~JPU?Nz%dNhVGhZO)oqwEo(Sh#8J6h+?ILtF|A!BeJe}euy zW%m6a{5Nmlox5Y%{WZ@Wv`#&AW?lDKJ;!pRabe znGG&i%dqZf(6(q1fAwFe?!d+W?YaC1eBLMCIV@arH1q4-RS(qE%QV>I^mpA-NtDql z6yy8$K=W7u(@qH|=1mt`-g^J;P_JN+H*DhjF|mbRs^w=~8~+LSV?}?D2;V7@IkMp0 z7hSGIxwmE|huYKL^j*7N^~!-^>yO1sn=i=N-dFp){G-s-ivIiCzBOeWwB^c^+kX2; zllzZ7K_9k;9h%zYzKthz_j9xI!&lkLL;mi&d5d@Z1EVa1om~$Ur#`5Qe$IF~bK9zL z59`=95B6^3Q+atSO#U&?t%;e&6>C&ALOACJ)~>&<_;`kq^_tgb*W8Kl{}5puuA_ZR8UB6G*-uI~#`?F)!(!!@9H7+O9uGMd@aqnMs+dBH-V%`TKM+CD()?aA- z*ju50WBrrY7k_ literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_blocked_mic_red.png b/device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_blocked_mic_red.png new file mode 100644 index 0000000000000000000000000000000000000000..fdac878e4e4ed1632783116dca04f2a882bb40cc GIT binary patch literal 1554 zcmV+t2JQKYP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1&>KYK~z{r)s_oPlUEdg!6*2bqD3r39D^wk7qcu2lW8$33qz<6 zl8MAL8r)1YYGhQMg1YEjP>jJbqu4TT|Gc8&Qw6vE0 zoSl1N$gqSTd?dTc&ENk2d3@*GbI-kQZvW>I9UUE#nwq*&E|-VC);Oe6sYI*QUTJA* z5!&0^k)Ck%>ea$Uix&C34iNVr3JQKj8cv$l{wMo?`N|bN0gQjO5Gs{#%cDmKRx8>X z8?mRR277MaM4_t-?>u>e9xB!RR|Wu$jgeNR@)wAWMVvVk(ar7IoG}Ao^=h;xCl^6O zL)1%!002MOzh8qPAItg$;gOE1ek>y&1WE!+4vGgMRmaA z$M1|9g3>-&*t)fz8<{YHM-NAiAd>3MWqdjC1EAPMLzRcW-Wz!4PBX>0vu>V39}t=no%OGezO-*)*It4{`Ejyno=pt-B6~ z(`vI}XJ;omsSfJv>wCk)!vlvpfwZ(NZfDi14zfE-6a*9%eS))RBZP+blF~q%g{-VJ zoIf9N+&C0+a?nEYTWJ3af`D~(b=?w)L^{*~iM$1i7dz0)3qhybBo1KTzH_|r5)zEh zMWj+4=MePWsZwDlc>tQ#)zv1F^>XC^6bb{+f>Oz|IpPo!63RJ1N=l|HVL`3_8oa%M zL!3X)>!8YLY$I6@mjFkPrlY$%!iEi1BRXdSwDlTr;zWc~r@nBhfauXuP+&%>w6FPG zyombN)|PKht|H9+dFh9Llgkk)U4uro~j-0 z-IKXeDlRUrU;v#K3wF`-o=#^*A0OnYPEIbRS5tUBSu9}~7{~#^X#7|l05xBTk8kE} zbo+LLDu!Yiy9Fd`FVLKxn6$$K^`$RD@aVd%NiQ``5_b*DnvW~SCEQF z!=gcUzF)eOG}wSfqfrkAP^;Agy&j5-cSBGR?-T48r@O>Yqjt`t0hkWkw*Ahc;q{Q3 znosZEX5X?33XU^?ZaS2D>G_pP^(lK#Ki`CtCo|~~16~h_iL6*>jtQXOpck#@Z|Lpa zcga|?#70or^%{-N$?k=AJKCra|IE+-9(L^b4#LB`Sl44q2fKEakaNkHoex$7wR#_& z?%avI zc!9CX?_IX6gBn;F)qN>)yONS3|ER4sH@CLh z_2uOjnM@Y)QVfeV5)lzGVa19SeoakH<-x(h(#p!p(cSsPIvPpNX0uh%nqRcr?d2AW zrMSDh`?*`uNH$*RyVYua-{Ej1n$6|_0ys`nJ{p7n0KjSj!V0&{6951J07*qoM6N<$ Eg0<1p`~Uy| literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_blocked_mic_yellow.png b/device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_blocked_mic_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..4aab71de1570d9cbb7d37508ecef6774ff4d78f8 GIT binary patch literal 1600 zcmV-G2EX}%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1-(f`K~z{r)s}lu)KwJ60ToHoz-QIiHAs*mHaOJhjF6-{XE_=S6 z-#QW_>$qS#({JX^o!|Z4^F5z??mg#sJv{!;PgGRYoSi#&E{chX34WyO2nYz6n4O)S zqtR#_ot>TFp7QeYPKShqOnDR_o+nRc{sn&Q1eklccL;AlR#r|C1B`gM5EIg-Y8u-? zeP&qnN?3JbSoI1x>?Sm}=;1RbE%2cMkX0FBRww>RiZ_80KS1OG{LM}1OP&D9m%yw^ zC?LB$@;`+jqG{BW{5#}x0GZ&7n>ZLy#R8f&K+RkH9&&qJ_^x;s)SQ^hyE6TOL16Bf zN1E7XNJaov{^%-Od80*Bh)!J>+H}2W)!ChWr_O+ux(hH=tZss2vJ-^VOSNQdes$Oo z=)r8Njn?4`i%EkWWWN0I(j54``{BN@@Q9dKLPJBjg*$uUedUJl7p%yKKXvDKfL2Y)BBe`ExQ<<3N`JZPc_kA5~8R@-d*6?HOBlUs__ZSa0Xv zfF~s-C3c__GALi?$PtvjaNIbO;x+)&jw5Mg2jm?3hLm){khF)sfpR(@w$W%Q-%)q{ zX0P3BwxGMa8&<0oTCEn_wrvZ)+lixb?_tP20m)(m>yCE|f^-FMLpcF-^*K8)aCU!K zThsPH6$q4i!J$ouk%M4lfZpC-G&D3IE-r4~-4594({%O4Ua0&*`ZKHC1E^0rgj!y` zeC3rvf?5G$25{a3_LigQ=1OR@*`ZV_DLOj3A9kP}6mdmR^I57-JmwaFL%E_@Frda= zKe{rox2Er*%E^Rt0z@kMI84>mvYz1JV3&DMjbHDD#tWoaUg{PARY%LA_U2-;KgqQL zyfu<69mD}Z0k6z(92JrqdY9Tul9>d>RFJX!4Ywk|x+6*cPK~n=sXr=oWt5+vf5r*GbpRk_|51@=s@uO6 z%9#w|4TmQFyij;ZvpLVHBa5x)iQaAjI4hq}j8q&2*(6ZgFN3lnH#hghzW~6gQ#qMV zyY}NdpbP@aIqhoKT|>zP-g{ns=jqjMJMXW2b)WMcU?lJDY*71&EdvEIGc!{M0%T=n z{nT%#7i}i#EC((M_k$6jy5#&JJ9n;zXe`yQuYk;pg=X-NXjg`nC`kBrFzvS#0l;K3 zJAX%q(@%aYj0=|#YTb8$Dgp^ot|fJABs}IaJ>7z0V}H69e-^4q4B-iq%r{f*hBWDw z%sjiz3bUmLLN6`L&L{PzBP0p!Mm49Law6#Z=JRYn(Je>!n?xPQl1LHJ0o7Q(g7HG7 z{A<3%P-Q{f^9@Kc=JvSiaW1)w^wggE89Vp9pYD*p^Oj7Zu8dDm7gy9LUSL4kGr;9( z3^5aZ;)O=4d+!42(i3^!)FBBEXL9PV#c=~KBk3nf*9}K!*f#6eZwfCjuk4a5YC9^c zBwZUfZd^2MvEdkog@uirJ9ln?LZQg^_4S?18eYTEd0-p9j#cuWAGKI4qFc9aiHt_$ ytOphyiU615`8Jy^-efYpzyO~b42BPeV*d{zID2U27k@(l0000%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{0%%D@K~z{r)s{bK6hRcmFNp>%f+i?};sv|YG6b8Hk}5^;QV2;Q z1T3s_g@O=MTie7|2qZ1J8>iNBvz4npxqg!ta=Cu*b4|s8rnkxiscsZd-6^38>XjoSs7e zZb>@ut$KhoZRoYNp}37?dmG{pz-K1_`O3-#Ku#ybU@%0W0}cRyhU#{Kdc7>c!U9B+ zI0TTgVJ%M&4}tM<&(C3|r-98)#{f|TDa3FF#Cvf74$$lMruY>+qYF)fl;QhL?gLF_O!Z5t z-HLhZuSHS#%sv5znE;CURpky?0SZ00W#@JT+Yf}Xy`Ttl+X(=*uTboV6(-DZ3i`hP z&WZR)ga9wBaLQRg7uXi+j#Ge6r*njB?@e!pM86aZR(kK%7H dMf_ih{sM@Q)JD*FZu$TK002ovPDHLkV1iHELn8nH literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_active.png b/device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_active.png new file mode 100644 index 0000000000000000000000000000000000000000..4a28d032248db6a24a68edcfba82dce145c473f3 GIT binary patch literal 1490 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s00+w{G(#^lGsVi)#n8yb&DhM;$-vFf(ACh=#L&{!#L3yw z&D7A`#K{n**Cju>G&eP`1g19yq1POzUQlAlEdbi=l3J8mmYU*Ll%J~r_Ow+dZnv1= zG!Lpb1-DyFaq86vIz}H9wMbD769T3m5EGtofgE_!Pt60S_ab1z_Wk-jmVtrE#nZ(x zq~g|_>;4{793_r_jQzaU#aB6UiL;|u(u8WxMI1br98Pqc2vG9jR7_P|@#4b51q%Xf zL}hpVSRR}ik)Zj^_0zK4_6r692CITwB4=KE^-J~#=jt8nc75J8oy|^X_Z#c;dyLQj zKC|aufyEoo6z@+eJ5*~JPU?Nz%dNhVGhZO)oqwEo(Sh#8J6h+?ILtF|A!BeJe}euy zW%m6a{5Nmlox5Y%{WZ@Wv`#&AW?lDKJ;!pRabe znGG&i%dqZf(6(q1fAwFe?!d+W?YaC1eBLMCIV@arH1q4-RS(qE%QV>I^mpA-NtDql z6yy8$K=W7u(@qH|=1mt`-g^J;P_JN+H*DhjF|mbRs^w=~8~+LSV?}?D2;V7@IkMp0 z7hSGIxwmE|huYKL^j*7N^~!-^>yO1sn=i=N-dFp){G-s-ivIiCzBOeWwB^c^+kX2; zllzZ7K_9k;9h%zYzKthz_j9xI!&lkLL;mi&d5d@Z1EVa1om~$Ur#`5Qe$IF~bK9zL z59`=95B6^3Q+atSO#U&?t%;e&6>C&ALOACJ)~>&<_;`kq^_tgb*W8Kl{}5puuA_ZR8UB6G*-uI~#`?F)!(!!@9H7+O9uGMd@aqnMs+dBH-V%`TKM+CD()?aA- z*ju50WBrrY7k_ literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_blocked_mic_red.png b/device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_blocked_mic_red.png new file mode 100644 index 0000000000000000000000000000000000000000..fdac878e4e4ed1632783116dca04f2a882bb40cc GIT binary patch literal 1554 zcmV+t2JQKYP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1&>KYK~z{r)s_oPlUEdg!6*2bqD3r39D^wk7qcu2lW8$33qz<6 zl8MAL8r)1YYGhQMg1YEjP>jJbqu4TT|Gc8&Qw6vE0 zoSl1N$gqSTd?dTc&ENk2d3@*GbI-kQZvW>I9UUE#nwq*&E|-VC);Oe6sYI*QUTJA* z5!&0^k)Ck%>ea$Uix&C34iNVr3JQKj8cv$l{wMo?`N|bN0gQjO5Gs{#%cDmKRx8>X z8?mRR277MaM4_t-?>u>e9xB!RR|Wu$jgeNR@)wAWMVvVk(ar7IoG}Ao^=h;xCl^6O zL)1%!002MOzh8qPAItg$;gOE1ek>y&1WE!+4vGgMRmaA z$M1|9g3>-&*t)fz8<{YHM-NAiAd>3MWqdjC1EAPMLzRcW-Wz!4PBX>0vu>V39}t=no%OGezO-*)*It4{`Ejyno=pt-B6~ z(`vI}XJ;omsSfJv>wCk)!vlvpfwZ(NZfDi14zfE-6a*9%eS))RBZP+blF~q%g{-VJ zoIf9N+&C0+a?nEYTWJ3af`D~(b=?w)L^{*~iM$1i7dz0)3qhybBo1KTzH_|r5)zEh zMWj+4=MePWsZwDlc>tQ#)zv1F^>XC^6bb{+f>Oz|IpPo!63RJ1N=l|HVL`3_8oa%M zL!3X)>!8YLY$I6@mjFkPrlY$%!iEi1BRXdSwDlTr;zWc~r@nBhfauXuP+&%>w6FPG zyombN)|PKht|H9+dFh9Llgkk)U4uro~j-0 z-IKXeDlRUrU;v#K3wF`-o=#^*A0OnYPEIbRS5tUBSu9}~7{~#^X#7|l05xBTk8kE} zbo+LLDu!Yiy9Fd`FVLKxn6$$K^`$RD@aVd%NiQ``5_b*DnvW~SCEQF z!=gcUzF)eOG}wSfqfrkAP^;Agy&j5-cSBGR?-T48r@O>Yqjt`t0hkWkw*Ahc;q{Q3 znosZEX5X?33XU^?ZaS2D>G_pP^(lK#Ki`CtCo|~~16~h_iL6*>jtQXOpck#@Z|Lpa zcga|?#70or^%{-N$?k=AJKCra|IE+-9(L^b4#LB`Sl44q2fKEakaNkHoex$7wR#_& z?%avI zc!9CX?_IX6gBn;F)qN>)yONS3|ER4sH@CLh z_2uOjnM@Y)QVfeV5)lzGVa19SeoakH<-x(h(#p!p(cSsPIvPpNX0uh%nqRcr?d2AW zrMSDh`?*`uNH$*RyVYua-{Ej1n$6|_0ys`nJ{p7n0KjSj!V0&{6951J07*qoM6N<$ Eg0<1p`~Uy| literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_blocked_mic_yellow.png b/device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_blocked_mic_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..4aab71de1570d9cbb7d37508ecef6774ff4d78f8 GIT binary patch literal 1600 zcmV-G2EX}%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1-(f`K~z{r)s}lu)KwJ60ToHoz-QIiHAs*mHaOJhjF6-{XE_=S6 z-#QW_>$qS#({JX^o!|Z4^F5z??mg#sJv{!;PgGRYoSi#&E{chX34WyO2nYz6n4O)S zqtR#_ot>TFp7QeYPKShqOnDR_o+nRc{sn&Q1eklccL;AlR#r|C1B`gM5EIg-Y8u-? zeP&qnN?3JbSoI1x>?Sm}=;1RbE%2cMkX0FBRww>RiZ_80KS1OG{LM}1OP&D9m%yw^ zC?LB$@;`+jqG{BW{5#}x0GZ&7n>ZLy#R8f&K+RkH9&&qJ_^x;s)SQ^hyE6TOL16Bf zN1E7XNJaov{^%-Od80*Bh)!J>+H}2W)!ChWr_O+ux(hH=tZss2vJ-^VOSNQdes$Oo z=)r8Njn?4`i%EkWWWN0I(j54``{BN@@Q9dKLPJBjg*$uUedUJl7p%yKKXvDKfL2Y)BBe`ExQ<<3N`JZPc_kA5~8R@-d*6?HOBlUs__ZSa0Xv zfF~s-C3c__GALi?$PtvjaNIbO;x+)&jw5Mg2jm?3hLm){khF)sfpR(@w$W%Q-%)q{ zX0P3BwxGMa8&<0oTCEn_wrvZ)+lixb?_tP20m)(m>yCE|f^-FMLpcF-^*K8)aCU!K zThsPH6$q4i!J$ouk%M4lfZpC-G&D3IE-r4~-4594({%O4Ua0&*`ZKHC1E^0rgj!y` zeC3rvf?5G$25{a3_LigQ=1OR@*`ZV_DLOj3A9kP}6mdmR^I57-JmwaFL%E_@Frda= zKe{rox2Er*%E^Rt0z@kMI84>mvYz1JV3&DMjbHDD#tWoaUg{PARY%LA_U2-;KgqQL zyfu<69mD}Z0k6z(92JrqdY9Tul9>d>RFJX!4Ywk|x+6*cPK~n=sXr=oWt5+vf5r*GbpRk_|51@=s@uO6 z%9#w|4TmQFyij;ZvpLVHBa5x)iQaAjI4hq}j8q&2*(6ZgFN3lnH#hghzW~6gQ#qMV zyY}NdpbP@aIqhoKT|>zP-g{ns=jqjMJMXW2b)WMcU?lJDY*71&EdvEIGc!{M0%T=n z{nT%#7i}i#EC((M_k$6jy5#&JJ9n;zXe`yQuYk;pg=X-NXjg`nC`kBrFzvS#0l;K3 zJAX%q(@%aYj0=|#YTb8$Dgp^ot|fJABs}IaJ>7z0V}H69e-^4q4B-iq%r{f*hBWDw z%sjiz3bUmLLN6`L&L{PzBP0p!Mm49Law6#Z=JRYn(Je>!n?xPQl1LHJ0o7Q(g7HG7 z{A<3%P-Q{f^9@Kc=JvSiaW1)w^wggE89Vp9pYD*p^Oj7Zu8dDm7gy9LUSL4kGr;9( z3^5aZ;)O=4d+!42(i3^!)FBBEXL9PV#c=~KBk3nf*9}K!*f#6eZwfCjuk4a5YC9^c zBwZUfZd^2MvEdkog@uirJ9ln?LZQg^_4S?18eYTEd0-p9j#cuWAGKI4qFc9aiHt_$ ytOphyiU615`8Jy^-efYpzyO~b42BPeV*d{zID2U27k@(l0000%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{0%%D@K~z{r)s{bK6hRcmFNp>%f+i?};sv|YG6b8Hk}5^;QV2;Q z1T3s_g@O=MTie7|2qZ1J8>iNBvz4npxqg!ta=Cu*b4|s8rnkxiscsZd-6^38>XjoSs7e zZb>@ut$KhoZRoYNp}37?dmG{pz-K1_`O3-#Ku#ybU@%0W0}cRyhU#{Kdc7>c!U9B+ zI0TTgVJ%M&4}tM<&(C3|r-98)#{f|TDa3FF#Cvf74$$lMruY>+qYF)fl;QhL?gLF_O!Z5t z-HLhZuSHS#%sv5znE;CURpky?0SZ00W#@JT+Yf}Xy`Ttl+X(=*uTboV6(-DZ3i`hP z&WZR)ga9wBaLQRg7uXi+j#Ge6r*njB?@e!pM86aZR(kK%7H dMf_ih{sM@Q)JD*FZu$TK002ovPDHLkV1iHELn8nH literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_active.png b/device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_active.png new file mode 100644 index 0000000000000000000000000000000000000000..4215579aedd5edf6f5314de15e7b9175eb5acff2 GIT binary patch literal 2382 zcmaJ@c{r478y_msW+`JSOd}taSAy59GBp8L9gzx#JT_wSE4)5mM)+EvD@ zKp@as4|kHEa&=a{ni|UQ6$W=mxflt^!2*AFj39~113)g(>?i=@!KBgwKY$u7;&uQI zAkeZcjDTQ4Fl9HM#%98)svNkG$x)&~AO|NQhf0eB1du3z&R`Ls@>@+%2qT&R-Gikd zDI6jY%WzNT0shHe0kq^e8ZH{@UPyp`;l(TWsxSfy`H~`t zBS8Na6-@Dg5ZOEcf`ubtG^8yGVvB*JFi0E*XAMCkQAh*|jX>JLP)I!14v$1ZzCKW8 zHC}WK-jC$=wU+WkfW`_096SP%l#~QdvVpUCbOZ{A!y%Ap1R4!fX2AF&mVhdRvH0do z3?zV0<1sh_2Ac&@F;b)02?7FCsr2s_n4E94EdJMPQeGHBNaY|AmRWBKY-6p;L((Wi!oP~;^2uqfGS|~0@&>MrCaogWeeE+ST+Yj z^vA+c5DJyXV5uTs5EKgDgT)t6Sv0_dM1U$e;0#7Io=mhSy4Yh;SXZPQ3PncYFen@u z<4SaK!=mgkuBas}iA_sj0xZE2Hu@hd`ny<_8JHYpWfH(+Bm&WHJT?>ZrD;6lyIL@A z-{t#?jsCtC2wEr6QQb_3^)%Kflm4|QE2UtqK^OVL0Z+vkT1X|JTL2?NY z_D>Y1h;xAr8N)9I6Q2k22W`809*31bozx2g`|212&|dw9P~YC8+14&r16Ak-9a3!K zRHb;b3UD({7$K_c<%-J&b;lG@>gtOJ zHRZ?IogwL5DVLl7r@{T-!p*OcOC?s%#3j7-Wq}SJlDXH4wm=IvvDZyk!P�U!}aM zpJH3)cgNL8Ec0$){VJ~LO*V=I$L2#8+qAcg z^}}xly-e@jseAX?GAVAhE^{VZcvkElhQ)Xcx_BQN6X#2PU58rIj?3=R{WRz!BAZXd zAJWWlt=WV1(g^RzHRF}y*)q$!eUrlN8YC-`S+!jI7|JkpgysSA%FQE)@)K?!V}@NTGjQD*T2GPGc%y~=Rf(%BKOSsoI-AOYnnc=Y zRTNi+?418>X*-X-)1&^xXAC@|aL?9wF#Ffh+?t>Yxn-Z3^9>`?$?HjNy4f^h&&JJ_ zGIK^ao$Bb(_z=uF(GavbT_ieZ=&AneaN4epHGk~xxh1nPDh)R7YEEHfn!KG#(Cobz z?o{Y_&hoPEtLHPBzZ;kLX?;E&mU6h20_(~dsd=6=-W90N?Oq7U8$^KZrm9B|uFDSF z&}wUwbt5yIolP=wLVxU? z@hm!N>CoP(7L@&N3yN$NvP`7YGOnQ7IGX7q3tEqN$u9AjdY5Y5PZ3JB)x64KAD)f> z&`=9J8n$UXBv+(r^|X{pE!RQs+h>G&v(CS@!*zU!$@kt5%avsmEQ`0o6;_Kc}%S+GpxDk$Hc}F0p29y7D~}=8KoxZL=!rCWAcp(?!{(X1f1rkO&7z z3+Y8Vn%%O;E3F^!jA@nC)Qg0P8pWV(d1UG8p6Tt)M)27QLQ%WyS(W^LpLABEYd(JY z4f&g_j-IFO-RcQ7ZDZV&;3;y!6<5!79{_oi99`7M{qdwbM0Yt z?N+Mkt4>O~zZG@F{-I>O#M{2+eLXtljRrJmjyXn;K*Z7KeG|7AgA87$E#N!V_FTL= qU3zhwdcg9_nm)R(gyEl8BSBe5&$GOXn2%I{I38p#QiW^eq5lF9AN}zF literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_blocked_mic_red.png b/device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_blocked_mic_red.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8cc4562037c855a9c5d9db4363ae3ba1785e60 GIT binary patch literal 3454 zcmV-^4T18BP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{4Esq$K~#8N?OO{}RaF{RbJ7uflqIdq?BQBX)}+oN8a30jmG+S7 zA!$na%uJz}c=S-v6i6B+UC^KvqoAn3Qk=v`#A6i2XA2gQCZrgUz#87~i}&n*zW>0z z+{3wW&%q1YtnONS;k{>{|MBgA|F6C6)$8}q?+DyT1O|fnFpNPrQiz`BJ!ICbS)PG` zfhm!Zkp(+;?5NnbZChb*aPYA?bLMzMm^*t~pdRDr?CktpXlUr=yu3WRcI_HjevC#V z<>%*9czAfxgb5Q~?J=QxiqXW06KBT6#0XZJm94F+3KHSr zWITSHsIig$osn_nkP!X4TgGmoFNAQy_*jaI`#~&UF6hAriF)L8k%1H{)~m(sJ(67}h$U1@6o_3ljw2_(MwqEgh>24iOovA4{2 zqX*?@h{VJkdf|o6l^!~j=+Q@so_vyIkS0!S`F`h}oxg|eA`%jQ2A`MhCbYc>iKeF2 zv}zTRgM(U$e*K81Od$~xLdIjq$bg8@*wjRgk|aAr{>$GDMMY#hae~C=%`LzzCs6bkY352ZBb8 zQqy*IC6Sl653~k!S@`RH5zPCFoSXyn^wVkqmn|canR(z>Att@MdUeL`*jUc_<*|MH zcB{kmod5ECuYiD)1wy!hN30wXZ&~)-+!NiE%C?e)ul`Ciz`=RRLWx?i|FVA zfa7LCl&ikmFdQ@vo_{-rxk`kRe-nH56wpHtDM5JR2@>bee*=Dfx}-!`UlI)s0W^EI zdgbrBi&y0W1Y(8Tf7o2LfN-ldxd6g&&`u|;ydtDN|2&C`ihp!f7v1kcxhY7~I`-Ju z`%+3uF6P~5B0hfn_&=>%x2|l@o;?*&QBfU^SeU-AuP zx|PxULOxM{k&<#=;q5tmwf6%fN0LZQy=Vf#(a~{qVq&5u{}&b(mfM+J3<70k{f8cS zpluQ0AH@FsSMZFtPxpP0YJ@pic%F19{?{@h)XJH~Ls#LN6-gtveZypl` z^Kf!^S8k0KOUT(qG&Uk4;!0-#a4F1{U{FxdcUpvG$4DL?3Vv9OntJ#OE${1|gVpz@ z>C@X7IysSa?p&HBAyHEkrUK#Kd#Nfuz9=ChqpS%DPe&HO05mi-kiWlwf>za|+m*F2BIjCAl|mLe8=dh+T|YEJ|LgcB@7VJS#|VF_}%%RK>WAaJvU zLGbhQ+o@GBkQ*y~^pRxdh1x^J$LHa9tC2)2UDdp1A)Lv}t4%4SydpU{qa%W{CA|5j z5(K2SQgU*KAn@u}R#t+I*FW_LD$brgOt;_O#*52pAtvjgVRNo*{%|s8q-V?^qYxgQ zdh3RUP+GJ|2?BuY2!uxT0JsyheEISan*v!(fU$ZVw9~H5gj(DKwwKqNl{q>`-j59LR!3d@k(2CEuYH~AuzDk48VW^B$AR+ z_0Z^aE*RV*zWVAXGlN@hA+dY+4_d1+QCGLonk9(Chl%5&$tQ3GxOC|f&6_vRQ?KyI z0ghXSL=hIo>3Dy=bga(jI4;(#sWAfp?=McBiq%70s;}Rm@(GCH(xF2wAfPGAP16e( zE+EaAIbRQLIRyXsU(kUpbP?^3uI+wp-nhV_rVC9?#G0}$SmVqZ?PkMT(68BS-@Xu$&xnWT!Gcp z_~|7+&&$id5{{1M&Q*cHmLLIy6KIG`nlx#;UfNK0xgs53u)uzi0CGL4*u!XLp#$`H zy+XRro$HfdQo@3fDsARYPg)wKWM|W$L4$O!9B95Jcb83(03jH^P17r5M;7oGdi(7* z;?B-oey-9>+|A8xY3{{~WB{TD9FHkN7YjacAeG0(QCeNy4861wrr%M7X;>@(n4p(V zM*xfx-rfc?x@b{}pMU;BFY)Qqr@x+)lhblS1dlI+;O3^>4ub}9$$E)To;>-*bLY;z zN)o!jaxK6ha5os=RRt7MTWRm!5-lL4ac?pzDwp^Sq16ZAd$!g*#isIdoV|1@LeZUV z2{ThQz1%u!^ytwphmriS6Eqh?CJ?wzZeL0R1XzMi5Mb)#gpW^KL3GbOMA_Nf^~h#( zE`)wv;j|upn8dHYhTDA6Vgio4A4y0^;Ap3;23tXB;^?q=vC=0n2=VcyoyByV5v(N_ zm$vs_e39#vMS5hjIakiNH*Bc3EODhRTX-Ajx!*H#_wL=Cp;;}5tB@mP<>eVvY4eaF zgpP0-c)7F}6u&3BusP3QJ%oEMj8|EuAwhUCN8{oJM){Pm@lc z{*LarqfIdO1(z?!Yoyd4eL+6lRNWEcZV(S#rZCfD>mnZ?wI%G@#oNJIDlOeasQt|r zi85QHrJb>>_qVd=o}ksMl|rHY1*h|#1`v90+O#Q~!(jVMQmj0e#Xdehk(P915YY2i zwAZ*BwPQ!4qCVm9$6(>Qg$6mUZ;B`>2_rNg6%NtgAF_(swkU^$gq*ep0Jp=+%F4*o z({qy*(A6Ncze_M~9EpO0Xj}a4@*Ijfpuw4~=)*xEv2Gm~|9gY!QixmobOW6MN#b_$C>;LB1Vn0G??ycC3;g10NcST*yv^j~@80!Q0}}gHd(&=cSiO z96z4UQKLOQw7hq);_dGXayu+HHy34r+cGO#z*)-7JR)3OB^BUn*0BG1O^@7moeL#j zl{Ri{Qk~tSZ3dT4oI5n5pI~CTV8Mb7<>lq_0f?mqn7Toajv4ckX)b$uM3_hs6m-q9 z-6aFgeaWC8Bb0yBt_pR97zCXLuUty^->))H`F0pCH;4lVPEu9Xhuf2q;!0bu#_)YW z)8KoAnT3VotJKt$IC}R%SNFJ_2O!LepMFZx&YfgDa)gYi4vpV_OHxb>8G~^NY~jL|OH#~f%bUm#D!a(tJT)n~kdia5K zK7M0BZfN5!D%pmwr<^;53THbu79(^G<4|D zhtL%wPJKD|=d(aQ5oQq9uU}tuv&n0Bd0bsx2hN{AKVaFiWx=aft@=7XKHiA`NR{m2 z;Suca?*5M58Q#nU;poP34b8d3%`9iP$%b0sRo?q(gvj}PMMcG6l*!MaFmf+0F8=@c z4^y3?2W6+U_6LttRaHf!M6Q;-AwD=ht3%P$eZ9SITUH%}q2~Zt!3mSn0N^~VVJ*OT z2UcJ}$y|=-_B-CvAzP14g{eDWwV#4DJYvZdx5d_=L^c2b``-5IG0m=%5gg+{_=J%i gb(XG^y!rM20jn~#R0kAM*8l(j07*qoM6N<$f=f)KQ2+n{ literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_blocked_mic_yellow.png b/device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_blocked_mic_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e5217c8c45112a8cbe7c61358cb42a1054c4a5 GIT binary patch literal 3777 zcmV;y4nFaTP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{4n9dlK~#8N?OO?SROJ;`L_iZnK#EeS3sSX55Cs=N(1KR2$dQT$ zS``tO78iC3r3eB>DYBdbM?+al0s#b(RUsjOKtd#ugb+d|%Op%PlYO7eB=hd=ci+s* zOhUrU3rWBp=bZn{y!Y;Zm+#&G{`bHCKi6FI%jXvat|S8OA^cZpH(g03T3YtaBS((> zaKVBF;cM2c$=tYcW8u1W>n;Qa1|A(XYSa`c)1{>qYB72J`t^H$$&w{$27`gCtE<`b z<8U}QJw2UQtXN?hFkryTEv8gU2^u(X;EN$4AtXkNv1MgtTv}RM)8twMW#`VFJY>j_ z*IG)qW|!mV=ht=V(xv%gd__e?EyF!Qkl*Fy<*H+R_0?AuUAuO@tJ#%n2>}5C0kbnR zGr6j&ic3mL&`Mpc4BuMQ?v=3JZs(kw93DG%?BbTtui0hHnlW3U(A8V^%8p+x;hu`-s{$w~o!ipNP7m{X@y!dWMq66G!!6j<|+74DF!nTYh^s z?Y_`O-pQ2wE>Z5*L?Zhq;MKiZ6m4pzP}Gm8>SM}Vox{dIFrRGYH1ZId7$!}Ahu1M) zuItiBzo=`O(}yrwRu&PJ1!82}+|)WZ89x~R9F^`#;EWfTkGTvy>@r$=(*nSWF3hKT z!}W(SpBct{`YGr2iCdY4-ji0lK8pLsp-d&;q(IJyCR4hp7!ld#aMnLzh@aB{QCxeY zQMecP3{&P(b$r{)v$)b`XRD2z!4Th-wkoz)SP&;75hwo59REDteh0V5Xh1}_V>ZuV zc*8n-@D(sC@Susg@|4mztck0|HDcDJh6FmsO0=L zZT{?fbD^I&Wp-pXQ9r6YyO~Xs5Kr1VfzZ4mtv^#mOgM(b4VP<6qxw^&F+??9 zqPI5IPj+Q03N-?pmpquts;?uOpN=NKX zwi8uZKW1})TN!Q4pX$bBJ(UQB#DKaVaaUhJsMoCl!fi_Bsl%MwzcvV_KQh@17d6%v z-Th$PQ*55+9Fy9c*IZM+UudUaQTp4akx%a$#+wr$(? zxRezjyOoM|WN{RxMJ>ZL4rZz@3T!s(B@3gR4LN+=BNCg&i0h3Kp%A`;&9B!10iIBC zC}DjV^rQRs zZ$)Mn8}7+WQA(Dx`OVrOoVkOGjoUM}?>?SqtF(Fb0F=ti;CZtzN>X{sHcq_TJsi^q zzza&|`O;SxjZ8C2-rm#vV;g7S6IZ`5QQrQ*x{OGv_<}9tYJ(7c3#P|ITxMgnCeY9@ z5DyVg0nawRCd{#_`UUAGmj=#kn3o?;}5k0AghgVwF z{nH0K4U&ch4}`pTsg8eME-A zCwh2zrKRE{-*8;Vnz^5hb8INy-0iI+5r)G>Ac!Y~U*ri=50r8kO6FnS_g3iIIF_~ zfYoZ{*|TSVt5-*cE_Zg9RJtVQU;@=VDW^zx~fUgmK!&MmD$I05NyY3xQl%!w)& za@O0mV}gKC@V#0iltQUgj0J?LQ>O;&;VraeHLT<$SJer@kW!~3+-Pzv_3 z9i?E4C5Ok4|J&z!dBfPZIqeyDkWPQI>1G1B(i5EKisovRMaoH4AL&(c^yq*Isp;7$ zdBf7PNSo_;0+$_Rlf}-jyb>@&FK+i%iTMPDcP)Otiy^70}%&Dj`YSVPu+XBDt#M@(4c1{BO}#hr?eDXWXOx{ z)ff)vUULrzS!Mpzg{gRl8FKshDuYU6LO9_z=QJpbB4c17`rqPff3I|uyFH43Z0(+B zO)Iiw55Q|j4}!jZ`#upK9?puQIM)KQPgoxa;>NL^SSj9a@dX4mPca80Pr)9901zds z!VU4h<|#heK-SbRISJKStq79wo{X`n!RE0{otfHE;%ow^UNS3rs71a|uOH8PDILNY>ETIOD!tfNmBn!+~fc<6u zjaQ@e5>UnYP)_XbR8Bkr#SwBi^dv-`uosZqP*q5V#_IK(a%0b=qp~!?y%AC~9KN>5 zvfNW|^clk!UU7To83fSMpLXfB%_n*Y8^or`ZWl#qOvzoBi~DlY%a@Pes#U9u4FMqc zSFc{3EsVf(66a2>4MI#uR*FLN@$6Bdk=cpzzRuvt>z#B0l<8fGG0*#=OrvO&qLT;t z42ln0Fih@+dE2;FJF%BZo24pLVRzyP4L z;B%eE%L&4?+MaOI56kgjE1ySp>bW104Ub`d+7~@8i-v5L( z1^C=0Nc)>;;p2<(8cj8#Em;;i)Qu9)<1I*-l!~Y@En0i>oIH7QP*G9QMF0pO5*Gl_ zMb#ilhshqlo09(I;KQ!@UK<9Mxsvp}sz>i8rG=3%E4hnpd=mQwo_mAwx8p>}T!&JX zz7aH!YeGkj`t!Wp++6i-dkz7q1r`<-^0;y1YF3#j62b7yAj(>3=LBqiX#6Gc!Sl%c zsRPEp(WC}7h8YYTN`)J9`0QQoRh{M$=kCWLr>U5_zB@vWvMFnV_pdkSSF;rfaVd&J zTC-L$=N1tMZP>ku9JUEm5Eemce|PZtUhd;ITEII4aPwCeLT>Z#2Kx#Kl<7g%=m^dl zRr`RH79Zs7kOBF6>Nr+1{>6%AD?17zYMNXt8H4 zION^$t8Ohuhq2lUicO@vRXLpYgi~QHNvV50&hyNVmc4(<*iSL zoYpO7RAU4|$!^#X38b8$98P};Z?l7YKhZN-YKNXYzqJfg+&!i}hR-mJbuqkP3HaX8 z7=5l-A1I6if&4C&ghyasp`6oE{z`rr0nFvzTK!IY>nHs2ybsO;1~8@1t)SuqKOo3` zAb?&mBbrJujOdQ`q9N&2P*y6=0+*a%NB(#0$a6L>KFXH#3M@X=Ka)gkxlAVpQ^w>x(1z@�qL}-&Cf9rS?v=Aa4_+Ob zHj@_Z+O_MxcI{f0^?>{-LjEU|ot>>-Z{EC_J9qAUZ!?L$I@sbLV>gT$GiKKK@#6z0 zO`5a}%j1JHX3SVE*SP=j@ZrOo_mtPw0fSQu1iE|Ba15Sw?*v^{wp(5o=`Nf_Kg>x-Jf5Nx7W r%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1tdvCK~#8N?OR=F6ju~Z45^@?HNiBs6jO?YA_R@%i}a-i%)^Qg zLVdDO@WCqLLkogRUVIS?t*D?_>q9Gu6tO52eCZ+-(}$1{2#Ey5iflqwHoNn)GdsJp z_xPRJ%s7)>*Q}c?vv+pklFiJ$Gv|EwJLjHz?%B4s)~AI)3xP% zv)K!ZqTE3HRoC@jaQ(+zE*DEClOH!qo`$_=W@ctBlpKbF{}+ozs`dd8836Rh!otGV zh6%XZFTyNeWuXGzr-6$cCeRR+!}<~|cb{N3 z$1tmtV8XH+7&8eU@IzSjTDDwJ{>xhJ-|dgFzb*SkVeJTII@9U&XS}X^%`mnu2vKVO z>%Q+8*Ec^uFNYI^8SDY2V=#f3qU$jQ-wVf%#q_zk(*Jzj*Ek|frBXuxp*^eXK%F*js>J)0Bkw#M0aTVlP4tBuP172BlGfQ=i1T$3864wQvqC0 zO-P5ev#KZ#02*do@XSMbZiQGZ8UQG^9VbxQ-m$||o&gZu-K5RVl8X4>&jR@vkW9wu z@Zo^+E(@{`9+a^_IslBDH{-6tOaEG@PRS1dmby3{I#iJXc7H!9?DTZqGXv=ufOS7k zi3Eua8_GdgvxfAM5rUtP7XWt|G_PDK2cW&396un0`~a|$g~7o92>ByNqGkaiwO!x;y(;~nCmj(Geshl!H zI84Y8SyNNIOhyC%zbV|k>-d7=rAzD}BLo100PoL{VE*7iqMbY0K}HM!1_22ZJ}IKz zyGfgvQ0Ih@<7^Ozod5CJAdbkZH#k41iZGofb#_)rQzZsPZb11lE|qy_QoG7d1j(*IFnAQ~4>h z3cZhD0O4<^N(6g=Y9+H=A&S{gq3eh5^PbR-fzo>moCNWm0xt!E!C3_9d}tM^M=UnlkjD_y)Pv;E)e zeQwi?hwdGi?P>lE5zjta5w^d*X%tuqK@k{z=SGKM!JjMf%%*wY!G@S?Q)O%F7c z@GB)O%-|d^i!1fKrh5)nf^N|Ni>4F2C9p&Yyar|L2r=G=wlx3%002ovPDHLkV1i>f BjVu5F literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_active.png b/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_active.png new file mode 100644 index 0000000000000000000000000000000000000000..4215579aedd5edf6f5314de15e7b9175eb5acff2 GIT binary patch literal 2382 zcmaJ@c{r478y_msW+`JSOd}taSAy59GBp8L9gzx#JT_wSE4)5mM)+EvD@ zKp@as4|kHEa&=a{ni|UQ6$W=mxflt^!2*AFj39~113)g(>?i=@!KBgwKY$u7;&uQI zAkeZcjDTQ4Fl9HM#%98)svNkG$x)&~AO|NQhf0eB1du3z&R`Ls@>@+%2qT&R-Gikd zDI6jY%WzNT0shHe0kq^e8ZH{@UPyp`;l(TWsxSfy`H~`t zBS8Na6-@Dg5ZOEcf`ubtG^8yGVvB*JFi0E*XAMCkQAh*|jX>JLP)I!14v$1ZzCKW8 zHC}WK-jC$=wU+WkfW`_096SP%l#~QdvVpUCbOZ{A!y%Ap1R4!fX2AF&mVhdRvH0do z3?zV0<1sh_2Ac&@F;b)02?7FCsr2s_n4E94EdJMPQeGHBNaY|AmRWBKY-6p;L((Wi!oP~;^2uqfGS|~0@&>MrCaogWeeE+ST+Yj z^vA+c5DJyXV5uTs5EKgDgT)t6Sv0_dM1U$e;0#7Io=mhSy4Yh;SXZPQ3PncYFen@u z<4SaK!=mgkuBas}iA_sj0xZE2Hu@hd`ny<_8JHYpWfH(+Bm&WHJT?>ZrD;6lyIL@A z-{t#?jsCtC2wEr6QQb_3^)%Kflm4|QE2UtqK^OVL0Z+vkT1X|JTL2?NY z_D>Y1h;xAr8N)9I6Q2k22W`809*31bozx2g`|212&|dw9P~YC8+14&r16Ak-9a3!K zRHb;b3UD({7$K_c<%-J&b;lG@>gtOJ zHRZ?IogwL5DVLl7r@{T-!p*OcOC?s%#3j7-Wq}SJlDXH4wm=IvvDZyk!P�U!}aM zpJH3)cgNL8Ec0$){VJ~LO*V=I$L2#8+qAcg z^}}xly-e@jseAX?GAVAhE^{VZcvkElhQ)Xcx_BQN6X#2PU58rIj?3=R{WRz!BAZXd zAJWWlt=WV1(g^RzHRF}y*)q$!eUrlN8YC-`S+!jI7|JkpgysSA%FQE)@)K?!V}@NTGjQD*T2GPGc%y~=Rf(%BKOSsoI-AOYnnc=Y zRTNi+?418>X*-X-)1&^xXAC@|aL?9wF#Ffh+?t>Yxn-Z3^9>`?$?HjNy4f^h&&JJ_ zGIK^ao$Bb(_z=uF(GavbT_ieZ=&AneaN4epHGk~xxh1nPDh)R7YEEHfn!KG#(Cobz z?o{Y_&hoPEtLHPBzZ;kLX?;E&mU6h20_(~dsd=6=-W90N?Oq7U8$^KZrm9B|uFDSF z&}wUwbt5yIolP=wLVxU? z@hm!N>CoP(7L@&N3yN$NvP`7YGOnQ7IGX7q3tEqN$u9AjdY5Y5PZ3JB)x64KAD)f> z&`=9J8n$UXBv+(r^|X{pE!RQs+h>G&v(CS@!*zU!$@kt5%avsmEQ`0o6;_Kc}%S+GpxDk$Hc}F0p29y7D~}=8KoxZL=!rCWAcp(?!{(X1f1rkO&7z z3+Y8Vn%%O;E3F^!jA@nC)Qg0P8pWV(d1UG8p6Tt)M)27QLQ%WyS(W^LpLABEYd(JY z4f&g_j-IFO-RcQ7ZDZV&;3;y!6<5!79{_oi99`7M{qdwbM0Yt z?N+Mkt4>O~zZG@F{-I>O#M{2+eLXtljRrJmjyXn;K*Z7KeG|7AgA87$E#N!V_FTL= qU3zhwdcg9_nm)R(gyEl8BSBe5&$GOXn2%I{I38p#QiW^eq5lF9AN}zF literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_blocked_mic_red.png b/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_blocked_mic_red.png new file mode 100644 index 0000000000000000000000000000000000000000..8c8cc4562037c855a9c5d9db4363ae3ba1785e60 GIT binary patch literal 3454 zcmV-^4T18BP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{4Esq$K~#8N?OO{}RaF{RbJ7uflqIdq?BQBX)}+oN8a30jmG+S7 zA!$na%uJz}c=S-v6i6B+UC^KvqoAn3Qk=v`#A6i2XA2gQCZrgUz#87~i}&n*zW>0z z+{3wW&%q1YtnONS;k{>{|MBgA|F6C6)$8}q?+DyT1O|fnFpNPrQiz`BJ!ICbS)PG` zfhm!Zkp(+;?5NnbZChb*aPYA?bLMzMm^*t~pdRDr?CktpXlUr=yu3WRcI_HjevC#V z<>%*9czAfxgb5Q~?J=QxiqXW06KBT6#0XZJm94F+3KHSr zWITSHsIig$osn_nkP!X4TgGmoFNAQy_*jaI`#~&UF6hAriF)L8k%1H{)~m(sJ(67}h$U1@6o_3ljw2_(MwqEgh>24iOovA4{2 zqX*?@h{VJkdf|o6l^!~j=+Q@so_vyIkS0!S`F`h}oxg|eA`%jQ2A`MhCbYc>iKeF2 zv}zTRgM(U$e*K81Od$~xLdIjq$bg8@*wjRgk|aAr{>$GDMMY#hae~C=%`LzzCs6bkY352ZBb8 zQqy*IC6Sl653~k!S@`RH5zPCFoSXyn^wVkqmn|canR(z>Att@MdUeL`*jUc_<*|MH zcB{kmod5ECuYiD)1wy!hN30wXZ&~)-+!NiE%C?e)ul`Ciz`=RRLWx?i|FVA zfa7LCl&ikmFdQ@vo_{-rxk`kRe-nH56wpHtDM5JR2@>bee*=Dfx}-!`UlI)s0W^EI zdgbrBi&y0W1Y(8Tf7o2LfN-ldxd6g&&`u|;ydtDN|2&C`ihp!f7v1kcxhY7~I`-Ju z`%+3uF6P~5B0hfn_&=>%x2|l@o;?*&QBfU^SeU-AuP zx|PxULOxM{k&<#=;q5tmwf6%fN0LZQy=Vf#(a~{qVq&5u{}&b(mfM+J3<70k{f8cS zpluQ0AH@FsSMZFtPxpP0YJ@pic%F19{?{@h)XJH~Ls#LN6-gtveZypl` z^Kf!^S8k0KOUT(qG&Uk4;!0-#a4F1{U{FxdcUpvG$4DL?3Vv9OntJ#OE${1|gVpz@ z>C@X7IysSa?p&HBAyHEkrUK#Kd#Nfuz9=ChqpS%DPe&HO05mi-kiWlwf>za|+m*F2BIjCAl|mLe8=dh+T|YEJ|LgcB@7VJS#|VF_}%%RK>WAaJvU zLGbhQ+o@GBkQ*y~^pRxdh1x^J$LHa9tC2)2UDdp1A)Lv}t4%4SydpU{qa%W{CA|5j z5(K2SQgU*KAn@u}R#t+I*FW_LD$brgOt;_O#*52pAtvjgVRNo*{%|s8q-V?^qYxgQ zdh3RUP+GJ|2?BuY2!uxT0JsyheEISan*v!(fU$ZVw9~H5gj(DKwwKqNl{q>`-j59LR!3d@k(2CEuYH~AuzDk48VW^B$AR+ z_0Z^aE*RV*zWVAXGlN@hA+dY+4_d1+QCGLonk9(Chl%5&$tQ3GxOC|f&6_vRQ?KyI z0ghXSL=hIo>3Dy=bga(jI4;(#sWAfp?=McBiq%70s;}Rm@(GCH(xF2wAfPGAP16e( zE+EaAIbRQLIRyXsU(kUpbP?^3uI+wp-nhV_rVC9?#G0}$SmVqZ?PkMT(68BS-@Xu$&xnWT!Gcp z_~|7+&&$id5{{1M&Q*cHmLLIy6KIG`nlx#;UfNK0xgs53u)uzi0CGL4*u!XLp#$`H zy+XRro$HfdQo@3fDsARYPg)wKWM|W$L4$O!9B95Jcb83(03jH^P17r5M;7oGdi(7* z;?B-oey-9>+|A8xY3{{~WB{TD9FHkN7YjacAeG0(QCeNy4861wrr%M7X;>@(n4p(V zM*xfx-rfc?x@b{}pMU;BFY)Qqr@x+)lhblS1dlI+;O3^>4ub}9$$E)To;>-*bLY;z zN)o!jaxK6ha5os=RRt7MTWRm!5-lL4ac?pzDwp^Sq16ZAd$!g*#isIdoV|1@LeZUV z2{ThQz1%u!^ytwphmriS6Eqh?CJ?wzZeL0R1XzMi5Mb)#gpW^KL3GbOMA_Nf^~h#( zE`)wv;j|upn8dHYhTDA6Vgio4A4y0^;Ap3;23tXB;^?q=vC=0n2=VcyoyByV5v(N_ zm$vs_e39#vMS5hjIakiNH*Bc3EODhRTX-Ajx!*H#_wL=Cp;;}5tB@mP<>eVvY4eaF zgpP0-c)7F}6u&3BusP3QJ%oEMj8|EuAwhUCN8{oJM){Pm@lc z{*LarqfIdO1(z?!Yoyd4eL+6lRNWEcZV(S#rZCfD>mnZ?wI%G@#oNJIDlOeasQt|r zi85QHrJb>>_qVd=o}ksMl|rHY1*h|#1`v90+O#Q~!(jVMQmj0e#Xdehk(P915YY2i zwAZ*BwPQ!4qCVm9$6(>Qg$6mUZ;B`>2_rNg6%NtgAF_(swkU^$gq*ep0Jp=+%F4*o z({qy*(A6Ncze_M~9EpO0Xj}a4@*Ijfpuw4~=)*xEv2Gm~|9gY!QixmobOW6MN#b_$C>;LB1Vn0G??ycC3;g10NcST*yv^j~@80!Q0}}gHd(&=cSiO z96z4UQKLOQw7hq);_dGXayu+HHy34r+cGO#z*)-7JR)3OB^BUn*0BG1O^@7moeL#j zl{Ri{Qk~tSZ3dT4oI5n5pI~CTV8Mb7<>lq_0f?mqn7Toajv4ckX)b$uM3_hs6m-q9 z-6aFgeaWC8Bb0yBt_pR97zCXLuUty^->))H`F0pCH;4lVPEu9Xhuf2q;!0bu#_)YW z)8KoAnT3VotJKt$IC}R%SNFJ_2O!LepMFZx&YfgDa)gYi4vpV_OHxb>8G~^NY~jL|OH#~f%bUm#D!a(tJT)n~kdia5K zK7M0BZfN5!D%pmwr<^;53THbu79(^G<4|D zhtL%wPJKD|=d(aQ5oQq9uU}tuv&n0Bd0bsx2hN{AKVaFiWx=aft@=7XKHiA`NR{m2 z;Suca?*5M58Q#nU;poP34b8d3%`9iP$%b0sRo?q(gvj}PMMcG6l*!MaFmf+0F8=@c z4^y3?2W6+U_6LttRaHf!M6Q;-AwD=ht3%P$eZ9SITUH%}q2~Zt!3mSn0N^~VVJ*OT z2UcJ}$y|=-_B-CvAzP14g{eDWwV#4DJYvZdx5d_=L^c2b``-5IG0m=%5gg+{_=J%i gb(XG^y!rM20jn~#R0kAM*8l(j07*qoM6N<$f=f)KQ2+n{ literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_blocked_mic_yellow.png b/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_blocked_mic_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..b1e5217c8c45112a8cbe7c61358cb42a1054c4a5 GIT binary patch literal 3777 zcmV;y4nFaTP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{4n9dlK~#8N?OO?SROJ;`L_iZnK#EeS3sSX55Cs=N(1KR2$dQT$ zS``tO78iC3r3eB>DYBdbM?+al0s#b(RUsjOKtd#ugb+d|%Op%PlYO7eB=hd=ci+s* zOhUrU3rWBp=bZn{y!Y;Zm+#&G{`bHCKi6FI%jXvat|S8OA^cZpH(g03T3YtaBS((> zaKVBF;cM2c$=tYcW8u1W>n;Qa1|A(XYSa`c)1{>qYB72J`t^H$$&w{$27`gCtE<`b z<8U}QJw2UQtXN?hFkryTEv8gU2^u(X;EN$4AtXkNv1MgtTv}RM)8twMW#`VFJY>j_ z*IG)qW|!mV=ht=V(xv%gd__e?EyF!Qkl*Fy<*H+R_0?AuUAuO@tJ#%n2>}5C0kbnR zGr6j&ic3mL&`Mpc4BuMQ?v=3JZs(kw93DG%?BbTtui0hHnlW3U(A8V^%8p+x;hu`-s{$w~o!ipNP7m{X@y!dWMq66G!!6j<|+74DF!nTYh^s z?Y_`O-pQ2wE>Z5*L?Zhq;MKiZ6m4pzP}Gm8>SM}Vox{dIFrRGYH1ZId7$!}Ahu1M) zuItiBzo=`O(}yrwRu&PJ1!82}+|)WZ89x~R9F^`#;EWfTkGTvy>@r$=(*nSWF3hKT z!}W(SpBct{`YGr2iCdY4-ji0lK8pLsp-d&;q(IJyCR4hp7!ld#aMnLzh@aB{QCxeY zQMecP3{&P(b$r{)v$)b`XRD2z!4Th-wkoz)SP&;75hwo59REDteh0V5Xh1}_V>ZuV zc*8n-@D(sC@Susg@|4mztck0|HDcDJh6FmsO0=L zZT{?fbD^I&Wp-pXQ9r6YyO~Xs5Kr1VfzZ4mtv^#mOgM(b4VP<6qxw^&F+??9 zqPI5IPj+Q03N-?pmpquts;?uOpN=NKX zwi8uZKW1})TN!Q4pX$bBJ(UQB#DKaVaaUhJsMoCl!fi_Bsl%MwzcvV_KQh@17d6%v z-Th$PQ*55+9Fy9c*IZM+UudUaQTp4akx%a$#+wr$(? zxRezjyOoM|WN{RxMJ>ZL4rZz@3T!s(B@3gR4LN+=BNCg&i0h3Kp%A`;&9B!10iIBC zC}DjV^rQRs zZ$)Mn8}7+WQA(Dx`OVrOoVkOGjoUM}?>?SqtF(Fb0F=ti;CZtzN>X{sHcq_TJsi^q zzza&|`O;SxjZ8C2-rm#vV;g7S6IZ`5QQrQ*x{OGv_<}9tYJ(7c3#P|ITxMgnCeY9@ z5DyVg0nawRCd{#_`UUAGmj=#kn3o?;}5k0AghgVwF z{nH0K4U&ch4}`pTsg8eME-A zCwh2zrKRE{-*8;Vnz^5hb8INy-0iI+5r)G>Ac!Y~U*ri=50r8kO6FnS_g3iIIF_~ zfYoZ{*|TSVt5-*cE_Zg9RJtVQU;@=VDW^zx~fUgmK!&MmD$I05NyY3xQl%!w)& za@O0mV}gKC@V#0iltQUgj0J?LQ>O;&;VraeHLT<$SJer@kW!~3+-Pzv_3 z9i?E4C5Ok4|J&z!dBfPZIqeyDkWPQI>1G1B(i5EKisovRMaoH4AL&(c^yq*Isp;7$ zdBf7PNSo_;0+$_Rlf}-jyb>@&FK+i%iTMPDcP)Otiy^70}%&Dj`YSVPu+XBDt#M@(4c1{BO}#hr?eDXWXOx{ z)ff)vUULrzS!Mpzg{gRl8FKshDuYU6LO9_z=QJpbB4c17`rqPff3I|uyFH43Z0(+B zO)Iiw55Q|j4}!jZ`#upK9?puQIM)KQPgoxa;>NL^SSj9a@dX4mPca80Pr)9901zds z!VU4h<|#heK-SbRISJKStq79wo{X`n!RE0{otfHE;%ow^UNS3rs71a|uOH8PDILNY>ETIOD!tfNmBn!+~fc<6u zjaQ@e5>UnYP)_XbR8Bkr#SwBi^dv-`uosZqP*q5V#_IK(a%0b=qp~!?y%AC~9KN>5 zvfNW|^clk!UU7To83fSMpLXfB%_n*Y8^or`ZWl#qOvzoBi~DlY%a@Pes#U9u4FMqc zSFc{3EsVf(66a2>4MI#uR*FLN@$6Bdk=cpzzRuvt>z#B0l<8fGG0*#=OrvO&qLT;t z42ln0Fih@+dE2;FJF%BZo24pLVRzyP4L z;B%eE%L&4?+MaOI56kgjE1ySp>bW104Ub`d+7~@8i-v5L( z1^C=0Nc)>;;p2<(8cj8#Em;;i)Qu9)<1I*-l!~Y@En0i>oIH7QP*G9QMF0pO5*Gl_ zMb#ilhshqlo09(I;KQ!@UK<9Mxsvp}sz>i8rG=3%E4hnpd=mQwo_mAwx8p>}T!&JX zz7aH!YeGkj`t!Wp++6i-dkz7q1r`<-^0;y1YF3#j62b7yAj(>3=LBqiX#6Gc!Sl%c zsRPEp(WC}7h8YYTN`)J9`0QQoRh{M$=kCWLr>U5_zB@vWvMFnV_pdkSSF;rfaVd&J zTC-L$=N1tMZP>ku9JUEm5Eemce|PZtUhd;ITEII4aPwCeLT>Z#2Kx#Kl<7g%=m^dl zRr`RH79Zs7kOBF6>Nr+1{>6%AD?17zYMNXt8H4 zION^$t8Ohuhq2lUicO@vRXLpYgi~QHNvV50&hyNVmc4(<*iSL zoYpO7RAU4|$!^#X38b8$98P};Z?l7YKhZN-YKNXYzqJfg+&!i}hR-mJbuqkP3HaX8 z7=5l-A1I6if&4C&ghyasp`6oE{z`rr0nFvzTK!IY>nHs2ybsO;1~8@1t)SuqKOo3` zAb?&mBbrJujOdQ`q9N&2P*y6=0+*a%NB(#0$a6L>KFXH#3M@X=Ka)gkxlAVpQ^w>x(1z@�qL}-&Cf9rS?v=Aa4_+Ob zHj@_Z+O_MxcI{f0^?>{-LjEU|ot>>-Z{EC_J9qAUZ!?L$I@sbLV>gT$GiKKK@#6z0 zO`5a}%j1JHX3SVE*SP=j@ZrOo_mtPw0fSQu1iE|Ba15Sw?*v^{wp(5o=`Nf_Kg>x-Jf5Nx7W r%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1tdvCK~#8N?OR=F6ju~Z45^@?HNiBs6jO?YA_R@%i}a-i%)^Qg zLVdDO@WCqLLkogRUVIS?t*D?_>q9Gu6tO52eCZ+-(}$1{2#Ey5iflqwHoNn)GdsJp z_xPRJ%s7)>*Q}c?vv+pklFiJ$Gv|EwJLjHz?%B4s)~AI)3xP% zv)K!ZqTE3HRoC@jaQ(+zE*DEClOH!qo`$_=W@ctBlpKbF{}+ozs`dd8836Rh!otGV zh6%XZFTyNeWuXGzr-6$cCeRR+!}<~|cb{N3 z$1tmtV8XH+7&8eU@IzSjTDDwJ{>xhJ-|dgFzb*SkVeJTII@9U&XS}X^%`mnu2vKVO z>%Q+8*Ec^uFNYI^8SDY2V=#f3qU$jQ-wVf%#q_zk(*Jzj*Ek|frBXuxp*^eXK%F*js>J)0Bkw#M0aTVlP4tBuP172BlGfQ=i1T$3864wQvqC0 zO-P5ev#KZ#02*do@XSMbZiQGZ8UQG^9VbxQ-m$||o&gZu-K5RVl8X4>&jR@vkW9wu z@Zo^+E(@{`9+a^_IslBDH{-6tOaEG@PRS1dmby3{I#iJXc7H!9?DTZqGXv=ufOS7k zi3Eua8_GdgvxfAM5rUtP7XWt|G_PDK2cW&396un0`~a|$g~7o92>ByNqGkaiwO!x;y(;~nCmj(Geshl!H zI84Y8SyNNIOhyC%zbV|k>-d7=rAzD}BLo100PoL{VE*7iqMbY0K}HM!1_22ZJ}IKz zyGfgvQ0Ih@<7^Ozod5CJAdbkZH#k41iZGofb#_)rQzZsPZb11lE|qy_QoG7d1j(*IFnAQ~4>h z3cZhD0O4<^N(6g=Y9+H=A&S{gq3eh5^PbR-fzo>moCNWm0xt!E!C3_9d}tM^M=UnlkjD_y)Pv;E)e zeQwi?hwdGi?P>lE5zjta5w^d*X%tuqK@k{z=SGKM!JjMf%%*wY!G@S?Q)O%F7c z@GB)O%-|d^i!1fKrh5)nf^N|Ni>4F2C9p&Yyar|L2r=G=wlx3%002ovPDHLkV1i>f BjVu5F literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 704afdf9b..f8b4b0dc1 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -201,4 +201,7 @@ + + + true diff --git a/device/overlay/frameworks/base/core/res/res/values/public.xml b/device/overlay/frameworks/base/core/res/res/values/public.xml new file mode 100644 index 000000000..5bd90743b --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values/public.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + From 7d582f8a2b3a1ec42cd7e58d353a0b41c07429f3 Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Tue, 26 Aug 2014 22:38:27 +0530 Subject: [PATCH 244/641] init.qcom.usb: set default composition for ferrum Set DIAG + ADB as default USB composition for ferrum. It will be changed later to support other interfaces like modem and rmnet. Change-Id: I9ceb305d917d61117b63d9cdc78b884f4307b8ac --- rootdir/etc/init.qcom.usb.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 0334a95f0..92c0196af 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -148,6 +148,9 @@ case "$usb_config" in "msm8994") setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb ;; + "ferrum") + setprop persist.sys.usb.config diag,adb + ;; *) setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb ;; From af768e6ef75aa317dd26bfd932d42954b32dae32 Mon Sep 17 00:00:00 2001 From: Saurabh Shah Date: Tue, 26 Aug 2014 13:08:06 -0700 Subject: [PATCH 245/641] device/qcom/common: Enable all rotations Change config file to enable all rotations on device to make sure all display composition paths get executed. Change-Id: I5ff0b3fa039f45c0c967ceb12f3dfc4d587bc476 --- product/overlay/frameworks/base/core/res/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/product/overlay/frameworks/base/core/res/res/values/config.xml b/product/overlay/frameworks/base/core/res/res/values/config.xml index e5c9d0e57..947b4ddad 100644 --- a/product/overlay/frameworks/base/core/res/res/values/config.xml +++ b/product/overlay/frameworks/base/core/res/res/values/config.xml @@ -37,5 +37,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. false com.qualcomm.location com.qualcomm.location + true From 2b82585dcbb7628b170a082771e8b51ca28d2ef4 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Thu, 10 Jul 2014 14:57:05 -0700 Subject: [PATCH 246/641] init.qcom.rc: Add support for enabling ramdump collection on boot. Subsystem ramdump collection on SSR is now enabled on every boot if persist.sys.ssr.enable_ramdumps is set to 1. Change-Id: Id31c3de190ce2337a760a41088f0ba6026c2e271 --- rootdir/etc/init.qcom.rc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 0a1a54083..95772863a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -275,9 +275,22 @@ service ssr_setup /system/bin/ssr_setup oneshot disabled +service ss_ramdump /system/bin/subsystem_ramdump + class main + user system + group system + disabled + on property:persist.sys.ssr.restart_level=* start ssr_setup +on property:persist.sys.ssr.enable_ramdumps=1 + write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 + start ss_ramdump + +on property:persist.sys.ssr.enable_ramdumps=0 + write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 + on property:sys.boot_completed=1 write /dev/kmsg "Boot completed " From 28183360bd80a758d4a78f46335935ca33c42931 Mon Sep 17 00:00:00 2001 From: Lior Barenboim Date: Wed, 2 Apr 2014 20:11:58 +0300 Subject: [PATCH 247/641] Ultrasound: Add digital pen service image resource Add an image resource for the digital pen service status bar notification for positioning issues. Change-Id: Iea8aa89b2468606c2cf08c07f50103a68cb2a46d --- .../digital_pen_positioning_problem.png | Bin 0 -> 2719 bytes .../digital_pen_positioning_problem.png | Bin 0 -> 2719 bytes .../digital_pen_positioning_problem.png | Bin 0 -> 2719 bytes .../digital_pen_positioning_problem.png | Bin 0 -> 2719 bytes .../digital_pen_positioning_problem.png | Bin 0 -> 2719 bytes .../base/core/res/res/values/public.xml | 2 ++ 6 files changed, 2 insertions(+) create mode 100755 device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_positioning_problem.png create mode 100755 device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_positioning_problem.png create mode 100755 device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_positioning_problem.png create mode 100755 device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_positioning_problem.png create mode 100755 device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_positioning_problem.png diff --git a/device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_positioning_problem.png b/device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_positioning_problem.png new file mode 100755 index 0000000000000000000000000000000000000000..3aac85417ceb67ea217247ac5597165b348393f0 GIT binary patch literal 2719 zcmV;Q3Sjk#P)%xKL7v#8gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO016vPL_t(|UhSO=Y!ufOh9M;-Y9sZnz9A_|K}ynAZK@Qtv}tIX zq-sOjq;1lwRjWv;YGDT(2ZL?=zz@6-0>(Dx5ielC;9x=wiS2-m4eARiP|_L#t&yO` zHHlg)HqR!hPtQM@MYFSKcV}kr%sxCv`jlw*&f}c(pS$wM zIKa`=AHuH!H;seaUMr>!`bNI<2jGfLfN% zq&N1yKkR!0eibBQtl*nCh!>4P9qXM)&4F3e+1Wwo&!4B`$B)yBs_bY78C!(!^2AtD3i^humEC=n1DTo?T z6Hpm50atKN{q(-YvRLW|p#+SKjD!&<0l=>UE5=Hl!od>N4}SOTO|-J`8xaI6?-bh` zKov~UFXNkJtk8)ZC?~UCtDp)d>X-A)Y^+d>`!AV-7RI{D*|e;toR$YF!l*2Mf?nTq zqj-#gOSp!9Ip2(CRsGAW@*;kKL0em!Hb;<-G2vH%WUS1aIXGdnUWq{QBh=W~7(rRd zB09V4gW@qJFgw0kzpQUCJAMC^{gY^<^M(jUyC!RoDWqcr{3PP&iRPP@DiTKC6Hohx*?%1i}(7 zBmnm?zN)~f`hg1x0OP9)*kMQN2QDRG{8RxeE#~w7c({}RFh1TFu%nLE4_r(@=2tIW_+0AzL*u!FY8{bpQFKxWSi*tvw%4_r{!C;2OcCKGpm4|inX`PG9DxV zWY%6Yc1Vf(fkz3*tSVq_oyNA0r+n0HpVbh#gR> ze&BHe(z^=y=9Q`+c$@%`o>jm%Zg*#+C6bVU^xSdDH?3U#APETo=~V?|&UZG(C0YUk z6}j|k>mAgw;Q`v!_(SRr&ZbklZl(YBy!YC%qx){8V>`Y`FF*TTZu2AR;{X2jx!dXD zzNnl0LZsJ@OTJ-c>c7B2d$sio9IX3j_u7Z3H2=q90v0b`Or@oz5i~6OEe$+Bje3IL zrkctHVw+`E`SklOGwJOElf-+_NslVPx=X&0|Wg9bcjY8}Fvh4fj*;rn|N7;Xj=p zrmNkPY0K)Li-B^I0IMJghqrxIyl0)%t^!twxU(??0)JxX3<^H;>!_;4=e0H2;&;H! z1b~%GpN#dJkh(iASh90J^=-4foNd{qK`}NzJ!rtc<8T z8?W|ErcJAUDLQKxFA@-9bzrX6Rhs-sy&aeF)Q{nw zj*n2)l0~9(PVhPb;N_-!&3>iMj!RZT%=P_!o4zSJ<&jP%rlE33Jp87#><*!7ioRW+LEGaLh;jRx!{w22xSOMa! z_pJlh(;v6qMGeccEX_jgkcQO*j@z?RGj|bh&xrlCyuLr zfLZXWrB8~Es31Q-pE^1^!hV1U2M1lPfcAAiu=A&I)K`J7{+Q2vLj3*tY1+G0$q^Nx zuivyKp+s7 zfP)7QQeIx3*xm^c5SFuG%@Dd&$5@1RF;4iIrh)$^lRe(QN97;fIYbzBL z6o_r@P`RW~dl!7NZF;QbDON!hByM~nTPvKgkV@qnFbVYc=gytGmVmmtIw~qE65HAV zBOQl|mrye=;FDNZe+W#--25HL&d#P2Cr)U=$6w9GXC)C>mRijdk_1?zy$yf9VtK>^P8n(={-)GvV_Gz{giDp?AEUC`gx z*4AnXIDGgp&6_t*Y-a`Z`-6KwDc-jtoK*oIq-NDmCXUj*D#l(F@BzxyZw50;tm8)zq<~ok z{r=F<5UpRoo(c=)2Y`4x_fGG-!%0*jUMphZuSY>QVy_CgvF(wMU9eX4m6oqibL}r8 zmZ0PJ;+duMXlKJC+A|nwu`c@kfq?<4uC5l}1=O?Rhr2BODPym&HX`DNuBl%F6@jIH zSV8wM?u!Bb-}n+7YjU=({#n?l3jO|}Lx&BiGgM1au{* zc72|<)jg*5ooM@C$!HL&SKpn_Pb;LG9}e7akYCA z`seP5HJhmpVjQ`Sh(Aml^@ljx{3-3<6Og`3al)%0+8R$E*9c!z${(bi`ZIuctAI0s zosBX7^2 literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_positioning_problem.png b/device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_positioning_problem.png new file mode 100755 index 0000000000000000000000000000000000000000..3aac85417ceb67ea217247ac5597165b348393f0 GIT binary patch literal 2719 zcmV;Q3Sjk#P)%xKL7v#8gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO016vPL_t(|UhSO=Y!ufOh9M;-Y9sZnz9A_|K}ynAZK@Qtv}tIX zq-sOjq;1lwRjWv;YGDT(2ZL?=zz@6-0>(Dx5ielC;9x=wiS2-m4eARiP|_L#t&yO` zHHlg)HqR!hPtQM@MYFSKcV}kr%sxCv`jlw*&f}c(pS$wM zIKa`=AHuH!H;seaUMr>!`bNI<2jGfLfN% zq&N1yKkR!0eibBQtl*nCh!>4P9qXM)&4F3e+1Wwo&!4B`$B)yBs_bY78C!(!^2AtD3i^humEC=n1DTo?T z6Hpm50atKN{q(-YvRLW|p#+SKjD!&<0l=>UE5=Hl!od>N4}SOTO|-J`8xaI6?-bh` zKov~UFXNkJtk8)ZC?~UCtDp)d>X-A)Y^+d>`!AV-7RI{D*|e;toR$YF!l*2Mf?nTq zqj-#gOSp!9Ip2(CRsGAW@*;kKL0em!Hb;<-G2vH%WUS1aIXGdnUWq{QBh=W~7(rRd zB09V4gW@qJFgw0kzpQUCJAMC^{gY^<^M(jUyC!RoDWqcr{3PP&iRPP@DiTKC6Hohx*?%1i}(7 zBmnm?zN)~f`hg1x0OP9)*kMQN2QDRG{8RxeE#~w7c({}RFh1TFu%nLE4_r(@=2tIW_+0AzL*u!FY8{bpQFKxWSi*tvw%4_r{!C;2OcCKGpm4|inX`PG9DxV zWY%6Yc1Vf(fkz3*tSVq_oyNA0r+n0HpVbh#gR> ze&BHe(z^=y=9Q`+c$@%`o>jm%Zg*#+C6bVU^xSdDH?3U#APETo=~V?|&UZG(C0YUk z6}j|k>mAgw;Q`v!_(SRr&ZbklZl(YBy!YC%qx){8V>`Y`FF*TTZu2AR;{X2jx!dXD zzNnl0LZsJ@OTJ-c>c7B2d$sio9IX3j_u7Z3H2=q90v0b`Or@oz5i~6OEe$+Bje3IL zrkctHVw+`E`SklOGwJOElf-+_NslVPx=X&0|Wg9bcjY8}Fvh4fj*;rn|N7;Xj=p zrmNkPY0K)Li-B^I0IMJghqrxIyl0)%t^!twxU(??0)JxX3<^H;>!_;4=e0H2;&;H! z1b~%GpN#dJkh(iASh90J^=-4foNd{qK`}NzJ!rtc<8T z8?W|ErcJAUDLQKxFA@-9bzrX6Rhs-sy&aeF)Q{nw zj*n2)l0~9(PVhPb;N_-!&3>iMj!RZT%=P_!o4zSJ<&jP%rlE33Jp87#><*!7ioRW+LEGaLh;jRx!{w22xSOMa! z_pJlh(;v6qMGeccEX_jgkcQO*j@z?RGj|bh&xrlCyuLr zfLZXWrB8~Es31Q-pE^1^!hV1U2M1lPfcAAiu=A&I)K`J7{+Q2vLj3*tY1+G0$q^Nx zuivyKp+s7 zfP)7QQeIx3*xm^c5SFuG%@Dd&$5@1RF;4iIrh)$^lRe(QN97;fIYbzBL z6o_r@P`RW~dl!7NZF;QbDON!hByM~nTPvKgkV@qnFbVYc=gytGmVmmtIw~qE65HAV zBOQl|mrye=;FDNZe+W#--25HL&d#P2Cr)U=$6w9GXC)C>mRijdk_1?zy$yf9VtK>^P8n(={-)GvV_Gz{giDp?AEUC`gx z*4AnXIDGgp&6_t*Y-a`Z`-6KwDc-jtoK*oIq-NDmCXUj*D#l(F@BzxyZw50;tm8)zq<~ok z{r=F<5UpRoo(c=)2Y`4x_fGG-!%0*jUMphZuSY>QVy_CgvF(wMU9eX4m6oqibL}r8 zmZ0PJ;+duMXlKJC+A|nwu`c@kfq?<4uC5l}1=O?Rhr2BODPym&HX`DNuBl%F6@jIH zSV8wM?u!Bb-}n+7YjU=({#n?l3jO|}Lx&BiGgM1au{* zc72|<)jg*5ooM@C$!HL&SKpn_Pb;LG9}e7akYCA z`seP5HJhmpVjQ`Sh(Aml^@ljx{3-3<6Og`3al)%0+8R$E*9c!z${(bi`ZIuctAI0s zosBX7^2 literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_positioning_problem.png b/device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_positioning_problem.png new file mode 100755 index 0000000000000000000000000000000000000000..3aac85417ceb67ea217247ac5597165b348393f0 GIT binary patch literal 2719 zcmV;Q3Sjk#P)%xKL7v#8gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO016vPL_t(|UhSO=Y!ufOh9M;-Y9sZnz9A_|K}ynAZK@Qtv}tIX zq-sOjq;1lwRjWv;YGDT(2ZL?=zz@6-0>(Dx5ielC;9x=wiS2-m4eARiP|_L#t&yO` zHHlg)HqR!hPtQM@MYFSKcV}kr%sxCv`jlw*&f}c(pS$wM zIKa`=AHuH!H;seaUMr>!`bNI<2jGfLfN% zq&N1yKkR!0eibBQtl*nCh!>4P9qXM)&4F3e+1Wwo&!4B`$B)yBs_bY78C!(!^2AtD3i^humEC=n1DTo?T z6Hpm50atKN{q(-YvRLW|p#+SKjD!&<0l=>UE5=Hl!od>N4}SOTO|-J`8xaI6?-bh` zKov~UFXNkJtk8)ZC?~UCtDp)d>X-A)Y^+d>`!AV-7RI{D*|e;toR$YF!l*2Mf?nTq zqj-#gOSp!9Ip2(CRsGAW@*;kKL0em!Hb;<-G2vH%WUS1aIXGdnUWq{QBh=W~7(rRd zB09V4gW@qJFgw0kzpQUCJAMC^{gY^<^M(jUyC!RoDWqcr{3PP&iRPP@DiTKC6Hohx*?%1i}(7 zBmnm?zN)~f`hg1x0OP9)*kMQN2QDRG{8RxeE#~w7c({}RFh1TFu%nLE4_r(@=2tIW_+0AzL*u!FY8{bpQFKxWSi*tvw%4_r{!C;2OcCKGpm4|inX`PG9DxV zWY%6Yc1Vf(fkz3*tSVq_oyNA0r+n0HpVbh#gR> ze&BHe(z^=y=9Q`+c$@%`o>jm%Zg*#+C6bVU^xSdDH?3U#APETo=~V?|&UZG(C0YUk z6}j|k>mAgw;Q`v!_(SRr&ZbklZl(YBy!YC%qx){8V>`Y`FF*TTZu2AR;{X2jx!dXD zzNnl0LZsJ@OTJ-c>c7B2d$sio9IX3j_u7Z3H2=q90v0b`Or@oz5i~6OEe$+Bje3IL zrkctHVw+`E`SklOGwJOElf-+_NslVPx=X&0|Wg9bcjY8}Fvh4fj*;rn|N7;Xj=p zrmNkPY0K)Li-B^I0IMJghqrxIyl0)%t^!twxU(??0)JxX3<^H;>!_;4=e0H2;&;H! z1b~%GpN#dJkh(iASh90J^=-4foNd{qK`}NzJ!rtc<8T z8?W|ErcJAUDLQKxFA@-9bzrX6Rhs-sy&aeF)Q{nw zj*n2)l0~9(PVhPb;N_-!&3>iMj!RZT%=P_!o4zSJ<&jP%rlE33Jp87#><*!7ioRW+LEGaLh;jRx!{w22xSOMa! z_pJlh(;v6qMGeccEX_jgkcQO*j@z?RGj|bh&xrlCyuLr zfLZXWrB8~Es31Q-pE^1^!hV1U2M1lPfcAAiu=A&I)K`J7{+Q2vLj3*tY1+G0$q^Nx zuivyKp+s7 zfP)7QQeIx3*xm^c5SFuG%@Dd&$5@1RF;4iIrh)$^lRe(QN97;fIYbzBL z6o_r@P`RW~dl!7NZF;QbDON!hByM~nTPvKgkV@qnFbVYc=gytGmVmmtIw~qE65HAV zBOQl|mrye=;FDNZe+W#--25HL&d#P2Cr)U=$6w9GXC)C>mRijdk_1?zy$yf9VtK>^P8n(={-)GvV_Gz{giDp?AEUC`gx z*4AnXIDGgp&6_t*Y-a`Z`-6KwDc-jtoK*oIq-NDmCXUj*D#l(F@BzxyZw50;tm8)zq<~ok z{r=F<5UpRoo(c=)2Y`4x_fGG-!%0*jUMphZuSY>QVy_CgvF(wMU9eX4m6oqibL}r8 zmZ0PJ;+duMXlKJC+A|nwu`c@kfq?<4uC5l}1=O?Rhr2BODPym&HX`DNuBl%F6@jIH zSV8wM?u!Bb-}n+7YjU=({#n?l3jO|}Lx&BiGgM1au{* zc72|<)jg*5ooM@C$!HL&SKpn_Pb;LG9}e7akYCA z`seP5HJhmpVjQ`Sh(Aml^@ljx{3-3<6Og`3al)%0+8R$E*9c!z${(bi`ZIuctAI0s zosBX7^2 literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_positioning_problem.png b/device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_positioning_problem.png new file mode 100755 index 0000000000000000000000000000000000000000..3aac85417ceb67ea217247ac5597165b348393f0 GIT binary patch literal 2719 zcmV;Q3Sjk#P)%xKL7v#8gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO016vPL_t(|UhSO=Y!ufOh9M;-Y9sZnz9A_|K}ynAZK@Qtv}tIX zq-sOjq;1lwRjWv;YGDT(2ZL?=zz@6-0>(Dx5ielC;9x=wiS2-m4eARiP|_L#t&yO` zHHlg)HqR!hPtQM@MYFSKcV}kr%sxCv`jlw*&f}c(pS$wM zIKa`=AHuH!H;seaUMr>!`bNI<2jGfLfN% zq&N1yKkR!0eibBQtl*nCh!>4P9qXM)&4F3e+1Wwo&!4B`$B)yBs_bY78C!(!^2AtD3i^humEC=n1DTo?T z6Hpm50atKN{q(-YvRLW|p#+SKjD!&<0l=>UE5=Hl!od>N4}SOTO|-J`8xaI6?-bh` zKov~UFXNkJtk8)ZC?~UCtDp)d>X-A)Y^+d>`!AV-7RI{D*|e;toR$YF!l*2Mf?nTq zqj-#gOSp!9Ip2(CRsGAW@*;kKL0em!Hb;<-G2vH%WUS1aIXGdnUWq{QBh=W~7(rRd zB09V4gW@qJFgw0kzpQUCJAMC^{gY^<^M(jUyC!RoDWqcr{3PP&iRPP@DiTKC6Hohx*?%1i}(7 zBmnm?zN)~f`hg1x0OP9)*kMQN2QDRG{8RxeE#~w7c({}RFh1TFu%nLE4_r(@=2tIW_+0AzL*u!FY8{bpQFKxWSi*tvw%4_r{!C;2OcCKGpm4|inX`PG9DxV zWY%6Yc1Vf(fkz3*tSVq_oyNA0r+n0HpVbh#gR> ze&BHe(z^=y=9Q`+c$@%`o>jm%Zg*#+C6bVU^xSdDH?3U#APETo=~V?|&UZG(C0YUk z6}j|k>mAgw;Q`v!_(SRr&ZbklZl(YBy!YC%qx){8V>`Y`FF*TTZu2AR;{X2jx!dXD zzNnl0LZsJ@OTJ-c>c7B2d$sio9IX3j_u7Z3H2=q90v0b`Or@oz5i~6OEe$+Bje3IL zrkctHVw+`E`SklOGwJOElf-+_NslVPx=X&0|Wg9bcjY8}Fvh4fj*;rn|N7;Xj=p zrmNkPY0K)Li-B^I0IMJghqrxIyl0)%t^!twxU(??0)JxX3<^H;>!_;4=e0H2;&;H! z1b~%GpN#dJkh(iASh90J^=-4foNd{qK`}NzJ!rtc<8T z8?W|ErcJAUDLQKxFA@-9bzrX6Rhs-sy&aeF)Q{nw zj*n2)l0~9(PVhPb;N_-!&3>iMj!RZT%=P_!o4zSJ<&jP%rlE33Jp87#><*!7ioRW+LEGaLh;jRx!{w22xSOMa! z_pJlh(;v6qMGeccEX_jgkcQO*j@z?RGj|bh&xrlCyuLr zfLZXWrB8~Es31Q-pE^1^!hV1U2M1lPfcAAiu=A&I)K`J7{+Q2vLj3*tY1+G0$q^Nx zuivyKp+s7 zfP)7QQeIx3*xm^c5SFuG%@Dd&$5@1RF;4iIrh)$^lRe(QN97;fIYbzBL z6o_r@P`RW~dl!7NZF;QbDON!hByM~nTPvKgkV@qnFbVYc=gytGmVmmtIw~qE65HAV zBOQl|mrye=;FDNZe+W#--25HL&d#P2Cr)U=$6w9GXC)C>mRijdk_1?zy$yf9VtK>^P8n(={-)GvV_Gz{giDp?AEUC`gx z*4AnXIDGgp&6_t*Y-a`Z`-6KwDc-jtoK*oIq-NDmCXUj*D#l(F@BzxyZw50;tm8)zq<~ok z{r=F<5UpRoo(c=)2Y`4x_fGG-!%0*jUMphZuSY>QVy_CgvF(wMU9eX4m6oqibL}r8 zmZ0PJ;+duMXlKJC+A|nwu`c@kfq?<4uC5l}1=O?Rhr2BODPym&HX`DNuBl%F6@jIH zSV8wM?u!Bb-}n+7YjU=({#n?l3jO|}Lx&BiGgM1au{* zc72|<)jg*5ooM@C$!HL&SKpn_Pb;LG9}e7akYCA z`seP5HJhmpVjQ`Sh(Aml^@ljx{3-3<6Og`3al)%0+8R$E*9c!z${(bi`ZIuctAI0s zosBX7^2 literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_positioning_problem.png b/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_positioning_problem.png new file mode 100755 index 0000000000000000000000000000000000000000..3aac85417ceb67ea217247ac5597165b348393f0 GIT binary patch literal 2719 zcmV;Q3Sjk#P)%xKL7v#8gxZibW?9;ba!ELWdKlNX>N2bPDNB8 zb~7$DE-^7j^FlWO016vPL_t(|UhSO=Y!ufOh9M;-Y9sZnz9A_|K}ynAZK@Qtv}tIX zq-sOjq;1lwRjWv;YGDT(2ZL?=zz@6-0>(Dx5ielC;9x=wiS2-m4eARiP|_L#t&yO` zHHlg)HqR!hPtQM@MYFSKcV}kr%sxCv`jlw*&f}c(pS$wM zIKa`=AHuH!H;seaUMr>!`bNI<2jGfLfN% zq&N1yKkR!0eibBQtl*nCh!>4P9qXM)&4F3e+1Wwo&!4B`$B)yBs_bY78C!(!^2AtD3i^humEC=n1DTo?T z6Hpm50atKN{q(-YvRLW|p#+SKjD!&<0l=>UE5=Hl!od>N4}SOTO|-J`8xaI6?-bh` zKov~UFXNkJtk8)ZC?~UCtDp)d>X-A)Y^+d>`!AV-7RI{D*|e;toR$YF!l*2Mf?nTq zqj-#gOSp!9Ip2(CRsGAW@*;kKL0em!Hb;<-G2vH%WUS1aIXGdnUWq{QBh=W~7(rRd zB09V4gW@qJFgw0kzpQUCJAMC^{gY^<^M(jUyC!RoDWqcr{3PP&iRPP@DiTKC6Hohx*?%1i}(7 zBmnm?zN)~f`hg1x0OP9)*kMQN2QDRG{8RxeE#~w7c({}RFh1TFu%nLE4_r(@=2tIW_+0AzL*u!FY8{bpQFKxWSi*tvw%4_r{!C;2OcCKGpm4|inX`PG9DxV zWY%6Yc1Vf(fkz3*tSVq_oyNA0r+n0HpVbh#gR> ze&BHe(z^=y=9Q`+c$@%`o>jm%Zg*#+C6bVU^xSdDH?3U#APETo=~V?|&UZG(C0YUk z6}j|k>mAgw;Q`v!_(SRr&ZbklZl(YBy!YC%qx){8V>`Y`FF*TTZu2AR;{X2jx!dXD zzNnl0LZsJ@OTJ-c>c7B2d$sio9IX3j_u7Z3H2=q90v0b`Or@oz5i~6OEe$+Bje3IL zrkctHVw+`E`SklOGwJOElf-+_NslVPx=X&0|Wg9bcjY8}Fvh4fj*;rn|N7;Xj=p zrmNkPY0K)Li-B^I0IMJghqrxIyl0)%t^!twxU(??0)JxX3<^H;>!_;4=e0H2;&;H! z1b~%GpN#dJkh(iASh90J^=-4foNd{qK`}NzJ!rtc<8T z8?W|ErcJAUDLQKxFA@-9bzrX6Rhs-sy&aeF)Q{nw zj*n2)l0~9(PVhPb;N_-!&3>iMj!RZT%=P_!o4zSJ<&jP%rlE33Jp87#><*!7ioRW+LEGaLh;jRx!{w22xSOMa! z_pJlh(;v6qMGeccEX_jgkcQO*j@z?RGj|bh&xrlCyuLr zfLZXWrB8~Es31Q-pE^1^!hV1U2M1lPfcAAiu=A&I)K`J7{+Q2vLj3*tY1+G0$q^Nx zuivyKp+s7 zfP)7QQeIx3*xm^c5SFuG%@Dd&$5@1RF;4iIrh)$^lRe(QN97;fIYbzBL z6o_r@P`RW~dl!7NZF;QbDON!hByM~nTPvKgkV@qnFbVYc=gytGmVmmtIw~qE65HAV zBOQl|mrye=;FDNZe+W#--25HL&d#P2Cr)U=$6w9GXC)C>mRijdk_1?zy$yf9VtK>^P8n(={-)GvV_Gz{giDp?AEUC`gx z*4AnXIDGgp&6_t*Y-a`Z`-6KwDc-jtoK*oIq-NDmCXUj*D#l(F@BzxyZw50;tm8)zq<~ok z{r=F<5UpRoo(c=)2Y`4x_fGG-!%0*jUMphZuSY>QVy_CgvF(wMU9eX4m6oqibL}r8 zmZ0PJ;+duMXlKJC+A|nwu`c@kfq?<4uC5l}1=O?Rhr2BODPym&HX`DNuBl%F6@jIH zSV8wM?u!Bb-}n+7YjU=({#n?l3jO|}Lx&BiGgM1au{* zc72|<)jg*5ooM@C$!HL&SKpn_Pb;LG9}e7akYCA z`seP5HJhmpVjQ`Sh(Aml^@ljx{3-3<6Og`3al)%0+8R$E*9c!z${(bi`ZIuctAI0s zosBX7^2 literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/values/public.xml b/device/overlay/frameworks/base/core/res/res/values/public.xml index 5bd90743b..4147b2a00 100644 --- a/device/overlay/frameworks/base/core/res/res/values/public.xml +++ b/device/overlay/frameworks/base/core/res/res/values/public.xml @@ -39,4 +39,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + From 9055e611bd08a83bc31a74f83c737e1e1031ee4e Mon Sep 17 00:00:00 2001 From: Sukanya Rajkhowa Date: Mon, 18 Aug 2014 13:40:47 -0700 Subject: [PATCH 248/641] Telephony: Implementation of IWLAN Enable feature flag config_feature_iwlan_available Change-Id: I927f1a0837366b35b95283797d753eb016d7a0c3 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index f8b4b0dc1..ae299c8fe 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -198,9 +198,7 @@ true - true From 77a173526f18cf3264dc94492226b7d6ddb5af0c Mon Sep 17 00:00:00 2001 From: Sridhar Parasuram Date: Wed, 27 Aug 2014 10:22:58 -0700 Subject: [PATCH 249/641] Fix inclusion of packages in PRODUCT_PACKAGES Fixing a bug from cb5544da4dd52e73cf716908cbadfeddce03cd43 Change-Id: I47d33a0f1c77d34067f726b2c3d619796e104104 --- base.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base.mk b/base.mk index b918883c1..943311635 100644 --- a/base.mk +++ b/base.mk @@ -594,7 +594,7 @@ PRODUCT_PACKAGES := \ ifneq ($(TARGET_USES_AOSP),true) -PRODUCT_PACKAGES := \ +PRODUCT_PACKAGES += \ BluetoothExt \ BTTestApp \ HiddTestApp From 874cf0d64416c0a54963641d35bf1f66c4d7fae6 Mon Sep 17 00:00:00 2001 From: Ravit Dennis Date: Thu, 8 May 2014 17:30:19 +0300 Subject: [PATCH 250/641] Ultrasound: Add digital pen background side-channel resource Add an image resource for the digital pen service status bar notification for background side channel. Change-Id: Ic1f4eb8b882c5fda9af4bf8dba74f2291f11e020 --- .../digital_pen_background_side_channel.png | Bin 0 -> 1133 bytes .../digital_pen_background_side_channel.png | Bin 0 -> 784 bytes .../digital_pen_background_side_channel.png | Bin 0 -> 784 bytes .../digital_pen_background_side_channel.png | Bin 0 -> 1474 bytes .../digital_pen_background_side_channel.png | Bin 0 -> 1474 bytes .../base/core/res/res/values/public.xml | 2 ++ 6 files changed, 2 insertions(+) create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_background_side_channel.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_background_side_channel.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-mdpi/digital_pen_background_side_channel.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xhdpi/digital_pen_background_side_channel.png create mode 100644 device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_background_side_channel.png diff --git a/device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_background_side_channel.png b/device/overlay/frameworks/base/core/res/res/drawable-hdpi/digital_pen_background_side_channel.png new file mode 100644 index 0000000000000000000000000000000000000000..2df5d1a85c7265dda4ae3d6e145181884781a56a GIT binary patch literal 1133 zcmV-z1d{uSP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1L{dcK~!i%?U`*zlWQ2q?|kjWbXulMpN(P5mzjn1jVfg&g(dYK_vK_7y{>2RoQq!DH{E4;fN zyUvFm@A}f0tHb%hpKZ^6H{Abc&)~T>_CNngI1gDQ6tKb4cyKfkWdgepBWZny4yX6ADq62iIs zIVdw}62FjcpHGb|iSVhwh-kyg_$6sX_HiWVI{a859QD4lX zN2)lFCt3D!DJ`0ci|dc(9@N|S94NA)X}N?71cObq|g zZr_Y5O{yv?Rz06FLs;NtTpZs}UhYJdCS{eCwtrxJ6crelIg?kcUAqERnwU3j%6piY zC@k<7%*mxSHC9w0Yqz?sznb!g<66z5Z`eflG7dJY|7E z6q9m9G)K}FRy>6n9AfabEnO=0~OlTmX*~EE2gry(b2rIv~(LP zw5eXb+A*k@%3j9C@+}TWB`UO8Syff^I6nTf0s$!GbUN**&_X)R^n;OmVElCRgW-yG}Hg3#8g*G0GB~0aZYh%1#UA^7@Lt10wT=}(p z9F^|_xO8I27#o1l{d4L7vlj1{5s4KVf*ngQXLF*ux600000NkvXXu0mjfcl-{7 literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_background_side_channel.png b/device/overlay/frameworks/base/core/res/res/drawable-ldpi/digital_pen_background_side_channel.png new file mode 100644 index 0000000000000000000000000000000000000000..eb4f360f65d0c9e904fd4924c8e501305108263b GIT binary patch literal 784 zcmV+r1MmEaP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{0*y&TK~z{rV;IsPAURpH(Z|O*I4({bDnuV3(b_7yRa0~010kWm z-*|cdKNJ%Bw?ji?t42YABvc6v!Tk+tkz!G3?*Z0#!*H z;FgxA@l;R{)p96)B_QxWFeXL^s+2Y$Eg-=19UmW72YdiVN4}4bB~&SGKx%NX`6nJ8 ztPc3X&HX>$&(9pHlr|tKB*gN*q~!m1Ku4hC2SD*`UEhT1r0WH{L( zVGtiA4w8o|r5z}9bF;c8FMs8_s3-!<$z7>*cejNqp)II)aq;@k$%&cE0 z$-+<-GzS0vv0oGye}wFSE8^l$87^GlhN_@3`2U~rtd!JsWCxs=l)M9EF+)|*9-NSq zJA>?iQ!+9api=Y!2NV?#B0J!)g2FMV6n(%RW#ui%4%n}xv=b^tAFy3bZ8@?7cB-nb zflAQ_Y|zx4`Ja&y;s7AMSwmw!REj=ewT?~~yj=)v53bYJo(Pqq4_KnFU-O@p72*IE zmjBE2^_!ql^Z|2CP4oVcfO&|^gvK#&|FvLNn=m&t7Hv;iaAZ`QVQ$Xwrl_CN#FaQAYCs<4=!&;*N O0000%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{0*y&TK~z{rV;IsPAURpH(Z|O*I4({bDnuV3(b_7yRa0~010kWm z-*|cdKNJ%Bw?ji?t42YABvc6v!Tk+tkz!G3?*Z0#!*H z;FgxA@l;R{)p96)B_QxWFeXL^s+2Y$Eg-=19UmW72YdiVN4}4bB~&SGKx%NX`6nJ8 ztPc3X&HX>$&(9pHlr|tKB*gN*q~!m1Ku4hC2SD*`UEhT1r0WH{L( zVGtiA4w8o|r5z}9bF;c8FMs8_s3-!<$z7>*cejNqp)II)aq;@k$%&cE0 z$-+<-GzS0vv0oGye}wFSE8^l$87^GlhN_@3`2U~rtd!JsWCxs=l)M9EF+)|*9-NSq zJA>?iQ!+9api=Y!2NV?#B0J!)g2FMV6n(%RW#ui%4%n}xv=b^tAFy3bZ8@?7cB-nb zflAQ_Y|zx4`Ja&y;s7AMSwmw!REj=ewT?~~yj=)v53bYJo(Pqq4_KnFU-O@p72*IE zmjBE2^_!ql^Z|2CP4oVcfO&|^gvK#&|FvLNn=m&t7Hv;iaAZ`QVQ$Xwrl_CN#FaQAYCs<4=!&;*N O0000%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1wTndK~#8N?VD>%TV)u>50`?li&Pi{mJN`OIj~snEtWx{+_uU^ z%D9AEDCs1yxw?r=79p4+Bm)WCkc357m}KI{_@HhHDw$%uF{hEaWmBgcWBV|-MMat0 zczw?DoEXVl%NJw%$S?V)=Pl23lK;O2`ab7WSY(m^kn`u43xk7x!o~Qm zS66n;-=7`OXr>d)=0a?t!{eJb=N(h27;|?1yK#<2l}eUYU0sQ-j*n+&r~fNz^$ng` zTe8N){Jx^8Nr9(uY>EpDn{W8~a*f*3Z*n;^<>zxg^!7I98iS_lFnJ2}5Jd*=6F(CsZGF&YT*c}K% zLvFZoe2hk;$CG7cg$9$UB&)L0ro^A;RaC%+v2+Qx(jdrUd2A>?o?U{SpgoO1UHJCx zvDiw4jt<4~(9l`lAG`S)RVePc?cN=RokSQI@E=ktZ}JS!*Kk9Aj|p5z&xFLCn(M=sb# z2iV_#YyKayEw&j9J$IHaB)9vWgWy8TGV7`xBcqn#W#-n zW7#tHw87AgEwnHhjXQtx_U0Ow^ov~1YI1U3#1>i<7Z=xEvvYmmx{nX5G8&)77Frl8 zD$0I@-5$@lq$_@Yte~XiDQuxdlG&VlZq+KTaY+|fu4L&ZQwg@vLS0j%KNS?jH7@B4 z1hn34ega!)@rcEu{vafTYh2Q25KvTIT?)3)!gtp$7BJ}@5x(Q!m)!GgM)r=D3w3+j7u6051*ws4U#y0+Ut-?^^a4b!x0g; zgri4^O@k!n<~$C>#(u{$E~#Ionx=c#80_|Y>`a9qAn|(O1K2^2PObJ+aq7b}FA4(s z3XTX|4zodPa`O8&Z2&Pr1dlyS-@_c&wz?`QiKLB@k z)|{F;jHNVrX5+^F;?RQ^fEY|eMurtjX;PDu^U{ossnBf*W}CsV7fWeUzG>6WTQ;Ub zGjcgI=jF9xDNPECi|el1mH8jLyDN#B)6mN%ya;HM?K>$lyT9jBx6Yuu+fUbmuyOTjd?CZe5`t2n9t!Qiv!BUzuB_+A0S5@h>Tef6Ax^-)s(A5>|)7ZFPTk2yhD z4%!VOc2D2}xg!W!;_p5LK=Wd#J-~QA22g?PH6Rmc7bxL=5oN%n1_Suwo*;ZA{Wp+w zR}koYcaR5|l!5s-MYHfY3wjHVE8#H@ch5{ c!AKDP1T7iyZ|qgN(*OVf07*qoM6N<$f-YUR@&Et; literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_background_side_channel.png b/device/overlay/frameworks/base/core/res/res/drawable-xxhdpi/digital_pen_background_side_channel.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc447ec1dce9661485412b14ecba2dc3da96ed7 GIT binary patch literal 1474 zcmV;z1wHzSP)%xKL7v#8FWQhbW?9;ba!ELWdKcSV{&hEZ)S8L zPiAImV`YEsHE{p{1wTndK~#8N?VD>%TV)u>50`?li&Pi{mJN`OIj~snEtWx{+_uU^ z%D9AEDCs1yxw?r=79p4+Bm)WCkc357m}KI{_@HhHDw$%uF{hEaWmBgcWBV|-MMat0 zczw?DoEXVl%NJw%$S?V)=Pl23lK;O2`ab7WSY(m^kn`u43xk7x!o~Qm zS66n;-=7`OXr>d)=0a?t!{eJb=N(h27;|?1yK#<2l}eUYU0sQ-j*n+&r~fNz^$ng` zTe8N){Jx^8Nr9(uY>EpDn{W8~a*f*3Z*n;^<>zxg^!7I98iS_lFnJ2}5Jd*=6F(CsZGF&YT*c}K% zLvFZoe2hk;$CG7cg$9$UB&)L0ro^A;RaC%+v2+Qx(jdrUd2A>?o?U{SpgoO1UHJCx zvDiw4jt<4~(9l`lAG`S)RVePc?cN=RokSQI@E=ktZ}JS!*Kk9Aj|p5z&xFLCn(M=sb# z2iV_#YyKayEw&j9J$IHaB)9vWgWy8TGV7`xBcqn#W#-n zW7#tHw87AgEwnHhjXQtx_U0Ow^ov~1YI1U3#1>i<7Z=xEvvYmmx{nX5G8&)77Frl8 zD$0I@-5$@lq$_@Yte~XiDQuxdlG&VlZq+KTaY+|fu4L&ZQwg@vLS0j%KNS?jH7@B4 z1hn34ega!)@rcEu{vafTYh2Q25KvTIT?)3)!gtp$7BJ}@5x(Q!m)!GgM)r=D3w3+j7u6051*ws4U#y0+Ut-?^^a4b!x0g; zgri4^O@k!n<~$C>#(u{$E~#Ionx=c#80_|Y>`a9qAn|(O1K2^2PObJ+aq7b}FA4(s z3XTX|4zodPa`O8&Z2&Pr1dlyS-@_c&wz?`QiKLB@k z)|{F;jHNVrX5+^F;?RQ^fEY|eMurtjX;PDu^U{ossnBf*W}CsV7fWeUzG>6WTQ;Ub zGjcgI=jF9xDNPECi|el1mH8jLyDN#B)6mN%ya;HM?K>$lyT9jBx6Yuu+fUbmuyOTjd?CZe5`t2n9t!Qiv!BUzuB_+A0S5@h>Tef6Ax^-)s(A5>|)7ZFPTk2yhD z4%!VOc2D2}xg!W!;_p5LK=Wd#J-~QA22g?PH6Rmc7bxL=5oN%n1_Suwo*;ZA{Wp+w zR}koYcaR5|l!5s-MYHfY3wjHVE8#H@ch5{ c!AKDP1T7iyZ|qgN(*OVf07*qoM6N<$f-YUR@&Et; literal 0 HcmV?d00001 diff --git a/device/overlay/frameworks/base/core/res/res/values/public.xml b/device/overlay/frameworks/base/core/res/res/values/public.xml index 4147b2a00..db8d11311 100644 --- a/device/overlay/frameworks/base/core/res/res/values/public.xml +++ b/device/overlay/frameworks/base/core/res/res/values/public.xml @@ -41,4 +41,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + From f8cfd7aada385ebfb36de14e69280bb62f78a0b4 Mon Sep 17 00:00:00 2001 From: Sandeep Gutta Date: Tue, 26 Aug 2014 18:42:30 +0530 Subject: [PATCH 251/641] Telecomm: Add overlay file to enable tty Add overlay file for Telecomm app, with tty config item set to true for enabling tty option in Call feature settings menu. Also remove tty config from Telephony overlay file. Change-Id: Ic4fb4681b43f25c0498db70d1a8fb35eb9b05879 CRs-fixed: 713332 --- .../services/Telecomm/res/values/config.xml | 37 +++++++++++++++++++ .../services/Telephony/res/values/config.xml | 3 -- 2 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 device/overlay/packages/services/Telecomm/res/values/config.xml diff --git a/device/overlay/packages/services/Telecomm/res/values/config.xml b/device/overlay/packages/services/Telecomm/res/values/config.xml new file mode 100644 index 000000000..9719a5b9b --- /dev/null +++ b/device/overlay/packages/services/Telecomm/res/values/config.xml @@ -0,0 +1,37 @@ + + + + + + true + diff --git a/device/overlay/packages/services/Telephony/res/values/config.xml b/device/overlay/packages/services/Telephony/res/values/config.xml index afb1bdef5..7de6c0880 100644 --- a/device/overlay/packages/services/Telephony/res/values/config.xml +++ b/device/overlay/packages/services/Telephony/res/values/config.xml @@ -26,9 +26,6 @@ true - - true - true From 86167a7b96857c3ea716dcef2c915bc489bbb76b Mon Sep 17 00:00:00 2001 From: Pratik Patel Date: Tue, 2 Sep 2014 14:50:51 -0700 Subject: [PATCH 252/641] init.qcom.rc: add support for logging ftrace events to coresight Add support to log ftrace events to CoreSight STM based on CoreSight property. This will help with debugging crashes. Change-Id: I2236d590f96d14b8c8bbbc4b18576d548e06af98 --- base.mk | 1 + rootdir/Android.mk | 7 +++ rootdir/etc/init.qcom.debug.sh | 84 ++++++++++++++++++++++++++++++++++ rootdir/etc/init.qcom.rc | 5 ++ 4 files changed, 97 insertions(+) create mode 100644 rootdir/etc/init.qcom.debug.sh diff --git a/base.mk b/base.mk index 943311635..f2a69ecb1 100644 --- a/base.mk +++ b/base.mk @@ -229,6 +229,7 @@ INIT += ssr_setup INIT += enable_swap.sh INIT += init.mdm.sh INIT += fstab.qcom +INIT += init.qcom.debug.sh INIT += init.qcom.zram.sh #IPROUTE2 diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 106311a9f..d7a83bd9b 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -190,6 +190,13 @@ LOCAL_SRC_FILES := etc/init.mdm.sh LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.debug.sh +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qcom.debug.sh +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.zram.sh LOCAL_MODULE_TAGS := optional eng diff --git a/rootdir/etc/init.qcom.debug.sh b/rootdir/etc/init.qcom.debug.sh new file mode 100644 index 000000000..24274b822 --- /dev/null +++ b/rootdir/etc/init.qcom.debug.sh @@ -0,0 +1,84 @@ +#!/system/bin/sh +# Copyright (c) 2014, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# function to enable ftrace events to CoreSight STM +enable_stm_events() +{ + # bail out if its perf config + if [ ! -d /sys/module/msm_rtb ] + then + return + fi + # bail out if coresight isn't present + if [ ! -d /sys/bus/coresight ] + then + return + fi + # bail out if ftrace events aren't present + if [ ! -d /sys/kernel/debug/tracing/events ] + then + return + fi + + echo 1 > /sys/bus/coresight/devices/coresight-tmc-etr/curr_sink + echo 1 > /sys/bus/coresight/devices/coresight-stm/enable + echo 1 > /sys/kernel/debug/tracing/tracing_on + # schedular + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_cpu_hotplug/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_cpu_load/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_enq_deq_task/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_load_balance/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_migrate_task/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_switch/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_task_load/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_update_history/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_update_task_ravg/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable + echo 1 > /sys/kernel/debug/tracing/events/sched/sched_wakeup_new/enable + # sound + echo 1 > /sys/kernel/debug/tracing/events/asoc/snd_soc_reg_read/enable + echo 1 > /sys/kernel/debug/tracing/events/asoc/snd_soc_reg_write/enable + # mdp + echo 1 > /sys/kernel/debug/tracing/events/mdss/mdp_video_underrun_done/enable + # video + echo 1 > /sys/kernel/debug/tracing/events/msm_vidc/enable + # clock + echo 1 > /sys/kernel/debug/tracing/events/power/clock_set_rate/enable + # regulator + echo 1 > /sys/kernel/debug/tracing/events/regulator/enable + # power + echo 1 > /sys/kernel/debug/tracing/events/msm_low_power/enable +} + +coresight_config=`getprop persist.debug.coresight.config` + +case "$coresight_config" in + "stm-events") + enable_stm_events + ;; +esac diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index f85dc67d5..98efb80a1 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -300,6 +300,11 @@ on property:sys.boot_completed=1 on property:persist.radio.atfwd.start=false stop atfwd +service qcom-debug /system/bin/sh /system/etc/init.qcom.debug.sh + class core + user root + oneshot + on property:ro.board.platform=msm7630_fusion start usbhub_init From 3a61b7e9e6307964b83d78315d11f02793c972be Mon Sep 17 00:00:00 2001 From: Uday Kiran jandhyala Date: Thu, 4 Sep 2014 11:58:05 +0530 Subject: [PATCH 253/641] Changes for supporting UICC feature start fuse service for uicc storage and add storage volumes in storage xml list to let it handled by MountService Creating new directory "uicc1" under /storage where the fuse emulated partition gets mounted Change-Id: I7354d9806ebf38bd13d41e59bc342a387d5dac14 --- .../overlay/frameworks/base/core/res/res/xml/storage_list.xml | 4 ++-- rootdir/etc/init.qcom.rc | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml index 6f7451f4c..8eeb42ca5 100755 --- a/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml +++ b/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml @@ -48,7 +48,7 @@ android:emulated="false" android:removable="true" android:allowMassStorage="true" /> - + android:allowMassStorage="false" /> Date: Thu, 4 Sep 2014 20:00:52 +0530 Subject: [PATCH 254/641] post_boot.sh: Interactive settings for 8916, 8936 and 8939 Apply interactive governor settings for 8916, 8936 and 8939 Change-Id: Id6ce05e0e4fa356b6d2fa3271ee58d3bbce000ec --- rootdir/etc/init.qcom.post_boot.sh | 99 ++++++++++++++++++++++++------ 1 file changed, 79 insertions(+), 20 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 27bea5ee5..d52103ee5 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1,5 +1,5 @@ #!/system/bin/sh -# Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. +# Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -456,13 +456,18 @@ esac case "$target" in "msm8916") - if [ -f /sys/devices/soc0/soc_id ]; then + + if [ -f /sys/devices/soc0/soc_id ]; then soc_id=`cat /sys/devices/soc0/soc_id` else soc_id=`cat /sys/devices/system/soc/soc0/id` fi - # Apply HMP Task packing for 8916, 8936 and 8939 + # HMP scheduler settings for 8916, 8936, 8939 + echo 2 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + + # HMP Task packing settings for 8916, 8936, 8939 echo 30 > /proc/sys/kernel/sched_small_task echo 50 > /proc/sys/kernel/sched_mostly_idle_load echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run @@ -470,56 +475,110 @@ case "$target" in # Apply governor settings for 8916 case "$soc_id" in "206") + + # disable thermal core_control to update scaling_min_freq + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu0/online echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online + ;; + esac + + # Apply governor settings for 8936 + case "$soc_id" in + "233") + + # disable thermal core_control to update scaling_min_freq, interactive gov + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + echo "25000 1113600:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 960000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "1 800000:85 1113600:90 1267200:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu4/online ;; esac # Apply governor settings for 8939 case "$soc_id" in - "239" | "241" ) - for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor - do - echo "bw_hwmon" > $devfreq_gov - done + "239" | "241" ) + + # disable thermal core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu0/online echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "25000 800000:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo "25000 1113600:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load echo 25000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "85 800000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo "1 800000:85 1113600:90 1267200:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - echo 400000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu4/online echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo "25000 499200:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo "25000 800000:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load echo 25000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 499200 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "85 499200:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo "1 499200:85 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 249600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 499200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + # Bring up all cores online echo 1 > /sys/devices/system/cpu/cpu1/online - echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online - echo 1 > /sys/devices/system/cpu/cpu4/online + echo 1 > /sys/devices/system/cpu/cpu4/online echo 1 > /sys/devices/system/cpu/cpu5/online echo 1 > /sys/devices/system/cpu/cpu6/online echo 1 > /sys/devices/system/cpu/cpu7/online - ;; + + # HMP scheduler (big.Little cluster related) settings + echo 60 > /proc/sys/kernel/sched_upmigrate + echo 40 > /proc/sys/kernel/sched_downmigrate + ;; esac ;; esac From 4fc73ca3d2aec98602e99afae92ede04d7703089 Mon Sep 17 00:00:00 2001 From: Lior Barenboim Date: Mon, 25 Aug 2014 13:46:44 +0300 Subject: [PATCH 255/641] Ultrasound: change device permission to system Change the Ultrasound device permission to system Change-Id: I76d70b6776c599d5401826396f2ed9d8e4e30d75 --- rootdir/etc/ueventd.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 9303f00a4..bfb220ddb 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -197,3 +197,6 @@ # SSR devices /dev/subsys_* 0640 system system + +# Ultrasound device +/dev/usf1 0660 system system From 3a45a1ad307144187deaf8ba00a4fe047081341b Mon Sep 17 00:00:00 2001 From: Sachin Sharma Date: Tue, 18 Mar 2014 11:22:20 -0700 Subject: [PATCH 256/641] Coredump :Add coredump support for processes This change will set-up the core-dump directory and the core-file pattern. The coredumps will not be generated during crashes on boot-up. The core-dumps will only be generated on crashes after the boot-up. Conflicts: init/init_msm.c Change-Id: If623b1c10e8da03cf171fa522055b350ea7252aa --- init/init_msm.c | 21 +++++++++++++++++++++ rootdir/etc/init.qcom.rc | 21 +++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/init/init_msm.c b/init/init_msm.c index de2e92918..48b35a665 100644 --- a/init/init_msm.c +++ b/init/init_msm.c @@ -42,6 +42,8 @@ #include "init_msm.h" +#include + #define SOC_ID_PATH1 "/sys/devices/soc0/soc_id" #define SOC_ID_PATH2 "/sys/devices/system/soc/soc0/id" #define SOC_VER_PATH1 "/sys/devices/soc0/platform_version" @@ -175,6 +177,23 @@ void set_display_node_perms() setOwners(tmp, AID_SYSTEM, AID_GRAPHICS); } +static int check_rlim_action() +{ + char pval[PROP_VALUE_MAX]; + int rc; + struct rlimit rl; + rc = property_get("persist.debug.trace",pval); + + if(rc && (strcmp(pval,"1") == 0)) { + rl.rlim_cur = RLIM_INFINITY; + rl.rlim_max = RLIM_INFINITY; + if (setrlimit(RLIMIT_CORE, &rl) < 0) { + ERROR("could not enable core file generation"); + } + } + return 0; +} + void vendor_load_properties() { int rc; @@ -215,4 +234,6 @@ void vendor_load_properties() /* Set Display Node Permissions */ set_display_node_perms(); + /*check for coredump*/ + check_rlim_action(); } diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 98efb80a1..0511c3357 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -305,6 +305,27 @@ service qcom-debug /system/bin/sh /system/etc/init.qcom.debug.sh user root oneshot +# corefile limit and ETB enabling +on property:persist.debug.trace=1 + mkdir /data/core 0777 root root + write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e" + write /sys/devices/system/cpu/cpu1/online 1 + write /sys/devices/system/cpu/cpu2/online 1 + write /sys/devices/system/cpu/cpu3/online 1 + write /sys/bus/coresight/devices/coresight-etm0/enable 0 + write /sys/bus/coresight/devices/coresight-etm1/enable 0 + write /sys/bus/coresight/devices/coresight-etm2/enable 0 + write /sys/bus/coresight/devices/coresight-etm3/enable 0 + write /sys/bus/coresight/devices/coresight-etm0/reset 1 + write /sys/bus/coresight/devices/coresight-etm1/reset 1 + write /sys/bus/coresight/devices/coresight-etm2/reset 1 + write /sys/bus/coresight/devices/coresight-etm3/reset 1 + write /sys/bus/coresight/devices/coresight-etm0/enable 1 + write /sys/bus/coresight/devices/coresight-etm1/enable 1 + write /sys/bus/coresight/devices/coresight-etm2/enable 1 + write /sys/bus/coresight/devices/coresight-etm3/enable 1 + write /sys/module/coresight_event/parameters/event_abort_enable 1 + on property:ro.board.platform=msm7630_fusion start usbhub_init From 2ce700e75b7ce67085b91483a16622389abb113b Mon Sep 17 00:00:00 2001 From: Sandeep Gutta Date: Tue, 9 Sep 2014 16:38:30 +0530 Subject: [PATCH 257/641] Telephony: Uncomment hotswap config flag Uncomment the hotswap config flag which is commented as part of change f40f03ca3b0be6c64467e5714ea4a0e16868afff. Change-Id: I74e0119109769275a27ab49174ece69869c0b717 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index ae299c8fe..a66c5a94a 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -110,7 +110,7 @@ true - + true + + + + + + + true + diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index a66c5a94a..af679f276 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -202,4 +202,12 @@ true + + + true + + + true From ad7cf47f612705e3e606ec428ec647b5c153d85d Mon Sep 17 00:00:00 2001 From: Subramanian Srinivasan Date: Fri, 19 Sep 2014 13:11:27 -0700 Subject: [PATCH 277/641] Removes BLE Peripheral display only flag from config file Removes BLE peripheral display only flag from the bdroid build config file. Change-Id: I446314fa7a03fae8855942b4c94db6bca873c6f3 --- bdroid_buildcfg.h | 1 - 1 file changed, 1 deletion(-) diff --git a/bdroid_buildcfg.h b/bdroid_buildcfg.h index 929b9e33d..396b3ee4e 100644 --- a/bdroid_buildcfg.h +++ b/bdroid_buildcfg.h @@ -29,6 +29,5 @@ #define BLE_VND_INCLUDED TRUE // skips conn update at conn completion #define BTA_BLE_SKIP_CONN_UPD FALSE -#define BLE_PERIPHERAL_DISPLAYONLY TRUE #define BLE_PERIPHERAL_ADV_NAME TRUE #endif From 4a4c7b033f0ca7e00e11d38b2669f06403db30e8 Mon Sep 17 00:00:00 2001 From: muluhe Date: Wed, 24 Sep 2014 15:12:52 +0800 Subject: [PATCH 278/641] common: modify usb configuration in FFBM Change usb interface to "diag,adb" and remove usb serialnum to fix port change issue. Change-Id: I33b51df9405e4b8507c717915be9680daac67bf4 --- rootdir/etc/init.qcom.factory.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index b511c8d56..6ce134dab 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -1,5 +1,5 @@ #!/system/bin/sh -# Copyright (c) 2009-2013, The Linux Foundation. All rights reserved. +# Copyright (c) 2009-2014, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -233,6 +233,16 @@ # Set this property so surfaceflinger is not started by system_init setprop system_init.startsurfaceflinger 0 +# Configurate USB in FFBM mode, two big change for USB. +# 1) Using diag,adb in FFBM mode, too many interface will cause +# problem in factory for multi-line test +# 2) Not config usb serialnum. Using the default value:"0123456789ABCDEF" +# Keep the USB serialnum no change for devices. this fix the problem +# of port change for various devices. +chown -h root.system /sys/devices/platform/msm_hsusb/gadget/wakeup +chmod -h 220 /sys/devices/platform/msm_hsusb/gadget/wakeup +setprop persist.sys.usb.config diag,adb + # Start the following services needed for fftm start logd start config_bluetooth @@ -243,7 +253,6 @@ start qcom-c_main-sh start irsc_util start qcamerasvr - start qcom-usb-sh start qcomsysd start ptt_ffbm start ftm_ffbm From 324f7e601abe69d72b761cb84aa0d53e5c62f9b2 Mon Sep 17 00:00:00 2001 From: muluhe Date: Wed, 24 Sep 2014 16:39:08 +0800 Subject: [PATCH 279/641] common: start wcnss-service in ffbm start wcnss-service in ffbm which needed for BT/FM/WIFI. Change-Id: I37bc2a5af154cf2c42d1ef324891e0ef0fca3406 --- rootdir/etc/init.qcom.factory.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index 6ce134dab..88bddc200 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -248,6 +248,7 @@ setprop persist.sys.usb.config diag,adb start config_bluetooth start media start fastmmi + start wcnss-service start qcom-post-boot start rmt_storage start qcom-c_main-sh From d73695bbc984b149ccabe5b26c4581da64031e6e Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Fri, 15 Aug 2014 16:09:36 -0700 Subject: [PATCH 280/641] build: change extension library name to libqti-perfd-client.so Old library is no longer used for this property so update the property value with the name of the new library, libqti-perfd-client.so Change-Id: I5d3e19ee684400bb11c9c584bedadf9f46e9ec4d --- common.mk | 2 +- common64.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common.mk b/common.mk index cf96ef553..45642fd8f 100644 --- a/common.mk +++ b/common.mk @@ -15,7 +15,7 @@ PRODUCT_MANUFACTURER := QUALCOMM endif PRODUCT_PROPERTY_OVERRIDES += \ - ro.vendor.extension_library=/vendor/lib/libqc-opt.so \ + ro.vendor.extension_library=libqti-perfd-client.so \ persist.radio.apm_sim_not_pwdn=1 PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key diff --git a/common64.mk b/common64.mk index f248adb56..f699b82e8 100644 --- a/common64.mk +++ b/common64.mk @@ -15,7 +15,7 @@ PRODUCT_MANUFACTURER := QUALCOMM endif PRODUCT_PROPERTY_OVERRIDES += \ - ro.vendor.extension_library=/vendor/lib/libqc-opt.so \ + ro.vendor.extension_library=libqti-perfd-client.so \ persist.radio.apm_sim_not_pwdn=1 PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key From c7fc2974a4069ad5a4b4e872469d328d82194bce Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Wed, 24 Sep 2014 11:31:21 -0700 Subject: [PATCH 281/641] msm8994: set min_freq prop and rm default_values file Remove the default_values file and set the min_freq prop to the correct freq value prior to start of perfd. Change-Id: If0508d5e5d51b2ab3b7e62f81c0be8331d897fef --- rootdir/etc/init.qcom.post_boot.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 5c3984498..2a798e2ac 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -809,6 +809,9 @@ case "$target" in echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb ;; "msm8994") + rm /data/system/default_values + setprop ro.min_freq_0 384000 + setprop ro.min_freq_4 384000 start perfd ;; "apq8084") From 0e9416742d745f81e04a495371469c3a0ab1bf36 Mon Sep 17 00:00:00 2001 From: padarshr Date: Wed, 17 Sep 2014 14:34:38 +0530 Subject: [PATCH 282/641] Rename ferrum to msm8909 This change is to rename ferrum to chipset name- msm8909 Change-Id: I073fef3be31f94658fbffd41f33a6193fb2483aa --- base.mk | 4 ++-- rootdir/etc/init.qcom.usb.sh | 2 +- vendorsetup.sh | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/base.mk b/base.mk index f2797fdc5..e2844c12d 100644 --- a/base.mk +++ b/base.mk @@ -11,8 +11,8 @@ QCOM_BOARD_PLATFORMS += msm8916_32 QCOM_BOARD_PLATFORMS += msm8916_32_512 QCOM_BOARD_PLATFORMS += msm8916_64 QCOM_BOARD_PLATFORMS += msm8994 -QCOM_BOARD_PLATFORMS += ferrum -QCOM_BOARD_PLATFORMS += ferrum_512 +QCOM_BOARD_PLATFORMS += msm8909 +QCOM_BOARD_PLATFORMS += msm8909_512 QSD8K_BOARD_PLATFORMS := qsd8k diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index a4783ff96..d3d0b285a 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -148,7 +148,7 @@ case "$usb_config" in "msm8994") setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb ;; - "ferrum") + "msm8909") setprop persist.sys.usb.config diag,adb ;; *) diff --git a/vendorsetup.sh b/vendorsetup.sh index cdaa2ba4e..31e42cf00 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -39,5 +39,5 @@ add_lunch_combo msm8916_32_k64-userdebug add_lunch_combo msm8916_64-userdebug add_lunch_combo msm8994-userdebug add_lunch_combo thulium-userdebug -add_lunch_combo ferrum-userdebug -add_lunch_combo ferrum_512-userdebug +add_lunch_combo msm8909-userdebug +add_lunch_combo msm8909_512-userdebug From 6cf62ab72e4bfd3fa2e0956718f6a48369b9d9b7 Mon Sep 17 00:00:00 2001 From: Varun Garg Date: Thu, 25 Sep 2014 12:20:22 +0530 Subject: [PATCH 283/641] post_boot.sh: Parameters tuning for conistent IO performance Changing packing parameter and interactive setting for consistent and improved IO related performance on 8939 target Change-Id: Ia4bd1d509109050dd2b518cdb11ec90fee94935a --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 5c3984498..137a0d2e9 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -469,7 +469,7 @@ case "$target" in echo 3 > /proc/sys/kernel/sched_ravg_hist_size # HMP Task packing settings for 8916, 8936, 8939 - echo 30 > /proc/sys/kernel/sched_small_task + echo 50 > /proc/sys/kernel/sched_small_task echo 50 > /proc/sys/kernel/sched_mostly_idle_load echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run @@ -559,7 +559,7 @@ case "$target" in echo 25000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 499200:85 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo "1 499200:75 800000:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor echo 499200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq From 7e6279d2a753f11bd9bd78f2fdf8b83348f019f7 Mon Sep 17 00:00:00 2001 From: Vijayavardhan Vennapusa Date: Wed, 7 May 2014 15:12:14 +0530 Subject: [PATCH 284/641] init.qcom.usb.rc: Set serial string on init Currently init.qcom.usb.sh is writing the serial number into android sysfs entry. But during bootup, .rc file is writing default composition before .sh gets executed. This results USB driver sending default serial string to host due to port hopping happens. Hence write ro.serialno to the sysfs entry on init once. Also remove reading persist.usb.serialno which is required only for NAND based devices as all future targets are emmc based devices. CRs-Fixed: 659235 Change-Id: Iddb0875fe0aff9aa9d53850861cc54735e5006d7 --- rootdir/etc/init.qcom.usb.rc | 1 + rootdir/etc/init.qcom.usb.sh | 20 -------------------- 2 files changed, 1 insertion(+), 20 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index e715dd8f0..eebc477f3 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -27,6 +27,7 @@ on init write /sys/class/android_usb/android0/f_rndis/wceis 1 + write /sys/class/android_usb/android0/iSerial ${ro.serialno} on charger setprop sys.usb.config mass_storage diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index a4783ff96..1ab0dcd89 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -27,26 +27,6 @@ # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # -# Update USB serial number from persist storage if present, if not update -# with value passed from kernel command line, if none of these values are -# set then use the default value. This order is needed as for devices which -# do not have unique serial number. -# User needs to set unique usb serial number to persist.usb.serialno -# -serialno=`getprop persist.usb.serialno` -case "$serialno" in - "") - serialnum=`getprop ro.serialno` - case "$serialnum" in - "");; #Do nothing, use default serial number - *) - echo "$serialnum" > /sys/class/android_usb/android0/iSerial - esac - ;; - *) - echo "$serialno" > /sys/class/android_usb/android0/iSerial -esac - chown -h root.system /sys/devices/platform/msm_hsusb/gadget/wakeup chmod -h 220 /sys/devices/platform/msm_hsusb/gadget/wakeup From 34703121e765a37c13666ce76948ac296ac4d036 Mon Sep 17 00:00:00 2001 From: Jie Cheng Date: Mon, 29 Sep 2014 17:01:08 +0800 Subject: [PATCH 285/641] common: init.qcom.sh: change the trigger position for remotefs process Change the trigger position from init.qcom.rc to init.qcom.sh for remotefs process rmt_storage and rfs_access. Make sure the two processes are loaded with "ro.boot.emmc = true" and not in the power off charging mode. Change-Id: Ie5ddc7afc9e69ab907db18fbcc7301020830cd4b --- rootdir/etc/init.qcom.rc | 6 ------ rootdir/etc/init.qcom.sh | 11 +++++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 674dd2bf3..3e597993f 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -396,17 +396,11 @@ service rmt_storage /system/bin/rmt_storage user root disabled -on property:ro.boot.emmc=true - start rmt_storage - service rfs_access /system/bin/rfs_access class core user root group system net_raw -on property:ro.boot.emmc=true - start rfs_access - on property:wc_transport.start_hci=true start start_hci_filter diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index b127f2825..c01bced1f 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -209,3 +209,14 @@ case "$target" in start_msm_irqbalance ;; esac + +bootmode=`getprop ro.bootmode` +emmc_boot=`getprop ro.boot.emmc` +case "$emmc_boot" + in "true") + if [ "$bootmode" != "charger" ]; then # start rmt_storage and rfs_access + start rmt_storage + start rfs_access + fi + ;; +esac From 9187464f69d7eb677d499fe8b04e13badc262143 Mon Sep 17 00:00:00 2001 From: Taniya Das Date: Wed, 24 Sep 2014 10:27:16 +0530 Subject: [PATCH 286/641] init.qcom.post_boot: Enable bw_hwmon for MSM8939 Modify devfreq governor from cpufreq to bw_hwmon for MSM8939. Change-Id: I04b61648ef4d6700d50589801e989ef2dbc87cad --- rootdir/etc/init.qcom.post_boot.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 2a798e2ac..2527b5680 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -535,6 +535,11 @@ case "$target" in case "$soc_id" in "239" | "241" ) + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + done + # disable thermal core_control to update interactive gov settings echo 0 > /sys/module/msm_thermal/core_control/enabled From 8831f34d2705291fade585babc282a22c2eafa67 Mon Sep 17 00:00:00 2001 From: Biswajit Paul Date: Tue, 30 Sep 2014 10:59:15 -0700 Subject: [PATCH 287/641] init.qcom.rc: Restrict external sdcard write permission Apps must not be allowed to write to secondary external storage devices, except in their package-specific directories as allowed by synthesized permissions. Restricting writes in this way ensures the system can clean up files when applications are uninstalled Change-Id: I6688dc3f5d81f966fd42a8cf3509c3743474de50 CRs-Fixed: 715425 --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 674dd2bf3..a831a8cbb 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -802,7 +802,7 @@ service profiler_daemon /system/bin/profiler_daemon service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023 class late_start -service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 +service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 class late_start service fuse_uicc0 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/uicc0 /storage/uicc0 From 4fc93f119faaf1b9b383ce60ca52079542c2b9a9 Mon Sep 17 00:00:00 2001 From: Shalaj Jain Date: Tue, 16 Sep 2014 22:39:27 -0700 Subject: [PATCH 288/641] common: base: Add MSM_VIDC_TARGET_LIST Define a global list MSM_VIDC_TARGET_LIST which contains all video enabled targets. Change-Id: If8ecdf183b0d4b93b9ade587f008343e6f3fa20c --- base.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base.mk b/base.mk index e2844c12d..446ee2984 100644 --- a/base.mk +++ b/base.mk @@ -18,6 +18,9 @@ QSD8K_BOARD_PLATFORMS := qsd8k TARGET_USE_VENDOR_CAMERA_EXT := true +#List of targets that use video hw +MSM_VIDC_TARGET_LIST := msm8974 msm8610 msm8226 apq8084 msm8916 msm8994 msm8909 + # Below projects/packages with LOCAL_MODULEs will be used by # PRODUCT_PACKAGES to build LOCAL_MODULEs that are tagged with # optional tag, which will not be available on target unless From fc3fe46467dcf4adbcd82b43560eedcf16bddfc5 Mon Sep 17 00:00:00 2001 From: Venkat Devarasetty Date: Wed, 1 Oct 2014 15:38:41 +0530 Subject: [PATCH 289/641] init: qcom: post_boot: update soc IDs for 8916, 8936 and 8939 Add the new soc IDs for 8916, 8936 and 8939 Change-Id: Ieccf6a4dcb3dc1c59320aabae55d6ab5582692e7 --- rootdir/etc/init.qcom.post_boot.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 2a798e2ac..5aaa5e0da 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -343,17 +343,17 @@ case "$target" in soc_id=`cat /sys/devices/system/soc/soc0/id` fi case "$soc_id" in - "206") + "206" | "247" | "248" | "249" | "250") echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online ;; - "239" | "241" ) + "239" | "241" | "263") echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus ;; - "233") + "233" | "240" | "242") echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online @@ -475,7 +475,7 @@ case "$target" in # Apply governor settings for 8916 case "$soc_id" in - "206") + "206" | "247" | "248" | "249" | "250") # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled @@ -504,7 +504,7 @@ case "$target" in # Apply governor settings for 8936 case "$soc_id" in - "233") + "233" | "240" | "242") # disable thermal core_control to update scaling_min_freq, interactive gov echo 0 > /sys/module/msm_thermal/core_control/enabled @@ -533,7 +533,7 @@ case "$target" in # Apply governor settings for 8939 case "$soc_id" in - "239" | "241" ) + "239" | "241" | "263") # disable thermal core_control to update interactive gov settings echo 0 > /sys/module/msm_thermal/core_control/enabled From ac69d238c328418bb2d6c5e7b2130732215ce82e Mon Sep 17 00:00:00 2001 From: Shivaraj Shetty Date: Wed, 1 Oct 2014 18:53:10 +0530 Subject: [PATCH 290/641] msm8909: Add display support for 8909 target Add support for libs needed for display on msm8909 Change-Id: Iffb81f4f2aa8d49141bfdaf9592f86b43962bb9b --- base.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/base.mk b/base.mk index e2844c12d..4448dfa57 100644 --- a/base.mk +++ b/base.mk @@ -316,6 +316,7 @@ LIBCOPYBIT += copybit.msm8960 LIBCOPYBIT += copybit.msm8974 LIBCOPYBIT += copybit.msm8226 LIBCOPYBIT += copybit.msm8610 +LIBCOPYBIT += copybit.msm8909 LIBCOPYBIT += copybit.msm8916 LIBCOPYBIT += copybit.msm8994 LIBCOPYBIT += copybit.apq8084 @@ -338,6 +339,7 @@ LIBGRALLOC += gralloc.msm8960 LIBGRALLOC += gralloc.msm8974 LIBGRALLOC += gralloc.msm8226 LIBGRALLOC += gralloc.msm8610 +LIBGRALLOC += gralloc.msm8909 LIBGRALLOC += gralloc.msm8916 LIBGRALLOC += gralloc.msm8994 LIBGRALLOC += gralloc.apq8084 @@ -354,6 +356,7 @@ LIBGRALLOC += libmemalloc LIBMEMTRACK := memtrack.default LIBMEMTRACK += memtrack.msm8974 LIBMEMTRACK += memtrack.msm8226 +LIBMEMTRACK += memtrack.msm8909 LIBMEMTRACK += memtrack.msm8916 LIBMEMTRACK += memtrack.msm8994 LIBMEMTRACK += memtrack.msm8610 @@ -365,6 +368,7 @@ LIBLIGHTS := lights.msm8660 LIBLIGHTS += lights.msm8960 LIBLIGHTS += lights.msm8974 LIBLIGHTS += lights.msm8226 +LIBLIGHTS += lights.msm8909 LIBLIGHTS += lights.msm8916 LIBLIGHTS += lights.msm8994 LIBLIGHTS += lights.msm7k @@ -382,6 +386,7 @@ LIBHWCOMPOSER += hwcomposer.msm8960 LIBHWCOMPOSER += hwcomposer.msm8974 LIBHWCOMPOSER += hwcomposer.msm8226 LIBHWCOMPOSER += hwcomposer.msm8610 +LIBHWCOMPOSER += hwcomposer.msm8909 LIBHWCOMPOSER += hwcomposer.msm8916 LIBHWCOMPOSER += hwcomposer.msm8994 LIBHWCOMPOSER += hwcomposer.apq8084 From 72868d851f9b62bc7966a84e72e0293922610cef Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Wed, 1 Oct 2014 16:46:34 -0700 Subject: [PATCH 291/641] init.qcom.rc: Add qcomsysd to the diag group qcomsysd is now a member of group qcom_diag. Change-Id: I6787fbf996097966321453ebaa787b943b3fd772 --- rootdir/etc/init.qcom.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 674dd2bf3..7eab6f44a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -277,6 +277,8 @@ service usbhub_init /system/bin/usbhub_init service qcomsysd /system/bin/qcom-system-daemon class main + user root + group root qcom_diag service ssr_setup /system/bin/ssr_setup oneshot From 89ab6190b53e47897352576704e5f0cd3dec3937 Mon Sep 17 00:00:00 2001 From: Oliver Wang Date: Thu, 2 Oct 2014 14:40:20 +0800 Subject: [PATCH 292/641] ueventd: add write permission for sensors device nodes on msm8939 The sensor HAL needs to write commands to the sensor device nodes to control the sensor driver. Thus add rules to fix up the permissions of "enable_wakeup" ,"max_latency" and "flush". Change-Id: Ica95bef4fb88e220eab84634c07997b3bed7d8d6 --- rootdir/etc/ueventd.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index bfb220ddb..b7328c264 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -172,6 +172,9 @@ /sys/devices/f9925000.i2c/i2c-0/0-* poll_delay 0660 input system /sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable 0660 input system /sys/devices/soc.0/78b6000.i2c/i2c-0/0-* poll_delay 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable_wakeup 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* max_latency 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* flush 0660 input system /sys/devices/virtual/optical_sensors/proximity ps_adc 0660 input system /sys/devices/virtual/optical_sensors/proximity ps_poll_delay 0660 input system /sys/devices/virtual/optical_sensors/lightsensor ls_auto 0660 input system From b645872ae47d91430c2ff3fe16c3b1930b8d6a91 Mon Sep 17 00:00:00 2001 From: Ameya Thakur Date: Thu, 2 Oct 2014 12:31:24 -0700 Subject: [PATCH 293/641] ueventd.qcom.rc: Drop permission of subsystem ramdump nodes The ramdump nodes are now accessible by members of user/group system. Change-Id: Id6ead0e32a1ad1d62ff5ac00c0fb17f0b7c8b4c5 --- rootdir/etc/ueventd.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 00c07035b..ed8fa27c1 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -201,3 +201,6 @@ # Ultrasound device /dev/usf1 0660 system system + +# Ramdump devices +/dev/ramdump* 0640 system system From 3f8c938fa45452a6f1eff93888b67f14a633e3d0 Mon Sep 17 00:00:00 2001 From: Srivatsa Vaddagiri Date: Mon, 5 Aug 2013 13:06:22 -0700 Subject: [PATCH 294/641] init: create native cgroup Cgroup feature provided by Linux kernel is one of the means used by Android framework to control cpu usage of applications. Android framework creates /apps and /apps/bg_non_interactive cgroups and manages migration of tasks between those two cgroups. Tasks created outside the scope of Android framework (kernel threads, mpdecision etc) are however left in "root" cgroup, where each task is considered to be a cgroup of its own, thus giving each such task more CPU resource than desired. Such tasks have been found to interfere with smooth functioning of Android application and have been responsible for effects such as increased janks or bad user-experience. Fix this problem by creating a /native cgroup to encapsulate all tasks at bootup. /native cgroup is assigned shares of 1024 and real-time bandwidth of 15% (150ms out of every 1sec). The real-time bandwidth is unchanged (from what currently exists) while the combined shares of 1024 for all "native" tasks will help curb interference between native and Android tasks. Change-Id: I988b6145ab7cfbd94cbbab4d63fadc3bab6551fa --- rootdir/etc/init.qcom.post_boot.sh | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 2a798e2ac..5b8a4bd71 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -905,3 +905,36 @@ case "$target" in echo $oem_version > /sys/devices/soc0/image_crm_version ;; esac + +# Create native cgroup and move all tasks to it. Allot 15% real-time +# bandwidth limit to native cgroup (which is what remains after +# Android uses up 80% real-time bandwidth limit). root cgroup should +# become empty after all tasks are moved to native cgroup. + +CGROUP_ROOT=/dev/cpuctl +mkdir $CGROUP_ROOT/native +echo 150000 > $CGROUP_ROOT/native/cpu.rt_runtime_us + +# We could be racing with task creation, as a result of which its possible that +# we may fail to move all tasks from root cgroup to native cgroup in one shot. +# Retry few times before giving up. + +for loop_count in 1 2 3 +do + for i in $(cat $CGROUP_ROOT/tasks) + do + echo $i > $CGROUP_ROOT/native/tasks + done + + root_tasks=$(cat $CGROUP_ROOT/tasks) + if [ -z "$root_tasks" ] + then + break + fi +done + +# Check if we failed to move all tasks from root cgroup +if [ ! -z "$root_tasks" ] +then + echo "Error: Could not move all tasks to native cgroup" +fi From de38a15237bdda36b69fe882aedc1d62137212e0 Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Thu, 2 Oct 2014 16:56:41 -0700 Subject: [PATCH 295/641] init.qcom.post_boot.sh: Add scheduler packing settings to 8994 Enable Task Packing logic for 8994 and set small_task definition to 30. Change-Id: I2421dcfc8b92fde2042ae91d781c7362956b00ca --- rootdir/etc/init.qcom.post_boot.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 2a798e2ac..732f5b9e3 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -740,6 +740,7 @@ case "$target" in /system/bin/energy-awareness #enable rps static configuration echo 8 > /sys/class/net/rmnet_ipa0/queues/rx-0/rps_cpus + echo 30 > /proc/sys/kernel/sched_small_task ;; esac From 000598d3869e1b4acfd62c19ab575e5068b2a0f9 Mon Sep 17 00:00:00 2001 From: Skylar Chang Date: Mon, 18 Aug 2014 23:09:35 -0700 Subject: [PATCH 296/641] init script: Start IPACM as net_admin For more secure, IPACM needs to be run as net_admin instead of root. Therefore those device nodes which IPACM needs to access should be put as net_admin with 066 write read permissions when device bootup. Change-Id: Idbb154adc44a0b21396973e07432a7fb783bcc55 --- rootdir/etc/init.qcom.rc | 8 ++++++-- rootdir/etc/ueventd.qcom.rc | 3 +++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 8430ec8ec..0f04bde3f 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -188,6 +188,8 @@ on post-fs-data mkdir /data/media 0770 media_rw media_rw chown media_rw media_rw /data/media + mkdir /data/ipa 0700 net_admin net_admin + mkdir /data/misc/bluetooth 0770 bluetooth bluetooth # Create the directories used by the Wireless subsystem @@ -504,12 +506,14 @@ service netmgrd /system/bin/netmgrd service ipacm-diag /system/bin/ipacm-diag class main user system - group qcom_diag + socket ipacm_log_file dgram 660 system net_admin + group net_admin qcom_diag disabled service ipacm /system/bin/ipacm class main - user root + user net_admin + group net_admin inet disabled service qti /system/vendor/bin/qti diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 00c07035b..c8fa002a7 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -42,6 +42,9 @@ /dev/smd6 0660 system system /dev/smd7 0660 bluetooth bluetooth /dev/ccid_bridge 0660 system system +/dev/ipa 0660 net_admin net_admin +/dev/wwan_ioctl 0660 net_admin net_admin +/dev/ipaNatTable 0660 net_admin net_admin #permissions for CSVT /dev/smd11 0660 radio radio From bc0c87f0dc9133676f6189ad511fc97d4bc6cbdd Mon Sep 17 00:00:00 2001 From: Shantanu Jain Date: Tue, 7 Oct 2014 15:26:26 +0530 Subject: [PATCH 297/641] device: common: Add synaptics_dsx.kl to PRODUCT_PACKAGES Add key layout file to PRODUCT_PACKAGES so it will be included in system image. Change-Id: I13e78037b61d0384d0fc02f954be3f16edb4dc5b --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index e2844c12d..2952011f7 100644 --- a/base.mk +++ b/base.mk @@ -265,6 +265,7 @@ KEYPAD += 7x27a_kp.kl KEYPAD += 8660_handset.kl KEYPAD += atmel_mxt_ts.kl KEYPAD += synaptics_rmi4_i2c.kl +KEYPAD += synaptics_dsx.kl KEYPAD += cyttsp-i2c.kl KEYPAD += ft5x06_ts.kl KEYPAD += ffa-keypad.kl From e93f8f445193073d46f08e0c04f0594cf68e5c9c Mon Sep 17 00:00:00 2001 From: Shiju Mathew Date: Thu, 21 Aug 2014 18:40:12 -0400 Subject: [PATCH 298/641] init.qcom.post_boot.sh: Disable core control during governor config on MSM8994 Disable core control from thermal(KTM and BCL) during governor configuration on MSM8994 in post boot script. Change-Id: Id6d7058b2e6d2bd5bb240fe9397f65525d6ad5db --- rootdir/etc/init.qcom.post_boot.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 552baf4be..087715813 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -709,6 +709,11 @@ esac case "$target" in "msm8994") + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode + bcl_hotplug_mask=`cat /sys/devices/soc.*/qcom,bcl.*/hotplug_mask` + echo 0 > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask + echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode echo 1 > /sys/devices/system/cpu/cpu4/online echo 1 > /sys/devices/system/cpu/cpu5/online echo 1 > /sys/devices/system/cpu/cpu6/online @@ -738,6 +743,10 @@ case "$target" in echo "85 780000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time echo 384000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo 1 > /sys/module/msm_thermal/core_control/enabled + echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode + echo $bcl_hotplug_mask > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask + echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov From da838ba05e157de6f7513c491eebc9d407b81a39 Mon Sep 17 00:00:00 2001 From: Naseer Ahmed Date: Wed, 24 Sep 2014 20:42:12 -0400 Subject: [PATCH 299/641] common: Enable doze mode Configure the system server and system UI to allow the device to go into doze mode Change-Id: I4f0e060c7d1ed1e34c01ab7731ad3dd7cdd775c2 --- .../base/core/res/res/values/config.xml | 6 ++++ .../packages/SystemUI/res/values/config.xml | 35 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml diff --git a/product/overlay/frameworks/base/core/res/res/values/config.xml b/product/overlay/frameworks/base/core/res/res/values/config.xml index 947b4ddad..743fd5bdd 100644 --- a/product/overlay/frameworks/base/core/res/res/values/config.xml +++ b/product/overlay/frameworks/base/core/res/res/values/config.xml @@ -38,5 +38,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. com.qualcomm.location com.qualcomm.location true + + com.android.systemui/com.android.systemui.doze.DozeService + true + + 17 + true diff --git a/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml new file mode 100644 index 000000000..53f00d472 --- /dev/null +++ b/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -0,0 +1,35 @@ + + + + + true + From 5abb37c83690d895d13faf96bbe8e0db9f0fd469 Mon Sep 17 00:00:00 2001 From: yuanliu Date: Mon, 5 May 2014 15:57:24 -0700 Subject: [PATCH 300/641] init.qcom.rc: Add service cnss-daemon to bootup Start service cnss-daemon on bootup which communicate with WLAN host driver and QMI location server on LPSS. The cnss-daemon starts with root permisson. It will acquire suitble system permission and drop root permission when it's running. Change-Id: I799e1001a6fcb6cda872db425b4e2d41b443b0c0 CRs-Fixed: 655468 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d724e1fb8..1fb71fea3 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -626,6 +626,9 @@ service cnss_diag /system/bin/cnss_diag --q group root oneshot +service cnss-daemon /system/bin/cnss-daemon -n -l + class late_start + service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG class late_start disabled From dcfc34293268e5ba007cddb83c44b5dffbb06a45 Mon Sep 17 00:00:00 2001 From: Rohit Gupta Date: Mon, 6 Oct 2014 17:07:29 -0700 Subject: [PATCH 301/641] init.qcom.post_boot: Enable scheduler inputs to governor This change enables interactive governor to use CPU runqueue loads for each CPU over the last window from scheduler instead of just getting CPU busy time. Task migration fixups are also enabled so that task load can be adjusted at the source and destination CPU runqueue during a migration. Change-Id: I7a5c285c5061322dbb0b6d07d86520a981552d2e --- rootdir/etc/init.qcom.post_boot.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 087715813..e88d99baa 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -721,7 +721,7 @@ case "$target" in echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled # configure governor settings for little cluster echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif echo "20000 750000:40000 800000:20000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load @@ -733,7 +733,7 @@ case "$target" in echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # configure governor settings for big cluster echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor - echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif echo "20000 750000:40000 800000:20000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay echo 99 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load @@ -747,6 +747,8 @@ case "$target" in echo -n disable > /sys/devices/soc.*/qcom,bcl.*/mode echo $bcl_hotplug_mask > /sys/devices/soc.*/qcom,bcl.*/hotplug_mask echo -n enable > /sys/devices/soc.*/qcom,bcl.*/mode + # Enable task migration fixups in the scheduler + echo 1 > /proc/sys/kernel/sched_migration_fixup for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov From 65809c73f98a0a888ea40c0b8cedb3cb2f0df739 Mon Sep 17 00:00:00 2001 From: Yashdev Singh Date: Mon, 13 Oct 2014 17:56:13 -0700 Subject: [PATCH 302/641] Add tcpbuffer parameters into overlay. - Add the various RAT values in config_mobile_tcp_buffer array. - These values are from init.qcom.rc. Change-Id: Ie675c410915029d9ef1a2ef7ebad396201771c27 --- .../frameworks/base/core/res/res/values/config.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index af679f276..c3847067d 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -210,4 +210,17 @@ carrier provisioning. If false: hard disabled. If true: then depends on carrier provisioning, availability etc --> true + + + + "lte:2097152,4194304,8388608,262144,524288,1048576" + "umts:4094,87380,1220608,4096,16384,1220608" + "hspa:4094,87380,1220608,4096,16384,1220608" + "hsupa:4094,87380,1220608,4096,16384,1220608" + "hsdpa:4094,87380,1220608,4096,16384,1220608" + "hspap:4094,87380,1220608,4096,16384,1220608" + "edge:4093,26280,35040,4096,16384,35040" + "gprs:4092,8760,11680,4096,8760,11680" + "evdo:4094,87380,524288,4096,16384,262144" + From c2bceb5a36b3d8339b5787ea0842adec5ab13847 Mon Sep 17 00:00:00 2001 From: Vijay kumar Tumati Date: Tue, 14 Oct 2014 11:13:03 +0530 Subject: [PATCH 303/641] Camera: Flash mode settings array values reordered Without this change, flash mode was being sent to lower layers as 'off' when user enables flash in the application and as 'torch' when user disables flash. Change-Id: I12b2630bc693923e956ca2bc9e742bbda39424ff --- .../SnapdragonCamera/res/values/arrays.xml | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 device/overlay/packages/apps/SnapdragonCamera/res/values/arrays.xml diff --git a/device/overlay/packages/apps/SnapdragonCamera/res/values/arrays.xml b/device/overlay/packages/apps/SnapdragonCamera/res/values/arrays.xml new file mode 100644 index 000000000..6bd4c1bcf --- /dev/null +++ b/device/overlay/packages/apps/SnapdragonCamera/res/values/arrays.xml @@ -0,0 +1,56 @@ + + + + + + + @string/pref_camera_flashmode_entry_off + @string/pref_camera_flashmode_entry_on + + + + @string/pref_camera_flashmode_label_off + @string/pref_camera_flashmode_label_on + + + + off + torch + + + + @drawable/ic_flash_off_holo_light + @drawable/ic_flash_on_holo_light + + + + @drawable/ic_flash_off_holo_light + @drawable/ic_flash_on_holo_light + + From b9811077af775a34b83372c729b554f071ccdef7 Mon Sep 17 00:00:00 2001 From: Sujeet Kumar Date: Thu, 16 Oct 2014 14:33:52 +0530 Subject: [PATCH 304/641] USB: init.qcom.usb.rc: Add new PIDs for rndis,modem,diag compositions Add new PIDs for rndis,modem,diag,adb based compositions. 0x90B3 - RNDIS + MODEM (DUN) 0x90B4 - RNDIS + MODEM (DUN) + ADB 0x90B5 - RNDIS + MODEM (DUN)+ DIAG 0x90B6 - RNDIS + MODEM (DUN)+ DIAG + ADB CRs-Fixed: 740159 Change-Id: I0c7efd0e8c92eb7ec648a3db38e84822580a23f7 --- rootdir/etc/init.qcom.usb.rc | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index e715dd8f0..4deade0e4 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -720,6 +720,48 @@ on property:sys.usb.config=rndis,diag,adb start adbd setprop sys.usb.state rndis,adb +on property:sys.usb.config=rndis,serial_smd + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B3 + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/functions rndis,serial + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,serial_smd,adb + stop adbd + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B4 + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/functions rndis,serial,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + +on property:sys.usb.config=rndis,serial_smd,diag + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B5 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/functions rndis,serial,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state rndis + +on property:sys.usb.config=rndis,serial_smd,diag,adb + stop adbd + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B6 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/functions rndis,serial,diag,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state rndis,adb + on property:sys.usb.config=rndis,diag,diag_mdm write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 05C6 From 4d40e3bfdd675781808fe136c711c8e42d1c69be Mon Sep 17 00:00:00 2001 From: Daqing Chen Date: Thu, 16 Oct 2014 20:33:26 +0800 Subject: [PATCH 305/641] ueventd: add write permission for sensors device nodes on msm8916 The sensor HAL needs to write commands to the sensor device nodes to control the sensor driver. Thus add rules to fix up the permissions of "calibrate". Change-Id: I28a7dd927ec43837fc8387cc6a4a7df861e9272e --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 10c194e34..8c502db3d 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -179,6 +179,7 @@ /sys/devices/soc.0/78b6000.i2c/i2c-0/0-* enable_wakeup 0660 input system /sys/devices/soc.0/78b6000.i2c/i2c-0/0-* max_latency 0660 input system /sys/devices/soc.0/78b6000.i2c/i2c-0/0-* flush 0660 input system +/sys/devices/soc.0/78b6000.i2c/i2c-0/0-* calibrate 0660 input system /sys/devices/virtual/optical_sensors/proximity ps_adc 0660 input system /sys/devices/virtual/optical_sensors/proximity ps_poll_delay 0660 input system /sys/devices/virtual/optical_sensors/lightsensor ls_auto 0660 input system From 2b212f1ff4e6e1550413fef149e7ec7bf4b10abc Mon Sep 17 00:00:00 2001 From: Sujeet Kumar Date: Thu, 16 Oct 2014 18:35:26 +0530 Subject: [PATCH 306/641] USB: init.qcom.usb.sh: Use target name from ro.board.platform ro.product.device gives the target name with _32/_64 post fix depending upon which build is loaded currently. To overcome the parsing issue and setting the default compostion for targts, use ro.board.platform which gives target name without such postfix attached. Change-Id: Ic8cde3b21cc48119a3d2e27680862f32d74ca78f --- rootdir/etc/init.qcom.usb.sh | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index d3d0b285a..6bbef1524 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -98,7 +98,7 @@ for f in /sys/bus/esoc/devices/*; do done fi -target=`getprop ro.product.device` +target=`getprop ro.board.platform` # # Allow USB enumeration with default PID/VID @@ -137,12 +137,8 @@ case "$usb_config" in setprop persist.sys.usb.config diag,diag_mdm,diag_mdm2,serial_hsic,serial_hsusb,rmnet_hsic,rmnet_hsusb,mass_storage,adb ;; *) - echo $target - case "$target" in - "msm8916_32") - setprop persist.sys.usb.config diag,serial_smd,rmnet_bam,adb - ;; - "msm8916_64") + case "$target" in + "msm8916") setprop persist.sys.usb.config diag,serial_smd,rmnet_bam,adb ;; "msm8994") @@ -238,7 +234,7 @@ esac cdromname="/system/etc/cdrom_install.iso" platformver=`cat /sys/devices/soc0/hw_platform` case "$target" in - "msm8226" | "msm8610" | "msm8916" | "msm8916_32" | "msm8916_64") + "msm8226" | "msm8610" | "msm8916") case $platformver in "QRD") echo "mounting usbcdrom lun" From 3544d577f2c18740e0ee75a5420bbb8ff730e076 Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Thu, 16 Oct 2014 05:30:32 +0530 Subject: [PATCH 307/641] init.qcom.usb: set default composition for MSM8909 Set DIAG + MODEM + RMNET + ADB as default USB composition. Change-Id: I2b079ce6853dc4ba6cec52cba9eb8d57b56c4731 --- rootdir/etc/init.qcom.usb.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index e833ddd65..5d02f851a 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -128,9 +128,9 @@ case "$usb_config" in "msm8994") setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_ipa,mass_storage,adb ;; - "msm8909") - setprop persist.sys.usb.config diag,adb - ;; + "msm8909") + setprop persist.sys.usb.config diag,serial_smd,rmnet_qti_bam,adb + ;; *) setprop persist.sys.usb.config diag,serial_smd,serial_tty,rmnet_bam,mass_storage,adb ;; From dbbe3f9476cdfb137910a9041734fc4fde49a19e Mon Sep 17 00:00:00 2001 From: David Ng Date: Thu, 16 Oct 2014 18:51:19 -0700 Subject: [PATCH 308/641] common: fix Android build makefile rescan issue Move logic of kernel module signing .config scan from general section to under a make target. This avoids an issue that triggers a rescan of all Android makefiles. Change-Id: I1cb6d35e20bca72c9c228ad25288b593500ec20e --- dlkm/AndroidKernelModule.mk | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/dlkm/AndroidKernelModule.mk b/dlkm/AndroidKernelModule.mk index bf750ef5b..c7e53aa75 100644 --- a/dlkm/AndroidKernelModule.mk +++ b/dlkm/AndroidKernelModule.mk @@ -75,30 +75,24 @@ endif # If LOCAL_MODULE_DEBUG_ENABLE is set, strip debug symbols. So that, # the final images generated by ABS will have the stripped version of # the modules --include $(KERNEL_OUT)/.config - -ifeq ($(CONFIG_MODULE_SIG_ALL), y) -MODSECKEY = $(KERNEL_OUT)/signing_key.priv -MODPUBKEY = $(KERNEL_OUT)/signing_key.x509 -mod_sign_cmd = perl ./kernel/scripts/sign-file $(CONFIG_MODULE_SIG_HASH) $(MODSECKEY) $(MODPUBKEY) - -define sign-mod -$(mod_sign_cmd) $@ -endef - -else -mod_sign_cmd = true -endif - $(LOCAL_BUILT_MODULE): $(KBUILD_MODULE) | $(ACP) + @echo -e $(shell \ + KMOD_SIG_ALL=`cat $(KERNEL_OUT)/.config | grep CONFIG_MODULE_SIG_ALL | cut -d'=' -f2`; \ + KMOD_SIG_HASH=`cat $(KERNEL_OUT)/.config | grep CONFIG_MODULE_SIG_HASH | cut -d'=' -f2 | sed 's/\"//g'`; \ + if [ "$$KMOD_SIG_ALL" = "y" ] && [ -n "$$KMOD_SIG_HASH" ]; then \ + echo "Signing kernel module: " `basename $<`; \ + MODSECKEY=$(KERNEL_OUT)/signing_key.priv; \ + MODPUBKEY=$(KERNEL_OUT)/signing_key.x509; \ + cp $< $<.unsigned; \ + perl ./kernel/scripts/sign-file $$KMOD_SIG_HASH $$MODSECKEY $$MODPUBKEY $<; \ + fi \ + ) ifneq "$(LOCAL_MODULE_DEBUG_ENABLE)" "" @mkdir -p $(dir $@) $(hide) $(TARGET_STRIP) --strip-debug $< -o $@ else $(transform-prebuilt-to-target) endif - @echo "mod_sign_cmd: $(mod_sign_cmd)" - $(sign-mod) # This should really be cleared in build/core/clear-vars.mk, but for # the time being, we need to clear it ourselves From 361fed7c88ef2c87a1fcf84e81fe261158e6c5a4 Mon Sep 17 00:00:00 2001 From: Laxminath Kasam Date: Fri, 17 Oct 2014 23:14:22 +0530 Subject: [PATCH 309/641] msm8909: add primary hardware and policy lib for 8909 Add audio hardware primary and policy libs for 8909 Change-Id: If07c05a0f6c126cbee495bfafc8894f37f07cc65 --- base.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/base.mk b/base.mk index f750f0b64..e3c91625b 100644 --- a/base.mk +++ b/base.mk @@ -79,6 +79,7 @@ AUDIO_HARDWARE += audio.usb.default AUDIO_HARDWARE += audio.r_submix.default AUDIO_HARDWARE += audio.primary.mpq8092 AUDIO_HARDWARE += audio.primary.msm8916 +AUDIO_HARDWARE += audio.primary.msm8909 AUDIO_HARDWARE += audio.primary.msm8994 # AUDIO_POLICY := audio_policy.mpq8064 @@ -97,6 +98,7 @@ AUDIO_POLICY += audio_policy.msm7630_fusion AUDIO_POLICY += audio_policy.conf AUDIO_POLICY += audio_policy_8064.conf AUDIO_POLICY += audio_policy.msm8916 +AUDIO_POLICY += audio_policy.msm8909 AUDIO_POLICY += audio_policy.msm8994 #tinyalsa test apps From 2effcd285af595d106fbd1195feb8b2e915cc6ce Mon Sep 17 00:00:00 2001 From: Ajay Kumar Date: Sat, 18 Oct 2014 18:40:43 +0530 Subject: [PATCH 310/641] Bluetooth : Add 8909 to indicate SMD transport Adding 8909 for SMD channels Change-Id: Ib902a91dfa3961fe08272e76d715850f073b5f44 --- rootdir/etc/init.qcom.bt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.bt.sh b/rootdir/etc/init.qcom.bt.sh index 30d36c3c5..f20af587c 100644 --- a/rootdir/etc/init.qcom.bt.sh +++ b/rootdir/etc/init.qcom.bt.sh @@ -153,7 +153,7 @@ config_bt () setprop ro.qualcomm.bt.hci_transport smd fi ;; - "msm8974" | "msm8226" | "msm8610" | "msm8916" ) + "msm8974" | "msm8226" | "msm8610" | "msm8916" | "msm8909" ) if [ "$btsoc" != "ath3k" ] then setprop ro.bluetooth.hfp.ver 1.6 From 18f7edf5e0bb7b1f05891e3f2fd9db266961d320 Mon Sep 17 00:00:00 2001 From: guopingy Date: Mon, 20 Oct 2014 15:28:00 +0800 Subject: [PATCH 311/641] usb uicc: use default persist prefix as sys.* use default persist prefix as sys.* Change-Id: Ie7a66a405a32314407bd2f5b638e8a99c281dd7d --- rootdir/etc/init.qcom.rc | 4 ++-- rootdir/etc/init.qcom.uicc.sh | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index bb9ecf27f..b31830a00 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -793,10 +793,10 @@ service usb_uicc_daemon /system/bin/usb_uicc_client group system log net_raw oneshot -on property:usb_uicc.enabled=1 +on property:sys.usb_uicc.enabled=1 start usb_uicc_enable -on property:usb_uicc.enabled=0 +on property:sys.usb_uicc.enabled=0 start usb_uicc_enable service profiler_daemon /system/bin/profiler_daemon diff --git a/rootdir/etc/init.qcom.uicc.sh b/rootdir/etc/init.qcom.uicc.sh index 8445bbfa3..5b71a75af 100644 --- a/rootdir/etc/init.qcom.uicc.sh +++ b/rootdir/etc/init.qcom.uicc.sh @@ -27,7 +27,7 @@ # target=`getprop ro.board.platform` -action=`getprop usb_uicc.enabled` +action=`getprop sys.usb_uicc.enabled` if [ -f /sys/devices/soc0/soc_id ]; then soc_hwid=`cat /sys/devices/soc0/soc_id` @@ -102,11 +102,11 @@ uicc_remove() case $action in "1") uicc_insert - setprop usb_uicc.loading 1 + setprop sys.usb_uicc.loading 1 ;; "0") uicc_remove - setprop usb_uicc.loading 1 + setprop sys.usb_uicc.loading 1 ;; *) echo "USB_UICC invalid action for uicc operation!" From 46c5797425bf986c39bb7200e12d40b01666b098 Mon Sep 17 00:00:00 2001 From: Ilia Lin Date: Tue, 21 Oct 2014 14:01:57 +0300 Subject: [PATCH 312/641] init: qcom: Set LCD density for Dragonboard APQ8094 Set proper LCD dencity for the FWVGA display on the Dragonboard APQ8094. Change-Id: I6bd657ee90a21ed8a13e6456b05feaf79b5c5c95 --- init/init_msm8994.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/init/init_msm8994.c b/init/init_msm8994.c index f07ba8172..c76ca84a3 100644 --- a/init/init_msm8994.c +++ b/init/init_msm8994.c @@ -43,11 +43,13 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar UNUSED(msm_id); UNUSED(msm_ver); - UNUSED(board_type); rc = property_get("ro.board.platform", platform); if (!rc || !ISMATCH(platform, ANDROID_TARGET)) return; - property_set(PROP_LCDDENSITY, "480"); + if (ISMATCH(board_type, "Dragon")) + property_set(PROP_LCDDENSITY, "240"); + else + property_set(PROP_LCDDENSITY, "480"); } From 1d3542c24545f905140f62a24567d5fe68e23f14 Mon Sep 17 00:00:00 2001 From: Anil kumar mamidala Date: Thu, 16 Oct 2014 09:30:47 +0530 Subject: [PATCH 313/641] init: qcom: post_boot: Enable low power modes for 8909 Enable low power modes and bringup all the cores online for msm8909 target. Change-Id: I8805bb547b523cc0bcd1885f77bca473d95215ce --- rootdir/etc/init.qcom.post_boot.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 46f722225..534adfb56 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -760,6 +760,15 @@ case "$target" in ;; esac +case "$target" in + "msm8909") + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + ;; +esac + case "$target" in "msm7627_ffa" | "msm7627_surf" | "msm7627_6x") echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate From 119282aceadfe2e70b785639d06da51a0b99d73a Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Fri, 17 Oct 2014 18:42:23 -0700 Subject: [PATCH 314/641] init.qcom.rc: add perfd related directories Create directories for perfd socket and files Change-Id: Idadd0154c980ebb31096a067612f3df4170f4bbf --- rootdir/etc/init.qcom.rc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index bb9ecf27f..db7671545 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -104,6 +104,12 @@ on boot mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps + #Create PERFD deamon related dirs + mkdir /data/misc/perfd 0770 root system + chmod 2770 /data/misc/perfd + mkdir /data/system/perfd 0770 root system + chmod 2770 /data/system/perfd + setprop wifi.interface wlan0 # Define TCP buffer sizes for various networks From 161df450e49d6b5abf8fee927f0d03df1a4033a7 Mon Sep 17 00:00:00 2001 From: Sivan Reinstein Date: Wed, 22 Oct 2014 09:59:51 +0300 Subject: [PATCH 315/641] init.qcom.rc: Move ipa folder to /data/misc/ipa This changes moves ipa folder from /data/ipa to /data/misc/ipa per SEAndroid requirments Change-Id: I689b3595c302d92af45ede93675342070911be8a --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index bb9ecf27f..427388188 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -191,7 +191,7 @@ on post-fs-data mkdir /data/media 0770 media_rw media_rw chown media_rw media_rw /data/media - mkdir /data/ipa 0700 net_admin net_admin + mkdir /data/misc/ipa 0700 net_admin net_admin mkdir /data/misc/bluetooth 0770 bluetooth bluetooth From fdb3435cfc2d501440140c4011cf943f04407a6b Mon Sep 17 00:00:00 2001 From: Sreedhar Lakkaraju Date: Tue, 2 Sep 2014 22:05:49 +0530 Subject: [PATCH 316/641] common: add support to sign boot image adding rules for generating signed boot image Change-Id: I53710c2b4b8e8750c29d9c46c51a3e4ff0f270d2 --- generate_extra_images.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 5e62cf3b0..7b2879df5 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -401,6 +401,14 @@ $(BUILT_TARGET_FILES_PACKAGE): $(INSTALLED_BOOTLOADER_MODULE) droidcore: $(INSTALLED_BOOTLOADER_MODULE) endif +#---------------------------------------------------------------------- +# Generate secure boot image +#---------------------------------------------------------------------- +ifeq ($(TARGET_BOOTIMG_SIGNED),true) +.PHONY: bootimage +bootimage: $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_SEC_BOOTIMAGE_TARGET) +endif + ################################################################################################### .PHONY: aboot From 63d4fcba81e2138ca421104930d76a19565c2ebb Mon Sep 17 00:00:00 2001 From: Venu Yeshala Date: Tue, 28 Oct 2014 12:48:25 +0530 Subject: [PATCH 317/641] common: Add 8909 camera HAL library The HAL library is added so the corresponding camera library can be part of the system image. Change-Id: Iba80dfbb223ecdc23355bbd9ddd64fc66f40a8a9 Signed-off-by: Venu Yeshala --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index d53895a0c..0fbfc3eac 100644 --- a/base.mk +++ b/base.mk @@ -308,6 +308,7 @@ LIBCAMERA += camera.msm7630_fusion LIBCAMERA += camera.msm7627a LIBCAMERA += camera.msm8916 LIBCAMERA += camera.msm8994 +LIBCAMERA += camera.msm8909 LIBCAMERA += libcamera LIBCAMERA += libmmcamera_interface LIBCAMERA += libmmcamera_interface2 From 6b7cf08960190f84fecc100a8ce8bff7afb64a2c Mon Sep 17 00:00:00 2001 From: satyavaraprasad yerramsetti Date: Tue, 21 Oct 2014 11:43:51 +0530 Subject: [PATCH 318/641] init.qcom.rc: create camera folder for selinux create /data/misc/camera folder with permissions to use folder for unix local domain socket path in the camera framework. Change-Id: I31b256fa305c8e78f6ae29297ca61e373027e5e7 --- rootdir/etc/init.qcom.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 61245aed7..450e91cac 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -194,6 +194,8 @@ on boot # msm specific files that need to be created on /data on post-fs-data # we will remap this as /mnt/sdcard with the sdcard fuse tool + mkdir /data/misc/camera 0770 camera camera + mkdir /data/media 0770 media_rw media_rw chown media_rw media_rw /data/media From 7285fefc3f92d10c3b9661892bc7c49b2c414777 Mon Sep 17 00:00:00 2001 From: Avijit Kanti Das Date: Thu, 16 Oct 2014 21:17:08 -0700 Subject: [PATCH 319/641] init.qcom.rc: Create symlink for primary sdcard With SEAndroid enabled, adb push is failing due to context of /storage/emulated/legacy set to rootfs making it read only. Make this as symlink to storage source to support hing files to sdcard. Change-Id: I0e49a6dfa29aba99d435952e48a326e859350984 --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 61245aed7..688a5b498 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -38,7 +38,6 @@ on init mkdir /mnt/shell/emulated 0700 shell shell mkdir /storage 0050 system sdcard_r mkdir /storage/emulated 0555 root root - mkdir /storage/emulated/legacy 0555 root root mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw mkdir /mnt/media_rw/uicc0 0700 media_rw media_rw @@ -57,6 +56,7 @@ on init symlink /storage/emulated/legacy /sdcard symlink /storage/emulated/legacy /mnt/sdcard symlink /storage/emulated/legacy /storage/sdcard0 + symlink /mnt/shell/emulated/0 /storage/emulated/legacy on early-boot # set RLIMIT_MEMLOCK to 64MB From e92437422674249406de7948b4974232833a5a9e Mon Sep 17 00:00:00 2001 From: Dileep Kumar Reddi Date: Fri, 31 Oct 2014 15:57:13 +0530 Subject: [PATCH 320/641] init: Add MSM-specific init extension library Implement MSM-specific initialization during boot up at "init" stage. Set DPI property based on panel resolutions by reading virtual_size sysfs entry. Change-Id: Ibd3fe20f5cfb9051dd4c6407c3def3f68a4d5feb --- init/init_msm8909.c | 78 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 init/init_msm8909.c diff --git a/init/init_msm8909.c b/init/init_msm8909.c new file mode 100644 index 000000000..730ef0fa0 --- /dev/null +++ b/init/init_msm8909.c @@ -0,0 +1,78 @@ +/* + Copyright (c) 2014, The Linux Foundation. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of The Linux Foundation nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +#include "vendor_init.h" +#include "property_service.h" +#include "log.h" +#include "util.h" + +#include "init_msm.h" + +#define VIRTUAL_SIZE "/sys/class/graphics/fb0/virtual_size" +#define BUF_SIZE 64 + +void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *board_type) +{ + char platform[PROP_VALUE_MAX]; + int rc; + unsigned long virtual_size = 0; + char str[BUF_SIZE]; + + UNUSED(msm_id); + UNUSED(msm_ver); + UNUSED(board_type); + + rc = property_get("ro.board.platform", platform); + if (!rc || !ISMATCH(platform, ANDROID_TARGET)){ + return; + } + + rc = read_file2(VIRTUAL_SIZE, str, sizeof(str)); + if (rc) { + virtual_size = strtoul(str, NULL, 0); + } + + if(virtual_size >= 1080) { + property_set(PROP_LCDDENSITY, "480"); + } else if (virtual_size >= 720) { + // For 720x1280 resolution + property_set(PROP_LCDDENSITY, "320"); + } else if (virtual_size >= 480) { + // For 480x854 resolution QRD. + property_set(PROP_LCDDENSITY, "240"); + } else + property_set(PROP_LCDDENSITY, "320"); + + if (msm_id == 206) { + property_set("media.swhevccodectype", "1"); + property_set("vidc.enc.narrow.searchrange", "0"); + } +} From 87e551814e57ea72abe6f5c0e82ae725ef6e8cd9 Mon Sep 17 00:00:00 2001 From: Vinay Roy Date: Mon, 27 Oct 2014 11:55:02 +0530 Subject: [PATCH 321/641] init.qcom.post_boot: Enable interactive governor for 8909 Change-Id: Ife82d2c266a463a3bde20047cd2a0d0acbde650c Signed-off-by: Vinay Roy --- rootdir/etc/init.qcom.post_boot.sh | 38 +++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 534adfb56..b77b7a689 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -762,7 +762,43 @@ esac case "$target" in "msm8909") - echo 1 > /sys/devices/system/cpu/cpu1/online + + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + # HMP scheduler settings for 8909 similiar to 8916 + echo 2 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + + # HMP Task packing settings for 8909 similiar to 8916 + echo 30 > /proc/sys/kernel/sched_small_task + echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + + # Apply governor settings for 8909 + + # disable thermal core_control to update scaling_min_freq + echo 0 > /sys/module/msm_thermal/core_control/enabled + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 400000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + echo "25000 800000:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + echo "1 400000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled From ff7c3bf9edb818288d753a371f511080606ba776 Mon Sep 17 00:00:00 2001 From: Tirupathi Reddy T Date: Thu, 16 Oct 2014 13:02:57 -0700 Subject: [PATCH 322/641] init script: start the vm_bms service for 8909 The vm_bms service is the voltage mode battery monitoring system (BMS). Change-Id: Id6a88bdde959929eff22ce590d6dc9a6f45e2131 --- rootdir/etc/init.qcom.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index c01bced1f..bec2faa58 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -208,6 +208,9 @@ case "$target" in "msm8994") start_msm_irqbalance ;; + "msm8909") + start_vm_bms + ;; esac bootmode=`getprop ro.bootmode` From 2636b9f534915a9ac0dc3f0ed7a389b41c126793 Mon Sep 17 00:00:00 2001 From: Ananta Kishore K Date: Thu, 30 Oct 2014 19:34:36 +0530 Subject: [PATCH 323/641] init.qcom.post_boot: io_percentage change for graphics bus dcvs The default io_percent value is 16. That means, GPU IB voting = 6.25 times of GPU AB measured. This results in BIMC running at higher clock. Using io_precent value 40 (2.5 times) does ensure BIMC running at expected clock. CRs-Fixed: 730480 Change-Id: If0052f105e1f4e53218907640acddecdbb0cf96c --- rootdir/etc/init.qcom.post_boot.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 534adfb56..7d8cc6717 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -539,7 +539,10 @@ case "$target" in do echo "bw_hwmon" > $devfreq_gov done - + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done # disable thermal core_control to update interactive gov settings echo 0 > /sys/module/msm_thermal/core_control/enabled From c9008fd2b5f030f656a6e7eb777f6cc5d9945b17 Mon Sep 17 00:00:00 2001 From: Pracheer Date: Sat, 1 Nov 2014 01:12:08 +0530 Subject: [PATCH 324/641] init.qcom.post_boot.sh: Add new soc-ids for 8939 Add new soc-ids for 8939 for setting ro.min_freq properties. For msm8939 set min_freq property for cluster 0 and cluster 1. For msm8936 and msm8916 set only one min_freq property. Change-Id: Iece8ef0dabc45df6bf44c4ed2f0e6ead119dd287 --- rootdir/etc/init.qcom.post_boot.sh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 534adfb56..3221741fa 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -821,12 +821,15 @@ case "$target" in else soc_id=`cat /sys/devices/system/soc/soc0/id` fi - if [ $soc_id = 239 ]; then + case $soc_id in + "239" | "241" | "263") setprop ro.min_freq_0 800000 setprop ro.min_freq_4 499200 - else + ;; + "206" | "247" | "248" | "249" | "250" | "233" | "240" | "242") setprop ro.min_freq_0 800000 - fi + ;; + esac #start perfd after setprop start perfd # start perfd on 8916 and 8939 ;; From 649fc9f2f65177bdd1e941e296ae7967fbf34e2e Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Wed, 29 Oct 2014 17:40:13 -0700 Subject: [PATCH 325/641] common: update enum value for disabling PC Update enum value used to disable PC via PerfLock Change-Id: I14cb3292b94db90d592905fb344c942e7d61c4f8 --- power/performance.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/power/performance.h b/power/performance.h index 0beda7e1b..53ecdc326 100755 --- a/power/performance.h +++ b/power/performance.h @@ -40,7 +40,7 @@ enum SCREEN_DISPLAY_TYPE { }; enum PWR_CLSP_TYPE { - ALL_CPUS_PWR_CLPS_DIS = 0x100, + ALL_CPUS_PWR_CLPS_DIS = 0x101, }; /* For CPUx min freq, the leftmost byte From f3d29d621700661e16fd6fff359f76c15cd63151 Mon Sep 17 00:00:00 2001 From: Sreedhar Lakkaraju Date: Wed, 5 Nov 2014 19:52:12 +0530 Subject: [PATCH 326/641] common: skip bootjar check if not applicable adding support to skip boot jar check for not applicable case to avoid build errors Change-Id: I47c5e8bb1f49bbbaf634c64ef7ae5827309d1d3a --- base.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/base.mk b/base.mk index 0fbfc3eac..d503837b8 100644 --- a/base.mk +++ b/base.mk @@ -784,3 +784,8 @@ PRODUCT_PACKAGE_OVERLAYS += device/qcom/common/product/overlay # dm-verity definitions PRODUCT_VERITY_PARTITION=/dev/block/bootdevice/by-name/system $(call inherit-product, build/target/product/verity.mk) + +#skip boot jars check if QCPATH not available +ifeq ($(strip $(QCPATH)),) +SKIP_BOOT_JARS_CHECK := true +endif From 5b8ebdc803d45fca0006dbabb39c60263748c8ca Mon Sep 17 00:00:00 2001 From: Bingzhe Cai Date: Tue, 28 Oct 2014 21:59:20 +0800 Subject: [PATCH 327/641] ueventd.qcom.rc: fix sensor node permission for msm8909 Sensors are connected to different I2C bus on msm8909, this change add new rules to fix up permissions of sensor nodes, this allows sensor HAL to control sensors correctly. Change-Id: I1647ed1e0ca812df40140f865bcdd2ed56a12a28 --- rootdir/etc/ueventd.qcom.rc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 8c502db3d..e57d3adaf 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -180,6 +180,12 @@ /sys/devices/soc.0/78b6000.i2c/i2c-0/0-* max_latency 0660 input system /sys/devices/soc.0/78b6000.i2c/i2c-0/0-* flush 0660 input system /sys/devices/soc.0/78b6000.i2c/i2c-0/0-* calibrate 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* poll_delay 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* enable_wakeup 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* max_latency 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* flush 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-* calibrate 0660 input system /sys/devices/virtual/optical_sensors/proximity ps_adc 0660 input system /sys/devices/virtual/optical_sensors/proximity ps_poll_delay 0660 input system /sys/devices/virtual/optical_sensors/lightsensor ls_auto 0660 input system From 560e0e93ff9db1b1c3b70934b5f743bb9dc7e9da Mon Sep 17 00:00:00 2001 From: Taniya Das Date: Mon, 27 Oct 2014 04:55:21 +0530 Subject: [PATCH 328/641] init: qcom: post_boot: Enable BIMC HWMON for MSM8909 enable devfreq bw_mon for bimc scaling for msm8909. Change-Id: Ife88f70ca8e404d4a2efd0213b12d70435caca9c --- rootdir/etc/init.qcom.post_boot.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index ad4708af0..8c78cd9ff 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -805,6 +805,11 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + done ;; esac From cfb8d8f2afad0b09148fe776a77bdaf8cf8310df Mon Sep 17 00:00:00 2001 From: Ravindra Date: Tue, 28 Oct 2014 18:58:48 +0530 Subject: [PATCH 329/641] Config item to speed up the audio mode This config item will be used to set the audio mode to IN_CALL prior to RIL sending ACTIVE state for a MT call. Change-Id: If8968c85e0aad234f3c43d73975256c6e4635ebc CRs-Fixed: 726708 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index c3847067d..fb49988e2 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -223,4 +223,8 @@ "gprs:4092,8760,11680,4096,8760,11680" "evdo:4094,87380,524288,4096,16384,262144" + + + true + From 8f57fb21461bfe01c2bdd558636ad250fc1a5ca0 Mon Sep 17 00:00:00 2001 From: Bhavya Sokke Mallikarjunappa Date: Thu, 6 Nov 2014 14:41:01 -0800 Subject: [PATCH 330/641] Add tcmiface in PRODUCT_PACKAGES Add tcmiface library in PRODUCT_PACKAGES Change-Id: I580b847b91f72f798010ebb5722350157ba75647 --- base.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base.mk b/base.mk index 0fbfc3eac..b9196d83e 100644 --- a/base.mk +++ b/base.mk @@ -720,6 +720,9 @@ PRODUCT_PACKAGES += vcard # tcpdump for packet capture PRODUCT_PACKAGES += tcpdump +# tcmiface for tcm support +PRODUCT_PACKAGES += tcmiface + #intialise PRODUCT_PACKAGES_DEBUG list for debug modules PRODUCT_PACKAGES_DEBUG := From f2eae248b0349b58be5157aecc6bb9981ffd8aa4 Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Mon, 3 Nov 2014 15:02:55 -0800 Subject: [PATCH 331/641] init.qcom.rc: grant world read and execute perms to perfd socket Grant world read and execute permissions to perfd socket directory to allow apps to write into the socket file in that directory Change-Id: I53e7645001c1163ef2971e93453dbdaba6fe475d --- rootdir/etc/init.qcom.rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 450e91cac..c78a077e0 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -105,8 +105,8 @@ on boot chmod 2770 /dev/socket/qmux_gps #Create PERFD deamon related dirs - mkdir /data/misc/perfd 0770 root system - chmod 2770 /data/misc/perfd + mkdir /data/misc/perfd 0755 root system + chmod 2755 /data/misc/perfd mkdir /data/system/perfd 0770 root system chmod 2770 /data/system/perfd From 83bdc1d1b5b151146a0316625d535fbe5d2470bc Mon Sep 17 00:00:00 2001 From: Sri Krishna Chaitanya Madireddy Date: Fri, 16 May 2014 17:03:57 -0700 Subject: [PATCH 332/641] qcom/common: Added O_NOFOLLOW to avoid follow the symlink open system call is added with NOFOLLOW flag Change-Id: I402643635e3ee11b3ac5df63c3b71a9fd6f0d2db --- cryptfs_hw/cryptfs_hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 84e81b4a2..18486c2f8 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -84,7 +84,7 @@ static unsigned char* get_tmp_passwd(const char* passwd) static void wipe_userdata() { mkdir("/cache/recovery", 0700); - int fd = open("/cache/recovery/command", O_RDWR|O_CREAT|O_TRUNC, 0600); + int fd = open("/cache/recovery/command", O_RDWR|O_CREAT|O_TRUNC|O_NOFOLLOW, 0600); if (fd >= 0) { write(fd, "--wipe_data", strlen("--wipe_data") + 1); close(fd); From f743779c28a90a5ccdc9da1c4c905d4f870b5f36 Mon Sep 17 00:00:00 2001 From: guopingy Date: Thu, 4 Sep 2014 13:05:49 +0800 Subject: [PATCH 333/641] Disable FUSE service for non emulated volume when system boot up. If FUSE service for non emulated volume was started up by default when system boot up, some 3rd party apks will still have write permission even volume was not inserted, this will lead apk run failed. Instead, only when volume was detected then start these service during mount action in vold. Change-Id: Ib594e7b3584d4229980ef0a57fb2731bfce58b0d CRs-Fixed: 652948 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 05edeee38..8b34fbed3 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -818,15 +818,18 @@ service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023 service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 class late_start + disabled service fuse_uicc0 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/uicc0 /storage/uicc0 class late_start service fuse_uicc1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/uicc1 /storage/uicc1 class late_start + disabled service fuse_usbotg /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/usbotg /storage/usbotg class late_start + disabled # Binding fuse mount point to /storage/emulated/legacy on property:init.svc.sdcard=running From 719ffc941a8824d74a750a8d56ae35907f5a044f Mon Sep 17 00:00:00 2001 From: Tarun Gupta Date: Mon, 13 Oct 2014 15:51:47 +0530 Subject: [PATCH 334/641] init.qcom.rc : remove /system/bin/usbhub* related changes and configuration remove /system/bin/usbhub_init* related changes, these service are only applicable for 7x30 Fusion which is now obselete. Change-Id: I67cc1b9ce4267f286f47b9f67124a91f535e3e59 --- rootdir/etc/init.qcom.factory.sh | 4 ---- rootdir/etc/init.qcom.rc | 14 -------------- 2 files changed, 18 deletions(-) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index 88bddc200..9c40d9469 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -66,10 +66,6 @@ setprop ro.telephony.call_ring.multiple false - #Set SUID bit for usbhub - chmod -h 4755 /system/bin/usbhub - chmod -h 755 /system/bin/usbhub_init - #Remove SUID bit for iproute2 ip tool chmod -h 0755 /system/bin/ip diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 05edeee38..4f2e1f65e 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -119,10 +119,6 @@ on boot setprop ro.telephony.call_ring.multiple false - #Set SUID bit for usbhub - chmod 4755 /system/bin/usbhub - chmod 755 /system/bin/usbhub_init - #Remove SUID bit for iproute2 ip tool chmod 0755 /system/bin/ip @@ -281,13 +277,6 @@ on post-fs-data #Create folder for mm-qcamera-daemon mkdir /data/camera 0770 media camera -# Export GPIO56 for fusion targets to enable/disable hub -service usbhub_init /system/bin/usbhub_init - class late_start - user root - disabled - oneshot - service qcomsysd /system/bin/qcom-system-daemon class main user root @@ -345,9 +334,6 @@ on property:persist.debug.trace=1 write /sys/bus/coresight/devices/coresight-etm3/enable 1 write /sys/module/coresight_event/parameters/event_abort_enable 1 -on property:ro.board.platform=msm7630_fusion - start usbhub_init - on property:init.svc.wpa_supplicant=stopped stop dhcpcd From fd87201d07298182ed0861a701b3864c4d87d346 Mon Sep 17 00:00:00 2001 From: Maunik Shah Date: Wed, 23 Jul 2014 13:51:42 +0530 Subject: [PATCH 335/641] init.qcom.rc: Revised permissions for /storage Starts the sdcard service as per the AOSP recommended args which helps in fixing the sdcard related CTS test cases Change-Id: Ic42fbe8061fdb461133316f4d6a7e45daa1d62ca --- rootdir/etc/init.qcom.rc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d1525412d..e3254b356 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -36,7 +36,6 @@ on init mkdir /persist 0771 system system # See storage config details at http://source.android.com/tech/storage/ mkdir /mnt/shell/emulated 0700 shell shell - mkdir /storage 0050 system sdcard_r mkdir /storage/emulated 0555 root root mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw @@ -56,7 +55,7 @@ on init symlink /storage/emulated/legacy /sdcard symlink /storage/emulated/legacy /mnt/sdcard symlink /storage/emulated/legacy /storage/sdcard0 - symlink /mnt/shell/emulated/0 /storage/emulated/legacy + symlink /mnt/shell/emulated/0 /storage/emulated/legacy on early-boot # set RLIMIT_MEMLOCK to 64MB @@ -799,7 +798,8 @@ service profiler_daemon /system/bin/profiler_daemon group root disabled -service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023 +# virtual sdcard daemon running as media_rw (1023) +service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated class late_start service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 From 656e684738dda4d9b29c3a77b908beedbaf3ba3d Mon Sep 17 00:00:00 2001 From: Guoping Yu Date: Tue, 27 May 2014 15:38:25 +0800 Subject: [PATCH 336/641] init.qcom.usb.rc: Change PID and function for charging config In usb driver layer, it enumerates charging function to HID device, so change PID to F006. Change-Id: I18150d8fcbcdc85ba9ec96216cb317d34f4cfe2d --- rootdir/etc/init.qcom.usb.rc | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index cae2286f9..eedc37db5 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -1183,15 +1183,7 @@ on property:sys.usb.config=ncm,adb on property:sys.usb.config=charging write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90de - write /sys/class/android_usb/android0/functions charging - write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state ${sys.usb.config} - -on property:sys.usb.config=charging,adb - write /sys/class/android_usb/android0/enable 0 - write /sys/class/android_usb/android0/idVendor 05C6 - write /sys/class/android_usb/android0/idProduct 90dc + write /sys/class/android_usb/android0/idProduct F006 write /sys/class/android_usb/android0/functions charging write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} From 25838b7356340be0060f94567a0ad13f4863d5c5 Mon Sep 17 00:00:00 2001 From: Bhavya Sokke Mallikarjunappa Date: Wed, 1 Oct 2014 14:43:52 -0700 Subject: [PATCH 337/641] clean up creation of fdMgr folder fdMgr folder is not needed anymore, so we can remove its creation. Change-Id: Ic43919bf691634c9ea7b973bb77a02e63b1b3f76 --- rootdir/etc/init.qcom.rc | 3 --- 1 file changed, 3 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d1525412d..3427ee4e4 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -214,9 +214,6 @@ on post-fs-data mkdir /data/dpm 0771 system system chown system system /data/dpm - mkdir /data/dpm/fdMgr 0771 system system - chown system system /data/dpm/fdMgr - mkdir /data/dpm/nsrm 0771 system system chown system system /data/dpm/nsrm From d812a7b76f9cb95e8c80cbd7fa74e16514c8dcc6 Mon Sep 17 00:00:00 2001 From: jinwu Date: Thu, 16 Oct 2014 10:24:54 +0800 Subject: [PATCH 338/641] device: common: Create socket qlogd This socket file is need by logging system, and should be created during boot for config sepolicy. Change-Id: I7106b73a6f2fab4c13c37e44eca872b3be2cbc89 --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 3427ee4e4..598845b81 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -900,6 +900,7 @@ service diag_mdlog_stop /system/bin/diag_mdlog -k oneshot service qlogd /system/xbin/qlogd + socket qlogd stream 0662 system system class main disabled on property:persist.sys.qlogd=1 From 2b1c1e447e13631a1c1d3ab1a4bb5194d0557058 Mon Sep 17 00:00:00 2001 From: jinwu Date: Thu, 16 Oct 2014 10:24:54 +0800 Subject: [PATCH 339/641] device: common: Create socket qlogd This socket file is need by logging system, and should be created during boot for config sepolicy. Change-Id: I7106b73a6f2fab4c13c37e44eca872b3be2cbc89 --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d1525412d..305009188 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -903,6 +903,7 @@ service diag_mdlog_stop /system/bin/diag_mdlog -k oneshot service qlogd /system/xbin/qlogd + socket qlogd stream 0662 system system class main disabled on property:persist.sys.qlogd=1 From 075da35cb032fa4226e0a70f128884d414e4575f Mon Sep 17 00:00:00 2001 From: Nagender Telkar Date: Thu, 20 Mar 2014 21:12:14 -0600 Subject: [PATCH 340/641] generate_extra_images: Create $(PRODUCT_OUT)/system/etc Required to fix a race condition due to a missing dependency on $(PRODUCT_OUT)/system/etc in build-cdrom-target Change-Id: I22ce8ee6bdd91fe65b582d6792aed62a07358391 --- generate_extra_images.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 7b2879df5..098070b53 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -148,6 +148,7 @@ $(shell dd if=/dev/zero of=$(CDROM_RES_FILE)/zero.bin bs=1024 count=$(CDROM_DUMM endif define build-cdrom-target + @mkdir -p $(PRODUCT_OUT)/system/etc $(hide) mkisofs -o $(CDROM_ISO_TARGET) $(CDROM_RES_FILE) endef From 278b38ce50b6e8591b6f168bea68fbf95cf11801 Mon Sep 17 00:00:00 2001 From: Nagender Telkar Date: Thu, 20 Mar 2014 21:12:14 -0600 Subject: [PATCH 341/641] generate_extra_images: Create $(PRODUCT_OUT)/system/etc Required to fix a race condition due to a missing dependency on $(PRODUCT_OUT)/system/etc in build-cdrom-target Change-Id: I22ce8ee6bdd91fe65b582d6792aed62a07358391 --- generate_extra_images.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 7b2879df5..098070b53 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -148,6 +148,7 @@ $(shell dd if=/dev/zero of=$(CDROM_RES_FILE)/zero.bin bs=1024 count=$(CDROM_DUMM endif define build-cdrom-target + @mkdir -p $(PRODUCT_OUT)/system/etc $(hide) mkisofs -o $(CDROM_ISO_TARGET) $(CDROM_RES_FILE) endef From 6b9114e07ad48f9e97d0b62d42138de9031ee783 Mon Sep 17 00:00:00 2001 From: Maunik Shah Date: Wed, 23 Jul 2014 13:51:42 +0530 Subject: [PATCH 342/641] init.qcom.rc: Revised permissions for /storage Starts the sdcard service as per the AOSP recommended args which helps in fixing the sdcard related CTS test cases Change-Id: Ic42fbe8061fdb461133316f4d6a7e45daa1d62ca --- rootdir/etc/init.qcom.rc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 3427ee4e4..3446a234b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -36,7 +36,6 @@ on init mkdir /persist 0771 system system # See storage config details at http://source.android.com/tech/storage/ mkdir /mnt/shell/emulated 0700 shell shell - mkdir /storage 0050 system sdcard_r mkdir /storage/emulated 0555 root root mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw @@ -56,7 +55,7 @@ on init symlink /storage/emulated/legacy /sdcard symlink /storage/emulated/legacy /mnt/sdcard symlink /storage/emulated/legacy /storage/sdcard0 - symlink /mnt/shell/emulated/0 /storage/emulated/legacy + symlink /mnt/shell/emulated/0 /storage/emulated/legacy on early-boot # set RLIMIT_MEMLOCK to 64MB @@ -796,7 +795,8 @@ service profiler_daemon /system/bin/profiler_daemon group root disabled -service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023 +# virtual sdcard daemon running as media_rw (1023) +service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated class late_start service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 From e768a23e4a3b3d202ee7dcc03f07f692dc568e03 Mon Sep 17 00:00:00 2001 From: Ravindra Date: Wed, 12 Nov 2014 12:42:13 +0530 Subject: [PATCH 343/641] Config item to speed up the audio mode This config item will be used to set the audio mode to IN_CALL prior to RIL sending ACTIVE state for a MT call. Change-Id: Ia67fea607d90b612a3ad1f4ce195354dfe185ff2 CRs-Fixed: 726708 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 2 -- device/overlay/packages/services/Telecomm/res/values/config.xml | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index fb49988e2..71924408a 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -224,7 +224,5 @@ "evdo:4094,87380,524288,4096,16384,262144" - - true diff --git a/device/overlay/packages/services/Telecomm/res/values/config.xml b/device/overlay/packages/services/Telecomm/res/values/config.xml index 9719a5b9b..aa39b9c68 100644 --- a/device/overlay/packages/services/Telecomm/res/values/config.xml +++ b/device/overlay/packages/services/Telecomm/res/values/config.xml @@ -34,4 +34,6 @@ true + + true From a1f76eb2b572111d96ca21f63b247ef08508cb68 Mon Sep 17 00:00:00 2001 From: Dinesh K Garg Date: Wed, 29 Oct 2014 20:09:02 -0700 Subject: [PATCH 344/641] Add paths for DRM to work with SEAndroid Widevine and playready store data under app_ms directory under data filesystem. These paths should be created for DRM to work with SEAndroid. Change-Id: I05b8c1ce9f5f4d2fd3dd23a2db5fffc9062c8aa1 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index e3254b356..e05ab995c 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -188,6 +188,9 @@ on boot # msm specific files that need to be created on /data on post-fs-data + # Create directory for TZ Apps + mkdir /data/misc/qsee 0770 system system + # we will remap this as /mnt/sdcard with the sdcard fuse tool mkdir /data/misc/camera 0770 camera camera From 9f20ab8205c5df519cd942e79b3458593d1092b8 Mon Sep 17 00:00:00 2001 From: guopingy Date: Thu, 4 Sep 2014 13:05:49 +0800 Subject: [PATCH 345/641] Disable FUSE service for non emulated volume when system boot up. If FUSE service for non emulated volume was started up by default when system boot up, some 3rd party apks will still have write permission even volume was not inserted, this will lead apk run failed. Instead, only when volume was detected then start these service during mount action in vold. Change-Id: Ib594e7b3584d4229980ef0a57fb2731bfce58b0d CRs-Fixed: 652948 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 5f605f9c9..8ee68e116 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -801,15 +801,18 @@ service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emul service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 class late_start + disabled service fuse_uicc0 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/uicc0 /storage/uicc0 class late_start service fuse_uicc1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/uicc1 /storage/uicc1 class late_start + disabled service fuse_usbotg /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/usbotg /storage/usbotg class late_start + disabled # Binding fuse mount point to /storage/emulated/legacy on property:init.svc.sdcard=running From 4cc2d8bf8e48d44952bd0556546b3c31bbc08a2f Mon Sep 17 00:00:00 2001 From: Sreedhar Lakkaraju Date: Tue, 30 Sep 2014 23:24:04 +0530 Subject: [PATCH 346/641] common: generate 2K NAND images for msm8909 adding rules to generate 2K nand images for msm8909 targets Change-Id: I245ab86fb835f3ed06f3e426805fb778f665fc78 --- generate_extra_images.mk | 47 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 098070b53..b4f8badcd 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -183,7 +183,7 @@ endif #---------------------------------------------------------------------- # Generate NAND images #---------------------------------------------------------------------- -ifeq ($(call is-board-platform-in-list,msm7627a msm7630_surf),true) +ifeq ($(call is-board-platform-in-list,msm7627a msm7630_surf msm8909),true) 2K_NAND_OUT := $(PRODUCT_OUT)/2k_nand_images 4K_NAND_OUT := $(PRODUCT_OUT)/4k_nand_images @@ -265,8 +265,8 @@ define build-nand-bootimage @echo "target NAND boot image: $(3)" $(hide) mkdir -p $(1) $(hide) $(MKBOOTIMG) $(2) --output $(3) -endef $(hide) $(call assert-max-image-size,$@,$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw) +endef endif # Generate system image for NAND @@ -291,11 +291,49 @@ endef define build-nand-persistimage @echo "target NAND persist image: $(3)" $(hide) mkdir -p $(1) - $(hide) $(MKYAFFS2) -f $(2) $(TARGET_OUT_PERSIST) $(3) + $(hide) $(MKYAFFS2) $(2) $(TARGET_OUT_PERSIST) $(3) $(hide) chmod a+r $(3) $(hide) $(call assert-max-image-size,$@,$(BOARD_PERSISTIMAGE_PARTITION_SIZE),yaffs) endef +ifeq ($(call is-board-platform,msm8909),true) + +$(INSTALLED_2K_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INSTALLED_BOOTIMAGE_TARGET) + $(hide) $(call build-nand-bootimage,$(2K_NAND_OUT),$(INTERNAL_2K_BOOTIMAGE_ARGS),$(INSTALLED_2K_BOOTIMAGE_TARGET)) + +$(INSTALLED_2K_SYSTEMIMAGE_TARGET): $(MKYAFFS2) $(INSTALLED_SYSTEMIMAGE) + $(hide) $(call build-nand-systemimage,$(2K_NAND_OUT),$(INTERNAL_2K_MKYAFFS2_FLAGS),$(INSTALLED_2K_SYSTEMIMAGE_TARGET)) + +$(INSTALLED_2K_USERDATAIMAGE_TARGET): $(MKYAFFS2) $(INSTALLED_USERDATAIMAGE_TARGET) + $(hide) $(call build-nand-userdataimage,$(2K_NAND_OUT),$(INTERNAL_2K_MKYAFFS2_FLAGS),$(INSTALLED_2K_USERDATAIMAGE_TARGET)) + +$(INSTALLED_2K_PERSISTIMAGE_TARGET): $(MKYAFFS2) $(INSTALLED_PERSISTIMAGE_TARGET) + $(hide) $(call build-nand-persistimage,$(2K_NAND_OUT),$(INTERNAL_2K_MKYAFFS2_FLAGS),$(INSTALLED_2K_PERSISTIMAGE_TARGET)) + +$(INSTALLED_2K_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) $(INSTALLED_RECOVERYIMAGE_TARGET) $(recovery_nand_fstab) + $(hide) cp -f $(recovery_nand_fstab) $(TARGET_RECOVERY_ROOT_OUT)/etc + $(MKBOOTFS) $(TARGET_RECOVERY_ROOT_OUT) | $(MINIGZIP) > $(recovery_ramdisk) + $(hide) $(call build-nand-bootimage,$(2K_NAND_OUT),$(INTERNAL_2K_RECOVERYIMAGE_ARGS),$(INSTALLED_2K_RECOVERYIMAGE_TARGET)) + +ALL_DEFAULT_INSTALLED_MODULES += \ + $(INSTALLED_2K_BOOTIMAGE_TARGET) \ + $(INSTALLED_2K_SYSTEMIMAGE_TARGET) \ + $(INSTALLED_2K_USERDATAIMAGE_TARGET) \ + $(INSTALLED_2K_PERSISTIMAGE_TARGET) + +ALL_MODULES.$(LOCAL_MODULE).INSTALLED += \ + $(INSTALLED_2K_BOOTIMAGE_TARGET) \ + $(INSTALLED_2K_SYSTEMIMAGE_TARGET) \ + $(INSTALLED_2K_USERDATAIMAGE_TARGET) \ + $(INSTALLED_2K_PERSISTIMAGE_TARGET) + +ifneq ($(BUILD_TINY_ANDROID),true) +ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_2K_RECOVERYIMAGE_TARGET) +ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_2K_RECOVERYIMAGE_TARGET) +endif # !BUILD_TINY_ANDROID + +else + $(INSTALLED_4K_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INSTALLED_BOOTIMAGE_TARGET) $(hide) $(call build-nand-bootimage,$(4K_NAND_OUT),$(INTERNAL_4K_BOOTIMAGE_ARGS),$(INSTALLED_4K_BOOTIMAGE_TARGET)) ifeq ($(call is-board-platform,msm7627a),true) @@ -333,6 +371,7 @@ ifeq ($(call is-board-platform,msm7627a),true) $(hide) $(call build-nand-bootimage,$(BCHECC_OUT),$(INTERNAL_4K_RECOVERYIMAGE_ARGS),$(INSTALLED_BCHECC_RECOVERYIMAGE_TARGET)) endif # is-board-platform + ALL_DEFAULT_INSTALLED_MODULES += \ $(INSTALLED_4K_BOOTIMAGE_TARGET) \ $(INSTALLED_4K_SYSTEMIMAGE_TARGET) \ @@ -350,6 +389,8 @@ ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_4K_RECOVERYIMAGE_TARGET) ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_4K_RECOVERYIMAGE_TARGET) endif # !BUILD_TINY_ANDROID +endif + endif # is-board-platform-in-list ##################################################################################################### From 84ba244bc77d4d546adb09c3ce4dfddec9347479 Mon Sep 17 00:00:00 2001 From: Maunik Shah Date: Wed, 12 Nov 2014 19:42:04 +0530 Subject: [PATCH 347/641] Fix: CTS android.text.format.cts.TimeTests Failure In CTS test, it is searching for french, japanise, UK language support which was missing ealier. Adding these locales to fix CTS failures Change-Id: I4ce02a73dd6baaed43a5ca0499514d22ab9c0c85 --- common.mk | 3 +-- common64.mk | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/common.mk b/common.mk index 45642fd8f..d9ca21abf 100644 --- a/common.mk +++ b/common.mk @@ -7,8 +7,7 @@ $(call inherit-product-if-exists, $(QCPATH)/common/config/device-vendor.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) PRODUCT_BRAND := qcom -PRODUCT_LOCALES := en_US es_US de_DE zh_CN -PRODUCT_LOCALES += hdpi mdpi +PRODUCT_AAPT_CONFIG += hdpi mdpi ifndef PRODUCT_MANUFACTURER PRODUCT_MANUFACTURER := QUALCOMM diff --git a/common64.mk b/common64.mk index f699b82e8..c118e3dee 100644 --- a/common64.mk +++ b/common64.mk @@ -7,8 +7,7 @@ $(call inherit-product-if-exists, $(QCPATH)/common/config/device-vendor.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm64.mk) PRODUCT_BRAND := qcom -PRODUCT_LOCALES := en_US es_US de_DE zh_CN -PRODUCT_LOCALES += hdpi mdpi +PRODUCT_AAPT_CONFIG += hdpi mdpi ifndef PRODUCT_MANUFACTURER PRODUCT_MANUFACTURER := QUALCOMM From 4c770c11f722d88d749efc5d44a9e271c8a1cf05 Mon Sep 17 00:00:00 2001 From: Maunik Shah Date: Wed, 12 Nov 2014 19:42:04 +0530 Subject: [PATCH 348/641] Fix: CTS android.text.format.cts.TimeTests Failure In CTS test, it is searching for french, japanise, UK language support which was missing ealier. Adding these locales to fix CTS failures Change-Id: I4ce02a73dd6baaed43a5ca0499514d22ab9c0c85 --- common.mk | 3 +-- common64.mk | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/common.mk b/common.mk index 45642fd8f..d9ca21abf 100644 --- a/common.mk +++ b/common.mk @@ -7,8 +7,7 @@ $(call inherit-product-if-exists, $(QCPATH)/common/config/device-vendor.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) PRODUCT_BRAND := qcom -PRODUCT_LOCALES := en_US es_US de_DE zh_CN -PRODUCT_LOCALES += hdpi mdpi +PRODUCT_AAPT_CONFIG += hdpi mdpi ifndef PRODUCT_MANUFACTURER PRODUCT_MANUFACTURER := QUALCOMM diff --git a/common64.mk b/common64.mk index f699b82e8..c118e3dee 100644 --- a/common64.mk +++ b/common64.mk @@ -7,8 +7,7 @@ $(call inherit-product-if-exists, $(QCPATH)/common/config/device-vendor.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm64.mk) PRODUCT_BRAND := qcom -PRODUCT_LOCALES := en_US es_US de_DE zh_CN -PRODUCT_LOCALES += hdpi mdpi +PRODUCT_AAPT_CONFIG += hdpi mdpi ifndef PRODUCT_MANUFACTURER PRODUCT_MANUFACTURER := QUALCOMM From 887e196dbb9e2ec8f3a6b05ca69a69e460a464f6 Mon Sep 17 00:00:00 2001 From: Sukanya Rajkhowa Date: Thu, 6 Nov 2014 14:47:10 -0800 Subject: [PATCH 349/641] Add operator specific volte replacement RATs Modify volte replacement RAT values based on mcc mnc values from SIM Change-Id: Ifc29892c9c2066c58cf07c031487254290138c7d --- .../res/res/values-mcc310-mnc004/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc310-mnc260/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc310-mnc410/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc311-mnc480/config.xml | 5 +++ 4 files changed, 113 insertions(+) create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml new file mode 100644 index 000000000..1597995d5 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml @@ -0,0 +1,36 @@ + + + + + + + 6 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml new file mode 100644 index 000000000..7bd009b71 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml @@ -0,0 +1,36 @@ + + + + + + + 3 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml new file mode 100644 index 000000000..7bd009b71 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml @@ -0,0 +1,36 @@ + + + + + + + 3 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml index 695450261..3330cda98 100644 --- a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml @@ -35,4 +35,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. carrier provisioning. If false: hard disabled. If true: then depends on carrier provisioning, availability etc --> true + + + 6 From 1a4a86af18806d798e61c20c6d879fdf4dce66d8 Mon Sep 17 00:00:00 2001 From: Hareesh Gundu Date: Mon, 10 Nov 2014 18:00:12 +0530 Subject: [PATCH 350/641] init.qcom.post_boot: Change GPU bus dcvs io_percentage for 8909 The default io_percent value is 16. That means, IB voting = 6.25 times of AB measured. This results in BIMC running at higher clock. Using new io_precent values ensure BIMC running at expected clock. Change-Id: Ia276e66747a981a2f65c7634f0042c7966f82d7b --- rootdir/etc/init.qcom.post_boot.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1b61d9865..4beeb5791 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -781,8 +781,6 @@ case "$target" in echo 50 > /proc/sys/kernel/sched_mostly_idle_load echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run - # Apply governor settings for 8909 - # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu0/online @@ -806,10 +804,15 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu3/online echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + # Apply governor settings for 8909 for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov done + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done ;; esac From 94837fdcd481c846b2f90940974bf93e21ef7912 Mon Sep 17 00:00:00 2001 From: Pracheer Date: Mon, 17 Nov 2014 12:42:25 +0530 Subject: [PATCH 351/641] post_boot.sh:msm8939:Update task packing parameters Change task packing parameters for msm8939. sched_small_task 20, mostly_idle_load 30, mostly_idle_nr_run 3 Change-Id: Ib59b21be44459807064a519cee11177568c3cec9 --- rootdir/etc/init.qcom.post_boot.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1b61d9865..fc219d7da 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -468,15 +468,15 @@ case "$target" in echo 2 > /proc/sys/kernel/sched_window_stats_policy echo 3 > /proc/sys/kernel/sched_ravg_hist_size - # HMP Task packing settings for 8916, 8936, 8939 - echo 50 > /proc/sys/kernel/sched_small_task - echo 50 > /proc/sys/kernel/sched_mostly_idle_load - echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run - # Apply governor settings for 8916 case "$soc_id" in "206" | "247" | "248" | "249" | "250") + # HMP Task packing settings for 8916 + echo 50 > /proc/sys/kernel/sched_small_task + echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu0/online @@ -506,6 +506,11 @@ case "$target" in case "$soc_id" in "233" | "240" | "242") + # HMP Task packing settings for 8936 + echo 50 > /proc/sys/kernel/sched_small_task + echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + # disable thermal core_control to update scaling_min_freq, interactive gov echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu0/online @@ -535,6 +540,11 @@ case "$target" in case "$soc_id" in "239" | "241" | "263") + # HMP Task packing settings for 8939 + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /proc/sys/kernel/sched_mostly_idle_load + echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov From cc2e78a5a7a6e0bbab9ce5cca47f6ec09c5a049e Mon Sep 17 00:00:00 2001 From: Guang Jian Zeng Date: Mon, 5 May 2014 17:19:36 -0700 Subject: [PATCH 352/641] init.qcom.usb.sh: Remove the diag_extra section The handling of the persist.sys.usb.config.extra property currently reads the existing value and attempts to set the correct value based on ro.baseband. This is fragile as future/unsupported baseband targets would get the wrong value re-written contrary to what the user originally set. Further, this does not support ESOC and would have to be added as well. Simply remove this section altogether, as it would ease future maintenance effort. As the persist.sys.usb.config.extra property is an undocumented test feature which is not enabled by end-users, we don't necessarily need script logic to handle it, and can instead place the burden of setting it correctly on the developer/tester. CRs-fixed: 657143 Change-Id: Iaed833a93d75af8738de751d288aedf622b9cfdb --- rootdir/etc/init.qcom.usb.sh | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index e52c59b6d..b6d1758e9 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -224,32 +224,3 @@ case "$target" in esac ;; esac - -# -# Add changes to support diag with rndis -# -diag_extra=`getprop persist.sys.usb.config.extra` -case "$diag_extra" in - "diag" | "diag,diag_mdm" | "diag,diag_mdm,diag_qsc") - case "$baseband" in - "mdm") - setprop persist.sys.usb.config.extra diag,diag_mdm - ;; - "dsda" | "sglte2" ) - setprop persist.sys.usb.config.extra diag,diag_mdm,diag_qsc - ;; - "sglte") - setprop persist.sys.usb.config.extra diag,diag_qsc - ;; - "dsda2") - setprop persist.sys.usb.config.extra diag,diag_mdm,diag_mdm2 - ;; - *) - setprop persist.sys.usb.config.extra diag - ;; - esac - ;; - *) - setprop persist.sys.usb.config.extra none - ;; -esac From 76ba5ca9d96489ddd96bbdb5c33f11b207be09c6 Mon Sep 17 00:00:00 2001 From: Jack Pham Date: Wed, 21 May 2014 17:08:29 -0700 Subject: [PATCH 353/641] init.qcom.usb.sh: Initialize persist.sys.usb.config.extra property commit c6a666ce "init.qcom.usb.sh: Remove the diag_extra section" removed the section that sanitizes the persist.sys.usb.config.extra property. However, if it is unset, the init.qcom.usb.rc rules will fail to parse the empty property upon USB composition switch to RNDIS. Instead, it needs to at least be initialized to 'none' if not already set. Change-Id: I98c08180bcbe791667d0ccb866a11796a7debc12 --- rootdir/etc/init.qcom.usb.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index b6d1758e9..64a945c9d 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -224,3 +224,11 @@ case "$target" in esac ;; esac + +# +# Initialize RNDIS Diag option. If unset, set it to 'none'. +# +diag_extra=`getprop persist.sys.usb.config.extra` +if [ "$diag_extra" == "" ]; then + setprop persist.sys.usb.config.extra none +fi From 3b9ea7a01cf459204675244f4524097269befb6d Mon Sep 17 00:00:00 2001 From: Sukanya Rajkhowa Date: Thu, 6 Nov 2014 14:47:10 -0800 Subject: [PATCH 354/641] Add operator specific volte replacement RATs Modify volte replacement RAT values based on mcc mnc values from SIM Change-Id: Ifc29892c9c2066c58cf07c031487254290138c7d --- .../res/res/values-mcc310-mnc004/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc310-mnc260/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc310-mnc410/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc311-mnc480/config.xml | 5 +++ 4 files changed, 113 insertions(+) create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml new file mode 100644 index 000000000..1597995d5 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc004/config.xml @@ -0,0 +1,36 @@ + + + + + + + 6 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml new file mode 100644 index 000000000..7bd009b71 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc260/config.xml @@ -0,0 +1,36 @@ + + + + + + + 3 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml new file mode 100644 index 000000000..7bd009b71 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc410/config.xml @@ -0,0 +1,36 @@ + + + + + + + 3 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml index 695450261..3330cda98 100644 --- a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml @@ -35,4 +35,9 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. carrier provisioning. If false: hard disabled. If true: then depends on carrier provisioning, availability etc --> true + + + 6 From 1b5998e21602bd9880e91f96da03591eb9f985ca Mon Sep 17 00:00:00 2001 From: Ravindra Date: Wed, 12 Nov 2014 12:42:13 +0530 Subject: [PATCH 355/641] Config item to speed up the audio mode This config item will be used to set the audio mode to IN_CALL prior to RIL sending ACTIVE state for a MT call. Change-Id: Ia67fea607d90b612a3ad1f4ce195354dfe185ff2 CRs-Fixed: 726708 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 2 -- device/overlay/packages/services/Telecomm/res/values/config.xml | 2 ++ 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index fb49988e2..71924408a 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -224,7 +224,5 @@ "evdo:4094,87380,524288,4096,16384,262144" - - true diff --git a/device/overlay/packages/services/Telecomm/res/values/config.xml b/device/overlay/packages/services/Telecomm/res/values/config.xml index 9719a5b9b..aa39b9c68 100644 --- a/device/overlay/packages/services/Telecomm/res/values/config.xml +++ b/device/overlay/packages/services/Telecomm/res/values/config.xml @@ -34,4 +34,6 @@ true + + true From d32484af7723e03780e172ae6f47b30e5e81e8a2 Mon Sep 17 00:00:00 2001 From: Pracheer Date: Wed, 12 Nov 2014 16:51:42 +0530 Subject: [PATCH 356/641] common: update enum value for sched perflocks Update enum value for changing migrate cost and prefer idle via perflock. Change-Id: I66854af0d63647619c98cad89515b503a10cd02d --- power/performance.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/power/performance.h b/power/performance.h index 53ecdc326..1ad9b2ac8 100755 --- a/power/performance.h +++ b/power/performance.h @@ -214,6 +214,15 @@ enum CPU7_MAX_FREQ_LVL { CPU7_MAX_FREQ_NONTURBO_MAX = 0x260A, }; +enum SCHED_PREFER_IDLE { + SCHED_PREFER_IDLE_DIS = 0x3E01, +}; + +enum SCHED_MIGRATE_COST_CHNG { + SCHED_MIGRATE_COST_SET = 0x3F01, +}; + + #ifdef __cplusplus } #endif From c3a52fc349ef6575d365fc31540087ec2b660e1e Mon Sep 17 00:00:00 2001 From: Nikhilesh Reddy Date: Mon, 20 Oct 2014 15:36:04 -0700 Subject: [PATCH 357/641] init.qcom.rc: Launch tftp_server process as root user. The tftp_server daemon requires root privileges to open the wakelock files and grab capabilities for accessing wakelocks. The tftp_server daemon will downgrade to user AID_SYSTEM after enabling and retaining the necessary capabilities. Change-Id: Iae5995f606e54152fdbe5e229c0c8d4c03b00382 --- rootdir/etc/init.qcom.rc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index f21ced80c..e2517a979 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -404,6 +404,10 @@ service rfs_access /system/bin/rfs_access user root group system net_raw +service tftp_server /system/bin/tftp_server + class core + user root + on property:wc_transport.start_hci=true start start_hci_filter From 9202c61b9407694e175268fcd573ba29919ae3df Mon Sep 17 00:00:00 2001 From: Nikhilesh Reddy Date: Mon, 20 Oct 2014 15:36:04 -0700 Subject: [PATCH 358/641] init.qcom.rc: Launch tftp_server process as root user. The tftp_server daemon requires root privileges to open the wakelock files and grab capabilities for accessing wakelocks. The tftp_server daemon will downgrade to user AID_SYSTEM after enabling and retaining the necessary capabilities. Change-Id: Iae5995f606e54152fdbe5e229c0c8d4c03b00382 --- rootdir/etc/init.qcom.rc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 5f605f9c9..a1750fb0a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -398,6 +398,10 @@ service rfs_access /system/bin/rfs_access user root group system net_raw +service tftp_server /system/bin/tftp_server + class core + user root + on property:wc_transport.start_hci=true start start_hci_filter From e2e5197fbc71636f671c20af393f97153e20aefe Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Wed, 19 Nov 2014 22:48:00 -0700 Subject: [PATCH 359/641] base.mk: Remove tcpdump from product packages Remove tcpdump from product packages so it can be generated only in userdebug builds. To ensure that the binary is generated in userdebug builds only, we specify the module tags as debug in the tcpdump project. CRs-fixed: 750891 Change-Id: I5b7e7f81702e69abdf5aa3c27b1453e14ce55619 --- base.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/base.mk b/base.mk index da4ffd536..44051604c 100644 --- a/base.mk +++ b/base.mk @@ -717,9 +717,6 @@ PRODUCT_PACKAGES += librecovery_updater_msm # vcard jar PRODUCT_PACKAGES += vcard -# tcpdump for packet capture -PRODUCT_PACKAGES += tcpdump - # tcmiface for tcm support PRODUCT_PACKAGES += tcmiface From 994d196c7fa9727f0e3721a1bb29d46e1ccd772d Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Thu, 13 Nov 2014 15:39:19 +0530 Subject: [PATCH 360/641] common: init.qcom.usb: Add DPL USB composition rules Add the rules for the following compositions. 0x90B7 - DIAG + DUN + RMNET + DPL 0x90B8 - DIAG + DUN + RMNET + DPL + ADB Change-Id: I93ec9f79f2bab9e6d886cc50ea87e6a763c13566 --- rootdir/etc/init.qcom.usb.rc | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index eedc37db5..f024d0626 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -1187,3 +1187,29 @@ on property:sys.usb.config=charging write /sys/class/android_usb/android0/functions charging write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,dpl_qti_bam_dmux + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B7 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam + write /sys/class/android_usb/android0/f_qdss/transports qti,bam_dmux + write /sys/class/android_usb/android0/functions diag,serial,rmnet,qdss + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,dpl_qti_bam_dmux,adb + stop adbd + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90B8 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports smd + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam + write /sys/class/android_usb/android0/f_qdss/transports qti,bam_dmux + write /sys/class/android_usb/android0/functions diag,serial,rmnet,qdss,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} From af90f65b3c837108aec2ff886244690bbbe1455d Mon Sep 17 00:00:00 2001 From: David Ng Date: Mon, 27 Oct 2014 16:15:30 -0700 Subject: [PATCH 361/641] common: Fix stripped debug DLKM generation Fix the stripping/signing sequence bug in an earlier change that accidentally switched the order of debug symbol stripping vs signing process. Change-Id: I971cb189af4e2a8eca70386f9b8c6d4a5bacd0ac --- dlkm/AndroidKernelModule.mk | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/dlkm/AndroidKernelModule.mk b/dlkm/AndroidKernelModule.mk index c7e53aa75..6676085ff 100644 --- a/dlkm/AndroidKernelModule.mk +++ b/dlkm/AndroidKernelModule.mk @@ -76,23 +76,24 @@ endif # the final images generated by ABS will have the stripped version of # the modules $(LOCAL_BUILT_MODULE): $(KBUILD_MODULE) | $(ACP) - @echo -e $(shell \ +ifneq "$(LOCAL_MODULE_DEBUG_ENABLE)" "" + mkdir -p $(dir $@) + cp $< $<.unstripped + $(TARGET_STRIP) --strip-debug $< + cp $< $<.stripped +endif + @sh -c "\ KMOD_SIG_ALL=`cat $(KERNEL_OUT)/.config | grep CONFIG_MODULE_SIG_ALL | cut -d'=' -f2`; \ KMOD_SIG_HASH=`cat $(KERNEL_OUT)/.config | grep CONFIG_MODULE_SIG_HASH | cut -d'=' -f2 | sed 's/\"//g'`; \ - if [ "$$KMOD_SIG_ALL" = "y" ] && [ -n "$$KMOD_SIG_HASH" ]; then \ - echo "Signing kernel module: " `basename $<`; \ + if [ \"\$$KMOD_SIG_ALL\" = \"y\" ] && [ -n \"\$$KMOD_SIG_HASH\" ]; then \ + echo \"Signing kernel module: \" `basename $<`; \ MODSECKEY=$(KERNEL_OUT)/signing_key.priv; \ MODPUBKEY=$(KERNEL_OUT)/signing_key.x509; \ cp $< $<.unsigned; \ - perl ./kernel/scripts/sign-file $$KMOD_SIG_HASH $$MODSECKEY $$MODPUBKEY $<; \ - fi \ - ) -ifneq "$(LOCAL_MODULE_DEBUG_ENABLE)" "" - @mkdir -p $(dir $@) - $(hide) $(TARGET_STRIP) --strip-debug $< -o $@ -else + perl ./kernel/scripts/sign-file \$$KMOD_SIG_HASH \$$MODSECKEY \$$MODPUBKEY $<; \ + fi; \ + " $(transform-prebuilt-to-target) -endif # This should really be cleared in build/core/clear-vars.mk, but for # the time being, we need to clear it ourselves From adbcf47165f063535d78107336837a55e4c2927a Mon Sep 17 00:00:00 2001 From: Lijuan Gao Date: Wed, 19 Nov 2014 10:51:52 +0800 Subject: [PATCH 362/641] common: Enable signed image for aboot Enable signed image when using "make aboot" to generate lk image. Change-Id: Ie6492798eba6af5fd8f1592296f82e296dd5fe46 --- generate_extra_images.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 7b2879df5..69b815fb3 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -412,7 +412,11 @@ endif ################################################################################################### .PHONY: aboot +ifeq ($(USESECIMAGETOOL), true) +aboot: gensecimage_target +else aboot: $(INSTALLED_BOOTLOADER_MODULE) +endif .PHONY: kernel kernel: $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_SEC_BOOTIMAGE_TARGET) $(INSTALLED_4K_BOOTIMAGE_TARGET) From f533f31910d7e9ed32b0b7323cb3c380a8f9570d Mon Sep 17 00:00:00 2001 From: Guoping Yu Date: Fri, 21 Nov 2014 15:02:25 +0800 Subject: [PATCH 363/641] USB: init.qcom.usb.sh: Mount cdrom media for msm8909 Add msm8909 target for mount cdrom media to enable QRD 8909 CDROM feature. Change-Id: Ibaab7d0eb7bd5b261d0db5dd5366de4af7da1e1a --- rootdir/etc/init.qcom.usb.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index e52c59b6d..4695054d4 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -214,7 +214,7 @@ esac cdromname="/system/etc/cdrom_install.iso" platformver=`cat /sys/devices/soc0/hw_platform` case "$target" in - "msm8226" | "msm8610" | "msm8916") + "msm8226" | "msm8610" | "msm8916" | "msm8909") case $platformver in "QRD") echo "mounting usbcdrom lun" From dc5b3fbd958dd2760f449e69550f176d62ffa14b Mon Sep 17 00:00:00 2001 From: Lijuan Gao Date: Wed, 19 Nov 2014 10:51:52 +0800 Subject: [PATCH 364/641] common: Enable signed image for aboot Enable signed image when using "make aboot" to generate lk image. Change-Id: Ie6492798eba6af5fd8f1592296f82e296dd5fe46 --- generate_extra_images.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index b4f8badcd..f097214bb 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -454,7 +454,11 @@ endif ################################################################################################### .PHONY: aboot +ifeq ($(USESECIMAGETOOL), true) +aboot: gensecimage_target +else aboot: $(INSTALLED_BOOTLOADER_MODULE) +endif .PHONY: kernel kernel: $(INSTALLED_BOOTIMAGE_TARGET) $(INSTALLED_SEC_BOOTIMAGE_TARGET) $(INSTALLED_4K_BOOTIMAGE_TARGET) From 8484e27e4aa55fc5750364bdd43214f36887121a Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Wed, 19 Nov 2014 22:48:00 -0700 Subject: [PATCH 365/641] base.mk: Remove tcpdump from product packages Remove tcpdump from product packages so it can be generated only in userdebug builds. To ensure that the binary is generated in userdebug builds only, we specify the module tags as debug in the tcpdump project. CRs-fixed: 750891 Change-Id: I5b7e7f81702e69abdf5aa3c27b1453e14ce55619 --- base.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/base.mk b/base.mk index da4ffd536..44051604c 100644 --- a/base.mk +++ b/base.mk @@ -717,9 +717,6 @@ PRODUCT_PACKAGES += librecovery_updater_msm # vcard jar PRODUCT_PACKAGES += vcard -# tcpdump for packet capture -PRODUCT_PACKAGES += tcpdump - # tcmiface for tcm support PRODUCT_PACKAGES += tcmiface From d55cfea026fec44211d260a143bae4846936d23b Mon Sep 17 00:00:00 2001 From: Ashwin Namjoshi Date: Tue, 25 Nov 2014 18:13:14 +0530 Subject: [PATCH 366/641] post_boot:msm8939: Updated scheduler and interactive settings Update sched packing parameters (20, 30, 3). Update min_freq for little (800MHz) and big cluster(960Mhz) Update hispeed_freq for little and big cluster (1.1GHz) Update upmigrate(80) and downmigrate(60). Change-Id: I3e0b2f8f36340594cd32c4e79d14e6a7def361e6 --- rootdir/etc/init.qcom.post_boot.sh | 38 ++++++++++++++++++------------ 1 file changed, 23 insertions(+), 15 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index fc219d7da..75ea6f116 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -466,12 +466,14 @@ case "$target" in # HMP scheduler settings for 8916, 8936, 8939 echo 2 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size # Apply governor settings for 8916 case "$soc_id" in "206" | "247" | "248" | "249" | "250") + # HMP scheduler load tracking settings + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + # HMP Task packing settings for 8916 echo 50 > /proc/sys/kernel/sched_small_task echo 50 > /proc/sys/kernel/sched_mostly_idle_load @@ -506,6 +508,9 @@ case "$target" in case "$soc_id" in "233" | "240" | "242") + # HMP scheduler load tracking settings + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + # HMP Task packing settings for 8936 echo 50 > /proc/sys/kernel/sched_small_task echo 50 > /proc/sys/kernel/sched_mostly_idle_load @@ -540,6 +545,9 @@ case "$target" in case "$soc_id" in "239" | "241" | "263") + # HMP scheduler load tracking settings + echo 5 > /proc/sys/kernel/sched_ravg_hist_size + # HMP Task packing settings for 8939 echo 20 > /proc/sys/kernel/sched_small_task echo 30 > /proc/sys/kernel/sched_mostly_idle_load @@ -560,27 +568,27 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu0/online echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "25000 1113600:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay - echo 90 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load echo 25000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate - echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy - echo "1 800000:85 1113600:90 1267200:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time echo 50000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # enable governor for power cluster echo 1 > /sys/devices/system/cpu/cpu4/online echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor echo "25000 800000:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 1113600 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy - echo "1 499200:75 800000:80" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads - echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time - echo 50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor - echo 499200 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + echo "1 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor + echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq # enable thermal core_control now echo 1 > /sys/module/msm_thermal/core_control/enabled @@ -595,8 +603,8 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu7/online # HMP scheduler (big.Little cluster related) settings - echo 60 > /proc/sys/kernel/sched_upmigrate - echo 40 > /proc/sys/kernel/sched_downmigrate + echo 80 > /proc/sys/kernel/sched_upmigrate + echo 60 > /proc/sys/kernel/sched_downmigrate ;; esac ;; @@ -877,8 +885,8 @@ case "$target" in fi case $soc_id in "239" | "241" | "263") - setprop ro.min_freq_0 800000 - setprop ro.min_freq_4 499200 + setprop ro.min_freq_0 960000 + setprop ro.min_freq_4 800000 ;; "206" | "247" | "248" | "249" | "250" | "233" | "240" | "242") setprop ro.min_freq_0 800000 From 817b84b1567f946d9532bedfa98d05435f20f710 Mon Sep 17 00:00:00 2001 From: Chun Zhang Date: Thu, 21 Aug 2014 16:38:08 -0700 Subject: [PATCH 367/641] init: qcom: post_boot: start hbtp_daemon with ARM solution Enable Host Based Touch Processing(HBTP) service at device boot up on the selected platform. Change-Id: I31b2304040e0f3fdd0d849918040f71e57c593c4 --- rootdir/etc/init.qcom.post_boot.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 4beeb5791..1e5042999 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -352,6 +352,25 @@ case "$target" in "239" | "241" | "263") echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$soc_id" in + "239") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "1") + start hbtp + ;; + esac + ;; + esac + ;; + esac ;; "233" | "240" | "242") echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled From 55e0ae7d403bee58f55e777032e472b50477475e Mon Sep 17 00:00:00 2001 From: Chun Zhang Date: Fri, 26 Sep 2014 14:43:34 -0700 Subject: [PATCH 368/641] init: qcom: enable Navigation bar for improveTouch platform Touchscreen on improveTouch platform does not have navigation buttons. Enabling these buttons helps the user better operate devices. Change-Id: Iad89aa98111b61762f7118b01625ee402871baba --- rootdir/etc/init.qcom.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index bec2faa58..d6710f153 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -204,6 +204,31 @@ case "$target" in "msm8916") start_vm_bms start_msm_irqbalance_8939 + if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` + else + soc_id=`cat /sys/devices/system/soc/soc0/id` + fi + + if [ -f /sys/devices/soc0/platform_subtype_id ]; then + platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` + fi + if [ -f /sys/devices/soc0/hw_platform ]; then + hw_platform=`cat /sys/devices/soc0/hw_platform` + fi + case "$soc_id" in + "239") + case "$hw_platform" in + "Surf") + case "$platform_subtype_id" in + "1") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + esac + ;; + esac ;; "msm8994") start_msm_irqbalance From 37ff44b71c73eb65ac2c1f09531874245b1d1dff Mon Sep 17 00:00:00 2001 From: Chun Zhang Date: Wed, 8 Oct 2014 17:31:12 -0700 Subject: [PATCH 369/641] init: qcom: enable Navigation bar for improveTouch MTP platform Touchscreen on MTP improveTouch platform does not have navigation buttons. Enabling these buttons helps the user better operate devices. Change-Id: I81c937aceb3363ae91a8e16e0d9016e4e1341f15 --- rootdir/etc/init.qcom.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index d6710f153..6b8939699 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -219,9 +219,11 @@ case "$target" in case "$soc_id" in "239") case "$hw_platform" in - "Surf") + "Surf" | "MTP") case "$platform_subtype_id" in - "1") + "1" | "3") + mkdir -p /data/misc/hbtp + chmod -h 775 /data/misc/hbtp setprop qemu.hw.mainkeys 0 ;; esac From 9eb7778a64900edf7d1c07694a4c179976c257ea Mon Sep 17 00:00:00 2001 From: Chun Zhang Date: Thu, 9 Oct 2014 13:57:35 -0700 Subject: [PATCH 370/641] init: qcom: post_boot: start hbtp_daemon on 8939 MTP improveTouch Enable Host Based Touch Processing (HBTP) service at device boot up on the MTP improveTouch platform. Change-Id: Ibc5fbd893cc16ca21734de9affb29f957bf0c012 --- rootdir/etc/init.qcom.post_boot.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1e5042999..bab617ea7 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -368,6 +368,13 @@ case "$target" in ;; esac ;; + "MTP") + case "$platform_subtype_id" in + "3") + start hbtp + ;; + esac + ;; esac ;; esac From 65dd6812f0eac137cb8f708a7de20ea4f496fd21 Mon Sep 17 00:00:00 2001 From: Mohan Pallaka Date: Wed, 19 Nov 2014 17:07:27 -0800 Subject: [PATCH 371/641] Improve Touch: change device permission to system Change the hbtp (host based touch processing) device and jdi-bu21150 device permission to system. Change-Id: I2b539936e70bb11f80fadfa2df2c1e21302f1197 --- rootdir/etc/ueventd.qcom.rc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index e57d3adaf..fd3fe70f1 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -217,3 +217,7 @@ # Ramdump devices /dev/ramdump* 0640 system system + +#Improve Touch +/dev/hbtp_input 0660 system system +/dev/jdi-bu21150 0660 system system \ No newline at end of file From afdaf9680208a37328d0dc4df7444fce1c1285fd Mon Sep 17 00:00:00 2001 From: Dhanalakshmi Siddani Date: Wed, 22 Oct 2014 11:01:11 +0530 Subject: [PATCH 372/641] init.qcom.rc: give write permission to audio - Audio HAL has to write to boot_adsp sysfs entry to unload image - Add audio group to boot_adsp sysfs to give write permission Change-Id: Ia3b40384aa42a0ad94d2e3cc1380ff4dd5a128c0 --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a1750fb0a..d51347774 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -66,6 +66,7 @@ on early-boot write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} write /sys/kernel/boot_adsp/boot 1 + chown root audio /sys/kernel/boot_adsp/boot on boot chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power From a1294837e5a15bcaefb34c2d191002169aa0b241 Mon Sep 17 00:00:00 2001 From: Dinesh K Garg Date: Wed, 29 Oct 2014 20:09:02 -0700 Subject: [PATCH 373/641] Add paths for DRM to work with SEAndroid Widevine and playready store data under app_ms directory under data filesystem. These paths should be created for DRM to work with SEAndroid. Change-Id: I05b8c1ce9f5f4d2fd3dd23a2db5fffc9062c8aa1 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a1750fb0a..2f2123c3b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -188,6 +188,9 @@ on boot # msm specific files that need to be created on /data on post-fs-data + # Create directory for TZ Apps + mkdir /data/misc/qsee 0770 system system + # we will remap this as /mnt/sdcard with the sdcard fuse tool mkdir /data/misc/camera 0770 camera camera From 1f4f9871fcadef55b9213b0cc72c5b58ca9aa9ca Mon Sep 17 00:00:00 2001 From: Ashwin Namjoshi Date: Thu, 27 Nov 2014 11:22:39 +0530 Subject: [PATCH 374/641] post_boot.sh: msm8939: Change timer-rate for big cluster Update timer-rate for big cluster from 25msec to 20msec. Change-Id: Ic6149569ac1bfb1415aa1e83d35453a541d70f17 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 75ea6f116..dd80d58a5 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -569,7 +569,7 @@ case "$target" in echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor echo "25000 1113600:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads From 8c8eb4180776f400be12dfd6512706577603e26e Mon Sep 17 00:00:00 2001 From: Anshuman Dani Date: Thu, 27 Nov 2014 17:31:36 +0530 Subject: [PATCH 375/641] init.qcom.post_boot: Add io_percent change for 8936 Add io_percent change for for graphics bus dcvs. The default io_percent value is 16. That means, GPU IB voting = 6.25 times of GPU AB measured. This results in BIMC running at higher clock. Using io_precent value 40 (2.5 times) does ensure BIMC running at expected clock. Change-Id: I209667a6ac50cf0d3bd12d6217af4a35c54af7be --- rootdir/etc/init.qcom.post_boot.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index fc219d7da..4617e3847 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -533,6 +533,12 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online echo 1 > /sys/devices/system/cpu/cpu4/online + + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + ;; esac From 9d730ea460aa6395d8bc5456c1a1fce82d691fba Mon Sep 17 00:00:00 2001 From: Pracheer Date: Mon, 17 Nov 2014 12:42:25 +0530 Subject: [PATCH 376/641] post_boot.sh:msm8939:Update task packing parameters Change task packing parameters for msm8939. sched_small_task 20, mostly_idle_load 30, mostly_idle_nr_run 3 Change-Id: Ib59b21be44459807064a519cee11177568c3cec9 --- rootdir/etc/init.qcom.post_boot.sh | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 4beeb5791..fb2d6629d 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -468,15 +468,15 @@ case "$target" in echo 2 > /proc/sys/kernel/sched_window_stats_policy echo 3 > /proc/sys/kernel/sched_ravg_hist_size - # HMP Task packing settings for 8916, 8936, 8939 - echo 50 > /proc/sys/kernel/sched_small_task - echo 50 > /proc/sys/kernel/sched_mostly_idle_load - echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run - # Apply governor settings for 8916 case "$soc_id" in "206" | "247" | "248" | "249" | "250") + # HMP Task packing settings for 8916 + echo 50 > /proc/sys/kernel/sched_small_task + echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu0/online @@ -506,6 +506,11 @@ case "$target" in case "$soc_id" in "233" | "240" | "242") + # HMP Task packing settings for 8936 + echo 50 > /proc/sys/kernel/sched_small_task + echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + # disable thermal core_control to update scaling_min_freq, interactive gov echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu0/online @@ -535,6 +540,11 @@ case "$target" in case "$soc_id" in "239" | "241" | "263") + # HMP Task packing settings for 8939 + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /proc/sys/kernel/sched_mostly_idle_load + echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov From 5e8509d6939f819b6cfe54f7688fac548ebf6ad2 Mon Sep 17 00:00:00 2001 From: Lalit Kansara Date: Fri, 28 Nov 2014 20:01:45 +0530 Subject: [PATCH 377/641] Setting fake battery capacity moved from one script to another On encrypted device init.qcom.class_core.sh script is unable to write fake_batt_capacity to /sys/class/power_supply/battery/capacity file due to unknown reason. Moving this logic to init.class_main.sh script is working fine. Change-Id: I4c7cc7893314302f4749628d57343be1903e7e1c --- rootdir/etc/init.class_main.sh | 12 ++++++++++++ rootdir/etc/init.qcom.class_core.sh | 12 ------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/rootdir/etc/init.class_main.sh b/rootdir/etc/init.class_main.sh index 97686b986..8321dafef 100644 --- a/rootdir/etc/init.class_main.sh +++ b/rootdir/etc/init.class_main.sh @@ -82,3 +82,15 @@ case "$baseband" in ;; esac esac + +# +# Allow persistent faking of bms +# User needs to set fake bms charge in persist.bms.fake_batt_capacity +# +fake_batt_capacity=`getprop persist.bms.fake_batt_capacity` +case "$fake_batt_capacity" in + "") ;; #Do nothing here + * ) + echo "$fake_batt_capacity" > /sys/class/power_supply/battery/capacity + ;; +esac diff --git a/rootdir/etc/init.qcom.class_core.sh b/rootdir/etc/init.qcom.class_core.sh index 501b27d43..bc89e865a 100755 --- a/rootdir/etc/init.qcom.class_core.sh +++ b/rootdir/etc/init.qcom.class_core.sh @@ -197,18 +197,6 @@ case "$target" in ;; esac -# -# Allow persistent faking of bms -# User needs to set fake bms charge in persist.bms.fake_batt_capacity -# -fake_batt_capacity=`getprop persist.bms.fake_batt_capacity` -case "$fake_batt_capacity" in - "") ;; #Do nothing here - * ) - echo "$fake_batt_capacity" > /sys/class/power_supply/battery/capacity - ;; -esac - case "$target" in "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") insmod /system/lib/modules/ss_mfcinit.ko From 2b50e386077824bc9aa4cb7c862129a30b24e041 Mon Sep 17 00:00:00 2001 From: David Ng Date: Mon, 27 Oct 2014 16:15:30 -0700 Subject: [PATCH 378/641] common: Fix stripped debug DLKM generation Fix the stripping/signing sequence bug in an earlier change that accidentally switched the order of debug symbol stripping vs signing process. Change-Id: I971cb189af4e2a8eca70386f9b8c6d4a5bacd0ac --- dlkm/AndroidKernelModule.mk | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/dlkm/AndroidKernelModule.mk b/dlkm/AndroidKernelModule.mk index c7e53aa75..6676085ff 100644 --- a/dlkm/AndroidKernelModule.mk +++ b/dlkm/AndroidKernelModule.mk @@ -76,23 +76,24 @@ endif # the final images generated by ABS will have the stripped version of # the modules $(LOCAL_BUILT_MODULE): $(KBUILD_MODULE) | $(ACP) - @echo -e $(shell \ +ifneq "$(LOCAL_MODULE_DEBUG_ENABLE)" "" + mkdir -p $(dir $@) + cp $< $<.unstripped + $(TARGET_STRIP) --strip-debug $< + cp $< $<.stripped +endif + @sh -c "\ KMOD_SIG_ALL=`cat $(KERNEL_OUT)/.config | grep CONFIG_MODULE_SIG_ALL | cut -d'=' -f2`; \ KMOD_SIG_HASH=`cat $(KERNEL_OUT)/.config | grep CONFIG_MODULE_SIG_HASH | cut -d'=' -f2 | sed 's/\"//g'`; \ - if [ "$$KMOD_SIG_ALL" = "y" ] && [ -n "$$KMOD_SIG_HASH" ]; then \ - echo "Signing kernel module: " `basename $<`; \ + if [ \"\$$KMOD_SIG_ALL\" = \"y\" ] && [ -n \"\$$KMOD_SIG_HASH\" ]; then \ + echo \"Signing kernel module: \" `basename $<`; \ MODSECKEY=$(KERNEL_OUT)/signing_key.priv; \ MODPUBKEY=$(KERNEL_OUT)/signing_key.x509; \ cp $< $<.unsigned; \ - perl ./kernel/scripts/sign-file $$KMOD_SIG_HASH $$MODSECKEY $$MODPUBKEY $<; \ - fi \ - ) -ifneq "$(LOCAL_MODULE_DEBUG_ENABLE)" "" - @mkdir -p $(dir $@) - $(hide) $(TARGET_STRIP) --strip-debug $< -o $@ -else + perl ./kernel/scripts/sign-file \$$KMOD_SIG_HASH \$$MODSECKEY \$$MODPUBKEY $<; \ + fi; \ + " $(transform-prebuilt-to-target) -endif # This should really be cleared in build/core/clear-vars.mk, but for # the time being, we need to clear it ourselves From 3f9c88e6a5e93a6791d3685f664c9fc43550aea7 Mon Sep 17 00:00:00 2001 From: Lalit Kansara Date: Sun, 30 Nov 2014 18:13:16 +0530 Subject: [PATCH 379/641] On an encrypted device, mkdir in /data on boot trigger should be moved On an encrypted device, mkdir in /data partition must be moved from "boot" trigger to "post-fs-data" as the /data partition is remouned after giving passkey by the user. Hence some folders are not created as they were created already on boot but could not be found after remounting the /data partition. Consequently some functionality broken. Change-Id: I25e6c208d4cc036b34f818c683a3219d3431d67a --- rootdir/etc/init.qcom.rc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index e2517a979..dc2cf1b9d 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -103,12 +103,6 @@ on boot mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps - #Create PERFD deamon related dirs - mkdir /data/misc/perfd 0755 root system - chmod 2755 /data/misc/perfd - mkdir /data/system/perfd 0770 root system - chmod 2770 /data/system/perfd - setprop wifi.interface wlan0 # Define TCP buffer sizes for various networks @@ -175,10 +169,6 @@ on boot # an ack packet comes out of order write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 - # NFC local data and nfcee xml storage - mkdir /data/nfc 0770 nfc nfc - mkdir /data/nfc/param 0770 nfc nfc - # Set the console loglevel to < KERN_INFO # Set the default message loglevel to KERN_INFO write /proc/sys/kernel/printk "6 6 1 7" @@ -279,6 +269,16 @@ on post-fs-data #Create folder for mm-qcamera-daemon mkdir /data/camera 0770 media camera + #Create PERFD deamon related dirs + mkdir /data/misc/perfd 0755 root system + chmod 2755 /data/misc/perfd + mkdir /data/system/perfd 0770 root system + chmod 2770 /data/system/perfd + + # NFC local data and nfcee xml storage + mkdir /data/nfc 0770 nfc nfc + mkdir /data/nfc/param 0770 nfc nfc + service qcomsysd /system/bin/qcom-system-daemon class main user root From 282a14c3341c1ac60f5129fcd3344d184af154e8 Mon Sep 17 00:00:00 2001 From: Pracheer Date: Tue, 2 Dec 2014 19:00:34 +0530 Subject: [PATCH 380/641] post_boot.sh: msm8939: Update interactive setting Update above_hispeed_delay from 25msec to 20msec. Change-Id: I8b853118acd41a6de9f905bf5746466b369d3952 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 281a8af8e..5f4bf8d82 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -573,7 +573,7 @@ case "$target" in # enable governor for perf cluster echo 1 > /sys/devices/system/cpu/cpu0/online echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo "25000 1113600:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo "20000 1113600:50000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq From 55e77aab6a77af3b085c98aab7b5f67758718afc Mon Sep 17 00:00:00 2001 From: Nian Sun Date: Tue, 2 Dec 2014 17:03:34 +0800 Subject: [PATCH 381/641] Fix compare expression in script. Fix compare expression in script. Now all condition will pass that makes zram enabled on all platforms. Change-Id: I7bd449eb43c6e19c19ce9604bcb82a92cf2874b3 --- rootdir/etc/init.qcom.zram.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.zram.sh b/rootdir/etc/init.qcom.zram.sh index b13db629b..6783e405c 100644 --- a/rootdir/etc/init.qcom.zram.sh +++ b/rootdir/etc/init.qcom.zram.sh @@ -33,6 +33,6 @@ MemTotal=${MemTotalStr:16:8} ZRAM_THRESHOLD=1048576 IsLowMemory=0 ((IsLowMemory=MemTotal Date: Sun, 30 Nov 2014 18:13:16 +0530 Subject: [PATCH 382/641] On an encrypted device, mkdir in /data on boot trigger should be moved On an encrypted device, mkdir in /data partition must be moved from "boot" trigger to "post-fs-data" as the /data partition is remouned after giving passkey by the user. Hence some folders are not created as they were created already on boot but could not be found after remounting the /data partition. Consequently some functionality broken. Change-Id: I25e6c208d4cc036b34f818c683a3219d3431d67a --- rootdir/etc/init.qcom.rc | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a4d66ad3b..e89de5d22 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -104,12 +104,6 @@ on boot mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps - #Create PERFD deamon related dirs - mkdir /data/misc/perfd 0755 root system - chmod 2755 /data/misc/perfd - mkdir /data/system/perfd 0770 root system - chmod 2770 /data/system/perfd - setprop wifi.interface wlan0 # Define TCP buffer sizes for various networks @@ -176,10 +170,6 @@ on boot # an ack packet comes out of order write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 - # NFC local data and nfcee xml storage - mkdir /data/nfc 0770 nfc nfc - mkdir /data/nfc/param 0770 nfc nfc - # Set the console loglevel to < KERN_INFO # Set the default message loglevel to KERN_INFO write /proc/sys/kernel/printk "6 6 1 7" @@ -277,6 +267,16 @@ on post-fs-data #Create folder for mm-qcamera-daemon mkdir /data/camera 0770 media camera + #Create PERFD deamon related dirs + mkdir /data/misc/perfd 0755 root system + chmod 2755 /data/misc/perfd + mkdir /data/system/perfd 0770 root system + chmod 2770 /data/system/perfd + + # NFC local data and nfcee xml storage + mkdir /data/nfc 0770 nfc nfc + mkdir /data/nfc/param 0770 nfc nfc + service qcomsysd /system/bin/qcom-system-daemon class main user root From 029735887e093cf623da0aa93280ea54b158bbe3 Mon Sep 17 00:00:00 2001 From: Anshuman Dani Date: Thu, 27 Nov 2014 17:31:36 +0530 Subject: [PATCH 383/641] init.qcom.post_boot: Add io_percent change for 8936 Add io_percent change for for graphics bus dcvs. The default io_percent value is 16. That means, GPU IB voting = 6.25 times of GPU AB measured. This results in BIMC running at higher clock. Using io_precent value 40 (2.5 times) does ensure BIMC running at expected clock. Change-Id: I209667a6ac50cf0d3bd12d6217af4a35c54af7be --- rootdir/etc/init.qcom.post_boot.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 5a991c760..1db1f147b 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -559,6 +559,12 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online echo 1 > /sys/devices/system/cpu/cpu4/online + + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + ;; esac From 066eae72a15e09cec3ed739e63849bdb14c69f44 Mon Sep 17 00:00:00 2001 From: taozhang Date: Tue, 2 Dec 2014 14:49:35 +0800 Subject: [PATCH 384/641] fastmmi: Create the folder for ffbm in shell script Create the folder /data/FTM_AP in init.qcom.factory.sh for fastmmi in case that sometimes fail to create this folder in binary. Change-Id: I635fabe45d4d2feb20d27326f94dc6504d7c2a73 --- rootdir/etc/init.qcom.factory.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index 9c40d9469..6802ddf95 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -71,6 +71,10 @@ chmod -h 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state + #Create FTM_AP folder + mkdir -p /data/FTM_AP + chmod -h 0660 /data/FTM_AP + # setup permissions for fb1 related nodes chown -h system.graphics /sys/class/graphics/fb1/hpd chown -h system.system /sys/class/graphics/fb1/hdcp/tp From 161e4eba05e1fbd6a7fee157aae668dcdb6eb255 Mon Sep 17 00:00:00 2001 From: Kun Liang Date: Mon, 8 Dec 2014 13:49:13 +0800 Subject: [PATCH 385/641] AppOps: popup confirm dialog when calendar and email read contacts Calendar and email are not supposed to read contacts by function. Any system app that trys to do sensative operations must let users know what will happen. Change-Id: I3058f5dc7989577c2068299a0945927f35e3ef63 --- appops/appops_policy.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/appops/appops_policy.xml b/appops/appops_policy.xml index bbc489b7e..d73fc15a3 100644 --- a/appops/appops_policy.xml +++ b/appops/appops_policy.xml @@ -40,5 +40,11 @@ --> - + + + + + + + From 803efb99e8b6d4a39507d0d8ad23222dfd5834a4 Mon Sep 17 00:00:00 2001 From: Shantanu Jain Date: Mon, 8 Dec 2014 11:47:41 +0530 Subject: [PATCH 386/641] device: common: add init.qcom.synaptics_dsx_qhd.sh to INIT Add init.qcom.synaptics_dsx_qhd.sh to INIT so that this sh file get include in system image. Change-Id: I6571e2b5d4b44e00578052ae882147f2e686d8e9 --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index 44051604c..888a64c97 100644 --- a/base.mk +++ b/base.mk @@ -240,6 +240,7 @@ INIT += init.qcom.uicc.sh INIT += fstab.qcom INIT += init.qcom.debug.sh INIT += init.qcom.zram.sh +INIT += init.qti.synaptics_dsx_qhd.sh #IPROUTE2 IPROUTE2 := ip From cd1ab9562512fda42c32fc02ec153b310d8778f7 Mon Sep 17 00:00:00 2001 From: Manikanta Sivapala Date: Mon, 24 Nov 2014 16:49:06 +0530 Subject: [PATCH 387/641] device: common: Add MPEG-4 / H.263 software encoder OMX component. Change-Id: I73fdfa2ae62c4e2f3338f018ccacdcecc49c1843 --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index 888a64c97..51aef663c 100644 --- a/base.mk +++ b/base.mk @@ -464,6 +464,7 @@ MM_CORE += libOmxCore MM_VIDEO := ast-mm-vdec-omx-test MM_VIDEO += libdivxdrmdecrypt MM_VIDEO += liblasic +MM_VIDEO += libOmxSwVencMpeg4 MM_VIDEO += libOmxVdec MM_VIDEO += libOmxVdecHevc MM_VIDEO += libOmxVdpp From d483756404042d0fcfba0fe52b09c88be957fe38 Mon Sep 17 00:00:00 2001 From: jinwu Date: Thu, 4 Dec 2014 16:48:32 +0800 Subject: [PATCH 388/641] device: common: Create folder qlogd This folder is need by logging system, and should be created during boot for config sepolicy. Change-Id: I59aef571b79d0ffaf8059433fb71ee627865d3c8 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index e89de5d22..d8bac049a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -264,6 +264,9 @@ on post-fs-data #Create a folder for SRS to be able to create a usercfg file mkdir /data/data/media 0770 media media + #Create folder for qlogd + mkdir /data/misc/qlogd 0664 + #Create folder for mm-qcamera-daemon mkdir /data/camera 0770 media camera From 794020ac215962eb073fb98abb855ffd9c859789 Mon Sep 17 00:00:00 2001 From: AUDITYA BHATTARAM Date: Mon, 8 Dec 2014 14:58:55 +0530 Subject: [PATCH 389/641] Build Secure boot.img & recovery.img for ota. Build Secure boot.img & recovery.img for otapackage. Change-Id: I7b859eef64306357937169f825c90c5f7cd07968 --- generate_extra_images.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index f097214bb..38de09a67 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -453,6 +453,11 @@ endif ################################################################################################### +ifeq ($(TARGET_BOOTIMG_SIGNED),true) +.PHONY: otapackage +otapackage: $(INSTALLED_SEC_BOOTIMAGE_TARGET) $(INSTALLED_SEC_RECOVERYIMAGE_TARGET) +endif + .PHONY: aboot ifeq ($(USESECIMAGETOOL), true) aboot: gensecimage_target From e01ed31c7ee005e8956cfca34110d11f985027eb Mon Sep 17 00:00:00 2001 From: Mao Li Date: Mon, 1 Dec 2014 05:00:16 -0500 Subject: [PATCH 390/641] ueventd.qcom.rc: fix ft5x06_ts gesture and sensor node permission FT5x06_ts has two features which are p-sensor and gesture. They are connected to i2c bus on msm8909, this change add new rules to fix up permissions of gesture and p-sensor nodes, this allows p-sensor and gesture HAL to control it correctly. Change-Id: I59917b0159478904c7ec15627dca0d844f1bdd62 --- rootdir/etc/ueventd.qcom.rc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index fd3fe70f1..eefde08c3 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -193,6 +193,11 @@ /sys/devices/virtual/input/input* poll 0660 input system /sys/devices/virtual/input/input* pollrate_ms 0660 input system +# ctp +/sys/devices/soc.0/78b9000.i2c/i2c-5/5-0038/sensors/ft5x06-proximity enable 0660 input system +/sys/devices/virtual/gesture/gesture* enable 0660 input system +/sys/devices/virtual/gesture/gesture* pocket 0660 input system + # vm_bms /dev/vm_bms 0660 system system /dev/battery_data 0660 system system @@ -220,4 +225,4 @@ #Improve Touch /dev/hbtp_input 0660 system system -/dev/jdi-bu21150 0660 system system \ No newline at end of file +/dev/jdi-bu21150 0660 system system From 84c1af021a8754ce17a09ae3f383e87008c314d6 Mon Sep 17 00:00:00 2001 From: AnilKumar Chimata Date: Wed, 10 Dec 2014 01:14:16 +0530 Subject: [PATCH 391/641] cryptfs_hw: Add support for wipe_key routine Add support for wipe_key routine to clean key. Change-Id: I9e258e1506d0634c4fc5b5142475005f6eb51c4e --- cryptfs_hw/cryptfs_hw.c | 24 ++++++++++++++++++++++-- cryptfs_hw/cryptfs_hw.h | 1 + 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 18486c2f8..8d738fd9a 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -61,6 +61,7 @@ static int loaded_library = 0; static unsigned char current_passwd[MAX_PASSWORD_LEN]; static int (*qseecom_create_key)(int, void*); static int (*qseecom_update_key)(int, void*, void*); +static int (*qseecom_wipe_key)(int); static unsigned char* get_tmp_passwd(const char* passwd) { @@ -108,8 +109,16 @@ static int load_qseecom_library() if((error = dlerror()) == NULL) { SLOGD("Success loading QSEECom_create_key \n"); *(void **) (&qseecom_update_key) = dlsym(handle,"QSEECom_update_key_user_info"); - if ((error = dlerror()) == NULL) - loaded_library = 1; + if ((error = dlerror()) == NULL) { + SLOGD("Success loading QSEECom_update_key_user_info\n"); + *(void **) (&qseecom_wipe_key) = dlsym(handle,"QSEECom_wipe_key"); + if ((error = dlerror()) == NULL) { + loaded_library = 1; + SLOGD("Success loading QSEECom_wipe_key \n"); + } + else + SLOGE("Error %s loading symbols for QSEECom APIs \n", error); + } else SLOGE("Error %s loading symbols for QSEECom APIs \n", error); } @@ -172,3 +181,14 @@ unsigned int is_hw_disk_encryption(const char* encryption_mode) } return ret; } + +unsigned int wipe_hw_device_encryption_key(const char* enc_mode) +{ + if (!enc_mode) + return -1; + + if (is_hw_disk_encryption(enc_mode) && load_qseecom_library()) + return qseecom_wipe_key(QSEECOM_DISK_ENCRYPTION); + + return 0; +} diff --git a/cryptfs_hw/cryptfs_hw.h b/cryptfs_hw/cryptfs_hw.h index 9d3573b7e..8e582c8bd 100644 --- a/cryptfs_hw/cryptfs_hw.h +++ b/cryptfs_hw/cryptfs_hw.h @@ -35,6 +35,7 @@ extern "C" { unsigned int set_hw_device_encryption_key(const char*, const char*); unsigned int update_hw_device_encryption_key(const char*, const char*); +unsigned int wipe_hw_device_encryption_key(const char*); unsigned int is_hw_disk_encryption(const char*); #ifdef __cplusplus From d3336dc1244f8fa4e7c6eb342cf11342be550704 Mon Sep 17 00:00:00 2001 From: Sreedhar Lakkaraju Date: Sun, 7 Dec 2014 17:31:23 +0530 Subject: [PATCH 392/641] common: add vendor boot jars for SDK adding vendor boot jars for SDK CRs-Fixed: 768199 Change-Id: I132298f6d6b694b5c6fd8ac26a6561e490cc067d --- build/tasks/vendor_bootjars.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 build/tasks/vendor_bootjars.mk diff --git a/build/tasks/vendor_bootjars.mk b/build/tasks/vendor_bootjars.mk new file mode 100644 index 000000000..794dde8e0 --- /dev/null +++ b/build/tasks/vendor_bootjars.mk @@ -0,0 +1,12 @@ +# This makefile is used to include +# extra product boot jars for SDK + +ifneq ($(call is-vendor-board-platform,QCOM),true) + +#add extra jars here +PRODUCT_BOOT_JARS += tcmiface + +#call dex_preopt.mk for extra jars +include $(BUILD_SYSTEM)/dex_preopt.mk + +endif From 1eeee51fb98825dc5948078853adaf2b6e5d6ab9 Mon Sep 17 00:00:00 2001 From: Lijuan Gao Date: Thu, 4 Dec 2014 03:30:31 -0500 Subject: [PATCH 393/641] init: set ro.alarm_boot property to indicate booting is triggered by alarm Set ro.alarm_boot as true when the boot reason is RTC or reboot reason is alarmboot. Change-Id: If05f079b745023677bcc4642a3c983ca91ea86cd --- init/init_msm.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/init/init_msm.c b/init/init_msm.c index 0c0dfcbe2..8b0abf8ad 100644 --- a/init/init_msm.c +++ b/init/init_msm.c @@ -129,6 +129,38 @@ void setOwners(char *path, int owner, int group) } } +void init_alarm_boot_properties() +{ + char *alarm_file = "/proc/sys/kernel/boot_reason"; + char buf[BUF_SIZE]; + char tmp[PROP_VALUE_MAX]=""; + + property_get("ro.boot.alarmboot", tmp); + + if(read_file2(alarm_file, buf, sizeof(buf))) { + + /* + * Setup ro.alarm_boot value to true when it is RTC triggered boot up + * For existing PMIC chips, the following mapping applies + * for the value of boot_reason: + * + * 0 -> unknown + * 1 -> hard reset + * 2 -> sudden momentary power loss (SMPL) + * 3 -> real time clock (RTC) + * 4 -> DC charger inserted + * 5 -> USB charger insertd + * 6 -> PON1 pin toggled (for secondary PMICs) + * 7 -> CBLPWR_N pin toggled (for external power supply) + * 8 -> KPDPWR_N pin toggled (power key pressed) + */ + if(buf[0] == '3' || !strcmp(tmp,"true")) + property_set("ro.alarm_boot", "true"); + else + property_set("ro.alarm_boot", "false"); + } +} + /* * Setup Display related nodes & permissions. For HDMI, it can be fb1 or fb2 * Loop through the sysfs nodes and determine the HDMI(dtv panel) @@ -236,6 +268,8 @@ void vendor_load_properties() /* Define MSM family properties */ init_msm_properties(msm_id, msm_ver, board_type); + init_alarm_boot_properties(); + /* Set Display Node Permissions */ set_display_node_perms(); /*check for coredump*/ From 3fbbc1db7ce074c25fa878cffa885dbedb9bb35c Mon Sep 17 00:00:00 2001 From: Jeykumar Sankaran Date: Wed, 13 Aug 2014 20:36:23 -0700 Subject: [PATCH 394/641] init: Set permissions for dynamic partial update node Set file permissions for dynamic partial update system node to control the feature at runtime. Change-Id: Icd4799907d168c2606c8811c73f4fedd847d55f0 --- init/init_msm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/init/init_msm.c b/init/init_msm.c index 0c0dfcbe2..7fc7c3a4d 100644 --- a/init/init_msm.c +++ b/init/init_msm.c @@ -179,6 +179,10 @@ void set_display_node_perms() snprintf(tmp, sizeof(tmp), "%sfb0/dynamic_fps", sys_fb_path); setPerms(tmp, 0664); setOwners(tmp, AID_SYSTEM, AID_GRAPHICS); + // Set permissions for dynamic partial update + snprintf(tmp, sizeof(tmp), "%sfb0/dyn_pu", sys_fb_path); + setPerms(tmp, 0664); + setOwners(tmp, AID_SYSTEM, AID_GRAPHICS); } static int check_rlim_action() From 1567e6b8fe4f780489255b5a45507f8f0cabc71c Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Kansal Date: Mon, 15 Dec 2014 12:54:25 +0530 Subject: [PATCH 395/641] post_boot:msm8939: Update scheduler and interactive settings Update hispeed_freq for little cluster Update upmigrate. Update io_percent for cpu governor. Conflicts: rootdir/etc/init.qcom.post_boot.sh Change-Id: I7f7ac5bd8501132aa0ca15e03cb74a22fe912acb --- rootdir/etc/init.qcom.post_boot.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1ded0826c..2c4b6af68 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -589,7 +589,12 @@ case "$target" in for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/io_percent + do + echo 20 > $cpu_io_percent + done done + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent do echo 40 > $gpu_bimc_io_percent @@ -616,7 +621,7 @@ case "$target" in echo "25000 800000:50000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate - echo 1113600 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 998400 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy echo "1 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time @@ -636,7 +641,7 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu7/online # HMP scheduler (big.Little cluster related) settings - echo 80 > /proc/sys/kernel/sched_upmigrate + echo 75 > /proc/sys/kernel/sched_upmigrate echo 60 > /proc/sys/kernel/sched_downmigrate ;; esac From 8fa82f92723a49bbe6c5b0b5f6daba2a3d656388 Mon Sep 17 00:00:00 2001 From: Jessica Wagantall Date: Mon, 17 Nov 2014 15:41:21 -0800 Subject: [PATCH 396/641] CM Added Modules Change-Id: Idd2c54d94d497ddca75119859334669e6cad7f63 --- base.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/base.mk b/base.mk index 51aef663c..3256cd961 100644 --- a/base.mk +++ b/base.mk @@ -146,6 +146,11 @@ CONNECTIVITY += services-ext CURL := libcurl CURL += curl +#CM +CM := CMFileManager +CM += Trebuchet +CM += Eleven + #DASH DASH := libdashplayer DASH += qcmediaplayer @@ -639,6 +644,7 @@ PRODUCT_PACKAGES += $(CIMAX) PRODUCT_PACKAGES += $(CONNECTIVITY) PRODUCT_PACKAGES += $(CHARGER) PRODUCT_PACKAGES += $(CURL) +PRODUCT_PACKAGES += $(CM) PRODUCT_PACKAGES += $(DASH) PRODUCT_PACKAGES += $(DATA_OS) PRODUCT_PACKAGES += $(E2FSPROGS) From 4c20b4d1fd64d378731ae09e1a1d921316e56e43 Mon Sep 17 00:00:00 2001 From: Nagender Telkar Date: Fri, 19 Dec 2014 10:23:57 -0700 Subject: [PATCH 397/641] Add chromium binaries to PRODUCT_PACKAGES. Required to install chromium binaries to out folder Change-Id: I0dbbc1748eb22d9afc227d6baab30c2198a768cc --- base.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/base.mk b/base.mk index 51aef663c..f4c0a3339 100644 --- a/base.mk +++ b/base.mk @@ -135,6 +135,10 @@ BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/qcom/common #C2DColorConvert C2DCC := libc2dcolorconvert +CHROMIUM := libwebviewchromium +CHROMIUM += libwebviewchromium_loader +CHROMIUM += libwebviewchromium_plat_support + #CIMAX CIMAX := libcimax_spi @@ -635,6 +639,7 @@ PRODUCT_PACKAGES += $(BRCTL) PRODUCT_PACKAGES += $(BSON) PRODUCT_PACKAGES += $(BT) PRODUCT_PACKAGES += $(C2DCC) +PRODUCT_PACKAGES += $(CHROMIUM) PRODUCT_PACKAGES += $(CIMAX) PRODUCT_PACKAGES += $(CONNECTIVITY) PRODUCT_PACKAGES += $(CHARGER) From 76fa4f0816295ac969f97698b0237e766287917c Mon Sep 17 00:00:00 2001 From: muluhe Date: Fri, 19 Dec 2014 14:56:21 +0800 Subject: [PATCH 398/641] init.qcom.factory.sh: mount sdcard mount sdcard in ffbm mode. Change-Id: I67b43fff97c47f89fe456a15db50281413e2dfdd --- rootdir/etc/init.qcom.factory.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index 6802ddf95..5660ba11d 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -243,6 +243,9 @@ chown -h root.system /sys/devices/platform/msm_hsusb/gadget/wakeup chmod -h 220 /sys/devices/platform/msm_hsusb/gadget/wakeup setprop persist.sys.usb.config diag,adb +#mount sdcard by default + mount -t vfat /dev/block/mmcblk1p1 /storage/sdcard1 + # Start the following services needed for fftm start logd start config_bluetooth From 51c1814451d09ce9931620c945a3fc163ff7737a Mon Sep 17 00:00:00 2001 From: AnilKumar Chimata Date: Thu, 18 Dec 2014 00:27:44 +0530 Subject: [PATCH 399/641] cryptfs_hw: Add support for is_hw_fde_enabled routine Add support for is_hw_fde_enabled routine to get the fde status based on the chipset. Change-Id: I7e0e078da6668e347a78de487da44ddc331bd478 --- cryptfs_hw/Android.mk | 4 +++ cryptfs_hw/cryptfs_hw.c | 57 +++++++++++++++++++++++++++++++++++++++++ cryptfs_hw/cryptfs_hw.h | 1 + 3 files changed, 62 insertions(+) diff --git a/cryptfs_hw/Android.mk b/cryptfs_hw/Android.mk index 996947b81..e0ea65082 100644 --- a/cryptfs_hw/Android.mk +++ b/cryptfs_hw/Android.mk @@ -19,5 +19,9 @@ LOCAL_SHARED_LIBRARIES := $(commonSharedLibraries) LOCAL_MODULE_OWNER := qcom +ifeq ($(TARGET_SWV8_DISK_ENCRYPTION),true) +LOCAL_CFLAGS += -DCONFIG_SWV8_DISK_ENCRYPTION +endif + include $(BUILD_SHARED_LIBRARY) endif diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 8d738fd9a..5e476f659 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -56,6 +56,11 @@ /* Operations that be performed on HW based device encryption key */ #define SET_HW_DISK_ENC_KEY 1 #define UPDATE_HW_DISK_ENC_KEY 2 +#define MAX_DEVICE_ID_LENGTH 4 /* 4 = 3 (MAX_SOC_ID_LENGTH) + 1 */ + +static unsigned int cpu_id[] = { + 239, /* MSM8939 SOC ID */ +}; static int loaded_library = 0; static unsigned char current_passwd[MAX_PASSWORD_LEN]; @@ -192,3 +197,55 @@ unsigned int wipe_hw_device_encryption_key(const char* enc_mode) return 0; } + +/* + * By default HW FDE is enabled, if the execution comes to + * is_hw_fde_enabled() API then for specific device/soc id, + * HW FDE is disabled. + */ +#ifdef CONFIG_SWV8_DISK_ENCRYPTION +unsigned int is_hw_fde_enabled(void) +{ + unsigned int device_id = -1; + unsigned int array_size; + unsigned int status = 1; + FILE *fd = NULL; + unsigned int i; + int ret = -1; + char buf[MAX_DEVICE_ID_LENGTH]; + + fd = fopen("/sys/devices/soc0/soc_id", "r"); + if (fd) { + ret = fread(buf, 1, MAX_DEVICE_ID_LENGTH, fd); + fclose(fd); + } else { + fd = fopen("/sys/devices/system/soc/soc0/id", "r"); + if (fd) { + ret = fread(buf, 1, MAX_DEVICE_ID_LENGTH, fd); + fclose(fd); + } + } + + if (ret > 0) { + device_id = atoi(buf); + } else { + SLOGE("Failed to read device id"); + return status; + } + + array_size = sizeof(cpu_id) / sizeof(cpu_id[0]); + for (i = 0; i < array_size; i++) { + if (device_id == cpu_id[i]) { + status = 0; + break; + } + } + + return status; +} +#else +unsigned int is_hw_fde_enabled(void) +{ + return 1; +} +#endif diff --git a/cryptfs_hw/cryptfs_hw.h b/cryptfs_hw/cryptfs_hw.h index 8e582c8bd..d7bf7873d 100644 --- a/cryptfs_hw/cryptfs_hw.h +++ b/cryptfs_hw/cryptfs_hw.h @@ -37,6 +37,7 @@ unsigned int set_hw_device_encryption_key(const char*, const char*); unsigned int update_hw_device_encryption_key(const char*, const char*); unsigned int wipe_hw_device_encryption_key(const char*); unsigned int is_hw_disk_encryption(const char*); +unsigned int is_hw_fde_enabled(void); #ifdef __cplusplus } From 723a4b2f843833d4dce9d321d6abd230ead3edb4 Mon Sep 17 00:00:00 2001 From: mashaikh Date: Wed, 24 Dec 2014 10:31:48 +0530 Subject: [PATCH 400/641] post_boot:msm8909: Update bw_step and guardband to reduce CPU AB votes Update bw_step for CPU governor Update guardband for CPU governor Change-Id: I34a44e123af2788e012da2c0de406938daf83169 Signed-off-by: mashaikh --- rootdir/etc/init.qcom.post_boot.sh | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1ded0826c..aac044061 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -859,7 +859,16 @@ case "$target" in for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov + for cpu_bimc_bw_step in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/bw_step + do + echo 60 > $cpu_bimc_bw_step + done + for cpu_guard_band_mbps in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/guard_band_mbps + do + echo 30 > $cpu_guard_band_mbps + done done + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent do echo 40 > $gpu_bimc_io_percent From 0c6a1d0aeeaee90894e024420586abc142470746 Mon Sep 17 00:00:00 2001 From: Katish Paran Date: Fri, 12 Dec 2014 11:16:37 +0530 Subject: [PATCH 401/641] device: common: change the user permission to access sdcard Change the user permission to enable diag_mdlog from diag_mdlog_start and diag_mdlog_stop service to access /sdcard. Change-Id: Icb65a72d886928572de9af0b3656820d819a1cb8 --- rootdir/etc/init.qcom.rc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index d8bac049a..f461e64df 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -901,14 +901,14 @@ on property:sys.qbcharger.enable=false service diag_mdlog_start /system/bin/diag_mdlog class late_start - user sdcard_rw + user shell group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot service diag_mdlog_stop /system/bin/diag_mdlog -k class late_start - user sdcard_rw + user shell group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot From 68cd6560443e8b039375ab0ea8ca801a8a560b69 Mon Sep 17 00:00:00 2001 From: David Ng Date: Wed, 22 Oct 2014 15:00:32 -0700 Subject: [PATCH 402/641] Enable multi-user support by default Allow a maximum of 4 users. Change-Id: Ica0ac3e07a54bbdfb4c322d7199b603ead374124 --- .../overlay/frameworks/base/core/res/res/values/config.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 71924408a..3641bcc45 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -225,4 +225,9 @@ + + 4 + + true + From 8a5b2759bd9739230048beeeec111872adb8beee Mon Sep 17 00:00:00 2001 From: Varun Garg Date: Tue, 23 Dec 2014 16:16:10 +0530 Subject: [PATCH 403/641] post_boot.sh: msm8909: Enabling perfd for 8909 Starting perfd for 8909 target Change-Id: I32e535d1d7380780f6652d154b290af778e6f488 CRs-Fixed: 774885 --- rootdir/etc/init.qcom.post_boot.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 2cbe313b9..0dd1d2532 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -945,6 +945,9 @@ case "$target" in #start perfd after setprop start perfd # start perfd on 8916 and 8939 ;; + "msm8909") + start perfd + ;; "msm8974") start mpdecision echo 512 > /sys/block/mmcblk0/bdi/read_ahead_kb From ef2520ed945bfe3eb696e401c08785651e199138 Mon Sep 17 00:00:00 2001 From: Hareesh Gundu Date: Tue, 30 Dec 2014 13:47:37 +0530 Subject: [PATCH 404/641] post_boot:msm8909: Update bw_step and guardband to reduce GPU AB votes The defualt values of GPU governor is bw_step = 190 guard_band_mbps = 100 These two parmeters are updated to meet MM power numbers. The new values are as below. bw_step = 60 guard_band_mbps = 30 Change-Id: I3ada44cba7c2cf08d7897a3cf4f60448d46d80df --- rootdir/etc/init.qcom.post_boot.sh | 8 ++++++++ 1 file changed, 8 insertions(+) mode change 100755 => 100644 rootdir/etc/init.qcom.post_boot.sh diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh old mode 100755 new mode 100644 index 2cbe313b9..a49fefeec --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -878,6 +878,14 @@ case "$target" in do echo 40 > $gpu_bimc_io_percent done + for gpu_bimc_bw_step in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/bw_step + do + echo 60 > $gpu_bimc_bw_step + done + for gpu_bimc_guard_band_mbps in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/guard_band_mbps + do + echo 30 > $gpu_bimc_guard_band_mbps + done ;; esac From f05b29e0baafd1007efce9c2e2e75573872a8be8 Mon Sep 17 00:00:00 2001 From: Siddharth Bhal Date: Fri, 26 Dec 2014 18:44:24 +0530 Subject: [PATCH 405/641] wlan:common: Restart wcnss_service after encryption of /data Restart wcnss_service after encrypted data partition is remounted which is needed to copy WCNSS_qcom_cfg.ini file to data partition. Change-Id: I5c89d6d6381e90f753374ead781574638a9282ac CRs-Fixed: 775660 --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index f461e64df..c1c79ba2a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -378,6 +378,7 @@ service qcom-c_main-sh /system/bin/sh /init.class_main.sh on property:vold.decrypt=trigger_restart_framework start qcom-c_main-sh start config_bluetooth + start wcnss-service on property:persist.env.fastdorm.enabled=true setprop persist.radio.data_no_toggle 1 From 9197cb1a46089692d3c4ecb7d4fc63fe1b579c7e Mon Sep 17 00:00:00 2001 From: AUDITYA BHATTARAM Date: Wed, 7 Jan 2015 08:27:46 +0530 Subject: [PATCH 406/641] Add systemimage as a dependency on userdata.img This is needed to serialize the image generation of system.img and userdata.img. This is a temporary change needed to diagnose the system overload issue during image generation. Change-Id: I6c9403dd2d61942505094e15f9d57fc8567acb4d --- generate_extra_images.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 38de09a67..fb7c39eae 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -17,6 +17,13 @@ recovery_ramdisk := $(PRODUCT_OUT)/ramdisk-recovery.img INSTALLED_USBIMAGE_TARGET := $(PRODUCT_OUT)/usbdisk.img endif +#--------------------------------------------------------------------- +#Add systemimage as a dependency on userdata.img +#--------------------------------------------------------------------- +$(INSTALLED_USERDATAIMAGE_TARGET) : systemimage \ + $(INTERNAL_USERIMAGES_DEPS) \ + $(INTERNAL_USERDATAIMAGE_FILES) + #---------------------------------------------------------------------- # Generate secure boot image #---------------------------------------------------------------------- From fef3492d09944b76b1723894f7ef8ec8fda39953 Mon Sep 17 00:00:00 2001 From: Sujeet Kumar Date: Tue, 23 Dec 2014 15:15:09 +0530 Subject: [PATCH 407/641] USB: Enable CPU RPS mask for msm8939 target Enable CPU RPS mask on msm8939 target to fix the out of order packets issue. Change-Id: I12367fd9841391878bf9ad40e6f3b09ee75ccd96 --- rootdir/etc/init.qcom.usb.rc | 3 +++ rootdir/etc/init.qcom.usb.sh | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index f024d0626..a65277729 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -677,6 +677,9 @@ on property:sys.usb.config=diag,diag_qsc,serial_smd,serial_tty,serial_hsuart,rmn write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} +on property:sys.usb.tethering=true + write /sys/class/net/rndis0/queues/rx-0/rps_cpus ${sys.usb.rps_mask} + on property:sys.usb.config=rndis setprop sys.usb.config rndis,${persist.sys.usb.config.extra} diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 4e5de4bc1..5c9ec7c9d 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -232,3 +232,18 @@ diag_extra=`getprop persist.sys.usb.config.extra` if [ "$diag_extra" == "" ]; then setprop persist.sys.usb.config.extra none fi + +# soc_ids for 8916/8939 differentiation +if [ -f /sys/devices/soc0/soc_id ]; then + soc_id=`cat /sys/devices/soc0/soc_id` +else + soc_id=`cat /sys/devices/system/soc/soc0/id` +fi + +# enable rps cpus on msm8939 target +setprop sys.usb.rps_mask 0 +case "$soc_id" in + "239" | "241" | "263") + setprop sys.usb.rps_mask 10 + ;; +esac From 996a0361d4ead6fb0a5e6160400e7c978acc8549 Mon Sep 17 00:00:00 2001 From: Mao Li Date: Tue, 23 Dec 2014 22:28:01 -0500 Subject: [PATCH 408/641] ueventd.qcom.rc: fix aw2013 led blink node permission Add new rules to fix up permission of blink nodes, it allows led HAL to control it correctly. Change-Id: I4e9f598e38f72e9c51aa53970307754b4a298b8f --- rootdir/etc/ueventd.qcom.rc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index eefde08c3..31504417c 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -198,6 +198,11 @@ /sys/devices/virtual/gesture/gesture* enable 0660 input system /sys/devices/virtual/gesture/gesture* pocket 0660 input system +# led +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-0045/leds/red blink 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-0045/leds/green blink 0660 input system +/sys/devices/soc.0/78b5000.i2c/i2c-1/1-0045/leds/blue blink 0660 input system + # vm_bms /dev/vm_bms 0660 system system /dev/battery_data 0660 system system From ce09132d7d70a26f80fee1e092c5cc31cb945857 Mon Sep 17 00:00:00 2001 From: Mohan Pallaka Date: Mon, 12 Jan 2015 15:45:23 -0800 Subject: [PATCH 409/641] init.qcom.sh: remove hbtp directory creation Move creation of /data/misc/hbtp to init.target.rc to comply with sepolicies. Change-Id: I9ae69248fa1e47cbd3b16e938aa119fd98b2f429 --- rootdir/etc/init.qcom.sh | 2 -- rootdir/etc/ueventd.qcom.rc | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 6b8939699..6e214b8b0 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -222,8 +222,6 @@ case "$target" in "Surf" | "MTP") case "$platform_subtype_id" in "1" | "3") - mkdir -p /data/misc/hbtp - chmod -h 775 /data/misc/hbtp setprop qemu.hw.mainkeys 0 ;; esac diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index eefde08c3..4d62109fc 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -225,4 +225,5 @@ #Improve Touch /dev/hbtp_input 0660 system system +/dev/hbtp_vm 0660 system system /dev/jdi-bu21150 0660 system system From 2f9006c7963f58f2dd9d082465f124eb42598e85 Mon Sep 17 00:00:00 2001 From: Manikanta Kanamarlapudi Date: Mon, 29 Dec 2014 13:34:27 +0530 Subject: [PATCH 410/641] common: Set system property to differentiate 8916 and 8939 hw Set system property to differentiate 8916 and 8939 hw based on soc-id to select appropriate media_codecs.xml Change-Id: I043e00c9c580994b511f8fcec4a0890da90645a6 CRs-Fixed: 770327 --- init/init_msm8916.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/init/init_msm8916.c b/init/init_msm8916.c index 730ef0fa0..84fc34a42 100644 --- a/init/init_msm8916.c +++ b/init/init_msm8916.c @@ -71,8 +71,11 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar } else property_set(PROP_LCDDENSITY, "320"); + if (msm_id >= 239 && msm_id <= 243) { + property_set("media.msm8939hw", "1"); + } + if (msm_id == 206) { - property_set("media.swhevccodectype", "1"); property_set("vidc.enc.narrow.searchrange", "0"); } } From 54e1b2b8448119a572157c1f2a0bde771a40493f Mon Sep 17 00:00:00 2001 From: taozhang Date: Wed, 14 Jan 2015 11:35:53 +0800 Subject: [PATCH 411/641] common: change FTM_AP folder directly Change FTM_AP folder from the folder /data to the folder /cache. Due to userdata encryption ,userdata mount is too later, can't meet the fast boot requirement in FFBM. So move to cache dir. Change-Id: I465add0d0cdf6b1095f75b4a1ab41b5552564ed1 --- rootdir/etc/init.qcom.factory.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index 5660ba11d..782fd810a 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -72,8 +72,8 @@ chmod -h 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state #Create FTM_AP folder - mkdir -p /data/FTM_AP - chmod -h 0660 /data/FTM_AP + mkdir -p /cache/FTM_AP + chmod -h 0660 /cache/FTM_AP # setup permissions for fb1 related nodes chown -h system.graphics /sys/class/graphics/fb1/hpd From f553f6ebf6f5072514cf5121e89e9cb8b5e47b40 Mon Sep 17 00:00:00 2001 From: xmao Date: Tue, 6 Jan 2015 16:12:18 +0800 Subject: [PATCH 412/641] Common: add RCS packages in base MK - Add RCS pakages in base.mk to support RCS function CRs-Fixed: 770912 Change-Id: I717219795d66b6f8074a3ec988d3d2bad47d17e7 --- base.mk | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/base.mk b/base.mk index ecbd88df3..ffac095b3 100644 --- a/base.mk +++ b/base.mk @@ -579,6 +579,13 @@ VT_JNI += libimscamera_jni # VT QTI Permissions VT_QTI_PERMISSIONS := qti_permissions.xml +#RCS +RCS := rcs_service_aidl +RCS += rcs_service_aidl.xml +RCS += rcs_service_aidl_static +RCS += rcs_service_api +RCS += rcs_service_api.xml + #CRDA CRDA := crda CRDA += regdbdump @@ -650,6 +657,7 @@ PRODUCT_PACKAGES += $(CONNECTIVITY) PRODUCT_PACKAGES += $(CHARGER) PRODUCT_PACKAGES += $(CURL) PRODUCT_PACKAGES += $(CM) +PRODUCT_PACKAGES += $(RCS) PRODUCT_PACKAGES += $(DASH) PRODUCT_PACKAGES += $(DATA_OS) PRODUCT_PACKAGES += $(E2FSPROGS) From 7b7c94befc5c19526ac5a5a618d7b6089a659243 Mon Sep 17 00:00:00 2001 From: Srinivas Rao L Date: Fri, 9 Jan 2015 12:15:45 +0530 Subject: [PATCH 413/641] init: qcom: post_boot: Add 8929 low power modes Add low power modes for 8929 Change-Id: If623e67c740512d249f6302aae29ee8803aef21f --- rootdir/etc/init.qcom.post_boot.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index e3d9f8a7d..d64793491 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -349,7 +349,7 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online ;; - "239" | "241" | "263") + "239" | "241" | "263" | "268" | "269" | "270" | "271") echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus if [ -f /sys/devices/soc0/platform_subtype_id ]; then @@ -490,7 +490,7 @@ case "$target" in soc_id=`cat /sys/devices/system/soc/soc0/id` fi - # HMP scheduler settings for 8916, 8936, 8939 + # HMP scheduler settings for 8916, 8936, 8939, 8929 echo 2 > /proc/sys/kernel/sched_window_stats_policy echo 3 > /proc/sys/kernel/sched_ravg_hist_size @@ -576,12 +576,12 @@ case "$target" in # Apply governor settings for 8939 case "$soc_id" in - "239" | "241" | "263") + "239" | "241" | "263" | "268" | "269" | "270" | "271") # HMP scheduler load tracking settings echo 5 > /proc/sys/kernel/sched_ravg_hist_size - # HMP Task packing settings for 8939 + # HMP Task packing settings for 8939, 8929 echo 20 > /proc/sys/kernel/sched_small_task echo 30 > /proc/sys/kernel/sched_mostly_idle_load echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run @@ -942,7 +942,7 @@ case "$target" in soc_id=`cat /sys/devices/system/soc/soc0/id` fi case $soc_id in - "239" | "241" | "263") + "239" | "241" | "263" | "268" | "269" | "270" | "271") setprop ro.min_freq_0 960000 setprop ro.min_freq_4 800000 ;; @@ -951,7 +951,7 @@ case "$target" in ;; esac #start perfd after setprop - start perfd # start perfd on 8916 and 8939 + start perfd # start perfd on 8916, 8939 and 8929 ;; "msm8909") start perfd From 67eafac4c3ec3bcd04a37bd62130d15caeb6ef9e Mon Sep 17 00:00:00 2001 From: Ashay Jaiswal Date: Thu, 8 Jan 2015 15:18:57 +0530 Subject: [PATCH 414/641] init.qcom.sh: move BMS initialization in a separate service Move vm_bms service to main class for it to start early before decryption. Also create a separate service with root credentials for VMBMS daemon initialization. CRs-Fixed: 775975 Change-Id: I4f760eb3005afc8cb42d80ee166440ff7913efaf --- base.mk | 1 + rootdir/Android.mk | 8 ++++++ rootdir/etc/init.qcom.bms.sh | 49 ++++++++++++++++++++++++++++++++++++ rootdir/etc/init.qcom.rc | 5 ++++ rootdir/etc/init.qcom.sh | 13 ---------- 5 files changed, 63 insertions(+), 13 deletions(-) create mode 100644 rootdir/etc/init.qcom.bms.sh diff --git a/base.mk b/base.mk index ffac095b3..c025d053f 100644 --- a/base.mk +++ b/base.mk @@ -250,6 +250,7 @@ INIT += fstab.qcom INIT += init.qcom.debug.sh INIT += init.qcom.zram.sh INIT += init.qti.synaptics_dsx_qhd.sh +INIT += init.qcom.bms.sh #IPROUTE2 IPROUTE2 := ip diff --git a/rootdir/Android.mk b/rootdir/Android.mk index cb14082ba..de2968da2 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -105,6 +105,14 @@ LOCAL_SRC_FILES := etc/init.qcom.sh LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.bms.sh +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qcom.bms.sh +LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.class_core.sh LOCAL_MODULE_TAGS := optional eng diff --git a/rootdir/etc/init.qcom.bms.sh b/rootdir/etc/init.qcom.bms.sh new file mode 100644 index 000000000..b849375f0 --- /dev/null +++ b/rootdir/etc/init.qcom.bms.sh @@ -0,0 +1,49 @@ +#!/system/bin/sh +# Copyright (c) 2009-2015, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +target=`getprop ro.board.platform` + +start_vm_bms() +{ + if [ -e /dev/vm_bms ]; then + chown -h root.system /sys/class/power_supply/bms/current_now + chown -h root.system /sys/class/power_supply/bms/voltage_ocv + chmod 0664 /sys/class/power_supply/bms/current_now + chmod 0664 /sys/class/power_supply/bms/voltage_ocv + start vm_bms + fi +} + +case "$target" in + "msm8916") + start_vm_bms + ;; + "msm8909") + start_vm_bms + ;; +esac diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index c1c79ba2a..4c926b1ec 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -931,6 +931,11 @@ on property:persist.sys.rootagent=1 on property:persist.sys.rootagent=0 stop rootagent +service bms-sh /system/bin/sh /init.qcom.bms.sh + class main + user root + oneshot + service vm_bms /system/bin/vm_bms user root group root diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 6b8939699..a267f5331 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -83,17 +83,6 @@ start_charger_monitor() fi } -start_vm_bms() -{ - if [ -e /dev/vm_bms ]; then - chown -h root.system /sys/class/power_supply/bms/current_now - chown -h root.system /sys/class/power_supply/bms/voltage_ocv - chmod 0664 /sys/class/power_supply/bms/current_now - chmod 0664 /sys/class/power_supply/bms/voltage_ocv - start vm_bms - fi -} - start_msm_irqbalance_8939() { if [ -f /system/bin/msm_irqbalance ]; then @@ -202,7 +191,6 @@ case "$target" in start_charger_monitor ;; "msm8916") - start_vm_bms start_msm_irqbalance_8939 if [ -f /sys/devices/soc0/soc_id ]; then soc_id=`cat /sys/devices/soc0/soc_id` @@ -236,7 +224,6 @@ case "$target" in start_msm_irqbalance ;; "msm8909") - start_vm_bms ;; esac From 4552158ccbfe74accdd85b93fcf63fc724f398b8 Mon Sep 17 00:00:00 2001 From: Raj Yengisetty Date: Mon, 12 Jan 2015 11:50:26 +0800 Subject: [PATCH 415/641] CAF: Add overlay to turn on goto menu Change-Id: I02f3ba316458ca7ead4bf9c930403e7c9970acfc --- .../apps/Calendar/res/values/config.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 device/overlay/packages/apps/Calendar/res/values/config.xml diff --git a/device/overlay/packages/apps/Calendar/res/values/config.xml b/device/overlay/packages/apps/Calendar/res/values/config.xml new file mode 100644 index 000000000..758c65fca --- /dev/null +++ b/device/overlay/packages/apps/Calendar/res/values/config.xml @@ -0,0 +1,17 @@ + + + + + false + From a26ecc79c99e7fc2ab58bdd1598bf5cfed7c18fe Mon Sep 17 00:00:00 2001 From: Sandeep Gutta Date: Tue, 23 Dec 2014 16:48:46 +0530 Subject: [PATCH 416/641] Telephony: set default subscription mode to RUIM Set default subscription mode(ro.telephony.default_cdma_sub) to RUIM. Change-Id: Ic7fb3843849bb5a6ad078bb6d451b6be6333ed66 CRs-Fixed: 773637 --- common.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common.mk b/common.mk index d9ca21abf..56dff289e 100644 --- a/common.mk +++ b/common.mk @@ -15,7 +15,8 @@ endif PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=libqti-perfd-client.so \ - persist.radio.apm_sim_not_pwdn=1 + persist.radio.apm_sim_not_pwdn=1 \ + ro.telephony.default_cdma_sub=0 PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key From ae355d646c0e701bd6f90e707ca1befa52f20830 Mon Sep 17 00:00:00 2001 From: muluhe Date: Fri, 16 Jan 2015 17:19:04 +0800 Subject: [PATCH 417/641] common: remove ptt_ffbm,ftm_ffbm service In FFBM,this two daemon will not auto started. They will be controlled by diag command. Change-Id: I17d27bc4784617964edadee5bf925ddbcbcdbc0f --- rootdir/etc/init.qcom.factory.sh | 2 -- rootdir/etc/init.qcom.rc | 12 ------------ 2 files changed, 14 deletions(-) diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh index 782fd810a..f300f9f8e 100644 --- a/rootdir/etc/init.qcom.factory.sh +++ b/rootdir/etc/init.qcom.factory.sh @@ -258,5 +258,3 @@ setprop persist.sys.usb.config diag,adb start irsc_util start qcamerasvr start qcomsysd - start ptt_ffbm - start ftm_ffbm diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 4c926b1ec..e976b9ef5 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -617,18 +617,6 @@ service ptt_socket_app /system/bin/ptt_socket_app -d group root oneshot -service ptt_ffbm /system/bin/ptt_socket_app -f -d - user root - group root - disabled - oneshot - -service ftm_ffbm /system/bin/ftmdaemon - user root - group root - disabled - oneshot - service cnss_diag /system/bin/cnss_diag --q class main user root From 48321507fc7172c22748b61bfc6f2741c578dc71 Mon Sep 17 00:00:00 2001 From: Mallikarjuna GB Date: Wed, 21 Jan 2015 09:46:56 +0530 Subject: [PATCH 418/641] btsnoop: Allow media_rw for btsnoop for BT logging Allow media_rw for btsnoop for BT logging Change-Id: I9d0ce0d0443db9287fde49b2a404e78673cac790 --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 4c926b1ec..2189f4edb 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -463,7 +463,7 @@ service bt-sap /system/bin/sapd 15 service btsnoop /system/bin/btsnoop user bluetooth - group bluetooth net_bt_admin sdcard_rw sdcard_r + group bluetooth net_bt_admin sdcard_rw sdcard_r media_rw class late_start disabled oneshot From dbf9042855469eaaba923c2aa608d711cbcc93e3 Mon Sep 17 00:00:00 2001 From: Ravi Kumar Siddojigari Date: Tue, 20 Jan 2015 19:47:51 +0530 Subject: [PATCH 419/641] init.qcom.rc: update irsc_util to not use logwrapper Logwrapper does not have security domain defined. Using it causes a misleading warning for irsc_util. CRs-Fixed: 780042 Change-Id: I7595b0d96f5b2ec8696f67ab024c0f1ce54d249f --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 4c926b1ec..03c44f9a3 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -391,7 +391,7 @@ service dpmd /system/bin/dpmd class late_start socket dpmd stream 660 root system -service irsc_util /system/bin/logwrapper /system/bin/irsc_util "/etc/sec_config" +service irsc_util /system/bin/irsc_util "/etc/sec_config" class main user root oneshot From c57e6d40c6fc40e2de49ea66339e855e79a5ec76 Mon Sep 17 00:00:00 2001 From: Srinivas Ramana Date: Tue, 27 Jan 2015 10:25:25 +0530 Subject: [PATCH 420/641] init: qcom: start irq balancer for msm8929. start irq balancer during the init phase for msm8929. Change-Id: Id31c77541373cb11c31353ac707c028c29c6d9fa Signed-off-by: Srinivas Ramana --- rootdir/etc/init.qcom.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index a267f5331..5f6f4f948 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -87,7 +87,7 @@ start_msm_irqbalance_8939() { if [ -f /system/bin/msm_irqbalance ]; then case "$platformid" in - "239") + "239" | "241" | "263" | "268" | "269" | "270" | "271") start msm_irqbalance;; esac fi From 46cf047d31cb5c0681a3c3d2ed5bcbf1d85a78c6 Mon Sep 17 00:00:00 2001 From: Bulbul Dabi Date: Tue, 27 Jan 2015 13:26:13 +0530 Subject: [PATCH 421/641] device/qcom/common: Add 8929 SOC ids Add 8929 SOC IDs. Change-Id: I0891f2d3f129c8688483bfd65b12f0476e48c9ea --- rootdir/etc/init.qcom.uicc.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.uicc.sh b/rootdir/etc/init.qcom.uicc.sh index 5b71a75af..e226c0d46 100644 --- a/rootdir/etc/init.qcom.uicc.sh +++ b/rootdir/etc/init.qcom.uicc.sh @@ -43,7 +43,7 @@ uicc_insert() { case $target in "msm8916") - if [ $soc_hwid == "239" ]; then + if [ $soc_hwid == "239" ] || [ $soc_hwid == "268" ] || [ $soc_hwid == "269" ] || [ $soc_hwid == "270" ] || [ $soc_hwid == "271" ]; then echo Y > /sys/module/ehci_msm_uicc/parameters/uicc_card_present echo 79c0000.qcom,ehci-host > /sys/bus/platform/drivers/msm_ehci_uicc/bind elif [ $soc_hwid == "206" ]; then @@ -73,7 +73,7 @@ uicc_remove() { case $target in "msm8916") - if [ $soc_hwid == "239" ]; then + if [ $soc_hwid == "239" ] || [ $soc_hwid == "268" ] || [ $soc_hwid == "269" ] || [ $soc_hwid == "270" ] || [ $soc_hwid == "271" ]; then echo 79c0000.qcom,ehci-host > /sys/bus/platform/drivers/msm_ehci_uicc/unbind echo N > /sys/module/ehci_msm_uicc/parameters/uicc_card_present elif [ $soc_hwid == "206" ]; then From af336fb9469ba0f9e3c9507fb7f61225cd7f26bb Mon Sep 17 00:00:00 2001 From: Jay Wang Date: Tue, 27 Jan 2015 15:04:59 -0800 Subject: [PATCH 422/641] common: enable goto option in calendar Change-Id: I1d7977f6e8f57e81d812fd67232eff714c33ddda --- device/overlay/packages/apps/Calendar/res/values/config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/overlay/packages/apps/Calendar/res/values/config.xml b/device/overlay/packages/apps/Calendar/res/values/config.xml index 758c65fca..274e921c0 100644 --- a/device/overlay/packages/apps/Calendar/res/values/config.xml +++ b/device/overlay/packages/apps/Calendar/res/values/config.xml @@ -13,5 +13,5 @@ - false + true From f241a4de0186e4640702c599162dc211e8259bb5 Mon Sep 17 00:00:00 2001 From: Sravan Kumar Ambapuram Date: Mon, 19 Jan 2015 15:16:53 +0530 Subject: [PATCH 423/641] post_boot:msm8916:8939:8909 sched policy to consider avg of windows change scheduler policy on L update to consider average of last 5 windows instead of max(last window, average of 5 windows). It was same on KK (i.e. average of 5 windows) and changed on L due to sched code updates. so fixing this on L build as well. Also,remvoing redundant setting of writing to sched_ravg_hist_size. Conflicts: rootdir/etc/init.qcom.post_boot.sh Change-Id: Idc882fc40b9b963fa370c7ce920040f5e7c475c9 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index d64793491..fe1fd90d4 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -491,7 +491,7 @@ case "$target" in fi # HMP scheduler settings for 8916, 8936, 8939, 8929 - echo 2 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_window_stats_policy echo 3 > /proc/sys/kernel/sched_ravg_hist_size # Apply governor settings for 8916 @@ -829,7 +829,7 @@ case "$target" in fi # HMP scheduler settings for 8909 similiar to 8916 - echo 2 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_window_stats_policy echo 3 > /proc/sys/kernel/sched_ravg_hist_size # HMP Task packing settings for 8909 similiar to 8916 From 4d733235a14a672929e2255790f57afa91c8e4a5 Mon Sep 17 00:00:00 2001 From: Nirmal Abraham Date: Tue, 2 Dec 2014 18:45:42 +0530 Subject: [PATCH 424/641] init.qcom.rc: Create directory in '/data' partition for display files Create a directory '/data/misc/display' to store configuration files used by display clients. Change-Id: I20f62ed6a484172b8765455ccc2456b52ef7ffa0 --- rootdir/etc/init.qcom.rc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index ae48c261d..377c2422e 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -1,4 +1,4 @@ -# Copyright (c) 2009-2012, 2014, The Linux Foundation. All rights reserved. +# Copyright (c) 2009-2012, 2014-2015, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -216,6 +216,9 @@ on post-fs-data # Create directory used by the DASH client mkdir /data/misc/dash 0770 media audio + # Create directory used by display clients + mkdir /data/misc/display 0770 system graphics + # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections # We chown/chmod /persist again so because mount is run as root + defaults chown system system /persist From c0a4dd56b6cd0784685cb54288da793cde648793 Mon Sep 17 00:00:00 2001 From: Ravinder Konka Date: Thu, 22 Jan 2015 22:16:29 +0530 Subject: [PATCH 425/641] init script: Run QTI with radio privileges Changes to lower the root privileges of QTI and run with radio privileges. CRs-Fixed: 783653 Change-Id: I3746fb4d3b4efeda9a64294fd796d02e324e229b --- rootdir/etc/init.qcom.rc | 2 ++ rootdir/etc/ueventd.qcom.rc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 4c926b1ec..58f598950 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -519,6 +519,8 @@ service ipacm /system/bin/ipacm service qti /system/vendor/bin/qti class main + user radio + group radio net_raw qcom_diag usb net_admin disabled service sensors /system/bin/sensors.qcom diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 31504417c..c3ed21b06 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -45,6 +45,8 @@ /dev/ipa 0660 net_admin net_admin /dev/wwan_ioctl 0660 net_admin net_admin /dev/ipaNatTable 0660 net_admin net_admin +/dev/rmnet_ctrl 0660 usb usb +/dev/dpl_ctrl 0660 usb usb #permissions for CSVT /dev/smd11 0660 radio radio From a14cd564f7ae7997390cc7d96decc991e2ed487c Mon Sep 17 00:00:00 2001 From: muluhe Date: Mon, 26 Jan 2015 16:56:39 +0800 Subject: [PATCH 426/641] init.qcom.factory: Fix SIM/SDCard/GPS issue There are some limitations need to fix by using shell script 1) cause latency for usb emulation; 2) Shell don't have permission to mount filesystem which needed in FFBM; 3) Shell don't apply filecontexts when mkdir or some others; Base on the above limitation,we change init.qcom.factory.sh to RC file, This will fix SIM/SD card issue found in FFBM. And will speed up usb emulation. Start servicemanager in FFBM to support GPS test. Change-Id: I42738231c1ab3488bc77e1bca9aa01ca260be153 --- base.mk | 2 +- rootdir/Android.mk | 4 +- rootdir/etc/init.qcom.factory.rc | 283 +++++++++++++++++++++++++++++++ rootdir/etc/init.qcom.factory.sh | 260 ---------------------------- rootdir/etc/init.qcom.rc | 29 +--- 5 files changed, 287 insertions(+), 291 deletions(-) create mode 100644 rootdir/etc/init.qcom.factory.rc delete mode 100644 rootdir/etc/init.qcom.factory.sh diff --git a/base.mk b/base.mk index c025d053f..79e70f2d8 100644 --- a/base.mk +++ b/base.mk @@ -226,7 +226,7 @@ INIT += init.qcom.early_boot.sh INIT += init.qcom.post_boot.sh INIT += init.qcom.syspart_fixup.sh INIT += init.qcom.rc -INIT += init.qcom.factory.sh +INIT += init.qcom.factory.rc INIT += init.qcom.sdio.sh INIT += init.qcom.sh INIT += init.qcom.class_core.sh diff --git a/rootdir/Android.mk b/rootdir/Android.mk index de2968da2..1a976b6a9 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -90,10 +90,10 @@ LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) include $(CLEAR_VARS) -LOCAL_MODULE := init.qcom.factory.sh +LOCAL_MODULE := init.qcom.factory.rc LOCAL_MODULE_TAGS := optional eng LOCAL_MODULE_CLASS := ETC -LOCAL_SRC_FILES := etc/init.qcom.factory.sh +LOCAL_SRC_FILES := etc/init.qcom.factory.rc LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) diff --git a/rootdir/etc/init.qcom.factory.rc b/rootdir/etc/init.qcom.factory.rc new file mode 100644 index 000000000..46ab0f9fe --- /dev/null +++ b/rootdir/etc/init.qcom.factory.rc @@ -0,0 +1,283 @@ +# +# Copyright (c) 2009-2015, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# Define fastmmi +service fastmmi /system/bin/mmi + user root + group root + disabled + +service srvmag_ffbm /system/bin/servicemanager + user root + disabled + oneshot + +on mmi + # ==================================================================== + # The follow setting come from "on boot" in init.qcom.rc + # ==================================================================== + chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power + chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type + chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state + chown bluetooth bluetooth /proc/bluetooth/sleep/proto + chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm + chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite + chown system system /sys/module/sco/parameters/disable_esco + chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set + chmod 0660 /sys/module/bluetooth_power/parameters/power + chmod 0660 /sys/module/hci_smd/parameters/hcismd_set + chmod 0660 /sys/class/rfkill/rfkill0/state + chmod 0660 /proc/bluetooth/sleep/proto + chown bluetooth bluetooth /dev/ttyHS0 + chmod 0660 /sys/module/hci_uart/parameters/ath_lpm + chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite + chmod 0660 /dev/ttyHS0 + chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock + chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock + + chmod 0660 /dev/ttyHS2 + chown bluetooth bluetooth /dev/ttyHS2 + + chown bluetooth bluetooth /sys/class/rfkill/rfkill0/device/extldo + chmod 0660 /sys/class/rfkill/rfkill0/device/extldo + + #Create QMUX deamon socket area + mkdir /dev/socket/qmux_radio 0770 radio radio + chmod 2770 /dev/socket/qmux_radio + mkdir /dev/socket/qmux_audio 0770 media audio + chmod 2770 /dev/socket/qmux_audio + mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth + chmod 2770 /dev/socket/qmux_bluetooth + mkdir /dev/socket/qmux_gps 0770 gps gps + chmod 2770 /dev/socket/qmux_gps + + setprop wifi.interface wlan0 + +# Define TCP buffer sizes for various networks +# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, + setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576 + + + setprop ro.telephony.call_ring.multiple false + + #Remove SUID bit for iproute2 ip tool + chmod 0755 /system/bin/ip + + + chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state + + #For bridgemgr daemon to inform the USB driver of the correct transport + chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport + +# Define TCP buffer sizes for various networks +# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, + setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208 + setprop net.tcp.buffersize.lte 2097152,4194304,8388608,262144,524288,1048576 + setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208 + setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608 + setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040 + setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680 + setprop net.tcp.buffersize.evdo 4094,87380,524288,4096,16384,262144 + + #Assign TCP buffer thresholds to be ceiling value of technology maximums + #Increased technology maximums should be reflected here. + write /proc/sys/net/core/rmem_max 8388608 + write /proc/sys/net/core/wmem_max 8388608 + + #To allow interfaces to get v6 address when tethering is enabled + write /proc/sys/net/ipv6/conf/rmnet0/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet1/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet2/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet3/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet4/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet5/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet6/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet7/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra 2 + write /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra 2 + + # To prevent out of order acknowledgements from making + # connection tracking to treat them as not belonging to + # the connection they belong to. + # Otherwise, a weird issue happens in which some long + # connections on high-throughput links get dropped when + # an ack packet comes out of order + write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 + + # Set the console loglevel to < KERN_INFO + # Set the default message loglevel to KERN_INFO + write /proc/sys/kernel/printk "6 6 1 7" + + # Allow access for CCID command/response timeout configuration + chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout + + # ============================================================= + # The follow settings come from "on boot" in init.rc + # ============================================================= + # basic network init + ifup lo + hostname localhost + domainname localdomain + + # set RLIMIT_NICE to allow priorities from 19 to -20 + setrlimit 13 40 40 + + # Memory management. Basic kernel parameters, and allow the high + # level system server to be able to adjust the kernel OOM driver + # parameters to match how it is managing things. + write /proc/sys/vm/overcommit_memory 1 + write /proc/sys/vm/min_free_order_shift 4 + chown root system /sys/module/lowmemorykiller/parameters/adj + chmod 0220 /sys/module/lowmemorykiller/parameters/adj + chown root system /sys/module/lowmemorykiller/parameters/minfree + chmod 0220 /sys/module/lowmemorykiller/parameters/minfree + + # Tweak background writeout + write /proc/sys/vm/dirty_expire_centisecs 200 + write /proc/sys/vm/dirty_background_ratio 5 + + # Permissions for System Server and daemons. + chown radio system /sys/android_power/state + chown radio system /sys/android_power/request_state + chown radio system /sys/android_power/acquire_full_wake_lock + chown radio system /sys/android_power/acquire_partial_wake_lock + chown radio system /sys/android_power/release_wake_lock + chown system system /sys/power/autosleep + chown system system /sys/power/state + chown system system /sys/power/wakeup_count + chown radio system /sys/power/wake_lock + chown radio system /sys/power/wake_unlock + chmod 0660 /sys/power/state + chmod 0660 /sys/power/wake_lock + chmod 0660 /sys/power/wake_unlock + + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate + chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack + chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time + chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads + chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load + chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + chown system system /sys/devices/system/cpu/cpufreq/interactive/boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse + chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost + chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration + chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy + + # Assume SMP uses shared cpufreq policy for all CPUs + chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + + chown system system /sys/class/timed_output/vibrator/enable + chown system system /sys/class/leds/keyboard-backlight/brightness + chown system system /sys/class/leds/lcd-backlight/brightness + chown system system /sys/class/leds/torch-light/brightness + chown system system /sys/class/leds/flashlight/brightness + chown system system /sys/class/leds/button-backlight/brightness + chown system system /sys/class/leds/jogball-backlight/brightness + chown system system /sys/class/leds/red/brightness + chown system system /sys/class/leds/green/brightness + chown system system /sys/class/leds/blue/brightness + chown system system /sys/class/leds/red/device/grpfreq + chown system system /sys/class/leds/red/device/grppwm + chown system system /sys/class/leds/red/device/blink + chown system system /sys/class/timed_output/vibrator/enable + chown system system /sys/module/sco/parameters/disable_esco + chown system system /sys/kernel/ipv4/tcp_wmem_min + chown system system /sys/kernel/ipv4/tcp_wmem_def + chown system system /sys/kernel/ipv4/tcp_wmem_max + chown system system /sys/kernel/ipv4/tcp_rmem_min + chown system system /sys/kernel/ipv4/tcp_rmem_def + chown system system /sys/kernel/ipv4/tcp_rmem_max + chown root radio /proc/cmdline + + # Define default initial receive window size in segments. + setprop net.tcp.default_init_rwnd 60 + + # ======================================================== + # This is FFBM only settings. + # ======================================================== + + #mount sdcard by default + mount vfat /dev/block/mmcblk1p1 /storage/sdcard1 + + #mkdir for factory data files. + mkdir /cache/FTM_AP 0750 root root + + #Start the following services needed for fftm + start qcom-usb-sh + start logd + start config_bluetooth + start media + start fastmmi + start wcnss-service + start qcom-post-boot + start rmt_storage + start qcom-c_main-sh + start irsc_util + start qcamerasvr + start qcomsysd + start srvmag_ffbm + +on ffbm + trigger early-fs + trigger fs + trigger post-fs + trigger post-fs-data + + # Load properties from /system/ + /factory after fs mount. Place + # this in another action so that the load will be scheduled after the prior + # issued fs triggers have completed. + trigger load_all_props_action + + trigger early-boot + trigger mmi diff --git a/rootdir/etc/init.qcom.factory.sh b/rootdir/etc/init.qcom.factory.sh deleted file mode 100644 index f300f9f8e..000000000 --- a/rootdir/etc/init.qcom.factory.sh +++ /dev/null @@ -1,260 +0,0 @@ -#!/system/bin/sh -# Copyright (c) 2009-2014, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor -# the names of its contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -# Actions on fast factory test mode - chown -h bluetooth.bluetooth /sys/module/bluetooth_power/parameters/power - chown -h bluetooth.bluetooth /sys/class/rfkill/rfkill0/type - chown -h bluetooth.bluetooth /sys/class/rfkill/rfkill0/state - chown -h bluetooth.bluetooth /proc/bluetooth/sleep/proto - chown -h system.system /sys/module/sco/parameters/disable_esco - chown -h bluetooth.bluetooth /sys/module/hci_smd/parameters/hcismd_set - chmod -h 0660 /sys/module/bluetooth_power/parameters/power - chmod -h 0660 /sys/module/hci_smd/parameters/hcismd_set - chmod -h 0660 /sys/class/rfkill/rfkill0/state - chmod -h 0660 /proc/bluetooth/sleep/proto - chown -h bluetooth.bluetooth /dev/ttyHS0 - chmod -h 0660 /dev/ttyHS0 - chown -h bluetooth.bluetooth /sys/devices/platform/msm_serial_hs.0/clock - chmod -h 0660 /sys/devices/platform/msm_serial_hs.0/clock - - chmod -h 0660 /dev/ttyHS2 - chown -h bluetooth.bluetooth /dev/ttyHS2 - - #Create QMUX deamon socket area - mkdir -p /dev/socket/qmux_radio - chown -h radio.radio /dev/socket/qmux_radio - chmod -h 2770 /dev/socket/qmux_radio - mkdir -p /dev/socket/qmux_audio - chown -h media.audio /dev/socket/qmux_audio - chmod -h 2770 /dev/socket/qmux_audio - mkdir -p /dev/socket/qmux_bluetooth - chown -h bluetooth.bluetooth /dev/socket/qmux_bluetooth - chmod -h 2770 /dev/socket/qmux_bluetooth - mkdir -p /dev/socket/qmux_gps - chown -h gps.gps /dev/socket/qmux_gps - chmod -h 2770 /dev/socket/qmux_gps - - # Allow QMUX daemon to assign port open wait time - chown -h radio.radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait - - setprop wifi.interface wlan0 - - setprop ro.telephony.call_ring.multiple false - - #Remove SUID bit for iproute2 ip tool - chmod -h 0755 /system/bin/ip - - chmod -h 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state - - #Create FTM_AP folder - mkdir -p /cache/FTM_AP - chmod -h 0660 /cache/FTM_AP - - # setup permissions for fb1 related nodes - chown -h system.graphics /sys/class/graphics/fb1/hpd - chown -h system.system /sys/class/graphics/fb1/hdcp/tp - chmod -h 0664 /sys/devices/virtual/graphics/fb1/hpd - chmod -h 0664 /sys/devices/virtual/graphics/fb1/hdcp/tp - chmod -h 0664 /sys/devices/virtual/graphics/fb1/video_mode - chmod -h 0664 /sys/devices/virtual/graphics/fb1/format_3d - - # Change owner and group for media server and surface flinger - chown -h system.system /sys/devices/virtual/graphics/fb1/format_3d - - #For bridgemgr daemon to inform the USB driver of the correct transport - chown -h radio.radio /sys/class/android_usb/f_rmnet_smd_sdio/transport - - #To allow interfaces to get v6 address when tethering is enabled - echo 2 > /proc/sys/net/ipv6/conf/rmnet0/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet1/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet2/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet3/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet4/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet5/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet6/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet7/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio0/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio1/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio2/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio3/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio4/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio5/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio6/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_sdio7/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_usb0/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_usb1/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_usb2/accept_ra - echo 2 > /proc/sys/net/ipv6/conf/rmnet_usb3/accept_ra - - # To prevent out of order acknowledgements from making - # connection tracking to treat them as not belonging to - # the connection they belong to. - # Otherwise, a weird issue happens in which some long - # connections on high-throughput links get dropped when - # an ack packet comes out of order - echo 1 > /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal - -#TODO: -# basic network init -# ifup lo -# hostname localhost -# domainname localdomain - -# set RLIMIT_NICE to allow priorities from 19 to -20 -# setrlimit 13 40 40 - -# Memory management. Basic kernel parameters, and allow the high -# level system server to be able to adjust the kernel OOM driver -# parameters to match how it is managing things. - echo 1 > /proc/sys/vm/overcommit_memory - echo 4 > /proc/sys/vm/min_free_order_shift - chown -h root.system /sys/module/lowmemorykiller/parameters/adj - chmod -h 0664 /sys/module/lowmemorykiller/parameters/adj - chown -h root.system /sys/module/lowmemorykiller/parameters/minfree - chmod -h 0664 /sys/module/lowmemorykiller/parameters/minfree - - # Tweak background writeout - echo 200 > /proc/sys/vm/dirty_expire_centisecs - echo 5 > /proc/sys/vm/dirty_background_ratio - - # Permissions for System Server and daemons. - chown -h radio.system /sys/android_power/state - chown -h radio.system /sys/android_power/request_state - chown -h radio.system /sys/android_power/acquire_full_wake_lock - chown -h radio.system /sys/android_power/acquire_partial_wake_lock - chown -h radio.system /sys/android_power/release_wake_lock - chown -h system.system /sys/power/autosleep - chown -h system.system /sys/power/state - chown -h system.system /sys/power/wakeup_count - chown -h radio.system /sys/power/wake_lock - chown -h radio.system /sys/power/wake_unlock - chmod -h 0660 /sys/power/state - chmod -h 0660 /sys/power/wake_lock - chmod -h 0660 /sys/power/wake_unlock - - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/timer_rate - chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/boost - chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/boost - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/boostpulse - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/input_boost - chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost - chown -h system.system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration - chmod -h 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration - - # Assume SMP uses shared cpufreq policy for all CPUs - chown -h system.system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - chmod -h 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq - - chown -h system.system /sys/class/timed_output/vibrator/enable - chown -h system.system /sys/class/leds/keyboard-backlight/brightness - chown -h system.system /sys/class/leds/lcd-backlight/brightness - chown -h system.system /sys/class/leds/button-backlight/brightness - chown -h system.system /sys/class/leds/jogball-backlight/brightness - chown -h system.system /sys/class/leds/red/brightness - chown -h system.system /sys/class/leds/green/brightness - chown -h system.system /sys/class/leds/blue/brightness - chown -h system.system /sys/class/leds/red/device/grpfreq - chown -h system.system /sys/class/leds/red/device/grppwm - chown -h system.system /sys/class/leds/red/device/blink - chown -h system.system /sys/class/leds/red/brightness - chown -h system.system /sys/class/leds/green/brightness - chown -h system.system /sys/class/leds/blue/brightness - chown -h system.system /sys/class/leds/red/device/grpfreq - chown -h system.system /sys/class/leds/red/device/grppwm - chown -h system.system /sys/class/leds/red/device/blink - chown -h system.system /sys/class/timed_output/vibrator/enable - chown -h system.system /sys/module/sco/parameters/disable_esco - chown -h system.system /sys/kernel/ipv4/tcp_wmem_min - chown -h system.system /sys/kernel/ipv4/tcp_wmem_def - chown -h system.system /sys/kernel/ipv4/tcp_wmem_max - chown -h system.system /sys/kernel/ipv4/tcp_rmem_min - chown -h system.system /sys/kernel/ipv4/tcp_rmem_def - chown -h system.system /sys/kernel/ipv4/tcp_rmem_max - chown -h root radio /proc/cmdline - -# Define TCP buffer sizes for various networks -# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax, - setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208 - setprop net.tcp.buffersize.wifi 524288,1048576,2097152,262144,524288,1048576 - setprop net.tcp.buffersize.lte 524288,1048576,2097152,262144,524288,1048576 - setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208 - setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608 - setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040 - setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680 - setprop net.tcp.buffersize.evdo 4094,87380,262144,4096,16384,262144 - -# Assign TCP buffer thresholds to be ceiling value of technology maximums -# Increased technology maximums should be reflected here. - echo 2097152 > /proc/sys/net/core/rmem_max - echo 2097152 > /proc/sys/net/core/wmem_max - -# Set the property to indicate type of virtual display to 0 -# 0 indicates that virtual display is not a Wifi display and that the -# session is not exercised through RemoteDisplay in the android framework - setprop persist.sys.wfd.virtual 0 - -# Set this property so surfaceflinger is not started by system_init - setprop system_init.startsurfaceflinger 0 - -# Configurate USB in FFBM mode, two big change for USB. -# 1) Using diag,adb in FFBM mode, too many interface will cause -# problem in factory for multi-line test -# 2) Not config usb serialnum. Using the default value:"0123456789ABCDEF" -# Keep the USB serialnum no change for devices. this fix the problem -# of port change for various devices. -chown -h root.system /sys/devices/platform/msm_hsusb/gadget/wakeup -chmod -h 220 /sys/devices/platform/msm_hsusb/gadget/wakeup -setprop persist.sys.usb.config diag,adb - -#mount sdcard by default - mount -t vfat /dev/block/mmcblk1p1 /storage/sdcard1 - -# Start the following services needed for fftm - start logd - start config_bluetooth - start media - start fastmmi - start wcnss-service - start qcom-post-boot - start rmt_storage - start qcom-c_main-sh - start irsc_util - start qcamerasvr - start qcomsysd diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index ae48c261d..94f6f9e86 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -27,6 +27,7 @@ import init.qcom.usb.rc import init.target.rc +import init.qcom.factory.rc on early-init mount debugfs debugfs /sys/kernel/debug @@ -834,34 +835,6 @@ service ssr_diag /system/bin/ssr_diag group system disabled -# Define fastmmi -service fastmmi /system/bin/mmi - user root - group root - disabled - -service fastmmisrv /system/bin/sh /init.qcom.factory.sh - user root - disabled - oneshot - -on mmi - start fastmmisrv - -on ffbm - trigger early-fs - trigger fs - trigger post-fs - trigger post-fs-data - - # Load properties from /system/ + /factory after fs mount. Place - # this in another action so that the load will be scheduled after the prior - # issued fs triggers have completed. - trigger load_all_props_action - - trigger early-boot - trigger mmi - service hvdcp /system/bin/hvdcp class core user root From 2af448431419ddaf21424b6e8f62aad91b616de2 Mon Sep 17 00:00:00 2001 From: Kun Liang Date: Fri, 23 Jan 2015 12:58:35 +0800 Subject: [PATCH 427/641] QuickBoot: charger: acquire wakelock when qbcharger started When wall charger plugged, device will suspend even in charging. This leads to poweroff charging animation can't be drawn as what USB charging does. To get the same behavior as USB charger need to acquire wakelock when qbcharger service started and release it when qbcharger service stopped. Change-Id: I23c0ef7c21eeaf9e54bee19cf422176d2d9109c9 --- rootdir/etc/init.qcom.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index ae48c261d..bf9d87e72 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -883,9 +883,11 @@ service qbcharger /charger -m 1 oneshot on property:sys.qbcharger.enable=true + write /sys/power/wake_lock QuickBoot start qbcharger on property:sys.qbcharger.enable=false + write /sys/power/wake_unlock QuickBoot stop qbcharger service diag_mdlog_start /system/bin/diag_mdlog From f79042a044a8401300a91d1f5dcf94191025563c Mon Sep 17 00:00:00 2001 From: Pushkaraj Patil Date: Wed, 28 Jan 2015 14:37:43 +0530 Subject: [PATCH 428/641] common: use hw hevc decoder for msm8929 8929 target is using software hevc decoder. Set a system property so as to use hw hevc decoder, for all variants of 8929. Change-Id: I156a26e905859a23f96a32ca4b98cdee688833df --- init/init_msm8916.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/init/init_msm8916.c b/init/init_msm8916.c index 84fc34a42..59072805a 100644 --- a/init/init_msm8916.c +++ b/init/init_msm8916.c @@ -71,7 +71,8 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar } else property_set(PROP_LCDDENSITY, "320"); - if (msm_id >= 239 && msm_id <= 243) { + if ((msm_id >= 239 && msm_id <= 243) || + (msm_id >= 268 && msm_id <= 271)) { property_set("media.msm8939hw", "1"); } From 91c410a6959ab071c365101f097c6fae6a7506fc Mon Sep 17 00:00:00 2001 From: Tyler Wear Date: Mon, 19 Jan 2015 15:27:14 -0800 Subject: [PATCH 429/641] init script: Run QTI with radio privileges. Changes to lower the root privileges of QTI and run with radio privileges. CRs-Fixed: 783653 Change-Id: I86ed4beaeb18d33b62b66a2fbcae13e1042e9345 --- rootdir/etc/init.qcom.rc | 2 ++ rootdir/etc/ueventd.qcom.rc | 2 ++ 2 files changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index bf9d87e72..331a9e295 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -519,6 +519,8 @@ service ipacm /system/bin/ipacm service qti /system/vendor/bin/qti class main + user radio + group radio net_raw qcom_diag usb net_admin disabled service sensors /system/bin/sensors.qcom diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index d1a126e26..9a82287c5 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -45,6 +45,8 @@ /dev/ipa 0660 net_admin net_admin /dev/wwan_ioctl 0660 net_admin net_admin /dev/ipaNatTable 0660 net_admin net_admin +/dev/rmnet_ctrl 0660 usb usb +/dev/dpl_ctrl 0660 usb usb #permissions for CSVT /dev/smd11 0660 radio radio From 1145d420944a3c3d5cb682ecba0690adcc1c2de6 Mon Sep 17 00:00:00 2001 From: Mulu He Date: Fri, 30 Jan 2015 12:50:55 +0800 Subject: [PATCH 430/641] init.qcom.factory: mount tmpfs in FFBM Camera/wifi case hardcode socket path in /data dir and currently userdata is not mounted in FFBM due to forceencryption. Using tmpfs for factory is reasonable for keeping thing no impact on Android. Change-Id: Ic66491f56023a2d3e4a8c6832ba8ed61b0de9206 --- rootdir/etc/init.qcom.factory.rc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rootdir/etc/init.qcom.factory.rc b/rootdir/etc/init.qcom.factory.rc index 46ab0f9fe..6a123ca22 100644 --- a/rootdir/etc/init.qcom.factory.rc +++ b/rootdir/etc/init.qcom.factory.rc @@ -37,6 +37,10 @@ service srvmag_ffbm /system/bin/servicemanager disabled oneshot +# Creating a scratch storage on /data for factory testing. +on factory-fs + mount tmpfs tmpfs /data + on mmi # ==================================================================== # The follow setting come from "on boot" in init.qcom.rc @@ -270,6 +274,7 @@ on mmi on ffbm trigger early-fs + trigger factory-fs trigger fs trigger post-fs trigger post-fs-data From e29068a579f8537beb2d8bbbea74790ef04625a0 Mon Sep 17 00:00:00 2001 From: Arusha Goyal Date: Tue, 3 Feb 2015 05:21:58 -0800 Subject: [PATCH 431/641] Revert "Telephony: set default subscription mode to RUIM" This reverts commit a26ecc79c99e7fc2ab58bdd1598bf5cfed7c18fe Change-Id: I963a39575387c61baf151eee2dc2727ae37e7f3d --- common.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/common.mk b/common.mk index 56dff289e..d9ca21abf 100644 --- a/common.mk +++ b/common.mk @@ -15,8 +15,7 @@ endif PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=libqti-perfd-client.so \ - persist.radio.apm_sim_not_pwdn=1 \ - ro.telephony.default_cdma_sub=0 + persist.radio.apm_sim_not_pwdn=1 PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key From 38da23dbf9fd4a7a5faa07691d98b2190f4a315d Mon Sep 17 00:00:00 2001 From: Pushkaraj Patil Date: Fri, 30 Jan 2015 16:13:08 +0530 Subject: [PATCH 432/641] common: Set separate system property for 8929 8929 is using 8939 system property to select hw hevc decoder solution but this may lead to other CTS issues as 8929 have different specification. Use separate system property for 8929. Change-Id: I8687279c7fa2957ddf16dfeeba4f0c859c3bf01b --- init/init_msm8916.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/init/init_msm8916.c b/init/init_msm8916.c index 59072805a..4700b2721 100644 --- a/init/init_msm8916.c +++ b/init/init_msm8916.c @@ -71,11 +71,14 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar } else property_set(PROP_LCDDENSITY, "320"); - if ((msm_id >= 239 && msm_id <= 243) || - (msm_id >= 268 && msm_id <= 271)) { + if (msm_id >= 239 && msm_id <= 243) { property_set("media.msm8939hw", "1"); } + if (msm_id >= 268 && msm_id <= 271) { + property_set("media.msm8929hw", "1"); + } + if (msm_id == 206) { property_set("vidc.enc.narrow.searchrange", "0"); } From 44e2614179fcbc6386626cc370f18823f7b3ef85 Mon Sep 17 00:00:00 2001 From: Ravi Paluri Date: Wed, 4 Feb 2015 14:15:57 +0530 Subject: [PATCH 433/641] "IMS start from bootup" CRs-Fixed: 766242 Change-Id: I1c686cd91ba9d6a9a23a3ad13c02ca1a13bd75b7 --- base.mk | 1 + rootdir/Android.mk | 7 +++++ rootdir/etc/init.qti.ims.sh | 56 +++++++++++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 rootdir/etc/init.qti.ims.sh diff --git a/base.mk b/base.mk index 79e70f2d8..50a86e836 100644 --- a/base.mk +++ b/base.mk @@ -218,6 +218,7 @@ INIT += init.qcom.mdm_links.sh INIT += init.qcom.modem_links.sh INIT += init.qcom.sensor.sh INIT += init.target.rc +INIT += init.qti.ims.sh INIT += init.qcom.bt.sh INIT += hsic.control.bt.sh INIT += init.qcom.coex.sh diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 1a976b6a9..b39a357cd 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -18,6 +18,13 @@ LOCAL_MODULE_CLASS := ETC LOCAL_SRC_FILES := etc/init.qcom.post_boot.sh include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.qti.ims.sh +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qti.ims.sh +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.bt.sh LOCAL_MODULE_TAGS := optional eng diff --git a/rootdir/etc/init.qti.ims.sh b/rootdir/etc/init.qti.ims.sh new file mode 100644 index 000000000..d7d2726de --- /dev/null +++ b/rootdir/etc/init.qti.ims.sh @@ -0,0 +1,56 @@ +#!/system/bin/sh +# Copyright (c) 2015, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# + +dir0=/data +trigger_file=$dir0/ims_diabled +ims_disabled=`getprop persist.ims.disabled` +target=`getprop ro.build.product` + +#if [ ! -e $trigger_file ]; then +# for future use in doing conditional debugging +#else +# +#fi +echo "$ims_disabled" +echo "$target" + +if [ "$ims_disabled" = "0" ]; then + echo "ims will be enabled" + setprop service.qti.ims.enabled 1 + exit +fi + +if [ "$ims_disabled" = "1" ] || [ "$target" = "msm8909_512" ]; then + echo "ims is disabled" + setprop service.qti.ims.enabled 0 +else + echo "ims is enabled" + setprop service.qti.ims.enabled 1 +fi From 5e8bcc3150018889616f91f958b2e48c4065499c Mon Sep 17 00:00:00 2001 From: linus_lee Date: Tue, 27 Jan 2015 15:30:19 -0800 Subject: [PATCH 434/641] Add config to turn on easy mode for CMFileManager Change-Id: Ic00b93d789a9ed9f7cc4d891d0c800282d7ec390 --- .../apps/CMFileManager/res/values/config.xml | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 product/overlay/packages/apps/CMFileManager/res/values/config.xml diff --git a/product/overlay/packages/apps/CMFileManager/res/values/config.xml b/product/overlay/packages/apps/CMFileManager/res/values/config.xml new file mode 100644 index 000000000..27ace1f4d --- /dev/null +++ b/product/overlay/packages/apps/CMFileManager/res/values/config.xml @@ -0,0 +1,20 @@ + + + + + true + From 838e00ce2b88c15b1ef96385c3c9b60e365f5bb7 Mon Sep 17 00:00:00 2001 From: Sreedhar Lakkaraju Date: Tue, 9 Dec 2014 16:35:35 +0530 Subject: [PATCH 435/641] common: update image rules for build updating image generation rules for nand build CRs-Fixed: 770305 Change-Id: Ifff4560566fb37416a275cfe73ce402507073004 --- generate_extra_images.mk | 51 ++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index fb7c39eae..9ff405134 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -193,8 +193,6 @@ endif ifeq ($(call is-board-platform-in-list,msm7627a msm7630_surf msm8909),true) 2K_NAND_OUT := $(PRODUCT_OUT)/2k_nand_images -4K_NAND_OUT := $(PRODUCT_OUT)/4k_nand_images -BCHECC_OUT := $(PRODUCT_OUT)/bchecc_images INSTALLED_2K_BOOTIMAGE_TARGET := $(2K_NAND_OUT)/boot.img INSTALLED_2K_SYSTEMIMAGE_TARGET := $(2K_NAND_OUT)/system.img @@ -202,6 +200,20 @@ INSTALLED_2K_USERDATAIMAGE_TARGET := $(2K_NAND_OUT)/userdata.img INSTALLED_2K_PERSISTIMAGE_TARGET := $(2K_NAND_OUT)/persist.img INSTALLED_2K_RECOVERYIMAGE_TARGET := $(2K_NAND_OUT)/recovery.img +INTERNAL_2K_BOOTIMAGE_ARGS := $(NAND_BOOTIMAGE_ARGS) +INTERNAL_2K_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_2KPAGESIZE) + +INTERNAL_2K_MKYAFFS2_FLAGS := -c $(BOARD_KERNEL_2KPAGESIZE) +INTERNAL_2K_MKYAFFS2_FLAGS += -s $(BOARD_KERNEL_2KSPARESIZE) + +INTERNAL_2K_RECOVERYIMAGE_ARGS := $(NAND_RECOVERYIMAGE_ARGS) +INTERNAL_2K_RECOVERYIMAGE_ARGS += --pagesize $(BOARD_KERNEL_2KPAGESIZE) + +ifeq ($(call is-board-platform-in-list,msm7627a msm7630_surf),true) + +4K_NAND_OUT := $(PRODUCT_OUT)/4k_nand_images +BCHECC_OUT := $(PRODUCT_OUT)/bchecc_images + INSTALLED_4K_BOOTIMAGE_TARGET := $(4K_NAND_OUT)/boot.img INSTALLED_4K_SYSTEMIMAGE_TARGET := $(4K_NAND_OUT)/system.img INSTALLED_4K_USERDATAIMAGE_TARGET := $(4K_NAND_OUT)/userdata.img @@ -214,6 +226,20 @@ INSTALLED_BCHECC_USERDATAIMAGE_TARGET := $(BCHECC_OUT)/userdata.img INSTALLED_BCHECC_PERSISTIMAGE_TARGET := $(BCHECC_OUT)/persist.img INSTALLED_BCHECC_RECOVERYIMAGE_TARGET := $(BCHECC_OUT)/recovery.img +INTERNAL_4K_BOOTIMAGE_ARGS := $(NAND_BOOTIMAGE_ARGS) +INTERNAL_4K_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE) + +INTERNAL_4K_MKYAFFS2_FLAGS := -c $(BOARD_KERNEL_PAGESIZE) +INTERNAL_4K_MKYAFFS2_FLAGS += -s $(BOARD_KERNEL_SPARESIZE) + +INTERNAL_BCHECC_MKYAFFS2_FLAGS := -c $(BOARD_KERNEL_PAGESIZE) +INTERNAL_BCHECC_MKYAFFS2_FLAGS += -s $(BOARD_KERNEL_BCHECC_SPARESIZE) + +INTERNAL_4K_RECOVERYIMAGE_ARGS := $(NAND_RECOVERYIMAGE_ARGS) +INTERNAL_4K_RECOVERYIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE) + +endif + recovery_nand_fstab := $(TARGET_DEVICE_DIR)/recovery_nand.fstab NAND_BOOTIMAGE_ARGS := \ @@ -228,27 +254,6 @@ NAND_RECOVERYIMAGE_ARGS := \ --cmdline "$(BOARD_KERNEL_CMDLINE)" \ --base $(BOARD_KERNEL_BASE) -INTERNAL_4K_BOOTIMAGE_ARGS := $(NAND_BOOTIMAGE_ARGS) -INTERNAL_4K_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE) - -INTERNAL_2K_BOOTIMAGE_ARGS := $(NAND_BOOTIMAGE_ARGS) -INTERNAL_2K_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_2KPAGESIZE) - -INTERNAL_4K_MKYAFFS2_FLAGS := -c $(BOARD_KERNEL_PAGESIZE) -INTERNAL_4K_MKYAFFS2_FLAGS += -s $(BOARD_KERNEL_SPARESIZE) - -INTERNAL_2K_MKYAFFS2_FLAGS := -c $(BOARD_KERNEL_2KPAGESIZE) -INTERNAL_2K_MKYAFFS2_FLAGS += -s $(BOARD_KERNEL_2KSPARESIZE) - -INTERNAL_BCHECC_MKYAFFS2_FLAGS := -c $(BOARD_KERNEL_PAGESIZE) -INTERNAL_BCHECC_MKYAFFS2_FLAGS += -s $(BOARD_KERNEL_BCHECC_SPARESIZE) - -INTERNAL_4K_RECOVERYIMAGE_ARGS := $(NAND_RECOVERYIMAGE_ARGS) -INTERNAL_4K_RECOVERYIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE) - -INTERNAL_2K_RECOVERYIMAGE_ARGS := $(NAND_RECOVERYIMAGE_ARGS) -INTERNAL_2K_RECOVERYIMAGE_ARGS += --pagesize $(BOARD_KERNEL_2KPAGESIZE) - # Generate boot image for NAND ifeq ($(TARGET_BOOTIMG_SIGNED),true) From a61508222b8a13b56a4d7408e5ad87556e354f48 Mon Sep 17 00:00:00 2001 From: Chun Zhang Date: Mon, 26 Jan 2015 14:42:47 -0800 Subject: [PATCH 436/641] init: qcom: enable HBTP support on 5.5-inch panel platform MSM8939 CDP has a variation with hardware subtype 2. This variation is equipped with a JDI 5.5-inch panel. The panel has no Navigation bar. So enable Navigation bar and HBTP daemon on this variation. Change-Id: I05b35617f83c76340707474f44ab4939d5c27fd3 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- rootdir/etc/init.qcom.sh | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index fe1fd90d4..f6a995fe2 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -363,7 +363,7 @@ case "$target" in case "$hw_platform" in "Surf") case "$platform_subtype_id" in - "1") + "1" | "2") start hbtp ;; esac diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 00ead7680..f16f89387 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -207,9 +207,16 @@ case "$target" in case "$soc_id" in "239") case "$hw_platform" in - "Surf" | "MTP") + "Surf") case "$platform_subtype_id" in - "1" | "3") + "1" | "2") + setprop qemu.hw.mainkeys 0 + ;; + esac + ;; + "MTP") + case "$platform_subtype_id" in + "3") setprop qemu.hw.mainkeys 0 ;; esac From 503a215f208944b0a9c717ac2c4ef1a4152ac8c5 Mon Sep 17 00:00:00 2001 From: Nitesh Gupta Date: Fri, 16 Jan 2015 17:07:26 +0530 Subject: [PATCH 437/641] init.qcom.rc: Create directory for display files in '/persist' partition Create a directory '/persist/display' to store configuration files used by display clients. Change-Id: Ie7e6f2ed6bc9c8cd8be0c76abec3d9b31e6cb2bb --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index fdd514f54..b3df97fc5 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -219,6 +219,7 @@ on post-fs-data # Create directory used by display clients mkdir /data/misc/display 0770 system graphics + mkdir /persist/display 0770 system graphics # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections # We chown/chmod /persist again so because mount is run as root + defaults From 20319596a9db6f7e588a803c706e347d7b1a4d70 Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Wed, 11 Feb 2015 12:19:06 +0530 Subject: [PATCH 438/641] post_boot.sh: Round off the interactive governor timer period The interactive governor uses jiffies based timer for sampling the load. It throws the below warning when the timer period is set to a value that is not aligned to jiffies. Fix this by rounding off the timer period. <4>[ 26.540874] timer_rate not aligned to jiffy. Rounded up to 30000 This change should not make any difference. Because the timer period is rounded off any way in the kernel. Change-Id: I6258954650776bd30459d1de157f5869a55886a1 --- rootdir/etc/init.qcom.post_boot.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index f6a995fe2..fd172c8c3 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -516,7 +516,7 @@ case "$target" in echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads @@ -553,7 +553,7 @@ case "$target" in echo "25000 1113600:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate echo 960000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy echo "1 800000:85 1113600:90 1267200:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads @@ -847,7 +847,7 @@ case "$target" in echo "25000 800000:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load - echo 25000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate + echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy echo "1 400000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads From 4b487b7d883c3db515b93590dd3c926d5dc6b64c Mon Sep 17 00:00:00 2001 From: Samir Mehta Date: Tue, 13 Jan 2015 12:15:47 +0530 Subject: [PATCH 439/641] init.qcom.rc: Create a directory Create a new drm directory in persist for IFR failures reported for ISDBTmm tests. Change-Id: I299b49856c05e56ae4910c96911a85a8cf84aa6f --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a3d7f5279..0ee2b4698 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -279,6 +279,7 @@ on post-fs-data chmod 2755 /data/misc/perfd mkdir /data/system/perfd 0770 root system chmod 2770 /data/system/perfd + mkdir /persist/drm 0770 system system # NFC local data and nfcee xml storage mkdir /data/nfc 0770 nfc nfc From d543672b7bf7ab80309185ea9a22c4319ec4ff6c Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Tue, 10 Feb 2015 17:26:39 -0800 Subject: [PATCH 440/641] Auto-start RIDL/LogKit II Support for selinux and launching RIDL/LogKit II Change-Id: I2720c7c174b5cd1fb6aece7e349990b15ddc088c --- rootdir/etc/init.qcom.post_boot.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index fd172c8c3..cb41720b6 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1090,3 +1090,6 @@ if [ ! -z "$root_tasks" ] then echo "Error: Could not move all tasks to native cgroup" fi + +# Start RIDL/LogKit II client +su -c /data/SelfHost/startRIDL.sh & From 9f8ef28f238f674d59ed708a36ac631978429ef4 Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Tue, 10 Feb 2015 17:26:39 -0800 Subject: [PATCH 441/641] Auto-start RIDL/LogKit II Support for selinux and launching RIDL/LogKit II Change-Id: I2720c7c174b5cd1fb6aece7e349990b15ddc088c --- rootdir/etc/init.qcom.post_boot.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index f6a995fe2..12f743b43 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1090,3 +1090,6 @@ if [ ! -z "$root_tasks" ] then echo "Error: Could not move all tasks to native cgroup" fi + +# Start RIDL/LogKit II client +su -c /data/SelfHost/startRIDL.sh & From d1d140b6d52486f5398ad37aaa61056b0b3e46e2 Mon Sep 17 00:00:00 2001 From: Karthik Jadala Date: Wed, 18 Feb 2015 13:41:30 +0530 Subject: [PATCH 442/641] post_boot.sh: msm8939: set mostly_idle_load to 30. setting default cpu idle load threshold as 30. Change-Id: I16ffc53fe48b2e9b662876c6d0c3aff8a29da531 --- rootdir/etc/init.qcom.post_boot.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index cb41720b6..7967d0518 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -643,6 +643,16 @@ case "$target" in # HMP scheduler (big.Little cluster related) settings echo 75 > /proc/sys/kernel/sched_upmigrate echo 60 > /proc/sys/kernel/sched_downmigrate + + # cpu idle load threshold + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load ;; esac ;; From d55ee02c721b01fa307a1403283907df58811bca Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Wed, 11 Feb 2015 12:19:06 +0530 Subject: [PATCH 443/641] post_boot.sh: Round off the interactive governor timer period. The interactive governor uses jiffies based timer for sampling the load. It throws the below warning when the timer period is set to a value that is not aligned to jiffies. Fix this by rounding off the timer period. <4>[ 26.540874] timer_rate not aligned to jiffy. Rounded up to 30000 This change should not make any difference. Because the timer period is rounded off any way in the kernel. Change-Id: I6258954650776bd30459d1de157f5869a55886a1 From a10532e553c972268c20de7a7a7df3dab99567d7 Mon Sep 17 00:00:00 2001 From: Pracheer Date: Fri, 13 Feb 2015 12:05:50 +0530 Subject: [PATCH 444/641] msm8909: Update min_freq and interactive governor param. Update min_freq to 800MHz. Accordingly update the interactive governor parameter. hispeed_freq is made 998MHz. Above_hispeed_delay frequency is made 1.1GHz. Change-Id: Ib9ce8bdf14f63de9b234cb849fc0a06bc0fd420a CRs-Fixed: 796164 --- rootdir/etc/init.qcom.post_boot.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index cb41720b6..3c4af6d7c 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -841,16 +841,16 @@ case "$target" in echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu0/online echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 400000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq # enable thermal core_control now echo 1 > /sys/module/msm_thermal/core_control/enabled - echo "25000 800000:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate - echo 800000 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq + echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq echo 0 > /sys/devices/system/cpu/cpufreq/interactive/io_is_busy - echo "1 400000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads + echo "1 800000:85 998400:90 1094400:80" > /sys/devices/system/cpu/cpufreq/interactive/target_loads echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor From 87b160d67cd168f183e879c36da729fcea1d16f7 Mon Sep 17 00:00:00 2001 From: Samir Mehta Date: Tue, 13 Jan 2015 12:15:47 +0530 Subject: [PATCH 445/641] init.qcom.rc: Create a directory Create a new drm directory in persist for IFR failures reported for ISDBTmm tests Change-Id: I299b49856c05e56ae4910c96911a85a8cf84aa6f --- rootdir/etc/init.qcom.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 635af0e48..e73e8b42e 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -105,6 +105,8 @@ on boot mkdir /dev/socket/qmux_gps 0770 gps gps chmod 2770 /dev/socket/qmux_gps + mkdir /persist/drm 0770 system system + setprop wifi.interface wlan0 # Define TCP buffer sizes for various networks From 298ea35a87663968b11d261de95226404e3684a2 Mon Sep 17 00:00:00 2001 From: Ravinder Konka Date: Thu, 13 Nov 2014 20:04:29 +0530 Subject: [PATCH 446/641] qcom: Enabling default route addition during RA in IPv6 Removing the code which sets accept_ra_defrtr to 0 for all interfaces Change-Id: I280a317f21190420a10bb2abfc479749d75ec15b --- rootdir/etc/init.qcom.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index f16f89387..e1460d534 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -101,14 +101,6 @@ start_msm_irqbalance() } baseband=`getprop ro.baseband` -# -# Suppress default route installation during RA for IPV6; user space will take -# care of this -# exception default ifc -for file in /proc/sys/net/ipv6/conf/* -do - echo 0 > $file/accept_ra_defrtr -done echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr case "$baseband" in From 8bb91e7f4156ce0943b235ea59f21c3fa2ef7377 Mon Sep 17 00:00:00 2001 From: Ravinder Konka Date: Thu, 13 Nov 2014 20:04:29 +0530 Subject: [PATCH 447/641] qcom: Enabling default route addition during RA in IPv6 Removing the code which sets accept_ra_defrtr to 0 for all interfaces Change-Id: I280a317f21190420a10bb2abfc479749d75ec15b --- rootdir/etc/init.qcom.sh | 8 -------- 1 file changed, 8 deletions(-) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index f16f89387..e1460d534 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -101,14 +101,6 @@ start_msm_irqbalance() } baseband=`getprop ro.baseband` -# -# Suppress default route installation during RA for IPV6; user space will take -# care of this -# exception default ifc -for file in /proc/sys/net/ipv6/conf/* -do - echo 0 > $file/accept_ra_defrtr -done echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr case "$baseband" in From 422b95d559574d2f400830056be7b76f0acbdee6 Mon Sep 17 00:00:00 2001 From: Sujeet Kumar Date: Tue, 17 Feb 2015 15:46:14 +0530 Subject: [PATCH 448/641] USB: Add RPS CPU mask for rndis interface for 8909 Add the RPS CPU mask as 02 on 8909 target. Target identification is done using soc ids for 8909 target. Change-Id: I64a51cd94347929a0f651f71b21fc03d3c3c02e1 --- rootdir/etc/init.qcom.usb.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 5c9ec7c9d..7f0faa9c1 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -240,10 +240,13 @@ else soc_id=`cat /sys/devices/system/soc/soc0/id` fi -# enable rps cpus on msm8939 target +# enable rps cpus on msm8939/msm8909 target setprop sys.usb.rps_mask 0 case "$soc_id" in "239" | "241" | "263") setprop sys.usb.rps_mask 10 ;; + "245" | "260" | "261" | "262") + setprop sys.usb.rps_mask 2 + ;; esac From e2dfca8a24b7a92701e969b255b46d3be1aebd47 Mon Sep 17 00:00:00 2001 From: padarshr Date: Fri, 6 Feb 2015 11:48:42 +0530 Subject: [PATCH 449/641] Change tftp_server class from core to main Because of an open file on /data by this module, encryption was failing as /data unmounting failed, so changing this to main class to make encryption successful. Change-Id: I52a1f0f8abb51234f54be0ddbcc4016df52c466e --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index e73e8b42e..453b0cb63 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -414,7 +414,7 @@ service rfs_access /system/bin/rfs_access group system net_raw service tftp_server /system/bin/tftp_server - class core + class main user root on property:wc_transport.start_hci=true From bd766d9bd2eeb629d519035ced36b297bce0c779 Mon Sep 17 00:00:00 2001 From: padarshr Date: Thu, 8 Jan 2015 16:18:44 +0530 Subject: [PATCH 450/641] Change qcom-usb-sh from core class to main class On an encrypted device, qcom-usb-sh sets persist property on early boot when /data is at tmpfs.So this persist property write is lost when /data will be at dm-0 afterwards during encryption process.So, changing to main class ensures to properly set persistproperty after /data is at dm-0 as main class will be started after encryption setup. CRs-Fixed: 778812 Change-Id: I3d8398d51ef1eab66f76ab99492ea2b4507d3853 --- rootdir/etc/init.qcom.usb.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index a65277729..eb45b644b 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -39,7 +39,7 @@ on fs write /sys/class/android_usb/android0/f_ffs/aliases adb service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh - class core + class main user root oneshot From 55d0ae0aa5bd7aed62784eeccce6e4f1b308e05b Mon Sep 17 00:00:00 2001 From: padarshr Date: Thu, 8 Jan 2015 16:18:44 +0530 Subject: [PATCH 451/641] Change qcom-usb-sh from core class to main class On an encrypted device, qcom-usb-sh sets persist property on early boot when /data is at tmpfs.So this persist property write is lost when /data will be at dm-0 afterwards during encryption process.So, changing to main class ensures to properly set persistproperty after /data is at dm-0 as main class will be started after encryption setup. CRs-Fixed: 778812 Change-Id: I3d8398d51ef1eab66f76ab99492ea2b4507d3853 --- rootdir/etc/init.qcom.usb.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index a65277729..eb45b644b 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -39,7 +39,7 @@ on fs write /sys/class/android_usb/android0/f_ffs/aliases adb service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh - class core + class main user root oneshot From c81d14a51d0c73022f7577bd58df1ee44d92d8b9 Mon Sep 17 00:00:00 2001 From: vaibhav bhalla Date: Mon, 23 Feb 2015 11:57:38 +0530 Subject: [PATCH 452/641] power: override encode hint for 8909 Default encode hint was setting hispeed_freq to 1.1GHZ This is not needed for 8909 hence overrode that. Change-Id: I4c3695dbe82d43ebb34732559043b59815f7d49d --- power/Android.mk | 4 +++ power/power-8909.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) create mode 100755 power/power-8909.c diff --git a/power/Android.mk b/power/Android.mk index fd172f190..59d99a774 100644 --- a/power/Android.mk +++ b/power/Android.mk @@ -27,6 +27,10 @@ ifeq ($(call is-board-platform-in-list, apq8084), true) LOCAL_SRC_FILES += power-8084.c endif +ifeq ($(call is-board-platform-in-list, msm8909), true) +LOCAL_SRC_FILES += power-8909.c +endif + ifeq ($(TARGET_USES_INTERACTION_BOOST),true) LOCAL_CFLAGS += -DINTERACTION_BOOST endif diff --git a/power/power-8909.c b/power/power-8909.c new file mode 100755 index 000000000..69d4cde0a --- /dev/null +++ b/power/power-8909.c @@ -0,0 +1,64 @@ +/* + * Copyright (c) 2015, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +#define LOG_NIDEBUG 0 + +#include +#include +#include +#include +#include +#include +#include + +#define LOG_TAG "QTI PowerHAL" +#include +#include +#include + +#include "utils.h" +#include "metadata-defs.h" +#include "hint-data.h" +#include "performance.h" +#include "power-common.h" + + +int power_hint_override(struct power_module *module, power_hint_t hint, void *data) +{ + switch(hint) { + case POWER_HINT_VIDEO_ENCODE: + { + return HINT_HANDLED; + } + default: + { + break; + } + } + return HINT_NONE; +} From 81b4c0180456f944e41384c2ed8429612c4a0d72 Mon Sep 17 00:00:00 2001 From: Varun Garg Date: Fri, 20 Feb 2015 10:30:10 +0530 Subject: [PATCH 453/641] msm8909: Update interactive governor parameters Update above_highspeed_delay to 30000 and sched_mostly_idle_nr_run to 5. Change-Id: I361a32dc711fbc73141e30681a60c10003b119e7 CRs-Fixed: 797955 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index e5bf9f9e3..103ba10c0 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -845,7 +845,7 @@ case "$target" in # HMP Task packing settings for 8909 similiar to 8916 echo 30 > /proc/sys/kernel/sched_small_task echo 50 > /proc/sys/kernel/sched_mostly_idle_load - echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + echo 5 > /proc/sys/kernel/sched_mostly_idle_nr_run # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled @@ -855,7 +855,7 @@ case "$target" in # enable thermal core_control now echo 1 > /sys/module/msm_thermal/core_control/enabled - echo "25000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay + echo "30000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load echo 30000 > /sys/devices/system/cpu/cpufreq/interactive/timer_rate echo 998400 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq From 3dd1cd5c1a04ef76b377f1796c15bb731c641610 Mon Sep 17 00:00:00 2001 From: Sujeet Kumar Date: Wed, 25 Feb 2015 18:33:56 +0530 Subject: [PATCH 454/641] USB: Add framework to change USB current draw limit Sometimes it may require to increase the max drawn current if battery is draining faster than charging. If this android property is set, set the max current limit to specified value. Change-Id: Ia58f0aa53596be0f8dd1c0d3f0ca36640f27fa7f --- rootdir/etc/init.qcom.usb.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 7f0faa9c1..99a6d8072 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -27,6 +27,10 @@ # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # +vbus_draw=`getprop persist.sys.usb.vbus.draw` +if [ "$vbus_draw" != "" ]; then + echo "${vbus_draw}" > /sys/module/ci13xxx_msm/parameters/vbus_draw_mA +fi chown -h root.system /sys/devices/platform/msm_hsusb/gadget/wakeup chmod -h 220 /sys/devices/platform/msm_hsusb/gadget/wakeup From c9f9621c4f2e958d9fe338fdac2a7016812f9e19 Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Thu, 26 Feb 2015 11:41:36 -0800 Subject: [PATCH 455/641] Auto-start RIDL/LogKit II Update for Transparent RIDL Change-Id: Ib592d80d0e2a2cdb5b69c7703d20fd1f511a1629 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 7967d0518..1d26847a6 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1102,4 +1102,4 @@ then fi # Start RIDL/LogKit II client -su -c /data/SelfHost/startRIDL.sh & +su -c /system/vendor/bin/startRIDL.sh From 2af482267d4e3004054d51e9c80aa85fed2f14a6 Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Thu, 26 Feb 2015 11:41:36 -0800 Subject: [PATCH 456/641] Auto-start RIDL/LogKit II Update for Transparent RIDL Change-Id: Ib592d80d0e2a2cdb5b69c7703d20fd1f511a1629 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 103ba10c0..5633346fe 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1102,4 +1102,4 @@ then fi # Start RIDL/LogKit II client -su -c /data/SelfHost/startRIDL.sh & +su -c /system/vendor/bin/startRIDL.sh From 438fa1484f6e383837e943b58616f8f8c7fec8f3 Mon Sep 17 00:00:00 2001 From: Zhibin Wang Date: Fri, 13 Feb 2015 16:39:22 +0800 Subject: [PATCH 457/641] Add overlay for Launcher2 default workspace. Remove Settings widget and DeskClock widget from home screen to save memory. Change-Id: Ic8da56563a27aacb1920286d5159fe16c70be212 --- .../Launcher2/res/xml/default_workspace.xml | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 device/overlay/packages/apps/Launcher2/res/xml/default_workspace.xml diff --git a/device/overlay/packages/apps/Launcher2/res/xml/default_workspace.xml b/device/overlay/packages/apps/Launcher2/res/xml/default_workspace.xml new file mode 100644 index 000000000..890d9a08b --- /dev/null +++ b/device/overlay/packages/apps/Launcher2/res/xml/default_workspace.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + From effed98984f8c095a611ce84ada7c835528135fe Mon Sep 17 00:00:00 2001 From: muluhe Date: Mon, 2 Mar 2015 16:29:32 +0800 Subject: [PATCH 458/641] common: Enable debuggerd in FFBM Start debuggerd in FFBM. Change-Id: I8da7ac192974683f03fa2fca0adc08f42b7592b2 --- rootdir/etc/init.qcom.factory.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.factory.rc b/rootdir/etc/init.qcom.factory.rc index 6a123ca22..a49183c31 100644 --- a/rootdir/etc/init.qcom.factory.rc +++ b/rootdir/etc/init.qcom.factory.rc @@ -260,6 +260,8 @@ on mmi #Start the following services needed for fftm start qcom-usb-sh start logd + start debuggerd + start debuggerd64 start config_bluetooth start media start fastmmi From 6025b45b61d90492e478f4631230d5751675508d Mon Sep 17 00:00:00 2001 From: muluhe Date: Mon, 2 Mar 2015 16:29:32 +0800 Subject: [PATCH 459/641] common: Enable debuggerd in FFBM Start debuggerd in FFBM. Change-Id: I8da7ac192974683f03fa2fca0adc08f42b7592b2 --- rootdir/etc/init.qcom.factory.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.factory.rc b/rootdir/etc/init.qcom.factory.rc index 6a123ca22..a49183c31 100644 --- a/rootdir/etc/init.qcom.factory.rc +++ b/rootdir/etc/init.qcom.factory.rc @@ -260,6 +260,8 @@ on mmi #Start the following services needed for fftm start qcom-usb-sh start logd + start debuggerd + start debuggerd64 start config_bluetooth start media start fastmmi From 0b5161f6cc27780f2fce8e72829f647781cd1670 Mon Sep 17 00:00:00 2001 From: Sridhar Dubbaka Date: Fri, 6 Mar 2015 15:28:14 +0530 Subject: [PATCH 460/641] Support Cell Broadcast for India. Add config options for supporting channel 50 and 60 cell broadcasts for India. Change-Id: I2efcc2ba085243fae3a12b487207d00f4dc5fba1 CRs-Fixed: 576013 --- .../packages/apps/CellBroadcastReceiver/res/values/config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml diff --git a/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml b/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml old mode 100644 new mode 100755 index ef70652f3..34d2221e1 --- a/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml +++ b/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml @@ -25,5 +25,5 @@ true - + true From a1e7150f0111d5b89d755c7bd639dec98ab58d75 Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Wed, 4 Mar 2015 13:49:47 -0800 Subject: [PATCH 461/641] Send startRIDL.sh command to background Prevent init script from hanging, send to background instead Change-Id: Ibec842004864bed7e72564a9788888cc29b324d8 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 5633346fe..68171b5f1 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1102,4 +1102,4 @@ then fi # Start RIDL/LogKit II client -su -c /system/vendor/bin/startRIDL.sh +su -c /system/vendor/bin/startRIDL.sh & From 2c190ab4c9eb0f2e496a1f9a9430e19440a64bd9 Mon Sep 17 00:00:00 2001 From: Suresh Koleti Date: Thu, 5 Mar 2015 20:19:48 +0530 Subject: [PATCH 462/641] IMS: Add overlay config flags for VoLTE and VT configurations In lmr1 config flags for VoLTE and VT are separated Adding overlay config flags to enable VoLTE and VT configurations. Change-Id: I567b442cc0fc7d6ae9d6115539edd18c3981008f --- .../base/core/res/res/values/config.xml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 3641bcc45..381639223 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -203,14 +203,21 @@ true - - true + + true - - true + true + + true + + + true "lte:2097152,4194304,8388608,262144,524288,1048576" From 4edc0ff1211cd98bbec1151158f038d2c24cc1c7 Mon Sep 17 00:00:00 2001 From: Lalit Kansara Date: Sat, 28 Feb 2015 17:13:48 +0530 Subject: [PATCH 463/641] Initial support for msm8909_LMT product CRs-Fixed: 799954 Change-Id: If370d54f7f6b976b5b33ad824cd11e7439aeeed1 --- vendorsetup.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/vendorsetup.sh b/vendorsetup.sh index 31e42cf00..4491079a5 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -41,3 +41,4 @@ add_lunch_combo msm8994-userdebug add_lunch_combo thulium-userdebug add_lunch_combo msm8909-userdebug add_lunch_combo msm8909_512-userdebug +add_lunch_combo msm8909_LMT-userdebug From 50efdd61ac81b6d03d90f4bfa6c1fbcbd66e9195 Mon Sep 17 00:00:00 2001 From: Hanumath Prasad Date: Tue, 10 Mar 2015 16:20:35 +0530 Subject: [PATCH 464/641] msm8909: Enable core-ctrl module Enable core control module and update the tunables for the module by seting up/down thresholds and min_cpu's that need to be kept online. Change-Id: I758fa0853348a0d6183b08a63b2b50676b965b14 --- rootdir/etc/init.qcom.post_boot.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 68171b5f1..ebc0baa0b 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -870,6 +870,14 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu3/online echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + # Enable core control + insmod /system/lib/modules/core_ctl.ko + echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus + echo 72 72 60 50 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres + echo 30 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres + echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms + + # Apply governor settings for 8909 for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do From b1f4785094eee708eddd41f0339cbdb896780fa3 Mon Sep 17 00:00:00 2001 From: Maunik Shah Date: Fri, 13 Mar 2015 14:39:03 +0530 Subject: [PATCH 465/641] Add persistent data block in ueventd Set "system" as owner of persistent data block Change-Id: I6751660dfae5d19782922ae597d7366345a6e084 --- rootdir/etc/ueventd.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 9a82287c5..b7cd5ead6 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -234,3 +234,6 @@ /dev/hbtp_input 0660 system system /dev/hbtp_vm 0660 system system /dev/jdi-bu21150 0660 system system + +# Add device block for FRP +/dev/block/bootdevice/by-name/config 0660 system system From 4ceb8fea367566d3f45a569e73a0d679ae5eb69d Mon Sep 17 00:00:00 2001 From: Daqing Chen Date: Tue, 3 Feb 2015 17:03:16 +0800 Subject: [PATCH 466/641] init: qcom: add sensors directory to store sensor profiles. Add sensors directory in persist to store sensor factory calibration profiles and change permission for sensors and calibration profiles. So it can be ensure that sensors can have permission to get calibration profiles data. Change-Id: Ie8881db45056b0e72bcd35c030d5e524661a1e35 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 635af0e48..fd24320e7 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -285,6 +285,9 @@ on post-fs-data mkdir /data/nfc 0770 nfc nfc mkdir /data/nfc/param 0770 nfc nfc + # Sensor + mkdir /persist/sensors 0770 system system + service qcomsysd /system/bin/qcom-system-daemon class main user root From 1b6fe7e6ee44acda4d1ba977009c853f63643a6b Mon Sep 17 00:00:00 2001 From: Daqing Chen Date: Tue, 3 Feb 2015 17:03:16 +0800 Subject: [PATCH 467/641] init: qcom: add sensors directory to store sensor profiles. Add sensors directory in persist to store sensor factory calibration profiles and change permission for sensors and calibration profiles. So it can be ensure that sensors can have permission to get calibration profiles data. Change-Id: Ie8881db45056b0e72bcd35c030d5e524661a1e35 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index fdd514f54..1dc5ce029 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -284,6 +284,9 @@ on post-fs-data mkdir /data/nfc 0770 nfc nfc mkdir /data/nfc/param 0770 nfc nfc + # Sensor + mkdir /persist/sensors 0770 system system + service qcomsysd /system/bin/qcom-system-daemon class main user root From 86a16b732d8ea45ad92775ed612040fe6b4a9f6a Mon Sep 17 00:00:00 2001 From: Lalit Kansara Date: Thu, 19 Mar 2015 10:56:49 +0530 Subject: [PATCH 468/641] Initial support for msm8916_32_LMT and msm8916_64_LMT products CRs-Fixed: 799954 Change-Id: I3dafd86ca6f1a85e09429143450926977bd2c28a --- vendorsetup.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/vendorsetup.sh b/vendorsetup.sh index 4491079a5..f75613b9b 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -34,9 +34,11 @@ add_lunch_combo apq8084-userdebug add_lunch_combo mpq8092-userdebug add_lunch_combo msm_bronze-userdebug add_lunch_combo msm8916_32-userdebug +add_lunch_combo msm8916_32_LMT-userdebug add_lunch_combo msm8916_32_512-userdebug add_lunch_combo msm8916_32_k64-userdebug add_lunch_combo msm8916_64-userdebug +add_lunch_combo msm8916_64_LMT-userdebug add_lunch_combo msm8994-userdebug add_lunch_combo thulium-userdebug add_lunch_combo msm8909-userdebug From f86b2d527b9904101ed3d365793151e2c37fce57 Mon Sep 17 00:00:00 2001 From: Maunik Shah Date: Fri, 20 Mar 2015 16:04:15 +0530 Subject: [PATCH 469/641] FRP: Define overlay of Google play service To enable Factory Reset Protection, we need to define Google play service package. Change-Id: I6eaf9b914cfe66018eade9185e0f0880e1861230 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 381639223..11c4c0db0 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -236,5 +236,6 @@ 4 true - + + com.google.android.gms From bc440f634b1eaa04995994d081fbfe6a04bf7234 Mon Sep 17 00:00:00 2001 From: Nidhi Mundra Date: Mon, 9 Mar 2015 14:49:28 +0530 Subject: [PATCH 470/641] post_boot:msm8916: Update Scehduler Settings Updated Task Packing parameters Change-Id: Ifa7e9818995169c57eb6d740c3292cb1fd5ef866 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index ebc0baa0b..1846d768f 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -503,8 +503,8 @@ case "$target" in # HMP Task packing settings for 8916 echo 50 > /proc/sys/kernel/sched_small_task - echo 50 > /proc/sys/kernel/sched_mostly_idle_load - echo 10 > /proc/sys/kernel/sched_mostly_idle_nr_run + echo 30 > /proc/sys/kernel/sched_mostly_idle_load + echo 5 > /proc/sys/kernel/sched_mostly_idle_nr_run # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled From d87aacba8940442dcd801672209c9cbc08bb2b4c Mon Sep 17 00:00:00 2001 From: Ranjith Narahari Date: Thu, 19 Mar 2015 20:31:57 +0530 Subject: [PATCH 471/641] common: Enable adaptive lmk and set vmfilepressure_min This enables adaptive lmk and sets the vmfilepressure_min via post_boot Change-Id: I1e5bc5d696c74639312be94d7fe6cb334a018967 --- rootdir/etc/init.qcom.post_boot.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 1846d768f..5b973e3ed 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -490,6 +490,16 @@ case "$target" in soc_id=`cat /sys/devices/system/soc/soc0/id` fi + #Enable adaptive LMK and set vmpressure_file_min + ProductName=`getprop ro.product.name` + if [ "$ProductName" == "msm8916_32" ] || [ "$ProductName" == "msm8916_32_LMT" ]; then + echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk + echo 69253 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + elif [ "$ProductName" == "msm8916_64" ] || [ "$ProductName" == "msm8916_64_LMT" ]; then + echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk + echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + fi + # HMP scheduler settings for 8916, 8936, 8939, 8929 echo 3 > /proc/sys/kernel/sched_window_stats_policy echo 3 > /proc/sys/kernel/sched_ravg_hist_size @@ -838,6 +848,10 @@ case "$target" in soc_id=`cat /sys/devices/system/soc/soc0/id` fi + #Enable adaptive LMK and set vmpressure_file_min + echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk + echo 69253 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + # HMP scheduler settings for 8909 similiar to 8916 echo 3 > /proc/sys/kernel/sched_window_stats_policy echo 3 > /proc/sys/kernel/sched_ravg_hist_size From fadbb4f0a6cb850253d0f08361d233a212eedcbb Mon Sep 17 00:00:00 2001 From: Manu Prasad Date: Thu, 27 Nov 2014 20:35:45 +0530 Subject: [PATCH 472/641] WFD: Define new native WFD service to be spawned from init Start the native Wifi Display service when a client requests to bind with it CRs-Fixed: 781774 Change-Id: Ibbacd5d19587b849b4af8c94204595be6833a552 --- rootdir/etc/init.qcom.rc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 51d819580..b7ac141e2 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -921,3 +921,16 @@ service msm_irqbalance /system/bin/msm_irqbalance -f /system/vendor/etc/msm_irqb user root group root disabled + +service wfdservice /system/bin/wfdservice + class main + user system + group graphics audio camera inet net_bt net_bt_admin net_bt_stack drmrpc bluetooth media_rw media + disabled + oneshot + +on property:sys.wfdservice=enable + start wfdservice + +on property:sys.wfdservice=disable + stop wfdservice From 7e11fc803629c439a08b1d7fde6f1091a7f02e6d Mon Sep 17 00:00:00 2001 From: Sreedhar Lakkaraju Date: Tue, 10 Feb 2015 23:44:12 +0530 Subject: [PATCH 473/641] common: update nand image args updating rules to include nand image args CRs-Fixed: 813852 Change-Id: I5da0ee9135ccf90700a22d0f161fb92a4adb3c96 --- generate_extra_images.mk | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 9ff405134..6217a3065 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -200,6 +200,21 @@ INSTALLED_2K_USERDATAIMAGE_TARGET := $(2K_NAND_OUT)/userdata.img INSTALLED_2K_PERSISTIMAGE_TARGET := $(2K_NAND_OUT)/persist.img INSTALLED_2K_RECOVERYIMAGE_TARGET := $(2K_NAND_OUT)/recovery.img +recovery_nand_fstab := $(TARGET_DEVICE_DIR)/recovery_nand.fstab + +NAND_BOOTIMAGE_ARGS := \ + --kernel $(INSTALLED_KERNEL_TARGET) \ + --ramdisk $(INSTALLED_RAMDISK_TARGET) \ + --cmdline "$(BOARD_KERNEL_CMDLINE)" \ + --base $(BOARD_KERNEL_BASE) + +NAND_RECOVERYIMAGE_ARGS := \ + --kernel $(INSTALLED_KERNEL_TARGET) \ + --ramdisk $(recovery_ramdisk) \ + --cmdline "$(BOARD_KERNEL_CMDLINE)" \ + --base $(BOARD_KERNEL_BASE) + + INTERNAL_2K_BOOTIMAGE_ARGS := $(NAND_BOOTIMAGE_ARGS) INTERNAL_2K_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_2KPAGESIZE) @@ -240,19 +255,6 @@ INTERNAL_4K_RECOVERYIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE) endif -recovery_nand_fstab := $(TARGET_DEVICE_DIR)/recovery_nand.fstab - -NAND_BOOTIMAGE_ARGS := \ - --kernel $(INSTALLED_KERNEL_TARGET) \ - --ramdisk $(INSTALLED_RAMDISK_TARGET) \ - --cmdline "$(BOARD_KERNEL_CMDLINE)" \ - --base $(BOARD_KERNEL_BASE) - -NAND_RECOVERYIMAGE_ARGS := \ - --kernel $(INSTALLED_KERNEL_TARGET) \ - --ramdisk $(recovery_ramdisk) \ - --cmdline "$(BOARD_KERNEL_CMDLINE)" \ - --base $(BOARD_KERNEL_BASE) # Generate boot image for NAND ifeq ($(TARGET_BOOTIMG_SIGNED),true) From 946704da0826758941aeae8dd9b1b434a20fee6c Mon Sep 17 00:00:00 2001 From: Varun Garg Date: Tue, 24 Mar 2015 15:06:22 +0530 Subject: [PATCH 474/641] msm8916: Update packing parameter and their path Update new path for mostly_idle_load and mostly_idle_nr_run. Also update small_task to 30, mostly_idle_load to 50 and mostly_idle_nr_run to 3. Change-Id: I0283a45b3f515f1f1b084b8772c2bf30c6714d38 --- rootdir/etc/init.qcom.post_boot.sh | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 5b973e3ed..4d3c5b1d1 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -512,9 +512,15 @@ case "$target" in echo 3 > /proc/sys/kernel/sched_ravg_hist_size # HMP Task packing settings for 8916 - echo 50 > /proc/sys/kernel/sched_small_task - echo 30 > /proc/sys/kernel/sched_mostly_idle_load - echo 5 > /proc/sys/kernel/sched_mostly_idle_nr_run + echo 30 > /proc/sys/kernel/sched_small_task + echo 50 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 50 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 50 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 50 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled From 69d15dcdec417dd793a8fe1a059e1c1fc07d2aaa Mon Sep 17 00:00:00 2001 From: vaibhav bhalla Date: Wed, 25 Mar 2015 22:20:28 +0530 Subject: [PATCH 475/641] common: Change the Hi-Speed freq to 800Mhz for camcorder case Changes to set Hi-Speed freq for 8909 target as below: -Camcorder ON : set to 800Mhz -Camcorder OFF : set to 998.4Mhz. Change-Id: I8e4ca512c137a137fabe7762695e336a3ed37fdd --- power/performance.h | 1 + power/power-8909.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/power/performance.h b/power/performance.h index 1ad9b2ac8..0f4aecf54 100755 --- a/power/performance.h +++ b/power/performance.h @@ -138,6 +138,7 @@ enum INTERACTIVE_TIMER_RATE_LVL { enum INTERACTIVE_HISPEED_FREQ_LVL { HS_FREQ_1026 = 0xF0A, + HS_FREQ_800 = 0xF08, }; enum INTERACTIVE_HISPEED_LOAD_LVL { diff --git a/power/power-8909.c b/power/power-8909.c index 69d4cde0a..8de654363 100755 --- a/power/power-8909.c +++ b/power/power-8909.c @@ -48,12 +48,55 @@ #include "power-common.h" +static void process_video_encode_hint(void *metadata) +{ + char governor[80]; + struct video_encode_metadata_t video_encode_metadata; + char tmp_str[NODE_MAX]; + + if (get_scaling_governor(governor, sizeof(governor)) == -1) { + ALOGE("Can't obtain scaling governor."); + + return; + } + + /* Initialize encode metadata struct fields. */ + memset(&video_encode_metadata, 0, sizeof(struct video_encode_metadata_t)); + video_encode_metadata.state = -1; + video_encode_metadata.hint_id = DEFAULT_VIDEO_ENCODE_HINT_ID; + + if (metadata) { + if (parse_video_encode_metadata((char *)metadata, &video_encode_metadata) == + -1) { + ALOGE("Error occurred while parsing metadata."); + return; + } + } else { + return; + } + + if (video_encode_metadata.state == 1) { + if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && + (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { + int resource_values[] = {HS_FREQ_800, THREAD_MIGRATION_SYNC_OFF}; + perform_hint_action(video_encode_metadata.hint_id, + resource_values, sizeof(resource_values)/sizeof(resource_values[0])); + } + } else if (video_encode_metadata.state == 0) { + if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && + (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { + undo_hint_action(video_encode_metadata.hint_id); + } + } +} + int power_hint_override(struct power_module *module, power_hint_t hint, void *data) { switch(hint) { case POWER_HINT_VIDEO_ENCODE: { - return HINT_HANDLED; + process_video_encode_hint(data); + return HINT_HANDLED; } default: { From 177e78b49e0ca5942c26a8b38aee7e4281801f74 Mon Sep 17 00:00:00 2001 From: Nikhilesh Reddy Date: Mon, 6 Apr 2015 13:13:11 -0700 Subject: [PATCH 476/641] Revert "Change tftp_server class from core to main" This reverts commit 21c1add7cd92d9951b59a8b9fa5ce75a814e591f. TFTP data is now moved inside the /persist partition and should no longer impact the FDE. Change-Id: Ib430e53c3201fc9749c51d40ce9b093c5e16a000 --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index b7ac141e2..1ca5bb6c8 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -418,7 +418,7 @@ service rfs_access /system/bin/rfs_access group system net_raw service tftp_server /system/bin/tftp_server - class main + class core user root on property:wc_transport.start_hci=true From 81c6901891d3dd09f39456b7b85afc6226eae46c Mon Sep 17 00:00:00 2001 From: Anh Nguyen Date: Wed, 11 Mar 2015 16:54:47 -0700 Subject: [PATCH 477/641] Add a service for RIDL Add a service for RIDL rather than piggy-backing on init.qcom.post_boot.sh Change-Id: I57a03a1501f8f2e6de3f17b23514c09dd6b9e20c --- rootdir/etc/init.qcom.post_boot.sh | 3 --- rootdir/etc/init.qcom.rc | 10 ++++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 4d3c5b1d1..def1acbea 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1128,6 +1128,3 @@ if [ ! -z "$root_tasks" ] then echo "Error: Could not move all tasks to native cgroup" fi - -# Start RIDL/LogKit II client -su -c /system/vendor/bin/startRIDL.sh & diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 1ca5bb6c8..4f6681ae4 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -934,3 +934,13 @@ on property:sys.wfdservice=enable on property:sys.wfdservice=disable stop wfdservice + +service qcom-RIDL /system/bin/sh /system/vendor/bin/startRIDL.sh + class late_start + user root + group root + oneshot + disabled + +on property:dev.bootcomplete=1 + start qcom-RIDL From a91a28988aa43eb729dc32c87080aa933936a535 Mon Sep 17 00:00:00 2001 From: Kishore Srivenkata Ganesh Bolisetty Date: Wed, 8 Apr 2015 12:54:54 +0530 Subject: [PATCH 478/641] Enable KSM on devices with memory less than 1GB for L&M Change-Id: Ie358c981275a53a4c104a5c834bc99425f4ea5dd CRs-Fixed: 798944 --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index 50a86e836..ad6adf04e 100644 --- a/base.mk +++ b/base.mk @@ -250,6 +250,7 @@ INIT += init.qcom.uicc.sh INIT += fstab.qcom INIT += init.qcom.debug.sh INIT += init.qcom.zram.sh +INIT += init.qti.memcheck.sh INIT += init.qti.synaptics_dsx_qhd.sh INIT += init.qcom.bms.sh From 746541fe2fcbf879b98fce4f9b7e06c588cf7c3f Mon Sep 17 00:00:00 2001 From: Varun Garg Date: Thu, 9 Apr 2015 15:06:33 +0530 Subject: [PATCH 479/641] msm8909: Update packing parameter Update mostly_idle_nr_run to 3. Change-Id: I575ca85644dfd7d9f5d646373d30b63d0224c775 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index def1acbea..5e934bad5 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -865,7 +865,7 @@ case "$target" in # HMP Task packing settings for 8909 similiar to 8916 echo 30 > /proc/sys/kernel/sched_small_task echo 50 > /proc/sys/kernel/sched_mostly_idle_load - echo 5 > /proc/sys/kernel/sched_mostly_idle_nr_run + echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled From a65100b97ebf3bcca83b924c5731fc02ba560769 Mon Sep 17 00:00:00 2001 From: Preeti Ahuja Date: Tue, 31 Mar 2015 17:07:20 -0700 Subject: [PATCH 480/641] Enable Embms time sync feature by default. The Embms time sync feature is controlled by persist.radio.sib16_support property. Change the default value of this property to 1 and therefore enable the time sync feature by default. Change-Id: I06a4fe04f74be21162e5eab992ce178a0fcb7a35 CRs-Fixed: 799348 --- common.mk | 3 ++- common64.mk | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common.mk b/common.mk index d9ca21abf..c0513f98c 100644 --- a/common.mk +++ b/common.mk @@ -15,7 +15,8 @@ endif PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=libqti-perfd-client.so \ - persist.radio.apm_sim_not_pwdn=1 + persist.radio.apm_sim_not_pwdn=1 \ + persist.radio.sib16_support=1 PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key diff --git a/common64.mk b/common64.mk index c118e3dee..a0082eaa4 100644 --- a/common64.mk +++ b/common64.mk @@ -15,7 +15,8 @@ endif PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=libqti-perfd-client.so \ - persist.radio.apm_sim_not_pwdn=1 + persist.radio.apm_sim_not_pwdn=1 \ + persist.radio.sib16_support=1 PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key From 51fcdcc895fdf8b64457bdbd067e2f66f54bc991 Mon Sep 17 00:00:00 2001 From: Srinivas Rao L Date: Tue, 24 Mar 2015 17:00:12 +0530 Subject: [PATCH 481/641] init: qcom: post_boot: disable l2-gdhs lpm for 8939-V3.0 Disable l2-gdhs mode for 8939-V3.0 Change-Id: I26de005d3fac2f56f305ce97679a20a25463211d --- rootdir/etc/init.qcom.post_boot.sh | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 5e934bad5..a8eb1f944 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -349,10 +349,21 @@ case "$target" in echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online ;; - "239" | "241" | "263" | "268" | "269" | "270" | "271") - echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled - echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus - if [ -f /sys/devices/soc0/platform_subtype_id ]; then + "239" | "241" | "263") + if [ -f /sys/devices/soc0/revision ]; then + revision=`cat /sys/devices/soc0/revision` + else + revision=`cat /sys/devices/system/soc/soc0/revision` + fi + case "$revision" in + "3.0") + echo N > /sys/module/lpm_levels/system/power/power-l2-gdhs/idle_enabled + echo N > /sys/module/lpm_levels/system/performance/performance-l2-gdhs/idle_enabled + ;; + esac + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus + if [ -f /sys/devices/soc0/platform_subtype_id ]; then platform_subtype_id=`cat /sys/devices/soc0/platform_subtype_id` fi if [ -f /sys/devices/soc0/hw_platform ]; then @@ -378,6 +389,10 @@ case "$target" in esac ;; esac + ;; + "268" | "269" | "270" | "271") + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 10 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus ;; "233" | "240" | "242") echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled From 6dbc6636081de941c2123ae30ee92ccd68fc69d1 Mon Sep 17 00:00:00 2001 From: Taniya Das Date: Thu, 20 Nov 2014 15:13:03 +0530 Subject: [PATCH 482/641] init.qcom.post_boot: Enable mincpubw for MSM8939. Modify devfreq governor from powersave to cpufreq for MSM8939. Change-Id: I40f948028e504ab3e2703cc06b61dafa0cc01486 --- rootdir/etc/init.qcom.post_boot.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 5e934bad5..7da19ca6f 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -602,6 +602,11 @@ case "$target" in echo 30 > /proc/sys/kernel/sched_mostly_idle_load echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run + for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor + do + echo "cpufreq" > $devfreq_gov + done + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor do echo "bw_hwmon" > $devfreq_gov From 41526c32324dd0aed665e416d95d5694f7f64c18 Mon Sep 17 00:00:00 2001 From: Paul Zhang Date: Tue, 7 Apr 2015 11:29:24 +0800 Subject: [PATCH 483/641] init.qcom.factory.rc: Start ptt_ffbm service at FFBM mode init.qcom.factory.sh is replaced by init.qcom.factory.rc. Add start ptt_socket_app service in ffbm mode. Change-Id: I59e925c68262a4b15e25a50a40b2272dd1fe3efd CRs-Fixed: 817596 --- rootdir/etc/init.qcom.factory.rc | 1 + rootdir/etc/init.qcom.rc | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/rootdir/etc/init.qcom.factory.rc b/rootdir/etc/init.qcom.factory.rc index a49183c31..14e0ce3a0 100644 --- a/rootdir/etc/init.qcom.factory.rc +++ b/rootdir/etc/init.qcom.factory.rc @@ -273,6 +273,7 @@ on mmi start qcamerasvr start qcomsysd start srvmag_ffbm + start ptt_ffbm on ffbm trigger early-fs diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 4f6681ae4..77560783c 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -630,6 +630,12 @@ service ptt_socket_app /system/bin/ptt_socket_app -d group root oneshot +service ptt_ffbm /system/bin/ptt_socket_app -f -d + user root + group root + disabled + oneshot + service cnss_diag /system/bin/cnss_diag --q class main user root From 300248906b53ebdffed6dfe35f5c5ab2bb7c52ba Mon Sep 17 00:00:00 2001 From: Sukanya Rajkhowa Date: Tue, 17 Feb 2015 14:41:53 -0800 Subject: [PATCH 484/641] Telephony: Add volteReplacementRat for operators When RIL reports VOICE_RADIO_TECH as LTE, use the volteReplacementRat from the operator's config file CT: 460-03, 460-11 Change-Id: I3e1871f65b8ffad10403f555615e3e41e5db704f CRs-Fixed: 785346 --- .../res/res/values-mcc460-mnc03/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc460-mnc11/config.xml | 36 +++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc460-mnc03/config.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc460-mnc11/config.xml diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc03/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc03/config.xml new file mode 100644 index 000000000..477f28ce7 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc03/config.xml @@ -0,0 +1,36 @@ + + + + + + + 6 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc11/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc11/config.xml new file mode 100644 index 000000000..477f28ce7 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc11/config.xml @@ -0,0 +1,36 @@ + + + + + + + 6 + From 7e76026ce1578824fabaa8f0b9ac250625e49848 Mon Sep 17 00:00:00 2001 From: Susheel Yadagiri Date: Tue, 14 Apr 2015 23:04:55 -0700 Subject: [PATCH 485/641] DPM: add DFS and WDS service access permission to system. Enable system group access to communicate with WDS and DFS service over IPC router. Change-Id: I6bb8e1bf76d73922f02c63d901e0db8bdbf92263 CRs-Fixed: 820779 --- sec_config | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sec_config b/sec_config index b6f251656..2ed23f57f 100755 --- a/sec_config +++ b/sec_config @@ -269,3 +269,6 @@ 18:4294967295:1001:3004 9:4294967295:1001:3004 1:4294967295:1001:3004 +/*Data Power Manager Daemon dpmd */ +1:4294967295:1000:3004 +48:4294967295:1000:3004 From 3e700612f9b4dbcce8ae07a8db8aba08a2d05014 Mon Sep 17 00:00:00 2001 From: Praveena Pachipulusu Date: Tue, 14 Apr 2015 23:39:05 -0700 Subject: [PATCH 486/641] Revert "common: Enable doze mode" This reverts commit da838ba05e157de6f7513c491eebc9d407b81a39 Change-Id: I10cc30c6db4b116871c4b53bfdeef3787048d08b --- .../base/core/res/res/values/config.xml | 6 ---- .../packages/SystemUI/res/values/config.xml | 35 ------------------- 2 files changed, 41 deletions(-) delete mode 100644 product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml diff --git a/product/overlay/frameworks/base/core/res/res/values/config.xml b/product/overlay/frameworks/base/core/res/res/values/config.xml index 743fd5bdd..947b4ddad 100644 --- a/product/overlay/frameworks/base/core/res/res/values/config.xml +++ b/product/overlay/frameworks/base/core/res/res/values/config.xml @@ -38,11 +38,5 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. com.qualcomm.location com.qualcomm.location true - - com.android.systemui/com.android.systemui.doze.DozeService - true - - 17 - true diff --git a/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml deleted file mode 100644 index 53f00d472..000000000 --- a/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - true - From afee603096dbbcdf665721fb8778a4680b1b7ef1 Mon Sep 17 00:00:00 2001 From: Trishool Narayanasetty Date: Tue, 14 Apr 2015 16:18:09 +0530 Subject: [PATCH 487/641] init.qcom.post_boot.sh: Set per process reclaim parameters This change sets the optimal per process reclaim parameters for all targets where per process reclaim feature is enabled. Change-Id: I9fc853897dbd3243b2d759ebe39aa46b2368fa42 --- rootdir/etc/init.qcom.post_boot.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index b445f4213..7da4accb2 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1116,6 +1116,12 @@ case "$target" in ;; esac +#Set per_process_reclaim tuning parameters +echo 50 > /sys/module/process_reclaim/parameters/pr_pressure_min +echo 70 > /sys/module/process_reclaim/parameters/pr_pressure_max +echo 512 > /sys/module/process_reclaim/parameters/per_swap_size +echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff + # Create native cgroup and move all tasks to it. Allot 15% real-time # bandwidth limit to native cgroup (which is what remains after # Android uses up 80% real-time bandwidth limit). root cgroup should From 784d05bb3cc6e6a8b16451f6a639c035e2653d04 Mon Sep 17 00:00:00 2001 From: Trishool Narayanasetty Date: Sat, 18 Apr 2015 14:01:43 +0530 Subject: [PATCH 488/641] init.qcom.post_boot.sh: Changes vmpressure_file_min for 8909 This patch changes vmpressure_file_min for 8909 based on latest LMK parameters. Change-Id: I4f9e2f7df515e612f0dd7b9014e950cce0f867f4 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index b445f4213..4adb70aab 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -876,7 +876,7 @@ case "$target" in #Enable adaptive LMK and set vmpressure_file_min echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 69253 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min # HMP scheduler settings for 8909 similiar to 8916 echo 3 > /proc/sys/kernel/sched_window_stats_policy From a578c3a16badfad9e5b7fb4b9e29c3eee2d60bdd Mon Sep 17 00:00:00 2001 From: Raj Kamal Date: Mon, 20 Apr 2015 13:41:30 +0530 Subject: [PATCH 489/641] device: common: Donot enable DigitalPenService by default Donot enable DigitalPenService by default. This can be enabled later based on the targets on which it has to be supported. For now, disable it by default to avoid the creation of DisplayDevice on the low-end targets which will impact animation performance Change-Id: I66178be7c9c37329f021c040fa0e593a1b0483e3 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 11c4c0db0..57d71b19a 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -201,7 +201,7 @@ true - true + false true From 8fc6d6d38b2686808169291276867ff464406a40 Mon Sep 17 00:00:00 2001 From: Trishool Narayanasetty Date: Wed, 22 Apr 2015 18:20:47 +0530 Subject: [PATCH 490/641] init: qcom: Enable per-process reclaim parameters for <=1G targets This enables per-process reclaim parameters for targets with ram size <=1GB rather than enabling them for all targets. Change-Id: I00ac377d450f7233e111d55915b620a4dc73f917 --- rootdir/etc/init.qcom.post_boot.sh | 6 ------ rootdir/etc/init.qcom.zram.sh | 6 ++++++ 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 959c46297..4adb70aab 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1116,12 +1116,6 @@ case "$target" in ;; esac -#Set per_process_reclaim tuning parameters -echo 50 > /sys/module/process_reclaim/parameters/pr_pressure_min -echo 70 > /sys/module/process_reclaim/parameters/pr_pressure_max -echo 512 > /sys/module/process_reclaim/parameters/per_swap_size -echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff - # Create native cgroup and move all tasks to it. Allot 15% real-time # bandwidth limit to native cgroup (which is what remains after # Android uses up 80% real-time bandwidth limit). root cgroup should diff --git a/rootdir/etc/init.qcom.zram.sh b/rootdir/etc/init.qcom.zram.sh index 6783e405c..1be596abe 100644 --- a/rootdir/etc/init.qcom.zram.sh +++ b/rootdir/etc/init.qcom.zram.sh @@ -35,4 +35,10 @@ IsLowMemory=0 ((IsLowMemory=MemTotal /sys/module/process_reclaim/parameters/enable_process_reclaim + echo 50 > /sys/module/process_reclaim/parameters/pressure_min + echo 70 > /sys/module/process_reclaim/parameters/pressure_max + echo 512 > /sys/module/process_reclaim/parameters/per_swap_size + echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff fi From 6787fa3b0b8fdb616d9d46647c23c81da2f91aed Mon Sep 17 00:00:00 2001 From: Maunik Shah Date: Fri, 24 Apr 2015 17:14:42 +0530 Subject: [PATCH 491/641] FRP: Add FRP property in PRODUCT_PROPERTY_OVERRIDES Moving ro.frp.pst property from system.prop to PRODUCT_PROPERTY_OVERRIDES. Change-Id: I36f646bd1140adf972d7cb2c4bc011e75de994e3 --- common.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common.mk b/common.mk index c0513f98c..75cc56667 100644 --- a/common.mk +++ b/common.mk @@ -16,7 +16,8 @@ endif PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=libqti-perfd-client.so \ persist.radio.apm_sim_not_pwdn=1 \ - persist.radio.sib16_support=1 + persist.radio.sib16_support=1 \ + ro.frp.pst=/dev/block/bootdevice/by-name/config PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key From 34af30d8c79d04d5f5900e8c145bbfd755872523 Mon Sep 17 00:00:00 2001 From: David Ng Date: Fri, 17 Apr 2015 12:00:49 -0700 Subject: [PATCH 492/641] Remove startRIDL.sh to fix FDE Remove startRIDL.sh to fix Full Disk Encryption, honor late_start Change-Id: I4d548e8725cfd5ddc683eedcd3db627c3f494806 --- rootdir/etc/init.qcom.rc | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 77560783c..286dc7e13 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -941,12 +941,7 @@ on property:sys.wfdservice=enable on property:sys.wfdservice=disable stop wfdservice -service qcom-RIDL /system/bin/sh /system/vendor/bin/startRIDL.sh +service RIDL /system/vendor/bin/RIDLClient.exe class late_start user root group root - oneshot - disabled - -on property:dev.bootcomplete=1 - start qcom-RIDL From 5dea55d9e4eaece544b8a705f3e3968d4d780d94 Mon Sep 17 00:00:00 2001 From: Prachee Ramsinghani Date: Tue, 28 Apr 2015 13:24:55 +0530 Subject: [PATCH 493/641] post_boot:msm8909: Update packing parameters Update sched packing parameters to: small_task 20 mostly_idle_load 30 mostly_idle_nr_run 3 Change-Id: Id3e48d51d41e87cb17347cecea443ae5ae6d9bfd --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 959c46297..24d8bff4d 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -883,8 +883,8 @@ case "$target" in echo 3 > /proc/sys/kernel/sched_ravg_hist_size # HMP Task packing settings for 8909 similiar to 8916 - echo 30 > /proc/sys/kernel/sched_small_task - echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /proc/sys/kernel/sched_mostly_idle_load echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run # disable thermal core_control to update scaling_min_freq From 51cbef3df5eb318bee84b2734c5df9d2a7f0dfe9 Mon Sep 17 00:00:00 2001 From: Avijit Kanti Das Date: Tue, 28 Apr 2015 16:42:54 -0700 Subject: [PATCH 494/641] base.mk: Set ro.adb.secure property on user build Fix CTS failure(UsbDebuggingTest).The test expects the property value set to 1 for secure adb debugging. Change-Id: I801fc2986975ddb262b8ac133370d54dca45a050 CRs-Fixed: 829570 --- base.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/base.mk b/base.mk index ad6adf04e..e28099160 100644 --- a/base.mk +++ b/base.mk @@ -813,3 +813,8 @@ $(call inherit-product, build/target/product/verity.mk) ifeq ($(strip $(QCPATH)),) SKIP_BOOT_JARS_CHECK := true endif + +ifeq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \ + ro.adb.secure=1 +endif From 4b94e19d8e6a86316701fa90eb5e869bed57a372 Mon Sep 17 00:00:00 2001 From: Avijit Kanti Das Date: Tue, 28 Apr 2015 16:42:54 -0700 Subject: [PATCH 495/641] base.mk: Set ro.adb.secure property on user build Fix CTS failure(UsbDebuggingTest).The test expects the property value set to 1 for secure adb debugging. Change-Id: I801fc2986975ddb262b8ac133370d54dca45a050 CRs-Fixed: 829570 --- base.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/base.mk b/base.mk index ad6adf04e..e28099160 100644 --- a/base.mk +++ b/base.mk @@ -813,3 +813,8 @@ $(call inherit-product, build/target/product/verity.mk) ifeq ($(strip $(QCPATH)),) SKIP_BOOT_JARS_CHECK := true endif + +ifeq ($(TARGET_BUILD_VARIANT),user) +PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \ + ro.adb.secure=1 +endif From ae7ba17cbae8ec2631453a444814b524665a1d47 Mon Sep 17 00:00:00 2001 From: Tanya Finkel Date: Mon, 20 Apr 2015 23:53:30 -0700 Subject: [PATCH 496/641] display: Fix resolution for SBC8016 platform The default display for the SBC platform is HDMI display. Change-Id: I41003b140a7201f681fcc5005106ccdd0e5736e3 --- init/init_msm8916.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/init/init_msm8916.c b/init/init_msm8916.c index 4700b2721..7cd92b5b4 100644 --- a/init/init_msm8916.c +++ b/init/init_msm8916.c @@ -48,7 +48,6 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar UNUSED(msm_id); UNUSED(msm_ver); - UNUSED(board_type); rc = property_get("ro.board.platform", platform); if (!rc || !ISMATCH(platform, ANDROID_TARGET)){ @@ -61,7 +60,11 @@ void init_msm_properties(unsigned long msm_id, unsigned long msm_ver, char *boar } if(virtual_size >= 1080) { - property_set(PROP_LCDDENSITY, "480"); + if (ISMATCH(board_type, "SBC")) { + property_set(PROP_LCDDENSITY, "240"); + property_set(PROP_QEMU_NAVKEY, "0"); + } else + property_set(PROP_LCDDENSITY, "480"); } else if (virtual_size >= 720) { // For 720x1280 resolution property_set(PROP_LCDDENSITY, "320"); From bd51de2ba5ea65154b125bc27169a9e13ab84f00 Mon Sep 17 00:00:00 2001 From: Anju Mathapati Date: Mon, 23 Feb 2015 23:19:56 -0800 Subject: [PATCH 497/641] IMS: Phone switching 1)Config determines whether to update phone object when voice registration state changes. 2)Voice radio tech change will always trigger an update of phone object irrespective of this config. Change-Id: Id6fc26a8665cfda744cae7ffab1a8670664df71f CRs-Fixed: 764153 --- .../overlay/frameworks/base/core/res/res/values/config.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 57d71b19a..96a9799a8 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -238,4 +238,10 @@ true com.google.android.gms + + + false + From 6dd816de303cfae96d4733929613ce4ea020e189 Mon Sep 17 00:00:00 2001 From: Venkateshwarlu Domakonda Date: Wed, 6 May 2015 15:44:04 +0530 Subject: [PATCH 498/641] ueventd.qcom.rc: Fix the issue with permission Not able to open the dev node radio0 while device in guest mode. Give permission to other than system user. Change-Id: I18444dec3470833e69df6f0a25e7f7bdec3081a5 --- rootdir/etc/ueventd.qcom.rc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index b7cd5ead6..0bb2af899 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -51,7 +51,7 @@ #permissions for CSVT /dev/smd11 0660 radio radio -/dev/radio0 0640 system system +/dev/radio0 0644 system system /dev/rfcomm0 0660 bluetooth bluetooth /dev/ttyUSB0 0660 bluetooth bluetooth /dev/smdcntl0 0640 radio radio @@ -150,7 +150,6 @@ /dev/msm_preproc_ctl 0660 system audio /dev/msm_rtac 0660 system audio /dev/msm_voicememo 0660 system audio -/dev/radio0 0640 fm_radio fm_radio /dev/smd3 0660 bluetooth net_bt_stack /dev/smd2 0660 bluetooth net_bt_stack /dev/ttyHSL1 0660 system system From 9aec6a43e122ff84ae4941a3d0fc784fe34a069e Mon Sep 17 00:00:00 2001 From: Ashwin Namjoshi Date: Thu, 7 May 2015 20:59:22 +0530 Subject: [PATCH 499/641] msm8916 : Scheduler tuning parameters Updated packing parameters to fix scheduling latency issue. Change-Id: I911f3f323cef3d459bc74806e9f62ff493f455a6 --- rootdir/etc/init.qcom.post_boot.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 4adb70aab..e821c8649 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -527,11 +527,11 @@ case "$target" in echo 3 > /proc/sys/kernel/sched_ravg_hist_size # HMP Task packing settings for 8916 - echo 30 > /proc/sys/kernel/sched_small_task - echo 50 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run From cae412d4e1d9f21e3e69f22d04653ddffb4046ee Mon Sep 17 00:00:00 2001 From: Trishool Narayanasetty Date: Tue, 14 Apr 2015 16:18:09 +0530 Subject: [PATCH 500/641] init.qcom.zram.sh: Set per process reclaim parameters This change sets the optimal per process reclaim parameters for all targets with ram size <=1GB. Change-Id: I9fc853897dbd3243b2d759ebe39aa46b2368fa42 --- rootdir/etc/init.qcom.zram.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rootdir/etc/init.qcom.zram.sh b/rootdir/etc/init.qcom.zram.sh index 6783e405c..1be596abe 100644 --- a/rootdir/etc/init.qcom.zram.sh +++ b/rootdir/etc/init.qcom.zram.sh @@ -35,4 +35,10 @@ IsLowMemory=0 ((IsLowMemory=MemTotal /sys/module/process_reclaim/parameters/enable_process_reclaim + echo 50 > /sys/module/process_reclaim/parameters/pressure_min + echo 70 > /sys/module/process_reclaim/parameters/pressure_max + echo 512 > /sys/module/process_reclaim/parameters/per_swap_size + echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff fi From 4b3934c7a0fa008571ef4df97a6fb37bf18fc581 Mon Sep 17 00:00:00 2001 From: Maunik Shah Date: Thu, 7 May 2015 13:31:47 +0530 Subject: [PATCH 501/641] FRP: Add FRP property in PRODUCT_PROPERTY_OVERRIDES Adding ro.frp.pst property from system.prop to PRODUCT_PROPERTY_OVERRIDES for 64 bit variants Change-Id: I60dbc9f0b9a2536abff19b47bec51231767bbc99 --- common64.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common64.mk b/common64.mk index a0082eaa4..00135cb0b 100644 --- a/common64.mk +++ b/common64.mk @@ -16,7 +16,8 @@ endif PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=libqti-perfd-client.so \ persist.radio.apm_sim_not_pwdn=1 \ - persist.radio.sib16_support=1 + persist.radio.sib16_support=1 \ + ro.frp.pst=/dev/block/bootdevice/by-name/config PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key From d85c5dbf4680119645d582915fdbc72661907439 Mon Sep 17 00:00:00 2001 From: Praveena Pachipulusu Date: Mon, 4 May 2015 14:36:34 +0530 Subject: [PATCH 502/641] common: Re-enable doze mode Doze mode was temporarily disabled to avoid VT call power suspend/resume issue reported. Re-enabling the feature as there is a plan to change suspend/resume event handling from telephony. CR's-Fixed: 823430 This reverts commit 4b47db0bd238696b011e4b2d122371bcbf6dc134. Change-Id: I1be808d1d68d99b64c8d1e4f83a66c0ee5649eed --- .../base/core/res/res/values/config.xml | 6 ++++ .../packages/SystemUI/res/values/config.xml | 35 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml diff --git a/product/overlay/frameworks/base/core/res/res/values/config.xml b/product/overlay/frameworks/base/core/res/res/values/config.xml index 947b4ddad..743fd5bdd 100644 --- a/product/overlay/frameworks/base/core/res/res/values/config.xml +++ b/product/overlay/frameworks/base/core/res/res/values/config.xml @@ -38,5 +38,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. com.qualcomm.location com.qualcomm.location true + + com.android.systemui/com.android.systemui.doze.DozeService + true + + 17 + true diff --git a/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml new file mode 100644 index 000000000..53f00d472 --- /dev/null +++ b/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -0,0 +1,35 @@ + + + + + true + From f6bda8694b0791cf32d4771bbba1b2226991e839 Mon Sep 17 00:00:00 2001 From: Sooraj Sasindran Date: Fri, 20 Mar 2015 18:37:02 -0600 Subject: [PATCH 503/641] Change bootup shell script to duplicate config files Change bootup shell script to: - Copy config files - change the new config to correct ownship - set flag to indicate copy is completed. Change-Id: Ie00059ba49ac0d59b2c41b35640593347521dec3 --- rootdir/etc/init.qcom.rc | 5 +++++ rootdir/etc/init.qcom.sh | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 77560783c..a795d13d0 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -180,6 +180,11 @@ on boot # Allow access for CCID command/response timeout configuration chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout + # Mark the copy complete flag to not completed + write /data/misc/radio/copy_complete 0 + chown radio radio /data/misc/radio/copy_complete + chmod 0660 /data/misc/radio/copy_complete + # msm specific files that need to be created on /data on post-fs-data # Create directory for TZ Apps diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index e1460d534..0ec722a83 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -234,3 +234,13 @@ case "$emmc_boot" fi ;; esac + +# +# Make modem config folder and copy firmware config to that folder +# +rm -rf /data/misc/radio/modem_config +mkdir /data/misc/radio/modem_config +chmod 660 /data/misc/radio/modem_config +cp -r /firmware/image/modem_pr/mbn_ota/* /data/misc/radio/modem_config +chown -hR radio.radio /data/misc/radio/modem_config +echo 1 > /data/misc/radio/copy_complete From 11051166440c1fc10ad5b454f2dc50d0a75d2f73 Mon Sep 17 00:00:00 2001 From: Prachee Ramsinghani Date: Tue, 12 May 2015 16:32:35 +0530 Subject: [PATCH 504/641] post_boot: msm8909: Update core-ctl parameters Core-ctl busy_up_thres and busy_down_thres parameters are dependent on maximum frequency. Generalize the initialization of these parameters. Change-Id: I9a94faa38bc3a4e13cdcd49b4f9c441989319abb --- rootdir/etc/init.qcom.post_boot.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 4adb70aab..eeccc485c 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -913,8 +913,11 @@ case "$target" in # Enable core control insmod /system/lib/modules/core_ctl.ko echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 72 72 60 50 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres + max_freq=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` + min_freq=800000 + echo $((min_freq*100 / max_freq)) $((min_freq*100 / max_freq)) $((66*1000000 / max_freq)) \ + $((55*1000000 / max_freq)) > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres + echo $((33*1000000 / max_freq)) > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms From 012e3841dbde4dd868129959e00acc3e7a482405 Mon Sep 17 00:00:00 2001 From: Praveena Pachipulusu Date: Mon, 4 May 2015 14:36:34 +0530 Subject: [PATCH 505/641] common: Re-enable doze mode Doze mode was temporarily disabled to avoid VT call power suspend/resume issue reported. Re-enabling the feature as there is a plan to change suspend/resume event handling from telephony. CR's-Fixed: 823430 This reverts commit 4b47db0bd238696b011e4b2d122371bcbf6dc134. Change-Id: I1be808d1d68d99b64c8d1e4f83a66c0ee5649eed --- .../base/core/res/res/values/config.xml | 6 ++++ .../packages/SystemUI/res/values/config.xml | 35 +++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml diff --git a/product/overlay/frameworks/base/core/res/res/values/config.xml b/product/overlay/frameworks/base/core/res/res/values/config.xml index 947b4ddad..743fd5bdd 100644 --- a/product/overlay/frameworks/base/core/res/res/values/config.xml +++ b/product/overlay/frameworks/base/core/res/res/values/config.xml @@ -38,5 +38,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. com.qualcomm.location com.qualcomm.location true + + com.android.systemui/com.android.systemui.doze.DozeService + true + + 17 + true diff --git a/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml new file mode 100644 index 000000000..53f00d472 --- /dev/null +++ b/product/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -0,0 +1,35 @@ + + + + + true + From 1000726b1c48e978a885d7cd7b186cd4bb7c0faa Mon Sep 17 00:00:00 2001 From: Richard LIU Date: Wed, 13 May 2015 19:48:37 +0800 Subject: [PATCH 506/641] Add execute permission for mbn directory Add execute permssion for /data/misc/radio/modem_config/ so that radio apps could access it Change-Id: Ie57c20a5ee234c555613e454f65532847f7bcfe0 --- rootdir/etc/init.qcom.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 0ec722a83..535fd2604 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -240,7 +240,7 @@ esac # rm -rf /data/misc/radio/modem_config mkdir /data/misc/radio/modem_config -chmod 660 /data/misc/radio/modem_config +chmod 770 /data/misc/radio/modem_config cp -r /firmware/image/modem_pr/mbn_ota/* /data/misc/radio/modem_config chown -hR radio.radio /data/misc/radio/modem_config echo 1 > /data/misc/radio/copy_complete From 575944810d8a357f48261e2b305d7e49f015c876 Mon Sep 17 00:00:00 2001 From: Prachee Ramsinghani Date: Tue, 12 May 2015 16:32:35 +0530 Subject: [PATCH 507/641] post_boot: msm8909: Update core-ctl parameters Core-ctl busy_up_thres and busy_down_thres parameters are dependent on maximum frequency. Generalize the initialization of these parameters. Change-Id: I9a94faa38bc3a4e13cdcd49b4f9c441989319abb --- rootdir/etc/init.qcom.post_boot.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 959c46297..45e1d2864 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -913,8 +913,11 @@ case "$target" in # Enable core control insmod /system/lib/modules/core_ctl.ko echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - echo 72 72 60 50 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo 30 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres + max_freq=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` + min_freq=800000 + echo $((min_freq*100 / max_freq)) $((min_freq*100 / max_freq)) $((66*1000000 / max_freq)) \ + $((55*1000000 / max_freq)) > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres + echo $((33*1000000 / max_freq)) > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms From 99737bbbfa4d10c1a58e542faaf9d7931646d55c Mon Sep 17 00:00:00 2001 From: Yu Guoping Date: Tue, 12 May 2015 16:49:25 +0800 Subject: [PATCH 508/641] USB: Add RPS CPU mask for rndis interface for 8929 Add the RPS CPU mask as 10 on 8929 target. Target identification is done using soc ids for 8929 target. Change-Id: I895e78f56e60cabda1ba4581d0fd25ac3021079f Conflicts: rootdir/etc/init.qcom.usb.sh --- rootdir/etc/init.qcom.usb.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 99a6d8072..37cd631e5 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -244,10 +244,10 @@ else soc_id=`cat /sys/devices/system/soc/soc0/id` fi -# enable rps cpus on msm8939/msm8909 target +# enable rps cpus on msm8939/msm8909/msm8929 target setprop sys.usb.rps_mask 0 case "$soc_id" in - "239" | "241" | "263") + "239" | "241" | "263" | "268" | "269" | "270") setprop sys.usb.rps_mask 10 ;; "245" | "260" | "261" | "262") From 981d35503100ec7de878c0a64f82db7b64685083 Mon Sep 17 00:00:00 2001 From: Trishool Narayanasetty Date: Tue, 5 May 2015 19:41:36 +0530 Subject: [PATCH 509/641] init.qcom.post_boot.sh:Change vmpressure_file_min for 8916 This patch changes vmpressure_file_min for 8916 based on latest LMK parameters. Change-Id: I5e0118410dbb0305126386f3d6c5f7281f965b11 --- rootdir/etc/init.qcom.post_boot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 45e1d2864..e4b9c08a6 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -509,7 +509,7 @@ case "$target" in ProductName=`getprop ro.product.name` if [ "$ProductName" == "msm8916_32" ] || [ "$ProductName" == "msm8916_32_LMT" ]; then echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 69253 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min elif [ "$ProductName" == "msm8916_64" ] || [ "$ProductName" == "msm8916_64_LMT" ]; then echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk echo 81250 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min From a1c3fe42a13e96b09bcaf6cf57caa430f4b3e6f7 Mon Sep 17 00:00:00 2001 From: Dinesh K Garg Date: Wed, 8 Oct 2014 17:43:05 -0700 Subject: [PATCH 510/641] cryptfs_hw: Add support for Inline Crypto Engine (ICE) ICE requires keys to be set in key LUT. Changing APIs so that it return the key index in key LUT. It also needs to take care if ICE is available on the chip. Change-Id: I22be18738ba33e5b5c61639c24b320484d0ad7f2 --- cryptfs_hw/Android.mk | 5 +++ cryptfs_hw/cryptfs_hw.c | 68 +++++++++++++++++++++++++++++++++-------- cryptfs_hw/cryptfs_hw.h | 7 +++-- 3 files changed, 65 insertions(+), 15 deletions(-) diff --git a/cryptfs_hw/Android.mk b/cryptfs_hw/Android.mk index e0ea65082..5dec7601f 100644 --- a/cryptfs_hw/Android.mk +++ b/cryptfs_hw/Android.mk @@ -22,6 +22,11 @@ LOCAL_MODULE_OWNER := qcom ifeq ($(TARGET_SWV8_DISK_ENCRYPTION),true) LOCAL_CFLAGS += -DCONFIG_SWV8_DISK_ENCRYPTION endif +# USE_ICE_FOR_STORAGE_ENCRYPTION would be true in future if +# TARGET_USE_EMMC_USE_ICE is set +ifeq ($(TARGET_USE_UFS_ICE),true) +LOCAL_CFLAGS += -DUSE_ICE_FOR_STORAGE_ENCRYPTION +endif include $(BUILD_SHARED_LIBRARY) endif diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 5e476f659..7d868908b 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -35,6 +35,7 @@ #include #include #include "cutils/log.h" +#include "cutils/properties.h" #include "cutils/android_reboot.h" #if defined(__LP64__) @@ -51,6 +52,7 @@ // wipe userdata partition once this error is received. #define ERR_MAX_PASSWORD_ATTEMPTS -10 #define QSEECOM_DISK_ENCRYPTION 1 +#define QSEECOM_ICE_DISK_ENCRYPTION 3 #define MAX_PASSWORD_LEN 32 /* Operations that be performed on HW based device encryption key */ @@ -68,6 +70,13 @@ static int (*qseecom_create_key)(int, void*); static int (*qseecom_update_key)(int, void*, void*); static int (*qseecom_wipe_key)(int); +static int map_usage(int usage) +{ + return (is_ice_enabled() && (usage == QSEECOM_DISK_ENCRYPTION)) ? + QSEECOM_ICE_DISK_ENCRYPTION : usage; +} + + static unsigned char* get_tmp_passwd(const char* passwd) { int passwd_len = 0; @@ -137,23 +146,24 @@ static int load_qseecom_library() return loaded_library; } -static unsigned int set_key(const char* passwd, const char* enc_mode, int operation) +/* + * For NON-ICE targets, it would return 0 on success. On ICE based targets, + * it would return key index in the ICE Key LUT + */ +static int set_key(const char* passwd, const char* enc_mode, int operation) { - int ret = 0; int err = -1; if (is_hw_disk_encryption(enc_mode) && load_qseecom_library()) { unsigned char* tmp_passwd = get_tmp_passwd(passwd); if(tmp_passwd) { - if (operation == UPDATE_HW_DISK_ENC_KEY) - err = qseecom_update_key(QSEECOM_DISK_ENCRYPTION, current_passwd, tmp_passwd); + err = qseecom_update_key(map_usage(QSEECOM_DISK_ENCRYPTION), current_passwd, tmp_passwd); else if (operation == SET_HW_DISK_ENC_KEY) - err = qseecom_create_key(QSEECOM_DISK_ENCRYPTION, tmp_passwd); + err = qseecom_create_key(map_usage(QSEECOM_DISK_ENCRYPTION), tmp_passwd); - if(!err) { + if(err >= 0) { memset(current_passwd, 0, MAX_PASSWORD_LEN); memcpy(current_passwd, tmp_passwd, MAX_PASSWORD_LEN); - ret = 1; } else { if(ERR_MAX_PASSWORD_ATTEMPTS == err) wipe_userdata(); @@ -161,15 +171,15 @@ static unsigned int set_key(const char* passwd, const char* enc_mode, int operat free(tmp_passwd); } } - return ret; + return err; } -unsigned int set_hw_device_encryption_key(const char* passwd, const char* enc_mode) +int set_hw_device_encryption_key(const char* passwd, const char* enc_mode) { return set_key(passwd, enc_mode, SET_HW_DISK_ENC_KEY); } -unsigned int update_hw_device_encryption_key(const char* newpw, const char* enc_mode) +int update_hw_device_encryption_key(const char* newpw, const char* enc_mode) { return set_key(newpw, enc_mode, UPDATE_HW_DISK_ENC_KEY); @@ -187,13 +197,13 @@ unsigned int is_hw_disk_encryption(const char* encryption_mode) return ret; } -unsigned int wipe_hw_device_encryption_key(const char* enc_mode) +int wipe_hw_device_encryption_key(const char* enc_mode) { if (!enc_mode) return -1; if (is_hw_disk_encryption(enc_mode) && load_qseecom_library()) - return qseecom_wipe_key(QSEECOM_DISK_ENCRYPTION); + return qseecom_wipe_key(map_usage(QSEECOM_DISK_ENCRYPTION)); return 0; } @@ -249,3 +259,37 @@ unsigned int is_hw_fde_enabled(void) return 1; } #endif + +int is_ice_enabled(void) +{ + /* If (USE_ICE_FLAG) => return 1 + * if (property set to use gpce) return 0 + * we are using property to test UFS + GPCE, even though not required + * if (storage is ufs) return 1 + * else return 0 so that emmc based device can work properly + */ +#ifdef USE_ICE_FOR_STORAGE_ENCRYPTION + SLOGD("Ice enabled = true"); + return 1; +#else + char enc_hw_type[PATH_MAX]; + char prop_storage[PATH_MAX]; + int ice = 0; + int i; + if (property_get("crypto.fde_enc_hw_type", enc_hw_type, "")) { + if(!strncmp(enc_hw_type, "gpce", PROPERTY_VALUE_MAX)) { + SLOGD("GPCE would be used for HW FDE"); + return 0; + } + } + + if (property_get("ro.boot.bootdevice", prop_storage, "")) { + if(strstr(prop_storage, "ufs")) { + SLOGD("ICE would be used for HW FDE"); + return 1; + } + } + SLOGD("GPCE would be used for HW FDE"); + return 0; +#endif +} diff --git a/cryptfs_hw/cryptfs_hw.h b/cryptfs_hw/cryptfs_hw.h index d7bf7873d..10b690d75 100644 --- a/cryptfs_hw/cryptfs_hw.h +++ b/cryptfs_hw/cryptfs_hw.h @@ -33,11 +33,12 @@ extern "C" { #endif -unsigned int set_hw_device_encryption_key(const char*, const char*); -unsigned int update_hw_device_encryption_key(const char*, const char*); -unsigned int wipe_hw_device_encryption_key(const char*); +int set_hw_device_encryption_key(const char*, const char*); +int update_hw_device_encryption_key(const char*, const char*); +int wipe_hw_device_encryption_key(const char*); unsigned int is_hw_disk_encryption(const char*); unsigned int is_hw_fde_enabled(void); +int is_ice_enabled(void); #ifdef __cplusplus } From 3d61c47ba1bb72317d803720999d88d47f49ad23 Mon Sep 17 00:00:00 2001 From: Dinesh K Garg Date: Tue, 12 May 2015 15:40:05 -0700 Subject: [PATCH 511/641] Adding support for eMMC based ICE ICE (Inline Crypto Engine) encrypts/decrypts storage IO requests to minimize degradation in storage IO throughput. ICE has been added to eMMC based storage hardware as well. Adding required support for eMMC based ICE. Change-Id: I7986d95ccabca9d6d029653c804608e7d78ad9ef --- cryptfs_hw/cryptfs_hw.c | 62 +++++++++++++++++++---------------------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 7d868908b..6cfc8a2ba 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -52,8 +52,11 @@ // wipe userdata partition once this error is received. #define ERR_MAX_PASSWORD_ATTEMPTS -10 #define QSEECOM_DISK_ENCRYPTION 1 -#define QSEECOM_ICE_DISK_ENCRYPTION 3 +#define QSEECOM_UFS_ICE_DISK_ENCRYPTION 3 +#define QSEECOM_SDCC_ICE_DISK_ENCRYPTION 4 #define MAX_PASSWORD_LEN 32 +#define QTI_ICE_STORAGE_UFS 1 +#define QTI_ICE_STORAGE_SDCC 2 /* Operations that be performed on HW based device encryption key */ #define SET_HW_DISK_ENC_KEY 1 @@ -72,11 +75,18 @@ static int (*qseecom_wipe_key)(int); static int map_usage(int usage) { - return (is_ice_enabled() && (usage == QSEECOM_DISK_ENCRYPTION)) ? - QSEECOM_ICE_DISK_ENCRYPTION : usage; + int storage_type = is_ice_enabled(); + if (usage == QSEECOM_DISK_ENCRYPTION) { + if (storage_type == QTI_ICE_STORAGE_UFS) { + return QSEECOM_UFS_ICE_DISK_ENCRYPTION; + } + else if (storage_type == QTI_ICE_STORAGE_SDCC) { + return QSEECOM_SDCC_ICE_DISK_ENCRYPTION ; + } + } + return usage; } - static unsigned char* get_tmp_passwd(const char* passwd) { int passwd_len = 0; @@ -262,34 +272,20 @@ unsigned int is_hw_fde_enabled(void) int is_ice_enabled(void) { - /* If (USE_ICE_FLAG) => return 1 - * if (property set to use gpce) return 0 - * we are using property to test UFS + GPCE, even though not required - * if (storage is ufs) return 1 - * else return 0 so that emmc based device can work properly - */ -#ifdef USE_ICE_FOR_STORAGE_ENCRYPTION - SLOGD("Ice enabled = true"); - return 1; -#else - char enc_hw_type[PATH_MAX]; - char prop_storage[PATH_MAX]; - int ice = 0; - int i; - if (property_get("crypto.fde_enc_hw_type", enc_hw_type, "")) { - if(!strncmp(enc_hw_type, "gpce", PROPERTY_VALUE_MAX)) { - SLOGD("GPCE would be used for HW FDE"); - return 0; - } - } - - if (property_get("ro.boot.bootdevice", prop_storage, "")) { - if(strstr(prop_storage, "ufs")) { - SLOGD("ICE would be used for HW FDE"); - return 1; - } + char prop_storage[PATH_MAX]; + int storage_type = 0; + int fd; + + if (property_get("ro.boot.bootdevice", prop_storage, "")) { + if (strstr(prop_storage, "ufs")) { + /* All UFS based devices has ICE in it. So we dont need + * to check if corresponding device exists or not + */ + storage_type = QTI_ICE_STORAGE_UFS; + } else if (strstr(prop_storage, "sdhc")) { + if (access("/dev/icesdcc", F_OK) != -1) + storage_type = QTI_ICE_STORAGE_SDCC; } - SLOGD("GPCE would be used for HW FDE"); - return 0; -#endif + } + return storage_type; } From 5c77eb55e950f385280ca8e3f3226cb3bffe5289 Mon Sep 17 00:00:00 2001 From: Sujeet Kumar Date: Mon, 11 May 2015 18:03:38 +0530 Subject: [PATCH 512/641] USB: Change rps cpu mask to 4 on msm8909 target Setting rps cpu mask to 2 is leading to low throughput issue on msm8909 target for IPV6 test case. It is because of net_rx running full throttle on cpu 2. Move this setting to cpu 3, a value of rps cpu mask of 4. Also, add some new soc ids which are added for 8909 target. Change-Id: I639964e4a065bff6b5d99866f83dff4d9d3051a9 --- rootdir/etc/init.qcom.usb.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.usb.sh b/rootdir/etc/init.qcom.usb.sh index 37cd631e5..d12a4ff9a 100644 --- a/rootdir/etc/init.qcom.usb.sh +++ b/rootdir/etc/init.qcom.usb.sh @@ -250,7 +250,7 @@ case "$soc_id" in "239" | "241" | "263" | "268" | "269" | "270") setprop sys.usb.rps_mask 10 ;; - "245" | "260" | "261" | "262") - setprop sys.usb.rps_mask 2 + "245" | "258" | "259" | "265" | "275") + setprop sys.usb.rps_mask 4 ;; esac From 8e5c536763e2467fcb7b045237630390a128e685 Mon Sep 17 00:00:00 2001 From: Ashwin Namjoshi Date: Thu, 7 May 2015 20:59:22 +0530 Subject: [PATCH 513/641] msm8916 : Scheduler tuning parameters Updated packing parameters to fix scheduling latency issue. Change-Id: I911f3f323cef3d459bc74806e9f62ff493f455a6 --- rootdir/etc/init.qcom.post_boot.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index eeccc485c..323c3cb05 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -527,11 +527,11 @@ case "$target" in echo 3 > /proc/sys/kernel/sched_ravg_hist_size # HMP Task packing settings for 8916 - echo 30 > /proc/sys/kernel/sched_small_task - echo 50 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run From efd3358ef4ae3a6cfb77b617615b9e936be70452 Mon Sep 17 00:00:00 2001 From: Subramanian Srinivasan Date: Tue, 17 Feb 2015 13:08:38 -0800 Subject: [PATCH 514/641] Disables BLE Peripheral Adv name flag used in BT stack Disables BLE Peripheral Adv name compile time flag used in BT stack. When this flag is enabled, the framework API to disable the BLE Peripheral name in the BLE advertisement does not work. CRs-fixed: 770518 Change-Id: I644c5306347f568a340a86e5371ed6acabbe858a --- bdroid_buildcfg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bdroid_buildcfg.h b/bdroid_buildcfg.h index 81a87860e..88997d6c1 100644 --- a/bdroid_buildcfg.h +++ b/bdroid_buildcfg.h @@ -29,5 +29,5 @@ #define BLE_VND_INCLUDED TRUE // skips conn update at conn completion #define BTA_BLE_SKIP_CONN_UPD FALSE -#define BLE_PERIPHERAL_ADV_NAME TRUE +#define BLE_PERIPHERAL_ADV_NAME FALSE #endif From 453d47a9d5fa8703cccf2c1a82902dbf82ddb0f3 Mon Sep 17 00:00:00 2001 From: Ray Zhang Date: Wed, 11 Sep 2013 11:29:26 +0800 Subject: [PATCH 515/641] display: tool: add splash tool for generating logo file Add logo_gen.py for generating splash logo image, it converts PNG file to image file proper for flashing splash partition. Change-Id: I277c18d3352977c53b702d11698fec501ffede42 --- display/logo/logo_gen.py | 263 +++++++++++++++++++++++++++++++++++++++ display/logo/readme.txt | 3 + 2 files changed, 266 insertions(+) create mode 100755 display/logo/logo_gen.py create mode 100644 display/logo/readme.txt diff --git a/display/logo/logo_gen.py b/display/logo/logo_gen.py new file mode 100755 index 000000000..c9bcb1af9 --- /dev/null +++ b/display/logo/logo_gen.py @@ -0,0 +1,263 @@ +# Copyright (c) 2013,2015, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of The Linux Foundation nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE +# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#=========================================================================== + +# This script read the logo png and creates the logo.img + +# when who what, where, why +# -------- --- ------------------------------------------------------- +# 2013-04 QRD init +# 2015-04 QRD support the RLE24 compression + +# Environment requirement: +# Python + PIL +# PIL install: +# (ubuntu) sudo apt-get install python-imaging +# (windows) (http://www.pythonware.com/products/pil/) + +# limit: +# a This script only support Python 2.7.x, 2.6.x, +# Can't use in py3x for StringIO module +# b This script's input can be a png, jpeg, bmp, gif file. +# But if it is a gif, only get the first frame by default. +# +# description: +# struct logo_header { +# unsigned char[8]; // "SPLASH!!" +# unsigned width; // logo's width, little endian +# unsigned height; // logo's height, little endian +# unsigned type; // 0, Raw Image; 1, RLE24 Compressed Image +# unsigned blocks; // block number, real size / 512 +# ...... +# }; + +# the logo Image layout: +# logo_header + Payload data + +# ===========================================================================*/ +from __future__ import print_function +import sys,os +import struct +import StringIO +from PIL import Image + +SUPPORT_RLE24_COMPRESSIONT = 1 + +## get header +def GetImgHeader(size, compressed=0, real_bytes=0): + SECTOR_SIZE_IN_BYTES = 512 # Header size + header = [0 for i in range(SECTOR_SIZE_IN_BYTES)] + + width, height = size + real_size = (real_bytes + 511) / 512 + + # magic + header[:8] = [ord('S'),ord('P'), ord('L'), ord('A'), + ord('S'),ord('H'), ord('!'), ord('!')] + + # width + header[8] = ( width & 0xFF) + header[9] = ((width >> 8 ) & 0xFF) + header[10]= ((width >> 16) & 0xFF) + header[11]= ((width >> 24) & 0xFF) + + # height + header[12]= ( height & 0xFF) + header[13]= ((height >> 8) & 0xFF) + header[14]= ((height >> 16) & 0xFF) + header[15]= ((height >> 24) & 0xFF) + + #type + header[16]= ( compressed & 0xFF) + #header[17]= 0 + #header[18]= 0 + #header[19]= 0 + + # block number + header[20] = ( real_size & 0xFF) + header[21] = ((real_size >> 8) & 0xFF) + header[22] = ((real_size >> 16) & 0xFF) + header[23] = ((real_size >> 24) & 0xFF) + + output = StringIO.StringIO() + for i in header: + output.write(struct.pack("B", i)) + content = output.getvalue() + output.close() + return content + +def encode(line): + count = 0 + lst = [] + repeat = -1 + run = [] + total = len(line) - 1 + for index, current in enumerate(line[:-1]): + if current != line[index + 1]: + run.append(current) + count += 1 + if repeat == 1: + entry = (count+128,run) + lst.append(entry) + count = 0 + run = [] + repeat = -1 + if index == total - 1: + run = [line[index + 1]] + entry = (1,run) + lst.append(entry) + else: + repeat = 0 + + if count == 128: + entry = (128,run) + lst.append(entry) + count = 0 + run = [] + repeat = -1 + if index == total - 1: + run.append(line[index + 1]) + entry = (count+1,run) + lst.append(entry) + else: + if repeat == 0: + entry = (count,run) + lst.append(entry) + count = 0 + run = [] + repeat = -1 + if index == total - 1: + run.append( line[index + 1]) + run.append( line[index + 1]) + entry = (2+128,run) + lst.append(entry) + break + run.append(current) + repeat = 1 + count += 1 + if count == 128: + entry = (256,run) + lst.append(entry) + count = 0 + run = [] + repeat = -1 + if index == total - 1: + if count == 0: + run = [line[index + 1]] + entry = (1,run) + lst.append(entry) + else: + run.append(current) + entry = (count+1+128,run) + lst.append(entry) + return lst + +def encodeRLE24(img): + width, height = img.size + output = StringIO.StringIO() + + for h in range(height): + line = [] + result=[] + for w in range(width): + (r, g, b) = img.getpixel((w,h)) + line.append((r << 16)+(g << 8) + b) + result = encode(line) + for count, pixel in result: + output.write(struct.pack("B", count-1)) + if count > 128: + output.write(struct.pack("B", (pixel[0]) & 0xFF)) + output.write(struct.pack("B", ((pixel[0]) >> 8) & 0xFF)) + output.write(struct.pack("B", ((pixel[0]) >> 16) & 0xFF)) + else: + for item in pixel: + output.write(struct.pack("B", (item) & 0xFF)) + output.write(struct.pack("B", (item >> 8) & 0xFF)) + output.write(struct.pack("B", (item >> 16) & 0xFF)) + content = output.getvalue() + output.close() + return content + + +## get payload data : BGR Interleaved +def GetImageBody(img, compressed=0): + color = (0, 0, 0) + if img.mode == "RGB": + background = img + elif img.mode == "RGBA": + background = Image.new("RGB", img.size, color) + img.load() + background.paste(img, mask=img.split()[3]) # alpha channel + elif img.mode == "P" or img.mode == "L": + background = Image.new("RGB", img.size, color) + img.load() + background.paste(img) + #background.save("splash.png") + else: + print ("sorry, can't support this format") + sys.exit() + + if compressed == 1: + return encodeRLE24(background) + else: + r, g, b = background.split() + return Image.merge("RGB",(b,g,r)).tostring() + +## make a image + +def MakeLogoImage(logo, out): + img = Image.open(logo) + file = open(out, "wb") + body = GetImageBody(img, SUPPORT_RLE24_COMPRESSIONT) + file.write(GetImgHeader(img.size, SUPPORT_RLE24_COMPRESSIONT, len(body))) + file.write(body) + file.close() + + +## mian + +def ShowUsage(): + print(" usage: python logo_gen.py [logo.png]") + +def GetPNGFile(): + infile = "logo.png" #default file name + num = len(sys.argv) + if num > 3: + ShowUsage() + sys.exit(); # error arg + + if num == 2: + infile = sys.argv[1] + + if os.access(infile, os.R_OK) != True: + ShowUsage() + sys.exit(); # error file + return infile + +if __name__ == "__main__": + MakeLogoImage(GetPNGFile(), "splash.img") diff --git a/display/logo/readme.txt b/display/logo/readme.txt new file mode 100644 index 000000000..00559fa11 --- /dev/null +++ b/display/logo/readme.txt @@ -0,0 +1,3 @@ +The steps to generate a splash.img: +1 sudo apt-get install python-imaging +2 python ./logo_gen.py snapdragon.png From 732d74c345a6deee0727ff0239d8e84bf9579540 Mon Sep 17 00:00:00 2001 From: Varun Garg Date: Wed, 29 Apr 2015 12:41:46 +0530 Subject: [PATCH 516/641] msm8916: Remove core based path for idle_load and nr_run Packing parameter sched_mostly_idle_load and sched_mostly_idle_nr_run are not core based on this PL. Correct the path for these parameters. Change-Id: I288643a1b6f8fc5fbc5e2c9825e8406c9b0e41a2 --- rootdir/etc/init.qcom.post_boot.sh | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 9f285439b..f458b1c4e 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -528,14 +528,8 @@ case "$target" in # HMP Task packing settings for 8916 echo 30 > /proc/sys/kernel/sched_small_task - echo 50 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load - echo 50 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load - echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run - echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled From 67537afa51e62fa6834b8e05d1b0ef723b0b9082 Mon Sep 17 00:00:00 2001 From: Sravan Kumar Ambapuram Date: Tue, 14 Apr 2015 00:21:31 +0530 Subject: [PATCH 517/641] msm8952: Governor and Scheduler tuning parameters Updated 8952 Governor and Scheduler tuning parameters. Change-Id: Icf7c99607931cbcf3d732b70090e82d516a1f0cc --- rootdir/etc/init.qcom.post_boot.sh | 111 +++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 9f285439b..7dc3f22a5 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -694,6 +694,117 @@ case "$target" in ;; esac +case "$target" in + "msm8952") + + # HMP scheduler settings for 8952 soc id is 264 + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size + + # HMP Task packing settings for 8952 + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load + echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load + + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run + + echo 0 > /sys/devices/system/cpu/cpu0/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu1/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu2/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu3/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu4/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu5/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu6/sched_prefer_idle + echo 0 > /sys/devices/system/cpu/cpu7/sched_prefer_idle + + for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor + do + echo "bw_hwmon" > $devfreq_gov + for cpu_io_percent in /sys/class/devfreq/qcom,cpubw*/bw_hwmon/io_percent + do + echo 20 > $cpu_io_percent + done + done + + for gpu_bimc_io_percent in /sys/class/devfreq/qcom,gpubw*/bw_hwmon/io_percent + do + echo 40 > $gpu_bimc_io_percent + done + # disable thermal core_control to update interactive gov settings + echo 0 > /sys/module/msm_thermal/core_control/enabled + + # enable governor for perf cluster + echo 1 > /sys/devices/system/cpu/cpu0/online + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "19000 1113600:39000" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay + echo 85 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate + echo 1113600 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/io_is_busy + echo "1 960000:85 1113600:90 1344000:80" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/sampling_down_factor + echo 960000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + # enable governor for power cluster + echo 1 > /sys/devices/system/cpu/cpu4/online + echo "interactive" > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor + echo "39000 998400:19000" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay + echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load + echo 20000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate + echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq + echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/io_is_busy + echo "1 800000:90" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time + echo 40000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/sampling_down_factor + echo 800000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq + + # enable thermal core_control now + echo 1 > /sys/module/msm_thermal/core_control/enabled + + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + echo 1 > /sys/devices/system/cpu/cpu5/online + echo 1 > /sys/devices/system/cpu/cpu6/online + echo 1 > /sys/devices/system/cpu/cpu7/online + + # HMP scheduler (big.Little cluster related) settings + echo 93 > /proc/sys/kernel/sched_upmigrate + echo 70 > /proc/sys/kernel/sched_downmigrate + + # Enable sched guided freq control + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load + echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif + echo 50000 > /proc/sys/kernel/sched_freq_inc_notify + echo 50000 > /proc/sys/kernel/sched_freq_dec_notify + + # Enable core control + insmod /system/lib/modules/core_ctl.ko + echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus + echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus + echo 68 > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres + echo 40 > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres + echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms + ;; +esac + case "$target" in "apq8084") From 505ae3c7c796ceca543f85918eb710eaa40de023 Mon Sep 17 00:00:00 2001 From: Ravinder Konka Date: Tue, 19 May 2015 10:15:03 +0530 Subject: [PATCH 518/641] init script: Start netmgrd depending on configuration parameter Added check for persist property ro.use_data_netmgrd before starting the netmgrd. CRs-Fixed: 836679 Change-Id: I4fa730ee27774d221082fbc45133abb372e14503 --- rootdir/etc/init.class_main.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.class_main.sh b/rootdir/etc/init.class_main.sh index 8321dafef..ea4b5c2c7 100644 --- a/rootdir/etc/init.class_main.sh +++ b/rootdir/etc/init.class_main.sh @@ -32,6 +32,7 @@ baseband=`getprop ro.baseband` sgltecsfb=`getprop persist.radio.sglte_csfb` datamode=`getprop persist.data.mode` +netmgr=`getprop ro.use_data_netmgrd` case "$baseband" in "apq") @@ -75,10 +76,14 @@ case "$baseband" in ;; "concurrent") start qti - start netmgrd + if [ "$netmgr" = "true" ]; then + start netmgrd + fi ;; *) - start netmgrd + if [ "$netmgr" = "true" ]; then + start netmgrd + fi ;; esac esac From c8c4004c7ccac44313fd966b0c243ca870c82454 Mon Sep 17 00:00:00 2001 From: vaibhav bhalla Date: Mon, 23 Feb 2015 20:11:59 +0530 Subject: [PATCH 519/641] common: Changed the minfreq to 400Mhz for display off scenario. 1. Changes to set CPU0 min freq for 8939 target as below: Display off case : set to 400Mhz Display on case : set to 960Mhz. Conflicts: power/Android.mk Change-Id: Ie8cf31484e70f83594778c899485910b9ff2578e --- power/Android.mk | 4 + power/performance.h | 21 +++++ power/power-8916.c | 205 +++++++++++++++++++++++++++++++++++++++++++ power/power-common.h | 1 + 4 files changed, 231 insertions(+) create mode 100644 power/power-8916.c diff --git a/power/Android.mk b/power/Android.mk index 59d99a774..06e67bf23 100644 --- a/power/Android.mk +++ b/power/Android.mk @@ -31,6 +31,10 @@ ifeq ($(call is-board-platform-in-list, msm8909), true) LOCAL_SRC_FILES += power-8909.c endif +ifeq ($(call is-board-platform-in-list,msm8916), true) +LOCAL_SRC_FILES += power-8916.c +endif + ifeq ($(TARGET_USES_INTERACTION_BOOST),true) LOCAL_CFLAGS += -DINTERACTION_BOOST endif diff --git a/power/performance.h b/power/performance.h index 0f4aecf54..f217cd5c5 100755 --- a/power/performance.h +++ b/power/performance.h @@ -128,6 +128,7 @@ enum ONDEMAND_SAMPLING_DOWN_FACTOR_LVL { SAMPLING_DOWN_FACTOR_4 = 0xD04, }; + enum INTERACTIVE_TIMER_RATE_LVL { TR_MS_500 = 0xECD, TR_MS_100 = 0xEF5, @@ -136,6 +137,26 @@ enum INTERACTIVE_TIMER_RATE_LVL { TR_MS_20 = 0xEFD, }; +/* This timer rate applicable to cpu0 + across 8939 series chipset */ +enum INTERACTIVE_TIMER_RATE_LVL_CPU0_8939 { + TR_MS_CPU0_500 = 0x30CD, + TR_MS_CPU0_100 = 0x30F5, + TR_MS_CPU0_50 = 0x30FA, + TR_MS_CPU0_30 = 0x30FC, + TR_MS_CPU0_20 = 0x30FD, +}; + +/* This timer rate applicable to cpu4 + across 8939 series chipset */ +enum INTERACTIVE_TIMER_RATE_LVL_CPU4_8939 { + TR_MS_CPU4_500 = 0x3B0CD, + TR_MS_CPU4_100 = 0x3BF5, + TR_MS_CPU4_50 = 0x3BFA, + TR_MS_CPU4_30 = 0x3BFC, + TR_MS_CPU4_20 = 0x3BFD, +}; + enum INTERACTIVE_HISPEED_FREQ_LVL { HS_FREQ_1026 = 0xF0A, HS_FREQ_800 = 0xF08, diff --git a/power/power-8916.c b/power/power-8916.c new file mode 100644 index 000000000..aa7108584 --- /dev/null +++ b/power/power-8916.c @@ -0,0 +1,205 @@ +/* + * Copyright (c) 2015, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#define LOG_NIDEBUG 0 + +#include +#include +#include +#include +#include +#include +#include + +#define LOG_TAG "QTI PowerHAL" +#include +#include +#include + +#include "utils.h" +#include "metadata-defs.h" +#include "hint-data.h" +#include "performance.h" +#include "power-common.h" + +#define MIN_FREQ_CPU0_DISP_OFF 400000 +#define MIN_FREQ_CPU0_DISP_ON 960000 + +static int saved_dcvs_cpu0_slack_max = -1; +static int saved_dcvs_cpu0_slack_min = -1; +static int saved_mpdecision_slack_max = -1; +static int saved_mpdecision_slack_min = -1; +static int saved_interactive_mode = -1; +static int slack_node_rw_failed = 0; +static int display_hint_sent; +int display_boost; + +static int is_target_8916() /* Returns value=8916 if target is 8916 else value 0 */ +{ + int fd; + int is_target_8916=0; + char buf[10] = {0}; + + fd = open("/sys/devices/soc0/soc_id", O_RDONLY); + if (fd >= 0) { + if (read(fd, buf, sizeof(buf) - 1) == -1) { + ALOGW("Unable to read soc_id"); + is_target_8916 = 0; + } else { + int soc_id = atoi(buf); + if (soc_id == 206 || (soc_id >= 247 && soc_id <= 250)) { + is_target_8916 = 8916; /* Above SOCID for 8916 */ + } + } + } + close(fd); + return is_target_8916; +} + +int power_hint_override(struct power_module *module, power_hint_t hint, + void *data) +{ + + switch(hint) { + case POWER_HINT_VSYNC: + break; + case POWER_HINT_INTERACTION: + { + int resources[] = {0x702, 0x20F, 0x30F}; + int duration = 3000; + + interaction(duration, sizeof(resources)/sizeof(resources[0]), resources); + } + return HINT_HANDLED; + case POWER_HINT_VIDEO_ENCODE: /* Do nothing for encode case */ + return HINT_HANDLED; + case POWER_HINT_VIDEO_DECODE: /*Do nothing for encode case */ + return HINT_HANDLED; + } +return HINT_NONE; +} + +int set_interactive_override(struct power_module *module, int on) +{ + char governor[80]; + char tmp_str[NODE_MAX]; + struct video_encode_metadata_t video_encode_metadata; + int rc; + + ALOGI("Got set_interactive hint"); + + if (get_scaling_governor(governor, sizeof(governor)) == -1) { + ALOGE("Can't obtain scaling governor."); + + return HINT_HANDLED; + } + + if (!on) { + /* Display off. */ + switch(is_target_8916()) { + + case 8916: + { + if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && + (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { + int resource_values[] = {TR_MS_50, THREAD_MIGRATION_SYNC_OFF}; + + if (!display_hint_sent) { + perform_hint_action(DISPLAY_STATE_HINT_ID, + resource_values, sizeof(resource_values)/sizeof(resource_values[0])); + display_hint_sent = 1; + } + } /* Perf time rate set for 8916 target*/ + } /* End of Switch case for 8916 */ + break ; + + default: + { + if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && + (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { + int resource_values[] = {TR_MS_CPU0_50,TR_MS_CPU4_50, THREAD_MIGRATION_SYNC_OFF}; + + /* Set CPU0 MIN FREQ to 400Mhz avoid extra peak power + impact in volume key press */ + snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_OFF); + if (sysfs_write(SCALING_MIN_FREQ, tmp_str) != 0) { + if(!slack_node_rw_failed) { + ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); + } + rc = 1; + } + + if (!display_hint_sent) { + perform_hint_action(DISPLAY_STATE_HINT_ID, + resource_values, sizeof(resource_values)/sizeof(resource_values[0])); + display_hint_sent = 1; + } + } /* Perf time rate set for CORE0,CORE4 8939 target*/ + }/* End of Switch case for 8939 */ + break ; + } + + } else { + /* Display on. */ + switch(is_target_8916()){ + case 8916: + { + if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && + (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { + undo_hint_action(DISPLAY_STATE_HINT_ID); + display_hint_sent = 0; + } + } + break ; + default : + { + + if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && + (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { + + /* Recovering MIN_FREQ in display ON case */ + snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_ON); + if (sysfs_write(SCALING_MIN_FREQ, tmp_str) != 0) { + if(!slack_node_rw_failed) { + ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); + } + rc = 1; + } + undo_hint_action(DISPLAY_STATE_HINT_ID); + display_hint_sent = 0; + } + + } + break ; + } /* End of check condition during the DISPLAY ON case */ + } + saved_interactive_mode = !!on; + return HINT_HANDLED; +} + diff --git a/power/power-common.h b/power/power-common.h index c00ce4e33..ff04cccdf 100644 --- a/power/power-common.h +++ b/power/power-common.h @@ -33,6 +33,7 @@ #define DCVS_CPU0_SLACK_MIN_NODE "/sys/module/msm_dcvs/cores/cpu0/slack_time_min_us" #define MPDECISION_SLACK_MAX_NODE "/sys/module/msm_mpdecision/slack_time_max_us" #define MPDECISION_SLACK_MIN_NODE "/sys/module/msm_mpdecision/slack_time_min_us" +#define SCALING_MIN_FREQ "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq" #define ONDEMAND_GOVERNOR "ondemand" #define INTERACTIVE_GOVERNOR "interactive" From 27c4adcb2030cfd83bed1382e06068536b8e6553 Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Kansal Date: Tue, 5 May 2015 16:10:43 +0530 Subject: [PATCH 520/641] common: Change minfreq to 499.2Mhz during display off scenario. 1.Changes to set CPU0 min freq for 8952 target as below:. Display off case : set to 499.2Mhz Display on case : set to 960Mhz. 2.Changes to set CPU0 and CPU4 interactive timer rate values Display off cases : Set cpu0 and cpu4 to 50ms. Change-Id: I4a16e37191431f7299791696ab91c12f758c500c --- power/Android.mk | 4 ++ power/performance.h | 6 +- power/power-8952.c | 139 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 146 insertions(+), 3 deletions(-) create mode 100644 power/power-8952.c diff --git a/power/Android.mk b/power/Android.mk index 06e67bf23..72ac079a8 100644 --- a/power/Android.mk +++ b/power/Android.mk @@ -35,6 +35,10 @@ ifeq ($(call is-board-platform-in-list,msm8916), true) LOCAL_SRC_FILES += power-8916.c endif +ifeq ($(call is-board-platform-in-list,msm8952), true) +LOCAL_SRC_FILES += power-8952.c +endif + ifeq ($(TARGET_USES_INTERACTION_BOOST),true) LOCAL_CFLAGS += -DINTERACTION_BOOST endif diff --git a/power/performance.h b/power/performance.h index f217cd5c5..fc6c4bb6b 100755 --- a/power/performance.h +++ b/power/performance.h @@ -138,7 +138,7 @@ enum INTERACTIVE_TIMER_RATE_LVL { }; /* This timer rate applicable to cpu0 - across 8939 series chipset */ + across 8939/8952 series chipset */ enum INTERACTIVE_TIMER_RATE_LVL_CPU0_8939 { TR_MS_CPU0_500 = 0x30CD, TR_MS_CPU0_100 = 0x30F5, @@ -148,9 +148,9 @@ enum INTERACTIVE_TIMER_RATE_LVL_CPU0_8939 { }; /* This timer rate applicable to cpu4 - across 8939 series chipset */ + across 8939/8952 series chipset */ enum INTERACTIVE_TIMER_RATE_LVL_CPU4_8939 { - TR_MS_CPU4_500 = 0x3B0CD, + TR_MS_CPU4_500 = 0x3BCD, TR_MS_CPU4_100 = 0x3BF5, TR_MS_CPU4_50 = 0x3BFA, TR_MS_CPU4_30 = 0x3BFC, diff --git a/power/power-8952.c b/power/power-8952.c new file mode 100644 index 000000000..1a984b797 --- /dev/null +++ b/power/power-8952.c @@ -0,0 +1,139 @@ +/* + * Copyright (c) 2015, The Linux Foundation. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#define LOG_NIDEBUG 0 + +#include +#include +#include +#include +#include +#include +#include + +#define LOG_TAG "QTI PowerHAL" +#include +#include +#include + +#include "utils.h" +#include "metadata-defs.h" +#include "hint-data.h" +#include "performance.h" +#include "power-common.h" + +#define MIN_FREQ_CPU0_DISP_OFF 499200 +#define MIN_FREQ_CPU0_DISP_ON 960000 + +static int saved_interactive_mode = -1; +static int slack_node_rw_failed = 0; +static int display_hint_sent; + + +int power_hint_override(struct power_module *module, power_hint_t hint, + void *data) +{ + + switch(hint) { + case POWER_HINT_VSYNC: + break; + case POWER_HINT_INTERACTION: + { + int resources[] = {0x702, 0x20F, 0x30F}; + int duration = 3000; + + interaction(duration, sizeof(resources)/sizeof(resources[0]), resources); + } + return HINT_HANDLED; + case POWER_HINT_VIDEO_ENCODE: /* Do nothing for encode case */ + return HINT_HANDLED; + case POWER_HINT_VIDEO_DECODE: /*Do nothing for encode case */ + return HINT_HANDLED; + } +return HINT_NONE; +} + +int set_interactive_override(struct power_module *module, int on) +{ + char governor[80]; + char tmp_str[NODE_MAX]; + struct video_encode_metadata_t video_encode_metadata; + int rc; + + ALOGI("Got set_interactive hint"); + + if (get_scaling_governor(governor, sizeof(governor)) == -1) { + ALOGE("Can't obtain scaling governor."); + + return HINT_HANDLED; + } + + if (!on) { + /* Display off. */ + if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && + (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { + int resource_values[] = {TR_MS_CPU0_50,TR_MS_CPU4_50, THREAD_MIGRATION_SYNC_OFF}; + + /* Set CPU0 MIN FREQ to 499.2Mhz avoid extra peak power + impact in volume key press */ + snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_OFF); + if (sysfs_write(SCALING_MIN_FREQ, tmp_str) != 0) { + if(!slack_node_rw_failed) { + ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); + } + rc = 1; + } + if (!display_hint_sent) { + perform_hint_action(DISPLAY_STATE_HINT_ID, + resource_values, sizeof(resource_values)/sizeof(resource_values[0])); + display_hint_sent = 1; + } + } /* Perf time rate set for CORE0,CORE4 8952 target*/ + + } else { + /* Display on. */ + if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && + (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { + + /* Recovering MIN_FREQ in display ON case */ + snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_ON); + if (sysfs_write(SCALING_MIN_FREQ, tmp_str) != 0) { + if(!slack_node_rw_failed) { + ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); + } + rc = 1; + } + undo_hint_action(DISPLAY_STATE_HINT_ID); + display_hint_sent = 0; + } + } + saved_interactive_mode = !!on; + return HINT_HANDLED; +} + From 14da9b8c92c88ee6208cd2aecdf4600fca3ab72e Mon Sep 17 00:00:00 2001 From: Trishool Narayanasetty Date: Mon, 15 Jun 2015 16:58:52 +0530 Subject: [PATCH 521/641] rootdir: etc: change max readahead size to 128K in init Change the VM_MAX_READAHEAD value from the default 512K to 128K in the init script. Do this only for msm8909_512. Change-Id: I677b862f5508e1c251810780db52c19f23c5c59b --- rootdir/etc/init.qcom.post_boot.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 6029755df..ec681866b 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -979,6 +979,12 @@ case "$target" in soc_id=`cat /sys/devices/system/soc/soc0/id` fi + #Set mmcblk0 read_ahead value for 8909_512 target + ProductName=`getprop ro.product.name` + if [ "$ProductName" == "msm8909_512" ]; then + echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb + fi + #Enable adaptive LMK and set vmpressure_file_min echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min From 16840e1426a1d284957c02ac905f3578fc363bd2 Mon Sep 17 00:00:00 2001 From: Sravan Kumar Ambapuram Date: Wed, 20 May 2015 22:22:54 +0530 Subject: [PATCH 522/641] common: Changes timer rate during display off scenario. 1.Changes to set CPU0 and CPU4 interactive timer rate values -Display off cases:Set CPU0 and CPU4 to 50ms. 2.Removed min freq code change due to permission restriction. Change-Id: Ibcec0551e305137e5e465c21b61ab7db5ffcc2a3 --- power/power-8952.c | 36 +++++++++++------------------------- power/power-common.h | 8 +++++++- power/utils.c | 25 +++++++++++++++++++++++++ power/utils.h | 1 + 4 files changed, 44 insertions(+), 26 deletions(-) diff --git a/power/power-8952.c b/power/power-8952.c index 1a984b797..3fac1b236 100644 --- a/power/power-8952.c +++ b/power/power-8952.c @@ -48,11 +48,7 @@ #include "performance.h" #include "power-common.h" -#define MIN_FREQ_CPU0_DISP_OFF 499200 -#define MIN_FREQ_CPU0_DISP_ON 960000 - static int saved_interactive_mode = -1; -static int slack_node_rw_failed = 0; static int display_hint_sent; @@ -75,6 +71,8 @@ int power_hint_override(struct power_module *module, power_hint_t hint, return HINT_HANDLED; case POWER_HINT_VIDEO_DECODE: /*Do nothing for encode case */ return HINT_HANDLED; + default: + return HINT_HANDLED; } return HINT_NONE; } @@ -88,10 +86,15 @@ int set_interactive_override(struct power_module *module, int on) ALOGI("Got set_interactive hint"); - if (get_scaling_governor(governor, sizeof(governor)) == -1) { - ALOGE("Can't obtain scaling governor."); - - return HINT_HANDLED; + if (get_scaling_governor_check_cores(governor, sizeof(governor),CPU0) == -1) { + if (get_scaling_governor_check_cores(governor, sizeof(governor),CPU1) == -1) { + if (get_scaling_governor_check_cores(governor, sizeof(governor),CPU2) == -1) { + if (get_scaling_governor_check_cores(governor, sizeof(governor),CPU3) == -1) { + ALOGE("Can't obtain scaling governor."); + return HINT_HANDLED; + } + } + } } if (!on) { @@ -100,15 +103,6 @@ int set_interactive_override(struct power_module *module, int on) (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { int resource_values[] = {TR_MS_CPU0_50,TR_MS_CPU4_50, THREAD_MIGRATION_SYNC_OFF}; - /* Set CPU0 MIN FREQ to 499.2Mhz avoid extra peak power - impact in volume key press */ - snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_OFF); - if (sysfs_write(SCALING_MIN_FREQ, tmp_str) != 0) { - if(!slack_node_rw_failed) { - ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); - } - rc = 1; - } if (!display_hint_sent) { perform_hint_action(DISPLAY_STATE_HINT_ID, resource_values, sizeof(resource_values)/sizeof(resource_values[0])); @@ -121,14 +115,6 @@ int set_interactive_override(struct power_module *module, int on) if ((strncmp(governor, INTERACTIVE_GOVERNOR, strlen(INTERACTIVE_GOVERNOR)) == 0) && (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { - /* Recovering MIN_FREQ in display ON case */ - snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_ON); - if (sysfs_write(SCALING_MIN_FREQ, tmp_str) != 0) { - if(!slack_node_rw_failed) { - ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); - } - rc = 1; - } undo_hint_action(DISPLAY_STATE_HINT_ID); display_hint_sent = 0; } diff --git a/power/power-common.h b/power/power-common.h index ff04cccdf..5ba5e8102 100644 --- a/power/power-common.h +++ b/power/power-common.h @@ -34,10 +34,16 @@ #define MPDECISION_SLACK_MAX_NODE "/sys/module/msm_mpdecision/slack_time_max_us" #define MPDECISION_SLACK_MIN_NODE "/sys/module/msm_mpdecision/slack_time_min_us" #define SCALING_MIN_FREQ "/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq" - #define ONDEMAND_GOVERNOR "ondemand" #define INTERACTIVE_GOVERNOR "interactive" #define MSMDCVS_GOVERNOR "msm-dcvs" #define HINT_HANDLED (0) #define HINT_NONE (-1) + +enum CPU_GOV_CHECK { + CPU0 = 0, + CPU1 = 1, + CPU2 = 2, + CPU3 = 3 +}; diff --git a/power/utils.c b/power/utils.c index 5c7863e85..00e0ba8b0 100644 --- a/power/utils.c +++ b/power/utils.c @@ -40,6 +40,13 @@ #define LOG_TAG "QCOM PowerHAL" #include +char scaling_gov_path[4][80] ={ + "sys/devices/system/cpu/cpu0/cpufreq/scaling_governor", + "sys/devices/system/cpu/cpu1/cpufreq/scaling_governor", + "sys/devices/system/cpu/cpu2/cpufreq/scaling_governor", + "sys/devices/system/cpu/cpu3/cpufreq/scaling_governor" +}; + static void *qcopt_handle; static int (*perf_lock_acq)(unsigned long handle, int duration, int list[], int numArgs); @@ -171,6 +178,24 @@ int get_scaling_governor(char governor[], int size) return 0; } +int get_scaling_governor_check_cores(char governor[], int size,int core_num) +{ + + if (sysfs_read(scaling_gov_path[core_num], governor, + size) == -1) { + // Can't obtain the scaling governor. Return. + return -1; + } + + // Strip newline at the end. + int len = strlen(governor); + len--; + while (len >= 0 && (governor[len] == '\n' || governor[len] == '\r')) + governor[len--] = '\0'; + + return 0; +} + void interaction(int duration, int num_args, int opt_list[]) { #ifdef INTERACTION_BOOST diff --git a/power/utils.h b/power/utils.h index cd12c15cd..50d31dd8d 100644 --- a/power/utils.h +++ b/power/utils.h @@ -32,6 +32,7 @@ int sysfs_read(char *path, char *s, int num_bytes); int sysfs_write(char *path, char *s); int get_scaling_governor(char governor[], int size); +int get_scaling_governor_check_cores(char governor[], int size,int core_num); void vote_ondemand_io_busy_off(); void unvote_ondemand_io_busy_off(); From 80a2599ddea1bcd90cf36afe4c7dfa1bc2592c2f Mon Sep 17 00:00:00 2001 From: Trishool Narayanasetty Date: Mon, 15 Jun 2015 18:55:26 +0530 Subject: [PATCH 523/641] init: post_boot: Enable LMK,ALMK for MSM8909 This will enable adaptive LMK for all 8909 targets and sets vmpressure_file_min too. Also, this will set 8k LMK for 8909_512 targets. Change-Id: Idfc920514a954a3eb434832e75c3046bbec0bacf --- rootdir/etc/init.qcom.post_boot.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index ec681866b..ace0f352b 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -986,8 +986,15 @@ case "$target" in fi #Enable adaptive LMK and set vmpressure_file_min - echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + ProductName=`getprop ro.product.name` + if [ "$ProductName" == "msm8909" ] || [ "$ProductName" == "msm8909_LMT" ]; then + echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk + echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + elif [ "$ProductName" == "msm8909_512" ]; then + echo "8192,11264,14336,17408,20480,26624" > /sys/module/lowmemorykiller/parameters/minfree + echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk + echo 32768 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + fi # HMP scheduler settings for 8909 similiar to 8916 echo 3 > /proc/sys/kernel/sched_window_stats_policy From 27ce3569ff91e6e2d7dcf243502818ebe93308d6 Mon Sep 17 00:00:00 2001 From: Ajay Dudani Date: Tue, 7 Apr 2015 23:56:52 -0700 Subject: [PATCH 524/641] Drop frameworks dependency & declare/define functions before use. Change-Id: Ic9f1870bfbb1b719d0c78c45813b05cc882f00cf --- power/power-8916.c | 4 ++++ power/power-8952.c | 2 ++ power/power.c | 3 +++ power/utils.c | 2 ++ 4 files changed, 11 insertions(+) diff --git a/power/power-8916.c b/power/power-8916.c index aa7108584..bc8beefed 100644 --- a/power/power-8916.c +++ b/power/power-8916.c @@ -82,6 +82,10 @@ static int is_target_8916() /* Returns value=8916 if target is 8916 else value 0 return is_target_8916; } +/* Declare function before use */ +void interaction(int duration, int num_args, int opt_list[]); + + int power_hint_override(struct power_module *module, power_hint_t hint, void *data) { diff --git a/power/power-8952.c b/power/power-8952.c index 3fac1b236..194dbf3cf 100644 --- a/power/power-8952.c +++ b/power/power-8952.c @@ -51,6 +51,8 @@ static int saved_interactive_mode = -1; static int display_hint_sent; +/* Declare function before use */ +void interaction(int duration, int num_args, int opt_list[]); int power_hint_override(struct power_module *module, power_hint_t hint, void *data) diff --git a/power/power.c b/power/power.c index b69295edb..d3d23ecbe 100644 --- a/power/power.c +++ b/power/power.c @@ -194,6 +194,9 @@ int __attribute__ ((weak)) power_hint_override(struct power_module *module, powe return HINT_NONE; } +/* Declare function before use */ +void interaction(int duration, int num_args, int opt_list[]); + static void power_hint(struct power_module *module, power_hint_t hint, void *data) { diff --git a/power/utils.c b/power/utils.c index 00e0ba8b0..0aad8e163 100644 --- a/power/utils.c +++ b/power/utils.c @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include "utils.h" #include "list.h" From 0ada91ec028ef945ac0db3689d39e00157172b30 Mon Sep 17 00:00:00 2001 From: Satish Kamuju Date: Fri, 19 Jun 2015 14:43:42 +0530 Subject: [PATCH 525/641] device/qcom/common: Changes for initial compilation. Changes for initial compilation. Change-Id: Ib11a830a07a2507132966eb8f5759c10bfba4c24 --- .../base/core/res/res/values-mcc311-mnc480/config.xml | 1 - .../overlay/frameworks/base/core/res/res/values/config.xml | 5 ----- .../frameworks/base/core/res/res/xml/storage_list.xml | 2 -- .../apps/CellBroadcastReceiver/res/values/config.xml | 1 - .../overlay/packages/services/Telecomm/res/values/config.xml | 1 - 5 files changed, 10 deletions(-) diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml index 3330cda98..024198e97 100644 --- a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc480/config.xml @@ -34,7 +34,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - true true - - true - - - false true diff --git a/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml b/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml index 8eeb42ca5..1524f98a4 100755 --- a/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml +++ b/device/overlay/frameworks/base/core/res/res/xml/storage_list.xml @@ -49,13 +49,11 @@ android:removable="true" android:allowMassStorage="true" /> true - true diff --git a/device/overlay/packages/services/Telecomm/res/values/config.xml b/device/overlay/packages/services/Telecomm/res/values/config.xml index aa39b9c68..0fb64a583 100644 --- a/device/overlay/packages/services/Telecomm/res/values/config.xml +++ b/device/overlay/packages/services/Telecomm/res/values/config.xml @@ -35,5 +35,4 @@ true - true From 8e795b360177d23e5fd8930c3864a3271dc51888 Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Fri, 12 Jun 2015 12:14:58 +0530 Subject: [PATCH 526/641] Revert "init: create native cgroup" This reverts commit 3f8c938fa45452a6f1eff93888b67f14a633e3d0. The tasks created outside the android framework are moved to "native" cgroup from "root" cgroup, which otherwise have more CPU scheduling share compared to tasks in "apps" cgroup. The "apps" cgroup is removed in Android 5.1 release. Now all tasks except background (low priority) tasks are run under root. The tasks under "native" cgroup are experiencing higher scheduling latency compared to other tasks. Remove "native" cgroup as it is not required anymore. Change-Id: I4c194dc8db5e8b2e34c776020a8c94e0aec3b0b4 --- rootdir/etc/init.qcom.post_boot.sh | 33 ------------------------------ 1 file changed, 33 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index deb22401b..fefad59bd 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1118,36 +1118,3 @@ case "$target" in echo $oem_version > /sys/devices/soc0/image_crm_version ;; esac - -# Create native cgroup and move all tasks to it. Allot 15% real-time -# bandwidth limit to native cgroup (which is what remains after -# Android uses up 80% real-time bandwidth limit). root cgroup should -# become empty after all tasks are moved to native cgroup. - -CGROUP_ROOT=/dev/cpuctl -mkdir $CGROUP_ROOT/native -echo 150000 > $CGROUP_ROOT/native/cpu.rt_runtime_us - -# We could be racing with task creation, as a result of which its possible that -# we may fail to move all tasks from root cgroup to native cgroup in one shot. -# Retry few times before giving up. - -for loop_count in 1 2 3 -do - for i in $(cat $CGROUP_ROOT/tasks) - do - echo $i > $CGROUP_ROOT/native/tasks - done - - root_tasks=$(cat $CGROUP_ROOT/tasks) - if [ -z "$root_tasks" ] - then - break - fi -done - -# Check if we failed to move all tasks from root cgroup -if [ ! -z "$root_tasks" ] -then - echo "Error: Could not move all tasks to native cgroup" -fi From 4e59596c79de67221591fd7cdbd4146c774da64e Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Fri, 12 Jun 2015 12:14:58 +0530 Subject: [PATCH 527/641] Revert "init: create native cgroup" This reverts commit 3f8c938fa45452a6f1eff93888b67f14a633e3d0. The tasks created outside the android framework are moved to "native" cgroup from "root" cgroup, which otherwise have more CPU scheduling share compared to tasks in "apps" cgroup. The "apps" cgroup is removed in Android 5.1 release. Now all tasks except background (low priority) tasks are run under root. The tasks under "native" cgroup are experiencing higher scheduling latency compared to other tasks. Remove "native" cgroup as it is not required anymore. Change-Id: I4c194dc8db5e8b2e34c776020a8c94e0aec3b0b4 --- rootdir/etc/init.qcom.post_boot.sh | 33 ------------------------------ 1 file changed, 33 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index ace0f352b..37c50f0f0 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1236,36 +1236,3 @@ case "$target" in echo $oem_version > /sys/devices/soc0/image_crm_version ;; esac - -# Create native cgroup and move all tasks to it. Allot 15% real-time -# bandwidth limit to native cgroup (which is what remains after -# Android uses up 80% real-time bandwidth limit). root cgroup should -# become empty after all tasks are moved to native cgroup. - -CGROUP_ROOT=/dev/cpuctl -mkdir $CGROUP_ROOT/native -echo 150000 > $CGROUP_ROOT/native/cpu.rt_runtime_us - -# We could be racing with task creation, as a result of which its possible that -# we may fail to move all tasks from root cgroup to native cgroup in one shot. -# Retry few times before giving up. - -for loop_count in 1 2 3 -do - for i in $(cat $CGROUP_ROOT/tasks) - do - echo $i > $CGROUP_ROOT/native/tasks - done - - root_tasks=$(cat $CGROUP_ROOT/tasks) - if [ -z "$root_tasks" ] - then - break - fi -done - -# Check if we failed to move all tasks from root cgroup -if [ ! -z "$root_tasks" ] -then - echo "Error: Could not move all tasks to native cgroup" -fi From 7c02b18f6172746d0659c982b2020ba90967848d Mon Sep 17 00:00:00 2001 From: Pavankumar Kondeti Date: Fri, 12 Jun 2015 12:14:58 +0530 Subject: [PATCH 528/641] Revert "init: create native cgroup" This reverts commit 3f8c938fa45452a6f1eff93888b67f14a633e3d0. The tasks created outside the android framework are moved to "native" cgroup from "root" cgroup, which otherwise have more CPU scheduling share compared to tasks in "apps" cgroup. The "apps" cgroup is removed in Android 5.1 release. Now all tasks except background (low priority) tasks are run under root. The tasks under "native" cgroup are experiencing higher scheduling latency compared to other tasks. Remove "native" cgroup as it is not required anymore. Change-Id: I4c194dc8db5e8b2e34c776020a8c94e0aec3b0b4 --- rootdir/etc/init.qcom.post_boot.sh | 33 ------------------------------ 1 file changed, 33 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index deb22401b..fefad59bd 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1118,36 +1118,3 @@ case "$target" in echo $oem_version > /sys/devices/soc0/image_crm_version ;; esac - -# Create native cgroup and move all tasks to it. Allot 15% real-time -# bandwidth limit to native cgroup (which is what remains after -# Android uses up 80% real-time bandwidth limit). root cgroup should -# become empty after all tasks are moved to native cgroup. - -CGROUP_ROOT=/dev/cpuctl -mkdir $CGROUP_ROOT/native -echo 150000 > $CGROUP_ROOT/native/cpu.rt_runtime_us - -# We could be racing with task creation, as a result of which its possible that -# we may fail to move all tasks from root cgroup to native cgroup in one shot. -# Retry few times before giving up. - -for loop_count in 1 2 3 -do - for i in $(cat $CGROUP_ROOT/tasks) - do - echo $i > $CGROUP_ROOT/native/tasks - done - - root_tasks=$(cat $CGROUP_ROOT/tasks) - if [ -z "$root_tasks" ] - then - break - fi -done - -# Check if we failed to move all tasks from root cgroup -if [ ! -z "$root_tasks" ] -then - echo "Error: Could not move all tasks to native cgroup" -fi From dfe5f2067cd7ade5996d48ad3e42830837124cd8 Mon Sep 17 00:00:00 2001 From: Subramanian Srinivasan Date: Tue, 17 Feb 2015 13:08:38 -0800 Subject: [PATCH 529/641] Disables BLE Peripheral Adv name flag used in BT stack Disables BLE Peripheral Adv name compile time flag used in BT stack. When this flag is enabled, the framework API to disable the BLE Peripheral name in the BLE advertisement does not work. CRs-fixed: 770518 Change-Id: I644c5306347f568a340a86e5371ed6acabbe858a --- bdroid_buildcfg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bdroid_buildcfg.h b/bdroid_buildcfg.h index 81a87860e..88997d6c1 100644 --- a/bdroid_buildcfg.h +++ b/bdroid_buildcfg.h @@ -29,5 +29,5 @@ #define BLE_VND_INCLUDED TRUE // skips conn update at conn completion #define BTA_BLE_SKIP_CONN_UPD FALSE -#define BLE_PERIPHERAL_ADV_NAME TRUE +#define BLE_PERIPHERAL_ADV_NAME FALSE #endif From b9771e0bc727fc64bcca4c98ca9e0fe14eaae3f5 Mon Sep 17 00:00:00 2001 From: Abhishek Arpure Date: Tue, 23 Jun 2015 14:35:34 +0530 Subject: [PATCH 530/641] Enable bugreport collection from developer settings Add bugreport service to enable bugreport collection from developer settings. Change-Id: Ifd2078d8e7eb259162f482f7c8c5a38491666421 CRs-Fixed: 855805 --- rootdir/etc/init.qcom.rc | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 286dc7e13..14824bc65 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -945,3 +945,10 @@ service RIDL /system/vendor/bin/RIDLClient.exe class late_start user root group root + +# bugreport is triggered by developer options +service bugreport /system/bin/dumpstate -d -p -B \ + -o /data/data/com.android.shell/files/bugreports/bugreport + class main + disabled + oneshot From 0968fc0325e11c7b7e04a4729cba68498332cc97 Mon Sep 17 00:00:00 2001 From: Jack Yoo Date: Wed, 24 Jun 2015 10:47:38 -0700 Subject: [PATCH 531/641] Init: Changing persist misc mode To allow file access by ExtCarrierPack Change-Id: I3fafadd921455900ed4e187bfece1b3010c96995 --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 7193cd96f..cefb674c3 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -106,6 +106,7 @@ on boot chmod 2770 /dev/socket/qmux_gps mkdir /persist/drm 0770 system system + mkdir /persist/misc 0770 system system setprop wifi.interface wlan0 From 0ec50543739e6719d022317c4348e4bc423ee330 Mon Sep 17 00:00:00 2001 From: Paul Zhang Date: Fri, 19 Jun 2015 14:29:45 +0800 Subject: [PATCH 532/641] add wifi_ftmd service in init.qcom.rc This service is started on demand by FccTest app. Change-Id: Ia103ba92830f2531a422fafda7b10e38ef85f734 CRs-Fixed: 857183 --- rootdir/etc/init.qcom.rc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index ffc873af0..a1baa4280 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -642,6 +642,16 @@ service ptt_ffbm /system/bin/ptt_socket_app -f -d disabled oneshot +service wifi_ftmd /system/bin/wifi_ftmd + user system + group system inet net_admin + socket wififtmd_server dgram 0660 system system + disabled + oneshot + +on property:wifi.ftmd.load=true + insmod /system/lib/modules/wlan.ko con_mode=5 + service cnss_diag /system/bin/cnss_diag --q class main user root From 923bfe7bad26d199f0339e09855fb9276bf3968f Mon Sep 17 00:00:00 2001 From: Pradosh Das Date: Mon, 29 Jun 2015 18:50:38 +0530 Subject: [PATCH 533/641] Revert "Revert "init: create native cgroup"" This reverts commit 7c02b18f6172746d0659c982b2020ba90967848d. Change-Id: I811358db63aa25298049dd50bdc8eec954bbec70 --- rootdir/etc/init.qcom.post_boot.sh | 33 ++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 37c50f0f0..ace0f352b 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1236,3 +1236,36 @@ case "$target" in echo $oem_version > /sys/devices/soc0/image_crm_version ;; esac + +# Create native cgroup and move all tasks to it. Allot 15% real-time +# bandwidth limit to native cgroup (which is what remains after +# Android uses up 80% real-time bandwidth limit). root cgroup should +# become empty after all tasks are moved to native cgroup. + +CGROUP_ROOT=/dev/cpuctl +mkdir $CGROUP_ROOT/native +echo 150000 > $CGROUP_ROOT/native/cpu.rt_runtime_us + +# We could be racing with task creation, as a result of which its possible that +# we may fail to move all tasks from root cgroup to native cgroup in one shot. +# Retry few times before giving up. + +for loop_count in 1 2 3 +do + for i in $(cat $CGROUP_ROOT/tasks) + do + echo $i > $CGROUP_ROOT/native/tasks + done + + root_tasks=$(cat $CGROUP_ROOT/tasks) + if [ -z "$root_tasks" ] + then + break + fi +done + +# Check if we failed to move all tasks from root cgroup +if [ ! -z "$root_tasks" ] +then + echo "Error: Could not move all tasks to native cgroup" +fi From ef7a619f52a0e015a9b3d2b283490b1ca541d458 Mon Sep 17 00:00:00 2001 From: Bharat Pawar Date: Mon, 29 Jun 2015 20:19:50 +0530 Subject: [PATCH 534/641] Revert "common: generate 2K NAND images for msm8909" This reverts commit 4cc2d8bf8e48d44952bd0556546b3c31bbc08a2f. Change-Id: If24ea86cf059bfff0db7fb5edc2a14fe518b75a3 --- generate_extra_images.mk | 47 +++------------------------------------- 1 file changed, 3 insertions(+), 44 deletions(-) diff --git a/generate_extra_images.mk b/generate_extra_images.mk index 6217a3065..1bdab24f5 100644 --- a/generate_extra_images.mk +++ b/generate_extra_images.mk @@ -190,7 +190,7 @@ endif #---------------------------------------------------------------------- # Generate NAND images #---------------------------------------------------------------------- -ifeq ($(call is-board-platform-in-list,msm7627a msm7630_surf msm8909),true) +ifeq ($(call is-board-platform-in-list,msm7627a msm7630_surf),true) 2K_NAND_OUT := $(PRODUCT_OUT)/2k_nand_images @@ -279,8 +279,8 @@ define build-nand-bootimage @echo "target NAND boot image: $(3)" $(hide) mkdir -p $(1) $(hide) $(MKBOOTIMG) $(2) --output $(3) - $(hide) $(call assert-max-image-size,$@,$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw) endef + $(hide) $(call assert-max-image-size,$@,$(BOARD_BOOTIMAGE_PARTITION_SIZE),raw) endif # Generate system image for NAND @@ -305,49 +305,11 @@ endef define build-nand-persistimage @echo "target NAND persist image: $(3)" $(hide) mkdir -p $(1) - $(hide) $(MKYAFFS2) $(2) $(TARGET_OUT_PERSIST) $(3) + $(hide) $(MKYAFFS2) -f $(2) $(TARGET_OUT_PERSIST) $(3) $(hide) chmod a+r $(3) $(hide) $(call assert-max-image-size,$@,$(BOARD_PERSISTIMAGE_PARTITION_SIZE),yaffs) endef -ifeq ($(call is-board-platform,msm8909),true) - -$(INSTALLED_2K_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INSTALLED_BOOTIMAGE_TARGET) - $(hide) $(call build-nand-bootimage,$(2K_NAND_OUT),$(INTERNAL_2K_BOOTIMAGE_ARGS),$(INSTALLED_2K_BOOTIMAGE_TARGET)) - -$(INSTALLED_2K_SYSTEMIMAGE_TARGET): $(MKYAFFS2) $(INSTALLED_SYSTEMIMAGE) - $(hide) $(call build-nand-systemimage,$(2K_NAND_OUT),$(INTERNAL_2K_MKYAFFS2_FLAGS),$(INSTALLED_2K_SYSTEMIMAGE_TARGET)) - -$(INSTALLED_2K_USERDATAIMAGE_TARGET): $(MKYAFFS2) $(INSTALLED_USERDATAIMAGE_TARGET) - $(hide) $(call build-nand-userdataimage,$(2K_NAND_OUT),$(INTERNAL_2K_MKYAFFS2_FLAGS),$(INSTALLED_2K_USERDATAIMAGE_TARGET)) - -$(INSTALLED_2K_PERSISTIMAGE_TARGET): $(MKYAFFS2) $(INSTALLED_PERSISTIMAGE_TARGET) - $(hide) $(call build-nand-persistimage,$(2K_NAND_OUT),$(INTERNAL_2K_MKYAFFS2_FLAGS),$(INSTALLED_2K_PERSISTIMAGE_TARGET)) - -$(INSTALLED_2K_RECOVERYIMAGE_TARGET): $(MKBOOTIMG) $(INSTALLED_RECOVERYIMAGE_TARGET) $(recovery_nand_fstab) - $(hide) cp -f $(recovery_nand_fstab) $(TARGET_RECOVERY_ROOT_OUT)/etc - $(MKBOOTFS) $(TARGET_RECOVERY_ROOT_OUT) | $(MINIGZIP) > $(recovery_ramdisk) - $(hide) $(call build-nand-bootimage,$(2K_NAND_OUT),$(INTERNAL_2K_RECOVERYIMAGE_ARGS),$(INSTALLED_2K_RECOVERYIMAGE_TARGET)) - -ALL_DEFAULT_INSTALLED_MODULES += \ - $(INSTALLED_2K_BOOTIMAGE_TARGET) \ - $(INSTALLED_2K_SYSTEMIMAGE_TARGET) \ - $(INSTALLED_2K_USERDATAIMAGE_TARGET) \ - $(INSTALLED_2K_PERSISTIMAGE_TARGET) - -ALL_MODULES.$(LOCAL_MODULE).INSTALLED += \ - $(INSTALLED_2K_BOOTIMAGE_TARGET) \ - $(INSTALLED_2K_SYSTEMIMAGE_TARGET) \ - $(INSTALLED_2K_USERDATAIMAGE_TARGET) \ - $(INSTALLED_2K_PERSISTIMAGE_TARGET) - -ifneq ($(BUILD_TINY_ANDROID),true) -ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_2K_RECOVERYIMAGE_TARGET) -ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_2K_RECOVERYIMAGE_TARGET) -endif # !BUILD_TINY_ANDROID - -else - $(INSTALLED_4K_BOOTIMAGE_TARGET): $(MKBOOTIMG) $(INSTALLED_BOOTIMAGE_TARGET) $(hide) $(call build-nand-bootimage,$(4K_NAND_OUT),$(INTERNAL_4K_BOOTIMAGE_ARGS),$(INSTALLED_4K_BOOTIMAGE_TARGET)) ifeq ($(call is-board-platform,msm7627a),true) @@ -385,7 +347,6 @@ ifeq ($(call is-board-platform,msm7627a),true) $(hide) $(call build-nand-bootimage,$(BCHECC_OUT),$(INTERNAL_4K_RECOVERYIMAGE_ARGS),$(INSTALLED_BCHECC_RECOVERYIMAGE_TARGET)) endif # is-board-platform - ALL_DEFAULT_INSTALLED_MODULES += \ $(INSTALLED_4K_BOOTIMAGE_TARGET) \ $(INSTALLED_4K_SYSTEMIMAGE_TARGET) \ @@ -403,8 +364,6 @@ ALL_DEFAULT_INSTALLED_MODULES += $(INSTALLED_4K_RECOVERYIMAGE_TARGET) ALL_MODULES.$(LOCAL_MODULE).INSTALLED += $(INSTALLED_4K_RECOVERYIMAGE_TARGET) endif # !BUILD_TINY_ANDROID -endif - endif # is-board-platform-in-list ##################################################################################################### From 773098eb65085614425749a828b83242521c2085 Mon Sep 17 00:00:00 2001 From: Rajshekar Eashwarappa Date: Thu, 2 Jul 2015 14:38:04 +0530 Subject: [PATCH 535/641] Hack for download mode issue 8939 Download mode issue is fixed with this hack. Change-Id: Ibb205c05854d25d5d33ae7156afde05408da754e --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index ffc873af0..59012db4b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -739,7 +739,7 @@ service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh oneshot on property:sys.boot_completed=1 - start qcom-post-boot +// start qcom-post-boot start config-zram service atfwd /system/bin/ATFWD-daemon From 200f3e8764149e7c92bda6917aa20be96724f5c0 Mon Sep 17 00:00:00 2001 From: Jaime A Lopez-Sollano Date: Thu, 2 Jul 2015 13:18:07 -0700 Subject: [PATCH 536/641] sec_config: Add permissions for ril. RIL needs access to some QMI services Change-Id: Ief22e3cc225720c3e3572df966e86cfafafb68e5 Conflicts: sec_config --- sec_config | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/sec_config b/sec_config index 2ed23f57f..b55435b8b 100755 --- a/sec_config +++ b/sec_config @@ -272,3 +272,34 @@ /*Data Power Manager Daemon dpmd */ 1:4294967295:1000:3004 48:4294967295:1000:3004 +4:4294967295:1001:3004 +2797:4294967295:1001:3004 +2808:4294967295:1001:3004:1000 +/* DPM */ +47:4294967295:1001:3004 +/* Allow communication to some QMI services with radio privilages */ +/* Format is :: */ +/* PBM */ +12:4294967295:1001 +/* WMS */ +5:4294967295:1001 +/* IMS VT */ +32:4294967295:1001 +/* IMSP */ +31:4294967295:1001 +/* PDC */ +36:4294967295:1001 +/* SAR */ +17:4294967295:1001 +/* RFRPE */ +41:4294967295:1001 +/*UIM*/ +11:4294967295:1001 +/*CAT*/ +10:4294967295:1001 +/*IMSA*/ +33:4294967295:1001 +/* Allow Data dpmd to access QMI DFS */ +48:4294967295:1000:3004 +/* DIAG */ +4097:4294967295:3009 From df9577d8b8dedd12ac9347898ef1f5ccbff1cc83 Mon Sep 17 00:00:00 2001 From: padarshr Date: Thu, 9 Jul 2015 12:53:16 +0530 Subject: [PATCH 537/641] Update Storage Configuration Change-Id: Icfeae0900266a02b281123b5e028470533931f20 --- rootdir/etc/init.qcom.rc | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 59012db4b..48b3f7ffc 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -35,9 +35,6 @@ on early-init on init # Set permissions for persist partition mkdir /persist 0771 system system - # See storage config details at http://source.android.com/tech/storage/ - mkdir /mnt/shell/emulated 0700 shell shell - mkdir /storage/emulated 0555 root root mkdir /mnt/media_rw/sdcard1 0700 media_rw media_rw mkdir /mnt/media_rw/usbotg 0700 media_rw media_rw mkdir /mnt/media_rw/uicc0 0700 media_rw media_rw @@ -47,16 +44,12 @@ on init mkdir /storage/uicc1 0700 root root mkdir /storage/usbotg 0700 root root - export EXTERNAL_STORAGE /storage/emulated/legacy + export EXTERNAL_STORAGE /sdcard export SECONDARY_STORAGE /storage/sdcard1 - export EMULATED_STORAGE_SOURCE /mnt/shell/emulated - export EMULATED_STORAGE_TARGET /storage/emulated # Support legacy paths - symlink /storage/emulated/legacy /sdcard - symlink /storage/emulated/legacy /mnt/sdcard - symlink /storage/emulated/legacy /storage/sdcard0 - symlink /mnt/shell/emulated/0 /storage/emulated/legacy + symlink /sdcard /mnt/sdcard + symlink /sdcard /storage/sdcard0 on early-boot # set RLIMIT_MEMLOCK to 64MB @@ -194,9 +187,6 @@ on post-fs-data # we will remap this as /mnt/sdcard with the sdcard fuse tool mkdir /data/misc/camera 0770 camera camera - mkdir /data/media 0770 media_rw media_rw - chown media_rw media_rw /data/media - mkdir /data/misc/ipa 0700 net_admin net_admin mkdir /data/misc/bluetooth 0770 bluetooth bluetooth @@ -820,10 +810,6 @@ service profiler_daemon /system/bin/profiler_daemon group root disabled -# virtual sdcard daemon running as media_rw (1023) -service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated - class late_start - service fuse_sdcard1 /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/sdcard1 /storage/sdcard1 class late_start disabled @@ -839,11 +825,6 @@ service fuse_usbotg /system/bin/sdcard -u 1023 -g 1023 -w 1023 -d /mnt/media_rw/ class late_start disabled -# Binding fuse mount point to /storage/emulated/legacy -on property:init.svc.sdcard=running - wait /mnt/shell/emulated/0 - mount none /mnt/shell/emulated/0 /storage/emulated/legacy bind - service hcidump /system/bin/sh /system/etc/hcidump.sh user bluetooth group bluetooth system net_bt_admin net_admin From 3e388db05d7b7d11e8500b6d6136b0d6242655d0 Mon Sep 17 00:00:00 2001 From: Subash Abhinov Kasiviswanathan Date: Thu, 9 Apr 2015 16:36:14 -0600 Subject: [PATCH 538/641] init.qcom.rc: Make clients communicate with netmgrd using UNIX sockets Netmgrd was redesigned to add support for its clients to communicate with netmgr using unicast netlink messages to eliminate the need for the clients to have CAP_NET_ADMIN privileges. However, this approach brings up two new problems. - Clients need to scan through /proc//stat to find the PID of netmgrd. It is possible that a rogue process can call themselves netmgrd and the communication would happen with it instead. - Additionally we would need to add a SELinux policy which would be too permissive to scan through procfs entirely. A workaround for this was to not audit any failures in procfs but it is not a clean approach. Fix this by establishing communication using UNIX domain sockets for clients to talk to netmgrd. CRs-Fixed: 754937 Change-Id: Ice97b1eff69b1022ccfb2e1c324fb39dc76f3a35 --- rootdir/etc/init.qcom.rc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 48b3f7ffc..620b6d123 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -101,6 +101,9 @@ on boot mkdir /persist/drm 0770 system system mkdir /persist/misc 0770 system system + #Create NETMGR daemon socket area + mkdir /dev/socket/netmgr 0750 radio radio + setprop wifi.interface wlan0 # Define TCP buffer sizes for various networks From eab2f68925b91b5b71949c91a410a963325283da Mon Sep 17 00:00:00 2001 From: Ajay Dudani Date: Thu, 9 Apr 2015 18:20:00 -0700 Subject: [PATCH 539/641] Fixup to have /dev/diag allowed to 'diag' group. When building against AOSP tree, qcom_diag is not available, hence use 'diag' group. This should not be the norm though. Change-Id: Iea9607d8ff65b64eb3f1ef3680784b5fddcf785a --- rootdir/etc/ueventd.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 0bb2af899..ff76c5164 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -26,7 +26,7 @@ # # the DIAG device node is not world writable/readable. -/dev/diag 0660 system qcom_diag +/dev/diag 0660 system diag /dev/genlock 0666 system system /dev/kgsl 0666 system system From ef46a2e1aa9b44f5ef7802e702f070e56ebe4e44 Mon Sep 17 00:00:00 2001 From: Satish Kamuju Date: Tue, 26 May 2015 10:42:53 +0530 Subject: [PATCH 540/641] init: Use diag instead of qcom_diag group. Change-Id: Id97284ba02cab7bb4d66752a7d74c1c210daf2a4 --- rootdir/etc/init.qcom.rc | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 620b6d123..f859776af 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -293,7 +293,7 @@ on post-fs-data service qcomsysd /system/bin/qcom-system-daemon class main user root - group root qcom_diag + group root diag service ssr_setup /system/bin/ssr_setup oneshot @@ -429,7 +429,7 @@ on property:wc_transport.start_hci=false service start_hci_filter /system/bin/wcnss_filter class late_start user root - group bluetooth qcom_diag + group bluetooth diag disabled service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot" @@ -481,14 +481,14 @@ service btsnoop /system/bin/btsnoop service ftmd /system/bin/logwrapper /system/bin/ftmdaemon class late_start user root - group bluetooth net_bt_admin misc net_bt_stack qcom_diag + group bluetooth net_bt_admin misc net_bt_stack diag disabled oneshot service bridgemgrd /system/bin/bridgemgrd class late_start user radio - group radio qcom_diag + group radio diag disabled service port-bridge /system/bin/port-bridge /dev/mhi_pipe_32 /dev/ttyGS0 @@ -500,14 +500,14 @@ service port-bridge /system/bin/port-bridge /dev/mhi_pipe_32 /dev/ttyGS0 service qmiproxy /system/bin/qmiproxy class main user radio - group radio qcom_diag + group radio diag disabled # QMUX must be in multiple groups to support external process connections service qmuxd /system/bin/qmuxd class main user root - group radio audio bluetooth gps qcom_diag + group radio audio bluetooth gps nfc diag disabled service netmgrd /system/bin/netmgrd @@ -518,7 +518,7 @@ service ipacm-diag /system/bin/ipacm-diag class main user system socket ipacm_log_file dgram 660 system net_admin - group net_admin qcom_diag + group net_admin diag disabled service ipacm /system/bin/ipacm @@ -530,7 +530,7 @@ service ipacm /system/bin/ipacm service qti /system/vendor/bin/qti class main user radio - group radio net_raw qcom_diag usb net_admin + group radio net_raw diag usb net_admin disabled service sensors /system/bin/sensors.qcom @@ -677,7 +677,7 @@ service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG service loc_launcher /system/bin/loc_launcher #loc_launcher will start as root and set its uid to gps class late_start - group gps inet net_raw qcom_diag net_admin wifi + group gps inet net_raw diag net_admin wifi service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh class late_start @@ -779,7 +779,7 @@ service ril-daemon2 /system/bin/rild -c 2 socket rild-debug2 stream 660 radio system user root disabled - group radio cache inet misc audio sdcard_r sdcard_rw diag qcom_diag log + group radio cache inet misc audio sdcard_r sdcard_rw diag log service ril-daemon3 /system/bin/rild -c 3 class main @@ -787,7 +787,7 @@ service ril-daemon3 /system/bin/rild -c 3 socket rild-debug3 stream 660 radio system user root disabled - group radio cache inet misc audio sdcard_r sdcard_rw diag qcom_diag log + group radio cache inet misc audio sdcard_r sdcard_rw diag log service usb_uicc_enable /system/bin/sh /system/etc/init.qcom.uicc.sh class late_start @@ -874,14 +874,14 @@ on property:sys.qbcharger.enable=false service diag_mdlog_start /system/bin/diag_mdlog class late_start user shell - group system qcom_diag sdcard_rw sdcard_r media_rw + group system diag sdcard_rw sdcard_r media_rw disabled oneshot service diag_mdlog_stop /system/bin/diag_mdlog -k class late_start user shell - group system qcom_diag sdcard_rw sdcard_r media_rw + group system diag sdcard_rw sdcard_r media_rw disabled oneshot From 816a4ef7f05f9fd6ab275d4af9ba436a0e26eb9b Mon Sep 17 00:00:00 2001 From: Abdulla Anam Date: Wed, 29 Apr 2015 17:53:35 +0530 Subject: [PATCH 541/641] remove "libdrmdecrypt" library reference as the lib is obsolete libdrmdecrypt is removed and hence the library reference is also removed. Change-Id: Idff6ce23cb307f74756f406938bfeaa910fc8211 --- base.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/base.mk b/base.mk index e28099160..4f6880561 100644 --- a/base.mk +++ b/base.mk @@ -474,7 +474,6 @@ MM_CORE += libOmxCore #MM_VIDEO MM_VIDEO := ast-mm-vdec-omx-test -MM_VIDEO += libdivxdrmdecrypt MM_VIDEO += liblasic MM_VIDEO += libOmxSwVencMpeg4 MM_VIDEO += libOmxVdec From e2005448457ac86499fccbb0c1b3da90dc10391c Mon Sep 17 00:00:00 2001 From: c_sdamga Date: Thu, 9 Jul 2015 16:09:55 +0530 Subject: [PATCH 542/641] Bluetooth: Set hfp_client, avrcp controller,a2dp sink to false only source or sink at a given point of time is enabled. Change-Id: I23a1ad690e80dc303befe6b55ff40ec7560c185f --- .../overlay/packages/apps/Bluetooth/res/values/config.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/device/overlay/packages/apps/Bluetooth/res/values/config.xml b/device/overlay/packages/apps/Bluetooth/res/values/config.xml index cdd071a58..bd2400860 100644 --- a/device/overlay/packages/apps/Bluetooth/res/values/config.xml +++ b/device/overlay/packages/apps/Bluetooth/res/values/config.xml @@ -30,7 +30,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - true - true - true + false + false + false From dc795f9ab79b5278390cb8426c53b1c28e69e293 Mon Sep 17 00:00:00 2001 From: Hemant Gupta Date: Tue, 21 Jul 2015 23:57:09 +0530 Subject: [PATCH 543/641] Bluetooth: Enable SAP Server Enable SAP server Change-Id: Ifadb606a5cc686efc9b206bf954ab7380ab3bcab --- device/overlay/packages/apps/Bluetooth/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/device/overlay/packages/apps/Bluetooth/res/values/config.xml b/device/overlay/packages/apps/Bluetooth/res/values/config.xml index bd2400860..d67b57a4d 100644 --- a/device/overlay/packages/apps/Bluetooth/res/values/config.xml +++ b/device/overlay/packages/apps/Bluetooth/res/values/config.xml @@ -33,4 +33,5 @@ false false false + true From b886a08baac90a86282c9904e8646bef27953ece Mon Sep 17 00:00:00 2001 From: Sridhar Dubbaka Date: Tue, 21 Jul 2015 16:44:21 +0530 Subject: [PATCH 544/641] Enable Preferred network type options menu by default Overlay change to enable Preferred network type options menu by default. Change-Id: I3b14c182026cacb62df8cc878cbf5eea74b09b4d --- .../overlay/packages/services/Telephony/res/values/config.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/device/overlay/packages/services/Telephony/res/values/config.xml b/device/overlay/packages/services/Telephony/res/values/config.xml index 7de6c0880..878f33758 100644 --- a/device/overlay/packages/services/Telephony/res/values/config.xml +++ b/device/overlay/packages/services/Telephony/res/values/config.xml @@ -39,4 +39,7 @@ ignored and manual operator selection will always be available. See CPHS4_2.WW6, CPHS B.4.7.1 for more information --> true + + + true From 475c9ff30ffd9f61ffa6f884862bf2a53f1c2ebb Mon Sep 17 00:00:00 2001 From: Susheel Yadagiri Date: Tue, 21 Jul 2015 22:23:46 -0700 Subject: [PATCH 545/641] Skip Boot Jar check for QC modules Define SKIP_BOOT_JARS_CHECK to skip boot jar checks. Change-Id: I3615b504a079030337b8c23976adb0f20993b516 --- base.mk | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/base.mk b/base.mk index e28099160..56193a1c9 100644 --- a/base.mk +++ b/base.mk @@ -809,10 +809,8 @@ PRODUCT_PACKAGE_OVERLAYS += device/qcom/common/product/overlay PRODUCT_VERITY_PARTITION=/dev/block/bootdevice/by-name/system $(call inherit-product, build/target/product/verity.mk) -#skip boot jars check if QCPATH not available -ifeq ($(strip $(QCPATH)),) +#skip boot jars check SKIP_BOOT_JARS_CHECK := true -endif ifeq ($(TARGET_BUILD_VARIANT),user) PRODUCT_DEFAULT_PROPERTY_OVERRIDES+= \ From b10158d4a9ecb5851fa1a7c44594138e7bb1739b Mon Sep 17 00:00:00 2001 From: Venkateshwarlu Domakonda Date: Fri, 24 Jul 2015 15:48:17 +0530 Subject: [PATCH 546/641] init: qcom: factory: Fix the issue with FM module parameter In FFBM mode, not able to set the FMRadio transport module parameter. Gave enough permission to set. Change-Id: If157c710cd5d3ea50e52b1195a1657e8c98a9cd8 CRs-Fixed: 876930 --- rootdir/etc/init.qcom.factory.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rootdir/etc/init.qcom.factory.rc b/rootdir/etc/init.qcom.factory.rc index 14e0ce3a0..55e3ed921 100644 --- a/rootdir/etc/init.qcom.factory.rc +++ b/rootdir/etc/init.qcom.factory.rc @@ -63,6 +63,8 @@ on mmi chmod 0660 /dev/ttyHS0 chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock + chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set + chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set chmod 0660 /dev/ttyHS2 chown bluetooth bluetooth /dev/ttyHS2 From ef9f975f8af624c4730ff956daa17879154f3420 Mon Sep 17 00:00:00 2001 From: Sudhir Sharma Date: Wed, 13 May 2015 22:43:35 +0530 Subject: [PATCH 547/641] Remove RIDL from root Remove RIDL from root, using correct groups instead Change-Id: Id2433b51c1f0d4221b212ffc2667619a58e71997 --- rootdir/etc/init.qcom.rc | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a1baa4280..221bc76a5 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -186,6 +186,9 @@ on boot chown radio radio /data/misc/radio/copy_complete chmod 0660 /data/misc/radio/copy_complete + # Socket location for RIDL + mkdir /dev/socket/RIDL 2770 system system + # msm specific files that need to be created on /data on post-fs-data # Create directory for TZ Apps @@ -297,6 +300,12 @@ on post-fs-data # Sensor mkdir /persist/sensors 0770 system system + # RIDL data + mkdir /data/misc/SelfHost/ 0710 system shell + mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell + mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell + mkdir /data/misc/SelfHost/storage/ 0700 system shell + service qcomsysd /system/bin/qcom-system-daemon class main user root @@ -959,8 +968,11 @@ on property:sys.wfdservice=disable service RIDL /system/vendor/bin/RIDLClient.exe class late_start - user root - group root + oneshot + user system + group system inet log sdcard_r sdcard_rw + # removed for security team - misc bluetooth radio gps wifi diag media_rw + # limited to 12 groups. Unused: audio usb qcom_diag net_bt_admin net_bt_stac net_raw net_admin # bugreport is triggered by developer options service bugreport /system/bin/dumpstate -d -p -B \ From 184e8689396cab9b1289afddf1422752cbecc9be Mon Sep 17 00:00:00 2001 From: Sudhir Sharma Date: Thu, 18 Jun 2015 08:38:44 -0700 Subject: [PATCH 548/641] Add running directory for LogKit II Add new directory under SelfHost for storing a 'running' file Change-Id: I7f0d0d01327168f6596ae9d1e5ea593dd7eee1dd --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 221bc76a5..d9d24500c 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -305,6 +305,7 @@ on post-fs-data mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell mkdir /data/misc/SelfHost/storage/ 0700 system shell + mkdir /data/misc/SelfHost/Running/ 2750 system shell service qcomsysd /system/bin/qcom-system-daemon class main From 17d13f88d8d045472f6b9a10a6e5feea05f9ddb9 Mon Sep 17 00:00:00 2001 From: Venkateshwarlu Domakonda Date: Wed, 18 Mar 2015 16:24:25 +0530 Subject: [PATCH 549/641] init: qcom: Added support for static linking for radio-iris-transport module This patch makes iris FM driver static similar to the drivers for other targets. Change-Id: I7b0c6dd70148444df8930919294e86f2c9d20915 --- base.mk | 2 ++ rootdir/etc/init.qcom.fm.sh | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/base.mk b/base.mk index 56193a1c9..8c66993a1 100644 --- a/base.mk +++ b/base.mk @@ -184,6 +184,7 @@ FASTPOWERON := FastBoot #FM FM := qcom.fmradio FM += libqcomfm_jni +FM += libfmjni #GPS GPS_HARDWARE := gps.conf @@ -630,6 +631,7 @@ PRODUCT_PACKAGES := \ IM \ VoiceDialer \ FM2 \ + FMRadio \ FMRecord \ VideoEditor diff --git a/rootdir/etc/init.qcom.fm.sh b/rootdir/etc/init.qcom.fm.sh index 481e06fcd..1ad9fe146 100755 --- a/rootdir/etc/init.qcom.fm.sh +++ b/rootdir/etc/init.qcom.fm.sh @@ -1,5 +1,5 @@ #!/system/bin/sh -# Copyright (c) 2009-2011, The Linux Foundation. All rights reserved. +# Copyright (c) 2009-2011, 2015, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -67,7 +67,7 @@ case $mode in case $TRANSPORT in "smd") logi "inserting the radio transport module" - insmod /system/lib/modules/radio-iris-transport.ko + echo 1 > /sys/module/radio_iris_transport/parameters/fmsmd_set ;; *) logi "default transport case " From f2033d4b814ea88e87a6df701b981f55567c837d Mon Sep 17 00:00:00 2001 From: Santhosh Kumar H E Date: Wed, 5 Aug 2015 18:12:32 +0530 Subject: [PATCH 550/641] Camera: Extend face detection Add org.codeaurora.camera package to LOCOL_MODULES. It helps us to build org.codeaurora.camera.jar file. Change-Id: I727fc8c2c14b7bd50d8aa87d7d5df43c9926b805 --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index 56193a1c9..8f8fc1740 100644 --- a/base.mk +++ b/base.mk @@ -329,6 +329,7 @@ LIBCAMERA += libmmjpeg_interface LIBCAMERA += libqomx_core LIBCAMERA += mm-qcamera-app LIBCAMERA += camera_test +LIBCAMERA += org.codeaurora.camera #LIBCOPYBIT LIBCOPYBIT := copybit.msm8660 From b1fa037cc4a46a493338b4605cbe690c78d3685f Mon Sep 17 00:00:00 2001 From: Venkateshwarlu Domakonda Date: Thu, 18 Jun 2015 21:24:40 +0530 Subject: [PATCH 551/641] init: qcom: Fix the issue with fm_dl service - As the platform apps does not have permission to run the fm_dl service, run the fm_dl service during bootup to get the calibrartion data. - Gave dev node access permission to 3rd party application. Change-Id: I7fb49d4b01452d4efff8f06dfd3f6863407081b6 CRs-Fixed: 849294 --- rootdir/etc/init.qcom.fm.sh | 24 +++++------------------- rootdir/etc/init.qcom.rc | 5 +++-- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/rootdir/etc/init.qcom.fm.sh b/rootdir/etc/init.qcom.fm.sh index 1ad9fe146..b0fe4705a 100755 --- a/rootdir/etc/init.qcom.fm.sh +++ b/rootdir/etc/init.qcom.fm.sh @@ -29,11 +29,7 @@ setprop hw.fm.init 0 mode=`getprop hw.fm.mode` -version=`getprop hw.fm.version` -isAnalog=`getprop hw.fm.isAnalog` - -#find the transport type -TRANSPORT=`getprop ro.qualcomm.bt.hci_transport` +version=199217 LOG_TAG="qcom-fm" LOG_NAME="${0}:" @@ -56,24 +52,14 @@ failed () logi "In FM shell Script" logi "mode: $mode" -logi "isAnalog: $isAnalog" -logi "Transport : $TRANSPORT" logi "Version : $version" #$fm_qsoc_patches # case $mode in "normal") - case $TRANSPORT in - "smd") logi "inserting the radio transport module" - echo 1 > /sys/module/radio_iris_transport/parameters/fmsmd_set - ;; - *) - logi "default transport case " - ;; - esac - /system/bin/fm_qsoc_patches $version 0 + /system/bin/fm_qsoc_patches $version 0 ;; "wa_enable") /system/bin/fm_qsoc_patches $version 1 @@ -81,11 +67,11 @@ case $mode in "wa_disable") /system/bin/fm_qsoc_patches $version 2 ;; - "config_dac") - /system/bin/fm_qsoc_patches $version 3 $isAnalog - ;; *) + sleep 10 logi "Shell: Default case" + logi "inserting the radio transport module" + echo 1 > /sys/module/radio_iris_transport/parameters/fmsmd_set /system/bin/fm_qsoc_patches $version 0 ;; esac diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index f859776af..688ac2535 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -71,8 +71,10 @@ on boot chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite chown system system /sys/module/sco/parameters/disable_esco chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set + chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set chmod 0660 /sys/module/bluetooth_power/parameters/power chmod 0660 /sys/module/hci_smd/parameters/hcismd_set + chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set chmod 0660 /sys/class/rfkill/rfkill0/state chmod 0660 /proc/bluetooth/sleep/proto chown bluetooth bluetooth /dev/ttyHS0 @@ -681,9 +683,8 @@ service loc_launcher /system/bin/loc_launcher service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh class late_start - user root + user system group system - disabled oneshot on property:crypto.driver.load=1 From 21421ba788ba68bc0b900aa91245972c0045d6e9 Mon Sep 17 00:00:00 2001 From: Venkateshwarlu Domakonda Date: Tue, 21 Jul 2015 21:34:44 +0530 Subject: [PATCH 552/641] init: qcom: Fix the issue with fm_dl service - Open the SMD channel dynamically instead of bootup. - Remove dev node access permission to 3rd party application. Change-Id: I7486a59c298acbeede9f51145475f937a6e8de36 --- rootdir/etc/init.qcom.fm.sh | 4 +--- rootdir/etc/init.qcom.rc | 1 + rootdir/etc/ueventd.qcom.rc | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/rootdir/etc/init.qcom.fm.sh b/rootdir/etc/init.qcom.fm.sh index b0fe4705a..a3b163117 100755 --- a/rootdir/etc/init.qcom.fm.sh +++ b/rootdir/etc/init.qcom.fm.sh @@ -59,6 +59,7 @@ logi "Version : $version" case $mode in "normal") logi "inserting the radio transport module" + echo 1 > /sys/module/radio_iris_transport/parameters/fmsmd_set /system/bin/fm_qsoc_patches $version 0 ;; "wa_enable") @@ -68,10 +69,7 @@ case $mode in /system/bin/fm_qsoc_patches $version 2 ;; *) - sleep 10 logi "Shell: Default case" - logi "inserting the radio transport module" - echo 1 > /sys/module/radio_iris_transport/parameters/fmsmd_set /system/bin/fm_qsoc_patches $version 0 ;; esac diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 688ac2535..5921d0e3d 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -685,6 +685,7 @@ service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh class late_start user system group system + disabled oneshot on property:crypto.driver.load=1 diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index ff76c5164..f90ddaa43 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -51,7 +51,7 @@ #permissions for CSVT /dev/smd11 0660 radio radio -/dev/radio0 0644 system system +/dev/radio0 0640 system system /dev/rfcomm0 0660 bluetooth bluetooth /dev/ttyUSB0 0660 bluetooth bluetooth /dev/smdcntl0 0640 radio radio From a1941311aca261a26216da62e570d2a7b8048621 Mon Sep 17 00:00:00 2001 From: Venkateshwarlu Domakonda Date: Mon, 27 Jul 2015 18:10:30 +0530 Subject: [PATCH 553/641] init: qcom: Fix the issue with fm patch downloader Created separate fm directory to store calibration file. Change-Id: I20c3e10b028ef3e666591b2dbcfcb3ad3554ff7d --- rootdir/etc/init.qcom.rc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 5921d0e3d..dabf41521 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -292,6 +292,10 @@ on post-fs-data # Sensor mkdir /persist/sensors 0770 system system + #Create FM dir for patchdownloader + mkdir /data/misc/fm 0770 system system + chmod 0770 /data/misc/fm + service qcomsysd /system/bin/qcom-system-daemon class main user root From 6aa2a9a1c7d1867fc7fc910bac5fc27ebfa212f7 Mon Sep 17 00:00:00 2001 From: Praveen Chavan Date: Fri, 26 Jun 2015 13:25:48 -0700 Subject: [PATCH 554/641] base.mk : Include av enhancements library in PRODUCT_PACKAGES Build av-enhancements which enables audio/video value-added features Conflicts: base.mk Change-Id: I9ffdd938b03586eeebf48461d73a5753d73dc1e0 --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index 8c66993a1..e2f14388f 100644 --- a/base.mk +++ b/base.mk @@ -476,6 +476,7 @@ MM_CORE += libOmxCore #MM_VIDEO MM_VIDEO := ast-mm-vdec-omx-test MM_VIDEO += libdivxdrmdecrypt +MM_VIDEO += libavenhancements MM_VIDEO += liblasic MM_VIDEO += libOmxSwVencMpeg4 MM_VIDEO += libOmxVdec From 1073c4da81a23cbd66ff91acb6f158e6136a0fcb Mon Sep 17 00:00:00 2001 From: Bharat Pawar Date: Fri, 7 Aug 2015 17:24:37 +0530 Subject: [PATCH 555/641] Revert "Hack for download mode issue" This reverts commit 773098eb65085614425749a828b83242521c2085. Change-Id: I6964bb552db4477e594d2c873dfade7010f38ca6 --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index dabf41521..49d0ac8bb 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -738,7 +738,7 @@ service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh oneshot on property:sys.boot_completed=1 -// start qcom-post-boot + start qcom-post-boot start config-zram service atfwd /system/bin/ATFWD-daemon From 3643ddf264b01d04df214202d7a81decd903790f Mon Sep 17 00:00:00 2001 From: Trishool Narayanasetty Date: Fri, 5 Jun 2015 16:29:35 +0530 Subject: [PATCH 556/641] init.qcom.zram.sh: Enable zRam,PPR for 2GB Targets This will enable zRam, per-process reclaim for targets upto 2GB RAM. Change-Id: Iad58e518c16f5f11a2af8a53d6a0e727bdbf5d33 --- rootdir/etc/init.qcom.zram.sh | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/rootdir/etc/init.qcom.zram.sh b/rootdir/etc/init.qcom.zram.sh index 1be596abe..4c8d1d3f8 100644 --- a/rootdir/etc/init.qcom.zram.sh +++ b/rootdir/etc/init.qcom.zram.sh @@ -28,17 +28,10 @@ # The script will check total_ram and enable zram for devices with total_ram # less or equals to 1GB -MemTotalStr=`cat /proc/meminfo | grep MemTotal` -MemTotal=${MemTotalStr:16:8} -ZRAM_THRESHOLD=1048576 -IsLowMemory=0 -((IsLowMemory=MemTotal /sys/module/process_reclaim/parameters/enable_process_reclaim - echo 50 > /sys/module/process_reclaim/parameters/pressure_min - echo 70 > /sys/module/process_reclaim/parameters/pressure_max - echo 512 > /sys/module/process_reclaim/parameters/per_swap_size - echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff -fi +setprop ro.config.zram true +#Set per_process_reclaim tuning parameters +echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim +echo 50 > /sys/module/process_reclaim/parameters/pressure_min +echo 70 > /sys/module/process_reclaim/parameters/pressure_max +echo 512 > /sys/module/process_reclaim/parameters/per_swap_size +echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff From 0782df741e750d5212a581afc0b99b505617809f Mon Sep 17 00:00:00 2001 From: Liu Zongyu Date: Mon, 3 Aug 2015 13:25:35 +0800 Subject: [PATCH 557/641] device/qcom/common: remove launcher2 so the 3rd launcher app can install The 3rd launcher app may have same permission with launcher2, it will lead the packagemanager throw the exception and can't install successful. remove the launcher2, use trebuchet as default launcher. Change-Id: I9a7291b2cacced50be58285fedfc8d63521b02c3 CRs-fixed: 885109 --- base.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/base.mk b/base.mk index 4f6880561..a22a6c79c 100644 --- a/base.mk +++ b/base.mk @@ -613,7 +613,6 @@ PRODUCT_PACKAGES := \ Email \ Gallery2 \ LatinIME \ - Launcher2 \ Mms \ Music \ Phone \ From cf040299d830cb4f61d2fbab40c85bf0046e8d03 Mon Sep 17 00:00:00 2001 From: Puneet Mishra Date: Fri, 31 Jul 2015 11:59:47 +0100 Subject: [PATCH 558/641] ueventd.qcom.rc: add permissions for nqx nfc driver Set permissions for nq-nci driver. CRs-Fixed: 883637 Change-Id: I6139065cee3bbe409bfa27e61ccf95b4597a67be --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index 0bb2af899..aa50446c0 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -213,6 +213,7 @@ /dev/wcnss_ctrl 0660 system system #nfc permissions /dev/nfc-nci 0660 nfc nfc +/dev/nq-nci 0660 nfc nfc /dev/assd 0660 nfc nfc # UIO devices From 595491e520412bffbac2360f9ff26884a2fadff3 Mon Sep 17 00:00:00 2001 From: Naseer Ahmed Date: Tue, 28 Jul 2015 13:22:11 -0400 Subject: [PATCH 559/641] init: early_boot: Set up display permissions Setup ownership and permissions on display primary and external nodes. Change-Id: I01abc29a630e6a35ada940dba80e8e8c3e9b4a2e --- rootdir/etc/init.qcom.early_boot.sh | 44 ++++++++++++++++++++--------- rootdir/etc/init.qcom.rc | 1 + 2 files changed, 31 insertions(+), 14 deletions(-) diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index a8bcf09e9..cc346c286 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -168,10 +168,17 @@ case "$1" in ;; esac -# Setup HDMI related nodes & permissions +# Setup display nodes & permissions # HDMI can be fb1 or fb2 # Loop through the sysfs nodes and determine # the HDMI(dtv panel) + +function set_perms() { + #Usage set_perms + chown -h $2 $1 + chmod $3 $1 +} + for fb_cnt in 0 1 2 do file=/sys/class/graphics/fb$fb_cnt @@ -181,20 +188,29 @@ dev_file=/dev/graphics/fb$fb_cnt value=`cat $file/msm_fb_type` case "$value" in "dtv panel") - chown -h system.graphics $file/hpd - chown -h system.system $file/hdcp/tp - chown -h system.graphics $file/vendor_name - chown -h system.graphics $file/product_description - chmod -h 0664 $file/hpd - chmod -h 0664 $file/hdcp/tp - chmod -h 0664 $file/vendor_name - chmod -h 0664 $file/product_description - chmod -h 0664 $file/video_mode - chmod -h 0664 $file/format_3d - # create symbolic link + set_perms $file/hpd system.graphics 0664 + set_perms $file/res_info system.graphics 0664 + set_perms $file/vendor_name system.graphics 0664 + set_perms $file/product_description system.graphics 0664 + set_perms $file/video_mode system.graphics 0664 + set_perms $file/format_3d system.graphics 0664 + set_perms $file/s3d_mode system.graphics 0664 + set_perms $file/cec/enable system.graphics 0664 + set_perms $file/cec/logical_addr system.graphics 0664 + set_perms $file/cec/rd_msg system.graphics 0664 + set_perms $file/pa system.graphics 0664 + set_perms $file/cec/wr_msg system.graphics 0600 + set_perms $file/hdcp/tp system.graphics 0664 ln -s $dev_file /dev/graphics/hdmi - # Change owner and group for media server and surface flinger - chown -h system.system $file/format_3d;; esac + if [ $fb_cnt -eq 0 ] + then + set_perms $file/idle_time system.graphics 0664 + set_perms $file/dynamic_fps system.graphics 0664 + set_perms $file/dyn_pu system.graphics 0664 + set_perms $file/modes system.graphics 0664 + set_perms $file/mode system.graphics 0664 + fi fi done + diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 49d0ac8bb..3f8c3e629 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -61,6 +61,7 @@ on early-boot write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} write /sys/kernel/boot_adsp/boot 1 chown root audio /sys/kernel/boot_adsp/boot + exec u:r:qti_init_shell:s0 -- /init.qcom.early_boot.sh on boot chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power From d2ead059d65f483cb5f21e7fb14eaf99cf2befeb Mon Sep 17 00:00:00 2001 From: Kiran Kelageri Date: Wed, 5 Aug 2015 17:55:29 -0700 Subject: [PATCH 560/641] ANT: Enable ANT feature. Enabling ANT feature. Change-Id: Iac07480e2d169996877fa83d6d6d47d36e4bf727 --- bdroid_buildcfg.h | 1 + 1 file changed, 1 insertion(+) diff --git a/bdroid_buildcfg.h b/bdroid_buildcfg.h index 88997d6c1..82283a5ac 100644 --- a/bdroid_buildcfg.h +++ b/bdroid_buildcfg.h @@ -30,4 +30,5 @@ // skips conn update at conn completion #define BTA_BLE_SKIP_CONN_UPD FALSE #define BLE_PERIPHERAL_ADV_NAME FALSE +#define BT_CLEAN_TURN_ON_DISABLED 1 #endif From ceb48a1a6c1492fb1028456456ae355142f2a149 Mon Sep 17 00:00:00 2001 From: mohammed thasleem Date: Tue, 18 Aug 2015 14:17:17 +0530 Subject: [PATCH 561/641] msm8909w : add lunch combo for msm8909w msm8909w : add lunch combo for msm8909w Change-Id: Ib1276b75366b6133675fd7d5c2356e17992fbb39 --- base.mk | 1 + vendorsetup.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/base.mk b/base.mk index e2f14388f..5716315b9 100644 --- a/base.mk +++ b/base.mk @@ -13,6 +13,7 @@ QCOM_BOARD_PLATFORMS += msm8916_64 QCOM_BOARD_PLATFORMS += msm8994 QCOM_BOARD_PLATFORMS += msm8909 QCOM_BOARD_PLATFORMS += msm8909_512 +QCOM_BOARD_PLATFORMS += msm8909w QSD8K_BOARD_PLATFORMS := qsd8k diff --git a/vendorsetup.sh b/vendorsetup.sh index f75613b9b..9de80491f 100755 --- a/vendorsetup.sh +++ b/vendorsetup.sh @@ -44,3 +44,4 @@ add_lunch_combo thulium-userdebug add_lunch_combo msm8909-userdebug add_lunch_combo msm8909_512-userdebug add_lunch_combo msm8909_LMT-userdebug +add_lunch_combo msm8909w-userdebug From 1375f4a6cda8211d9120fc0e373ede725252798e Mon Sep 17 00:00:00 2001 From: Yashdev Singh Date: Mon, 20 Jul 2015 21:35:00 -0700 Subject: [PATCH 562/641] Implement framework for TelephonyPlugin. - Add the overlay config for customized telephony plugin library. Change-Id: I6142482e72cf7b9dd36bcc6d5f38424c7b19f5cc --- .../frameworks/base/core/res/res/values/config.xml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 4500cbed1..53ebcf07d 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -239,4 +239,12 @@ phone object irrespective of this config --> false + + com.qti.internal.telephony.QtiTelephonyPlugin + + + /system/framework/qti-telephony-common.jar + From 377557a662aea8cb65a67faf58948baec2618f2b Mon Sep 17 00:00:00 2001 From: Jack Yoo Date: Tue, 18 Aug 2015 17:18:22 -0700 Subject: [PATCH 563/641] Makefile: Picking up Launcher3 as a Launcher Build Launcher3 as a Launcher Change-Id: I29a7653968d51a265034e66db81c42d3192a2bd2 --- base.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base.mk b/base.mk index a22a6c79c..296939f84 100644 --- a/base.mk +++ b/base.mk @@ -152,7 +152,7 @@ CURL += curl #CM CM := CMFileManager -CM += Trebuchet +CM += Launcher3 CM += Eleven #DASH From 4d1d5b479f70cde92aa3cf253e504711851fdf3f Mon Sep 17 00:00:00 2001 From: AUDITYA BHATTARAM Date: Mon, 17 Aug 2015 15:01:32 +0530 Subject: [PATCH 564/641] Disable Jack & Jill compilation for time-being. Disable Jack & Jill compilation for time-being. Change-Id: Ibc3d4731845c932fbdab394f8e385615c2685bc9 --- base.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/base.mk b/base.mk index e2f14388f..c3413997b 100644 --- a/base.mk +++ b/base.mk @@ -17,6 +17,7 @@ QCOM_BOARD_PLATFORMS += msm8909_512 QSD8K_BOARD_PLATFORMS := qsd8k TARGET_USE_VENDOR_CAMERA_EXT := true +ANDROID_COMPILE_WITH_JACK := false #List of targets that use video hw MSM_VIDC_TARGET_LIST := msm8974 msm8610 msm8226 apq8084 msm8916 msm8994 msm8909 From 7c223058a9fb0118a43297582249bf4bd7d06d9f Mon Sep 17 00:00:00 2001 From: Manikanta Sivapala Date: Mon, 24 Aug 2015 20:02:04 +0530 Subject: [PATCH 565/641] base.mk: adding compilation of libextmedia_jni & libqcmediaplayer adding compilation of libextmedia_jni & libqcmediaplayer Change-Id: I8f3cf3ca277d535583b63da25a09e12ed4234c12 --- base.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/base.mk b/base.mk index 128689caa..36c054c1e 100644 --- a/base.mk +++ b/base.mk @@ -159,7 +159,9 @@ CM += Eleven #DASH DASH := libdashplayer +DASH += libqcmediaplayer DASH += qcmediaplayer +DASH += libextmedia_jni #EXTENDEDMEDIA_EXT EXTENDEDMEDIA_EXT := libextendedmediaextractor From a46a0546c7156da549e8002b101b3e644328fbe2 Mon Sep 17 00:00:00 2001 From: Avijit Kanti Das Date: Wed, 24 Jun 2015 21:50:03 -0700 Subject: [PATCH 566/641] qti-testscripts: Adding new service to init.qcom.rc. Adding new service for in init.qcom.rc for testing purpose This service is only for userdebug configuration. Change-Id: Id94a50bd6269a8a47ca1a8929b566c70a23d852e --- base.mk | 2 +- rootdir/Android.mk | 7 ++++++ rootdir/etc/init.qcom.rc | 8 +++++++ rootdir/etc/init.qcom.testscripts.sh | 33 ++++++++++++++++++++++++++++ 4 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 rootdir/etc/init.qcom.testscripts.sh diff --git a/base.mk b/base.mk index 128689caa..2a2a4c6d8 100644 --- a/base.mk +++ b/base.mk @@ -750,7 +750,7 @@ PRODUCT_PACKAGES += vcard PRODUCT_PACKAGES += tcmiface #intialise PRODUCT_PACKAGES_DEBUG list for debug modules -PRODUCT_PACKAGES_DEBUG := +PRODUCT_PACKAGES_DEBUG := init.qcom.testscripts.sh PRODUCT_COPY_FILES := \ diff --git a/rootdir/Android.mk b/rootdir/Android.mk index b39a357cd..ba536f808 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -212,6 +212,13 @@ LOCAL_MODULE_CLASS := ETC LOCAL_SRC_FILES := etc/init.qcom.debug.sh include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.testscripts.sh +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.qcom.testscripts.sh +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := init.qcom.zram.sh LOCAL_MODULE_TAGS := optional eng diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 626308103..6b363e854 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -739,6 +739,13 @@ service qcom-post-boot /system/bin/sh /system/etc/init.qcom.post_boot.sh disabled oneshot +service qti-testscripts /system/bin/sh /system/etc/init.qcom.testscripts.sh + class late_start + user root + disabled + oneshot + seclabel u:r:qti-testscripts:s0 + service wifi-sdio-on /system/bin/sh /system/etc/init.qcom.sdio.sh class late_start group wifi inet @@ -759,6 +766,7 @@ service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh on property:sys.boot_completed=1 start qcom-post-boot + start qti-testscripts start config-zram service atfwd /system/bin/ATFWD-daemon diff --git a/rootdir/etc/init.qcom.testscripts.sh b/rootdir/etc/init.qcom.testscripts.sh new file mode 100644 index 000000000..01b8c9c18 --- /dev/null +++ b/rootdir/etc/init.qcom.testscripts.sh @@ -0,0 +1,33 @@ +#!/system/bin/sh +# Copyright (c) 2015, The Linux Foundation. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of The Linux Foundation nor +# the names of its contributors may be used to endorse or promote +# products derived from this software without specific prior written +# permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# This is the file for test teams to trigger their test setup. +# +# Sample command: /system/bin/sh /sdcard/command.sh +# All the output files will be created under root privilege. Please use +# "adb root" before pulling the generated files. From f4d61d7627ad26e3b3e92e0471330e00973ef7b2 Mon Sep 17 00:00:00 2001 From: Divya Sharma Date: Thu, 30 Jul 2015 18:09:30 -0700 Subject: [PATCH 567/641] diag: Change /dev/diag group permission to qcom_diag Change the /dev/diag node group permission from diag to qcom_diag. Change-Id: I37a4683cadf65ca87676d294caaecdc3ed19b5d2 --- rootdir/etc/ueventd.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index abd769cfa..a7f69b2bb 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -26,7 +26,7 @@ # # the DIAG device node is not world writable/readable. -/dev/diag 0660 system diag +/dev/diag 0660 system qcom_diag /dev/genlock 0666 system system /dev/kgsl 0666 system system From 81d6a31af1242ef8978439e2fd64e79da63ea1b7 Mon Sep 17 00:00:00 2001 From: Chitti Babu Theegala Date: Wed, 19 Aug 2015 16:46:14 +0530 Subject: [PATCH 568/641] Add QPerformance jar to PRODUCT_BOOT_JARS Preloading QPerformance jar to ensure faster perflocks in Boost Framework Change-Id: I43c7ad46ad4abfabf2da140afecbb03c20d92c49 --- build/tasks/vendor_bootjars.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/tasks/vendor_bootjars.mk b/build/tasks/vendor_bootjars.mk index 794dde8e0..cc89cc5c2 100644 --- a/build/tasks/vendor_bootjars.mk +++ b/build/tasks/vendor_bootjars.mk @@ -6,6 +6,9 @@ ifneq ($(call is-vendor-board-platform,QCOM),true) #add extra jars here PRODUCT_BOOT_JARS += tcmiface +# Preloading QPerformance jar to ensure faster perflocks in Boost Framework +PRODUCT_BOOT_JARS += QPerformance + #call dex_preopt.mk for extra jars include $(BUILD_SYSTEM)/dex_preopt.mk From 26e57a4ef56604aff750085fcb370d6c581f4202 Mon Sep 17 00:00:00 2001 From: Mohit Aggarwal Date: Thu, 27 Aug 2015 13:16:15 +0530 Subject: [PATCH 569/641] device: qcom: common: Replace diag with qcom_diag Change-Id: Ice14d46be30c823c1bd0b5dca3db2b3e22da2c75 --- rootdir/etc/init.qcom.rc | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 626308103..59fd2b251 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -309,7 +309,7 @@ on post-fs-data service qcomsysd /system/bin/qcom-system-daemon class main user root - group root diag + group root qcom_diag service ssr_setup /system/bin/ssr_setup oneshot @@ -445,7 +445,7 @@ on property:wc_transport.start_hci=false service start_hci_filter /system/bin/wcnss_filter class late_start user root - group bluetooth diag + group bluetooth qcom_diag disabled service config_bluetooth /system/bin/sh /system/etc/init.qcom.bt.sh "onboot" @@ -497,14 +497,14 @@ service btsnoop /system/bin/btsnoop service ftmd /system/bin/logwrapper /system/bin/ftmdaemon class late_start user root - group bluetooth net_bt_admin misc net_bt_stack diag + group bluetooth net_bt_admin misc net_bt_stack qcom_diag disabled oneshot service bridgemgrd /system/bin/bridgemgrd class late_start user radio - group radio diag + group radio qcom_diag disabled service port-bridge /system/bin/port-bridge /dev/mhi_pipe_32 /dev/ttyGS0 @@ -516,14 +516,14 @@ service port-bridge /system/bin/port-bridge /dev/mhi_pipe_32 /dev/ttyGS0 service qmiproxy /system/bin/qmiproxy class main user radio - group radio diag + group radio qcom_diag disabled # QMUX must be in multiple groups to support external process connections service qmuxd /system/bin/qmuxd class main user root - group radio audio bluetooth gps nfc diag + group radio audio bluetooth gps nfc qcom_diag disabled service netmgrd /system/bin/netmgrd @@ -534,7 +534,7 @@ service ipacm-diag /system/bin/ipacm-diag class main user system socket ipacm_log_file dgram 660 system net_admin - group net_admin diag + group net_admin qcom_diag disabled service ipacm /system/bin/ipacm @@ -546,7 +546,7 @@ service ipacm /system/bin/ipacm service qti /system/vendor/bin/qti class main user radio - group radio net_raw diag usb net_admin + group radio net_raw qcom_diag usb net_admin disabled service sensors /system/bin/sensors.qcom @@ -703,7 +703,7 @@ service dhcpcd_bnep4 /system/bin/dhcpcd -BKLG service loc_launcher /system/bin/loc_launcher #loc_launcher will start as root and set its uid to gps class late_start - group gps inet net_raw diag net_admin wifi + group gps inet net_raw qcom_diag net_admin wifi service fm_dl /system/bin/sh /system/etc/init.qcom.fm.sh class late_start @@ -805,7 +805,7 @@ service ril-daemon2 /system/bin/rild -c 2 socket rild-debug2 stream 660 radio system user root disabled - group radio cache inet misc audio sdcard_r sdcard_rw diag log + group radio cache inet misc audio sdcard_r sdcard_rw qcom_diag log service ril-daemon3 /system/bin/rild -c 3 class main @@ -813,7 +813,7 @@ service ril-daemon3 /system/bin/rild -c 3 socket rild-debug3 stream 660 radio system user root disabled - group radio cache inet misc audio sdcard_r sdcard_rw diag log + group radio cache inet misc audio sdcard_r sdcard_rw qcom_diag log service usb_uicc_enable /system/bin/sh /system/etc/init.qcom.uicc.sh class late_start @@ -900,14 +900,14 @@ on property:sys.qbcharger.enable=false service diag_mdlog_start /system/bin/diag_mdlog class late_start user shell - group system diag sdcard_rw sdcard_r media_rw + group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot service diag_mdlog_stop /system/bin/diag_mdlog -k class late_start user shell - group system diag sdcard_rw sdcard_r media_rw + group system qcom_diag sdcard_rw sdcard_r media_rw disabled oneshot @@ -962,7 +962,7 @@ service RIDL /system/vendor/bin/RIDLClient.exe oneshot user system group system inet log sdcard_r sdcard_rw - # removed for security team - misc bluetooth radio gps wifi diag media_rw + # removed for security team - misc bluetooth radio gps wifi qcom_diag media_rw # limited to 12 groups. Unused: audio usb qcom_diag net_bt_admin net_bt_stac net_raw net_admin # bugreport is triggered by developer options From e1074155a77986f0a0d857ff55a354598f26f2c7 Mon Sep 17 00:00:00 2001 From: Sai Aitharaju Date: Tue, 14 Jul 2015 20:05:06 +0530 Subject: [PATCH 570/641] BTLogKit: Added BTLogKit to Product Packages BTLogKit is a new Android Application to set the logging trace levels of the Bluetooth bluedroid Stack dynamically. -- This Application is enabled in userdebug builds only. CRs-Fixed: 872836 Change-Id: Iaf06e622dc372104e9bfc088aad8cb4ae2c901e9 --- base.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/base.mk b/base.mk index d04c1a40e..6a66ff6f5 100644 --- a/base.mk +++ b/base.mk @@ -645,7 +645,8 @@ ifneq ($(TARGET_USES_AOSP),true) PRODUCT_PACKAGES += \ BluetoothExt \ BTTestApp \ - HiddTestApp + HiddTestApp \ + BTLogKit endif PRODUCT_PACKAGES += $(ALSA_HARDWARE) From 4dfeed60ab7f4f0dc4e641fd55ec0f6fa4345189 Mon Sep 17 00:00:00 2001 From: Sai Aitharaju Date: Wed, 5 Aug 2015 10:15:22 +0530 Subject: [PATCH 571/641] BTLogSave: Added BTLogSave to Product Packages -- BTLogSave is a new Android Application which runs in the background to capture the logcat messages. This app is controlled by BTLogKit application. -- This Application is enabled in userdebug builds only. CRs-Fixed: 885022 Change-Id: Id98cbe772671456002c5d326f6868a5ca48594e6 --- base.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/base.mk b/base.mk index 6a66ff6f5..a2383c20b 100644 --- a/base.mk +++ b/base.mk @@ -646,7 +646,8 @@ PRODUCT_PACKAGES += \ BluetoothExt \ BTTestApp \ HiddTestApp \ - BTLogKit + BTLogKit \ + BTLogSave endif PRODUCT_PACKAGES += $(ALSA_HARDWARE) From 88c5e53ec557b2b383f4c143f8580ec298a7cf54 Mon Sep 17 00:00:00 2001 From: Yashdev Singh Date: Tue, 25 Aug 2015 19:01:01 -0700 Subject: [PATCH 572/641] Telephony: Increase MMS PDN priority. Set MMS PDN request as the highest priority. Change-Id: I14b28544ce069ca3581ff7663fcd0b4068cc9f18 --- .../overlay/frameworks/base/core/res/res/values/config.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 53ebcf07d..da0450230 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -1,8 +1,7 @@ - + + + + 248 + From a8e91bf575de41b103e8cd130dc203f6428df32d Mon Sep 17 00:00:00 2001 From: Anshuman Dani Date: Tue, 22 Sep 2015 10:37:51 +0530 Subject: [PATCH 584/641] init.qcom.early_boot: Set ro.opengles.version based on chip id Set "ro.opengles.version" based on chid id MSM8916 variants supports Open GLES 3.0 MSM8939 variants supports Open GLES 3.1 CRs-Fixed: 899222 Change-Id: Ia63ee8feb0108f7022362a9fb2c550e8c5f05dca --- rootdir/etc/init.qcom.early_boot.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index 899e05b31..05df043bf 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -192,6 +192,19 @@ case "$platform" in setprop ro.sf.lcd_density 320 fi fi + + # Set ro.opengles.version based on chip id. + # MSM8939 variants supports OpenGLES 3.1 + # 196608 is decimal for 0x30000 to report version 3.0 + # 196609 is decimal for 0x30001 to report version 3.1 + case "$soc_hwid" in + 233|239|240|241|242|243|263|268|269|270|271) + setprop ro.opengles.version 196609 + ;; + *) + setprop ro.opengles.version 196608 + ;; + esac ;; esac From 4f0ab90e7f7d756717ba9e944161b143b85b402c Mon Sep 17 00:00:00 2001 From: Sumit Bajpai Date: Fri, 9 Jan 2015 14:49:41 +0530 Subject: [PATCH 585/641] BT-HFP: HFP1.7 AG support for 8939. Change-Id: I8765e3806197dcf2f978062b16e0653e7191e215 --- rootdir/etc/init.qcom.bt.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.bt.sh b/rootdir/etc/init.qcom.bt.sh index d8a018c8f..ecacf938a 100644 --- a/rootdir/etc/init.qcom.bt.sh +++ b/rootdir/etc/init.qcom.bt.sh @@ -160,7 +160,7 @@ config_bt () "msm8974" | "msm8226" | "msm8610" | "msm8916" | "msm8909" ) if [ "$btsoc" != "ath3k" ] then - setprop ro.bluetooth.hfp.ver 1.6 + setprop ro.bluetooth.hfp.ver 1.7 setprop ro.qualcomm.bt.hci_transport smd fi ;; From 4d97dbf6034f5cf267687c44a0115e7b0c38444e Mon Sep 17 00:00:00 2001 From: Nikhil Kumar Kansal Date: Wed, 22 Jul 2015 18:47:46 +0530 Subject: [PATCH 586/641] common: Fix to handle min freq changes when CPU cores hotplugged. Finds which CPU cores is online and does following below 1.Gets scaling governor 2.Sets scaling min freq Change-Id: I209a6228294c945e943ff285ac8f38b7f97337d6 --- power/power-8916.c | 59 +++++++++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 17 deletions(-) diff --git a/power/power-8916.c b/power/power-8916.c index bc8beefed..7bdd88804 100644 --- a/power/power-8916.c +++ b/power/power-8916.c @@ -51,6 +51,13 @@ #define MIN_FREQ_CPU0_DISP_OFF 400000 #define MIN_FREQ_CPU0_DISP_ON 960000 +char scaling_min_freq[4][80] ={ + "sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq", + "sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq", + "sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq", + "sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq" +}; + static int saved_dcvs_cpu0_slack_max = -1; static int saved_dcvs_cpu0_slack_min = -1; static int saved_mpdecision_slack_max = -1; @@ -105,6 +112,8 @@ int power_hint_override(struct power_module *module, power_hint_t hint, return HINT_HANDLED; case POWER_HINT_VIDEO_DECODE: /*Do nothing for encode case */ return HINT_HANDLED; + default: + return HINT_HANDLED; } return HINT_NONE; } @@ -117,11 +126,15 @@ int set_interactive_override(struct power_module *module, int on) int rc; ALOGI("Got set_interactive hint"); - - if (get_scaling_governor(governor, sizeof(governor)) == -1) { - ALOGE("Can't obtain scaling governor."); - - return HINT_HANDLED; + if (get_scaling_governor_check_cores(governor, sizeof(governor),CPU0) == -1) { + if (get_scaling_governor_check_cores(governor, sizeof(governor),CPU1) == -1) { + if (get_scaling_governor_check_cores(governor, sizeof(governor),CPU2) == -1) { + if (get_scaling_governor_check_cores(governor, sizeof(governor),CPU3) == -1) { + ALOGE("Can't obtain scaling governor."); + return HINT_HANDLED; + } + } + } } if (!on) { @@ -152,11 +165,17 @@ int set_interactive_override(struct power_module *module, int on) /* Set CPU0 MIN FREQ to 400Mhz avoid extra peak power impact in volume key press */ snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_OFF); - if (sysfs_write(SCALING_MIN_FREQ, tmp_str) != 0) { - if(!slack_node_rw_failed) { - ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); - } - rc = 1; + if (sysfs_write(scaling_min_freq[0], tmp_str) != 0) { + if (sysfs_write(scaling_min_freq[1], tmp_str) != 0) { + if (sysfs_write(scaling_min_freq[2], tmp_str) != 0) { + if (sysfs_write(scaling_min_freq[3], tmp_str) != 0) { + if(!slack_node_rw_failed) { + ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); + } + rc = 1; + } + } + } } if (!display_hint_sent) { @@ -188,13 +207,19 @@ int set_interactive_override(struct power_module *module, int on) (strlen(governor) == strlen(INTERACTIVE_GOVERNOR))) { /* Recovering MIN_FREQ in display ON case */ - snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_ON); - if (sysfs_write(SCALING_MIN_FREQ, tmp_str) != 0) { - if(!slack_node_rw_failed) { - ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); - } - rc = 1; - } + snprintf(tmp_str, NODE_MAX, "%d", MIN_FREQ_CPU0_DISP_ON); + if (sysfs_write(scaling_min_freq[0], tmp_str) != 0) { + if (sysfs_write(scaling_min_freq[1], tmp_str) != 0) { + if (sysfs_write(scaling_min_freq[2], tmp_str) != 0) { + if (sysfs_write(scaling_min_freq[3], tmp_str) != 0) { + if(!slack_node_rw_failed) { + ALOGE("Failed to write to %s",SCALING_MIN_FREQ ); + } + rc = 1; + } + } + } + } undo_hint_action(DISPLAY_STATE_HINT_ID); display_hint_sent = 0; } From 2b4749fafb4dd45aad169895be0de2b75d665fa5 Mon Sep 17 00:00:00 2001 From: AnilKumar Chimata Date: Fri, 22 May 2015 12:53:45 +0530 Subject: [PATCH 587/641] cryptfs_hw: Update APIs to take old password Update cryptfs_hw APIs to take old password along with the new passowrd. Change-Id: Ieca5c4bac36ba4bb2371d2f3bbe0cadf79e256d7 --- cryptfs_hw/cryptfs_hw.c | 26 ++++++++++++-------------- cryptfs_hw/cryptfs_hw.h | 2 +- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 6cfc8a2ba..7fc68e6c1 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -68,7 +68,6 @@ static unsigned int cpu_id[] = { }; static int loaded_library = 0; -static unsigned char current_passwd[MAX_PASSWORD_LEN]; static int (*qseecom_create_key)(int, void*); static int (*qseecom_update_key)(int, void*, void*); static int (*qseecom_wipe_key)(int); @@ -160,25 +159,25 @@ static int load_qseecom_library() * For NON-ICE targets, it would return 0 on success. On ICE based targets, * it would return key index in the ICE Key LUT */ -static int set_key(const char* passwd, const char* enc_mode, int operation) +static int set_key(const char* currentpasswd, const char* passwd, const char* enc_mode, int operation) { int err = -1; if (is_hw_disk_encryption(enc_mode) && load_qseecom_library()) { unsigned char* tmp_passwd = get_tmp_passwd(passwd); + unsigned char* tmp_currentpasswd = get_tmp_passwd(currentpasswd); if(tmp_passwd) { - if (operation == UPDATE_HW_DISK_ENC_KEY) - err = qseecom_update_key(map_usage(QSEECOM_DISK_ENCRYPTION), current_passwd, tmp_passwd); - else if (operation == SET_HW_DISK_ENC_KEY) + if (operation == UPDATE_HW_DISK_ENC_KEY) { + if (tmp_currentpasswd) + err = qseecom_update_key(map_usage(QSEECOM_DISK_ENCRYPTION), tmp_currentpasswd, tmp_passwd); + } else if (operation == SET_HW_DISK_ENC_KEY) { err = qseecom_create_key(map_usage(QSEECOM_DISK_ENCRYPTION), tmp_passwd); - - if(err >= 0) { - memset(current_passwd, 0, MAX_PASSWORD_LEN); - memcpy(current_passwd, tmp_passwd, MAX_PASSWORD_LEN); - } else { + } + if(err < 0) { if(ERR_MAX_PASSWORD_ATTEMPTS == err) wipe_userdata(); } free(tmp_passwd); + free(tmp_currentpasswd); } } return err; @@ -186,13 +185,12 @@ static int set_key(const char* passwd, const char* enc_mode, int operation) int set_hw_device_encryption_key(const char* passwd, const char* enc_mode) { - return set_key(passwd, enc_mode, SET_HW_DISK_ENC_KEY); + return set_key(NULL, passwd, enc_mode, SET_HW_DISK_ENC_KEY); } -int update_hw_device_encryption_key(const char* newpw, const char* enc_mode) +int update_hw_device_encryption_key(const char* oldpw, const char* newpw, const char* enc_mode) { - - return set_key(newpw, enc_mode, UPDATE_HW_DISK_ENC_KEY); + return set_key(oldpw, newpw, enc_mode, UPDATE_HW_DISK_ENC_KEY); } unsigned int is_hw_disk_encryption(const char* encryption_mode) diff --git a/cryptfs_hw/cryptfs_hw.h b/cryptfs_hw/cryptfs_hw.h index 10b690d75..3ec42c694 100644 --- a/cryptfs_hw/cryptfs_hw.h +++ b/cryptfs_hw/cryptfs_hw.h @@ -34,7 +34,7 @@ extern "C" { #endif int set_hw_device_encryption_key(const char*, const char*); -int update_hw_device_encryption_key(const char*, const char*); +int update_hw_device_encryption_key(const char*, const char*, const char*); int wipe_hw_device_encryption_key(const char*); unsigned int is_hw_disk_encryption(const char*); unsigned int is_hw_fde_enabled(void); From 271dc26d35ec05e2121698b8749cd767b78504bb Mon Sep 17 00:00:00 2001 From: AnilKumar Chimata Date: Fri, 21 Aug 2015 00:04:26 +0530 Subject: [PATCH 588/641] cryptfs_hw: Update module as per vold project Update cryptfs_hw API signature as per the vold project request to avoid compilation errors. Change-Id: I1c2133f3cee395892e7fa160afc6314059ba0bcb --- cryptfs_hw/cryptfs_hw.c | 8 +++----- cryptfs_hw/cryptfs_hw.h | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 7fc68e6c1..21ce247ac 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -205,12 +206,9 @@ unsigned int is_hw_disk_encryption(const char* encryption_mode) return ret; } -int wipe_hw_device_encryption_key(const char* enc_mode) +int clear_hw_device_encryption_key(void) { - if (!enc_mode) - return -1; - - if (is_hw_disk_encryption(enc_mode) && load_qseecom_library()) + if (load_qseecom_library()) return qseecom_wipe_key(map_usage(QSEECOM_DISK_ENCRYPTION)); return 0; diff --git a/cryptfs_hw/cryptfs_hw.h b/cryptfs_hw/cryptfs_hw.h index 3ec42c694..6909f1e2f 100644 --- a/cryptfs_hw/cryptfs_hw.h +++ b/cryptfs_hw/cryptfs_hw.h @@ -35,7 +35,7 @@ extern "C" { int set_hw_device_encryption_key(const char*, const char*); int update_hw_device_encryption_key(const char*, const char*, const char*); -int wipe_hw_device_encryption_key(const char*); +int clear_hw_device_encryption_key(void); unsigned int is_hw_disk_encryption(const char*); unsigned int is_hw_fde_enabled(void); int is_ice_enabled(void); From dacb320c14a31293f5ccfcb7c545f001720dc6a4 Mon Sep 17 00:00:00 2001 From: padarshr Date: Fri, 6 Feb 2015 11:48:42 +0530 Subject: [PATCH 589/641] Change tftp_server class from core to main Because of an open file on /data by this module, encryption was failing as /data unmounting failed, so changing this to main class to make encryption successful. Change-Id: I52a1f0f8abb51234f54be0ddbcc4016df52c466e --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 47e722d1f..8ccf8966b 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -435,7 +435,7 @@ service rfs_access /system/bin/rfs_access group system net_raw service tftp_server /system/bin/tftp_server - class core + class main user root on property:wc_transport.start_hci=true From 942c9f2361aa532771613572f0700d41e0f675ef Mon Sep 17 00:00:00 2001 From: Dinesh K Garg Date: Wed, 2 Sep 2015 13:45:15 -0700 Subject: [PATCH 590/641] cryptfs_hw: Tie HW FDE keys with keymaster HW FDE keys would be tied to keymaster so that if someone changes Root of Trust (ROT), encrypted data can't be used. Cryptfs_hw module is exposing a new API so that caller can determine whether to create dependency between HW FDE keys and keymaster. Change-Id: I85c85ffd9086f6c060032e4ae701b10363d88529 --- cryptfs_hw/Android.mk | 5 ++++- cryptfs_hw/cryptfs_hw.c | 37 +++++++++++++++++++++++++++++++++++++ cryptfs_hw/cryptfs_hw.h | 1 + 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/cryptfs_hw/Android.mk b/cryptfs_hw/Android.mk index 5dec7601f..4b55f68c1 100644 --- a/cryptfs_hw/Android.mk +++ b/cryptfs_hw/Android.mk @@ -8,7 +8,10 @@ sourceFiles := \ commonSharedLibraries := \ libcutils \ libutils \ - libdl + libdl \ + libhardware +commonIncludes := \ + hardware/libhardware/include/hardware/ LOCAL_C_INCLUDES := $(commonIncludes) LOCAL_SRC_FILES := $(sourceFiles) diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 21ce247ac..220f6c973 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -38,6 +38,8 @@ #include "cutils/log.h" #include "cutils/properties.h" #include "cutils/android_reboot.h" +#include "keymaster_common.h" +#include "hardware.h" #if defined(__LP64__) #define QSEECOM_LIBRARY_PATH "/vendor/lib64/libQSEEComAPI.so" @@ -68,6 +70,8 @@ static unsigned int cpu_id[] = { 239, /* MSM8939 SOC ID */ }; +#define KEYMASTER_PARTITION_NAME "/dev/block/bootdevice/by-name/keymaster" + static int loaded_library = 0; static int (*qseecom_create_key)(int, void*); static int (*qseecom_update_key)(int, void*, void*); @@ -285,3 +289,36 @@ int is_ice_enabled(void) } return storage_type; } + +static int get_keymaster_version() +{ + int rc = -1; + const hw_module_t* mod; + rc = hw_get_module_by_class(KEYSTORE_HARDWARE_MODULE_ID, NULL, &mod); + if (rc) { + SLOGE("could not find any keystore module"); + return rc; + } + + return mod->module_api_version; +} + +int should_use_keymaster() +{ + /* HW FDE key would be tied to keymaster only if: + * New Keymaster is available + * keymaster partition exists on the device + */ + int rc = 0; + if (get_keymaster_version() != KEYMASTER_MODULE_API_VERSION_1_0) { + SLOGI("Keymaster version is not 1.0"); + return rc; + } + + if (access(KEYMASTER_PARTITION_NAME, F_OK) == -1) { + SLOGI("Keymaster partition does not exists"); + return rc; + } + + return 1; +} diff --git a/cryptfs_hw/cryptfs_hw.h b/cryptfs_hw/cryptfs_hw.h index 6909f1e2f..f0351b3b4 100644 --- a/cryptfs_hw/cryptfs_hw.h +++ b/cryptfs_hw/cryptfs_hw.h @@ -39,6 +39,7 @@ int clear_hw_device_encryption_key(void); unsigned int is_hw_disk_encryption(const char*); unsigned int is_hw_fde_enabled(void); int is_ice_enabled(void); +int should_use_keymaster(); #ifdef __cplusplus } From 32dc8e38a84ba9c99b09ad4165034d13ef0a34f8 Mon Sep 17 00:00:00 2001 From: Pradosh Das Date: Wed, 14 Oct 2015 11:51:01 +0530 Subject: [PATCH 591/641] Revert "Makefile: Picking up Launcher3 as a Launcher" This reverts commit 377557a662aea8cb65a67faf58948baec2618f2b. Change-Id: Id12951527d5548d9cd4806887fc8168d93627a08 --- base.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base.mk b/base.mk index c168783e9..0e57455d6 100644 --- a/base.mk +++ b/base.mk @@ -154,7 +154,7 @@ CURL += curl #CM CM := CMFileManager -CM += Launcher3 +CM += Trebuchet CM += Eleven #DASH From 6d897644d6ae23b2be9ec79677031a583d9927eb Mon Sep 17 00:00:00 2001 From: Shiv Maliyappanahalli Date: Tue, 3 Mar 2015 15:55:10 -0800 Subject: [PATCH 592/641] audio: Add appropriate permission for avtimer driver Update the permisions for avtimer driver so that only apps with audio group permission can open it Change-Id: If3eabd988dfa5537037f5a1936ad254ec3eab9bf --- rootdir/etc/ueventd.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index a7f69b2bb..de9d4a79d 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -161,6 +161,7 @@ /dev/ttyGS0 0660 system system /dev/i2c-5 0660 media media /dev/voice_svc 0660 system audio +/dev/avtimer 0660 system audio # DVB devices /dev/dvb/adapter0/demux* 0440 media media From aa90f84d04fe0e2ca7581e86c51ace8761d83342 Mon Sep 17 00:00:00 2001 From: Nitin Shivpure Date: Fri, 18 Sep 2015 18:45:56 +0530 Subject: [PATCH 593/641] Overlay: BT: enable HFP client Enabling HFP client in config file. Change-Id: I3ef8fd54b3f8c5c061ad5ad05c55f6b5049d9a73 --- device/overlay/packages/apps/Bluetooth/res/values/config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device/overlay/packages/apps/Bluetooth/res/values/config.xml b/device/overlay/packages/apps/Bluetooth/res/values/config.xml index d67b57a4d..a40d031e2 100644 --- a/device/overlay/packages/apps/Bluetooth/res/values/config.xml +++ b/device/overlay/packages/apps/Bluetooth/res/values/config.xml @@ -30,7 +30,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --> - false + true false false true From 77f85b552def40ad60f28ef2996f7aeff5dc4c94 Mon Sep 17 00:00:00 2001 From: Ravinder Konka Date: Tue, 8 Sep 2015 14:23:02 +0530 Subject: [PATCH 594/641] init.qcom.post_boot.sh: Setting rps mask value to 2 during init Enabled rps with the mask value of 2 during the time of initialization. Note this change is only applicable to this Branch.(BR.1.2.4) Change-Id: I0f932f6e5e8372d638be2c90778bdd0bae159e76 CRs-fixed: 902473 --- rootdir/etc/init.qcom.post_boot.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) mode change 100755 => 100644 rootdir/etc/init.qcom.post_boot.sh diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh old mode 100755 new mode 100644 index bfdc7146c..0f59698e6 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -343,11 +343,18 @@ case "$target" in soc_id=`cat /sys/devices/system/soc/soc0/id` fi case "$soc_id" in - "206" | "247" | "248" | "249" | "250") + "206") echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled echo 1 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu2/online echo 1 > /sys/devices/system/cpu/cpu3/online + echo 2 > /sys/class/net/rmnet0/queues/rx-0/rps_cpus + ;; + "247" | "248" | "249" | "250") + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online ;; "239" | "241" | "263") if [ -f /sys/devices/soc0/revision ]; then From e98c6183a0f1395fe8737a6cbdedbcf372e02403 Mon Sep 17 00:00:00 2001 From: Chaitanya Saggurthi Date: Mon, 21 Sep 2015 14:53:38 +0530 Subject: [PATCH 595/641] Add operator specific voice replacement RAT Add operator specific voice replacement RAT for an operator based on MCC and MNC. Change-Id: Icac1d56f6f6067c5d6830e14f250757e36af8fa0 CRs-Fixed: 887004 --- .../res/res/values-mcc310-mnc120/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc311-mnc490/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc311-mnc870/config.xml | 36 +++++++++++++++++++ .../res/res/values-mcc311-mnc940/config.xml | 36 +++++++++++++++++++ 4 files changed, 144 insertions(+) create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc311-mnc490/config.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc311-mnc870/config.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc311-mnc940/config.xml diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml new file mode 100644 index 000000000..477f28ce7 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc310-mnc120/config.xml @@ -0,0 +1,36 @@ + + + + + + + 6 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc490/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc490/config.xml new file mode 100644 index 000000000..477f28ce7 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc490/config.xml @@ -0,0 +1,36 @@ + + + + + + + 6 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc870/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc870/config.xml new file mode 100644 index 000000000..477f28ce7 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc870/config.xml @@ -0,0 +1,36 @@ + + + + + + + 6 + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc940/config.xml b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc940/config.xml new file mode 100644 index 000000000..477f28ce7 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc311-mnc940/config.xml @@ -0,0 +1,36 @@ + + + + + + + 6 + From 8bbe7bf0599f307d0ad26e0a8b923c6bb1538bdd Mon Sep 17 00:00:00 2001 From: AnubhavGupta Date: Mon, 20 Jul 2015 17:58:28 +0530 Subject: [PATCH 596/641] Bluetooth: Enable A2DP Sink Enable A2DP Sink in overlays Change-Id: Iebcc7957a5aa4c94b9e727b5aa35fc5cc1631e65 --- device/overlay/packages/apps/Bluetooth/res/values/config.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/device/overlay/packages/apps/Bluetooth/res/values/config.xml b/device/overlay/packages/apps/Bluetooth/res/values/config.xml index a40d031e2..679153987 100644 --- a/device/overlay/packages/apps/Bluetooth/res/values/config.xml +++ b/device/overlay/packages/apps/Bluetooth/res/values/config.xml @@ -31,7 +31,7 @@ --> true - false - false + true + true true From 7e203d53c64ab6d4f85a802c0337aca2e749ff88 Mon Sep 17 00:00:00 2001 From: Sukanya Rajkhowa Date: Thu, 16 Jan 2014 19:56:33 -0800 Subject: [PATCH 597/641] Support Cell Broadcast for India Add config options for supporting channel 50 and 60 cell broadcasts for India Change-Id: Iee43e2c2ce4936fbbe200021c133449de126e885 CRs-Fixed: 576013 --- .../packages/apps/CellBroadcastReceiver/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) mode change 100755 => 100644 device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml diff --git a/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml b/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml old mode 100755 new mode 100644 index f13b3853b..34d2221e1 --- a/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml +++ b/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml @@ -25,4 +25,5 @@ true + true From 6ac75703acac47ae08c7e0c967f96a1c5200c68a Mon Sep 17 00:00:00 2001 From: Suresh Koleti Date: Tue, 3 Nov 2015 18:28:46 +0530 Subject: [PATCH 598/641] IMS: Add strings to support to show HD tag in network name Add overlay strings to append HD tag in network name. Change-Id: I2d5cc3138af2283e4c8ee6a19ecc87c5e19309de CRs-Fixed: 752266 --- .../res/res/values-mcc405-mnc840/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc854/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc855/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc856/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc857/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc858/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc859/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc860/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc861/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc862/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc863/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc864/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc865/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc866/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc867/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc868/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc869/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc870/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc871/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc872/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc873/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc405-mnc874/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc460-mnc00/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc460-mnc02/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc460-mnc07/strings.xml | 34 +++++++++++++++++++ .../res/res/values-mcc460-mnc08/strings.xml | 34 +++++++++++++++++++ 26 files changed, 884 insertions(+) create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc840/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc854/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc855/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc856/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc857/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc858/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc859/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc860/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc861/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc862/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc863/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc864/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc865/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc866/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc867/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc868/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc869/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc870/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc871/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc872/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc873/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc405-mnc874/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc460-mnc00/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc460-mnc02/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc460-mnc07/strings.xml create mode 100644 device/overlay/frameworks/base/core/res/res/values-mcc460-mnc08/strings.xml diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc840/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc840/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc840/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc854/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc854/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc854/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc855/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc855/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc855/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc856/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc856/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc856/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc857/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc857/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc857/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc858/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc858/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc858/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc859/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc859/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc859/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc860/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc860/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc860/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc861/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc861/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc861/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc862/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc862/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc862/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc863/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc863/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc863/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc864/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc864/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc864/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc865/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc865/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc865/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc866/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc866/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc866/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc867/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc867/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc867/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc868/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc868/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc868/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc869/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc869/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc869/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc870/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc870/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc870/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc871/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc871/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc871/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc872/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc872/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc872/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc873/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc873/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc873/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc874/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc874/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc405-mnc874/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc00/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc00/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc00/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc02/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc02/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc02/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc07/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc07/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc07/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + diff --git a/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc08/strings.xml b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc08/strings.xml new file mode 100644 index 000000000..644427161 --- /dev/null +++ b/device/overlay/frameworks/base/core/res/res/values-mcc460-mnc08/strings.xml @@ -0,0 +1,34 @@ + + + + + + %s (HD) + + From e4c5c7b709291cebbac129802abccf7b45e627f2 Mon Sep 17 00:00:00 2001 From: Valeri Atamaniouk Date: Wed, 4 Nov 2015 16:16:30 +0530 Subject: [PATCH 599/641] sec_config: added declaration for qmi-slim service Enabled access to qmi-slim service from gps and net_raw groups. CRs-Fixed: 785935 Change-Id: Id649f9e9ea292acc64a26678e75fd60b98e5e486 --- sec_config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sec_config b/sec_config index b55435b8b..9347807fe 100755 --- a/sec_config +++ b/sec_config @@ -3,6 +3,8 @@ 16:4294967295:1000:3004 /* Allow SS CTL service to be used by system and net_raw processes */ 43:4294967295:1000:3004 +/* QMI-SLIM service permitted to gps and net_raw */ +55:4294967295:1021:3004 /* Allow Sensor services to be used by sensor process */ 256:4294967295:3011 257:4294967295:3011 From 2a6748fafa66e5dc3fa302466cf93c5c831a4815 Mon Sep 17 00:00:00 2001 From: Ashwin Namjoshi Date: Thu, 7 May 2015 20:59:22 +0530 Subject: [PATCH 600/641] msm8916 : Scheduler tuning parameters Updated packing parameters to fix scheduling latency issue. Conflicts: rootdir/etc/init.qcom.post_boot.sh Change-Id: I911f3f323cef3d459bc74806e9f62ff493f455a6 --- rootdir/etc/init.qcom.post_boot.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index bfdc7146c..6efe1c1d3 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -518,8 +518,8 @@ case "$target" in echo 3 > /proc/sys/kernel/sched_ravg_hist_size # HMP Task packing settings for 8916 - echo 30 > /proc/sys/kernel/sched_small_task - echo 50 > /proc/sys/kernel/sched_mostly_idle_load + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /proc/sys/kernel/sched_mostly_idle_load echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run # disable thermal core_control to update scaling_min_freq From f36b5945be7ec557b7b9799efe3aceda0f97dd4d Mon Sep 17 00:00:00 2001 From: Puneet Mishra Date: Thu, 5 Nov 2015 19:25:18 +0000 Subject: [PATCH 601/641] init.qcom.rc: FIDO Daemon Add the FIDO daemon to init.target.rc, so that it's started by init at boot. Change-Id: Ie093a56eea2d5dbb46d8b0df54816a6405f5f2b2 --- rootdir/etc/init.qcom.rc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 8ccf8966b..e1e8c0fe0 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -981,3 +981,8 @@ service bugreport /system/bin/dumpstate -d -p -B \ class main disabled oneshot + +service fidodaemon /system/vendor/bin/fidodaemon + class late_start + user system + group system From 4e90a4bb067a9623ae5230ec9b70d44a7da16647 Mon Sep 17 00:00:00 2001 From: Arusha Goyal Date: Thu, 24 Sep 2015 17:30:34 -0700 Subject: [PATCH 602/641] RIDL drop caps, move socket, qcom_diag Change-Id: Ie63b5b34d46e7b2a3bf612d44e6756dec14323eb --- rootdir/etc/init.qcom.rc | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 8ccf8966b..3dd5da9d3 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -185,9 +185,6 @@ on boot chown radio radio /data/misc/radio/copy_complete chmod 0660 /data/misc/radio/copy_complete - # Socket location for RIDL - mkdir /dev/socket/RIDL 2770 system system - # msm specific files that need to be created on /data on post-fs-data # Create directory for TZ Apps @@ -306,6 +303,7 @@ on post-fs-data mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell mkdir /data/misc/SelfHost/storage/ 0700 system shell mkdir /data/misc/SelfHost/Running/ 2750 system shell + mkdir /data/misc/SelfHost/socket/ 2770 system system service qcomsysd /system/bin/qcom-system-daemon class main @@ -970,10 +968,10 @@ on property:sys.wfdservice=disable service RIDL /system/vendor/bin/RIDLClient.exe class late_start oneshot - user system - group system inet log sdcard_r sdcard_rw - # removed for security team - misc bluetooth radio gps wifi qcom_diag media_rw - # limited to 12 groups. Unused: audio usb qcom_diag net_bt_admin net_bt_stac net_raw net_admin + user root + group root inet log sdcard_r sdcard_rw qcom_diag radio net_raw + # removed for security team - misc bluetooth gps wifi diag media_rw + # limited to 12 groups. Unused: audio usb net_bt_admin net_bt_stac net_admin # bugreport is triggered by developer options service bugreport /system/bin/dumpstate -d -p -B \ From 9063cfc64821a8315a2f6922da74aa0c334956c4 Mon Sep 17 00:00:00 2001 From: mohammed thasleem Date: Tue, 3 Nov 2015 13:13:05 +0530 Subject: [PATCH 603/641] post_boot: msm8909w: Disable core control for 8909w Disable core control for 8909w platform since it is based on single core. While at it, enable the relevant low memory configurations, remove any HMP related settings, and ensure secondary cores are offlined only for 8909w. Change-Id: I325a49e923263c897c679055d38dfb3bfb1ff1a2 --- rootdir/etc/init.qcom.post_boot.sh | 85 +++++++++++++++++++----------- 1 file changed, 55 insertions(+), 30 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index bfdc7146c..aa10329c7 100755 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1,5 +1,5 @@ #!/system/bin/sh -# Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. +# Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions are met: @@ -1201,37 +1201,53 @@ case "$target" in #Set mmcblk0 read_ahead value for 8909_512 target ProductName=`getprop ro.product.name` - if [ "$ProductName" == "msm8909_512" ]; then - echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb + if [ "$ProductName" == "msm8909_512" ]; then + echo 128 > /sys/block/mmcblk0/queue/read_ahead_kb fi #Enable adaptive LMK and set vmpressure_file_min ProductName=`getprop ro.product.name` - if [ "$ProductName" == "msm8909" ] || [ "$ProductName" == "msm8909_LMT" ]; then + if [ "$ProductName" == "msm8909" ] || [ "$ProductName" == "msm8909_LMT" ]; then echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk - echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - elif [ "$ProductName" == "msm8909_512" ]; then + echo 53059 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min + elif [ "$ProductName" == "msm8909_512" ] || [ "$ProductName" == "msm8909w" ]; then echo "8192,11264,14336,17408,20480,26624" > /sys/module/lowmemorykiller/parameters/minfree echo 1 > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk echo 32768 > /sys/module/lowmemorykiller/parameters/vmpressure_file_min - fi + fi - # HMP scheduler settings for 8909 similiar to 8916 - echo 3 > /proc/sys/kernel/sched_window_stats_policy - echo 3 > /proc/sys/kernel/sched_ravg_hist_size + if [ "$ProductName" != "msm8909w" ]; then + # HMP scheduler settings for 8909 similiar to 8916 + echo 3 > /proc/sys/kernel/sched_window_stats_policy + echo 3 > /proc/sys/kernel/sched_ravg_hist_size - # HMP Task packing settings for 8909 similiar to 8916 - echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /proc/sys/kernel/sched_mostly_idle_load - echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run + # HMP Task packing settings for 8909 similiar to 8916 + echo 20 > /proc/sys/kernel/sched_small_task + echo 30 > /proc/sys/kernel/sched_mostly_idle_load + echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run + fi # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu0/online - echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor - echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + + if [ "$ProductName" == "msm8909w" ]; then + echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + #Below entries are to set the GPU frequency and DCVS governor + echo 200000000 > /sys/class/kgsl/kgsl-3d0/devfreq/max_freq + echo 200000000 > /sys/class/kgsl/kgsl-3d0/devfreq/min_freq + echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor + else + echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + fi + # enable thermal core_control now - echo 1 > /sys/module/msm_thermal/core_control/enabled + if [ "$ProductName" != "msm8909w" ]; then + echo 1 > /sys/module/msm_thermal/core_control/enabled + fi echo "30000 1094400:50000" > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay echo 90 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load @@ -1242,22 +1258,31 @@ case "$target" in echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor - # Bring up all cores online - 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 [ "$ProductName" == "msm8909w" ]; then + # Post boot, have only cpu0 online. Make all other cores go offline + echo 0 > /sys/devices/system/cpu/cpu1/online + echo 0 > /sys/devices/system/cpu/cpu2/online + echo 0 > /sys/devices/system/cpu/cpu3/online + else + # Bring up all cores online + echo 1 > /sys/devices/system/cpu/cpu1/online + echo 1 > /sys/devices/system/cpu/cpu2/online + echo 1 > /sys/devices/system/cpu/cpu3/online + fi + echo 0 > /sys/module/lpm_levels/parameters/sleep_disabled # Enable core control - insmod /system/lib/modules/core_ctl.ko - echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus - max_freq=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` - min_freq=800000 - echo $((min_freq*100 / max_freq)) $((min_freq*100 / max_freq)) $((66*1000000 / max_freq)) \ - $((55*1000000 / max_freq)) > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres - echo $((33*1000000 / max_freq)) > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres - echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms - + if [ "$ProductName" != "msm8909w" ]; then + insmod /system/lib/modules/core_ctl.ko + echo 2 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus + max_freq=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` + min_freq=800000 + echo $((min_freq*100 / max_freq)) $((min_freq*100 / max_freq)) $((66*1000000 / max_freq)) \ + $((55*1000000 / max_freq)) > /sys/devices/system/cpu/cpu0/core_ctl/busy_up_thres + echo $((33*1000000 / max_freq)) > /sys/devices/system/cpu/cpu0/core_ctl/busy_down_thres + echo 100 > /sys/devices/system/cpu/cpu0/core_ctl/offline_delay_ms + fi # Apply governor settings for 8909 for devfreq_gov in /sys/class/devfreq/qcom,cpubw*/governor From 076430a835a3a01aa8cf5f0c3d8570114b868d84 Mon Sep 17 00:00:00 2001 From: Mayank Rana Date: Tue, 1 Sep 2015 14:10:12 -0700 Subject: [PATCH 604/641] init.qcom.usb: Add USB compositions for MIDI functionality Add new USB compositions to support MIDI functionality. Add the following PIDs: 0x90BA - MIDI 0x90BB - MIDI + ADB Change-Id: I2f50a6b55c12fd7706644c6497d00f8a0c1c02fa --- rootdir/etc/init.qcom.usb.rc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc index eb45b644b..0c18f8560 100644 --- a/rootdir/etc/init.qcom.usb.rc +++ b/rootdir/etc/init.qcom.usb.rc @@ -1216,3 +1216,21 @@ on property:sys.usb.config=diag,serial_smd,rmnet_qti_bam,dpl_qti_bam_dmux,adb write /sys/class/android_usb/android0/enable 1 start adbd setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=midi + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90BA + write /sys/class/android_usb/android0/functions midi + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=midi,adb + stop adbd + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 90BB + write /sys/class/android_usb/android0/functions midi,adb + write /sys/class/android_usb/android0/enable 1 + start adbd + setprop sys.usb.state ${sys.usb.config} From 1ebd40981f91af846aa3766bc2a602358524aa15 Mon Sep 17 00:00:00 2001 From: Shashi Shekar Shankar Date: Mon, 16 Nov 2015 16:00:37 +0530 Subject: [PATCH 605/641] post_boot : Tuning PPR parameters for 8916_64. Tuning PPR parameters for 64 bit, 2GB devices. Change-Id: Ia8ed4a0e07bae00d5d977e29ca682285f4e106d8 --- rootdir/etc/init.qcom.zram.sh | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/rootdir/etc/init.qcom.zram.sh b/rootdir/etc/init.qcom.zram.sh index 4c8d1d3f8..81a77d174 100644 --- a/rootdir/etc/init.qcom.zram.sh +++ b/rootdir/etc/init.qcom.zram.sh @@ -25,13 +25,25 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# The script will check total_ram and enable zram for devices with total_ram -# less or equals to 1GB +# The script will check total_ram and modify PPR parameters for +# 64 bit devices with total_ram greater than 1GB + +MemTotalStr=`cat /proc/meminfo | grep MemTotal` +MemTotal=${MemTotalStr:16:8} +ZRAM_THRESHOLD=1048576 +IsLargeMemory=0 +((IsLargeMemory=MemTotal>ZRAM_THRESHOLD?1:0)) setprop ro.config.zram true #Set per_process_reclaim tuning parameters echo 1 > /sys/module/process_reclaim/parameters/enable_process_reclaim -echo 50 > /sys/module/process_reclaim/parameters/pressure_min +ProductName=`getprop ro.product.name` +if [ "$ProductName" == "msm8916_64" ] && [ $IsLargeMemory -eq 1 ]; then + echo 10 > /sys/module/process_reclaim/parameters/pressure_min + echo 1024 > /sys/module/process_reclaim/parameters/per_swap_size +else + echo 50 > /sys/module/process_reclaim/parameters/pressure_min + echo 512 > /sys/module/process_reclaim/parameters/per_swap_size +fi echo 70 > /sys/module/process_reclaim/parameters/pressure_max -echo 512 > /sys/module/process_reclaim/parameters/per_swap_size echo 30 > /sys/module/process_reclaim/parameters/swap_opt_eff From ab23a30f38a12fb883a52fcd58d2d9db2e35c5db Mon Sep 17 00:00:00 2001 From: DilipKumar Sreeramaiah Date: Thu, 19 Nov 2015 19:43:17 +0530 Subject: [PATCH 606/641] FRP: Add FRP property & persistent data block - Set "system" as owner of persistent data block - Add ro.frp.pst property to PRODUCT_PROPERTY_OVERRIDES Change-Id: If0121ef5582699c63f5d97b6dd2c870cd27a8db7 --- rootdir/etc/ueventd.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/ueventd.qcom.rc b/rootdir/etc/ueventd.qcom.rc index de9d4a79d..aa99f368a 100644 --- a/rootdir/etc/ueventd.qcom.rc +++ b/rootdir/etc/ueventd.qcom.rc @@ -237,4 +237,4 @@ /dev/jdi-bu21150 0660 system system # Add device block for FRP -/dev/block/bootdevice/by-name/config 0660 system system +/dev/block/platform/soc.0/7824900.sdhci/by-name/config 0660 system system From 483b11d22610286daf8dcf90a6505bb4d07be48c Mon Sep 17 00:00:00 2001 From: Venkatraman Nerellapalli Date: Wed, 25 Nov 2015 19:49:00 +0530 Subject: [PATCH 607/641] Add support for showing femto cell icon. Add icon slot in status bar for showing femto cell icon when device is connected to CSG femto cell. Change-Id: I22e9c51722fe0d52c5f2d3d7f8a78c32beaa8de2 CRs-Fixed: 855079 --- .../base/core/res/res/values/config.xml | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 0262a4dba..742124290 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -16,7 +16,36 @@ permissions and limitations under the License. --> - + + + + + managed_profile + ime + sync_failing + sync_active + cast + hotspot + location + bluetooth + nfc + femtoicon + tty + speakerphone + zen + mute + volume + wifi + cdma_eri + data_connection + phone_evdo_signal + phone_signal + battery + alarm_clock + secure + clock + true From 1a38c3b1d812bb82e24e3576484388b49652d27a Mon Sep 17 00:00:00 2001 From: Basudev Achary Konderpu Date: Thu, 3 Sep 2015 11:55:24 +0530 Subject: [PATCH 608/641] IMS: Enabling CFUT based on config Enabling Call Forward Unconditional Timer feature based on CMCC specific LTE based mccmnc 46008. Change-Id: I5a15441c410bcc9afd3ea1ff2428995ecdc0bb03 CRs-Fixed: 901578 --- .../res/values-mcc460-mnc08/config.xml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 device/overlay/packages/services/Telephony/res/values-mcc460-mnc08/config.xml diff --git a/device/overlay/packages/services/Telephony/res/values-mcc460-mnc08/config.xml b/device/overlay/packages/services/Telephony/res/values-mcc460-mnc08/config.xml new file mode 100644 index 000000000..782f62790 --- /dev/null +++ b/device/overlay/packages/services/Telephony/res/values-mcc460-mnc08/config.xml @@ -0,0 +1,32 @@ + + + + + + true + From 12a0f6ac9b3217a9827f8a5230961b06368d392d Mon Sep 17 00:00:00 2001 From: Benergy Meenan Ravuri Date: Mon, 26 Oct 2015 15:22:09 +0530 Subject: [PATCH 609/641] IMS: Enable CFUT timer UI for CMCC Enable the configuration flag for CFUT timer UI for CMCC MCC-MNC values Change-Id: I9ec9f03e715f79cd7253a8665127986ad5da86e1 CRs-Fixed: 929423 --- .../res/values-mcc460-mnc00/config.xml | 32 +++++++++++++++++++ .../res/values-mcc460-mnc02/config.xml | 32 +++++++++++++++++++ .../res/values-mcc460-mnc07/config.xml | 32 +++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 device/overlay/packages/services/Telephony/res/values-mcc460-mnc00/config.xml create mode 100644 device/overlay/packages/services/Telephony/res/values-mcc460-mnc02/config.xml create mode 100644 device/overlay/packages/services/Telephony/res/values-mcc460-mnc07/config.xml diff --git a/device/overlay/packages/services/Telephony/res/values-mcc460-mnc00/config.xml b/device/overlay/packages/services/Telephony/res/values-mcc460-mnc00/config.xml new file mode 100644 index 000000000..782f62790 --- /dev/null +++ b/device/overlay/packages/services/Telephony/res/values-mcc460-mnc00/config.xml @@ -0,0 +1,32 @@ + + + + + + true + diff --git a/device/overlay/packages/services/Telephony/res/values-mcc460-mnc02/config.xml b/device/overlay/packages/services/Telephony/res/values-mcc460-mnc02/config.xml new file mode 100644 index 000000000..782f62790 --- /dev/null +++ b/device/overlay/packages/services/Telephony/res/values-mcc460-mnc02/config.xml @@ -0,0 +1,32 @@ + + + + + + true + diff --git a/device/overlay/packages/services/Telephony/res/values-mcc460-mnc07/config.xml b/device/overlay/packages/services/Telephony/res/values-mcc460-mnc07/config.xml new file mode 100644 index 000000000..782f62790 --- /dev/null +++ b/device/overlay/packages/services/Telephony/res/values-mcc460-mnc07/config.xml @@ -0,0 +1,32 @@ + + + + + + true + From 8c3c6284423d1e272bdff5e5d16734002a0b27cb Mon Sep 17 00:00:00 2001 From: Varun Garg Date: Wed, 6 May 2015 14:39:27 +0530 Subject: [PATCH 610/641] post_boot: msm8939: Update packing parameter and their path Update new path for mostly_idle_nr_run. Remove old path parameter. Change-Id: If949e2f834df7eff4fef8bdb890318de8d23d155 --- rootdir/etc/init.qcom.post_boot.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 19415cd2d..d3f9c257c 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -612,8 +612,6 @@ case "$target" in # HMP Task packing settings for 8939, 8929 echo 20 > /proc/sys/kernel/sched_small_task - echo 30 > /proc/sys/kernel/sched_mostly_idle_load - echo 3 > /proc/sys/kernel/sched_mostly_idle_nr_run for devfreq_gov in /sys/class/devfreq/qcom,mincpubw*/governor do @@ -690,6 +688,17 @@ case "$target" in echo 30 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_load echo 30 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_load echo 30 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_load + + # cpu idle nr run threshold + echo 3 > /sys/devices/system/cpu/cpu0/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu1/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu2/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu3/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu4/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu5/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu6/sched_mostly_idle_nr_run + echo 3 > /sys/devices/system/cpu/cpu7/sched_mostly_idle_nr_run + else # Apply 3.0 specific Sched & Governor settings # HMP scheduler settings for 8939 V3.0 From d24164cd095b59a16cf18a93d505e36cab461261 Mon Sep 17 00:00:00 2001 From: Paras Nagda Date: Wed, 25 Nov 2015 18:59:15 +0530 Subject: [PATCH 611/641] init.qcom.early_boot: choose target specific media xml Define media.msm8939hw to choose target specific media_codecs.xml Change-Id: I12f210960d80b88ec5f2970087a7100f8169ad95 --- rootdir/etc/init.qcom.early_boot.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index 05df043bf..71a447d43 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -200,6 +200,10 @@ case "$platform" in case "$soc_hwid" in 233|239|240|241|242|243|263|268|269|270|271) setprop ro.opengles.version 196609 + if [ $soc_hwid -ge "239" ] && [ $soc_hwid -le "243" ] + then + setprop media.msm8939hw 1 + fi ;; *) setprop ro.opengles.version 196608 From 6c8b8aa32bc27f51d46cef9ac6b54e7466e6c18d Mon Sep 17 00:00:00 2001 From: vasantha Date: Mon, 7 Dec 2015 18:02:55 +0530 Subject: [PATCH 612/641] init.qcom.early_boot: choose target specific media xml Define media.msm8929hw to choose target specific media_codecs.xml Change-Id: I7cf1bafd3ec2c135eb44eb3c0900f8340d00f4c4 --- rootdir/etc/init.qcom.early_boot.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index 71a447d43..bc5e32468 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -204,6 +204,10 @@ case "$platform" in then setprop media.msm8939hw 1 fi + if [ $soc_hwid -ge "268" ] && [ $soc_hwid -le "271" ] + then + setprop media.msm8929hw 1 + fi ;; *) setprop ro.opengles.version 196608 From 51fed68bf60629fcaffe1a5767c11e8c9b757bc1 Mon Sep 17 00:00:00 2001 From: Susheel nyamala Date: Thu, 3 Dec 2015 00:21:17 +0530 Subject: [PATCH 613/641] Start atfwd daemon after boot complete In init.qcom.rc,start atfwd daemon after boot complete Change-Id: I65ebff0772f73b6242b024863f02508041ad2e15 --- rootdir/etc/init.qcom.rc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 9afef7b49..8c67bf193 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -337,6 +337,9 @@ on property:sys.boot_completed=1 on property:persist.radio.atfwd.start=false stop atfwd +on property:radio.atfwd.start=false + stop atfwd + service qcom-debug /system/bin/sh /system/etc/init.qcom.debug.sh class core user root @@ -764,16 +767,18 @@ service config-zram /system/bin/sh /system/etc/init.qcom.zram.sh disabled oneshot -on property:sys.boot_completed=1 - start qcom-post-boot - start qti-testscripts - start config-zram - service atfwd /system/bin/ATFWD-daemon class late_start user system + disabled group system radio +on property:sys.boot_completed=1 + start qcom-post-boot + start qti-testscripts + start config-zram + start atfwd + service hostapd /system/bin/hostapd -dd /data/hostapd/hostapd.conf class late_start user root From 0af73fd6590b854900f953e092e11170195f8956 Mon Sep 17 00:00:00 2001 From: Liu Zongyu Date: Thu, 17 Dec 2015 16:29:29 +0800 Subject: [PATCH 614/641] Launcher2: fix GTS testwidgetpresent failed The launcher didn't have searchwidget on workspace. Add search widget on default workspace. Change-Id: I6837418c0af5fd11799521d36229540bae647a3c CRs-fixed: 949948 --- .../packages/apps/Launcher2/res/xml/default_workspace.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/device/overlay/packages/apps/Launcher2/res/xml/default_workspace.xml b/device/overlay/packages/apps/Launcher2/res/xml/default_workspace.xml index 890d9a08b..e7e51e5df 100644 --- a/device/overlay/packages/apps/Launcher2/res/xml/default_workspace.xml +++ b/device/overlay/packages/apps/Launcher2/res/xml/default_workspace.xml @@ -47,6 +47,10 @@ launcher:y="3" /> + Date: Wed, 23 Dec 2015 16:49:26 +0530 Subject: [PATCH 615/641] common-noship: add ITE Tech firmware to packages Add ITE Tech firmware to PRODUCT_PACKAGES to be made part of system.img Change-Id: I863b5708bbcac2ce39c4ad531c3843179e44ff9e --- base.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base.mk b/base.mk index 0e57455d6..3e7ef5893 100644 --- a/base.mk +++ b/base.mk @@ -760,6 +760,9 @@ PRODUCT_PACKAGES += tcmiface #intialise PRODUCT_PACKAGES_DEBUG list for debug modules PRODUCT_PACKAGES_DEBUG := init.qcom.testscripts.sh +# ITE tech firmware +PRODUCT_PACKAGES += it7260_cfg_62011E01.bin +PRODUCT_PACKAGES += it7260_fw_050D0014.bin PRODUCT_COPY_FILES := \ frameworks/native/data/etc/android.hardware.camera.flash-autofocus.xml:system/etc/permissions/android.hardware.camera.flash-autofocus.xml \ From 204ef6e410bbb174fb601453c1e5473a15a09516 Mon Sep 17 00:00:00 2001 From: Fenglin Wu Date: Mon, 12 Oct 2015 14:43:04 +0800 Subject: [PATCH 616/641] init.qcom.rc: Change charger process label Change the charger process label to u:r:healthd:0 Change-Id: I586849104e8d6127c9b2c5a14f7c53956c5b2c73 --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 8c67bf193..f759ebcfb 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -875,6 +875,7 @@ service hcidump /system/bin/sh /system/etc/hcidump.sh service charger /charger class charger + seclabel u:r:healthd:s0 service ssr_diag /system/bin/ssr_diag class late_start From 4203d1ee0fd5140cb688a74782453060460a0427 Mon Sep 17 00:00:00 2001 From: Fenglin Wu Date: Tue, 22 Sep 2015 13:13:07 +0800 Subject: [PATCH 617/641] healthd: Add libhealthd.msm library Few APIs are provided in the libhealthd library as the supplement of off-mode charging, it includes: 1) Draw battery status on the animation; 2) Update leds upon battery status change; 3) Handle charging disabled; Change-Id: Ifa42ccec70e4f3e7b20fda5ce3f33dc41252a440 --- base.mk | 3 + healthd/Android.mk | 8 + healthd/healthd_board_msm.cpp | 324 ++++++++++++++++++++++++++++++++++ 3 files changed, 335 insertions(+) create mode 100644 healthd/Android.mk create mode 100644 healthd/healthd_board_msm.cpp diff --git a/base.mk b/base.mk index 3e7ef5893..f2a6e9879 100644 --- a/base.mk +++ b/base.mk @@ -757,6 +757,9 @@ PRODUCT_PACKAGES += vcard # tcmiface for tcm support PRODUCT_PACKAGES += tcmiface +# healthd libaray expanded for mode charger +PRODUCT_PACKAGES += libhealthd.msm + #intialise PRODUCT_PACKAGES_DEBUG list for debug modules PRODUCT_PACKAGES_DEBUG := init.qcom.testscripts.sh diff --git a/healthd/Android.mk b/healthd/Android.mk new file mode 100644 index 000000000..d8f0a5512 --- /dev/null +++ b/healthd/Android.mk @@ -0,0 +1,8 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_SRC_FILES := healthd_board_msm.cpp +LOCAL_MODULE := libhealthd.msm +LOCAL_CFLAGS := -Werror +LOCAL_C_INCLUDES := system/core/healthd bootable/recovery +include $(BUILD_STATIC_LIBRARY) diff --git a/healthd/healthd_board_msm.cpp b/healthd/healthd_board_msm.cpp new file mode 100644 index 000000000..fda8a13cb --- /dev/null +++ b/healthd/healthd_board_msm.cpp @@ -0,0 +1,324 @@ +/* + *Copyright (c) 2015, The Linux Foundation. All rights reserved. + * + *Redistribution and use in source and binary forms, with or without + *modification, are permitted provided that the following conditions are + *met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of The Linux Foundation nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + *THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED + *WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT + *ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS + *BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + *CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + *SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + *BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + *WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + *OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN + *IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "minui/minui.h" + +#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) + +#define HVDCP_CHARGER "USB_HVDCP" +#define HVDCP_BLINK_TYPE 2 + +#define RED_LED_PATH "/sys/class/leds/red/brightness" +#define GREEN_LED_PATH "/sys/class/leds/green/brightness" +#define BLUE_LED_PATH "/sys/class/leds/blue/brightness" +#define RED_LED_BLINK_PATH "/sys/class/leds/red/blink" +#define GREEN_LED_BLINK_PATH "/sys/class/leds/green/blink" +#define BACKLIGHT_PATH "/sys/class/leds/lcd-backlight/brightness" + +#define CHARGING_ENABLED_PATH "/sys/class/power_supply/battery/charging_enabled" +#define CHARGER_TYPE_PATH "/sys/class/power_supply/usb/type" + +#define LOGE(x...) do { KLOG_ERROR("charger", x); } while (0) +#define LOGW(x...) do { KLOG_WARNING("charger", x); } while (0) +#define LOGV(x...) do { KLOG_DEBUG("charger", x); } while (0) + +enum { + RED_LED = 0x01 << 0, + GREEN_LED = 0x01 << 1, + BLUE_LED = 0x01 << 2, +}; + +struct led_ctl { + int color; + const char *path; +}; + +struct led_ctl leds[3] = + {{RED_LED, RED_LED_PATH}, + {GREEN_LED, GREEN_LED_PATH}, + {BLUE_LED, BLUE_LED_PATH}}; + +#define HVDCP_COLOR_MAP (RED_LED | GREEN_LED) + +struct soc_led_color_mapping { + int soc; + int color; +}; + +struct soc_led_color_mapping soc_leds[3] = { + {15, RED_LED}, + {90, RED_LED | GREEN_LED}, + {100, GREEN_LED}, +}; + +static int write_file_int(char const* path, int value) +{ + int fd; + char buffer[20]; + int rc = -1, bytes; + + fd = open(path, O_WRONLY); + if (fd >= 0) { + bytes = snprintf(buffer, sizeof(buffer), "%d\n", value); + rc = write(fd, buffer, bytes); + close(fd); + } + + return rc > 0 ? 0 : -1; +} + +static int set_tricolor_led(int on, int color) +{ + int fd, i; + char buffer[10]; + + for (i = 0; i < (int)ARRAY_SIZE(leds); i++) { + if ((color & leds[i].color) && (access(leds[i].path, R_OK | W_OK) == 0)) { + fd = open(leds[i].path, O_RDWR); + if (fd < 0) { + LOGE("Could not open red led node\n"); + goto cleanup; + } + if (on) + snprintf(buffer, sizeof(int), "%d\n", 255); + else + snprintf(buffer, sizeof(int), "%d\n", 0); + + if (write(fd, buffer, strlen(buffer)) < 0) + LOGE("Could not write to led node\n"); +cleanup: + if (fd >= 0) + close(fd); + } + } + + return 0; +} + +static bool is_hvdcp_inserted() +{ + bool hvdcp = false; + char buff[12] = "\0"; + int fd, cnt; + + fd = open(CHARGER_TYPE_PATH, O_RDONLY); + if (fd >= 0) { + cnt = read(fd, buff, sizeof(buff)); + if (cnt > 0 && !strncmp(buff, HVDCP_CHARGER, 9)) + hvdcp = true; + close(fd); + } + + return hvdcp; +} + +static int leds_blink_for_hvdcp_allow(void) +{ + int rc = 0, bytes; + int red_blink_fd = -1, green_blink_fd = -1, type_fd = -1; + char buf[20]; + + green_blink_fd = open(GREEN_LED_BLINK_PATH, O_RDWR); + red_blink_fd = open(RED_LED_BLINK_PATH, O_RDWR); + if (red_blink_fd < 0 && green_blink_fd < 0) { + LOGE("Could not open red && green led blink node\n"); + } else { + type_fd = open(CHARGER_TYPE_PATH, O_RDONLY); + if (type_fd < 0) { + LOGE("Could not open USB type node\n"); + close(red_blink_fd); + close(green_blink_fd); + return rc; + } else { + close(type_fd); + if (red_blink_fd > 0) { + rc |= RED_LED; + bytes = snprintf(buf, sizeof(buf), "%d\n", 0); + if (write(red_blink_fd, buf, bytes) < 0) { + LOGE("Fail to write: %s\n", RED_LED_BLINK_PATH); + rc = 0; + } + close(red_blink_fd); + } + if (green_blink_fd > 0) { + rc |= GREEN_LED; + bytes = snprintf(buf, sizeof(buf), "%d\n", 0); + if (write(green_blink_fd, buf, bytes) < 0) { + LOGE("Fail to write: %s\n", GREEN_LED_BLINK_PATH); + rc = 0; + } + close(green_blink_fd); + } + } + } + + return rc; +} + +#define STR_LEN 8 +void healthd_board_mode_charger_draw_battery( + struct android::BatteryProperties *batt_prop) +{ + char cap_str[STR_LEN]; + int x, y; + int str_len_px; + static int char_height = -1, char_width = -1; + + if (char_height == -1 && char_width == -1) + gr_font_size(&char_width, &char_height); + snprintf(cap_str, (STR_LEN - 1), "%d%%", batt_prop->batteryLevel); + str_len_px = gr_measure(cap_str); + x = (gr_fb_width() - str_len_px) / 2; + y = (gr_fb_height() + char_height) / 2; + gr_color(0xa4, 0xc6, 0x39, 255); + gr_text(x, y, cap_str, 0); +} + +void healthd_board_mode_charger_battery_update( + struct android::BatteryProperties *batt_prop) +{ + static int blink_for_hvdcp = -1; + static int old_color = 0; + int i, color, soc, rc; + bool blink = false; + + if (blink_for_hvdcp == -1) + blink_for_hvdcp = leds_blink_for_hvdcp_allow(); + + if ((blink_for_hvdcp > 0) && is_hvdcp_inserted()) + blink = true; + + soc = batt_prop->batteryLevel; + + for (i = 0; i < ((int)ARRAY_SIZE(soc_leds) - 1); i++) { + if (soc < soc_leds[i].soc) + break; + } + color = soc_leds[i].color; + + if (old_color != color) { + if ((color & HVDCP_COLOR_MAP) && blink) { + if (blink_for_hvdcp & RED_LED) { + rc = write_file_int(RED_LED_BLINK_PATH, HVDCP_BLINK_TYPE); + if (rc < 0) { + LOGE("Fail to write: %s\n", RED_LED_BLINK_PATH); + return; + } + } + if (blink_for_hvdcp & GREEN_LED) { + rc = write_file_int(GREEN_LED_BLINK_PATH, HVDCP_BLINK_TYPE); + if (rc < 0) { + LOGE("Fail to write: %s\n", GREEN_LED_BLINK_PATH); + return; + } + } + } else { + set_tricolor_led(0, old_color); + set_tricolor_led(1, color); + old_color = color; + LOGV("soc = %d, set led color 0x%x\n", soc, soc_leds[i].color); + } + } +} + +#define BACKLIGHT_ON_LEVEL 100 +#define BACKLIGHT_OFF_LEVEL 0 +void healthd_board_mode_charger_set_backlight(bool en) +{ + int fd; + char buffer[10]; + + if (access(BACKLIGHT_PATH, R_OK | W_OK) != 0) + { + LOGW("Backlight control not support\n"); + return; + } + + memset(buffer, '\0', sizeof(buffer)); + fd = open(BACKLIGHT_PATH, O_RDWR); + if (fd < 0) { + LOGE("Could not open backlight node : %s\n", strerror(errno)); + goto cleanup; + } + LOGV("set backlight status to %d\n", en); + if (en) + snprintf(buffer, sizeof(buffer), "%d\n", BACKLIGHT_ON_LEVEL); + else + snprintf(buffer, sizeof(buffer), "%d\n", BACKLIGHT_OFF_LEVEL); + + if (write(fd, buffer,strlen(buffer)) < 0) { + LOGE("Could not write to backlight node : %s\n", strerror(errno)); + goto cleanup; + } +cleanup: + if (fd >= 0) + close(fd); +} + +void healthd_board_mode_charger_init() +{ + int ret; + char buff[8] = "\0"; + int charging_enabled = 0; + int fd; + + /* check the charging is enabled or not */ + fd = open(CHARGING_ENABLED_PATH, O_RDONLY); + if (fd < 0) + return; + ret = read(fd, buff, sizeof(buff)); + close(fd); + if (ret > 0 && sscanf(buff, "%d\n", &charging_enabled)) { + /* if charging is disabled, reboot and exit power off charging */ + if (charging_enabled) + return; + LOGW("android charging is disabled, exit!\n"); + android_reboot(ANDROID_RB_RESTART, 0, 0); + } +} + +void healthd_board_init(struct healthd_config*) +{ + // use defaults +} + +int healthd_board_battery_update(struct android::BatteryProperties*) +{ + // return 0 to log periodic polled battery status to kernel log + return 1; +} From 280a324d1583207a4de22a44cb063842d5e9bc10 Mon Sep 17 00:00:00 2001 From: Pradosh Das Date: Tue, 29 Dec 2015 18:57:05 +0530 Subject: [PATCH 618/641] Revert "Revert "Revert "init: create native cgroup""" This reverts commit 923bfe7bad26d199f0339e09855fb9276bf3968f Change-Id: If09065a5950b66ce4e636cc7789821342fa79167 --- rootdir/etc/init.qcom.post_boot.sh | 33 ------------------------------ 1 file changed, 33 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index d3f9c257c..768c38107 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1497,36 +1497,3 @@ case "$target" in echo $oem_version > /sys/devices/soc0/image_crm_version ;; esac - -# Create native cgroup and move all tasks to it. Allot 15% real-time -# bandwidth limit to native cgroup (which is what remains after -# Android uses up 80% real-time bandwidth limit). root cgroup should -# become empty after all tasks are moved to native cgroup. - -CGROUP_ROOT=/dev/cpuctl -mkdir $CGROUP_ROOT/native -echo 150000 > $CGROUP_ROOT/native/cpu.rt_runtime_us - -# We could be racing with task creation, as a result of which its possible that -# we may fail to move all tasks from root cgroup to native cgroup in one shot. -# Retry few times before giving up. - -for loop_count in 1 2 3 -do - for i in $(cat $CGROUP_ROOT/tasks) - do - echo $i > $CGROUP_ROOT/native/tasks - done - - root_tasks=$(cat $CGROUP_ROOT/tasks) - if [ -z "$root_tasks" ] - then - break - fi -done - -# Check if we failed to move all tasks from root cgroup -if [ ! -z "$root_tasks" ] -then - echo "Error: Could not move all tasks to native cgroup" -fi From 6fc58b33e9e221f6120b246f6e7598b59cbf606c Mon Sep 17 00:00:00 2001 From: Suresh Koleti Date: Tue, 7 Jul 2015 17:50:34 +0530 Subject: [PATCH 619/641] IMS: Control Wifi calling mode preference Add configuration flags to control Wifi calling mode preference UI options Change-Id: I4ff10b3e54108fabb701fdb5abb37766a7cbce49 --- .../res/values-mcc405-mnc840/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc854/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc855/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc856/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc857/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc858/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc859/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc860/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc861/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc862/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc863/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc864/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc865/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc866/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc867/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc868/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc869/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc870/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc871/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc872/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc873/config.xml | 37 +++++++++++++++++++ .../res/values-mcc405-mnc874/config.xml | 37 +++++++++++++++++++ 22 files changed, 814 insertions(+) create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc840/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc854/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc855/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc856/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc857/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc858/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc859/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc860/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc861/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc862/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc863/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc864/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc865/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc866/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc867/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc868/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc869/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc870/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc871/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc872/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc873/config.xml create mode 100644 device/overlay/packages/apps/Settings/res/values-mcc405-mnc874/config.xml diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc840/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc840/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc840/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc854/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc854/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc854/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc855/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc855/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc855/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc856/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc856/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc856/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc857/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc857/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc857/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc858/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc858/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc858/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc859/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc859/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc859/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc860/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc860/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc860/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc861/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc861/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc861/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc862/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc862/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc862/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc863/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc863/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc863/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc864/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc864/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc864/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc865/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc865/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc865/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc866/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc866/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc866/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc867/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc867/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc867/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc868/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc868/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc868/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc869/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc869/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc869/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc870/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc870/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc870/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc871/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc871/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc871/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc872/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc872/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc872/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc873/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc873/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc873/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + diff --git a/device/overlay/packages/apps/Settings/res/values-mcc405-mnc874/config.xml b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc874/config.xml new file mode 100644 index 000000000..b5cdd5fe9 --- /dev/null +++ b/device/overlay/packages/apps/Settings/res/values-mcc405-mnc874/config.xml @@ -0,0 +1,37 @@ + + + + + + + + + false + + From cad475d3c29803a937f20a3c25b63e051212a16d Mon Sep 17 00:00:00 2001 From: Richard LIU Date: Mon, 17 Aug 2015 15:04:57 +0800 Subject: [PATCH 620/641] Enable emergency call feature for RIL - Enable qcril.db's prebuilt - Copy prebuilt qcril.db into /data/misc/radio, if there is no qcril.db in it - Set "persist.radio.custom_ecc" as 1 Change-Id: Ic5a8814e805df7a856270545adeeb4c5f34eb71a --- base.mk | 3 +++ common.mk | 1 + common64.mk | 1 + rootdir/etc/init.qcom.sh | 9 +++++++++ 4 files changed, 14 insertions(+) diff --git a/base.mk b/base.mk index f2a6e9879..f0a68d26d 100644 --- a/base.mk +++ b/base.mk @@ -745,6 +745,9 @@ PRODUCT_PACKAGES += \ make_ext4fs \ setup_fs +# Qcril configuration file +PRODUCT_PACKAGES += qcril.db + # Flatland PRODUCT_PACKAGES += flatland diff --git a/common.mk b/common.mk index 75cc56667..ef154f7ef 100644 --- a/common.mk +++ b/common.mk @@ -17,6 +17,7 @@ PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=libqti-perfd-client.so \ persist.radio.apm_sim_not_pwdn=1 \ persist.radio.sib16_support=1 \ + persist.radio.custom_ecc=1 \ ro.frp.pst=/dev/block/bootdevice/by-name/config PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key diff --git a/common64.mk b/common64.mk index 00135cb0b..e19849a6a 100644 --- a/common64.mk +++ b/common64.mk @@ -17,6 +17,7 @@ PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.extension_library=libqti-perfd-client.so \ persist.radio.apm_sim_not_pwdn=1 \ persist.radio.sib16_support=1 \ + persist.radio.custom_ecc=1 \ ro.frp.pst=/dev/block/bootdevice/by-name/config PRODUCT_PRIVATE_KEY := device/qcom/common/qcom.key diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 535fd2604..2ee3da0bf 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -100,6 +100,14 @@ start_msm_irqbalance() fi } +start_copying_prebuilt_qcril_db() +{ + if [ -f /system/vendor/qcril.db -a ! -f /data/misc/radio/qcril.db ]; then + cp /system/vendor/qcril.db /data/misc/radio/qcril.db + chown -h radio.radio /data/misc/radio/qcril.db + fi +} + baseband=`getprop ro.baseband` echo 1 > /proc/sys/net/ipv6/conf/default/accept_ra_defrtr @@ -110,6 +118,7 @@ case "$baseband" in esac start_sensors +start_copying_prebuilt_qcril_db case "$target" in "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") From ebc0d2095e482847cb4f1bc7cc9c1e0501ed6a87 Mon Sep 17 00:00:00 2001 From: Richard LIU Date: Thu, 24 Sep 2015 16:44:27 +0800 Subject: [PATCH 621/641] Add file flag to synchronize qcril.db copying - Add a file to indicate if prebuilt db file is supported - Add a file to indicate if copying process has completed Change-Id: I27344d1e318456d9e5ad639a6ae9394f121a3705 --- rootdir/etc/init.qcom.rc | 8 ++++++++ rootdir/etc/init.qcom.sh | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index f759ebcfb..a34d7a25a 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -185,6 +185,14 @@ on boot chown radio radio /data/misc/radio/copy_complete chmod 0660 /data/misc/radio/copy_complete + # File flags for prebuilt ril db file + write /data/misc/radio/prebuilt_db_support 1 + chown radio radio /data/misc/radio/prebuilt_db_support + chmod 0400 /data/misc/radio/prebuilt_db_support + write /data/misc/radio/db_check_done 0 + chown radio radio /data/misc/radio/db_check_done + chmod 0660 /data/misc/radio/db_check_done + # msm specific files that need to be created on /data on post-fs-data # Create directory for TZ Apps diff --git a/rootdir/etc/init.qcom.sh b/rootdir/etc/init.qcom.sh index 2ee3da0bf..e535eeaf8 100644 --- a/rootdir/etc/init.qcom.sh +++ b/rootdir/etc/init.qcom.sh @@ -118,7 +118,6 @@ case "$baseband" in esac start_sensors -start_copying_prebuilt_qcril_db case "$target" in "msm7630_surf" | "msm7630_1x" | "msm7630_fusion") @@ -245,7 +244,13 @@ case "$emmc_boot" esac # -# Make modem config folder and copy firmware config to that folder +# Copy qcril.db if needed for RIL +# +start_copying_prebuilt_qcril_db +echo 1 > /data/misc/radio/db_check_done + +# +# Make modem config folder and copy firmware config to that folder for RIL # rm -rf /data/misc/radio/modem_config mkdir /data/misc/radio/modem_config From 7ad00f20a16657bf5441687a005756df7945fbb2 Mon Sep 17 00:00:00 2001 From: Guo Haifeng Date: Wed, 9 Dec 2015 10:36:51 +0800 Subject: [PATCH 622/641] Move duplicate config files script to post-boot Move duplicate config files script from init script to post-boot script. CRs-Fixed: 882864 Change-Id: I3db8fa0fdb9d8a5d560e8d12ba2da5ec61420706 --- rootdir/etc/init.qcom.rc | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a34d7a25a..6016f4b23 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -180,19 +180,6 @@ on boot # Allow access for CCID command/response timeout configuration chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout - # Mark the copy complete flag to not completed - write /data/misc/radio/copy_complete 0 - chown radio radio /data/misc/radio/copy_complete - chmod 0660 /data/misc/radio/copy_complete - - # File flags for prebuilt ril db file - write /data/misc/radio/prebuilt_db_support 1 - chown radio radio /data/misc/radio/prebuilt_db_support - chmod 0400 /data/misc/radio/prebuilt_db_support - write /data/misc/radio/db_check_done 0 - chown radio radio /data/misc/radio/db_check_done - chmod 0660 /data/misc/radio/db_check_done - # msm specific files that need to be created on /data on post-fs-data # Create directory for TZ Apps @@ -313,6 +300,19 @@ on post-fs-data mkdir /data/misc/SelfHost/Running/ 2750 system shell mkdir /data/misc/SelfHost/socket/ 2770 system system + # Mark the copy complete flag to not completed + write /data/misc/radio/copy_complete 0 + chown radio radio /data/misc/radio/copy_complete + chmod 0660 /data/misc/radio/copy_complete + + # File flags for prebuilt ril db file + write /data/misc/radio/prebuilt_db_support 1 + chown radio radio /data/misc/radio/prebuilt_db_support + chmod 0400 /data/misc/radio/prebuilt_db_support + write /data/misc/radio/db_check_done 0 + chown radio radio /data/misc/radio/db_check_done + chmod 0660 /data/misc/radio/db_check_done + service qcomsysd /system/bin/qcom-system-daemon class main user root From c6cca04e518f92e18ab10edecdf9d8ac8c6212b6 Mon Sep 17 00:00:00 2001 From: Mao Jinlong Date: Tue, 22 Sep 2015 17:16:27 +0800 Subject: [PATCH 623/641] common: set alarm and boot animation properties during early boot If boot is trrigerred by rtc alarm, set ro.alrm_boot as true and set debug.sf.nobootanimation as '1' to disable boot animation. Change-Id: I55ca254e63f24a9a7255f0d8600ef3ede91d4a97 --- rootdir/etc/init.qcom.early_boot.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index 71a447d43..5e2d3a877 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -258,3 +258,10 @@ dev_file=/dev/graphics/fb$fb_cnt fi done +reason_value=`cat /proc/sys/kernel/boot_reason` +if [ "$reason_value" = "3" ]; then + setprop ro.alarm_boot true + setprop debug.sf.nobootanimation 1 +else + setprop ro.alarm_boot false +fi From 355bffd127f8c6fe11dd5a20fcbc171ee9d001d1 Mon Sep 17 00:00:00 2001 From: yongga Date: Fri, 15 Jan 2016 15:03:04 +0800 Subject: [PATCH 624/641] INITRC: Add service poweroffhandler Add service poweroffhandler. Add service poweroffhandler Add service poweroffhandler. CRs-Fixed: 943280 Change-Id: I886c3488db61e41eea817d76390ef3220e6a0dcb --- rootdir/etc/init.qcom.rc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 6016f4b23..f46df6c24 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -998,3 +998,11 @@ service fidodaemon /system/vendor/bin/fidodaemon class late_start user system group system + +#add poweroffhandler +service poweroffhandler /system/bin/poweroffhandler + class core + user media + group graphics audio + disabled + oneshot \ No newline at end of file From 8dddc8e91d4176c63f6e971f9e1b07d82f4280f2 Mon Sep 17 00:00:00 2001 From: Fenglin Wu Date: Fri, 25 Dec 2015 14:47:30 +0800 Subject: [PATCH 625/641] init.qcom.rc: Add graphics group for charger process Charger process need to access /dev/graphics/fb0 which need the graphics group permission. Change-Id: Ib180a633d66c3a7e091c99de83103ad398295d2c --- rootdir/etc/init.qcom.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index 6016f4b23..b5539a04e 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -883,6 +883,7 @@ service hcidump /system/bin/sh /system/etc/hcidump.sh service charger /charger class charger + group graphics seclabel u:r:healthd:s0 service ssr_diag /system/bin/ssr_diag From 058e190ccaa375a0a555055c8f570e98de38b6f7 Mon Sep 17 00:00:00 2001 From: Shantanu Jain Date: Tue, 19 Jan 2016 18:18:32 +0530 Subject: [PATCH 626/641] early_boot: add auto firmware update command for ITE tech Add auto firmware update commands for ITE tech touch screen controller. This change is added only for MTP, as CDP uses different touch panels. Signed-off-by: Shantanu Jain Change-Id: Ib1bd0034aa729815158474bb281f3a2e7e06d4d9 --- rootdir/etc/init.qcom.early_boot.sh | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.early_boot.sh b/rootdir/etc/init.qcom.early_boot.sh index d9bdb8350..c05bfb2a7 100755 --- a/rootdir/etc/init.qcom.early_boot.sh +++ b/rootdir/etc/init.qcom.early_boot.sh @@ -213,7 +213,19 @@ case "$platform" in setprop ro.opengles.version 196608 ;; esac - ;; + + # auto firmware upgrade for ITE tecg touch screen + case $platform in + "msm8909" | "msm8909w") + case $soc_hwplatform in + "MTP") + echo 1 > /sys/bus/i2c/devices/5-0046/cfg_update + echo 1 > /sys/bus/i2c/devices/5-0046/fw_update + ;; + esac + ;; + esac + ;; esac # Setup display nodes & permissions From 10c2065e16f7a070c963e8bbf8e4f566db22b0f0 Mon Sep 17 00:00:00 2001 From: Suresh Koleti Date: Fri, 8 Jan 2016 21:20:53 +0530 Subject: [PATCH 627/641] IMS: Add support to show wifi calling icon indicator Adding slot to show wifi calling icon on status bar Change-Id: I4bc93e5bd6f38ccd26fb53e54eb4730cdddb30e7 CRs-Fixed: 957268 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index 742124290..d958b90e3 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -37,6 +37,7 @@ mute volume wifi + vowifi cdma_eri data_connection phone_evdo_signal From 2dbeada86d12917ae2dd8e49a1001d6164963587 Mon Sep 17 00:00:00 2001 From: Chaitanya Kumar Reddy Gopireddy Srinivasa Date: Wed, 6 Jan 2016 16:38:33 +0530 Subject: [PATCH 628/641] Adding wirelessCalling QuickSettingsTile to config Adding the Wireless calling Quick Settings Tile to config.xml in overlays Change-Id: I1cecd1b614245a44c14cf8272b09067f170a231b CRs-Fixed: 957516 --- .../packages/SystemUI/res/values/config.xml | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 device/overlay/frameworks/base/packages/SystemUI/res/values/config.xml diff --git a/device/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/device/overlay/frameworks/base/packages/SystemUI/res/values/config.xml new file mode 100644 index 000000000..5f88fd132 --- /dev/null +++ b/device/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -0,0 +1,41 @@ + + + + + + + + wifi,bt,inversion,dnd,cell,airplane,rotation,flashlight,location,cast,hotspot,intent(org.codeaurora.qs.tiles.wificallingtile) + + + 12 + + From e346713fa103776bee1b724da68cc048591b5362 Mon Sep 17 00:00:00 2001 From: Mohammed Thasleem Date: Wed, 3 Feb 2016 19:18:59 +0530 Subject: [PATCH 629/641] msm8909w: Remove USB_HOST feature Wearables should not support this feature. Change-Id: I1ba3def9126120cc914b57e0ae074c2821f658d7 --- base.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/base.mk b/base.mk index f0a68d26d..f750a24fd 100644 --- a/base.mk +++ b/base.mk @@ -785,10 +785,14 @@ PRODUCT_COPY_FILES := \ frameworks/native/data/etc/android.hardware.sensor.light.xml:system/etc/permissions/android.hardware.sensor.light.xml \ frameworks/native/data/etc/android.hardware.sensor.gyroscope.xml:system/etc/permissions/android.hardware.sensor.gyroscope.xml \ frameworks/native/data/etc/android.hardware.usb.accessory.xml:system/etc/permissions/android.hardware.usb.accessory.xml \ - frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml \ frameworks/native/data/etc/android.hardware.bluetooth.xml:system/etc/permissions/android.hardware.bluetooth.xml \ frameworks/native/data/etc/android.hardware.bluetooth_le.xml:system/etc/permissions/android.hardware.bluetooth_le.xml \ +ifneq ($(TARGET_SUPPORTS_WEARABLES),true) +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.usb.host.xml:system/etc/permissions/android.hardware.usb.host.xml +endif + # Bluetooth configuration files #PRODUCT_COPY_FILES += \ system/bluetooth/data/audio.conf:system/etc/bluetooth/audio.conf \ From 40cd357b6738501963b620e22054c317bdbc0652 Mon Sep 17 00:00:00 2001 From: Ravi Paluri Date: Mon, 8 Feb 2016 11:41:52 +0530 Subject: [PATCH 630/641] IMS-VT: Handle buttons display in InCall Screen Change number of buttons to be displayed in incall screen to 6 Change-Id: I995fb19e5c80ece4e686736db435e0f24081cee1 CRs-Fixed: 959132 --- .../apps/InCallUI/res/values/config.xml | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 device/overlay/packages/apps/InCallUI/res/values/config.xml diff --git a/device/overlay/packages/apps/InCallUI/res/values/config.xml b/device/overlay/packages/apps/InCallUI/res/values/config.xml new file mode 100644 index 000000000..8624cedaa --- /dev/null +++ b/device/overlay/packages/apps/InCallUI/res/values/config.xml @@ -0,0 +1,34 @@ + + + + + + 6 + From 722e8afc4a4343a2eb53bd1325487b564c6c0094 Mon Sep 17 00:00:00 2001 From: Nivedita Sarkar Date: Wed, 16 Dec 2015 23:57:44 -0800 Subject: [PATCH 631/641] Add Qti Ext files [vendor/codeaurora/telephony/ims] to product packages - Qti Ext interfaces and util files have moved to our new open source location vendor/codeaurora/telephony/ims - Add the new static library to product packages. Change-Id: Ida193c9c2476cdec37d66c133fb83907e81a22a0 CRs-Fixed: 953251 --- base.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/base.mk b/base.mk index f750a24fd..791ef8070 100644 --- a/base.mk +++ b/base.mk @@ -592,6 +592,9 @@ VT_QTI_PERMISSIONS := qti_permissions.xml #IMS SETTINGS IMS_SETTINGS := imssettings +#IMS Extension module for Android Telephony +IMS_EXT := ims-ext-common + #RCS RCS := rcs_service_aidl RCS += rcs_service_aidl.xml @@ -732,6 +735,7 @@ PRODUCT_PACKAGES += $(VT_QTI_PERMISSIONS) PRODUCT_PACKAGES += $(IMS_SETTINGS) PRODUCT_PACKAGES += $(CRDA) PRODUCT_PACKAGES += $(WLAN) +PRODUCT_PACKAGES += $(IMS_EXT) # Live Wallpapers PRODUCT_PACKAGES += \ From e8a24cd2281444bbbd70f0f74715f22d99f90eb8 Mon Sep 17 00:00:00 2001 From: Swetha Vucha Date: Mon, 29 Feb 2016 15:53:34 +0530 Subject: [PATCH 632/641] Enable two cores for wearables Change-Id: I8c50cf9cb654caf377132dc7b9c832097e266c82 Signed-off-by: Swetha Vucha --- rootdir/etc/init.qcom.post_boot.sh | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.post_boot.sh b/rootdir/etc/init.qcom.post_boot.sh index 768c38107..be7bf4fcb 100644 --- a/rootdir/etc/init.qcom.post_boot.sh +++ b/rootdir/etc/init.qcom.post_boot.sh @@ -1246,11 +1246,17 @@ case "$target" in # disable thermal core_control to update scaling_min_freq echo 0 > /sys/module/msm_thermal/core_control/enabled echo 1 > /sys/devices/system/cpu/cpu0/online + if [ "$ProductName" == "msm8909w" ]; then + echo 1 > /sys/devices/system/cpu/cpu1/online + fi if [ "$ProductName" == "msm8909w" ]; then echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor + echo "performance" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq + echo 800000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq + echo 800000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq #Below entries are to set the GPU frequency and DCVS governor echo 200000000 > /sys/class/kgsl/kgsl-3d0/devfreq/max_freq echo 200000000 > /sys/class/kgsl/kgsl-3d0/devfreq/min_freq @@ -1275,8 +1281,7 @@ case "$target" in echo 50000 > /sys/devices/system/cpu/cpufreq/interactive/sampling_down_factor if [ "$ProductName" == "msm8909w" ]; then - # Post boot, have only cpu0 online. Make all other cores go offline - echo 0 > /sys/devices/system/cpu/cpu1/online + # Post boot, have cpu0 and cpu1 online. Make all other cores go offline echo 0 > /sys/devices/system/cpu/cpu2/online echo 0 > /sys/devices/system/cpu/cpu3/online else From bf07676c72e622ff3f9e89716dcb7197737e52fd Mon Sep 17 00:00:00 2001 From: Vince Leung Date: Thu, 3 Mar 2016 09:29:41 +0530 Subject: [PATCH 633/641] init.qcom.rc: declare perfd service. Move the declaration of perfd service to init.qcom.rc. Create the socket for perfd so we can remove the old socket path Change-Id: I18124487a1f48160875e8c90da91883bc6861113 --- rootdir/etc/init.qcom.rc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a3de9a974..a766e95da 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -275,8 +275,6 @@ on post-fs-data mkdir /data/camera 0770 media camera #Create PERFD deamon related dirs - mkdir /data/misc/perfd 0755 root system - chmod 2755 /data/misc/perfd mkdir /data/system/perfd 0770 root system chmod 2770 /data/system/perfd mkdir /persist/drm 0770 system system @@ -313,6 +311,12 @@ on post-fs-data chown radio radio /data/misc/radio/db_check_done chmod 0660 /data/misc/radio/db_check_done +service perfd /system/vendor/bin/perfd + class main + user root + disabled + socket perfd seqpacket 0666 root system + service qcomsysd /system/bin/qcom-system-daemon class main user root From b881e8deab56e93b9dcd75cbdf765b4c5985717b Mon Sep 17 00:00:00 2001 From: Dinesh K Garg Date: Wed, 28 Oct 2015 14:41:10 -0700 Subject: [PATCH 634/641] Wait for QSEECom listeners before calling KMS APIs Sometime it is possible that KMS APIs are invoked and QSEECom listeners are not up. This would cause failure from secure side and KMS API will fail eventually. This change waits for QSEECom listeners to be up before calling KMS APIs. If QSEECom listeners are not up even after wait period, API would fail without going to secure side. Change-Id: I211248645f92fc0fcfe6f250cb1f26661f5fb06c --- cryptfs_hw/cryptfs_hw.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 220f6c973..99524d4f7 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -72,6 +72,8 @@ static unsigned int cpu_id[] = { #define KEYMASTER_PARTITION_NAME "/dev/block/bootdevice/by-name/keymaster" +#define QSEECOM_UP_CHECK_COUNT 10 + static int loaded_library = 0; static int (*qseecom_create_key)(int, void*); static int (*qseecom_update_key)(int, void*, void*); @@ -123,12 +125,32 @@ static void wipe_userdata() android_reboot(ANDROID_RB_RESTART2, 0, "recovery"); } +static int is_qseecom_up() +{ + int i = 0; + char value[PROPERTY_VALUE_MAX] = {0}; + + for (; i Date: Mon, 7 Mar 2016 18:35:39 +0530 Subject: [PATCH 635/641] DPM :QMI_SERVICE_ID 1 is updated with single entry WDS initialization was failing with multiple entries for the same SERVICE_ID. Multiple entries are removed. Change-Id: I0df9181b559d5acb1e59351d2174c12190417395 CRs-Fixed: 981640 --- sec_config | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) mode change 100755 => 100644 sec_config diff --git a/sec_config b/sec_config old mode 100755 new mode 100644 index 9347807fe..77639f747 --- a/sec_config +++ b/sec_config @@ -270,10 +270,7 @@ 42:4294967295:1001:3004 18:4294967295:1001:3004 9:4294967295:1001:3004 -1:4294967295:1001:3004 -/*Data Power Manager Daemon dpmd */ -1:4294967295:1000:3004 -48:4294967295:1000:3004 +1:4294967295:1001:3004:1000 4:4294967295:1001:3004 2797:4294967295:1001:3004 2808:4294967295:1001:3004:1000 From 8f131cdda0699ff03ecb9b5fad4d1d8613ca5cf5 Mon Sep 17 00:00:00 2001 From: Sanket Khidkikar Date: Wed, 3 Feb 2016 11:47:31 -0800 Subject: [PATCH 636/641] cnd: update cnd class Move cnd to new class to allow it to come up along with core apps when device is encrypted and locked. Change-Id: Iee397bc22ba28ed0b61418580e75bfbb2b467b09 --- rootdir/etc/init.qcom.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/etc/init.qcom.rc b/rootdir/etc/init.qcom.rc index a766e95da..df0e887b7 100644 --- a/rootdir/etc/init.qcom.rc +++ b/rootdir/etc/init.qcom.rc @@ -425,7 +425,7 @@ on property:persist.env.fastdorm.enabled=true setprop persist.radio.data_no_toggle 1 service cnd /system/bin/cnd - class late_start + class main socket cnd stream 660 root inet service dpmd /system/bin/dpmd From f106fd7f808f1d0d76f752ed814227f570e681a7 Mon Sep 17 00:00:00 2001 From: Brahmaji K Date: Mon, 7 Mar 2016 11:13:17 +0530 Subject: [PATCH 637/641] cryptfs_hw: update the listener property with keymaster property Replace the sys.listener.registered with sys.keymaster.loaded because the keymaster loading is the final operation done by the qseecomd and key operations should wait till the qseecomd initialization completes. Change-Id: I78a2a6941058f8ec6197ef88b324f6178f7ae2fb --- cryptfs_hw/cryptfs_hw.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cryptfs_hw/cryptfs_hw.c b/cryptfs_hw/cryptfs_hw.c index 99524d4f7..151fd704d 100644 --- a/cryptfs_hw/cryptfs_hw.c +++ b/cryptfs_hw/cryptfs_hw.c @@ -131,7 +131,7 @@ static int is_qseecom_up() char value[PROPERTY_VALUE_MAX] = {0}; for (; i Date: Tue, 8 Dec 2015 17:37:29 +0530 Subject: [PATCH 638/641] Fix emergency pdn bringup failure Add emergency network attribute to network attributes list. This will add emergency apn context, thereby allowing emergency pdn setup. Change-Id: I123fa99e1659f51bb3d0d9de7c8859591bd17dd1 CRs-Fixed: 984318 --- device/overlay/frameworks/base/core/res/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/device/overlay/frameworks/base/core/res/res/values/config.xml b/device/overlay/frameworks/base/core/res/res/values/config.xml index d958b90e3..e43344080 100644 --- a/device/overlay/frameworks/base/core/res/res/values/config.xml +++ b/device/overlay/frameworks/base/core/res/res/values/config.xml @@ -86,6 +86,7 @@ "mobile_ims,11,0,2,60000,true" "mobile_cbs,12,0,2,60000,true" "bluetooth,7,7,2,-1,true" + "mobile_emergency,15,0,5,-1,true" com.google.android.gms - - false - - - com.qti.internal.telephony.QtiTelephonyPlugin - - - /system/framework/qti-telephony-common.jar - diff --git a/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml b/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml index 34d2221e1..74a7c9d04 100644 --- a/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml +++ b/device/overlay/packages/apps/CellBroadcastReceiver/res/values/config.xml @@ -24,6 +24,4 @@ true true - - true