From a40aa7dcdbb7b26a1fb7eba9f304d21b8ecf133c Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Wed, 16 Nov 2016 03:04:50 -0700 Subject: [PATCH 1/7] Revert "gemini: Enable sdcardfs" Still causing issues on certain applications, not being able to write to the internal sdcard. This reverts commit cda97deeb4c64b8f2d14c13217a9ea8bded594d8. Change-Id: I9b7c124fae0938f33d646a6195d73373366a7a2c --- system_prop.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/system_prop.mk b/system_prop.mk index 1167ca2..52d2ac5 100644 --- a/system_prop.mk +++ b/system_prop.mk @@ -165,10 +165,6 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.data.df.iwlan_mux=9 \ persist.data.df.dev_name=rmnet_usb0 -# Storage -PRODUCT_PROPERTY_OVERRIDES += \ - ro.sdcardfs.enable=true - # TimeService PRODUCT_PROPERTY_OVERRIDES += \ persist.timed.enable=true From 0d53e2f220df573def5e1869a4bade7f8a030caa Mon Sep 17 00:00:00 2001 From: Raghavendra Prasad Nagaraj Date: Wed, 4 Nov 2015 12:54:18 +0530 Subject: [PATCH 2/7] gemini: Enable delay service restart This patch turns on system property "ro.am.reschedule_service". This helps to postpone services restarts during app launch. Only the services that are not relevant to current app launch are considered for postpone. Change-Id: I908be6dd7f7991b830a0440276fb9e2a0c0314c3 --- system_prop.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/system_prop.mk b/system_prop.mk index 52d2ac5..094a12d 100644 --- a/system_prop.mk +++ b/system_prop.mk @@ -120,6 +120,7 @@ PRODUCT_PROPERTY_OVERRIDES += \ # Perf PRODUCT_PROPERTY_OVERRIDES += \ + ro.am.reschedule_service=true \ ro.min_freq_0=307200 \ ro.min_freq_4=307200 \ ro.sys.fw.bg_apps_limit=60 \ From 0ad9d8863307d100014ec11754ac721ac0786d27 Mon Sep 17 00:00:00 2001 From: Zhao Wei Liew Date: Fri, 18 Nov 2016 02:36:33 -0700 Subject: [PATCH 3/7] gemini: Remove enhanced NFC feature This is no longer used anywhere. Change-Id: Iaabfaec2d7c734b5f286f3dc4ef651d93b2f2bc8 --- cm.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/cm.mk b/cm.mk index 7e8800f..4f8494a 100644 --- a/cm.mk +++ b/cm.mk @@ -24,9 +24,6 @@ $(call inherit-product, device/xiaomi/gemini/device.mk) # Inherit some common CM stuff. $(call inherit-product, vendor/cm/config/common_full_phone.mk) -# Enhanced NFC -$(call inherit-product, vendor/cm/config/nfc_enhanced.mk) - # Device identifier. This must come after all inclusions. PRODUCT_NAME := cm_gemini PRODUCT_DEVICE := gemini From 6a309b371dc76042a264d4da97d450b4e7982211 Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Sun, 20 Nov 2016 22:43:01 +0000 Subject: [PATCH 4/7] gemini: Build LiveDisplay native interface library Change-Id: I1dfa7c7a349811f9a3b0e628aebbf26093e1cd79 --- BoardConfig.mk | 1 + device.mk | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/BoardConfig.mk b/BoardConfig.mk index dd47582..5584ffc 100644 --- a/BoardConfig.mk +++ b/BoardConfig.mk @@ -115,6 +115,7 @@ BOARD_CHARGER_ENABLE_SUSPEND := true BOARD_HARDWARE_CLASS += \ hardware/cyanogen/cmhw \ $(DEVICE_PATH)/cmhw +BOARD_USES_CYANOGEN_HARDWARE := true TARGET_TAP_TO_WAKE_NODE := "/proc/touchpanel/double_tap_enable" # CNE and DPM diff --git a/device.mk b/device.mk index 40950b8..119da8e 100644 --- a/device.mk +++ b/device.mk @@ -206,6 +206,10 @@ PRODUCT_COPY_FILES += \ PRODUCT_PACKAGES += \ lights.msm8996 +# LiveDisplay native +PRODUCT_PACKAGES += \ + libjni_livedisplay + # Media PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/configs/media_codecs.xml:system/etc/media_codecs.xml \ From 426957801eb51771f7e3c337a50e5fed1415109f Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Tue, 22 Nov 2016 04:19:53 -0800 Subject: [PATCH 5/7] gemini: Update USB configs * Add changes from latest stock configs * Do some additional clean ups * Include diag mode (proven to be useful to those who want to play with QPST/QXDM for changing modem configs) Change-Id: Ie84b4bf907003aa9fc9c4bf5e8618bcc26a206b8 --- device.mk | 1 + rootdir/Android.mk | 8 ++++ rootdir/init.qcom.rc | 1 + rootdir/init.qcom.usb.diag.rc | 88 +++++++++++++++++++++++++++++++++++ rootdir/init.qcom.usb.rc | 79 ++++--------------------------- 5 files changed, 106 insertions(+), 71 deletions(-) create mode 100644 rootdir/init.qcom.usb.diag.rc diff --git a/device.mk b/device.mk index 119da8e..5bfa375 100644 --- a/device.mk +++ b/device.mk @@ -127,6 +127,7 @@ PRODUCT_PACKAGES += \ init.qcom.rc \ init.qcom.power.rc \ init.qcom.usb.rc \ + init.qcom.usb.diag.rc \ init.target.rc \ ueventd.qcom.rc \ init.qcom.sh diff --git a/rootdir/Android.mk b/rootdir/Android.mk index e9faf30..a3df194 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -51,6 +51,14 @@ LOCAL_SRC_FILES := init.qcom.usb.rc LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.usb.diag.rc +LOCAL_MODULE_TAGS := optional eng +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := init.qcom.usb.diag.rc +LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := init.target.rc LOCAL_MODULE_TAGS := optional eng diff --git a/rootdir/init.qcom.rc b/rootdir/init.qcom.rc index 864d3a9..c7f0675 100644 --- a/rootdir/init.qcom.rc +++ b/rootdir/init.qcom.rc @@ -27,6 +27,7 @@ import init.qcom.power.rc import init.qcom.usb.rc +import init.qcom.usb.diag.rc import init.target.rc on init diff --git a/rootdir/init.qcom.usb.diag.rc b/rootdir/init.qcom.usb.diag.rc new file mode 100644 index 0000000..5207fdc --- /dev/null +++ b/rootdir/init.qcom.usb.diag.rc @@ -0,0 +1,88 @@ +# Copyright (c) 2011-2012, 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. +# + +# USB diag compositions +on property:sys.usb.config=rndis,diag + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 902C + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions rndis,diag + write /sys/class/android_usb/android0/enable 1 + setprop sys.usb.state ${sys.usb.config} + +on property:sys.usb.config=rndis,diag,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 902D + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions rndis,diag,adb + write /sys/class/android_usb/android0/enable 1 + 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,adb + write /sys/class/android_usb/android0/enable 0 + write /sys/class/android_usb/android0/idVendor 05C6 + write /sys/class/android_usb/android0/idProduct 901D + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/functions diag,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_cdev,serial_tty,rmnet_ipa,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 9026 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + 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} + +on property:sys.usb.config=diag,serial_cdev,serial_tty,rmnet_ipa,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 9025 + write /sys/class/android_usb/android0/f_diag/clients diag + write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty + write /sys/class/android_usb/android0/f_rmnet/transports qti,bam2bam_ipa + 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} diff --git a/rootdir/init.qcom.usb.rc b/rootdir/init.qcom.usb.rc index 5dbbb4a..70d0bae 100644 --- a/rootdir/init.qcom.usb.rc +++ b/rootdir/init.qcom.usb.rc @@ -28,6 +28,8 @@ on init write /sys/class/android_usb/android0/f_rndis/wceis 1 write /sys/class/android_usb/android0/iSerial ${ro.serialno} + write /sys/class/android_usb/android0/iManufacturer ${ro.product.manufacturer} + write /sys/class/android_usb/android0/iProduct ${ro.product.model} on fs mkdir /dev/usb-ffs 0770 shell shell @@ -35,58 +37,12 @@ on fs mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 write /sys/class/android_usb/android0/f_ffs/aliases adb + write /sys/class/android_usb/f_mass_storage/lun/nofua 1 + write /sys/class/android_usb/android0/f_rndis_qc/rndis_transports "BAM2BAM_IPA" write /sys/module/g_android/parameters/mtp_tx_req_len 131072 write /sys/module/g_android/parameters/mtp_rx_req_len 131072 -# Following are the parameters required for usb functionality. They provide configurable options like -# product_id/vendor id and allows specifying required functions: -# -# Required parameters: -# -# /sys/class/android_usb/android0/enable: Enables/disables usb composition -# Value: 0 (disable), 1 (enable) -# -# /sys/class/android_usb/android0/idVendor: Stores Vendor ID -# Value: 05c6 (Vendor id for Qualcomm Inc) -# -# /sys/class/android_usb/android0/idProduct: Stores Product id corresponding to usb composition -# Value: 0x9xxx for composite interface, 0xFxxx for single interface -# -# /sys/class/android_usb/android0/f_diag/clients: Stores name of clients representing a diag interface. -# Value: Passed one per interface. e.g. diag[,diag_mdm, diag_qsc, diag_mdm2] -# -# /sys/class/android_usb/android0/functions: Stores name of the function drivers used in usb composition. -# Value: Passed one per function driver. e.g. diag[,adb] -# -#Optional parameters: -# -# /sys/class/android_usb/android0/f_serial/transports: Stores type of underlying transports used to -# communicate to serial interface. -# Value: Passed one per interface. One value represents control and data transport together. -# e.g. smd[,sdio,tty,hsic] -# Only required if serial interface is present. -# -# /sys/class/android_usb/android0/f_serial/transport_names: Stores name of the underlying transports -# used to communicate to serial interface. This is used to distinguish between more than one interface -# using same transport type. -# Value: Passed one per interface. One value represents control and data transport together. -# e.g. serial_hsic[,serial_hsusb] -# Only required for transport type hsic, optional for other transport types. -# -# /sys/class/android_usb/android0/f_rmnet/transports: Stores type of underlying transports used to -# communicate to rmnet interface. -# Value: Passed two per interface as control, data transport type pair. -# e.g. smd,bam[,hsuart,hsuart] -# Only required if rmnet interface is present. -# -# /sys/class/android_usb/android0/f_rmnet/transport_names: Stores name of the underlying transports -# used to communicate to rmnet interface. This is used to distinguish between more than one interface -# using same transport type. -# Value: Passed one per interface. One value represents control and data transport together. -# e.g. rmnet_hsic[,rmnet_hsusb] -# Only required for transport type hsic, optional for other transport types. - # USB compositions on property:sys.usb.tethering=true write /sys/class/net/rndis0/queues/rx-0/rps_cpus 0 @@ -97,7 +53,7 @@ on property:sys.usb.config=rndis write /sys/class/android_usb/android0/idProduct ff80 write /sys/class/android_usb/android0/functions rndis write /sys/class/android_usb/android0/enable 1 - setprop sys.usb.state rndis + setprop sys.usb.state ${sys.usb.config} on property:sys.usb.config=rndis,adb write /sys/class/android_usb/android0/enable 0 @@ -106,26 +62,7 @@ on property:sys.usb.config=rndis,adb write /sys/class/android_usb/android0/functions rndis,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 - 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 - 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 + setprop sys.usb.state ${sys.usb.config} on property:sys.usb.config=ptp write /sys/class/android_usb/android0/enable 0 @@ -147,7 +84,7 @@ on property:sys.usb.config=ptp,adb on property:sys.usb.config=mtp write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 2717 - write /sys/class/android_usb/android0/idProduct ff60 + write /sys/class/android_usb/android0/idProduct ff40 write /sys/class/android_usb/android0/functions mtp write /sys/class/android_usb/android0/enable 1 setprop sys.usb.state ${sys.usb.config} @@ -155,7 +92,7 @@ on property:sys.usb.config=mtp on property:sys.usb.config=mtp,adb write /sys/class/android_usb/android0/enable 0 write /sys/class/android_usb/android0/idVendor 2717 - write /sys/class/android_usb/android0/idProduct ff68 + write /sys/class/android_usb/android0/idProduct ff48 write /sys/class/android_usb/android0/functions mtp,adb write /sys/class/android_usb/android0/enable 1 start adbd From 5ff67c6b329e3c96f0cc4df4b021346da3dd1121 Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Thu, 24 Nov 2016 02:22:59 -0800 Subject: [PATCH 6/7] gemini: power: Fix up BCL hotplug SoC mask * Wrong value was set which caused the CPU stuttering issues experienced when the battery level was bellow 5% Change-Id: I3373d3d359a0ef4771a09b6117b096f47a258eda --- rootdir/init.qcom.power.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rootdir/init.qcom.power.rc b/rootdir/init.qcom.power.rc index b5dbd81..ea7cd80 100644 --- a/rootdir/init.qcom.power.rc +++ b/rootdir/init.qcom.power.rc @@ -101,7 +101,7 @@ on enable-low-power write /sys/module/msm_thermal/core_control/enabled 1 write /sys/devices/soc/soc:qcom,bcl/mode "disable" write /sys/devices/soc/soc:qcom,bcl/hotplug_mask 12 - write /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask 15 + write /sys/devices/soc/soc:qcom,bcl/hotplug_soc_mask 8 write /sys/devices/soc/soc:qcom,bcl/mode "enable" # Input boost config From 3308f88d334fe98ff4c943beed074f9c44da3956 Mon Sep 17 00:00:00 2001 From: Bruno Martins Date: Wed, 14 Dec 2016 03:02:34 -0800 Subject: [PATCH 7/7] gemini: No longer allow home button to wake the device * This doesn't make sense since fingerprint wakeup was enabled and clearly must be disallowed once support for fingerprint as home button is added Change-Id: I8d8eb04906cfccd7531084a2d4baab2cc886c734 --- overlay/frameworks/base/core/res/res/values/config.xml | 2 +- 1 file changed, 1 insertion(+), 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 03206bc..63f687e 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -470,7 +470,7 @@ 64 - Volume rocker For example, a device with Home, Back and Menu keys would set this config to 7. --> - 65 + 64