From 6ee6dd6e8e12550f5d23e91bf885ff1e3eb0f4f2 Mon Sep 17 00:00:00 2001 From: George Chang Date: Thu, 5 May 2022 01:43:38 +0800 Subject: [PATCH 001/117] Switch NFC from HIDL to AIDL Bug: 216290344 Test: atest NfcNciInstrumentationTests Test: atest VtsAidlHalNfcTargetTest Change-Id: Ide115013131a79989d36e0a738a2918166192731 --- device-felix.mk | 3 +-- nfc/libnfc-hal-st.conf | 4 ++-- nfc/manifest_nfc.xml | 11 ----------- 3 files changed, 3 insertions(+), 15 deletions(-) delete mode 100644 nfc/manifest_nfc.xml diff --git a/device-felix.mk b/device-felix.mk index d258106..bc38671 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -85,7 +85,7 @@ PRODUCT_COPY_FILES += \ PRODUCT_PACKAGES += \ NfcNci \ Tag \ - android.hardware.nfc@1.2-service.st + android.hardware.nfc-service.st # SecureElement PRODUCT_PACKAGES += \ @@ -99,7 +99,6 @@ PRODUCT_COPY_FILES += \ device/google/felix/nfc/libse-gto-hal2.conf:$(TARGET_COPY_OUT_VENDOR)/etc/libse-gto-hal2.conf DEVICE_MANIFEST_FILE += \ - device/google/felix/nfc/manifest_nfc.xml \ device/google/felix/nfc/manifest_se.xml # Power HAL config diff --git a/nfc/libnfc-hal-st.conf b/nfc/libnfc-hal-st.conf index 0035a70..b7599c7 100644 --- a/nfc/libnfc-hal-st.conf +++ b/nfc/libnfc-hal-st.conf @@ -60,8 +60,8 @@ PRESENCE_CHECK_ALGORITHM=5 NCI_HAL_MODULE="nfc_nci.st21nfc" ############################################################################### -# White list to be set at startup. -DEVICE_HOST_WHITE_LIST={02:C0} +# Allow list to be set at startup. +DEVICE_HOST_ALLOW_LIST={02:C0} ############################################################################### # BAIL OUT value for P2P diff --git a/nfc/manifest_nfc.xml b/nfc/manifest_nfc.xml deleted file mode 100644 index bf6b7cc..0000000 --- a/nfc/manifest_nfc.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - android.hardware.nfc - hwbinder - 1.2 - - INfc - default - - - From a3b7b91b7f46b76c11dc015faf944f9d4a643da6 Mon Sep 17 00:00:00 2001 From: George Chang Date: Thu, 26 May 2022 17:18:59 +0800 Subject: [PATCH 002/117] Remove Nfc hidl settings Nfc uses aidl now Bug: 216290344 Test: manual Change-Id: I47f377b5bc7d1154d07ab34613c8c2deb2a54c1e --- manifest.xml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/manifest.xml b/manifest.xml index 73b4e42..aafe372 100644 --- a/manifest.xml +++ b/manifest.xml @@ -113,15 +113,6 @@ hwbinder @1.3::IDevice/google-edgetpu - - android.hardware.nfc - hwbinder - 1.2 - - INfc - default - - android.hardware.health hwbinder From cc9533f0902b43df347c4f7eeaecd1a3874a7125 Mon Sep 17 00:00:00 2001 From: Stephane Lee Date: Thu, 12 May 2022 17:02:34 -0700 Subject: [PATCH 003/117] Add device-specific support for GoogleBattery AIDL V1 Bug: 232461104 Test: Ensure Adaptive Charging/Battery health flags works as expected Change-Id: I169436ab06f586079224c0ef3cf2ee8658978882 --- manifest.xml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/manifest.xml b/manifest.xml index aafe372..7edd9e4 100644 --- a/manifest.xml +++ b/manifest.xml @@ -122,14 +122,13 @@ default - - vendor.google.google_battery - hwbinder - 1.2 - - IGoogleBattery - default - + + vendor.google.google_battery + 1 + + IGoogleBattery + default + vendor.google.whitechapel.audio.audioext From eee0a2c073214c4468aeea02dcfbe48a715a9b37 Mon Sep 17 00:00:00 2001 From: jimmyshiu Date: Thu, 21 Jul 2022 01:37:46 +0000 Subject: [PATCH 004/117] Remove universal touch boost Bug: 236781877 Test: PtsUiBench Change-Id: Ic150bcf5ed8494fd696d1a8444fa86798621969e --- powerhint.json | 63 -------------------------------------------------- 1 file changed, 63 deletions(-) diff --git a/powerhint.json b/powerhint.json index e9b302f..58ac9e4 100644 --- a/powerhint.json +++ b/powerhint.json @@ -155,7 +155,6 @@ "Path": "/proc/vendor_sched/ta_uclamp_min", "Values": [ "612", - "185", "1", "63" ], @@ -1337,58 +1336,6 @@ "Duration": 0, "Value": "1" }, - { - "PowerHint": "ADPF_DISABLE_TA_BOOST", - "Type": "MaskHint", - "Value": "BOOST_DISPLAY" - }, - { - "PowerHint": "ADPF_DISABLE_TA_BOOST", - "Type": "EndHint", - "Value": "BOOST_120HZ" - }, - { - "PowerHint": "ADPF_DISABLE_TA_BOOST", - "Type": "EndHint", - "Value": "BOOST_60HZ" - }, - { - "PowerHint": "BOOST_DISPLAY", - "Type": "DoHint", - "Value": "BOOST_120HZ" - }, - { - "PowerHint": "BOOST_DISPLAY", - "Type": "DoHint", - "Value": "BOOST_60HZ" - }, - { - "PowerHint": "INTERACTION", - "Type": "DoHint", - "Value": "BOOST_DISPLAY" - }, - { - "PowerHint": "BOOST_120HZ", - "Node": "TAUClampBoost", - "Duration": 200, - "Value": "185" - }, - { - "PowerHint": "BOOST_60HZ", - "Node": "TAUClampBoost", - "Duration": 200, - "Value": "185" - }, - { - "PowerHint": "REFRESH_120FPS", - "Type": "MaskHint", - "Value": "BOOST_60HZ" - }, - { - "PowerHint": "REFRESH_60FPS", - "Type": "MaskHint", - "Value": "BOOST_120HZ" - }, { "PowerHint": "DISPLAY_IDLE", "Node": "FGPreferIdle", @@ -1406,16 +1353,6 @@ "Type": "EndHint", "Value": "INTERACTION" }, - { - "PowerHint": "DISPLAY_IDLE", - "Type": "EndHint", - "Value": "BOOST_120HZ" - }, - { - "PowerHint": "DISPLAY_IDLE", - "Type": "EndHint", - "Value": "BOOST_60HZ" - }, { "PowerHint": "DISPLAY_IDLE", "Type": "EndHint", From 395e1c335e3682a5344b70019e9b62e8e8c1633d Mon Sep 17 00:00:00 2001 From: Wiwit Rifa'i Date: Thu, 4 Aug 2022 16:53:55 +0800 Subject: [PATCH 005/117] Add early wake up node property for secondary display Bug: 232886724 Test: Check the correct early wake up node is opened Change-Id: Idb3c0b93fafac775a8d443ae88465ed48176dfee --- device-felix.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index c5fab12..710039b 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -72,6 +72,10 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ #config of display brightness dimming PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.brightness.dimming.usage=1 +# Early wake up sysfs path for the secondary display +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ + vendor.display.secondary_early_wakeup_node=/sys/devices/platform/1c241000.drmdecon/early_wakeup + # NFC PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ From cccddaad1b3c125dbcc0232244f180f752e44785 Mon Sep 17 00:00:00 2001 From: achigoliu Date: Thu, 4 Aug 2022 18:45:24 +0800 Subject: [PATCH 006/117] Bundle handheld_core_hardware.xml Bug: 237110906 Test: Manual, verify build artifacts Signed-off-by: achigoliu Change-Id: Ie89503e9983eee55b1ae6f03a24cd51d58080772 --- device-felix.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index c5fab12..4f42b7e 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -237,3 +237,7 @@ PRODUCT_PACKAGES += \ PRODUCT_SOONG_NAMESPACES += device/google/felix DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/felix/device_framework_matrix_product_felix.xml + +# Device features +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml From 12decc0c3fd2eb679a675433797057b35c685821 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Tue, 16 Aug 2022 14:03:33 +0800 Subject: [PATCH 007/117] move bcmbt settings to gs-common Bug: 242661555 Test: build pass Change-Id: I270699acef0b35d5e76a41c8f04f787d46590d10 --- device-felix.mk | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/device-felix.mk b/device-felix.mk index 651bf90..8b5f0a3 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -30,7 +30,7 @@ include device/google/felix/audio/felix/audio-tables.mk include device/google/gs201/device-shipping-common.mk $(call soong_config_set,fp_hal_feature,pixel_product, product_a) include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk -include device/google/gs101/bluetooth/bluetooth.mk +include device/google/gs-common/bcmbt/bluetooth.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) include device/google/felix/uwb/uwb_calibration.mk endif @@ -119,7 +119,6 @@ DEVICE_MANIFEST_FILE += \ PRODUCT_SOONG_NAMESPACES += \ vendor/broadcom/bluetooth PRODUCT_PACKAGES += \ - android.hardware.bluetooth@1.1-service.bcmbtlinux \ bt_vendor.conf PRODUCT_COPY_FILES += \ device/google/felix/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf From f20ad73aed8902a961ec69b9197438712b2f5627 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Fri, 26 Aug 2022 08:40:39 +0800 Subject: [PATCH 008/117] Move bt Compatibility matrix and some packages to gs-common Bug: 242661555 Test: vts-tradefed run vts -m vts_treble_vintf_vendor_test Change-Id: I16baaf6e0ad1ae85138053c26e241fb6101f69ba --- bluetooth/manifest_bluetooth.xml | 38 ----------------------- device-felix.mk | 33 +++++++------------- device_framework_matrix_product_felix.xml | 8 ----- 3 files changed, 11 insertions(+), 68 deletions(-) delete mode 100644 bluetooth/manifest_bluetooth.xml diff --git a/bluetooth/manifest_bluetooth.xml b/bluetooth/manifest_bluetooth.xml deleted file mode 100644 index 2d055f4..0000000 --- a/bluetooth/manifest_bluetooth.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - android.hardware.bluetooth - hwbinder - 1.1 - - IBluetoothHci - default - - - - hardware.google.bluetooth.bt_channel_avoidance - hwbinder - 1.0 - - IBTChannelAvoidance - default - - - - hardware.google.bluetooth.sar - hwbinder - 1.1 - - IBluetoothSar - default - - - - hardware.google.bluetooth.ccc - hwbinder - 1.1 - - IBluetoothCcc - default - - - diff --git a/device-felix.mk b/device-felix.mk index 7581106..b3d0653 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -115,18 +115,23 @@ PRODUCT_COPY_FILES += \ device/google/felix/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json # Bluetooth HAL -DEVICE_MANIFEST_FILE += \ - device/google/felix/bluetooth/manifest_bluetooth.xml -PRODUCT_SOONG_NAMESPACES += \ - vendor/broadcom/bluetooth -PRODUCT_PACKAGES += \ - bt_vendor.conf PRODUCT_COPY_FILES += \ device/google/felix/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf PRODUCT_PROPERTY_OVERRIDES += \ ro.bluetooth.a2dp_offload.supported=true \ persist.bluetooth.a2dp_offload.disabled=false \ persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac +# Bluetooth SAR test tool +PRODUCT_PACKAGES_DEBUG += \ + sar_test + +# Bluetooth +PRODUCT_PRODUCT_PROPERTIES += \ + persist.bluetooth.a2dp_aac.vbr_supported=true + +# default BDADDR for EVB only +PRODUCT_PROPERTY_OVERRIDES += \ + ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55" # Keymaster HAL #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service @@ -158,10 +163,6 @@ PRODUCT_PROPERTY_OVERRIDES += \ # ro.hardware.keystore=software \ # ro.hardware.gatekeeper=software -# default BDADDR for EVB only -PRODUCT_PROPERTY_OVERRIDES += \ - ro.vendor.bluetooth.evb_bdaddr="22:22:22:33:44:55" - # PowerStats HAL PRODUCT_SOONG_NAMESPACES += \ device/google/felix/powerstats/felix @@ -183,18 +184,6 @@ FPC_MODULE_TYPE=1542_C PRODUCT_PROPERTY_OVERRIDES += \ ro.gms.dck.eligible_wcc=2 -# Bluetooth SAR test tool -PRODUCT_PACKAGES_DEBUG += \ - sar_test - -# Bluetooth -PRODUCT_PRODUCT_PROPERTIES += \ - persist.bluetooth.a2dp_aac.vbr_supported=true - -# Bluetooth HAL -PRODUCT_PACKAGES += \ - bt_vendor.conf - # Graphics PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.enable_frame_rate_override=true PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.set_idle_timer_ms_4619827677550801152=80 diff --git a/device_framework_matrix_product_felix.xml b/device_framework_matrix_product_felix.xml index 30414c5..12ab856 100644 --- a/device_framework_matrix_product_felix.xml +++ b/device_framework_matrix_product_felix.xml @@ -7,12 +7,4 @@ secondary - - hardware.google.bluetooth.ccc - 1.1 - - IBluetoothCcc - default - - From dda33e1c0c577f74de9849f82c0d85c32c4b8a86 Mon Sep 17 00:00:00 2001 From: Victor Liu Date: Tue, 30 Aug 2022 14:04:12 -0700 Subject: [PATCH 009/117] uwb: update vendor hal folder location Bug: 241468038 Change-Id: I1a05fe35f7fa9119a40dbfc274f5d375edd2e6c3 --- uwb/uwb_calibration.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uwb/uwb_calibration.mk b/uwb/uwb_calibration.mk index 849e154..fe30630 100644 --- a/uwb/uwb_calibration.mk +++ b/uwb/uwb_calibration.mk @@ -14,7 +14,7 @@ # limitations under the License. # UWB - ultra wide band -$(call inherit-product-if-exists, vendor/qorvo/uwb/uwb.mk) +$(call inherit-product-if-exists, vendor/qorvo/uwb/dw3000-hal/uwb.mk) LOCAL_UWB_CAL_DIR=device/google/felix/uwb From d3e1c6e640ffd20cb2d01a7ff0d051caa65f45b4 Mon Sep 17 00:00:00 2001 From: Victor Liu Date: Thu, 1 Sep 2022 21:39:19 +0000 Subject: [PATCH 010/117] Revert "uwb: update vendor hal folder location" Revert "uwb: update vendor hal folder location" Revert "uwb: update vendor hal folder location" Revert "uwb: move uwb hal into dw3000-hal folder" Revert "uwb: update vendor hal folder location" Revert submission 19786107-241468038 Reason for revert: b/244619620 - This change will cause automerger conflicts and should go into tm-qpr-dev since tm-qpr-dev is still actively being used. Reverted Changes: I6c84b59fe:uwb: update vendor hal folder location If64da8254:uwb: update vendor hal folder location Ie3a507f22:uwb: update vendor hal folder location Ib5c22ea7e:uwb: move uwb hal into dw3000-hal folder Id48f26750:uwb: update vendor hal folder location I1a05fe35f:uwb: update vendor hal folder location Change-Id: I7ddffbb2ca596036e043e25ac13079aa0a5b279d --- uwb/uwb_calibration.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uwb/uwb_calibration.mk b/uwb/uwb_calibration.mk index fe30630..849e154 100644 --- a/uwb/uwb_calibration.mk +++ b/uwb/uwb_calibration.mk @@ -14,7 +14,7 @@ # limitations under the License. # UWB - ultra wide band -$(call inherit-product-if-exists, vendor/qorvo/uwb/dw3000-hal/uwb.mk) +$(call inherit-product-if-exists, vendor/qorvo/uwb/uwb.mk) LOCAL_UWB_CAL_DIR=device/google/felix/uwb From 95ddbd22585bafd40d49ea265e022b6b2576a7b1 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Tue, 6 Sep 2022 12:44:21 +0800 Subject: [PATCH 011/117] use gs-common insert module script Bug: 243763292 Test: boot to home Change-Id: Ife1b17ac377d5d3bdad63bdf3a2d9f98ae603a01 --- conf/init.felix.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/init.felix.rc b/conf/init.felix.rc index 3a4814c..92ae1c8 100644 --- a/conf/init.felix.rc +++ b/conf/init.felix.rc @@ -78,7 +78,7 @@ on early-boot wait_for_prop vendor.common.modules.ready 1 start insmod_sh_felix -service insmod_sh_felix /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.felix.cfg +service insmod_sh_felix /vendor/bin/insmod.sh /vendor/etc/init.insmod.felix.cfg class main user root group root system From 060cb3872cb989a30d45dc48720757f1a4996e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20Kosi=C5=84ski?= Date: Tue, 13 Sep 2022 01:57:27 +0000 Subject: [PATCH 012/117] Set Lyric camera_hardware variable. Bug: 240478511 Test: presubmit Change-Id: I19b05a45e68df83a4960453b88da1ae2d567d921 --- device-felix.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index f51f40b..9399a67 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -35,6 +35,8 @@ ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) include device/google/felix/uwb/uwb_calibration.mk endif +# go/lyric-soong-variables +$(call soong_config_set,lyric,camera_hardware,felix) $(call soong_config_set,lyric,tuning_product,felix) $(call soong_config_set,google3a_config,target_device,felix) From da937e8ca093f4a33ec0bfee3244e79b06bf7f3c Mon Sep 17 00:00:00 2001 From: Shawn Lin Date: Tue, 20 Sep 2022 11:21:10 +0800 Subject: [PATCH 013/117] Update cutout & rounded corner configs Bug: 234327307 Test: make Change-Id: Ib855e5cf965e9bb76b736cad9a8ea2593879adc2 --- .../base/core/res/res/values/config.xml | 22 +++++++------------ .../rounded_corner_bottom_secondary.xml | 10 ++++----- .../drawable/rounded_corner_top_secondary.xml | 10 ++++----- .../packages/SystemUI/res/values/config.xml | 9 +++----- 4 files changed, 21 insertions(+), 30 deletions(-) diff --git a/felix/overlay/frameworks/base/core/res/res/values/config.xml b/felix/overlay/frameworks/base/core/res/res/values/config.xml index 2f49157..d0839d4 100644 --- a/felix/overlay/frameworks/base/core/res/res/values/config.xml +++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml @@ -74,17 +74,15 @@ - M 505,61 - a 35,35 0 1 0 70,0 35,35 0 1 0 -70,0 - Z - @left + m 576.2,66.53 a 36.5,36.5 0 0 1 -36.5,36.5 36.5,36.5 0 0 1 -36.5,-36.5 36.5,36.5 0 0 1 36.5,-36.5 36.5,36.5 0 0 1 36.5,36.5 z + @left - M 480,0 - h 110 - v 110 - h -110 + M 503.2,0 + h 73 + v 103 + h 73 Z @left @@ -230,13 +228,13 @@ orientation. If zero, the value of rounded_corner_radius is used. --> 52px - 52px + 91px 48px - 48px + 91px 5px - - 5px 4px - - 4px 64 diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_bottom_secondary.xml b/felix/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_bottom_secondary.xml index 0b94bd0..5c2baed 100644 --- a/felix/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_bottom_secondary.xml +++ b/felix/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_bottom_secondary.xml @@ -12,13 +12,13 @@ limitations under the License. --> + android:width="124px" + android:height="124px" + android:viewportWidth="124" + android:viewportHeight="124"> + android:pathData="m -0.2595961,0.2591722 c -1.605,0 124.7041761,-0.01235 123.0991761,2.75e-4 -1.7445,0.01372 -8.30417,0.05292 -10.04857,0.06376 -3.3442,0.06884 -6.6881,0.139273 -10.0322,0.207628 -3.333302,0.170329 -6.666902,0.340978 -10.000302,0.511466 -3.3011,0.32529 -6.6023,0.650099 -9.9033,0.975068 -3.2531,0.522192 -6.5062,1.044224 -9.7593,1.566576 -3.1781,0.767279 -6.3565,1.534558 -9.5345,2.30179 -3.0552,1.044223 -6.1103,2.088686 -9.1653,3.133022 -2.9108,1.3374958 -5.8211,2.6747658 -8.7321,4.0121508 -2.7125,1.641095 -5.4253,3.282173 -8.1378,4.923267 -2.4934,1.939474 -4.9871,3.878963 -7.4803,5.818437 -2.231,2.221843 -4.462,4.443751 -6.6932,6.665614 -1.947504,2.47764 -3.895104,4.955266 -5.842904,7.432875 -1.6477,2.706737 -3.2956,5.413473 -4.9438,8.120226 -1.344,2.89325 -2.6855001,5.786468 -4.0284001,8.679701 -1.0503,3.047762 -2.0975,6.09551 -3.1463,9.143256 -0.7711,3.159613 -1.5405,6.319272 -2.3115,9.478881 -0.5226,3.24492 -1.0486,6.4898 -1.5729,9.734716 -0.3279,3.2875 -0.6526,6.57502 -0.9789,9.86256 -0.1704,3.31949 -0.3442,6.63898 -0.513,9.958439 -0.065,3.33016 -0.1461,6.66029 -0.2094,9.99044 0,3.33548 -0.048,6.67092 -0.065,10.00642 z" /> diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_top_secondary.xml b/felix/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_top_secondary.xml index 7731c14..cf558a7 100644 --- a/felix/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_top_secondary.xml +++ b/felix/overlay/frameworks/base/packages/SystemUI/res/drawable/rounded_corner_top_secondary.xml @@ -12,13 +12,13 @@ limitations under the License. --> + android:width="124px" + android:height="124px" + android:viewportWidth="124" + android:viewportHeight="124"> + android:pathData="m 122.58619,3.1999995e-5 c -3.33555,0 -6.67094,0.04334 -10.0064,0.06428 -3.33016,0.06899 -6.66029,0.139606 -9.99045,0.2085 -3.319464,0.171114 -6.638954,0.342375 -9.958454,0.513651 -3.28753,0.326645 -6.575051,0.652803 -9.862553,0.979123 -3.244921,0.524398 -6.489794,1.048633 -9.734715,1.573031 -3.159614,0.770461 -6.319272,1.540922 -9.478886,2.311389 -3.047745,1.048634 -6.095492,2.097377 -9.143254,3.146076 -2.893234,1.343005 -5.786451,2.685914 -8.679702,4.02888 -2.706754,1.64794 -5.41349,3.295865 -8.120226,4.943837 -2.477509,1.947547 -4.955135,3.895118 -7.432775,5.842655 -2.221863,2.231181 -4.443771,4.462284 -6.665614,6.693415 -1.939474,2.493252 -3.878963,4.986664 -5.818437,7.480076 -1.641094,2.712671 -3.282172,5.425344 -4.923267,8.138016 -1.337496,2.910586 -2.674769,5.821332 -4.012151,8.731916 -1.044223,3.055047 -2.088671,6.110095 -3.133022,9.165301 -0.76728,3.17816 -1.534559,6.356323 -2.30179,9.534484 -0.522193,3.25296 -1.044224,6.506078 -1.566576,9.759199 -0.325289,3.301114 -0.650098,6.602388 -0.975068,9.903822 -0.170329,3.333219 -0.340977,6.666605 -0.511466,9.999957 -0.06884,3.344 -0.139273,6.68795 -0.207628,10.03208 C 0.05422341,114.58394 0.00989647,121.56369 0,123.098 -0.0117079,124.91315 0.01100341,-1.8151271 -2.74e-4,0 Z" /> diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml index dd20d79..ca7ada3 100644 --- a/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml +++ b/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -75,14 +75,11 @@ - M 494,65 - a 46,46 0 1 0 92,0 - a 46,46 0 1 0 -92,0 - Z + m 589.2,66.53 a 49.5,49.5 0 0 1 -49.5,49.5 49.5,49.5 0 0 1 -49.5,-49.5 49.5,49.5 0 0 1 49.5,-49.5 49.5,49.5 0 0 1 49.5,49.5 z - - 1 + + 0 From bcf94715b412a755841e60e4d05a31e7435ab315 Mon Sep 17 00:00:00 2001 From: Shawn Lin Date: Wed, 28 Sep 2022 20:17:45 +0800 Subject: [PATCH 014/117] Add display shape config for F10 Bug: 236935288 Test: make Change-Id: I391c320f9cab2e430b182101814a997fd2430771 --- .../base/core/res/res/values/config.xml | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/felix/overlay/frameworks/base/core/res/res/values/config.xml b/felix/overlay/frameworks/base/core/res/res/values/config.xml index d0839d4..9e6713d 100644 --- a/felix/overlay/frameworks/base/core/res/res/values/config.xml +++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml @@ -350,4 +350,30 @@ 283 283 + + + M 100 0 C 85.508984 0.17732943 53.048104 0.19614615 50.220703 0.3125 C 46.59154 0.46184817 43.772284 0.73295581 41.220703 1.1679688 C 38.669124 1.6029816 37.395897 1.9206529 34.921875 2.7285156 C 32.447853 3.5363783 30.703329 4.1333351 26.476562 6.1855469 C 22.249798 8.2377586 19.650733 10.036004 17.412109 11.853516 C 15.173487 13.671026 13.194311 15.829318 11.78125 17.480469 C 10.368189 19.131618 9.7124678 20.077609 8.4746094 22.052734 C 7.2367508 24.027858 6.4508163 25.499897 5.3867188 28 C 4.3226211 30.500103 3.0570154 34.426858 2.375 36.919922 C 1.6929846 39.412984 1.4802708 40.78808 1.1132812 42.880859 C 0.7462918 44.973638 0.57743581 46.240459 0.38867188 49.041016 C 0.16693043 52.330833 0.48349037 76.000048 0 100 L 0 1744 C 0.46414424 1767.04 0.16213582 1789.7617 0.375 1792.9199 C 0.5562164 1795.6085 0.71800182 1796.8249 1.0703125 1798.834 C 1.4226231 1800.8431 1.6265082 1802.1633 2.28125 1804.5566 C 2.9359817 1806.9499 4.1503451 1810.719 5.171875 1813.1191 C 6.1934148 1815.5192 6.9464267 1816.9339 8.1347656 1818.8301 C 9.3231146 1820.7261 9.9520539 1821.6336 11.308594 1823.2188 C 12.665132 1824.8037 14.56772 1826.8763 16.716797 1828.6211 C 18.865874 1830.3659 21.360274 1832.0924 25.417969 1834.0625 C 29.475665 1836.0326 31.150324 1836.6054 33.525391 1837.3809 C 35.900446 1838.1565 37.122749 1838.4613 39.572266 1838.8789 C 42.021789 1839.2966 44.72889 1839.5579 48.212891 1839.7012 C 50.927192 1839.813 82.088619 1839.8298 96 1840 L 2112 1840 C 2125.9114 1839.8298 2157.0728 1839.813 2159.7871 1839.7012 C 2163.2712 1839.5579 2165.9782 1839.2966 2168.4277 1838.8789 C 2170.8772 1838.4613 2172.0995 1838.1565 2174.4746 1837.3809 C 2176.8496 1836.6054 2178.5243 1836.0326 2182.582 1834.0625 C 2186.6397 1832.0924 2189.1341 1830.3659 2191.2832 1828.6211 C 2193.4322 1826.8763 2195.3349 1824.8037 2196.6914 1823.2188 C 2198.048 1821.6336 2198.6769 1820.7261 2199.8652 1818.8301 C 2201.0536 1816.9339 2201.8066 1815.5192 2202.8281 1813.1191 C 2203.8497 1810.719 2205.064 1806.9499 2205.7188 1804.5566 C 2206.3733 1802.1633 2206.5774 1800.8431 2206.9297 1798.834 C 2207.282 1796.8249 2207.4458 1795.6085 2207.627 1792.9199 C 2207.8398 1789.7617 2207.536 1767.04 2208 1744 L 2208 100 C 2207.5164 76.000048 2207.833 52.330827 2207.6113 49.041016 C 2207.4225 46.24046 2207.2537 44.973645 2206.8867 42.880859 C 2206.5197 40.788083 2206.3071 39.412986 2205.625 36.919922 C 2204.943 34.426856 2203.6774 30.500104 2202.6133 28 C 2201.5492 25.499896 2200.7632 24.02785 2199.5254 22.052734 C 2198.2875 20.077608 2197.6317 19.131615 2196.2188 17.480469 C 2194.8058 15.829311 2192.8265 13.671032 2190.5879 11.853516 C 2188.3492 10.036008 2185.7502 8.2377527 2181.5234 6.1855469 C 2177.2967 4.1333309 2175.5521 3.536384 2173.0781 2.7285156 C 2170.6041 1.9206572 2169.3309 1.6029878 2166.7793 1.1679688 C 2164.2278 0.73295958 2161.4085 0.4618497 2157.7793 0.3125 C 2154.9519 0.19615024 2122.491 0.17732964 2108 0 L 100 0 z + + + M 0 0 L 0 2092 L 1080 2092 L 1080 0 L 0 0 z M 0.00390625 0.01953125 L 124 0.01953125 C 120.62607 0.01953125 117.25272 0.062897597 113.87891 0.083984375 C 110.51044 0.15345796 107.14189 0.22554494 103.77344 0.29492188 C 100.41579 0.46723528 97.056902 0.63807032 93.699219 0.81054688 C 90.373874 1.1394815 87.049926 1.4682676 83.724609 1.796875 C 80.442364 2.3249488 77.159199 2.8527856 73.876953 3.3808594 C 70.680994 4.1567209 67.48502 4.933117 64.289062 5.7089844 C 61.206262 6.7649688 58.123836 7.8209034 55.041016 8.8769531 C 52.114502 10.229372 49.188251 11.581215 46.261719 12.933594 C 43.523829 14.593085 40.784745 16.252586 38.046875 17.912109 C 35.54087 19.873307 33.035436 21.835687 30.529297 23.796875 C 28.281876 26.043695 26.03451 28.29034 23.787109 30.537109 C 21.825326 33.047838 19.864128 35.557471 17.902344 38.068359 C 16.242372 40.800045 14.581846 43.531987 12.921875 46.263672 C 11.568993 49.19466 10.216047 52.125655 8.8632812 55.056641 C 7.807047 58.133103 6.7516762 61.210488 5.6953125 64.287109 C 4.9192068 67.487547 4.1432437 70.688232 3.3671875 73.888672 C 2.8389878 77.164433 2.3096105 80.440872 1.78125 83.716797 C 1.4522193 87.04105 1.12363 90.364877 0.79492188 93.689453 C 0.62263364 97.046037 0.44979383 100.40305 0.27734375 103.75977 C 0.20771199 107.1272 0.13750064 110.49376 0.068359375 113.86133 C 0.058717095 115.40631 0.01391657 122.4354 0.00390625 123.98047 C -0.0079363164 125.80834 0.015313378 -1.8083189 0.00390625 0.01953125 z M 956 0.01953125 L 1079.998 0.01953125 C 1079.9867 -1.8083196 1080.0071 125.80834 1079.9961 123.98047 C 1079.9861 122.4354 1079.9436 115.40631 1079.9336 113.86133 C 1079.8645 110.49376 1079.7927 107.1272 1079.7227 103.75977 C 1079.5502 100.40304 1079.3774 97.046035 1079.2051 93.689453 C 1078.8763 90.364875 1078.5477 87.041057 1078.2188 83.716797 C 1077.6905 80.440877 1077.163 77.164434 1076.6348 73.888672 L 1074.3066 64.287109 C 1073.2502 61.21048 1072.1929 58.133106 1071.1367 55.056641 C 1069.784 52.125655 1068.431 49.194657 1067.0781 46.263672 C 1065.418 43.531978 1063.7596 40.800035 1062.0996 38.068359 C 1060.1378 35.557468 1058.1747 33.047839 1056.2129 30.537109 C 1053.9655 28.290338 1051.7181 26.0437 1049.4707 23.796875 C 1046.9646 21.83568 1044.4591 19.873293 1041.9531 17.912109 C 1039.2153 16.252583 1036.4761 14.593089 1033.7383 12.933594 C 1030.8117 11.581217 1027.8856 10.229372 1024.959 8.8769531 C 1021.8762 7.8209026 1018.7938 6.7649692 1015.7109 5.7089844 C 1012.515 4.933117 1009.3189 4.1567207 1006.123 3.3808594 C 1002.8407 2.8527853 999.55759 2.324948 996.27539 1.796875 C 992.95004 1.4682674 989.62616 1.1394813 986.30078 0.81054688 C 982.94306 0.63807038 979.58423 0.46723542 976.22656 0.29492188 C 972.85807 0.22554451 969.48959 0.15345499 966.12109 0.083984375 C 962.74726 0.062904417 959.37395 0.01953125 956 0.01953125 z M 0.015625 1968 C 0.032745156 1971.3738 0.080078125 1974.7472 0.080078125 1978.1211 C 0.14382551 1981.4895 0.22555626 1984.8582 0.29101562 1988.2266 C 0.46100867 1991.5841 0.63698941 1994.941 0.80859375 1998.2988 C 1.1371999 2001.624 1.4647043 2004.9502 1.7949219 2008.2754 C 2.3229272 2011.5576 2.8526128 2014.8388 3.3789062 2018.1211 C 4.1553555 2021.3171 4.9304814 2024.513 5.7070312 2027.709 C 6.7632439 2030.7917 7.817277 2033.8762 8.875 2036.959 C 10.227391 2039.8856 11.578141 2042.8119 12.931641 2045.7383 C 14.591489 2048.4762 16.250812 2051.2132 17.910156 2053.9512 C 19.871723 2056.4573 21.833647 2058.9628 23.794922 2061.4688 C 26.041892 2063.7161 28.288387 2065.9635 30.535156 2068.2109 C 33.045978 2070.1727 35.557338 2072.1358 38.068359 2074.0977 C 40.800032 2075.7577 43.532001 2077.4162 46.263672 2079.0762 C 49.195245 2080.4289 52.125269 2081.7819 55.056641 2083.1348 C 58.133233 2084.191 61.210316 2085.2486 64.287109 2086.3047 C 67.48757 2087.0807 70.68811 2087.8567 73.888672 2088.6328 C 77.164765 2089.1611 80.440704 2089.6885 83.716797 2090.2168 C 87.041127 2090.5453 90.366976 2090.8741 93.691406 2091.2031 C 97.048366 2091.3756 100.40486 2091.5484 103.76172 2091.7207 C 107.12946 2091.7898 110.49741 2091.8597 113.86523 2091.9297 C 115.62196 2091.9407 122.22756 2091.9801 123.98438 2091.9941 C 125.60072 2092.0064 -1.6007186 2091.9941 0.015625 2091.9941 L 0.015625 1968 z M 1079.9844 1968 L 1079.9844 2091.9941 C 1081.6008 2091.9941 954.39928 2092.0064 956.01562 2091.9941 C 957.77244 2091.9801 964.37804 2091.9407 966.13477 2091.9297 C 969.50259 2091.8597 972.87054 2091.7898 976.23828 2091.7207 C 979.59514 2091.5484 982.95164 2091.3756 986.30859 2091.2031 C 989.63302 2090.8741 992.95888 2090.5453 996.2832 2090.2168 C 999.5593 2089.6885 1002.8352 2089.1611 1006.1113 2088.6328 C 1009.3119 2087.8567 1012.5124 2087.0807 1015.7129 2086.3047 C 1018.7897 2085.2486 1021.8668 2084.191 1024.9434 2083.1348 C 1027.8748 2081.7819 1030.8048 2080.4289 1033.7363 2079.0762 C 1036.468 2077.4162 1039.1999 2075.7577 1041.9316 2074.0977 C 1044.4426 2072.1358 1046.9539 2070.1727 1049.4648 2068.2109 C 1051.7115 2065.9635 1053.9581 2063.7161 1056.2051 2061.4688 C 1058.1664 2058.9628 1060.1282 2056.4573 1062.0898 2053.9512 C 1063.7491 2051.2132 1065.4086 2048.4762 1067.0684 2045.7383 C 1068.4219 2042.8119 1069.7726 2039.8856 1071.125 2036.959 C 1072.1828 2033.8762 1073.2368 2030.7917 1074.293 2027.709 C 1075.0695 2024.513 1075.8447 2021.3171 1076.6211 2018.1211 C 1077.1474 2014.8388 1077.6771 2011.5576 1078.2051 2008.2754 C 1078.5353 2004.9502 1078.8627 2001.624 1079.1914 1998.2988 C 1079.363 1994.941 1079.539 1991.5841 1079.709 1988.2266 C 1079.774 1984.8582 1079.8561 1981.4895 1079.9199 1978.1211 C 1079.9199 1974.7472 1079.9674 1971.3738 1079.9844 1968 z From 0e8dd372aec86fcdd521dd121634f3ae32e3acb0 Mon Sep 17 00:00:00 2001 From: Yung Ti Su Date: Tue, 27 Sep 2022 13:37:13 +0800 Subject: [PATCH 015/117] Enable the spatial audio function Bug: 248470366 Test: manual Signed-off-by: Yung Ti Su Change-Id: Ie1282d6550052c4bffacaa0b88388bbabe73a208 --- audio/felix/audio-tables.mk | 2 +- audio/felix/config/audio_effects.xml | 2 + .../config/audio_platform_configuration.xml | 7 +- .../config/audio_policy_configuration.xml | 10 +-- ...cy_configuration_a2dp_offload_disabled.xml | 4 +- ...icy_configuration_bluetooth_legacy_hal.xml | 4 -- ...with_le_audio_policy_configuration_7_0.xml | 71 +++++++++++++++++++ audio/felix/config/mixer_paths.xml | 9 ++- device-felix.mk | 11 ++- 9 files changed, 103 insertions(+), 17 deletions(-) create mode 100644 audio/felix/config/bluetooth_with_le_audio_policy_configuration_7_0.xml diff --git a/audio/felix/audio-tables.mk b/audio/felix/audio-tables.mk index 0ab8715..b6ff0d4 100644 --- a/audio/felix/audio-tables.mk +++ b/audio/felix/audio-tables.mk @@ -23,7 +23,7 @@ PRODUCT_COPY_FILES += \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \ - frameworks/av/services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml + device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/bluetooth_with_le_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml # AudioEffectHAL Configuration PRODUCT_COPY_FILES += \ diff --git a/audio/felix/config/audio_effects.xml b/audio/felix/config/audio_effects.xml index 1718057..e35bfbd 100644 --- a/audio/felix/config/audio_effects.xml +++ b/audio/felix/config/audio_effects.xml @@ -10,6 +10,7 @@ + @@ -51,6 +52,7 @@ + diff --git a/audio/felix/config/audio_platform_configuration.xml b/audio/felix/config/audio_platform_configuration.xml index 6f1cc2b..36c5c39 100644 --- a/audio/felix/config/audio_platform_configuration.xml +++ b/audio/felix/config/audio_platform_configuration.xml @@ -182,7 +182,8 @@ - + + @@ -218,6 +219,10 @@ + + + + diff --git a/audio/felix/config/audio_policy_configuration.xml b/audio/felix/config/audio_policy_configuration.xml index c8f3f6c..b07c021 100644 --- a/audio/felix/config/audio_policy_configuration.xml +++ b/audio/felix/config/audio_policy_configuration.xml @@ -63,8 +63,8 @@ - - + + encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC"> + encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC"> + encodedFormats="AUDIO_FORMAT_OPUS AUDIO_FORMAT_AAC AUDIO_FORMAT_SBC"> diff --git a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml index 3c78481..74a3544 100644 --- a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml +++ b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml @@ -63,8 +63,8 @@ - - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/audio/felix/config/mixer_paths.xml b/audio/felix/config/mixer_paths.xml index 0b5010b..7a54043 100644 --- a/audio/felix/config/mixer_paths.xml +++ b/audio/felix/config/mixer_paths.xml @@ -131,6 +131,7 @@ + @@ -153,6 +154,7 @@ + @@ -163,6 +165,7 @@ + @@ -442,15 +445,15 @@ - + - + - + diff --git a/device-felix.mk b/device-felix.mk index 1d36e82..a92da68 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -125,7 +125,16 @@ PRODUCT_COPY_FILES += \ PRODUCT_PROPERTY_OVERRIDES += \ ro.bluetooth.a2dp_offload.supported=true \ persist.bluetooth.a2dp_offload.disabled=false \ - persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac + persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac-opus + +# Spatial Audio +PRODUCT_PACKAGES += \ + libspatialaudio + +# declare use of spatial audio +PRODUCT_PROPERTY_OVERRIDES += \ + ro.audio.spatializer_enabled=true + # Bluetooth SAR test tool PRODUCT_PACKAGES_DEBUG += \ sar_test From 2d1941f5e0890805b982f49fb1bc88ce22b71352 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Mon, 17 Oct 2022 12:07:26 +0800 Subject: [PATCH 016/117] powerstats: update specific data provider configurations Bug: 253951732 Test: dumpsys android.hardware.power.stats.IPowerStats/default Change-Id: Idf73f9e65ddd0f47146b1bfac5ac6b101103c5ca Signed-off-by: Darren Hsu --- powerstats/felix/Android.bp | 2 ++ powerstats/felix/service.cpp | 53 ++++++++++++++++++++++++++++++++++-- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/powerstats/felix/Android.bp b/powerstats/felix/Android.bp index b7c146f..6a46051 100644 --- a/powerstats/felix/Android.bp +++ b/powerstats/felix/Android.bp @@ -16,6 +16,7 @@ soong_namespace { imports: [ "hardware/google/pixel", "device/google/gs201/powerstats", + "device/google/gs-common/powerstats", ] } @@ -40,5 +41,6 @@ cc_binary { shared_libs: [ "android.hardware.power.stats-impl.gs201", + "android.hardware.power.stats-impl.gs-common", ], } diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index d20effd..92dd056 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -28,6 +29,7 @@ #include #include +using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider; using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider; using aidl::android::hardware::power::stats::EnergyConsumerType; using aidl::android::hardware::power::stats::GenericStateResidencyDataProvider; @@ -105,6 +107,39 @@ void addUwb(std::shared_ptr p) { "/sys/devices/platform/10db0000.spi/spi_master/spi16/spi16.0/uwb/power_stats", cfgs)); } +void addGPUGs202(std::shared_ptr p) { + std::map stateCoeffs; + + // Add GPU state residency + p->addStateResidencyDataProvider(std::make_unique( + "GPU", + "/sys/devices/platform/28000000.mali")); + + // Add GPU energy consumer + stateCoeffs = { + {"202000", 890}, + {"251000", 1102}, + {"302000", 1308}, + {"351000", 1522}, + {"400000", 1772}, + {"434000", 1931}, + {"471000", 2105}, + {"510000", 2292}, + {"572000", 2528}, + {"633000", 2811}, + {"701000", 3127}, + {"762000", 3452}, + {"848000", 4044}}; + + p->addEnergyConsumer(PowerStatsEnergyConsumer::createMeterAndAttrConsumer( + p, + EnergyConsumerType::OTHER, + "GPU", + {"S2S_VDD_G3D", "S8S_VDD_G3D_L2"}, + {{UID_TIME_IN_STATE, "/sys/devices/platform/28000000.mali/uid_time_in_state"}}, + stateCoeffs)); +} + int main() { LOG(INFO) << "Pixel PowerStats HAL AIDL Service is starting."; @@ -113,10 +148,24 @@ int main() { std::shared_ptr p = ndk::SharedRefBase::make(); - addGs201CommonDataProviders(p); + setEnergyMeter(p); + addAoC(p); + addPixelStateResidencyDataProvider(p); + addCPUclusters(p); addDisplay(p); - addUwb(p); + addSoC(p); + addGNSS(p); + addMobileRadio(p); + addPCIe(p); + addWifi(p); + addTPU(p); + addUfs(p); addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-4/i2c-st21nfc/power_stats"); + addUwb(p); + addPowerDomains(p); + addDevfreq(p); + addGPUGs202(p); + addDvfsStats(p); const std::string instance = std::string() + PowerStats::descriptor + "/default"; binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str()); From 164d501811b3d8a849a32c2675a9acfe92caa973 Mon Sep 17 00:00:00 2001 From: Ted Wang Date: Tue, 18 Oct 2022 16:12:43 +0800 Subject: [PATCH 017/117] Add hci_inject in userdebug build Bug: 254203740 Test: make Change-Id: I2bb5109f0fbf48bfd6b07afcc6a7a4f8bb503fb7 --- device-felix.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index a92da68..668b748 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -139,6 +139,10 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PACKAGES_DEBUG += \ sar_test +# Bluetooth hci_inject test tool +PRODUCT_PACKAGES_DEBUG += \ + hci_inject + # Bluetooth PRODUCT_PRODUCT_PROPERTIES += \ persist.bluetooth.a2dp_aac.vbr_supported=true From fa431dab1a991d3fb78c6e511554f348f0f9e7be Mon Sep 17 00:00:00 2001 From: emilchung Date: Wed, 19 Oct 2022 11:28:34 +0800 Subject: [PATCH 018/117] Remove obsolete source of sensor of F10. These files are not used anymore, removed them. Bug: 245007498 Test: build pass and check the build on F10. Change-Id: I1c5bf048413954c752e60fddf1b0fa6114d84708 --- sensors/Android.mk | 30 --- sensors/sensors_dummy.c | 409 ---------------------------------------- 2 files changed, 439 deletions(-) delete mode 100644 sensors/Android.mk delete mode 100644 sensors/sensors_dummy.c diff --git a/sensors/Android.mk b/sensors/Android.mk deleted file mode 100644 index 4417bc4..0000000 --- a/sensors/Android.mk +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (C) 2009 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -LOCAL_PATH := $(call my-dir) - -# HAL module implemenation stored in -# hw/..so -include $(CLEAR_VARS) - -LOCAL_MODULE_RELATIVE_PATH := hw -LOCAL_SHARED_LIBRARIES := liblog libcutils libhardware -LOCAL_SRC_FILES := sensors_dummy.c -LOCAL_MODULE := sensors.felix -LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 -LOCAL_LICENSE_CONDITIONS := notice -LOCAL_NOTICE_FILE := $(LOCAL_PATH)/../NOTICE -LOCAL_PROPRIETARY_MODULE := true - -include $(BUILD_SHARED_LIBRARY) diff --git a/sensors/sensors_dummy.c b/sensors/sensors_dummy.c deleted file mode 100644 index b1edd56..0000000 --- a/sensors/sensors_dummy.c +++ /dev/null @@ -1,409 +0,0 @@ -/* - * Copyright (C) 2009 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/* this implements a sensors hardware library for the Android emulator. - * the following code should be built as a shared library that will be - * placed into /system/lib/hw/sensors.goldfish.so - * - * it will be loaded by the code in hardware/libhardware/hardware.c - * which is itself called from com_android_server_SensorService.cpp - */ - -#define SENSORS_SERVICE_NAME "sensors" - -#define LOG_TAG "Dummy_Sensors" - -#include -#include -#include -#include -#include -#include -#include -#include - -#if 0 -#define D(...) ALOGD(__VA_ARGS__) -#else -#define D(...) ((void)0) -#endif - -#define E(...) ALOGE(__VA_ARGS__) - -/** SENSOR IDS AND NAMES - **/ - -#define MAX_NUM_SENSORS 8 - -#define SUPPORTED_SENSORS ((1<"; -} - -static int -_sensorIdFromName( const char* name ) -{ - int nn; - - if (name == NULL) - return -1; - - for (nn = 0; nn < MAX_NUM_SENSORS; nn++) - if (!strcmp(name, _sensorIds[nn].name)) - return _sensorIds[nn].id; - - return -1; -} - -/* return the current time in nanoseconds */ -static int64_t now_ns(void) { - struct timespec ts; - clock_gettime(CLOCK_MONOTONIC, &ts); - return (int64_t)ts.tv_sec * 1000000000 + ts.tv_nsec; -} - -/** SENSORS POLL DEVICE - ** - ** This one is used to read sensor data from the hardware. - ** We implement this by simply reading the data from the - ** emulator through the QEMUD channel. - **/ - -typedef struct SensorDevice { - struct sensors_poll_device_1 device; - sensors_event_t sensors[MAX_NUM_SENSORS]; - uint32_t pendingSensors; - int64_t timeStart; - int64_t timeOffset; - uint32_t active_sensors; - int fd; - pthread_mutex_t lock; -} SensorDevice; - -/* Grab the file descriptor to the emulator's sensors service pipe. - * This function returns a file descriptor on success, or -errno on - * failure, and assumes the SensorDevice instance's lock is held. - * - * This is needed because set_delay(), poll() and activate() can be called - * from different threads, and poll() is blocking. - * - * 1) On a first thread, de-activate() all sensors first, then call poll(), - * which results in the thread blocking. - * - * 2) On a second thread, slightly later, call set_delay() then activate() - * to enable the acceleration sensor. - * - * The system expects this to unblock the first thread which will receive - * new sensor events after the activate() call in 2). - * - * This cannot work if both threads don't use the same connection. - * - * TODO(digit): This protocol is brittle, implement another control channel - * for set_delay()/activate()/batch() when supporting HAL 1.3 - */ -static int sensor_device_get_fd_locked(SensorDevice* dev) { - /* Create connection to service on first call */ - if (dev->fd < 0) { - int ret = -errno; - E("%s: Could not open connection to service: %s", __FUNCTION__, - strerror(-ret)); - return ret; - } - return dev->fd; -} - -/* Pick up one pending sensor event. On success, this returns the sensor - * id, and sets |*event| accordingly. On failure, i.e. if there are no - * pending events, return -EINVAL. - * - * Note: The device's lock must be acquired. - */ -static int sensor_device_pick_pending_event_locked(SensorDevice* d, - sensors_event_t* event) -{ - uint32_t mask = SUPPORTED_SENSORS & d->pendingSensors; - - if (mask) { - uint32_t i = 31 - __builtin_clz(mask); - - pthread_mutex_lock(&d->lock); - d->pendingSensors &= ~(1U << i); - *event = d->sensors[i]; - event->sensor = i; - event->version = sizeof(*event); - pthread_mutex_unlock(&d->lock); - D("%s: %d [%f, %f, %f]", __FUNCTION__, - i, - event->data[0], - event->data[1], - event->data[2]); - return i; - } - E("No sensor to return!!! pendingSensors=0x%08x", d->pendingSensors); - // we may end-up in a busy loop, slow things down, just in case. - usleep(1000); - return -EINVAL; -} - -static int sensor_device_close(struct hw_device_t* dev0) -{ - SensorDevice* dev = (void*)dev0; - // Assume that there are no other threads blocked on poll() - if (dev->fd >= 0) { - close(dev->fd); - dev->fd = -1; - } - pthread_mutex_destroy(&dev->lock); - free(dev); - return 0; -} - -/* Return an array of sensor data. This function blocks until there is sensor - * related events to report. On success, it will write the events into the - * |data| array, which contains |count| items. The function returns the number - * of events written into the array, which shall never be greater than |count|. - * On error, return -errno code. - * - * Note that according to the sensor HAL [1], it shall never return 0! - * - * [1] http://source.android.com/devices/sensors/hal-interface.html - */ -static int sensor_device_poll(struct sensors_poll_device_t *dev0, - sensors_event_t* data, int count) -{ - return -EIO; -} - -static int sensor_device_activate(struct sensors_poll_device_t *dev0, - int handle, - int enabled) -{ - SensorDevice* dev = (void*)dev0; - - D("%s: handle=%s (%d) enabled=%d", __FUNCTION__, - _sensorIdToName(handle), handle, enabled); - - /* Sanity check */ - if (!ID_CHECK(handle)) { - E("%s: bad handle ID", __FUNCTION__); - return -EINVAL; - } - - /* Exit early if sensor is already enabled/disabled. */ - uint32_t mask = (1U << handle); - uint32_t sensors = enabled ? mask : 0; - - pthread_mutex_lock(&dev->lock); - - uint32_t active = dev->active_sensors; - uint32_t new_sensors = (active & ~mask) | (sensors & mask); - uint32_t changed = active ^ new_sensors; - - if (changed) - dev->active_sensors = new_sensors; - - pthread_mutex_unlock(&dev->lock); - return 0; -} - -static int sensor_device_default_flush( - struct sensors_poll_device_1* dev0, - int handle) { - - SensorDevice* dev = (void*)dev0; - - D("%s: handle=%s (%d)", __FUNCTION__, - _sensorIdToName(handle), handle); - - /* Sanity check */ - if (!ID_CHECK(handle)) { - E("%s: bad handle ID", __FUNCTION__); - return -EINVAL; - } - - pthread_mutex_lock(&dev->lock); - dev->sensors[handle].version = META_DATA_VERSION; - dev->sensors[handle].type = SENSOR_TYPE_META_DATA; - dev->sensors[handle].sensor = 0; - dev->sensors[handle].timestamp = 0; - dev->sensors[handle].meta_data.what = META_DATA_FLUSH_COMPLETE; - dev->pendingSensors |= (1U << handle); - pthread_mutex_unlock(&dev->lock); - - return 0; -} - -static int sensor_device_set_delay(struct sensors_poll_device_t *dev0, - int handle __unused, - int64_t ns) -{ - return 0; -} - -static int sensor_device_default_batch( - struct sensors_poll_device_1* dev, - int sensor_handle, - int flags, - int64_t sampling_period_ns, - int64_t max_report_latency_ns) { - return sensor_device_set_delay(dev, sensor_handle, sampling_period_ns); -} - -/** MODULE REGISTRATION SUPPORT - ** - ** This is required so that hardware/libhardware/hardware.c - ** will dlopen() this library appropriately. - **/ - -/* - * the following is the list of all supported sensors. - * this table is used to build sSensorList declared below - * according to which hardware sensors are reported as - * available from the emulator (see get_sensors_list below) - * - * note: numerical values for maxRange/resolution/power for - * all sensors but light, pressure and humidity were - * taken from the reference AK8976A implementation - */ -static const struct sensor_t sSensorListInit[] = { - { .name = "Accelerometer", - .vendor = "The Android Open Source Project", - .version = 1, - .handle = ID_ACCELERATION, - .type = SENSOR_TYPE_ACCELEROMETER, - .maxRange = 2.8f, - .resolution = 1.0f/4032.0f, - .power = 3.0f, - .minDelay = 10000, - .maxDelay = 60 * 1000 * 1000, - .fifoReservedEventCount = 0, - .fifoMaxEventCount = 0, - .stringType = 0, - .requiredPermission = 0, - .flags = SENSOR_FLAG_CONTINUOUS_MODE, - .reserved = {} - }, -}; - -static struct sensor_t sSensorList[1]; - -static int sensors__get_sensors_list(struct sensors_module_t* module __unused, - struct sensor_t const** list) -{ - *list = sSensorList; - - return 0; -} - -static int -open_sensors(const struct hw_module_t* module, - const char* name, - struct hw_device_t* *device) -{ - int status = -EINVAL; - - D("%s: name=%s", __FUNCTION__, name); - - if (!strcmp(name, SENSORS_HARDWARE_POLL)) { - SensorDevice *dev = malloc(sizeof(*dev)); - - memset(dev, 0, sizeof(*dev)); - - dev->device.common.tag = HARDWARE_DEVICE_TAG; - dev->device.common.version = SENSORS_DEVICE_API_VERSION_1_3; - dev->device.common.module = (struct hw_module_t*) module; - dev->device.common.close = sensor_device_close; - dev->device.poll = sensor_device_poll; - dev->device.activate = sensor_device_activate; - dev->device.setDelay = sensor_device_set_delay; - - // Version 1.3-specific functions - dev->device.batch = sensor_device_default_batch; - dev->device.flush = sensor_device_default_flush; - - dev->fd = -1; - pthread_mutex_init(&dev->lock, NULL); - - *device = &dev->device.common; - status = 0; - } - return status; -} - - -static struct hw_module_methods_t sensors_module_methods = { - .open = open_sensors -}; - -struct sensors_module_t HAL_MODULE_INFO_SYM = { - .common = { - .tag = HARDWARE_MODULE_TAG, - .version_major = 1, - .version_minor = 0, - .id = SENSORS_HARDWARE_MODULE_ID, - .name = "Dummy SENSORS Module", - .author = "The Android Open Source Project", - .methods = &sensors_module_methods, - }, - .get_sensors_list = sensors__get_sensors_list -}; From ec2ff87f0bc9dd5ea8831050cbd0096eabd462f2 Mon Sep 17 00:00:00 2001 From: Anthony Stange Date: Wed, 19 Oct 2022 13:57:42 +0000 Subject: [PATCH 019/117] Add OnChipAccMask to gps.xml Bug: 249751526 Test: b/249751526#comment3 Change-Id: I98763b230b69e118bc4126b0086d46c86deeda27 --- location/gps.xml.f10 | 1 + location/gps_user.xml.f10 | 1 + 2 files changed, 2 insertions(+) diff --git a/location/gps.xml.f10 b/location/gps.xml.f10 index e40c31c..7e6ad28 100644 --- a/location/gps.xml.f10 +++ b/location/gps.xml.f10 @@ -86,6 +86,7 @@ EnableOnChipStopNotification="2" PowerMode="3" MinGpsWeekNumber="2216" + OnChipAccMask="50" /> Date: Fri, 4 Nov 2022 16:12:32 +0000 Subject: [PATCH 020/117] Enable fingerprint testing virtual HAL on F10 We plan to set all projects able to run biometrics-jank e2e tests Test: forest test with atp config \ v2/biometrics/health/microbench/biometrics/biometrics-jank-suite Bug: 228638448 Bug: 236074209 Change-Id: If3482fdee90a8aee7315311ee2ec257134d5faf8 --- device-felix.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index 36028c0..752e9c5 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -286,3 +286,8 @@ PRODUCT_PROPERTY_OVERRIDES += \ # Bluetooth OPUS codec PRODUCT_PRODUCT_PROPERTIES += \ persist.bluetooth.opus.enabled=true + +# Biometrics virtual HAL for e2e testing +PRODUCT_PACKAGES_DEBUG += \ + android.hardware.biometrics.fingerprint-service.example + From 5ed304f828b40d60c3eaa26db964d6198e180d77 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Mon, 21 Nov 2022 13:03:28 +0800 Subject: [PATCH 021/117] use gti dump from gs-common Bug: 256521567 Test: adb bugreport Change-Id: I05b13c41ef92c384e83193e9d7c74e81dc2ce9bf --- device-felix.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device-felix.mk b/device-felix.mk index 0aa5682..8783dd0 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -32,6 +32,7 @@ include device/google/gs201/device-shipping-common.mk $(call soong_config_set,fp_hal_feature,pixel_product, product_a) include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk include device/google/gs-common/bcmbt/bluetooth.mk +include device/google/gs-common/touch/gti/gti.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) include device/google/felix/uwb/uwb_calibration.mk endif From 8cbd6b42cdc87d02ce7215f56859416c9981c528 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Mon, 28 Nov 2022 14:16:14 +0800 Subject: [PATCH 022/117] use stm dump from gs-common Bug: 256521567 Test: adb bugreport Change-Id: Ib8eb2456dc14c887196040dc369e383bb12bbd4e --- device-felix.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device-felix.mk b/device-felix.mk index 8783dd0..f3723d4 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -33,6 +33,7 @@ $(call soong_config_set,fp_hal_feature,pixel_product, product_a) include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk include device/google/gs-common/bcmbt/bluetooth.mk include device/google/gs-common/touch/gti/gti.mk +include device/google/gs-common/touch/stm/stm6.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) include device/google/felix/uwb/uwb_calibration.mk endif From 7b72cb04160104546df4f930dc0115528c37e559 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Tue, 29 Nov 2022 05:24:36 +0000 Subject: [PATCH 023/117] Revert "use stm dump from gs-common" This reverts commit 8cbd6b42cdc87d02ce7215f56859416c9981c528. Reason for revert: duplicated declaration sysfs_touch Change-Id: Icaea37d7b739b19e1b6c1cb54276dd12c9677768 --- device-felix.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index f3723d4..8783dd0 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -33,7 +33,6 @@ $(call soong_config_set,fp_hal_feature,pixel_product, product_a) include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk include device/google/gs-common/bcmbt/bluetooth.mk include device/google/gs-common/touch/gti/gti.mk -include device/google/gs-common/touch/stm/stm6.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) include device/google/felix/uwb/uwb_calibration.mk endif From a518271adc3eebc58f49bd10945a1b5d819a4443 Mon Sep 17 00:00:00 2001 From: Labib Rashid Date: Wed, 30 Nov 2022 11:15:56 +0000 Subject: [PATCH 024/117] Add MIPI Coex tables for felix camera and display Source: https://docs.google.com/spreadsheets/d/1wE755LyNtPcAtzDJhMs0WbwBllaYB8vsVmy9UsAswHM/preview#gid=0 Bug: 258743031 Test: go/dynamic-frequency-test Change-Id: If48bfd35aae4051bd37eae657515c390cd0f132c --- device-felix.mk | 5 +++++ felix/radio/felix_camera_front_mipi_coex_table.csv | 3 +++ felix/radio/felix_display_secondary_mipi_coex_table.csv | 4 ++++ 3 files changed, 12 insertions(+) create mode 100644 felix/radio/felix_camera_front_mipi_coex_table.csv create mode 100644 felix/radio/felix_display_secondary_mipi_coex_table.csv diff --git a/device-felix.mk b/device-felix.mk index ee8c445..c24377b 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -268,6 +268,11 @@ endif PRODUCT_PACKAGES += \ WifiOverlay2023Mid_F10 +# MIPI Coex Configs +PRODUCT_COPY_FILES += \ + device/google/felix/felix/radio/felix_camera_front_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/camera_front_mipi_coex_table.csv \ + device/google/felix/felix/radio/felix_display_secondary_mipi_coex_table.csv:$(TARGET_COPY_OUT_VENDOR)/etc/modem/display_secondary_mipi_coex_table.csv + PRODUCT_SOONG_NAMESPACES += device/google/felix DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/felix/device_framework_matrix_product_felix.xml diff --git a/felix/radio/felix_camera_front_mipi_coex_table.csv b/felix/radio/felix_camera_front_mipi_coex_table.csv new file mode 100644 index 0000000..c4b6f8f --- /dev/null +++ b/felix/radio/felix_camera_front_mipi_coex_table.csv @@ -0,0 +1,3 @@ +706560,718850 + +2417000,2452000,706560 diff --git a/felix/radio/felix_display_secondary_mipi_coex_table.csv b/felix/radio/felix_display_secondary_mipi_coex_table.csv new file mode 100644 index 0000000..f18af97 --- /dev/null +++ b/felix/radio/felix_display_secondary_mipi_coex_table.csv @@ -0,0 +1,4 @@ +730000,670000 + +1810000,1835000,670000 +720000,740000,670000 From e24f3c93d8044cee082e2706358ccb5c9c21e853 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Fri, 2 Dec 2022 10:29:20 +0800 Subject: [PATCH 025/117] Revert "Revert "use stm dump from gs-common"" Bug: 256521567 Test: adb bugreport Change-Id: I972495b63da6c73fc22350c6487cff7fb0d9e4fb --- device-felix.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device-felix.mk b/device-felix.mk index f349cbc..2e851f1 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -33,6 +33,7 @@ $(call soong_config_set,fp_hal_feature,pixel_product, product_a) include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk include device/google/gs-common/bcmbt/bluetooth.mk include device/google/gs-common/touch/gti/gti.mk +include device/google/gs-common/touch/stm/stm6.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) include device/google/felix/uwb/uwb_calibration.mk endif From c27119249f1347f7a50b0b8a5238a8eab6b6611d Mon Sep 17 00:00:00 2001 From: Austin Borger Date: Wed, 30 Nov 2022 16:14:01 -0800 Subject: [PATCH 026/117] Set camera_landscape_to_portrait device property on Felix. Test: Snow (successful), XRecorder (successful) Test: Snapchat (successful), Instagram (successful) Test: Telegram (Zoomed) Bug: 250678880 Change-Id: Icfd7405812820669587d171e5766d0f969e1a1f2 Merged-In: Icfd7405812820669587d171e5766d0f969e1a1f2 --- device-felix.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index f349cbc..01b5249 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -301,7 +301,8 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.camera.extended_launch_boost=1 \ persist.vendor.camera.optimized_tnr_freq=1 \ - persist.vendor.camera.raise_buf_allocation_priority=1 + persist.vendor.camera.raise_buf_allocation_priority=1 \ + camera.enable_landscape_to_portrait=true # Bluetooth OPUS codec PRODUCT_PRODUCT_PROPERTIES += \ From 7609b0337005c5f95a22f40cdf01e57b6d651700 Mon Sep 17 00:00:00 2001 From: Matt Buckley Date: Tue, 6 Dec 2022 21:56:55 +0000 Subject: [PATCH 027/117] Disable HWUI adpf by default and enable in device.mk * Make HWUI disabled by default for vendors * Explicitly enable in supported devices * Consolidate flags for HWUI and SF Bug: b/261628396 Test: manual Change-Id: I317c48869a86597ff8bb234007f1b752ce422a6e --- device-felix.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/device-felix.mk b/device-felix.mk index f349cbc..7cc3e4b 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -281,10 +281,6 @@ DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/felix/device_framework PRODUCT_COPY_FILES += \ frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml -# Enable adpf cpu hint session for SurfaceFlinger -PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \ - debug.sf.enable_adpf_cpu_hint=true - # Control camera exif model/make redaction PRODUCT_PROPERTY_OVERRIDES += \ persist.camera.redact_exif=1 From bbbb88468bcc676dfd0ab3f47b1f3455d0d60267 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Fri, 9 Dec 2022 01:48:21 +0000 Subject: [PATCH 028/117] uwb(f10): Add UWB framework overlays rro app Bug: 261908320 Test: Compiles Change-Id: Iaf45449060d8dd39c1a8a809e259242ad2dcf5f7 --- device-felix.mk | 2 +- rro_overlays/UwbOverlay/Android.bp | 18 +++++++++++++ rro_overlays/UwbOverlay/AndroidManifest.xml | 27 +++++++++++++++++++ rro_overlays/UwbOverlay/OWNERS | 3 +++ rro_overlays/UwbOverlay/res/values/config.xml | 20 ++++++++++++++ 5 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 rro_overlays/UwbOverlay/Android.bp create mode 100644 rro_overlays/UwbOverlay/AndroidManifest.xml create mode 100644 rro_overlays/UwbOverlay/OWNERS create mode 100644 rro_overlays/UwbOverlay/res/values/config.xml diff --git a/device-felix.mk b/device-felix.mk index 5a500ad..736ce8e 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -265,8 +265,8 @@ else device/google/felix/location/scd_user.conf.f10:$(TARGET_COPY_OUT_VENDOR)/etc/gnss/scd.conf endif -# WiFi PRODUCT_PACKAGES += \ + UwbOverlayF10 \ WifiOverlay2023Mid_F10 # MIPI Coex Configs diff --git a/rro_overlays/UwbOverlay/Android.bp b/rro_overlays/UwbOverlay/Android.bp new file mode 100644 index 0000000..bdaa13d --- /dev/null +++ b/rro_overlays/UwbOverlay/Android.bp @@ -0,0 +1,18 @@ +package { + // See: http://go/android-license-faq + // A large-scale-change added 'default_applicable_licenses' to import + // all of the 'license_kinds' from "//device/google/felix:device_google_felix_license" + // to get the below license kinds: + // SPDX-license-identifier-Apache-2.0 + default_applicable_licenses: [ + "//device/google/felix:device_google_felix_license", + ], +} + +runtime_resource_overlay { + name: "UwbOverlayF10", + theme: "UwbOverlayF10", + certificate: "platform", + sdk_version: "current", + product_specific: true +} diff --git a/rro_overlays/UwbOverlay/AndroidManifest.xml b/rro_overlays/UwbOverlay/AndroidManifest.xml new file mode 100644 index 0000000..57dfd5b --- /dev/null +++ b/rro_overlays/UwbOverlay/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + diff --git a/rro_overlays/UwbOverlay/OWNERS b/rro_overlays/UwbOverlay/OWNERS new file mode 100644 index 0000000..2395d7f --- /dev/null +++ b/rro_overlays/UwbOverlay/OWNERS @@ -0,0 +1,3 @@ +# People who can approve changes for submission +include platform/packages/modules/Uwb:/OWNERS +victorliu@google.com diff --git a/rro_overlays/UwbOverlay/res/values/config.xml b/rro_overlays/UwbOverlay/res/values/config.xml new file mode 100644 index 0000000..7a77d32 --- /dev/null +++ b/rro_overlays/UwbOverlay/res/values/config.xml @@ -0,0 +1,20 @@ + + + + From 4e658707336ccf5a6991509eec19fda5f8ce87b1 Mon Sep 17 00:00:00 2001 From: Ken Yang Date: Sat, 10 Dec 2022 14:19:40 +0000 Subject: [PATCH 029/117] WLC: Include the wireless_charger from gs-common Bug: 237600973 Change-Id: I17cfec73431282042c59caf1a109749f34ee2e96 Signed-off-by: Ken Yang --- device-felix.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device-felix.mk b/device-felix.mk index 5a500ad..ec9c625 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -37,6 +37,7 @@ include device/google/gs-common/touch/stm/stm6.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) include device/google/felix/uwb/uwb_calibration.mk endif +include device/google/gs-common/wireless_charger/wireless_charger.mk # go/lyric-soong-variables $(call soong_config_set,lyric,camera_hardware,felix) From 5c01c78ce066bfdf3ca37a5d161cb1dd6425e884 Mon Sep 17 00:00:00 2001 From: Ken Tsou Date: Fri, 9 Dec 2022 15:55:54 +0800 Subject: [PATCH 030/117] battery: disable wireless for pts battery test Disable wireless charging during drain, usb charging, and charger stress test - vendor.disable.wlc 1 If device is placed onto dreamliner and shutdwon(drain out), it would boot up by DC_CHG and keep shutdown(0%)-boot up (by DC_CHG) continuously. To avoid this symptom, limit wireless current_max as 75000 after device boot up - persist.vendor.limit.wlc.current=1 How to verify: adb shell setprop vendor.disable.wlc 1 adb shell cat /sys/class/power_supply/wireless/online >>>> 0 adb shell setprop persist.vendor.limit.wlc.current 1 adb shell cat /sys/class/power_supply/dc/current_max >>>> 75000 Bug: 230549765 Test: set the property manually and query the result from file node. Change-Id: I5bcf9baeb2818b439520167b518b2e5c5224d7e2 Signed-off-by: Ken Tsou (cherry picked from commit 7d63c3ba7525e017ac02f887bd474ee9bdab45fc) --- device-felix.mk | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index 736ce8e..d3428c9 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -308,6 +308,12 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PRODUCT_PROPERTIES += \ persist.bluetooth.opus.enabled=true +# WLC userdebug specific +ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) + PRODUCT_COPY_FILES += \ + device/google/gs201/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc +endif + # Biometrics virtual HAL for e2e testing PRODUCT_PACKAGES_DEBUG += \ android.hardware.biometrics.fingerprint-service.example From 28bfd97e3ad9595a25689466f13f1580b3aaf9c0 Mon Sep 17 00:00:00 2001 From: Kai Shi Date: Wed, 4 Jan 2023 09:18:13 -0800 Subject: [PATCH 031/117] Enable DTIM multiplier config Enable DTIM multiplier configuration in Pixels. Bug: 259554744 Test: manual Change-Id: I92842c74dd280829e4eb4c713e6181e88d418898 --- rro_overlays/WifiOverlay/res/values/config.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index aa13002..9614f5c 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -152,4 +152,8 @@ true + + + true From cd67dd687c938e4513430ca147b01857a10cb6c3 Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Thu, 5 Jan 2023 08:20:27 +0800 Subject: [PATCH 032/117] Revert "thermal: refer inner display brightness for VSKIN equation" This reverts commit 64ba8eec26edca216ce273d40a916d88c9190d04. Bug: 264321354 Test: boot to home Change-Id: Icaad9b03254bb0060b00509fe02f6be9ff2480f6 --- thermal_info_config_charge_felix.json | 17 +++++++++++------ thermal_info_config_felix.json | 17 +++++++++++------ thermal_info_config_proactive_skin_felix.json | 17 +++++++++++------ 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/thermal_info_config_charge_felix.json b/thermal_info_config_charge_felix.json index 40bac51..c33479d 100644 --- a/thermal_info_config_charge_felix.json +++ b/thermal_info_config_charge_felix.json @@ -55,9 +55,14 @@ "Multiplier":0.001 }, { - "Name":"inner-disp", + "Name":"VIRTUAL-SKIN-OUTER-INNER", "Type":"UNKNOWN", - "Multiplier":1 + "Hidden":true, + "VirtualSensor":true, + "Formula":"WEIGHTED_AVG", + "Combination":["outer_disp_therm", "inner_disp_therm"], + "Coefficient":[2.5, -1.0], + "Multiplier":0.001 }, { "Name":"IS_OPEN", @@ -65,8 +70,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["inner-disp"], - "Coefficient":[1.0], + "Combination":["VIRTUAL-SKIN-OUTER-INNER"], + "Coefficient":[-40000.0], "Multiplier":1 }, { @@ -75,8 +80,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["inner-disp"], - "Coefficient":[-1.0], + "Combination":["VIRTUAL-SKIN-OUTER-INNER"], + "Coefficient":[40000.0], "Multiplier":1 }, { diff --git a/thermal_info_config_felix.json b/thermal_info_config_felix.json index aa4a99d..ba8ba8c 100644 --- a/thermal_info_config_felix.json +++ b/thermal_info_config_felix.json @@ -61,9 +61,14 @@ "Multiplier":0.001 }, { - "Name":"inner-disp", + "Name":"VIRTUAL-SKIN-OUTER-INNER", "Type":"UNKNOWN", - "Multiplier":1 + "Hidden":true, + "VirtualSensor":true, + "Formula":"WEIGHTED_AVG", + "Combination":["outer_disp_therm", "inner_disp_therm"], + "Coefficient":[2.5, -1.0], + "Multiplier":0.001 }, { "Name":"IS_OPEN", @@ -71,8 +76,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["inner-disp"], - "Coefficient":[1.0], + "Combination":["VIRTUAL-SKIN-OUTER-INNER"], + "Coefficient":[-40000.0], "Multiplier":1 }, { @@ -81,8 +86,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["inner-disp"], - "Coefficient":[-1.0], + "Combination":["VIRTUAL-SKIN-OUTER-INNER"], + "Coefficient":[40000.0], "Multiplier":1 }, { diff --git a/thermal_info_config_proactive_skin_felix.json b/thermal_info_config_proactive_skin_felix.json index 2bc07a2..6592877 100644 --- a/thermal_info_config_proactive_skin_felix.json +++ b/thermal_info_config_proactive_skin_felix.json @@ -61,9 +61,14 @@ "Multiplier":0.001 }, { - "Name":"inner-disp", + "Name":"VIRTUAL-SKIN-OUTER-INNER", "Type":"UNKNOWN", - "Multiplier":1 + "Hidden":true, + "VirtualSensor":true, + "Formula":"WEIGHTED_AVG", + "Combination":["outer_disp_therm", "inner_disp_therm"], + "Coefficient":[2.5, -1.0], + "Multiplier":0.001 }, { "Name":"IS_OPEN", @@ -71,8 +76,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["inner-disp"], - "Coefficient":[1.0], + "Combination":["VIRTUAL-SKIN-OUTER-INNER"], + "Coefficient":[-40000.0], "Multiplier":1 }, { @@ -81,8 +86,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["inner-disp"], - "Coefficient":[-1.0], + "Combination":["VIRTUAL-SKIN-OUTER-INNER"], + "Coefficient":[40000.0], "Multiplier":1 }, { From e90f14df84bf0ee6d38c411b1e7c81e3b9d9c982 Mon Sep 17 00:00:00 2001 From: Ken Yang Date: Fri, 6 Jan 2023 19:23:42 +0000 Subject: [PATCH 033/117] WLC: Remove wireless_charger service Bug: 264624634 Bug: 263830018 Change-Id: I326c62b54b58622da503304f46d946fb4556f685 Signed-off-by: Ken Yang --- device-felix.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 4f76e63..25a6465 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -37,7 +37,6 @@ include device/google/gs-common/touch/stm/stm6.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) include device/google/felix/uwb/uwb_calibration.mk endif -include device/google/gs-common/wireless_charger/wireless_charger.mk # go/lyric-soong-variables $(call soong_config_set,lyric,camera_hardware,felix) From 3a31fe80350e51605b443b80f9edc6c54c45ec37 Mon Sep 17 00:00:00 2001 From: Luke Chang Date: Tue, 20 Dec 2022 17:10:34 +0000 Subject: [PATCH 034/117] powerhint: add CPU_LOAD_RESET rule Set minimum mif freq for 1st frame to avoid memlat can't reflect in time. Test: Build and check 1st frame boost Bug: 259275437 Bug: 263383561 Change-Id: I46385209ad41bc1fc3d0ee31c73924a972fdf9fa Signed-off-by: Luke Chang --- powerhint.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/powerhint.json b/powerhint.json index 02df61c..340e844 100644 --- a/powerhint.json +++ b/powerhint.json @@ -690,6 +690,12 @@ "Duration": 2000, "Value": "9999999" }, + { + "PowerHint": "CPU_LOAD_RESET", + "Node": "MemFreq", + "Duration": 33, + "Value": "1014000" + }, { "PowerHint": "CAMERA_LAUNCH", "Node": "MemFreq", From 13fcc02a708caa88784c13ab00c0e55dbffe2f28 Mon Sep 17 00:00:00 2001 From: George Date: Wed, 1 Feb 2023 18:02:05 +0800 Subject: [PATCH 035/117] [NFC] Set tag_intent_app_pref_supported Bug: 244272155 Test: atest android.permission.cts.NfcPermissionTest Test: atest NfcFeatureFlagTest Change-Id: Ic1d4d97a50231b4ce1d8d0f5cc9d7ba2e134f983 --- felix/overlay/packages/apps/Nfc/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/felix/overlay/packages/apps/Nfc/res/values/config.xml b/felix/overlay/packages/apps/Nfc/res/values/config.xml index 348c881..7cb1b6e 100644 --- a/felix/overlay/packages/apps/Nfc/res/values/config.xml +++ b/felix/overlay/packages/apps/Nfc/res/values/config.xml @@ -19,4 +19,5 @@ G9FPL G0B96 + true From 2b9440ebea7ac3cb76298f60fed437da97c28309 Mon Sep 17 00:00:00 2001 From: eddielan Date: Tue, 31 Jan 2023 14:32:06 +0800 Subject: [PATCH 036/117] fingerprint: Enable fingerprint status flag Bug: 266123349 Test: Build pass & check log on device Change-Id: I0fd5ee0a8bfae5ec932856471278b7d407fac3ee --- fingerprint_config.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/fingerprint_config.mk b/fingerprint_config.mk index 06eca62..2255f3b 100644 --- a/fingerprint_config.mk +++ b/fingerprint_config.mk @@ -6,4 +6,5 @@ else # Non factory build, use fingerprint AIDL version GOOGLE_CONFIG_POWER_NODE=/dev/input/event1 GOOGLE_CONFIG_DP_COUNT=2 +GOOGLE_CONFIG_FP_STATUS=1 endif From d9cc2cb081617743dc97c562448aed01ea0b3537 Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Fri, 3 Feb 2023 18:29:12 +0800 Subject: [PATCH 037/117] thermal: sync thermal config from qpr Bug: 254163925 Test: adb shell lshal debug android.hardware.thermal@2.0::IThermal/default Change-Id: Id0be50e8b4634e8bfbca70c60eaba4536b6f42f6 --- thermal_info_config_charge_felix.json | 94 ++++++++++--------- thermal_info_config_felix.json | 92 +++++++++--------- thermal_info_config_proactive_skin_felix.json | 94 ++++++++++--------- 3 files changed, 149 insertions(+), 131 deletions(-) diff --git a/thermal_info_config_charge_felix.json b/thermal_info_config_charge_felix.json index c33479d..870dbc7 100644 --- a/thermal_info_config_charge_felix.json +++ b/thermal_info_config_charge_felix.json @@ -15,7 +15,7 @@ { "Name":"skin_therm", "Type":"UNKNOWN", - "HotThreshold":["NAN", 32, "NAN", "NAN", "NAN", "NAN", "NAN"], + "HotThreshold":["NAN", 32.0, "NAN", "NAN", "NAN", "NAN", "NAN"], "TempPath":"/dev/thermal/tz-by-name/skin_therm/tz_temp", "Multiplier":0.001, "PollingDelay":300000, @@ -55,14 +55,9 @@ "Multiplier":0.001 }, { - "Name":"VIRTUAL-SKIN-OUTER-INNER", + "Name":"inner-disp", "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["outer_disp_therm", "inner_disp_therm"], - "Coefficient":[2.5, -1.0], - "Multiplier":0.001 + "Multiplier":1 }, { "Name":"IS_OPEN", @@ -70,8 +65,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["VIRTUAL-SKIN-OUTER-INNER"], - "Coefficient":[-40000.0], + "Combination":["inner-disp"], + "Coefficient":[1.0], "Multiplier":1 }, { @@ -80,8 +75,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["VIRTUAL-SKIN-OUTER-INNER"], - "Coefficient":[40000.0], + "Combination":["inner-disp"], + "Coefficient":[-1.0], "Multiplier":1 }, { @@ -90,9 +85,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.35, -0.3, 0.75, -0.1, 0.75, -0.55, 0.55, -0.45], - "Offset":1460, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], + "Coefficient":[-0.15, -0.45, 0.2, 1.5], + "Offset":-670, "Multiplier":0.001 }, { @@ -101,9 +96,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.65, 0.35, 0.95, 0.1, -1.7, 0.25, 0.1, 0.2], - "Offset":-3780, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], + "Offset":2500, "Multiplier":0.001 }, { @@ -112,9 +107,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-1.05, -0.1, 0.4, 0.1, 1.0, 0.45, -0.35, 0.55], - "Offset":-1260, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.05, 0.05, 1.25, 0.15, -0.6], + "Offset":270, "Multiplier":0.001 }, { @@ -123,9 +118,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.2, -1.0, 1.5, -0.1, 0.85, 0.2, 0.65, -0.9], - "Offset":940, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2"], + "Coefficient":[0.4, 1.65, -1.2, 0.6, -0.55], + "Offset":2350, "Multiplier":0.001 }, { @@ -134,9 +129,20 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -0.85, 1.7, -0.05, 0.95, -0.45, 0.2, -0.35], - "Offset":-2490, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "outer_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-1.3, 1.05, 0.65, 0.15, 1, -0.05, -0.5], + "Offset":120, + "Multiplier":0.001 + }, + { + "Name":"CLOSE-SUB6", + "Type":"UNKNOWN", + "Hidden":true, + "VirtualSensor":true, + "Formula":"WEIGHTED_AVG", + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-0.45, -1.2, -0.8, 0.65, 2.5, 0.2], + "Offset":1820, "Multiplier":0.001 }, { @@ -165,9 +171,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.2, -0.15, 0.05, 0.05, -0.4, 1.0, 0.05, 0.2], - "Offset":1180, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm"], + "Coefficient":[-0.05, 0.3, 0.3, 0.35], + "Offset":3740, "Multiplier":0.001 }, { @@ -176,9 +182,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm"], - "Coefficient":[-0.3, -0.65, 1.0, -0.1, 0.9, 0.25, -0.1], - "Offset":340, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], + "Offset":-990, "Multiplier":0.001 }, { @@ -187,9 +193,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.95, -0.85, 0.6, 0.15, 0.8, 0.75, -0.15, 0.65], - "Offset":-2550, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-2, 1.4, 1.4, -0.4, 0.25, 0.25], + "Offset":-4120, "Multiplier":0.001 }, { @@ -198,9 +204,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.7, 0.05, 0.3, -0.35, 1.9, -0.15], - "Offset":1380, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.3, 1.8, 0.55, 0.4, -1.2, -0.15, -0.8], + "Offset":-540, "Multiplier":0.001 }, { @@ -209,9 +215,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.1, -0.3, 0.75, 0.4, 0.85, 0.1, -0.9], - "Offset":850, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm"], + "Coefficient":[0.15, 1.05, -0.65, 1, -0.55], + "Offset":3540, "Multiplier":0.001 }, { @@ -244,8 +250,8 @@ "Formula":"MAXIMUM", "Combination":["VIRTUAL-SKIN-CLOSE", "VIRTUAL-SKIN-OPEN"], "Coefficient":[1.0, 1.0], - "HotThreshold":["NAN", 25.0, 41.0, 43.0, 45.0, 47.0, 54.0], - "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9], + "HotThreshold":["NAN", 25.0, 41.0, 43.0, 45.0, 46.5, 54.0], + "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.9, 1.4, 1.9], "Multiplier":0.001, "PollingDelay":60000, "PassiveDelay":60000, diff --git a/thermal_info_config_felix.json b/thermal_info_config_felix.json index 3a02b81..7f68c75 100644 --- a/thermal_info_config_felix.json +++ b/thermal_info_config_felix.json @@ -21,7 +21,7 @@ { "Name":"skin_therm", "Type":"UNKNOWN", - "HotThreshold":["NAN", 32, "NAN", "NAN", "NAN", "NAN", "NAN"], + "HotThreshold":["NAN", 32.0, "NAN", "NAN", "NAN", "NAN", "NAN"], "TempPath":"/dev/thermal/tz-by-name/skin_therm/tz_temp", "Multiplier":0.001, "PollingDelay":300000, @@ -61,14 +61,9 @@ "Multiplier":0.001 }, { - "Name":"VIRTUAL-SKIN-OUTER-INNER", + "Name":"inner-disp", "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["outer_disp_therm", "inner_disp_therm"], - "Coefficient":[2.5, -1.0], - "Multiplier":0.001 + "Multiplier":1 }, { "Name":"IS_OPEN", @@ -76,8 +71,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["VIRTUAL-SKIN-OUTER-INNER"], - "Coefficient":[-40000.0], + "Combination":["inner-disp"], + "Coefficient":[1.0], "Multiplier":1 }, { @@ -86,8 +81,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["VIRTUAL-SKIN-OUTER-INNER"], - "Coefficient":[40000.0], + "Combination":["inner-disp"], + "Coefficient":[-1.0], "Multiplier":1 }, { @@ -96,9 +91,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.35, -0.3, 0.75, -0.1, 0.75, -0.55, 0.55, -0.45], - "Offset":1460, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], + "Coefficient":[-0.15, -0.45, 0.2, 1.5], + "Offset":-670, "Multiplier":0.001 }, { @@ -107,9 +102,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.65, 0.35, 0.95, 0.1, -1.7, 0.25, 0.1, 0.2], - "Offset":-3780, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], + "Offset":2500, "Multiplier":0.001 }, { @@ -118,9 +113,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-1.05, -0.1, 0.4, 0.1, 1.0, 0.45, -0.35, 0.55], - "Offset":-1260, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.05, 0.05, 1.25, 0.15, -0.6], + "Offset":270, "Multiplier":0.001 }, { @@ -129,9 +124,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.2, -1.0, 1.5, -0.1, 0.85, 0.2, 0.65, -0.9], - "Offset":940, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2"], + "Coefficient":[0.4, 1.65, -1.2, 0.6, -0.55], + "Offset":2350, "Multiplier":0.001 }, { @@ -140,9 +135,20 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -0.85, 1.7, -0.05, 0.95, -0.45, 0.2, -0.35], - "Offset":-2490, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "outer_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-1.3, 1.05, 0.65, 0.15, 1, -0.05, -0.5], + "Offset":120, + "Multiplier":0.001 + }, + { + "Name":"CLOSE-SUB6", + "Type":"UNKNOWN", + "Hidden":true, + "VirtualSensor":true, + "Formula":"WEIGHTED_AVG", + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-0.45, -1.2, -0.8, 0.65, 2.5, 0.2], + "Offset":1820, "Multiplier":0.001 }, { @@ -171,9 +177,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.2, -0.15, 0.05, 0.05, -0.4, 1.0, 0.05, 0.2], - "Offset":1180, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm"], + "Coefficient":[-0.05, 0.3, 0.3, 0.35], + "Offset":3740, "Multiplier":0.001 }, { @@ -182,9 +188,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm"], - "Coefficient":[-0.3, -0.65, 1.0, -0.1, 0.9, 0.25, -0.1], - "Offset":340, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], + "Offset":-990, "Multiplier":0.001 }, { @@ -193,9 +199,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.95, -0.85, 0.6, 0.15, 0.8, 0.75, -0.15, 0.65], - "Offset":-2550, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-2, 1.4, 1.4, -0.4, 0.25, 0.25], + "Offset":-4120, "Multiplier":0.001 }, { @@ -204,9 +210,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.7, 0.05, 0.3, -0.35, 1.9, -0.15], - "Offset":1380, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.3, 1.8, 0.55, 0.4, -1.2, -0.15, -0.8], + "Offset":-540, "Multiplier":0.001 }, { @@ -215,9 +221,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.1, -0.3, 0.75, 0.4, 0.85, 0.1, -0.9], - "Offset":850, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm"], + "Coefficient":[0.15, 1.05, -0.65, 1, -0.55], + "Offset":3540, "Multiplier":0.001 }, { @@ -243,7 +249,7 @@ { "Name":"VIRTUAL-SKIN", "Type":"SKIN", - "Version":"0.4", + "Version":"0.5", "VirtualSensor":true, "TriggerSensor":"skin_therm", "Formula":"MAXIMUM", diff --git a/thermal_info_config_proactive_skin_felix.json b/thermal_info_config_proactive_skin_felix.json index 0b26f50..387cdfb 100644 --- a/thermal_info_config_proactive_skin_felix.json +++ b/thermal_info_config_proactive_skin_felix.json @@ -21,7 +21,7 @@ { "Name":"skin_therm", "Type":"UNKNOWN", - "HotThreshold":["NAN", 32, "NAN", "NAN", "NAN", "NAN", "NAN"], + "HotThreshold":["NAN", 32.0, "NAN", "NAN", "NAN", "NAN", "NAN"], "TempPath":"/dev/thermal/tz-by-name/skin_therm/tz_temp", "Multiplier":0.001, "PollingDelay":300000, @@ -61,14 +61,9 @@ "Multiplier":0.001 }, { - "Name":"VIRTUAL-SKIN-OUTER-INNER", + "Name":"inner-disp", "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["outer_disp_therm", "inner_disp_therm"], - "Coefficient":[2.5, -1.0], - "Multiplier":0.001 + "Multiplier":1 }, { "Name":"IS_OPEN", @@ -76,8 +71,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["VIRTUAL-SKIN-OUTER-INNER"], - "Coefficient":[-40000.0], + "Combination":["inner-disp"], + "Coefficient":[1.0], "Multiplier":1 }, { @@ -86,8 +81,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"COUNT_THRESHOLD", - "Combination":["VIRTUAL-SKIN-OUTER-INNER"], - "Coefficient":[40000.0], + "Combination":["inner-disp"], + "Coefficient":[-1.0], "Multiplier":1 }, { @@ -96,9 +91,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.35, -0.3, 0.75, -0.1, 0.75, -0.55, 0.55, -0.45], - "Offset":1460, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], + "Coefficient":[-0.15, -0.45, 0.2, 1.5], + "Offset":-670, "Multiplier":0.001 }, { @@ -107,9 +102,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.65, 0.35, 0.95, 0.1, -1.7, 0.25, 0.1, 0.2], - "Offset":-3780, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], + "Offset":2500, "Multiplier":0.001 }, { @@ -118,9 +113,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-1.05, -0.1, 0.4, 0.1, 1.0, 0.45, -0.35, 0.55], - "Offset":-1260, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.05, 0.05, 1.25, 0.15, -0.6], + "Offset":270, "Multiplier":0.001 }, { @@ -129,9 +124,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.2, -1.0, 1.5, -0.1, 0.85, 0.2, 0.65, -0.9], - "Offset":940, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2"], + "Coefficient":[0.4, 1.65, -1.2, 0.6, -0.55], + "Offset":2350, "Multiplier":0.001 }, { @@ -140,9 +135,20 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -0.85, 1.7, -0.05, 0.95, -0.45, 0.2, -0.35], - "Offset":-2490, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "outer_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-1.3, 1.05, 0.65, 0.15, 1, -0.05, -0.5], + "Offset":120, + "Multiplier":0.001 + }, + { + "Name":"CLOSE-SUB6", + "Type":"UNKNOWN", + "Hidden":true, + "VirtualSensor":true, + "Formula":"WEIGHTED_AVG", + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-0.45, -1.2, -0.8, 0.65, 2.5, 0.2], + "Offset":1820, "Multiplier":0.001 }, { @@ -171,9 +177,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.2, -0.15, 0.05, 0.05, -0.4, 1.0, 0.05, 0.2], - "Offset":1180, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm"], + "Coefficient":[-0.05, 0.3, 0.3, 0.35], + "Offset":3740, "Multiplier":0.001 }, { @@ -182,9 +188,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm"], - "Coefficient":[-0.3, -0.65, 1.0, -0.1, 0.9, 0.25, -0.1], - "Offset":340, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], + "Offset":-990, "Multiplier":0.001 }, { @@ -193,9 +199,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.95, -0.85, 0.6, 0.15, 0.8, 0.75, -0.15, 0.65], - "Offset":-2550, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[-2, 1.4, 1.4, -0.4, 0.25, 0.25], + "Offset":-4120, "Multiplier":0.001 }, { @@ -204,9 +210,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.7, 0.05, 0.3, -0.35, 1.9, -0.15], - "Offset":1380, + "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.3, 1.8, 0.55, 0.4, -1.2, -0.15, -0.8], + "Offset":-540, "Multiplier":0.001 }, { @@ -215,9 +221,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm2", "inner_disp_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.1, -0.3, 0.75, 0.4, 0.85, 0.1, -0.9], - "Offset":850, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "usb_pwr_therm2", "inner_disp_therm"], + "Coefficient":[0.15, 1.05, -0.65, 1, -0.55], + "Offset":3540, "Multiplier":0.001 }, { @@ -243,7 +249,7 @@ { "Name":"VIRTUAL-SKIN", "Type":"SKIN", - "Version":"0.4", + "Version":"0.5", "VirtualSensor":true, "TriggerSensor":"skin_therm", "Formula":"MAXIMUM", @@ -719,7 +725,7 @@ "Formula":"COUNT_THRESHOLD", "TriggerSensor": "soc", "Combination":["battery", "soc"], - "Coefficient":[-25000, 80], + "Coefficient":[-10000, 80], "HotThreshold":["NAN", "NAN", "NAN", "NAN", 2.0, "NAN", "NAN"], "Multiplier":1, "SendCallback":true From 83184424e03a67967e84e75fbcfbc4175d87f2d7 Mon Sep 17 00:00:00 2001 From: Tai Kuo Date: Sat, 4 Feb 2023 15:53:13 +0800 Subject: [PATCH 038/117] Remove vibrator common sepolicy inclusion Move to hardware/google/pixel/vibrator/cs40l26/device-stereo.mk. Bug: 264625320 Test: Build sepolicy. Change-Id: I5d230b19ac66aa23c47fa03ad35c8aaa9e6723ca --- device-felix.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/device-felix.mk b/device-felix.mk index 25a6465..0802815 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -43,9 +43,6 @@ $(call soong_config_set,lyric,camera_hardware,felix) $(call soong_config_set,lyric,tuning_product,felix) $(call soong_config_set,google3a_config,target_device,felix) -BOARD_SEPOLICY_DIRS += \ - hardware/google/pixel-sepolicy/vibrator/common \ - # Init files PRODUCT_COPY_FILES += \ device/google/felix/conf/init.felix.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.felix.rc From cfabdfaacc63ff257294abbebeef2019089cca0a Mon Sep 17 00:00:00 2001 From: Tai Kuo Date: Mon, 6 Feb 2023 11:17:10 +0800 Subject: [PATCH 039/117] Replace vibrator/ from git_tm-qpr-dev Lastest commit: 2724d61 vibrator/cs40l26: Fix unsupport primitive effects test Bug: 267926374 Bug: 264625320 Test: HAL init properly. Change-Id: I1c01ea8c6d584ae58d8d20f21a9ac43a8977f435 --- device-felix.mk | 6 +- vibrator/common/HardwareBase.cpp | 15 + vibrator/cs40l26/Android.bp | 40 -- vibrator/cs40l26/Hardware.h | 52 +- vibrator/cs40l26/VibMgrHwApi.h | 20 +- vibrator/cs40l26/Vibrator.cpp | 607 +++++++++++++----- vibrator/cs40l26/Vibrator.h | 56 +- vibrator/cs40l26/VibratorManager.cpp | 217 ------- vibrator/cs40l26/VibratorManager.h | 83 --- vibrator/cs40l26/VibratorSync.cpp | 39 -- vibrator/cs40l26/VibratorSync.h | 46 -- vibrator/cs40l26/aidl/Android.bp | 22 - .../hardware/vibrator/IVibratorSync.aidl | 24 - .../vibrator/IVibratorSyncCallback.aidl | 21 - ...e.vibrator-service.cs40l26-dual-private.rc | 47 -- ....vibrator-service.cs40l26-dual-private.xml | 7 - ...rdware.vibrator-service.cs40l26-private.rc | 18 + ...vibrator-service.cs40l26-stereo-private.rc | 14 - ...ibrator-service.cs40l26-stereo-private.xml | 7 - vibrator/cs40l26/device-stereo.mk | 7 - vibrator/cs40l26/device.mk | 4 +- vibrator/cs40l26/service-stereo.cpp | 82 --- vibrator/cs40l26/service.cpp | 44 +- vibrator/cs40l26/tests/Android.bp | 4 +- vibrator/cs40l26/tests/mocks.h | 13 +- vibrator/cs40l26/tests/test-vibrator.cpp | 26 +- 26 files changed, 628 insertions(+), 893 deletions(-) delete mode 100644 vibrator/cs40l26/VibratorManager.cpp delete mode 100644 vibrator/cs40l26/VibratorManager.h delete mode 100644 vibrator/cs40l26/VibratorSync.cpp delete mode 100644 vibrator/cs40l26/VibratorSync.h delete mode 100644 vibrator/cs40l26/aidl/Android.bp delete mode 100644 vibrator/cs40l26/aidl/android/hardware/vibrator/IVibratorSync.aidl delete mode 100644 vibrator/cs40l26/aidl/android/hardware/vibrator/IVibratorSyncCallback.aidl delete mode 100644 vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-dual-private.rc delete mode 100644 vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-dual-private.xml delete mode 100644 vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-stereo-private.rc delete mode 100644 vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-stereo-private.xml delete mode 100644 vibrator/cs40l26/device-stereo.mk delete mode 100644 vibrator/cs40l26/service-stereo.cpp diff --git a/device-felix.mk b/device-felix.mk index 0802815..c00832a 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -30,7 +30,7 @@ DEVICE_PACKAGE_OVERLAYS += device/google/felix/felix/overlay include device/google/felix/audio/felix/audio-tables.mk include device/google/gs201/device-shipping-common.mk $(call soong_config_set,fp_hal_feature,pixel_product, product_a) -include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk +include device/google/felix/vibrator/cs40l26/device.mk include device/google/gs-common/bcmbt/bluetooth.mk include device/google/gs-common/touch/gti/gti.mk include device/google/gs-common/touch/stm/stm6.mk @@ -207,7 +207,9 @@ PRODUCT_VENDOR_PROPERTIES += \ # Vibrator HAL PRODUCT_PRODUCT_PROPERTIES +=\ - ro.vendor.vibrator.hal.long.frequency.shift=0 + ro.vendor.vibrator.hal.long.frequency.shift=0 \ + ro.vendor.vibrator.hal.gpio.num=44 \ + ro.vendor.vibrator.hal.gpio.shift=2 ACTUATOR_MODEL := luxshare_ict_lt_xlra1906d # Fingerprint diff --git a/vibrator/common/HardwareBase.cpp b/vibrator/common/HardwareBase.cpp index 8e07e99..7d61b57 100644 --- a/vibrator/common/HardwareBase.cpp +++ b/vibrator/common/HardwareBase.cpp @@ -71,6 +71,7 @@ void HwApiBase::debug(int fd) { HwCalBase::HwCalBase() { std::ifstream calfile; + std::ifstream calfile_dual; auto propertyPrefix = std::getenv("PROPERTY_PREFIX"); if (propertyPrefix != NULL) { @@ -91,6 +92,20 @@ HwCalBase::HwCalBase() { mCalData[utils::trim(key)] = utils::trim(value); } } + + utils::fileFromEnv("CALIBRATION_FILEPATH_DUAL", &calfile_dual); + + for (std::string line; std::getline(calfile_dual, line);) { + if (line.empty() || line[0] == '#') { + continue; + } + std::istringstream is_line(line); + std::string key, value; + if (std::getline(is_line, key, ':') && std::getline(is_line, value)) { + key = utils::trim(key) + "_dual"; + mCalData[key] = utils::trim(value); + } + } } void HwCalBase::debug(int fd) { diff --git a/vibrator/cs40l26/Android.bp b/vibrator/cs40l26/Android.bp index 7857580..9ac51d1 100644 --- a/vibrator/cs40l26/Android.bp +++ b/vibrator/cs40l26/Android.bp @@ -34,7 +34,6 @@ cc_defaults { "android.hardware.vibrator-defaults.cs40l26-private", ], shared_libs: [ - "android.hardware.vibrator.cs40l26-private-cpp", "libcutils", "libtinyalsa", ], @@ -53,9 +52,6 @@ cc_defaults { "android.hardware.vibrator-impl.cs40l26-private", "libtinyalsa", ], - shared_libs: [ - "android.hardware.vibrator.cs40l26-private-cpp", - ], } cc_library { @@ -63,8 +59,6 @@ cc_library { defaults: ["VibratorHalCs40l26BinaryDefaultsPrivate"], srcs: [ "Vibrator.cpp", - "VibratorSync.cpp", - "VibratorManager.cpp", ], export_include_dirs: ["."], vendor_available: true, @@ -80,39 +74,5 @@ cc_binary { shared_libs: [ "android.hardware.vibrator-impl.cs40l26-private", ], - cflags: [ - "-DLOG_TAG=\"android.hardware.vibrator-cs40l26-private\"", - ], - proprietary: true, -} - -cc_binary { - name: "android.hardware.vibrator-service.cs40l26-dual-private", - defaults: ["VibratorHalCs40l26BinaryDefaultsPrivate"], - init_rc: ["android.hardware.vibrator-service.cs40l26-dual-private.rc"], - vintf_fragments: ["android.hardware.vibrator-service.cs40l26-dual-private.xml"], - srcs: ["service.cpp"], - shared_libs: [ - "android.hardware.vibrator-impl.cs40l26-private", - ], - cflags: [ - "-DVIBRATOR_NAME=\"dual\"", - "-DLOG_TAG=\"android.hardware.vibrator-cs40l26-dual-private\"", - ], - proprietary: true, -} - -cc_binary { - name: "android.hardware.vibrator-service.cs40l26-stereo-private", - defaults: ["VibratorHalCs40l26BinaryDefaultsPrivate"], - init_rc: ["android.hardware.vibrator-service.cs40l26-stereo-private.rc"], - vintf_fragments: ["android.hardware.vibrator-service.cs40l26-stereo-private.xml"], - srcs: ["service-stereo.cpp"], - shared_libs: [ - "android.hardware.vibrator-impl.cs40l26-private", - ], - cflags: [ - "-DLOG_TAG=\"android.hardware.vibrator-cs40l26-stereo-private\"", - ], proprietary: true, } diff --git a/vibrator/cs40l26/Hardware.h b/vibrator/cs40l26/Hardware.h index 9cf831c..00ae2d2 100644 --- a/vibrator/cs40l26/Hardware.h +++ b/vibrator/cs40l26/Hardware.h @@ -16,6 +16,7 @@ #pragma once #include +#include #include "HardwareBase.h" #include "Vibrator.h" @@ -66,6 +67,10 @@ namespace vibrator { class HwApi : public Vibrator::HwApi, private HwApiBase { public: + static std::unique_ptr Create() { + auto hwapi = std::unique_ptr(new HwApi()); + return hwapi; + } HwApi() { open("calibration/f0_stored", &mF0); open("default/f0_offset", &mF0Offset); @@ -220,7 +225,10 @@ class HwApi : public Vibrator::HwApi, private HwApiBase { ALOGE("Invalid waveform index for OWT erase: %d", effectIndex); return false; } - + // Turn off the waiting time for SVC init phase to complete since chip + // should already under STOP state + setMinOnOffInterval(0); + // Do erase flow if (effectIndex < WAVEFORM_MAX_INDEX) { /* Normal situation. Only erase the effect which we just played. */ if (ioctl(fd, EVIOCRMFF, effectIndex) < 0) { @@ -248,19 +256,10 @@ class HwApi : public Vibrator::HwApi, private HwApiBase { (*effect)[i].id = -1; } } + // Turn on the waiting time for SVC init phase to complete + setMinOnOffInterval(Vibrator::MIN_ON_OFF_INTERVAL_US); return true; } - void clearTrigBtn(int fd, struct ff_effect *effect, int8_t id) override { - if ((*effect).trigger.button != 0x00) { - (*effect).trigger.button = 0x00; - if (id < WAVEFORM_MAX_PHYSICAL_INDEX) { - /* Clear the trigger pin setting */ - if ((ioctl(fd, EVIOCSFF, effect) < 0)) { - ALOGE("OFF: Failed to edit effect %d (%d): %s", id, errno, strerror(errno)); - } - } - } - } void debug(int fd) override { HwApiBase::debug(fd); } @@ -281,6 +280,7 @@ class HwCal : public Vibrator::HwCal, private HwCalBase { private: static constexpr char VERSION[] = "version"; static constexpr char F0_CONFIG[] = "f0_measured"; + static constexpr char F0_CONFIG_DUAL[] = "f0_measured_dual"; static constexpr char REDC_CONFIG[] = "redc_measured"; static constexpr char Q_CONFIG[] = "q_measured"; static constexpr char TICK_VOLTAGES_CONFIG[] = "v_tick"; @@ -295,6 +295,10 @@ class HwCal : public Vibrator::HwCal, private HwCalBase { public: HwCal() {} + static std::unique_ptr Create() { + auto hwcal = std::unique_ptr(new HwCal()); + return hwcal; + } bool getVersion(uint32_t *value) override { if (getPersist(VERSION, value)) { @@ -307,6 +311,30 @@ class HwCal : public Vibrator::HwCal, private HwCalBase { return getProperty("long.frequency.shift", value, DEFAULT_FREQUENCY_SHIFT); } bool getF0(std::string *value) override { return getPersist(F0_CONFIG, value); } + bool getF0SyncOffset(uint32_t *value) override { + std::string cal_0{8, '0'}; + std::string cal_1{8, '0'}; + + if (getPersist(F0_CONFIG, &cal_0) && getPersist(F0_CONFIG_DUAL, &cal_1)) { + float f0_0 = static_cast(std::stoul(cal_0, nullptr, 16)) / (1 << 14); + float f0_1 = static_cast(std::stoul(cal_1, nullptr, 16)) / (1 << 14); + float f0_offset = std::abs(f0_0 - f0_1)/2; + + if (f0_0 < f0_1) { + *value = static_cast(f0_offset * std::pow(2, 14)); + } else if (f0_0 > f0_1) { + *value = static_cast(std::pow(2, 24) - std::abs(f0_offset) * std::pow(2, 14)); + } else { + *value = 0; + } + + return true; + } else { + ALOGE("Vibrator: Unable to load F0_CONFIG or F0_CONFIG_DUAL config"); + *value = 0; + return false; + } + } bool getRedc(std::string *value) override { return getPersist(REDC_CONFIG, value); } bool getQ(std::string *value) override { return getPersist(Q_CONFIG, value); } bool getTickVolLevels(std::array *value) override { diff --git a/vibrator/cs40l26/VibMgrHwApi.h b/vibrator/cs40l26/VibMgrHwApi.h index f263a18..a243f69 100644 --- a/vibrator/cs40l26/VibMgrHwApi.h +++ b/vibrator/cs40l26/VibMgrHwApi.h @@ -21,7 +21,7 @@ #include -#include "VibratorManager.h" +#include "Vibrator.h" #include "utils.h" namespace aidl { @@ -29,7 +29,7 @@ namespace android { namespace hardware { namespace vibrator { -class VibMgrHwApi : public VibratorManager::HwApi { +class VibMgrHwApi : public Vibrator::HwGPIO { private: const uint32_t DEBUG_GPI_PIN = UINT16_MAX; const uint32_t DEBUG_GPI_PIN_SHIFT = UINT16_MAX; @@ -54,13 +54,13 @@ class VibMgrHwApi : public VibratorManager::HwApi { } mGPIOPin = utils::getProperty(mPropertyPrefix + "gpio.num", DEBUG_GPI_PIN); if (mGPIOPin == DEBUG_GPI_PIN) { - ALOGE("GetGPIO: Fail to get the GPIO num: %s", strerror(errno)); + ALOGE("GetGPIO: Failed to get the GPIO num: %s", strerror(errno)); return false; } mGPIOShift = utils::getProperty(mPropertyPrefix + "gpio.shift", DEBUG_GPI_PIN_SHIFT); if (mGPIOShift == DEBUG_GPI_PIN_SHIFT) { - ALOGE("GetGPIO: Fail to get the GPIO shift num: %s", strerror(errno)); + ALOGE("GetGPIO: Failed to get the GPIO shift num: %s", strerror(errno)); return false; } @@ -68,9 +68,9 @@ class VibMgrHwApi : public VibratorManager::HwApi { } bool initGPIO() override { const auto gpio_dev = std::string() + "/dev/gpiochip" + std::to_string(mGPIOPin); - int fd = open(gpio_dev.c_str(), O_RDONLY); + int fd = open(gpio_dev.c_str(), O_CREAT | O_WRONLY, 0777); if (fd < 0) { - ALOGE("InitGPIO: Unabled to open gpio dev: %s", strerror(errno)); + ALOGE("InitGPIO: Unable to open gpio dev: %s", strerror(errno)); return false; } @@ -79,12 +79,15 @@ class VibMgrHwApi : public VibratorManager::HwApi { mRq.flags = GPIOHANDLE_REQUEST_OUTPUT; int ret = ioctl(fd, GPIO_GET_LINEHANDLE_IOCTL, &mRq); - close(fd); if (ret == -1) { ALOGE("InitGPIO: Unable to line handle from ioctl : %s", strerror(errno)); close(fd); return false; } + if (close(fd) == -1) { + ALOGE("Failed to close GPIO char dev"); + return false; + } // Reset gpio status to LOW struct gpiohandle_data data; data.values[0] = 0; @@ -97,7 +100,7 @@ class VibMgrHwApi : public VibratorManager::HwApi { } return true; } - bool setTrigger(bool value) override { + bool setGPIOOutput(bool value) override { struct gpiohandle_data data; data.values[0] = value; @@ -107,7 +110,6 @@ class VibMgrHwApi : public VibratorManager::HwApi { close(mRq.fd); return false; } - close(mRq.fd); return true; } diff --git a/vibrator/cs40l26/Vibrator.cpp b/vibrator/cs40l26/Vibrator.cpp index cc4b97f..131a376 100644 --- a/vibrator/cs40l26/Vibrator.cpp +++ b/vibrator/cs40l26/Vibrator.cpp @@ -33,6 +33,11 @@ #define ARRAY_SIZE(x) (sizeof((x)) / sizeof((x)[0])) #endif +#ifdef LOG_TAG +#undef LOG_TAG +#define LOG_TAG std::getenv("HAPTIC_NAME") +#endif + namespace aidl { namespace android { namespace hardware { @@ -48,13 +53,16 @@ static constexpr uint32_t WAVEFORM_LONG_VIBRATION_THRESHOLD_MS = 50; static constexpr uint8_t VOLTAGE_SCALE_MAX = 100; static constexpr int8_t MAX_COLD_START_LATENCY_MS = 6; // I2C Transaction + DSP Return-From-Standby -static constexpr uint32_t MIN_ON_OFF_INTERVAL_US = 8500; // SVC initialization time -static constexpr int8_t MAX_PAUSE_TIMING_ERROR_MS = 1; // ALERT Irq Handling +static constexpr int8_t MAX_PAUSE_TIMING_ERROR_MS = 1; // ALERT Irq Handling static constexpr uint32_t MAX_TIME_MS = UINT16_MAX; +static constexpr float SETTING_TIME_OVERHEAD = 26; // This time was combined by + // HAL set the effect to + // driver and the kernel + // executes the effect before + // chip play the effect static constexpr auto ASYNC_COMPLETION_TIMEOUT = std::chrono::milliseconds(100); static constexpr auto POLLING_TIMEOUT = 20; -static constexpr auto POLLING_TIMEOUT_IN_SYNC = 100; static constexpr int32_t COMPOSE_DELAY_MAX_MS = 10000; /* nsections is 8 bits. Need to preserve 1 section for the first delay before the first effect. */ @@ -93,12 +101,12 @@ static constexpr float PWLE_BW_MAP_SIZE = /* * [15] Edge, 0:Falling, 1:Rising * [14:12] GPI_NUM, 1:GPI1 (with CS40L26A, 1 is the only supported GPI) - * [8] BANK, 0:ROM, 1:RAM + * [8] BANK, 0:RAM, 1:R0M * [7] USE_BUZZGEN, 0:Not buzzgen, 1:buzzgen * [6:0] WAVEFORM_INDEX - * 0x9100 = 1001 0001 0000 0000: Rising + GPI1 + ROM + Not buzzgen + * 0x9100 = 1001 0001 0000 0000: Rising + GPI1 + RAM + Not buzzgen */ -static constexpr uint32_t GPIO_TRIGGER_CONFIG = 0x9100; +static constexpr uint16_t GPIO_TRIGGER_CONFIG = 0x9100; static uint16_t amplitudeToScale(float amplitude, float maximum) { float ratio = 100; /* Unit: % */ @@ -154,8 +162,6 @@ enum vibe_state { VIBE_STATE_ASP, }; -std::mutex mActiveId_mutex; // protects mActiveId - static int min(int x, int y) { return x < y ? x : y; } @@ -230,12 +236,24 @@ static int dspmem_chunk_flush(struct dspmem_chunk *ch) { return dspmem_chunk_write(ch, 24 - ch->cachebits, 0); } -Vibrator::Vibrator(std::unique_ptr hwapi, std::unique_ptr hwcal) - : mHwApi(std::move(hwapi)), mHwCal(std::move(hwcal)), mAsyncHandle(std::async([] {})) { +Vibrator::Vibrator(std::unique_ptr hwApiDefault, std::unique_ptr hwCalDefault, + std::unique_ptr hwApiDual, std::unique_ptr hwCalDual, + std::unique_ptr hwgpio) + : mHwApiDef(std::move(hwApiDefault)), + mHwCalDef(std::move(hwCalDefault)), + mHwApiDual(std::move(hwApiDual)), + mHwCalDual(std::move(hwCalDual)), + mHwGPIO(std::move(hwgpio)), + mAsyncHandle(std::async([] {})) { int32_t longFrequencyShift; std::string caldata{8, '0'}; uint32_t calVer; + // ==================Single actuators and dual actuators checking ============================= + if ((mHwApiDual != nullptr) && (mHwCalDual != nullptr)) + mIsDual = true; + + // ==================INPUT Devices== Base ================= const char *inputEventName = std::getenv("INPUT_EVENT_NAME"); const char *inputEventPathName = std::getenv("INPUT_EVENT_PATH"); if ((strstr(inputEventName, "cs40l26") != nullptr) || @@ -248,7 +266,7 @@ Vibrator::Vibrator(std::unique_ptr hwapi, std::unique_ptr hwcal) for (uint8_t retry = 0; retry < 10; retry++) { ret = glob(inputEventPathName, 0, nullptr, &inputEventPaths); if (ret) { - ALOGE("Fail to get input event paths (%d): %s", errno, strerror(errno)); + ALOGE("Failed to get input event paths (%d): %s", errno, strerror(errno)); } else { for (int i = 0; i < inputEventPaths.gl_pathc; i++) { fd = TEMP_FAILURE_RETRY(open(inputEventPaths.gl_pathv[i], O_RDWR)); @@ -278,16 +296,69 @@ Vibrator::Vibrator(std::unique_ptr hwapi, std::unique_ptr hwcal) } if (!mInputFd.ok()) { - ALOGE("Fail to get an input event with name %s", inputEventName); + ALOGE("Failed to get an input event with name %s", inputEventName); } } else { ALOGE("The input name %s is not cs40l26_input or cs40l26_dual_input", inputEventName); } + // ==================INPUT Devices== Flip ================= + if (mIsDual) { + const char *inputEventNameDual = std::getenv("INPUT_EVENT_NAME_DUAL"); + if ((strstr(inputEventNameDual, "cs40l26_dual_input") != nullptr)) { + glob_t inputEventPaths; + int fd = -1; + int ret; + uint32_t val = 0; + char str[20] = {0x00}; + for (uint8_t retry = 0; retry < 10; retry++) { + ret = glob(inputEventPathName, 0, nullptr, &inputEventPaths); + if (ret) { + ALOGE("Failed to get flip's input event paths (%d): %s", errno, + strerror(errno)); + } else { + for (int i = 0; i < inputEventPaths.gl_pathc; i++) { + fd = TEMP_FAILURE_RETRY(open(inputEventPaths.gl_pathv[i], O_RDWR)); + if (fd > 0) { + if (ioctl(fd, EVIOCGBIT(0, sizeof(val)), &val) > 0 && + (val & (1 << EV_FF)) && + ioctl(fd, EVIOCGNAME(sizeof(str)), &str) > 0 && + strstr(str, inputEventNameDual) != nullptr) { + mInputFdDual.reset(fd); + ALOGI("Control %s through %s", inputEventNameDual, + inputEventPaths.gl_pathv[i]); + break; + } + close(fd); + } + } + } + + if (ret == 0) { + globfree(&inputEventPaths); + } + if (mInputFdDual.ok()) { + break; + } + + sleep(1); + ALOGW("Retry #%d to search in %zu input devices.", retry, inputEventPaths.gl_pathc); + } + + if (!mInputFdDual.ok()) { + ALOGE("Failed to get an input event with name %s", inputEventNameDual); + } + ALOGE("HWAPI: %s", std::getenv("HWAPI_PATH_PREFIX")); + } else { + ALOGE("The input name %s is not cs40l26_dual_input", inputEventNameDual); + } + } + // ====================HAL internal effect table== Base ================================== + mFfEffects.resize(WAVEFORM_MAX_INDEX); mEffectDurations.resize(WAVEFORM_MAX_INDEX); mEffectDurations = { - 1000, 100, 30, 1000, 300, 130, 150, 500, 100, 15, 20, 1000, 1000, 1000, + 1000, 100, 32, 1000, 300, 130, 150, 500, 100, 10, 12, 1000, 1000, 1000, }; /* 11+3 waveforms. The duration must < UINT16_MAX */ uint8_t effectIndex; @@ -305,7 +376,7 @@ Vibrator::Vibrator(std::unique_ptr hwapi, std::unique_ptr hwcal) // Bypass the waveform update due to different input name if ((strstr(inputEventName, "cs40l26") != nullptr) || (strstr(inputEventName, "cs40l26_dual_input") != nullptr)) { - if (!mHwApi->setFFEffect( + if (!mHwApiDef->setFFEffect( mInputFd, &mFfEffects[effectIndex], static_cast(mFfEffects[effectIndex].replay.length))) { ALOGE("Failed upload effect %d (%d): %s", effectIndex, errno, strerror(errno)); @@ -327,45 +398,124 @@ Vibrator::Vibrator(std::unique_ptr hwapi, std::unique_ptr hwcal) } } - if (mHwCal->getF0(&caldata)) { - mHwApi->setF0(caldata); + // ====================HAL internal effect table== Flip ================================== + if (mIsDual) { + mFfEffectsDual.resize(WAVEFORM_MAX_INDEX); + + for (effectIndex = 0; effectIndex < WAVEFORM_MAX_INDEX; effectIndex++) { + if (effectIndex < WAVEFORM_MAX_PHYSICAL_INDEX) { + /* Initialize physical waveforms. */ + mFfEffectsDual[effectIndex] = { + .type = FF_PERIODIC, + .id = -1, + .replay.length = static_cast(mEffectDurations[effectIndex]), + .u.periodic.waveform = FF_CUSTOM, + .u.periodic.custom_data = new int16_t[2]{RAM_WVFRM_BANK, effectIndex}, + .u.periodic.custom_len = FF_CUSTOM_DATA_LEN, + }; + // Bypass the waveform update due to different input name + if ((strstr(inputEventName, "cs40l26") != nullptr) || + (strstr(inputEventName, "cs40l26_dual_input") != nullptr)) { + if (!mHwApiDual->setFFEffect( + mInputFdDual, &mFfEffectsDual[effectIndex], + static_cast(mFfEffectsDual[effectIndex].replay.length))) { + ALOGE("Failed upload flip's effect %d (%d): %s", effectIndex, errno, + strerror(errno)); + } + } + if (mFfEffectsDual[effectIndex].id != effectIndex) { + ALOGW("Unexpected effect index: %d -> %d", effectIndex, + mFfEffectsDual[effectIndex].id); + } + } else { + /* Initiate placeholders for OWT effects. */ + mFfEffectsDual[effectIndex] = { + .type = FF_PERIODIC, + .id = -1, + .replay.length = 0, + .u.periodic.waveform = FF_CUSTOM, + .u.periodic.custom_data = nullptr, + .u.periodic.custom_len = 0, + }; + } + } } - if (mHwCal->getRedc(&caldata)) { - mHwApi->setRedc(caldata); + // ==============Calibration data checking====================================== + + if (mHwCalDef->getF0(&caldata)) { + mHwApiDef->setF0(caldata); } - if (mHwCal->getQ(&caldata)) { - mHwApi->setQ(caldata); + if (mHwCalDef->getRedc(&caldata)) { + mHwApiDef->setRedc(caldata); + } + if (mHwCalDef->getQ(&caldata)) { + mHwApiDef->setQ(caldata); } - mHwCal->getLongFrequencyShift(&longFrequencyShift); - if (longFrequencyShift > 0) { - mF0Offset = longFrequencyShift * std::pow(2, 14); - } else if (longFrequencyShift < 0) { - mF0Offset = std::pow(2, 24) - std::abs(longFrequencyShift) * std::pow(2, 14); + if (mHwCalDef->getF0SyncOffset(&mF0Offset)) { + ALOGD("Vibrator::Vibrator: F0 offset calculated from both base and flip calibration data: " + "%u", + mF0Offset); } else { - mF0Offset = 0; + mHwCalDef->getLongFrequencyShift(&longFrequencyShift); + if (longFrequencyShift > 0) { + mF0Offset = longFrequencyShift * std::pow(2, 14); + } else if (longFrequencyShift < 0) { + mF0Offset = std::pow(2, 24) - std::abs(longFrequencyShift) * std::pow(2, 14); + } else { + mF0Offset = 0; + } + ALOGD("Vibrator::Vibrator: F0 offset calculated from long shift frequency: %u", mF0Offset); } - mHwCal->getVersion(&calVer); + if (mIsDual) { + if (mHwCalDual->getF0(&caldata)) { + mHwApiDual->setF0(caldata); + } + if (mHwCalDual->getRedc(&caldata)) { + mHwApiDual->setRedc(caldata); + } + if (mHwCalDual->getQ(&caldata)) { + mHwApiDual->setQ(caldata); + } + + if (mHwCalDual->getF0SyncOffset(&mF0OffsetDual)) { + ALOGD("Vibrator::Vibrator: Dual: F0 offset calculated from both base and flip " + "calibration data: " + "%u", + mF0OffsetDual); + } + } + + mHwCalDef->getVersion(&calVer); if (calVer == 2) { - mHwCal->getTickVolLevels(&mTickEffectVol); - mHwCal->getClickVolLevels(&mClickEffectVol); - mHwCal->getLongVolLevels(&mLongEffectVol); + mHwCalDef->getTickVolLevels(&(mTickEffectVol)); + mHwCalDef->getClickVolLevels(&(mClickEffectVol)); + mHwCalDef->getLongVolLevels(&(mLongEffectVol)); } else { ALOGW("Unsupported calibration version! Using the default calibration value"); - mHwCal->getTickVolLevels(&mTickEffectVol); - mHwCal->getClickVolLevels(&mClickEffectVol); - mHwCal->getLongVolLevels(&mLongEffectVol); + mHwCalDef->getTickVolLevels(&(mTickEffectVol)); + mHwCalDef->getClickVolLevels(&(mClickEffectVol)); + mHwCalDef->getLongVolLevels(&(mLongEffectVol)); } - mHwApi->setF0CompEnable(mHwCal->isF0CompEnabled()); - mHwApi->setRedcCompEnable(mHwCal->isRedcCompEnabled()); + // ================Project specific setting to driver=============================== + mHwApiDef->setF0CompEnable(mHwCalDef->isF0CompEnabled()); + mHwApiDef->setRedcCompEnable(mHwCalDef->isRedcCompEnabled()); + mHwApiDef->setMinOnOffInterval(MIN_ON_OFF_INTERVAL_US); + if (mIsDual) { + mHwApiDual->setF0CompEnable(mHwCalDual->isF0CompEnabled()); + mHwApiDual->setRedcCompEnable(mHwCalDual->isRedcCompEnabled()); + mHwApiDual->setMinOnOffInterval(MIN_ON_OFF_INTERVAL_US); + } + // ===============Audio coupled haptics bool init ======== mIsUnderExternalControl = false; - mIsChirpEnabled = mHwCal->isChirpEnabled(); + // =============== Compose PWLE check ===================================== + mIsChirpEnabled = mHwCalDef->isChirpEnabled(); - mHwCal->getSupportedPrimitives(&mSupportedPrimitivesBits); + mHwCalDef->getSupportedPrimitives(&mSupportedPrimitivesBits); if (mSupportedPrimitivesBits > 0) { for (auto e : defaultSupportedPrimitives) { if (mSupportedPrimitivesBits & (1 << uint32_t(e))) { @@ -378,7 +528,14 @@ Vibrator::Vibrator(std::unique_ptr hwapi, std::unique_ptr hwcal) } mSupportedPrimitives = defaultSupportedPrimitives; } - mHwApi->setMinOnOffInterval(MIN_ON_OFF_INTERVAL_US); + + mPrimitiveMinScale = {0.0f, 0.01f, 0.11f, 0.23f, 0.0f, 0.25f, 0.02f, 0.03f, 0.16f}; + + // ====== Get GPIO status and init it ================ + mGPIOStatus = mHwGPIO->getGPIO(); + if (!mGPIOStatus || !mHwGPIO->initGPIO()) { + ALOGE("Vibrator: GPIO initialization process error"); + } } ndk::ScopedAStatus Vibrator::getCapabilities(int32_t *_aidl_return) { @@ -392,7 +549,7 @@ ndk::ScopedAStatus Vibrator::getCapabilities(int32_t *_aidl_return) { } else { ALOGE("No haptics ALSA device"); } - if (mHwApi->hasOwtFreeSpace()) { + if (mHwApiDef->hasOwtFreeSpace()) { ret |= IVibrator::CAP_COMPOSE_EFFECTS; if (mIsChirpEnabled) { ret |= IVibrator::CAP_FREQUENCY_CONTROL | IVibrator::CAP_COMPOSE_PWLE_EFFECTS; @@ -408,31 +565,48 @@ ndk::ScopedAStatus Vibrator::off() { const std::scoped_lock lock(mActiveId_mutex); if (mActiveId >= 0) { - ALOGV("Off: Stop the active effect: %d", mActiveId); + ALOGD("Off: Stop the active effect: %d", mActiveId); /* Stop the active effect. */ - if (!mHwApi->setFFPlay(mInputFd, mActiveId, false)) { - ALOGE("Failed to stop effect %d (%d): %s", mActiveId, errno, strerror(errno)); + if (!mHwApiDef->setFFPlay(mInputFd, mActiveId, false)) { + ALOGE("Off: Failed to stop effect %d (%d): %s", mActiveId, errno, strerror(errno)); ret = false; } - + if (mIsDual && (!mHwApiDual->setFFPlay(mInputFdDual, mActiveId, false))) { + ALOGE("Off: Failed to stop flip's effect %d (%d): %s", mActiveId, errno, + strerror(errno)); + ret = false; + } + /* Do erase process */ if ((mActiveId >= WAVEFORM_MAX_PHYSICAL_INDEX) && - (!mHwApi->eraseOwtEffect(mInputFd, mActiveId, &mFfEffects))) { - ALOGE("Failed to clean up the composed effect %d", mActiveId); + (!mHwApiDef->eraseOwtEffect(mInputFd, mActiveId, &mFfEffects))) { + ALOGE("Off: Failed to clean up the composed effect %d", mActiveId); ret = false; } - mHwApi->clearTrigBtn(mInputFd, &mFfEffects[mActiveId], mActiveId); + if (mIsDual && (mActiveId >= WAVEFORM_MAX_PHYSICAL_INDEX) && + (!mHwApiDual->eraseOwtEffect(mInputFdDual, mActiveId, &mFfEffectsDual))) { + ALOGE("Off: Failed to clean up flip's the composed effect %d", mActiveId); + ret = false; + } + if (!mHwGPIO->setGPIOOutput(false)) { + ALOGE("Off: Failed to reset GPIO(%d): %s", errno, strerror(errno)); + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); + } } else { - ALOGV("Off: Vibrator is already off"); + ALOGD("Off: Vibrator is already off"); } - mActiveId = -1; setGlobalAmplitude(false); if (mF0Offset) { - mHwApi->setF0Offset(0); + mHwApiDef->setF0Offset(0); + if (mIsDual && mF0OffsetDual) { + mHwApiDual->setF0Offset(0); + } } if (ret) { + ALOGD("Off: Done."); + mActiveId = -1; return ndk::ScopedAStatus::ok(); } else { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); @@ -441,13 +615,8 @@ ndk::ScopedAStatus Vibrator::off() { ndk::ScopedAStatus Vibrator::on(int32_t timeoutMs, const std::shared_ptr &callback) { - std::scoped_lock lock(mApiMutex); ATRACE_NAME("Vibrator::on"); - - if (isBusy()) { - ALOGD("Vibrator::on, isBusy"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); - } + ALOGD("Vibrator::on"); if (timeoutMs > MAX_TIME_MS) { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); @@ -460,7 +629,10 @@ ndk::ScopedAStatus Vibrator::on(int32_t timeoutMs, } setGlobalAmplitude(true); if (mF0Offset) { - mHwApi->setF0Offset(mF0Offset); + mHwApiDef->setF0Offset(mF0Offset); + if (mIsDual && mF0OffsetDual) { + mHwApiDual->setF0Offset(mF0OffsetDual); + } } return on(timeoutMs, index, nullptr /*ignored*/, callback); } @@ -468,8 +640,8 @@ ndk::ScopedAStatus Vibrator::on(int32_t timeoutMs, ndk::ScopedAStatus Vibrator::perform(Effect effect, EffectStrength strength, const std::shared_ptr &callback, int32_t *_aidl_return) { - std::scoped_lock lock(mApiMutex); ATRACE_NAME("Vibrator::perform"); + ALOGD("Vibrator::perform"); return performEffect(effect, strength, callback, _aidl_return); } @@ -480,7 +652,6 @@ ndk::ScopedAStatus Vibrator::getSupportedEffects(std::vector *_aidl_retu } ndk::ScopedAStatus Vibrator::setAmplitude(float amplitude) { - std::scoped_lock lock(mApiMutex); ATRACE_NAME("Vibrator::setAmplitude"); if (amplitude <= 0.0f || amplitude > 1.0f) { @@ -496,17 +667,12 @@ ndk::ScopedAStatus Vibrator::setAmplitude(float amplitude) { } ndk::ScopedAStatus Vibrator::setExternalControl(bool enabled) { - std::scoped_lock lock(mApiMutex); ATRACE_NAME("Vibrator::setExternalControl"); - if (isSynced()) { - return ndk::ScopedAStatus::fromExceptionCode(EX_UNSUPPORTED_OPERATION); - } - setGlobalAmplitude(enabled); if (mHasHapticAlsaDevice || mConfigHapticAlsaDeviceDone || hasHapticAlsaDevice()) { - if (!mHwApi->setHapticPcmAmp(&mHapticPcm, enabled, mCard, mDevice)) { + if (!mHwApiDef->setHapticPcmAmp(&mHapticPcm, enabled, mCard, mDevice)) { ALOGE("Failed to %s haptic pcm device: %d", (enabled ? "enable" : "disable"), mDevice); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); } @@ -545,8 +711,8 @@ ndk::ScopedAStatus Vibrator::getPrimitiveDuration(CompositePrimitive primitive, if (!status.isOk()) { return status; } - - *durationMs = mEffectDurations[effectIndex]; + // Please check the overhead time detail in b/261841035 + *durationMs = mEffectDurations[effectIndex] + SETTING_TIME_OVERHEAD; } else { *durationMs = 0; } @@ -555,10 +721,11 @@ ndk::ScopedAStatus Vibrator::getPrimitiveDuration(CompositePrimitive primitive, ndk::ScopedAStatus Vibrator::compose(const std::vector &composite, const std::shared_ptr &callback) { - std::scoped_lock lock(mApiMutex); ATRACE_NAME("Vibrator::compose"); + ALOGD("Vibrator::compose"); uint16_t size; uint16_t nextEffectDelay; + uint16_t totalDuration = 0; auto ch = dspmem_chunk_create(new uint8_t[FF_CUSTOM_DATA_LEN_MAX_COMP]{0x00}, FF_CUSTOM_DATA_LEN_MAX_COMP); @@ -569,6 +736,7 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector &composi /* Check if there is a wait before the first effect. */ nextEffectDelay = composite.front().delayMs; + totalDuration += nextEffectDelay; if (nextEffectDelay > COMPOSE_DELAY_MAX_MS || nextEffectDelay < 0) { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } else if (nextEffectDelay > 0) { @@ -592,7 +760,8 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector &composi auto &e_curr = composite[i_curr]; uint32_t effectIndex = 0; uint32_t effectVolLevel = 0; - if (e_curr.scale < 0.0f || e_curr.scale > 1.0f) { + float effectScale = e_curr.scale; + if (effectScale < 0.0f || effectScale > 1.0f) { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } @@ -602,7 +771,11 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector &composi if (!status.isOk()) { return status; } - effectVolLevel = intensityToVolLevel(e_curr.scale, effectIndex); + if (effectScale < mPrimitiveMinScale[static_cast(e_curr.primitive)]) { + effectScale = mPrimitiveMinScale[static_cast(e_curr.primitive)]; + } + effectVolLevel = intensityToVolLevel(effectScale, effectIndex); + totalDuration += mEffectDurations[effectIndex]; } /* Fetch the next composite effect delay and fill into the current section */ @@ -615,6 +788,7 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector &composi return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } nextEffectDelay = delay; + totalDuration += delay; } if (effectIndex == 0 && nextEffectDelay == 0) { @@ -631,6 +805,10 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector &composi if (header_count == dspmem_chunk_bytes(ch)) { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } else { + mFfEffects[WAVEFORM_COMPOSE].replay.length = totalDuration; + if (mIsDual) { + mFfEffectsDual[WAVEFORM_COMPOSE].replay.length = totalDuration; + } return performEffect(WAVEFORM_MAX_INDEX /*ignored*/, VOLTAGE_SCALE_MAX /*ignored*/, ch, callback); } @@ -660,68 +838,134 @@ ndk::ScopedAStatus Vibrator::on(uint32_t timeoutMs, uint32_t effectIndex, dspmem effectIndex = isPwle ? WAVEFORM_PWLE : WAVEFORM_COMPOSE; uint32_t freeBytes; - mHwApi->getOwtFreeSpace(&freeBytes); + mHwApiDef->getOwtFreeSpace(&freeBytes); if (dspmem_chunk_bytes(ch) > freeBytes) { ALOGE("Invalid OWT length: Effect %d: %d > %d!", effectIndex, dspmem_chunk_bytes(ch), freeBytes); delete ch; return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); } - int errorStatus; - if (isSynced()) { - mFfEffects[effectIndex].trigger.button = GPIO_TRIGGER_CONFIG | effectIndex; + if (mIsDual) { + mHwApiDual->getOwtFreeSpace(&freeBytes); + if (dspmem_chunk_bytes(ch) > freeBytes) { + ALOGE("Invalid OWT length in flip: Effect %d: %d > %d!", effectIndex, + dspmem_chunk_bytes(ch), freeBytes); + delete ch; + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); + } } - if (!mHwApi->uploadOwtEffect(mInputFd, ch->head, dspmem_chunk_bytes(ch), - &mFfEffects[effectIndex], &effectIndex, &errorStatus)) { + + int errorStatus; + if (mGPIOStatus && mIsDual) { + mFfEffects[effectIndex].trigger.button = GPIO_TRIGGER_CONFIG | effectIndex; + mFfEffectsDual[effectIndex].trigger.button = GPIO_TRIGGER_CONFIG | effectIndex; + } else { + ALOGD("Not dual haptics HAL and GPIO status fail"); + } + + if (!mHwApiDef->uploadOwtEffect(mInputFd, ch->head, dspmem_chunk_bytes(ch), + &mFfEffects[effectIndex], &effectIndex, &errorStatus)) { delete ch; ALOGE("Invalid uploadOwtEffect"); return ndk::ScopedAStatus::fromExceptionCode(errorStatus); } + if (mIsDual && !mHwApiDual->uploadOwtEffect(mInputFdDual, ch->head, dspmem_chunk_bytes(ch), + &mFfEffectsDual[effectIndex], &effectIndex, + &errorStatus)) { + delete ch; + ALOGE("Invalid uploadOwtEffect in flip"); + return ndk::ScopedAStatus::fromExceptionCode(errorStatus); + } delete ch; } else if (effectIndex == WAVEFORM_SHORT_VIBRATION_EFFECT_INDEX || effectIndex == WAVEFORM_LONG_VIBRATION_EFFECT_INDEX) { /* Update duration for long/short vibration. */ mFfEffects[effectIndex].replay.length = static_cast(timeoutMs); - if (isSynced()) { + if (mGPIOStatus && mIsDual) { mFfEffects[effectIndex].trigger.button = GPIO_TRIGGER_CONFIG | effectIndex; + mFfEffectsDual[effectIndex].trigger.button = GPIO_TRIGGER_CONFIG | effectIndex; + } else { + ALOGD("Not dual haptics HAL and GPIO status fail"); } - if (!mHwApi->setFFEffect(mInputFd, &mFfEffects[effectIndex], - static_cast(timeoutMs))) { + if (!mHwApiDef->setFFEffect(mInputFd, &mFfEffects[effectIndex], + static_cast(timeoutMs))) { ALOGE("Failed to edit effect %d (%d): %s", effectIndex, errno, strerror(errno)); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); } - } - { - const std::scoped_lock lock(mActiveId_mutex); - mActiveId = effectIndex; - if (isSynced() && - (effectIndex == WAVEFORM_CLICK_INDEX || effectIndex == WAVEFORM_LIGHT_TICK_INDEX)) { - mFfEffects[effectIndex].trigger.button = GPIO_TRIGGER_CONFIG | effectIndex; - if (!mHwApi->setFFEffect(mInputFd, &mFfEffects[effectIndex], mFfEffects[effectIndex].replay.length)) { - ALOGE("Failed to edit effect %d (%d): %s", effectIndex, errno, strerror(errno)); + if (mIsDual) { + mFfEffectsDual[effectIndex].replay.length = static_cast(timeoutMs); + if (!mHwApiDual->setFFEffect(mInputFdDual, &mFfEffectsDual[effectIndex], + static_cast(timeoutMs))) { + ALOGE("Failed to edit flip's effect %d (%d): %s", effectIndex, errno, + strerror(errno)); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); } - } else if (!isSynced()) { - // /* Play the event now. */ - if (!mHwApi->setFFPlay(mInputFd, effectIndex, true)) { + } + } + + { + const std::scoped_lock lock(mActiveId_mutex); + /* Play the event now. */ + mActiveId = effectIndex; + if (!mGPIOStatus) { + ALOGE("GetVibrator: GPIO status error"); + // Do playcode to play effect + if (!mHwApiDef->setFFPlay(mInputFd, effectIndex, true)) { ALOGE("Failed to play effect %d (%d): %s", effectIndex, errno, strerror(errno)); + mActiveId = -1; + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); + } + if (mIsDual && !mHwApiDual->setFFPlay(mInputFdDual, effectIndex, true)) { + ALOGE("Failed to play flip's effect %d (%d): %s", effectIndex, errno, + strerror(errno)); + mActiveId = -1; + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); + } + } else { + // Using GPIO to play effect + if ((effectIndex == WAVEFORM_CLICK_INDEX || effectIndex == WAVEFORM_LIGHT_TICK_INDEX)) { + mFfEffects[effectIndex].trigger.button = GPIO_TRIGGER_CONFIG | effectIndex; + if (!mHwApiDef->setFFEffect(mInputFd, &mFfEffects[effectIndex], + mFfEffects[effectIndex].replay.length)) { + ALOGE("Failed to edit effect %d (%d): %s", effectIndex, errno, strerror(errno)); + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); + } + if (mIsDual) { + mFfEffectsDual[effectIndex].trigger.button = GPIO_TRIGGER_CONFIG | effectIndex; + if (!mHwApiDual->setFFEffect(mInputFdDual, &mFfEffectsDual[effectIndex], + mFfEffectsDual[effectIndex].replay.length)) { + ALOGE("Failed to edit flip's effect %d (%d): %s", effectIndex, errno, + strerror(errno)); + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); + } + } + } + if (!mHwGPIO->setGPIOOutput(true)) { + ALOGE("Failed to trigger effect %d (%d) by GPIO: %s", effectIndex, errno, + strerror(errno)); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); } } } mAsyncHandle = std::async(&Vibrator::waitForComplete, this, callback); - + ALOGD("Vibrator::on, set done."); return ndk::ScopedAStatus::ok(); } ndk::ScopedAStatus Vibrator::setEffectAmplitude(float amplitude, float maximum) { uint16_t scale = amplitudeToScale(amplitude, maximum); - if (!mHwApi->setFFGain(mInputFd, scale)) { + if (!mHwApiDef->setFFGain(mInputFd, scale)) { ALOGE("Failed to set the gain to %u (%d): %s", scale, errno, strerror(errno)); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); } + if (mIsDual) { + if (!mHwApiDual->setFFGain(mInputFdDual, scale)) { + ALOGE("Failed to set flip's gain to %u (%d): %s", scale, errno, strerror(errno)); + return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); + } + } return ndk::ScopedAStatus::ok(); } @@ -730,6 +974,7 @@ ndk::ScopedAStatus Vibrator::setGlobalAmplitude(bool set) { if (!set) { mLongEffectScale = 1.0; // Reset the scale for the later new effect. } + return setEffectAmplitude(amplitude, VOLTAGE_SCALE_MAX); } @@ -747,7 +992,7 @@ ndk::ScopedAStatus Vibrator::alwaysOnDisable(int32_t /*id*/) { ndk::ScopedAStatus Vibrator::getResonantFrequency(float *resonantFreqHz) { std::string caldata{8, '0'}; - if (!mHwCal->getF0(&caldata)) { + if (!mHwCalDef->getF0(&caldata)) { ALOGE("Failed to get resonant frequency (%d): %s", errno, strerror(errno)); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); } @@ -758,7 +1003,7 @@ ndk::ScopedAStatus Vibrator::getResonantFrequency(float *resonantFreqHz) { ndk::ScopedAStatus Vibrator::getQFactor(float *qFactor) { std::string caldata{8, '0'}; - if (!mHwCal->getQ(&caldata)) { + if (!mHwCalDef->getQ(&caldata)) { ALOGE("Failed to get q factor (%d): %s", errno, strerror(errno)); return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); } @@ -1049,37 +1294,6 @@ bool Vibrator::isUnderExternalControl() { return mIsUnderExternalControl; } -// BnVibratorSync APIs - -Status Vibrator::prepareSynced(const sp &callback) { - std::scoped_lock lock(mApiMutex); - ATRACE_NAME("Vibrator::prepareSynced"); - - if (isBusy() || isSynced() || isUnderExternalControl()) { - ALOGE("Vibrator::prepareSynced, isBusy or isSynced"); - return Status::fromExceptionCode(EX_ILLEGAL_STATE); - } - - mSyncedCallback = callback; - - return Status::ok(); -} - -Status Vibrator::cancelSynced() { - std::scoped_lock lock(mApiMutex); - ATRACE_NAME("Vibrator::cancelSynced"); - - if (!isSynced()) { - ALOGE("Vibrator::cancelSynced, isSynced"); - return Status::fromExceptionCode(EX_ILLEGAL_STATE); - } - - off(); - mSyncedCallback = nullptr; - - return Status::ok(); -} - // BnCInterface APIs binder_status_t Vibrator::dump(int fd, const char **args, uint32_t numArgs) { @@ -1093,29 +1307,38 @@ binder_status_t Vibrator::dump(int fd, const char **args, uint32_t numArgs) { dprintf(fd, "AIDL:\n"); - dprintf(fd, " F0 Offset: %" PRIu32 "\n", mF0Offset); + dprintf(fd, " F0 Offset: base: %" PRIu32 " flip: %" PRIu32 "\n", mF0Offset, mF0OffsetDual); dprintf(fd, " Voltage Levels:\n"); - dprintf(fd, " Tick Effect Min: %" PRIu32 " Max: %" PRIu32 "\n", mTickEffectVol[0], + dprintf(fd, " Tick Effect Min: %" PRIu32 " Max: %" PRIu32 "\n", mTickEffectVol[0], mTickEffectVol[1]); - dprintf(fd, " Click Effect Min: %" PRIu32 " Max: %" PRIu32 "\n", mClickEffectVol[0], + dprintf(fd, " Click Effect Min: %" PRIu32 " Max: %" PRIu32 "\n", mClickEffectVol[0], mClickEffectVol[1]); - dprintf(fd, " Long Effect Min: %" PRIu32 " Max: %" PRIu32 "\n", mLongEffectVol[0], + dprintf(fd, " Long Effect Min: %" PRIu32 " Max: %" PRIu32 "\n", mLongEffectVol[0], mLongEffectVol[1]); dprintf(fd, " FF effect:\n"); dprintf(fd, " Physical waveform:\n"); - dprintf(fd, "\tId\tIndex\tt ->\tt'\ttrigger button\n"); - for (uint8_t effectId = 0; effectId < WAVEFORM_MAX_PHYSICAL_INDEX; effectId++) { + dprintf(fd, "==== Base ====\n\tId\tIndex\tt ->\tt'\ttrigger button\n"); + uint8_t effectId; + for (effectId = 0; effectId < WAVEFORM_MAX_PHYSICAL_INDEX; effectId++) { dprintf(fd, "\t%d\t%d\t%d\t%d\t%X\n", mFfEffects[effectId].id, mFfEffects[effectId].u.periodic.custom_data[1], mEffectDurations[effectId], mFfEffects[effectId].replay.length, mFfEffects[effectId].trigger.button); } + if (mIsDual) { + dprintf(fd, "==== Flip ====\n\tId\tIndex\tt ->\tt'\ttrigger button\n"); + for (effectId = 0; effectId < WAVEFORM_MAX_PHYSICAL_INDEX; effectId++) { + dprintf(fd, "\t%d\t%d\t%d\t%d\t%X\n", mFfEffectsDual[effectId].id, + mFfEffectsDual[effectId].u.periodic.custom_data[1], mEffectDurations[effectId], + mFfEffectsDual[effectId].replay.length, + mFfEffectsDual[effectId].trigger.button); + } + } - dprintf(fd, " OWT waveform:\n"); - dprintf(fd, "\tId\tBytes\tData\ttrigger button\n"); - for (uint8_t effectId = WAVEFORM_MAX_PHYSICAL_INDEX; effectId < WAVEFORM_MAX_INDEX; - effectId++) { + dprintf(fd, "Base: OWT waveform:\n"); + dprintf(fd, "\tId\tBytes\tData\tt\ttrigger button\n"); + for (effectId = WAVEFORM_MAX_PHYSICAL_INDEX; effectId < WAVEFORM_MAX_INDEX; effectId++) { uint32_t numBytes = mFfEffects[effectId].u.periodic.custom_len * 2; std::stringstream ss; ss << " "; @@ -1126,18 +1349,42 @@ binder_status_t Vibrator::dump(int fd, const char **args, uint32_t numArgs) { i)) << " "; } - dprintf(fd, "\t%d\t%d\t{%s}\t%X\n", mFfEffects[effectId].id, numBytes, ss.str().c_str(), - mFfEffects[effectId].trigger.button); + dprintf(fd, "\t%d\t%d\t{%s}\t%u\t%X\n", mFfEffects[effectId].id, numBytes, ss.str().c_str(), + mFfEffectsDual[effectId].replay.length, mFfEffects[effectId].trigger.button); + } + if (mIsDual) { + dprintf(fd, "Flip: OWT waveform:\n"); + dprintf(fd, "\tId\tBytes\tData\tt\ttrigger button\n"); + for (effectId = WAVEFORM_MAX_PHYSICAL_INDEX; effectId < WAVEFORM_MAX_INDEX; effectId++) { + uint32_t numBytes = mFfEffectsDual[effectId].u.periodic.custom_len * 2; + std::stringstream ss; + ss << " "; + for (int i = 0; i < numBytes; i++) { + ss << std::uppercase << std::setfill('0') << std::setw(2) << std::hex + << (uint16_t)(*(reinterpret_cast( + mFfEffectsDual[effectId].u.periodic.custom_data) + + i)) + << " "; + } + dprintf(fd, "\t%d\t%d\t{%s}\t%u\t%X\n", mFfEffectsDual[effectId].id, numBytes, + ss.str().c_str(), mFfEffectsDual[effectId].replay.length, + mFfEffectsDual[effectId].trigger.button); + } } - dprintf(fd, "\n"); dprintf(fd, "\n"); - mHwApi->debug(fd); + mHwApiDef->debug(fd); dprintf(fd, "\n"); - mHwCal->debug(fd); + mHwCalDef->debug(fd); + + if (mIsDual) { + mHwApiDual->debug(fd); + dprintf(fd, "\n"); + mHwCalDual->debug(fd); + } fsync(fd); return STATUS_OK; @@ -1148,7 +1395,7 @@ bool Vibrator::hasHapticAlsaDevice() { // constructor is too early in the boot process and the pcm file contents // are empty. Hence we make the call here once only right before we need to. if (!mConfigHapticAlsaDeviceDone) { - if (mHwApi->getHapticAlsaDevice(&mCard, &mDevice)) { + if (mHwApiDef->getHapticAlsaDevice(&mCard, &mDevice)) { mHasHapticAlsaDevice = true; mConfigHapticAlsaDeviceDone = true; } else { @@ -1260,6 +1507,10 @@ ndk::ScopedAStatus Vibrator::getCompoundDetails(Effect effect, EffectStrength st } *outTimeMs = timeMs; + mFfEffects[WAVEFORM_COMPOSE].replay.length = static_cast(timeMs); + if (mIsDual) { + mFfEffectsDual[WAVEFORM_COMPOSE].replay.length = static_cast(timeMs); + } return ndk::ScopedAStatus::ok(); } @@ -1356,26 +1607,55 @@ ndk::ScopedAStatus Vibrator::performEffect(uint32_t effectIndex, uint32_t volLev } void Vibrator::waitForComplete(std::shared_ptr &&callback) { - ALOGD("Callback status in waitForComplete(): mSync: %d, callBack: %d", isSynced(), + ALOGD("waitForComplete: Callback status in waitForComplete(): callBack: %d", (callback != nullptr)); - if (!mHwApi->pollVibeState(VIBE_STATE_HAPTIC, - (mSyncedCallback) ? POLLING_TIMEOUT_IN_SYNC : POLLING_TIMEOUT)) { - ALOGV("Fail to get state \"Haptic\""); + // Bypass checking flip part's haptic state + if (!mHwApiDef->pollVibeState(VIBE_STATE_HAPTIC, POLLING_TIMEOUT)) { + ALOGD("Failed to get state \"Haptic\""); } - mHwApi->pollVibeState(VIBE_STATE_STOPPED); + mHwApiDef->pollVibeState(VIBE_STATE_STOPPED); + // Check flip's state after base was done + if (mIsDual) { + mHwApiDual->pollVibeState(VIBE_STATE_STOPPED); + } + ALOGD("waitForComplete: get STOP"); { const std::scoped_lock lock(mActiveId_mutex); - if ((mActiveId >= WAVEFORM_MAX_PHYSICAL_INDEX) && - (!mHwApi->eraseOwtEffect(mInputFd, mActiveId, &mFfEffects))) { - ALOGE("Failed to clean up the composed effect %d", mActiveId); - } - if (mActiveId >= 0) { - mHwApi->clearTrigBtn(mInputFd, &mFfEffects[mActiveId], mActiveId); - mActiveId = -1; + if (mActiveId >= WAVEFORM_MAX_PHYSICAL_INDEX) { + if (!mHwApiDef->eraseOwtEffect(mInputFd, mActiveId, &mFfEffects)) { + ALOGE("Failed to clean up the composed effect %d", mActiveId); + } + if (mIsDual && + (!mHwApiDual->eraseOwtEffect(mInputFdDual, mActiveId, &mFfEffectsDual))) { + ALOGE("Failed to clean up flip's composed effect %d", mActiveId); + } } else { - ALOGV("waitForComplete: Vibrator is already off"); + ALOGD("waitForComplete: Vibrator is already off"); + } + mActiveId = -1; + if (mGPIOStatus && !mHwGPIO->setGPIOOutput(false)) { + ALOGE("waitForComplete: Failed to reset GPIO(%d): %s", errno, strerror(errno)); + } + // Do waveform number checking + uint32_t effectCount = WAVEFORM_MAX_PHYSICAL_INDEX; + mHwApiDef->getEffectCount(&effectCount); + if (effectCount > WAVEFORM_MAX_PHYSICAL_INDEX) { + // Forcibly clean all OWT waveforms + if (!mHwApiDef->eraseOwtEffect(mInputFd, WAVEFORM_MAX_INDEX, &mFfEffects)) { + ALOGE("Failed to clean up all base's composed effect"); + } + } + + if (mIsDual) { + // Forcibly clean all OWT waveforms + effectCount = WAVEFORM_MAX_PHYSICAL_INDEX; + mHwApiDual->getEffectCount(&effectCount); + if ((effectCount > WAVEFORM_MAX_PHYSICAL_INDEX) && + (!mHwApiDual->eraseOwtEffect(mInputFdDual, WAVEFORM_MAX_INDEX, &mFfEffectsDual))) { + ALOGE("Failed to clean up all flip's composed effect"); + } } } @@ -1385,14 +1665,7 @@ void Vibrator::waitForComplete(std::shared_ptr &&callback) { ALOGE("Failed completion callback: %d", ret.getExceptionCode()); } } - if (mSyncedCallback) { - auto ret = mSyncedCallback->onComplete(); - if (!ret.isOk()) { - ALOGE("Failed completion mSyncedCallback: %d", ret.exceptionCode()); - } - mSyncedCallback = nullptr; - } - ALOGV("waitForComplete: Done"); + ALOGD("waitForComplete: Done."); } uint32_t Vibrator::intensityToVolLevel(float intensity, uint32_t effectIndex) { @@ -1425,16 +1698,6 @@ uint32_t Vibrator::intensityToVolLevel(float intensity, uint32_t effectIndex) { return volLevel; } -bool Vibrator::isBusy() { - auto timeout = std::chrono::seconds::zero(); - auto status = mAsyncHandle.wait_for(timeout); - return status != std::future_status::ready; -} - -bool Vibrator::isSynced() { - return (mSyncedCallback != nullptr); -} - } // namespace vibrator } // namespace hardware } // namespace android diff --git a/vibrator/cs40l26/Vibrator.h b/vibrator/cs40l26/Vibrator.h index 578a86a..6a29343 100644 --- a/vibrator/cs40l26/Vibrator.h +++ b/vibrator/cs40l26/Vibrator.h @@ -17,7 +17,6 @@ #include #include -#include #include #include @@ -30,12 +29,22 @@ namespace android { namespace hardware { namespace vibrator { -using ::android::sp; -using ::android::binder::Status; -using ::android::hardware::vibrator::IVibratorSyncCallback; - class Vibrator : public BnVibrator { public: + // APIs for interfacing with the GPIO pin. + class HwGPIO { + public: + virtual ~HwGPIO() = default; + // Get the GPIO pin num and address shift information + virtual bool getGPIO() = 0; + // Init the GPIO function + virtual bool initGPIO() = 0; + // Trigger the GPIO pin to synchronize both vibrators's play + virtual bool setGPIOOutput(bool value) = 0; + // Emit diagnostic information to the given file. + virtual void debug(int fd) = 0; + }; + // APIs for interfacing with the kernel driver. class HwApi { public: @@ -85,8 +94,6 @@ class Vibrator : public BnVibrator { int *status) = 0; // Erase OWT waveform virtual bool eraseOwtEffect(int fd, int8_t effectIndex, std::vector *effect) = 0; - // Erase trigger button information - virtual void clearTrigBtn(int fd, struct ff_effect *effect, int8_t id) = 0; // Emit diagnostic information to the given file. virtual void debug(int fd) = 0; }; @@ -100,6 +107,9 @@ class Vibrator : public BnVibrator { // Obtains the LRA resonant frequency to be used for PWLE playback // and click compensation. virtual bool getF0(std::string *value) = 0; + // Obtains the offset for actuator that will adjust configured F0 to target + // frequency for dual actuators + virtual bool getF0SyncOffset(uint32_t *value) = 0; // Obtains the LRA series resistance to be used for click // compensation. virtual bool getRedc(std::string *value) = 0; @@ -126,7 +136,9 @@ class Vibrator : public BnVibrator { }; public: - Vibrator(std::unique_ptr hwapi, std::unique_ptr hwcal); + Vibrator(std::unique_ptr hwApiDefault, std::unique_ptr hwCalDefault, + std::unique_ptr hwApiDual, std::unique_ptr hwCalDual, + std::unique_ptr hwgpio); // BnVibrator APIs ndk::ScopedAStatus getCapabilities(int32_t *_aidl_return) override; @@ -160,13 +172,11 @@ class Vibrator : public BnVibrator { ndk::ScopedAStatus composePwle(const std::vector &composite, const std::shared_ptr &callback) override; - // BnVibratorSync APIs - Status prepareSynced(const sp &callback); - Status cancelSynced(); - // BnCInterface APIs binder_status_t dump(int fd, const char **args, uint32_t numArgs) override; + static constexpr uint32_t MIN_ON_OFF_INTERVAL_US = 8500; // SVC initialization time + private: ndk::ScopedAStatus on(uint32_t timeoutMs, uint32_t effectIndex, struct dspmem_chunk *ch, const std::shared_ptr &callback); @@ -195,33 +205,37 @@ class Vibrator : public BnVibrator { bool hasHapticAlsaDevice(); bool enableHapticPcmAmp(struct pcm **haptic_pcm, bool enable, int card, int device); - bool isBusy(); - bool isSynced(); - - std::unique_ptr mHwApi; - std::unique_ptr mHwCal; + std::unique_ptr mHwApiDef; + std::unique_ptr mHwCalDef; + std::unique_ptr mHwApiDual; + std::unique_ptr mHwCalDual; + std::unique_ptr mHwGPIO; uint32_t mF0Offset; + uint32_t mF0OffsetDual; std::array mTickEffectVol; std::array mClickEffectVol; std::array mLongEffectVol; std::vector mFfEffects; + std::vector mFfEffectsDual; std::vector mEffectDurations; std::future mAsyncHandle; ::android::base::unique_fd mInputFd; + ::android::base::unique_fd mInputFdDual; int8_t mActiveId{-1}; struct pcm *mHapticPcm; int mCard; int mDevice; bool mHasHapticAlsaDevice{false}; bool mIsUnderExternalControl; - float mLongEffectScale = 1.0; + float mLongEffectScale{1.0}; bool mIsChirpEnabled; uint32_t mSupportedPrimitivesBits = 0x0; std::vector mSupportedPrimitives; + std::vector mPrimitiveMinScale; bool mConfigHapticAlsaDeviceDone{false}; - // prevent concurrent execution of IVibrator and IVibratorSync APIs - sp mSyncedCallback; - std::recursive_mutex mApiMutex; + bool mGPIOStatus; + bool mIsDual{false}; + std::mutex mActiveId_mutex; // protects mActiveId }; } // namespace vibrator diff --git a/vibrator/cs40l26/VibratorManager.cpp b/vibrator/cs40l26/VibratorManager.cpp deleted file mode 100644 index b6c1b48..0000000 --- a/vibrator/cs40l26/VibratorManager.cpp +++ /dev/null @@ -1,217 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "VibratorManager.h" - -#include -#include -#include - -#include - -namespace aidl { -namespace android { -namespace hardware { -namespace vibrator { - -using ::android::sp; -using ::android::binder::Status; -using ::android::hardware::vibrator::BnVibratorSyncCallback; - -class VibratorSyncCallback : public BnVibratorSyncCallback { - public: - Status onComplete() override { - mPromise.set_value(); - return Status::ok(); - } - auto getFuture() { return mPromise.get_future(); } - - private: - std::promise mPromise; -}; - -VibratorManager::VibratorManager(std::unique_ptr hwapi, - const std::vector &&vibrators) - : mHwApi(std::move(hwapi)), mVibrators(std::move(vibrators)), mAsyncHandle(std::async([] {})) { - mGPIOStatus = mHwApi->getGPIO(); -} - -// BnVibratorManager APIs - -ndk::ScopedAStatus VibratorManager::getCapabilities(int32_t *_aidl_return) { - ATRACE_NAME("VibratorManager::getCapabilities"); - int32_t ret = - IVibratorManager::CAP_SYNC | IVibratorManager::CAP_PREPARE_ON | - IVibratorManager::CAP_PREPARE_PERFORM | IVibratorManager::CAP_PREPARE_COMPOSE | - IVibratorManager::CAP_MIXED_TRIGGER_ON | IVibratorManager::CAP_MIXED_TRIGGER_PERFORM | - IVibratorManager::CAP_MIXED_TRIGGER_COMPOSE | IVibratorManager::CAP_TRIGGER_CALLBACK; - - *_aidl_return = ret; - return ndk::ScopedAStatus::ok(); -} - -ndk::ScopedAStatus VibratorManager::getVibratorIds(std::vector *_aidl_return) { - ATRACE_NAME("VibratorManager::getVibratorIds"); - _aidl_return->resize(mVibrators.size()); - std::iota(_aidl_return->begin(), _aidl_return->end(), 0); - return ndk::ScopedAStatus::ok(); -} - -ndk::ScopedAStatus VibratorManager::getVibrator(int vibratorId, - std::shared_ptr *_aidl_return) { - ATRACE_NAME("VibratorManager::getVibrator"); - if (!mGPIOStatus) { - ALOGE("GetVibrator: GPIO status error"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); - } - if (vibratorId >= mVibrators.size()) { - ALOGE("GetVibrator: wrong requested vibrator ID"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); - } - std::tie(*_aidl_return, std::ignore) = mVibrators.at(vibratorId); - return ndk::ScopedAStatus::ok(); -} - -ndk::ScopedAStatus VibratorManager::prepareSynced(const std::vector &ids) { - ATRACE_NAME("VibratorManager::prepareSynced"); - - if (!mGPIOStatus) { - ALOGE("prepareSynced: GPIO status error"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); - } - - if (ids.empty()) { - ALOGE("PrepareSynced: No vibrator could be synced"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); - } - - if (!mSyncContext.empty()) { - ALOGE("PrepareSynced: mSyncContext is not EMPTY!!!"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); - } - if (isBusy()) { - ALOGE("PrepareSynced: IS BUSY!!!"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); - } - - for (auto &id : ids) { - auto &[vib, ext] = mVibrators.at(id); - auto callback = sp::make(); - - if (ext->prepareSynced(callback).isOk()) { - mSyncContext.emplace_back(id, callback->getFuture()); - } else { - cancelSynced(); - ALOGV("prepareSynced: Fail: %d", id); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); - } - } - ALOGV("prepareSynced: Done"); - if (mHwApi->initGPIO()) { - return ndk::ScopedAStatus::ok(); - } else { - ALOGE("PrepareSynced: GPIO status init fail"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); - } -} - -ndk::ScopedAStatus VibratorManager::triggerSynced( - const std::shared_ptr &callback) { - ATRACE_NAME("VibratorManager::triggerSynced"); - ALOGV("TriggerSynced"); - if (isBusy()) { - ALOGE("TriggerSynced isBusy"); - return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE); - } - - mHwApi->setTrigger(true); - - doAsync([=]() { - { - std::shared_lock lock(mContextMutex); - for (auto &[id, future] : mSyncContext) { - future.wait(); - } - } - { - std::unique_lock lock(mContextMutex); - mSyncContext.clear(); - } - if (callback) { - auto ret = callback->onComplete(); - if (!ret.isOk()) { - ALOGE("Failed completion callback: %d", ret.getExceptionCode()); - } - ALOGD("Callback in MANAGER onComplete()"); - } - }); - - return ndk::ScopedAStatus::ok(); -} - -ndk::ScopedAStatus VibratorManager::cancelSynced() { - ATRACE_NAME("VibratorManager::cancelSynced"); - - ALOGV("Do cancelSynced"); - mHwApi->setTrigger(false); - { - std::shared_lock lock(mContextMutex); - for (auto &[id, future] : mSyncContext) { - auto &[vib, ext] = mVibrators.at(id); - ext->cancelSynced(); - } - } - { - std::unique_lock lock(mContextMutex); - mSyncContext.clear(); - } - mAsyncHandle.wait(); - - return ndk::ScopedAStatus::ok(); -} - -// BnCInterface APIs - -binder_status_t VibratorManager::dump(int fd, const char ** /*args*/, uint32_t /*numArgs*/) { - if (fd < 0) { - ALOGE("Called debug() with invalid fd."); - return STATUS_OK; - } - - mHwApi->debug(fd); - - fsync(fd); - - return STATUS_OK; -} - -// Private Methods - -template -void VibratorManager::doAsync(Func &&func, Args &&...args) { - mAsyncHandle = std::async(func, std::forward(args)...); -} - -bool VibratorManager::isBusy() { - auto timeout = std::chrono::seconds::zero(); - auto status = mAsyncHandle.wait_for(timeout); - return status != std::future_status::ready; -} - -} // namespace vibrator -} // namespace hardware -} // namespace android -} // namespace aidl diff --git a/vibrator/cs40l26/VibratorManager.h b/vibrator/cs40l26/VibratorManager.h deleted file mode 100644 index e518a20..0000000 --- a/vibrator/cs40l26/VibratorManager.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#pragma once - -#include -#include -#include - -#include -#include - -namespace aidl { -namespace android { -namespace hardware { -namespace vibrator { - -using ::android::hardware::vibrator::IVibratorSync; - -class VibratorManager : public BnVibratorManager { - public: - // APIs for interfacing with the kernel driver. - class HwApi { - public: - virtual ~HwApi() = default; - // Get the GPIO pin num and address shift information - virtual bool getGPIO() = 0; - // Init the GPIO function - virtual bool initGPIO() = 0; - // Trigger activation of the synchronized vibrators. - virtual bool setTrigger(bool value) = 0; - // Emit diagnostic information to the given file. - virtual void debug(int fd) = 0; - }; - - using VibratorTuple = std::tuple, ::android::sp>; - - public: - VibratorManager(std::unique_ptr hwapi, const std::vector &&vibrators); - - // BnVibratorManager APIs - ndk::ScopedAStatus getCapabilities(int32_t *_aidl_return); - ndk::ScopedAStatus getVibratorIds(std::vector *_aidl_return); - ndk::ScopedAStatus getVibrator(int vibratorId, std::shared_ptr *_aidl_return); - ndk::ScopedAStatus prepareSynced(const std::vector &ids) override; - ndk::ScopedAStatus triggerSynced(const std::shared_ptr &callback) override; - ndk::ScopedAStatus cancelSynced() override; - - // BnCInterface APIs - binder_status_t dump(int fd, const char **args, uint32_t numArgs) override; - - private: - template - void doAsync(Func &&func, Args &&...args); - bool isBusy(); - - private: - using SyncContext = std::tuple>; - - const std::unique_ptr mHwApi; - const std::vector mVibrators; - std::vector mSyncContext; - std::shared_mutex mContextMutex; - std::future mAsyncHandle; - bool mGPIOStatus; -}; - -} // namespace vibrator -} // namespace hardware -} // namespace android -} // namespace aidl diff --git a/vibrator/cs40l26/VibratorSync.cpp b/vibrator/cs40l26/VibratorSync.cpp deleted file mode 100644 index 437ee01..0000000 --- a/vibrator/cs40l26/VibratorSync.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "VibratorSync.h" - -namespace android { -namespace hardware { -namespace vibrator { - -VibratorSync::VibratorSync(std::shared_ptr vibrator) : mVibrator(vibrator) { - ALOGE("VibratorSync constructor"); -} - -// BnVibratorSync APIs - -binder::Status VibratorSync::prepareSynced(const sp &callback) { - return mVibrator->prepareSynced(callback); -} - -binder::Status VibratorSync::cancelSynced() { - return mVibrator->cancelSynced(); -} - -} // namespace vibrator -} // namespace hardware -} // namespace android diff --git a/vibrator/cs40l26/VibratorSync.h b/vibrator/cs40l26/VibratorSync.h deleted file mode 100644 index fd9195a..0000000 --- a/vibrator/cs40l26/VibratorSync.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#pragma once - -#include - -#include -#include -#include - -#include "Vibrator.h" - -namespace android { -namespace hardware { -namespace vibrator { - -using ::aidl::android::hardware::vibrator::Vibrator; - -class VibratorSync : public BnVibratorSync { - public: - VibratorSync(std::shared_ptr vibrator); - - // BnVibratorSync APIs - binder::Status prepareSynced(const android::sp &callback) override; - binder::Status cancelSynced() override; - - private: - std::shared_ptr mVibrator; -}; - -} // namespace vibrator -} // namespace hardware -} // namespace android diff --git a/vibrator/cs40l26/aidl/Android.bp b/vibrator/cs40l26/aidl/Android.bp deleted file mode 100644 index 8876278..0000000 --- a/vibrator/cs40l26/aidl/Android.bp +++ /dev/null @@ -1,22 +0,0 @@ -package { - // See: http://go/android-license-faq - // A large-scale-change added 'default_applicable_licenses' to import - // all of the 'license_kinds' from "device_google_felix_license" - // to get the below license kinds: - // SPDX-license-identifier-Apache-2.0 - default_applicable_licenses: ["device_google_felix_license"], -} - -aidl_interface { - name: "android.hardware.vibrator.cs40l26-private", - srcs: [ - "android/hardware/vibrator/*.aidl" - ], - backend: { - java: { - enabled: false, - }, - }, - unstable: true, - vendor_available: true, -} diff --git a/vibrator/cs40l26/aidl/android/hardware/vibrator/IVibratorSync.aidl b/vibrator/cs40l26/aidl/android/hardware/vibrator/IVibratorSync.aidl deleted file mode 100644 index 5371b13..0000000 --- a/vibrator/cs40l26/aidl/android/hardware/vibrator/IVibratorSync.aidl +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.vibrator; - -import android.hardware.vibrator.IVibratorSyncCallback; - -interface IVibratorSync { - void prepareSynced(in IVibratorSyncCallback callback); - void cancelSynced(); -} diff --git a/vibrator/cs40l26/aidl/android/hardware/vibrator/IVibratorSyncCallback.aidl b/vibrator/cs40l26/aidl/android/hardware/vibrator/IVibratorSyncCallback.aidl deleted file mode 100644 index 5281229..0000000 --- a/vibrator/cs40l26/aidl/android/hardware/vibrator/IVibratorSyncCallback.aidl +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.vibrator; - -interface IVibratorSyncCallback { - oneway void onComplete(); -} diff --git a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-dual-private.rc b/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-dual-private.rc deleted file mode 100644 index 07a43ff..0000000 --- a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-dual-private.rc +++ /dev/null @@ -1,47 +0,0 @@ -on property:vendor.all.modules.ready=1 - wait /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/redc_cal_time_ms - - mkdir /mnt/vendor/persist/haptics 0770 system system - chmod 770 /mnt/vendor/persist/haptics - chmod 440 /mnt/vendor/persist/haptics/cs40l26_dual.cal - chown system system /mnt/vendor/persist/haptics - chown system system /mnt/vendor/persist/haptics/cs40l26_dual.cal - - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/f0_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/q_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/redc_stored - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/vibe_state - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/num_waves - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/f0_offset - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/owt_free_space - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/f0_comp_enable - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/redc_comp_enable - chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/delay_before_stop_playback_us - - enable vendor.vibrator.cs40l26-dual - -service vendor.vibrator.cs40l26-dual /vendor/bin/hw/android.hardware.vibrator-service.cs40l26-dual-private - class hal - user system - group system input - - setenv INPUT_EVENT_NAME cs40l26_dual_input - setenv INPUT_EVENT_PATH /dev/input/event* - setenv PROPERTY_PREFIX ro.vendor.vibrator.hal. - setenv CALIBRATION_FILEPATH /mnt/vendor/persist/haptics/cs40l26_dual.cal - - setenv HWAPI_PATH_PREFIX /sys/bus/i2c/devices/i2c-cs40l26a-dual/ - setenv HWAPI_DEBUG_PATHS " - calibration/f0_stored - calibration/redc_stored - calibration/q_stored - default/vibe_state - default/num_waves - default/f0_offset - default/owt_free_space - default/f0_comp_enable - default/redc_comp_enable - default/delay_before_stop_playback_us - " - - disabled diff --git a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-dual-private.xml b/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-dual-private.xml deleted file mode 100644 index 1bd3e7e..0000000 --- a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-dual-private.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - android.hardware.vibrator - 2 - IVibrator/dual - - diff --git a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-private.rc b/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-private.rc index bbc0135..2799cdc 100644 --- a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-private.rc +++ b/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-private.rc @@ -4,19 +4,32 @@ on property:vendor.all.modules.ready=1 mkdir /mnt/vendor/persist/haptics 0770 system system chmod 770 /mnt/vendor/persist/haptics chmod 440 /mnt/vendor/persist/haptics/cs40l26.cal + chmod 440 /mnt/vendor/persist/haptics/cs40l26_dual.cal chown system system /mnt/vendor/persist/haptics chown system system /mnt/vendor/persist/haptics/cs40l26.cal + chown system system /mnt/vendor/persist/haptics/cs40l26_dual.cal chown system system /sys/bus/i2c/devices/i2c-cs40l26a/calibration/f0_stored + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/f0_stored chown system system /sys/bus/i2c/devices/i2c-cs40l26a/calibration/q_stored + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/q_stored chown system system /sys/bus/i2c/devices/i2c-cs40l26a/calibration/redc_stored + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/calibration/redc_stored chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/vibe_state + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/vibe_state chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/num_waves + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/num_waves chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/f0_offset + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/f0_offset chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/owt_free_space + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/owt_free_space chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/f0_comp_enable + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/f0_comp_enable chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/redc_comp_enable + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/redc_comp_enable chown system system /sys/bus/i2c/devices/i2c-cs40l26a/default/delay_before_stop_playback_us + chown system system /sys/bus/i2c/devices/i2c-cs40l26a-dual/default/delay_before_stop_playback_us + chown system system /dev/gpiochip44 enable vendor.vibrator.cs40l26 @@ -25,12 +38,16 @@ service vendor.vibrator.cs40l26 /vendor/bin/hw/android.hardware.vibrator-service user system group system input + setenv HAPTIC_NAME Haptics setenv INPUT_EVENT_NAME cs40l26_input + setenv INPUT_EVENT_NAME_DUAL cs40l26_dual_input setenv INPUT_EVENT_PATH /dev/input/event* setenv PROPERTY_PREFIX ro.vendor.vibrator.hal. setenv CALIBRATION_FILEPATH /mnt/vendor/persist/haptics/cs40l26.cal + setenv CALIBRATION_FILEPATH_DUAL /mnt/vendor/persist/haptics/cs40l26_dual.cal setenv HWAPI_PATH_PREFIX /sys/bus/i2c/devices/i2c-cs40l26a/ + setenv HWAPI_PATH_PREFIX_DUAL /sys/bus/i2c/devices/i2c-cs40l26a-dual/ setenv HWAPI_DEBUG_PATHS " calibration/f0_stored calibration/redc_stored @@ -45,3 +62,4 @@ service vendor.vibrator.cs40l26 /vendor/bin/hw/android.hardware.vibrator-service " disabled + diff --git a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-stereo-private.rc b/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-stereo-private.rc deleted file mode 100644 index 01642dd..0000000 --- a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-stereo-private.rc +++ /dev/null @@ -1,14 +0,0 @@ -on property:vendor.all.modules.ready=1 - wait_for_prop init.svc.vendor.vibrator.cs40l26 running - wait_for_prop init.svc.vendor.vibrator.cs40l26-dual running - - enable vendor.vibrator.cs40l26-stereo - -service vendor.vibrator.cs40l26-stereo /vendor/bin/hw/android.hardware.vibrator-service.cs40l26-stereo-private - class hal - user root - group root - - setenv PROPERTY_PREFIX ro.vendor.vibrator.hal. - - disabled diff --git a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-stereo-private.xml b/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-stereo-private.xml deleted file mode 100644 index 9056bd0..0000000 --- a/vibrator/cs40l26/android.hardware.vibrator-service.cs40l26-stereo-private.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - android.hardware.vibrator - 2 - IVibratorManager/default - - diff --git a/vibrator/cs40l26/device-stereo.mk b/vibrator/cs40l26/device-stereo.mk deleted file mode 100644 index 171d204..0000000 --- a/vibrator/cs40l26/device-stereo.mk +++ /dev/null @@ -1,7 +0,0 @@ -PRODUCT_PACKAGES += \ - android.hardware.vibrator-service.cs40l26-private \ - android.hardware.vibrator-service.cs40l26-dual-private \ - android.hardware.vibrator-service.cs40l26-stereo-private \ - -BOARD_SEPOLICY_DIRS += \ - hardware/google/pixel-sepolicy/vibrator/cs40l26 \ diff --git a/vibrator/cs40l26/device.mk b/vibrator/cs40l26/device.mk index fe4bbc8..2c4b2e2 100644 --- a/vibrator/cs40l26/device.mk +++ b/vibrator/cs40l26/device.mk @@ -2,5 +2,5 @@ PRODUCT_PACKAGES += \ android.hardware.vibrator-service.cs40l26-private BOARD_SEPOLICY_DIRS += \ - device/google/felix-sepolicy/vibrator/common \ - device/google/felix-sepolicy/vibrator/cs40l26 + hardware/google/pixel-sepolicy/vibrator/common \ + hardware/google/pixel-sepolicy/vibrator/cs40l26 diff --git a/vibrator/cs40l26/service-stereo.cpp b/vibrator/cs40l26/service-stereo.cpp deleted file mode 100644 index cd05035..0000000 --- a/vibrator/cs40l26/service-stereo.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include -#include -#include -#include -#include - -#include "VibMgrHwApi.h" -#include "VibratorManager.h" - -using ::aidl::android::hardware::vibrator::IVibrator; -using ::aidl::android::hardware::vibrator::VibMgrHwApi; -using ::aidl::android::hardware::vibrator::VibratorManager; -using ::android::ProcessState; -using ::android::String16; -using ::android::waitForService; -using ::android::hardware::vibrator::IVibratorSync; - -#if !defined(VIBRATOR_NAME) -#define VIBRATOR_NAME "default" -#endif - -using ndk::SharedRefBase; -using ndk::SpAIBinder; - -int main() { - auto hwapi = VibMgrHwApi::Create(); - if (!hwapi) { - return EXIT_FAILURE; - } - - const std::string vibratorInstances[] = { - "default", - "dual", - }; - std::vector vibrators; - - ProcessState::initWithDriver("/dev/vndbinder"); - - for (auto &instance : vibratorInstances) { - const auto svcName = std::string() + IVibrator::descriptor + "/" + instance; - const auto extName = std::stringstream() << IVibratorSync::descriptor << "/" << instance; - - SpAIBinder svcBinder; - svcBinder = SpAIBinder(AServiceManager_getService(svcName.c_str())); - auto svc = IVibrator::fromBinder(svcBinder); - - auto ext = waitForService(String16(extName.str().c_str())); - - vibrators.emplace_back(svc, ext); - } - - auto mgr = ndk::SharedRefBase::make(std::move(hwapi), std::move(vibrators)); - binder_status_t status; - - const std::string mgrInst = std::string() + VibratorManager::descriptor + "/" VIBRATOR_NAME; - status = AServiceManager_addService(mgr->asBinder().get(), mgrInst.c_str()); - LOG_ALWAYS_FATAL_IF(status != STATUS_OK); - - // Only used for callbacks - ProcessState::self()->setThreadPoolMaxThreadCount(1); - ProcessState::self()->startThreadPool(); - - ABinderProcess_setThreadPoolMaxThreadCount(0); - ABinderProcess_joinThreadPool(); - - return EXIT_FAILURE; // should not reach -} diff --git a/vibrator/cs40l26/service.cpp b/vibrator/cs40l26/service.cpp index fd76b19..605de43 100644 --- a/vibrator/cs40l26/service.cpp +++ b/vibrator/cs40l26/service.cpp @@ -20,34 +20,60 @@ #include #include "Hardware.h" +#include "VibMgrHwApi.h" #include "Vibrator.h" -#include "VibratorSync.h" using ::aidl::android::hardware::vibrator::HwApi; using ::aidl::android::hardware::vibrator::HwCal; +using ::aidl::android::hardware::vibrator::VibMgrHwApi; using ::aidl::android::hardware::vibrator::Vibrator; using ::android::defaultServiceManager; using ::android::ProcessState; using ::android::sp; using ::android::String16; -using ::android::hardware::vibrator::VibratorSync; #if !defined(VIBRATOR_NAME) #define VIBRATOR_NAME "default" #endif int main() { - auto svc = ndk::SharedRefBase::make(std::make_unique(), - std::make_unique()); + const char *hwApiPathPrefixDual = std::getenv("HWAPI_PATH_PREFIX_DUAL"); + const char *calFilePath = std::getenv("CALIBRATION_FILEPATH"); + const char *calFilePathDual = std::getenv("CALIBRATION_FILEPATH_DUAL"); + + auto hwgpio = VibMgrHwApi::Create(); + if (!hwgpio) { + return EXIT_FAILURE; + } + auto hwApiDef = HwApi::Create(); + if (!hwApiDef) { + return EXIT_FAILURE; + } + auto hwCalDef = HwCal::Create(); + if (!hwCalDef) { + return EXIT_FAILURE; + } + + std::shared_ptr svc; + // Synchronize base and flip actuator F0. + // Replace dual cal file path to base and copy the base to dual's path. + if ((hwApiPathPrefixDual != nullptr) && !setenv("HWAPI_PATH_PREFIX", hwApiPathPrefixDual, 1) && + (calFilePathDual != nullptr) && !setenv("CALIBRATION_FILEPATH", calFilePathDual, 1) && + !setenv("CALIBRATION_FILEPATH_DUAL", calFilePath, 1)) { + ALOGD("Init dual HAL: %s", std::getenv("HWAPI_PATH_PREFIX")); + svc = ndk::SharedRefBase::make(std::move(hwApiDef), std::move(hwCalDef), + std::make_unique(), + std::make_unique(), std::move(hwgpio)); + } else { + ALOGD("Failed to init dual HAL"); + svc = ndk::SharedRefBase::make(std::move(hwApiDef), std::move(hwCalDef), nullptr, + nullptr, std::move(hwgpio)); + } + const auto svcName = std::string() + svc->descriptor + "/" + VIBRATOR_NAME; - auto ext = sp::make(svc); - const auto extName = std::stringstream() << ext->descriptor << "/" << VIBRATOR_NAME; - ProcessState::initWithDriver("/dev/vndbinder"); - defaultServiceManager()->addService(String16(extName.str().c_str()), ext); - auto svcBinder = svc->asBinder(); binder_status_t status = AServiceManager_addService(svcBinder.get(), svcName.c_str()); LOG_ALWAYS_FATAL_IF(status != STATUS_OK); diff --git a/vibrator/cs40l26/tests/Android.bp b/vibrator/cs40l26/tests/Android.bp index 6061ce8..48baa90 100644 --- a/vibrator/cs40l26/tests/Android.bp +++ b/vibrator/cs40l26/tests/Android.bp @@ -22,8 +22,8 @@ cc_test { defaults: ["VibratorHalCs40l26TestDefaultsPrivate"], srcs: [ "test-hwcal.cpp", - "test-hwapi.cpp", - "test-vibrator.cpp", + "test-hwapi.cpp", + "test-vibrator.cpp", ], static_libs: [ "libc++fs", diff --git a/vibrator/cs40l26/tests/mocks.h b/vibrator/cs40l26/tests/mocks.h index e497f2a..c85b0b5 100644 --- a/vibrator/cs40l26/tests/mocks.h +++ b/vibrator/cs40l26/tests/mocks.h @@ -20,6 +20,17 @@ #include "Vibrator.h" +class MockGPIO : public ::aidl::android::hardware::vibrator::Vibrator::HwGPIO { + public: + MOCK_METHOD0(destructor, void()); + MOCK_METHOD0(getGPIO, bool()); + MOCK_METHOD0(initGPIO, bool()); + MOCK_METHOD1(setGPIOOutput, bool(bool value)); + MOCK_METHOD1(debug, void(int fd)); + + ~MockGPIO() override { destructor(); }; +}; + class MockApi : public ::aidl::android::hardware::vibrator::Vibrator::HwApi { public: MOCK_METHOD0(destructor, void()); @@ -43,7 +54,6 @@ class MockApi : public ::aidl::android::hardware::vibrator::Vibrator::HwApi { bool(int fd, uint8_t *owtData, uint32_t numBytes, struct ff_effect *effect, uint32_t *outEffectIndex, int *status)); MOCK_METHOD3(eraseOwtEffect, bool(int fd, int8_t effectIndex, std::vector *effect)); - MOCK_METHOD3(clearTrigBtn, void(int fd, struct ff_effect *effect, int8_t index)); MOCK_METHOD1(debug, void(int fd)); ~MockApi() override { destructor(); }; @@ -54,6 +64,7 @@ class MockCal : public ::aidl::android::hardware::vibrator::Vibrator::HwCal { MOCK_METHOD0(destructor, void()); MOCK_METHOD1(getVersion, bool(uint32_t *value)); MOCK_METHOD1(getF0, bool(std::string &value)); + MOCK_METHOD1(getF0SyncOffset, bool(uint32_t *value)); MOCK_METHOD1(getRedc, bool(std::string &value)); MOCK_METHOD1(getQ, bool(std::string &value)); MOCK_METHOD1(getLongFrequencyShift, bool(int32_t *value)); diff --git a/vibrator/cs40l26/tests/test-vibrator.cpp b/vibrator/cs40l26/tests/test-vibrator.cpp index a8bedd5..3ea6bda 100644 --- a/vibrator/cs40l26/tests/test-vibrator.cpp +++ b/vibrator/cs40l26/tests/test-vibrator.cpp @@ -203,20 +203,24 @@ class VibratorTest : public Test { setenv("INPUT_EVENT_NAME", "CS40L26TestSuite", true); std::unique_ptr mockapi; std::unique_ptr mockcal; + std::unique_ptr mockgpio; - createMock(&mockapi, &mockcal); - createVibrator(std::move(mockapi), std::move(mockcal)); + createMock(&mockapi, &mockcal, &mockgpio); + createVibrator(std::move(mockapi), std::move(mockcal), std::move(mockgpio)); } void TearDown() override { deleteVibrator(); } protected: - void createMock(std::unique_ptr *mockapi, std::unique_ptr *mockcal) { + void createMock(std::unique_ptr *mockapi, std::unique_ptr *mockcal, + std::unique_ptr *mockgpio) { *mockapi = std::make_unique(); *mockcal = std::make_unique(); + *mockgpio = std::make_unique(); mMockApi = mockapi->get(); mMockCal = mockcal->get(); + mMockGpio = mockgpio->get(); ON_CALL(*mMockApi, destructor()).WillByDefault(Assign(&mMockApi, nullptr)); @@ -242,15 +246,20 @@ class VibratorTest : public Test { ON_CALL(*mMockCal, getLongVolLevels(_)) .WillByDefault(DoAll(SetArgPointee<0>(V_LONG_DEFAULT), Return(true))); + ON_CALL(*mMockGpio, destructor()).WillByDefault(Assign(&mMockGpio, nullptr)); + relaxMock(false); } void createVibrator(std::unique_ptr mockapi, std::unique_ptr mockcal, - bool relaxed = true) { + std::unique_ptr mockgpio, bool relaxed = true) { if (relaxed) { relaxMock(true); } - mVibrator = ndk::SharedRefBase::make(std::move(mockapi), std::move(mockcal)); + // TODO(b/261415845): Need to add dual parameters to test the vibrator HAL's code in haptics + // mock test + mVibrator = ndk::SharedRefBase::make(std::move(mockapi), std::move(mockcal), + nullptr, nullptr, std::move(mockgpio)); if (relaxed) { relaxMock(false); } @@ -306,6 +315,7 @@ class VibratorTest : public Test { protected: MockApi *mMockApi; MockCal *mMockCal; + MockGPIO *mMockGpio; std::shared_ptr mVibrator; uint32_t mEffectIndex; }; @@ -313,6 +323,7 @@ class VibratorTest : public Test { TEST_F(VibratorTest, Constructor) { std::unique_ptr mockapi; std::unique_ptr mockcal; + std::unique_ptr mockgpio; std::string f0Val = std::to_string(std::rand()); std::string redcVal = std::to_string(std::rand()); std::string qVal = std::to_string(std::rand()); @@ -323,10 +334,11 @@ TEST_F(VibratorTest, Constructor) { EXPECT_CALL(*mMockApi, destructor()).WillOnce(DoDefault()); EXPECT_CALL(*mMockCal, destructor()).WillOnce(DoDefault()); + EXPECT_CALL(*mMockGpio, destructor()).WillOnce(DoDefault()); deleteVibrator(false); - createMock(&mockapi, &mockcal); + createMock(&mockapi, &mockcal, &mockgpio); EXPECT_CALL(*mMockCal, getF0(_)) .InSequence(f0Seq) @@ -363,7 +375,7 @@ TEST_F(VibratorTest, Constructor) { .WillOnce(DoAll(SetArgPointee<0>(supportedPrimitivesBits), Return(true))); EXPECT_CALL(*mMockApi, setMinOnOffInterval(MIN_ON_OFF_INTERVAL_US)).WillOnce(Return(true)); - createVibrator(std::move(mockapi), std::move(mockcal), false); + createVibrator(std::move(mockapi), std::move(mockcal), std::move(mockgpio), false); } TEST_F(VibratorTest, on) { From 5ad7d04de80d8801f80280c4959bd935f73286b8 Mon Sep 17 00:00:00 2001 From: MingChe Date: Mon, 6 Feb 2023 11:31:04 +0000 Subject: [PATCH 040/117] Remove the property for EXIF redaction. Bug: 267970295 Test: check SELINUX Change-Id: I0ec02d6942cf40b5905dd05f5b609113b46063e2 --- device-felix.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/device-felix.mk b/device-felix.mk index c00832a..7f3faa8 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -287,10 +287,6 @@ DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/felix/device_framework PRODUCT_COPY_FILES += \ frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml -# Control camera exif model/make redaction -PRODUCT_PROPERTY_OVERRIDES += \ - persist.camera.redact_exif=1 - # Increase thread priority for nodes stop PRODUCT_VENDOR_PROPERTIES += \ persist.vendor.camera.increase_thread_priority_nodes_stop=true From 9e2ba30fd6f3c44dc8d05371051f8e1e9d07585a Mon Sep 17 00:00:00 2001 From: Diya Bera Date: Thu, 9 Feb 2023 22:52:01 +0000 Subject: [PATCH 041/117] Revert "fingerprint: Enable fingerprint status flag" Revert submission 21225219-cherrypick-power_press-rlojkm8vs2 Reason for revert: Upcoming alternate solution Reverted changes: /q/submissionid:21225219-cherrypick-power_press-rlojkm8vs2 Change-Id: I657af22588d5244a009be077e7495aef130e7e00 --- fingerprint_config.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/fingerprint_config.mk b/fingerprint_config.mk index 2255f3b..06eca62 100644 --- a/fingerprint_config.mk +++ b/fingerprint_config.mk @@ -6,5 +6,4 @@ else # Non factory build, use fingerprint AIDL version GOOGLE_CONFIG_POWER_NODE=/dev/input/event1 GOOGLE_CONFIG_DP_COUNT=2 -GOOGLE_CONFIG_FP_STATUS=1 endif From f0d036fa967c2eabcd41d7ba34a8a1e9dcb64304 Mon Sep 17 00:00:00 2001 From: Tai Kuo Date: Wed, 22 Feb 2023 21:51:33 +0800 Subject: [PATCH 042/117] haptics: update hapitcs sink and slot setting Bug: 270023634 Test: trigger audio coupled haptics via sound picker app Change-Id: Ibaab0f2bdb3628bfe7dd45adefd102d882473fef --- audio/felix/config/mixer_paths.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/audio/felix/config/mixer_paths.xml b/audio/felix/config/mixer_paths.xml index ca5f366..86ed950 100644 --- a/audio/felix/config/mixer_paths.xml +++ b/audio/felix/config/mixer_paths.xml @@ -40,8 +40,8 @@ - - + + From 4ff59efecd8be0b9c2b0f40cb1a643ff3608d2f6 Mon Sep 17 00:00:00 2001 From: Kai Shi Date: Thu, 23 Feb 2023 11:22:34 -0800 Subject: [PATCH 043/117] Enable country code update during setup wizard Bug: 267944733 Test: manual with various network Change-Id: I3ed9becb9d5086ff49f1ea321296bd0f2ee18667 --- rro_overlays/WifiOverlay/res/values/config.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index 9614f5c..c7337a6 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -156,4 +156,9 @@ true + + + true From 95cdcd76e26ff09893e79f370412e5e78c12e622 Mon Sep 17 00:00:00 2001 From: Oscar Shu Date: Fri, 24 Feb 2023 00:55:53 +0000 Subject: [PATCH 044/117] Update overlay to support MAC randomization on open SSIDs Bug: 270441948 Test: compile Change-Id: If5c2c014ae2a8b91c268b093c21942bdb92cc7ea --- rro_overlays/WifiOverlay/res/values/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index 9614f5c..13a438c 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -56,6 +56,7 @@ true + true true From e4fcc3d194a5ff93b79e97f87e1d792f77910643 Mon Sep 17 00:00:00 2001 From: millerliang Date: Fri, 10 Feb 2023 18:02:02 +0800 Subject: [PATCH 045/117] audio:enable mmap and raw on BT AoC can support mmap on BT both playback and recording after gpar/322484. Bug: 232205959 Test: OboeTester Signed-off-by: millerliang Change-Id: I95f6d500c259a14e5da23397c799b339d8128b36 --- .../felix/config/audio_policy_configuration.xml | 16 ++++++++-------- ...licy_configuration_a2dp_offload_disabled.xml | 10 +++++----- ...olicy_configuration_bluetooth_legacy_hal.xml | 10 +++++----- audio/felix/config/mixer_paths.xml | 17 +++++++++++++++++ 4 files changed, 35 insertions(+), 18 deletions(-) diff --git a/audio/felix/config/audio_policy_configuration.xml b/audio/felix/config/audio_policy_configuration.xml index 41b91bb..720d8db 100644 --- a/audio/felix/config/audio_policy_configuration.xml +++ b/audio/felix/config/audio_policy_configuration.xml @@ -183,21 +183,21 @@ + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> @@ -208,9 +208,9 @@ + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> diff --git a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml index b4eaf0c..eb8560c 100644 --- a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml +++ b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml @@ -173,11 +173,11 @@ + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> @@ -188,9 +188,9 @@ + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> diff --git a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml index 7fd7f28..1863d5a 100644 --- a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml +++ b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml @@ -169,11 +169,11 @@ + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> + sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,raw,mmap_no_irq_out"/> @@ -184,9 +184,9 @@ + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic"/> diff --git a/audio/felix/config/mixer_paths.xml b/audio/felix/config/mixer_paths.xml index ca5f366..35f399f 100644 --- a/audio/felix/config/mixer_paths.xml +++ b/audio/felix/config/mixer_paths.xml @@ -175,6 +175,7 @@ + @@ -409,6 +410,10 @@ + + + + @@ -423,6 +428,10 @@ + + + + @@ -620,6 +629,10 @@ + + + + @@ -628,6 +641,10 @@ + + + + > From ea096c28156546abc6b5bd59e69c0b602fe41a24 Mon Sep 17 00:00:00 2001 From: Diya Bera Date: Tue, 14 Feb 2023 18:47:56 +0000 Subject: [PATCH 046/117] Revert^2 "fingerprint: Enable fingerprint status flag" 9e2ba30fd6f3c44dc8d05371051f8e1e9d07585a Bug: 269353194 Change-Id: Iacae31a3ceaaecb65bbcc30d1ac9f350dfc6dc20 --- fingerprint_config.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/fingerprint_config.mk b/fingerprint_config.mk index 06eca62..2255f3b 100644 --- a/fingerprint_config.mk +++ b/fingerprint_config.mk @@ -6,4 +6,5 @@ else # Non factory build, use fingerprint AIDL version GOOGLE_CONFIG_POWER_NODE=/dev/input/event1 GOOGLE_CONFIG_DP_COUNT=2 +GOOGLE_CONFIG_FP_STATUS=1 endif From d5b8e013656e4fb907b4c4846c117699eb1bc7ec Mon Sep 17 00:00:00 2001 From: timothywang Date: Wed, 22 Feb 2023 16:48:05 +0800 Subject: [PATCH 047/117] Do not use sensor output ratio in itp output Add a property to avoid using sensor output ratio as the itp output ratio. Bug: 263851685 Test: GCA, CTS Change-Id: Ie511989e934fd033e6f375c85675ad9b26de55d4 --- device-felix.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 8378687..179fcba 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -301,7 +301,8 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.camera.optimized_tnr_freq=1 \ persist.vendor.camera.raise_buf_allocation_priority=1 \ camera.enable_landscape_to_portrait=true \ - persist.vendor.camera.debug.bypass_csi_link_error=true + persist.vendor.camera.debug.bypass_csi_link_error=true \ + vendor.camera.allow_sensor_binning_aspect_ratio_to_override_itp_output=false # Enable camera exif model/make reporting PRODUCT_VENDOR_PROPERTIES += \ From 63799dd7b97dec9b9c9a8d056513b547d3818309 Mon Sep 17 00:00:00 2001 From: Jeff Pu Date: Thu, 2 Mar 2023 21:39:07 +0000 Subject: [PATCH 048/117] Remove fingerprint virtual hal from individual pixel device mk files since it is included in common one Bug: 270940857 Test: manual build Change-Id: I1926a4aee69dbaf5febac66252bc829c07d3efe7 --- device-felix.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/device-felix.mk b/device-felix.mk index 8378687..6c675aa 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -317,7 +317,3 @@ ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) device/google/gs201/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc endif -# Biometrics virtual HAL for e2e testing -PRODUCT_PACKAGES_DEBUG += \ - android.hardware.biometrics.fingerprint-service.example - From b2955ae224ef7e6e28ae6f046116378c581f7403 Mon Sep 17 00:00:00 2001 From: Jack Wu Date: Sat, 4 Mar 2023 14:51:17 +0800 Subject: [PATCH 049/117] update AIDL IGoogleBattery manifest version to 2 Bug: 271224032 Test: TH Change-Id: Ie5f652402e4d91748f7422139bf587aa9b626b43 Signed-off-by: Jack Wu --- manifest.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.xml b/manifest.xml index 488ef2a..6068981 100644 --- a/manifest.xml +++ b/manifest.xml @@ -124,7 +124,7 @@ vendor.google.google_battery - 1 + 2 IGoogleBattery default From 4e0918a63c73003f4932ebe68b8c536868a4cfbd Mon Sep 17 00:00:00 2001 From: Jimmy Shiu Date: Mon, 20 Feb 2023 16:39:20 +0800 Subject: [PATCH 050/117] powerhint: Boost GPU(302000) by 1st frame Take ADPF_FIRST_FRAME hint to boost the GPU freq to 302000 Bug: 243025173 Test: Manual Change-Id: Iac5c503e6fd8f19f0252b65f9ef10ed82b3ed378 --- powerhint.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/powerhint.json b/powerhint.json index c8a9e58..95967a0 100644 --- a/powerhint.json +++ b/powerhint.json @@ -1558,6 +1558,12 @@ "Duration": 0, "Value": "572000" }, + { + "PowerHint": "ADPF_FIRST_FRAME", + "Node": "GPUMinFreq", + "Duration": 50, + "Value": "302000" + }, { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT", "Node": "PMU_POLL", From 4267c03e58e3f5877b6667aa123b0bee62ccc654 Mon Sep 17 00:00:00 2001 From: Suprabh Shukla Date: Mon, 6 Mar 2023 16:51:48 -0800 Subject: [PATCH 051/117] Add device map for wakeup attribution to felix This xml maps the devices that can wake the main CPU up to subsystems that use them. Test: Builds, boots. Manualy verify the loaded map in the output of `dumpsys batterystats --wakeups` Bug: 271922941 Change-Id: I3988cde6d8c5258c1f952ccd8c0a08143998473a --- .../base/core/res/res/xml/irq_device_map.xml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml diff --git a/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml new file mode 100644 index 0000000..beb5166 --- /dev/null +++ b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml @@ -0,0 +1,27 @@ + + + + + Alarm + + + Wifi + + + From dc68fe7730b6f005bb075dc2db35d1c553bf21af Mon Sep 17 00:00:00 2001 From: Tai Kuo Date: Tue, 7 Mar 2023 11:44:54 +0800 Subject: [PATCH 052/117] vibrator: update OWNERS Bug: 271938764 Test: n/a Change-Id: Iad04490f13497a5cdbc0718491cd0f2d2eb3f7a4 --- vibrator/OWNERS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vibrator/OWNERS b/vibrator/OWNERS index 5d4a9c3..859c7e0 100644 --- a/vibrator/OWNERS +++ b/vibrator/OWNERS @@ -1,3 +1,4 @@ -chasewu@google.com +chrispaulo@google.com michaelwr@google.com +nathankulczak@google.com taikuo@google.com From e00b9fb53172f3e9943e145b6b8009287676cf17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Wilczy=C5=84ski?= Date: Thu, 16 Feb 2023 15:40:23 +0000 Subject: [PATCH 053/117] Persist the nit brightness for the default display Store the brightness for the default display in nits in persistent data store so that it can be persisted if the device reboots or the display device changes. Bug: 258455654 Test: adb shell dumpsys display | grep mPersistBrightnessNitsForDefaultDisplay Change-Id: I20a0a686ee1e4e945fbcd99d5b996534f8ef93b7 --- felix/overlay/frameworks/base/core/res/res/values/config.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/felix/overlay/frameworks/base/core/res/res/values/config.xml b/felix/overlay/frameworks/base/core/res/res/values/config.xml index da80875..dcc7c85 100644 --- a/felix/overlay/frameworks/base/core/res/res/values/config.xml +++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml @@ -373,4 +373,8 @@ Note: If the display supports multiple resolutions, please define the path config based on the highest resolution so that it can be scaled correctly in each resolution. --> M 0 0 L 0 2092 L 1080 2092 L 1080 0 L 0 0 z M 0.00390625 0.01953125 L 124 0.01953125 C 120.62607 0.01953125 117.25272 0.062897597 113.87891 0.083984375 C 110.51044 0.15345796 107.14189 0.22554494 103.77344 0.29492188 C 100.41579 0.46723528 97.056902 0.63807032 93.699219 0.81054688 C 90.373874 1.1394815 87.049926 1.4682676 83.724609 1.796875 C 80.442364 2.3249488 77.159199 2.8527856 73.876953 3.3808594 C 70.680994 4.1567209 67.48502 4.933117 64.289062 5.7089844 C 61.206262 6.7649688 58.123836 7.8209034 55.041016 8.8769531 C 52.114502 10.229372 49.188251 11.581215 46.261719 12.933594 C 43.523829 14.593085 40.784745 16.252586 38.046875 17.912109 C 35.54087 19.873307 33.035436 21.835687 30.529297 23.796875 C 28.281876 26.043695 26.03451 28.29034 23.787109 30.537109 C 21.825326 33.047838 19.864128 35.557471 17.902344 38.068359 C 16.242372 40.800045 14.581846 43.531987 12.921875 46.263672 C 11.568993 49.19466 10.216047 52.125655 8.8632812 55.056641 C 7.807047 58.133103 6.7516762 61.210488 5.6953125 64.287109 C 4.9192068 67.487547 4.1432437 70.688232 3.3671875 73.888672 C 2.8389878 77.164433 2.3096105 80.440872 1.78125 83.716797 C 1.4522193 87.04105 1.12363 90.364877 0.79492188 93.689453 C 0.62263364 97.046037 0.44979383 100.40305 0.27734375 103.75977 C 0.20771199 107.1272 0.13750064 110.49376 0.068359375 113.86133 C 0.058717095 115.40631 0.01391657 122.4354 0.00390625 123.98047 C -0.0079363164 125.80834 0.015313378 -1.8083189 0.00390625 0.01953125 z M 956 0.01953125 L 1079.998 0.01953125 C 1079.9867 -1.8083196 1080.0071 125.80834 1079.9961 123.98047 C 1079.9861 122.4354 1079.9436 115.40631 1079.9336 113.86133 C 1079.8645 110.49376 1079.7927 107.1272 1079.7227 103.75977 C 1079.5502 100.40304 1079.3774 97.046035 1079.2051 93.689453 C 1078.8763 90.364875 1078.5477 87.041057 1078.2188 83.716797 C 1077.6905 80.440877 1077.163 77.164434 1076.6348 73.888672 L 1074.3066 64.287109 C 1073.2502 61.21048 1072.1929 58.133106 1071.1367 55.056641 C 1069.784 52.125655 1068.431 49.194657 1067.0781 46.263672 C 1065.418 43.531978 1063.7596 40.800035 1062.0996 38.068359 C 1060.1378 35.557468 1058.1747 33.047839 1056.2129 30.537109 C 1053.9655 28.290338 1051.7181 26.0437 1049.4707 23.796875 C 1046.9646 21.83568 1044.4591 19.873293 1041.9531 17.912109 C 1039.2153 16.252583 1036.4761 14.593089 1033.7383 12.933594 C 1030.8117 11.581217 1027.8856 10.229372 1024.959 8.8769531 C 1021.8762 7.8209026 1018.7938 6.7649692 1015.7109 5.7089844 C 1012.515 4.933117 1009.3189 4.1567207 1006.123 3.3808594 C 1002.8407 2.8527853 999.55759 2.324948 996.27539 1.796875 C 992.95004 1.4682674 989.62616 1.1394813 986.30078 0.81054688 C 982.94306 0.63807038 979.58423 0.46723542 976.22656 0.29492188 C 972.85807 0.22554451 969.48959 0.15345499 966.12109 0.083984375 C 962.74726 0.062904417 959.37395 0.01953125 956 0.01953125 z M 0.015625 1968 C 0.032745156 1971.3738 0.080078125 1974.7472 0.080078125 1978.1211 C 0.14382551 1981.4895 0.22555626 1984.8582 0.29101562 1988.2266 C 0.46100867 1991.5841 0.63698941 1994.941 0.80859375 1998.2988 C 1.1371999 2001.624 1.4647043 2004.9502 1.7949219 2008.2754 C 2.3229272 2011.5576 2.8526128 2014.8388 3.3789062 2018.1211 C 4.1553555 2021.3171 4.9304814 2024.513 5.7070312 2027.709 C 6.7632439 2030.7917 7.817277 2033.8762 8.875 2036.959 C 10.227391 2039.8856 11.578141 2042.8119 12.931641 2045.7383 C 14.591489 2048.4762 16.250812 2051.2132 17.910156 2053.9512 C 19.871723 2056.4573 21.833647 2058.9628 23.794922 2061.4688 C 26.041892 2063.7161 28.288387 2065.9635 30.535156 2068.2109 C 33.045978 2070.1727 35.557338 2072.1358 38.068359 2074.0977 C 40.800032 2075.7577 43.532001 2077.4162 46.263672 2079.0762 C 49.195245 2080.4289 52.125269 2081.7819 55.056641 2083.1348 C 58.133233 2084.191 61.210316 2085.2486 64.287109 2086.3047 C 67.48757 2087.0807 70.68811 2087.8567 73.888672 2088.6328 C 77.164765 2089.1611 80.440704 2089.6885 83.716797 2090.2168 C 87.041127 2090.5453 90.366976 2090.8741 93.691406 2091.2031 C 97.048366 2091.3756 100.40486 2091.5484 103.76172 2091.7207 C 107.12946 2091.7898 110.49741 2091.8597 113.86523 2091.9297 C 115.62196 2091.9407 122.22756 2091.9801 123.98438 2091.9941 C 125.60072 2092.0064 -1.6007186 2091.9941 0.015625 2091.9941 L 0.015625 1968 z M 1079.9844 1968 L 1079.9844 2091.9941 C 1081.6008 2091.9941 954.39928 2092.0064 956.01562 2091.9941 C 957.77244 2091.9801 964.37804 2091.9407 966.13477 2091.9297 C 969.50259 2091.8597 972.87054 2091.7898 976.23828 2091.7207 C 979.59514 2091.5484 982.95164 2091.3756 986.30859 2091.2031 C 989.63302 2090.8741 992.95888 2090.5453 996.2832 2090.2168 C 999.5593 2089.6885 1002.8352 2089.1611 1006.1113 2088.6328 C 1009.3119 2087.8567 1012.5124 2087.0807 1015.7129 2086.3047 C 1018.7897 2085.2486 1021.8668 2084.191 1024.9434 2083.1348 C 1027.8748 2081.7819 1030.8048 2080.4289 1033.7363 2079.0762 C 1036.468 2077.4162 1039.1999 2075.7577 1041.9316 2074.0977 C 1044.4426 2072.1358 1046.9539 2070.1727 1049.4648 2068.2109 C 1051.7115 2065.9635 1053.9581 2063.7161 1056.2051 2061.4688 C 1058.1664 2058.9628 1060.1282 2056.4573 1062.0898 2053.9512 C 1063.7491 2051.2132 1065.4086 2048.4762 1067.0684 2045.7383 C 1068.4219 2042.8119 1069.7726 2039.8856 1071.125 2036.959 C 1072.1828 2033.8762 1073.2368 2030.7917 1074.293 2027.709 C 1075.0695 2024.513 1075.8447 2021.3171 1076.6211 2018.1211 C 1077.1474 2014.8388 1077.6771 2011.5576 1078.2051 2008.2754 C 1078.5353 2004.9502 1078.8627 2001.624 1079.1914 1998.2988 C 1079.363 1994.941 1079.539 1991.5841 1079.709 1988.2266 C 1079.774 1984.8582 1079.8561 1981.4895 1079.9199 1978.1211 C 1079.9199 1974.7472 1079.9674 1971.3738 1079.9844 1968 z + + + true From 7eb7fefb6083d81c985522883f8ab568b985d638 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Tue, 7 Mar 2023 11:46:01 +0800 Subject: [PATCH 054/117] include second panel dump Bug: 269212897 Test: adb bugreport Change-Id: Ia81bcc3e0ba945fd7d743b16e6fab5dc3a1eee4c --- device-felix.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/device-felix.mk b/device-felix.mk index 77daa12..63ac103 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -32,6 +32,7 @@ include device/google/gs201/device-shipping-common.mk $(call soong_config_set,fp_hal_feature,pixel_product, product_a) include device/google/felix/vibrator/cs40l26/device.mk include device/google/gs-common/bcmbt/bluetooth.mk +include device/google/gs-common/display/dump_second_display.mk include device/google/gs-common/touch/gti/gti.mk include device/google/gs-common/touch/stm/stm6.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) From 98975398c6d1d8ee80517e2bfe89da86077886bc Mon Sep 17 00:00:00 2001 From: George Chang Date: Thu, 9 Mar 2023 13:31:28 +0000 Subject: [PATCH 055/117] [NFC] Add antenna position coordinates Bug: 272406680 Test: manual Change-Id: I5a58dd5cfb603f977dc4ded8617c6ca7f67b1663 --- .../overlay/packages/apps/Nfc/res/values/config.xml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/felix/overlay/packages/apps/Nfc/res/values/config.xml b/felix/overlay/packages/apps/Nfc/res/values/config.xml index 7cb1b6e..5e89b28 100644 --- a/felix/overlay/packages/apps/Nfc/res/values/config.xml +++ b/felix/overlay/packages/apps/Nfc/res/values/config.xml @@ -20,4 +20,16 @@ G0B96 true + + 160 + 140 + true + + 90 + 30 + + + 103 + 103 + From 1c95aad4eef77fb40cf9d30492ea4be2deeb05b5 Mon Sep 17 00:00:00 2001 From: Patty Huang Date: Mon, 13 Mar 2023 15:47:51 +0800 Subject: [PATCH 056/117] Porting LE Audio unciast on F10. 1. Default enable LE Audio unicast on android U. 2. Enable LE Audio offload flag 3. Add the offload capability file for unicast 4. Enable LE Audio switcher flag(for developer option) 5. Enable BQR event mask for LE Audio choppy event Bug: 273167787 Test: LE Audio unicast related services are all enabled by default Test: Media & Phone call can stream via LE Audio SW/HW path Change-Id: I3a09fff2191b18ed90c782ab2c8e76a032950cb4 --- bluetooth/le_audio_codec_capabilities.xml | 73 +++++++++++++++++++++++ device-felix.mk | 34 +++++++++++ 2 files changed, 107 insertions(+) create mode 100644 bluetooth/le_audio_codec_capabilities.xml diff --git a/bluetooth/le_audio_codec_capabilities.xml b/bluetooth/le_audio_codec_capabilities.xml new file mode 100644 index 0000000..a836273 --- /dev/null +++ b/bluetooth/le_audio_codec_capabilities.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/device-felix.mk b/device-felix.mk index 77daa12..c128422 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -318,3 +318,37 @@ ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) device/google/gs201/init.hardware.wlc.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.wlc.rc endif +# Bluetooth LE Audio +PRODUCT_PRODUCT_PROPERTIES += \ + ro.bluetooth.leaudio_offload.supported=true \ + persist.bluetooth.leaudio_offload.disabled=false \ + ro.bluetooth.leaudio_switcher.supported=true \ + bluetooth.profile.bap.unicast.client.enabled=true \ + bluetooth.profile.csip.set_coordinator.enabled=true \ + bluetooth.profile.hap.client.enabled=true \ + bluetooth.profile.mcp.server.enabled=true \ + bluetooth.profile.ccp.server.enabled=true \ + bluetooth.profile.vcp.controller.enabled=true \ + +# Override BQR mask to enable LE Audio Choppy report +ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) +PRODUCT_PRODUCT_PROPERTIES += \ + persist.bluetooth.bqr.event_mask=262238 +else +PRODUCT_PRODUCT_PROPERTIES += \ + persist.bluetooth.bqr.event_mask=94 +endif + +# Bluetooth LE Audio CIS handover to SCO +# Set the property only if the controller doesn't support CIS and SCO +# simultaneously. More details in b/242908683. +PRODUCT_PRODUCT_PROPERTIES += \ + persist.bluetooth.leaudio.notify.idle.during.call=true + +# LE Audio Offload Capabilities Setting +PRODUCT_COPY_FILES += \ + device/google/felix/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml + +# Bluetooth EWP test tool +PRODUCT_PACKAGES_DEBUG += \ + ewp_tool From 4609f936dc83f9d562087b5f392c194904b7593c Mon Sep 17 00:00:00 2001 From: Liang Li Date: Mon, 13 Mar 2023 21:37:39 -0700 Subject: [PATCH 057/117] Enable adjusting link layer stats polling interval Enable the feature of adjusting link layer stats polling interval in Pixels. Bug: 237530606 Test: manual Change-Id: Ic72bcb5a773318097233e97e896262080e0e0b79 --- rro_overlays/WifiOverlay/res/values/config.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index 96f1537..2e80545 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -162,4 +162,8 @@ no telephony country code and driver country code is 00. This is applied only during the setup wizard --> true + + + true From 4cb5760fab06828c02b3e244c624e0d53c1a0d16 Mon Sep 17 00:00:00 2001 From: Yung Ti Su Date: Thu, 27 Oct 2022 20:53:19 +0800 Subject: [PATCH 058/117] add support for BLE offload case in audio policy Bug: 255722598 Test: manual Change-Id: I4fae3f5575dc035171708feae25644c497aa4804 Signed-off-by: Yung Ti Su --- audio/felix/audio-tables.mk | 1 + .../config/audio_policy_configuration.xml | 22 +- ...licy_configuration_le_offload_disabled.xml | 249 ++++++++++++++++++ 3 files changed, 269 insertions(+), 3 deletions(-) create mode 100644 audio/felix/config/audio_policy_configuration_le_offload_disabled.xml diff --git a/audio/felix/audio-tables.mk b/audio/felix/audio-tables.mk index 8fdb81a..f485dfd 100644 --- a/audio/felix/audio-tables.mk +++ b/audio/felix/audio-tables.mk @@ -20,6 +20,7 @@ AUDIO_TABLE_FOLDER := felix PRODUCT_COPY_FILES += \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ + device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_le_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_le_offload_disabled.xml \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \ diff --git a/audio/felix/config/audio_policy_configuration.xml b/audio/felix/config/audio_policy_configuration.xml index 720d8db..1b44390 100644 --- a/audio/felix/config/audio_policy_configuration.xml +++ b/audio/felix/config/audio_policy_configuration.xml @@ -166,6 +166,18 @@ + + + + + + + + @@ -188,6 +200,10 @@ sources="primary output,deep buffer,haptic,compressed_offload,voip_rx,immersive_out,raw,mmap_no_irq_out"/> + + + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/> + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/> + sources="Built-In Mic,Built-In Back Mic,USB Device In,USB Headset In,BT SCO Headset Mic,BLE Headset Mic"/> + + + + + + + + Speaker + Speaker Safe + Earpiece + Built-In Mic + Built-In Back Mic + Telephony Tx + Voice Call And Telephony Rx + Echo Ref In + + Speaker + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From e63f8f4cd74667ca48ba3cfecc38d3e16dd455d9 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Thu, 23 Mar 2023 15:52:30 +0800 Subject: [PATCH 059/117] powerstats: Add 1Hz stats for inner display Bug: 273636406 Test: dumpsys android.hardware.power.stats.IPowerStats/default Change-Id: Idef91358f5c531febbbdd48e7282c50f036373c0 Signed-off-by: Darren Hsu --- powerstats/felix/service.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index 796b5a4..2ccabb0 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -39,7 +39,9 @@ void addDisplay(std::shared_ptr p) { // Add display residency stats for inner display std::vector inner_states = { "Off", + "LP: 1840x2208@1", "LP: 1840x2208@30", + "On: 1840x2208@1", "On: 1840x2208@10", "On: 1840x2208@60", "On: 1840x2208@120", From 98f52f4845a59e8220b8ee1f2b0dba81c500b499 Mon Sep 17 00:00:00 2001 From: Qais Yousef Date: Mon, 27 Feb 2023 15:24:10 +0000 Subject: [PATCH 060/117] powerhint.json: Update uclamp_min hint to account for margin Upstream has fixed relationship between uclamp_min and margin which means uclamp_min value between 80-100% of capacity of the CPU is a valid value and will not cause upmigration. To keep the current hints in powerhint.json the same, we must update uclamp_min to be capacity_orig_of(medium_cpu) + 1. This change is dependent on uclamp vs fits margin in GKI, vendor modules. And an improvement in sched_pixel to ignore the 25% boost if the only reason to request the frequency is uclamp_min. To cater for the later - we multiply each uclamp_min value with 1.25 - except ones that look intentionally set around capacity boundaries. Bug: 261695590 Test: PtsUiBench Signed-off-by: Qais Yousef Change-Id: I60f4d7cd2cecf7ff4d73fa0cee1a09522b1d9bfd --- powerhint.json | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/powerhint.json b/powerhint.json index 65c5abb..c7885fd 100644 --- a/powerhint.json +++ b/powerhint.json @@ -169,7 +169,7 @@ "Name": "CAMUClampBoost", "Path": "/proc/vendor_sched/cam_uclamp_min", "Values": [ - "612", + "764", "0" ], "ResetOnInit": true @@ -178,7 +178,7 @@ "Name": "TAUClampBoost", "Path": "/proc/vendor_sched/ta_uclamp_min", "Values": [ - "612", + "764", "1" ], "ResetOnInit": true @@ -196,8 +196,8 @@ "Name": "MLUclampBoost", "Path": "/proc/vendor_sched/nnapi_uclamp_min", "Values": [ - "180", - "650" + "225", + "813" ], "DefaultIndex": 0, "ResetOnInit": true @@ -632,7 +632,7 @@ "PowerHint": "LAUNCH", "Node": "TAUClampBoost", "Duration": 5000, - "Value": "612" + "Value": "764" }, { "PowerHint": "LAUNCH", @@ -751,7 +751,7 @@ "PowerHint": "CAMERA_LAUNCH", "Node": "CAMUClampBoost", "Duration": 1000, - "Value": "612" + "Value": "764" }, { "PowerHint": "CAMERA_LAUNCH", @@ -2102,13 +2102,13 @@ "PowerHint": "ML_ACC", "Node": "MLUclampBoost", "Duration": 2000, - "Value": "650" + "Value": "813" }, { "PowerHint": "ML_ACC", "Node": "PMQoSCpuDmaLatency", "Duration": 2000, - "Value": "44" + "Value": "55" } ], "AdpfConfig": [ @@ -2124,8 +2124,8 @@ "PID_Do": 500.0, "PID_Du": 0.0, "UclampMin_On": true, - "UclampMin_Init": 185, - "UclampMin_High": 384, + "UclampMin_Init": 232, + "UclampMin_High": 480, "UclampMin_Low": 2, "SamplingWindow_P": 1, "SamplingWindow_I": 0, @@ -2148,8 +2148,8 @@ "PID_Do": 500.0, "PID_Du": 0.0, "UclampMin_On": true, - "UclampMin_Init": 129, - "UclampMin_High": 384, + "UclampMin_Init": 162, + "UclampMin_High": 480, "UclampMin_Low": 2, "SamplingWindow_P": 1, "SamplingWindow_I": 0, @@ -2172,8 +2172,8 @@ "PID_Do": 500.0, "PID_Du": 0.0, "UclampMin_On": true, - "UclampMin_Init": 129, - "UclampMin_High": 384, + "UclampMin_Init": 162, + "UclampMin_High": 480, "UclampMin_Low": 2, "SamplingWindow_P": 1, "SamplingWindow_I": 0, @@ -2199,9 +2199,9 @@ "SamplingWindow_I": 1, "SamplingWindow_D": 1, "UclampMin_On": true, - "UclampMin_Init": 200, - "UclampMin_High": 157, - "UclampMin_Low": 157, + "UclampMin_Init": 250, + "UclampMin_High": 197, + "UclampMin_Low": 197, "ReportingRateLimitNs": 1, "EarlyBoost_On": false, "EarlyBoost_TimeFactor": 0.0, @@ -2223,9 +2223,9 @@ "SamplingWindow_I": 1, "SamplingWindow_D": 1, "UclampMin_On": true, - "UclampMin_Init": 200, - "UclampMin_High": 42, - "UclampMin_Low": 42, + "UclampMin_Init": 250, + "UclampMin_High": 53, + "UclampMin_Low": 53, "ReportingRateLimitNs": 1, "EarlyBoost_On": false, "EarlyBoost_TimeFactor": 0.0, @@ -2247,7 +2247,7 @@ "SamplingWindow_I": 1, "SamplingWindow_D": 1, "UclampMin_On": true, - "UclampMin_Init": 200, + "UclampMin_Init": 250, "UclampMin_High": 0, "UclampMin_Low": 0, "ReportingRateLimitNs": 1, From 65d88aa3625bcacc4cf8a78f15728d85ed61966e Mon Sep 17 00:00:00 2001 From: Rex Lin Date: Fri, 7 Apr 2023 17:35:34 +0800 Subject: [PATCH 061/117] uwb: update uwb calibration for F10 QPR build Bug: 277168817 Test: local build pass Change-Id: I57dd3824f62f94c8bbd4ea38b466c4e7fb194270 Signed-off-by: Rex Lin --- uwb/UWB-calibration-ce.conf | 20 ++++++++++---------- uwb/UWB-calibration-default.conf | 20 ++++++++++---------- uwb/UWB-calibration-fcc.conf | 20 ++++++++++---------- uwb/UWB-calibration-jp.conf | 20 ++++++++++---------- uwb/UWB-calibration-restricted.conf | 20 ++++++++++---------- uwb/UWB-calibration-tw.conf | 20 ++++++++++---------- uwb/UWB-calibration.conf | 20 ++++++++++---------- 7 files changed, 70 insertions(+), 70 deletions(-) diff --git a/uwb/UWB-calibration-ce.conf b/uwb/UWB-calibration-ce.conf index 73c92d8..6468d80 100644 --- a/uwb/UWB-calibration-ce.conf +++ b/uwb/UWB-calibration-ce.conf @@ -120,22 +120,22 @@ restricted_channels=0 [HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 [HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 -[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 [HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 [HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 -[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=8 [HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 @@ -144,8 +144,8 @@ restricted_channels=0 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=8 [HAL]minimum_system_offset_uwbtime0=250 coex_gpio=4 coex_delay_us=1000 diff --git a/uwb/UWB-calibration-default.conf b/uwb/UWB-calibration-default.conf index 3971daf..7838414 100644 --- a/uwb/UWB-calibration-default.conf +++ b/uwb/UWB-calibration-default.conf @@ -120,22 +120,22 @@ restricted_channels=0 [HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 [HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 -[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 [HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 [HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 -[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=8 [HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 @@ -144,8 +144,8 @@ restricted_channels=0 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=8 [HAL]minimum_system_offset_uwbtime0=250 coex_gpio=4 coex_delay_us=1000 diff --git a/uwb/UWB-calibration-fcc.conf b/uwb/UWB-calibration-fcc.conf index 3971daf..7838414 100644 --- a/uwb/UWB-calibration-fcc.conf +++ b/uwb/UWB-calibration-fcc.conf @@ -120,22 +120,22 @@ restricted_channels=0 [HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 [HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 -[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 [HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 [HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 -[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=8 [HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 @@ -144,8 +144,8 @@ restricted_channels=0 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=8 [HAL]minimum_system_offset_uwbtime0=250 coex_gpio=4 coex_delay_us=1000 diff --git a/uwb/UWB-calibration-jp.conf b/uwb/UWB-calibration-jp.conf index c363098..82bb3ca 100644 --- a/uwb/UWB-calibration-jp.conf +++ b/uwb/UWB-calibration-jp.conf @@ -120,22 +120,22 @@ restricted_channels=0x20 [HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 [HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 -[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 [HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 [HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 -[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=8 [HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 @@ -144,8 +144,8 @@ restricted_channels=0x20 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=8 [HAL]minimum_system_offset_uwbtime0=250 coex_gpio=4 coex_delay_us=1000 diff --git a/uwb/UWB-calibration-restricted.conf b/uwb/UWB-calibration-restricted.conf index 746c76f..7e5bf55 100644 --- a/uwb/UWB-calibration-restricted.conf +++ b/uwb/UWB-calibration-restricted.conf @@ -120,22 +120,22 @@ restricted_channels=0xFFFF [HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 [HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 -[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 [HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 [HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 -[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=8 [HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 @@ -144,8 +144,8 @@ restricted_channels=0xFFFF [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=8 [HAL]minimum_system_offset_uwbtime0=250 coex_gpio=4 coex_delay_us=1000 diff --git a/uwb/UWB-calibration-tw.conf b/uwb/UWB-calibration-tw.conf index 9d00708..1f6c32c 100644 --- a/uwb/UWB-calibration-tw.conf +++ b/uwb/UWB-calibration-tw.conf @@ -120,22 +120,22 @@ restricted_channels=0x20 [HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 [HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 -[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 [HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 [HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 -[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=8 [HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 @@ -144,8 +144,8 @@ restricted_channels=0x20 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=8 [HAL]minimum_system_offset_uwbtime0=250 coex_gpio=4 coex_delay_us=1000 diff --git a/uwb/UWB-calibration.conf b/uwb/UWB-calibration.conf index 3971daf..7838414 100644 --- a/uwb/UWB-calibration.conf +++ b/uwb/UWB-calibration.conf @@ -120,22 +120,22 @@ restricted_channels=0 [HAL]ant_sets.ch5.azimuth.rx_ant_set_ranging=3 [HAL]ant_sets.ch5.azimuth.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.azimuth.tx_ant_set_ranging=0 -[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.rx_ant_set_ranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.range.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.range.rx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.rx_ant_set_ranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.range.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch5.elevation.rx_ant_set_ranging=4 [HAL]ant_sets.ch5.elevation.tx_ant_set_nonranging=0 [HAL]ant_sets.ch5.elevation.tx_ant_set_ranging=0 [HAL]ant_sets.ch9.elevation.rx_ant_set_nonranging=4 [HAL]ant_sets.ch9.elevation.rx_ant_set_ranging=4 -[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.elevation.tx_ant_set_ranging=8 [HAL]ant_sets.ch9.azimuth.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth.rx_ant_set_ranging=3 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth.tx_ant_set_ranging=8 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch5.azimuth_elevation.rx_ant_set_ranging_elevation=4 @@ -144,8 +144,8 @@ restricted_channels=0 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_nonranging=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_azimuth=3 [HAL]ant_sets.ch9.azimuth_elevation.rx_ant_set_ranging_elevation=4 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=7 -[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=7 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_nonranging=8 +[HAL]ant_sets.ch9.azimuth_elevation.tx_ant_set_ranging=8 [HAL]minimum_system_offset_uwbtime0=250 coex_gpio=4 coex_delay_us=1000 From 37af5feae733b7750196a04d53e0699e29a15355 Mon Sep 17 00:00:00 2001 From: Patty Huang Date: Tue, 11 Apr 2023 19:27:19 +0800 Subject: [PATCH 062/117] Enable 32k for some audio configurations with offload path Bug: 272597112 Test: check the offload supported config Change-Id: I7f455f4ef260b438ba76799114fadfba6d85215d --- bluetooth/le_audio_codec_capabilities.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/bluetooth/le_audio_codec_capabilities.xml b/bluetooth/le_audio_codec_capabilities.xml index a836273..89d0de6 100644 --- a/bluetooth/le_audio_codec_capabilities.xml +++ b/bluetooth/le_audio_codec_capabilities.xml @@ -44,6 +44,8 @@ + + @@ -56,6 +58,8 @@ + + @@ -63,6 +67,7 @@ + From 6e6e02f461d615f4ec4ac41ca5b50cc11fbe143a Mon Sep 17 00:00:00 2001 From: Jimmy Shiu Date: Wed, 12 Apr 2023 20:36:16 +0800 Subject: [PATCH 063/117] powerhint: Boost GPU(302000) by 1st frame Use CPU_LOAD_RESET hint to boost the GPU freq to 302000 Bug: 243025173 Test: Manual Change-Id: I370657c0e01baf936144024c12c1f8502624073f --- powerhint.json | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/powerhint.json b/powerhint.json index 65c5abb..6fee56d 100644 --- a/powerhint.json +++ b/powerhint.json @@ -1,5 +1,18 @@ { "Nodes": [ + { + "Name": "GPUMinFreq", + "Path": "/sys/devices/platform/28000000.mali/hint_min_freq", + "Values": [ + "848000", + "762000", + "572000", + "471000", + "302000", + "202000" + ], + "ResetOnInit": true + }, { "Name": "MemFreq", "Path": "/sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/min_freq", @@ -114,19 +127,6 @@ ], "ResetOnInit": true }, - { - "Name": "GPUMinFreq", - "Path": "/sys/devices/platform/28000000.mali/hint_min_freq", - "Values": [ - "848000", - "762000", - "572000", - "471000", - "302000", - "202000" - ], - "ResetOnInit": true - }, { "Name": "GPUDvfsPeriod", "Path": "/sys/devices/platform/28000000.mali/dvfs_period", @@ -699,6 +699,12 @@ "Duration": 2000, "Value": "9999999" }, + { + "PowerHint": "CPU_LOAD_RESET", + "Node": "GPUMinFreq", + "Duration": 50, + "Value": "302000" + }, { "PowerHint": "CPU_LOAD_RESET", "Node": "MemFreq", @@ -1558,12 +1564,6 @@ "Duration": 0, "Value": "572000" }, - { - "PowerHint": "ADPF_FIRST_FRAME", - "Node": "GPUMinFreq", - "Duration": 50, - "Value": "302000" - }, { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT", "Node": "PMU_POLL", From e48f4be6d3250b81daf866c6d4ca418edd0d6ddc Mon Sep 17 00:00:00 2001 From: Shuibing Dai Date: Thu, 13 Apr 2023 17:18:02 -0700 Subject: [PATCH 064/117] Enable updating country code from scan results for generic case Bug: 271928725 Bug: 267944733 Test: manually test Change-Id: I79339a96d739c7ecc5b5020cc437a15f1a7e622d --- rro_overlays/WifiOverlay/res/values/config.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index 2e80545..fe8976a 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -166,4 +166,10 @@ true + + + true From 73a8da30c1d575fdc8481e81460f047ce8c3c9d9 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Tue, 18 Apr 2023 13:34:38 +0800 Subject: [PATCH 065/117] Update Felix SVN to 2 Bug: 278035362 Change-Id: I0901c283ee262d1317d23fbbcd64559a695fb040 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 00e54ec..eda8abb 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=1 + ro.vendor.build.svn=2 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 3511b0eaf61fb2e29864c5517ff021c46b695d3b Mon Sep 17 00:00:00 2001 From: Poomarin Phloyphisut Date: Tue, 18 Apr 2023 13:03:10 +0000 Subject: [PATCH 066/117] [USB Audio] Enable 192k support sample rate to hifi usb related cl: ag/22549253 Test: Local Test. Bug: 198122814 Change-Id: I9844a7bf34bfbcf4259190530adcf201068d759f --- audio/felix/config/audio_platform_configuration.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audio/felix/config/audio_platform_configuration.xml b/audio/felix/config/audio_platform_configuration.xml index 16976b4..bd62349 100644 --- a/audio/felix/config/audio_platform_configuration.xml +++ b/audio/felix/config/audio_platform_configuration.xml @@ -295,7 +295,7 @@ - + From d3bb6acd488b73838498f0aa5bc06b8fc99d8ee3 Mon Sep 17 00:00:00 2001 From: David Li Date: Tue, 11 Apr 2023 18:45:38 +0800 Subject: [PATCH 067/117] audio: Merge telephony tuning tables Handset: [VZW] Mitigate the hissing speech on earpiece - P1 Handsfree: [TMO] Optimize the distortion performance which is requested by T-Mobile reviewer - P1 Files from the latest attachment on b/277680627 Bug: 271600161 Bug: 257908564 Test: verified by huangsean@ Change-Id: Idf0a99bdcdbcde991de01e8bf146639245038ce8 --- audio/felix/tuning/fortemedia/HANDSET.dat | Bin 255674 -> 255674 bytes audio/felix/tuning/fortemedia/HANDSET.mods | 706 ++++++++++----------- 2 files changed, 353 insertions(+), 353 deletions(-) diff --git a/audio/felix/tuning/fortemedia/HANDSET.dat b/audio/felix/tuning/fortemedia/HANDSET.dat index 1d7f56554ceb4e417890d1d2b8ba32b86859de05..0dae20b056ec029fac4106502fc75213c5263413 100644 GIT binary patch delta 1799 zcmdmWmVeh-{tbCCvT<<^OldKWOgTADOgU-JOd$m>OmR`JOfC*?Oa;@|pJ58-5)q4G zQWlA2GLzgsA&fDLV{%Zc1y@FbaYId>NrOkhcAI!cH^#}g(vSr=%cR#aA}jJq!lFng z3sq4}DoD|<92Apma@`o+0$FMr6d2SRVhYq7>hd%i`WiGFidwW9%1X2wDvER(CN=0b zELx)1FlUQ?LrtGSLrR-rLq(KPLrslwLq~;4Lr{fjLxIm^g>*M5J}!?2HhIqmZb7dG zF%ItrDG{Fr4JF@(guv|=G8oVEPTsG{J$+RfqsVrvw@f_zo0WRblyUi`xG;I7xH5Sp zY&QsF{Kp}bl4R77l49IYk!8{lkYm~q-JTbm@*cim%^;u Sr7D>fd`VA%Km&m~Go%3Z6J1XL delta 1522 zcmdmWmVeh-{tbCCQc+@4~XUe#+Ir|LL z^h4Z?CVa>yLfr4hINghv(FDaV50G6h+b8fcmNBAh0s07!mIVS>v;h4G)RHBP-Ifi) zKrJZNWB0251vIY~N==_%#>l;$&zErm%XGCF%qi3BPB1x6KRtta{`PbE%ofaIgkp23 z2g?(Cq7v;;_ogZDbn69-(CGhml5v93@b~sDex?x;yC%HT>kc#VY!516av)R)7jtZv ezsmG^E?OZc7fc{QTw<9%uZ2-!yWMH#8fgHYE$GAm diff --git a/audio/felix/tuning/fortemedia/HANDSET.mods b/audio/felix/tuning/fortemedia/HANDSET.mods index 2df51f3..0e7e722 100644 --- a/audio/felix/tuning/fortemedia/HANDSET.mods +++ b/audio/felix/tuning/fortemedia/HANDSET.mods @@ -1,7 +1,7 @@ #PLATFORM_NAME gChip #EXPORT_FLAG HANDSET #SINGLE_API_VER 1.2.1 -#SAVE_TIME 2023-03-29 19:43:53 +#SAVE_TIME 2023-04-11 17:47:20 #CASE_NAME HANDSET-HANDSET-VOICE_GENERIC-NB #PARAM_MODE FULL @@ -5924,14 +5924,14 @@ 573 0x4E5A //TX_FDEQ_GAIN_6 574 0x4E4C //TX_FDEQ_GAIN_7 575 0x464A //TX_FDEQ_GAIN_8 -576 0x565A //TX_FDEQ_GAIN_9 -577 0x5862 //TX_FDEQ_GAIN_10 -578 0x6464 //TX_FDEQ_GAIN_11 -579 0x5C60 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 -583 0x4848 //TX_FDEQ_GAIN_16 +576 0x5E5E //TX_FDEQ_GAIN_9 +577 0x5C66 //TX_FDEQ_GAIN_10 +578 0x6C6C //TX_FDEQ_GAIN_11 +579 0x666C //TX_FDEQ_GAIN_12 +580 0x7054 //TX_FDEQ_GAIN_13 +581 0x5A5E //TX_FDEQ_GAIN_14 +582 0x4044 //TX_FDEQ_GAIN_15 +583 0x4870 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 586 0x7070 //TX_FDEQ_GAIN_19 @@ -5952,9 +5952,9 @@ 601 0x0A10 //TX_FDEQ_BIN_10 602 0x110C //TX_FDEQ_BIN_11 603 0x1512 //TX_FDEQ_BIN_12 -604 0x2015 //TX_FDEQ_BIN_13 -605 0x231C //TX_FDEQ_BIN_14 -606 0x201C //TX_FDEQ_BIN_15 +604 0x1614 //TX_FDEQ_BIN_13 +605 0x1423 //TX_FDEQ_BIN_14 +606 0x1936 //TX_FDEQ_BIN_15 607 0x105C //TX_FDEQ_BIN_16 608 0x0C0A //TX_FDEQ_BIN_17 609 0x0A0A //TX_FDEQ_BIN_18 @@ -6505,9 +6505,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -6604,9 +6604,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -6703,9 +6703,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -6802,9 +6802,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -6901,9 +6901,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -7000,9 +7000,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -7085,24 +7085,24 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x0478 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM -39 0x705E //RX_FDEQ_GAIN_0 -40 0x7080 //RX_FDEQ_GAIN_1 -41 0x8290 //RX_FDEQ_GAIN_2 -42 0x8672 //RX_FDEQ_GAIN_3 -43 0x7678 //RX_FDEQ_GAIN_4 -44 0x747A //RX_FDEQ_GAIN_5 -45 0x8294 //RX_FDEQ_GAIN_6 -46 0xA6A4 //RX_FDEQ_GAIN_7 -47 0xB69E //RX_FDEQ_GAIN_8 -48 0x907C //RX_FDEQ_GAIN_9 -49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6046 //RX_FDEQ_GAIN_14 -54 0x425C //RX_FDEQ_GAIN_15 +39 0x705C //RX_FDEQ_GAIN_0 +40 0x6E7E //RX_FDEQ_GAIN_1 +41 0x808E //RX_FDEQ_GAIN_2 +42 0x8472 //RX_FDEQ_GAIN_3 +43 0x7476 //RX_FDEQ_GAIN_4 +44 0x7278 //RX_FDEQ_GAIN_5 +45 0x8092 //RX_FDEQ_GAIN_6 +46 0xA4A2 //RX_FDEQ_GAIN_7 +47 0xB49C //RX_FDEQ_GAIN_8 +48 0x8E7C //RX_FDEQ_GAIN_9 +49 0x8664 //RX_FDEQ_GAIN_10 +50 0x5A78 //RX_FDEQ_GAIN_11 +51 0x7C7C //RX_FDEQ_GAIN_12 +52 0x7888 //RX_FDEQ_GAIN_13 +53 0x7852 //RX_FDEQ_GAIN_14 +54 0x4C70 //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -7120,13 +7120,13 @@ 69 0x0B09 //RX_FDEQ_BIN_6 70 0x0506 //RX_FDEQ_BIN_7 71 0x0C09 //RX_FDEQ_BIN_8 -72 0x0A13 //RX_FDEQ_BIN_9 -73 0x1A05 //RX_FDEQ_BIN_10 -74 0x120B //RX_FDEQ_BIN_11 +72 0x0A0E //RX_FDEQ_BIN_9 +73 0x1F06 //RX_FDEQ_BIN_10 +74 0x110B //RX_FDEQ_BIN_11 75 0x0816 //RX_FDEQ_BIN_12 76 0x141A //RX_FDEQ_BIN_13 -77 0x223F //RX_FDEQ_BIN_14 -78 0x3C5E //RX_FDEQ_BIN_15 +77 0x2228 //RX_FDEQ_BIN_14 +78 0x5160 //RX_FDEQ_BIN_15 79 0x0000 //RX_FDEQ_BIN_16 80 0x0000 //RX_FDEQ_BIN_17 81 0x0000 //RX_FDEQ_BIN_18 @@ -16608,9 +16608,9 @@ 577 0x585A //TX_FDEQ_GAIN_10 578 0x5C5C //TX_FDEQ_GAIN_11 579 0x5460 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 +580 0x644E //TX_FDEQ_GAIN_13 +581 0x6448 //TX_FDEQ_GAIN_14 +582 0x6048 //TX_FDEQ_GAIN_15 583 0x4848 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 @@ -17184,11 +17184,11 @@ 47 0xB69E //RX_FDEQ_GAIN_8 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 -54 0x445C //RX_FDEQ_GAIN_15 +50 0x6264 //RX_FDEQ_GAIN_11 +51 0x6464 //RX_FDEQ_GAIN_12 +52 0x6A78 //RX_FDEQ_GAIN_13 +53 0x6C50 //RX_FDEQ_GAIN_14 +54 0x4C5C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -17283,11 +17283,11 @@ 47 0xB69E //RX_FDEQ_GAIN_8 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 -54 0x445C //RX_FDEQ_GAIN_15 +50 0x6264 //RX_FDEQ_GAIN_11 +51 0x6464 //RX_FDEQ_GAIN_12 +52 0x6A78 //RX_FDEQ_GAIN_13 +53 0x6C50 //RX_FDEQ_GAIN_14 +54 0x4C5C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -17382,11 +17382,11 @@ 47 0xB69E //RX_FDEQ_GAIN_8 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 -54 0x445C //RX_FDEQ_GAIN_15 +50 0x6264 //RX_FDEQ_GAIN_11 +51 0x6464 //RX_FDEQ_GAIN_12 +52 0x6A78 //RX_FDEQ_GAIN_13 +53 0x6C50 //RX_FDEQ_GAIN_14 +54 0x4C5C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -17481,11 +17481,11 @@ 47 0xB69E //RX_FDEQ_GAIN_8 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 -54 0x445C //RX_FDEQ_GAIN_15 +50 0x6264 //RX_FDEQ_GAIN_11 +51 0x6464 //RX_FDEQ_GAIN_12 +52 0x6A78 //RX_FDEQ_GAIN_13 +53 0x6C50 //RX_FDEQ_GAIN_14 +54 0x4C5C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -17580,11 +17580,11 @@ 47 0xB69E //RX_FDEQ_GAIN_8 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 -54 0x445C //RX_FDEQ_GAIN_15 +50 0x6264 //RX_FDEQ_GAIN_11 +51 0x6464 //RX_FDEQ_GAIN_12 +52 0x6A78 //RX_FDEQ_GAIN_13 +53 0x6C50 //RX_FDEQ_GAIN_14 +54 0x4C5C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -17679,11 +17679,11 @@ 47 0xB69E //RX_FDEQ_GAIN_8 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 -54 0x445C //RX_FDEQ_GAIN_15 +50 0x6264 //RX_FDEQ_GAIN_11 +51 0x6464 //RX_FDEQ_GAIN_12 +52 0x6A78 //RX_FDEQ_GAIN_13 +53 0x6C50 //RX_FDEQ_GAIN_14 +54 0x4C5C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -17778,11 +17778,11 @@ 47 0xB69E //RX_FDEQ_GAIN_8 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6046 //RX_FDEQ_GAIN_14 -54 0x425C //RX_FDEQ_GAIN_15 +50 0x6264 //RX_FDEQ_GAIN_11 +51 0x6464 //RX_FDEQ_GAIN_12 +52 0x6A78 //RX_FDEQ_GAIN_13 +53 0x6C50 //RX_FDEQ_GAIN_14 +54 0x4E5C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -21658,9 +21658,9 @@ 287 0x0020 //TX_NS_LVL_CTRL_6 288 0x0017 //TX_NS_LVL_CTRL_7 289 0x000E //TX_MIN_GAIN_S_0 -290 0x000D //TX_MIN_GAIN_S_1 -291 0x000C //TX_MIN_GAIN_S_2 -292 0x001C //TX_MIN_GAIN_S_3 +290 0x0018 //TX_MIN_GAIN_S_1 +291 0x0020 //TX_MIN_GAIN_S_2 +292 0x0020 //TX_MIN_GAIN_S_3 293 0x0012 //TX_MIN_GAIN_S_4 294 0x0012 //TX_MIN_GAIN_S_5 295 0x0018 //TX_MIN_GAIN_S_6 @@ -21699,18 +21699,18 @@ 328 0x7FFF //TX_B_POST_FILT_6 329 0x3000 //TX_B_POST_FILT_7 330 0x1000 //TX_B_LESSCUT_RTO_S_0 -331 0x1000 //TX_B_LESSCUT_RTO_S_1 -332 0x1000 //TX_B_LESSCUT_RTO_S_2 -333 0x1000 //TX_B_LESSCUT_RTO_S_3 +331 0x6000 //TX_B_LESSCUT_RTO_S_1 +332 0x6000 //TX_B_LESSCUT_RTO_S_2 +333 0x6000 //TX_B_LESSCUT_RTO_S_3 334 0x1000 //TX_B_LESSCUT_RTO_S_4 335 0x1000 //TX_B_LESSCUT_RTO_S_5 336 0x1000 //TX_B_LESSCUT_RTO_S_6 337 0x1000 //TX_B_LESSCUT_RTO_S_7 338 0x7E14 //TX_LAMBDA_PFILT 339 0x7C29 //TX_LAMBDA_PFILT_S_0 -340 0x7C29 //TX_LAMBDA_PFILT_S_1 -341 0x7C29 //TX_LAMBDA_PFILT_S_2 -342 0x7C29 //TX_LAMBDA_PFILT_S_3 +340 0x7E00 //TX_LAMBDA_PFILT_S_1 +341 0x7E00 //TX_LAMBDA_PFILT_S_2 +342 0x7E00 //TX_LAMBDA_PFILT_S_3 343 0x7C29 //TX_LAMBDA_PFILT_S_4 344 0x7C29 //TX_LAMBDA_PFILT_S_5 345 0x7C29 //TX_LAMBDA_PFILT_S_6 @@ -21944,14 +21944,14 @@ 573 0x4E5A //TX_FDEQ_GAIN_6 574 0x4E4C //TX_FDEQ_GAIN_7 575 0x464A //TX_FDEQ_GAIN_8 -576 0x565A //TX_FDEQ_GAIN_9 -577 0x5862 //TX_FDEQ_GAIN_10 -578 0x6464 //TX_FDEQ_GAIN_11 -579 0x5C60 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 -583 0x4848 //TX_FDEQ_GAIN_16 +576 0x5E5E //TX_FDEQ_GAIN_9 +577 0x5C66 //TX_FDEQ_GAIN_10 +578 0x6C6C //TX_FDEQ_GAIN_11 +579 0x666C //TX_FDEQ_GAIN_12 +580 0x7054 //TX_FDEQ_GAIN_13 +581 0x5A5E //TX_FDEQ_GAIN_14 +582 0x4044 //TX_FDEQ_GAIN_15 +583 0x4870 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 586 0x7070 //TX_FDEQ_GAIN_19 @@ -21972,9 +21972,9 @@ 601 0x0A10 //TX_FDEQ_BIN_10 602 0x110C //TX_FDEQ_BIN_11 603 0x1512 //TX_FDEQ_BIN_12 -604 0x2015 //TX_FDEQ_BIN_13 -605 0x231C //TX_FDEQ_BIN_14 -606 0x201C //TX_FDEQ_BIN_15 +604 0x1614 //TX_FDEQ_BIN_13 +605 0x1423 //TX_FDEQ_BIN_14 +606 0x1936 //TX_FDEQ_BIN_15 607 0x105C //TX_FDEQ_BIN_16 608 0x0C0A //TX_FDEQ_BIN_17 609 0x0A0A //TX_FDEQ_BIN_18 @@ -22511,7 +22511,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03D3 //RX_TDDRC_DRC_GAIN +124 0x042B //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -22525,9 +22525,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -22610,7 +22610,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03F5 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -22624,9 +22624,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -22709,7 +22709,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03DE //RX_TDDRC_DRC_GAIN +124 0x0438 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -22723,9 +22723,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -22808,7 +22808,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03F5 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -22822,9 +22822,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -22907,7 +22907,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03EA //RX_TDDRC_DRC_GAIN +124 0x0444 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -22921,9 +22921,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -23006,7 +23006,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03EA //RX_TDDRC_DRC_GAIN +124 0x0444 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -23020,9 +23020,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -23105,24 +23105,24 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x043E //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM -39 0x705E //RX_FDEQ_GAIN_0 -40 0x7080 //RX_FDEQ_GAIN_1 -41 0x8290 //RX_FDEQ_GAIN_2 -42 0x8672 //RX_FDEQ_GAIN_3 -43 0x7678 //RX_FDEQ_GAIN_4 -44 0x747A //RX_FDEQ_GAIN_5 -45 0x8294 //RX_FDEQ_GAIN_6 -46 0xA6A4 //RX_FDEQ_GAIN_7 -47 0xB69E //RX_FDEQ_GAIN_8 -48 0x907C //RX_FDEQ_GAIN_9 -49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6046 //RX_FDEQ_GAIN_14 -54 0x425C //RX_FDEQ_GAIN_15 +39 0x705C //RX_FDEQ_GAIN_0 +40 0x6E7E //RX_FDEQ_GAIN_1 +41 0x808E //RX_FDEQ_GAIN_2 +42 0x8472 //RX_FDEQ_GAIN_3 +43 0x7476 //RX_FDEQ_GAIN_4 +44 0x7278 //RX_FDEQ_GAIN_5 +45 0x8092 //RX_FDEQ_GAIN_6 +46 0xA4A2 //RX_FDEQ_GAIN_7 +47 0xB49C //RX_FDEQ_GAIN_8 +48 0x8E7C //RX_FDEQ_GAIN_9 +49 0x8664 //RX_FDEQ_GAIN_10 +50 0x5A78 //RX_FDEQ_GAIN_11 +51 0x7C7C //RX_FDEQ_GAIN_12 +52 0x7888 //RX_FDEQ_GAIN_13 +53 0x7852 //RX_FDEQ_GAIN_14 +54 0x4C70 //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -23140,13 +23140,13 @@ 69 0x0B09 //RX_FDEQ_BIN_6 70 0x0506 //RX_FDEQ_BIN_7 71 0x0C09 //RX_FDEQ_BIN_8 -72 0x0A13 //RX_FDEQ_BIN_9 -73 0x1A05 //RX_FDEQ_BIN_10 -74 0x120B //RX_FDEQ_BIN_11 +72 0x0A0E //RX_FDEQ_BIN_9 +73 0x1F06 //RX_FDEQ_BIN_10 +74 0x110B //RX_FDEQ_BIN_11 75 0x0816 //RX_FDEQ_BIN_12 76 0x141A //RX_FDEQ_BIN_13 -77 0x223F //RX_FDEQ_BIN_14 -78 0x3C5E //RX_FDEQ_BIN_15 +77 0x2228 //RX_FDEQ_BIN_14 +78 0x5160 //RX_FDEQ_BIN_15 79 0x0000 //RX_FDEQ_BIN_16 80 0x0000 //RX_FDEQ_BIN_17 81 0x0000 //RX_FDEQ_BIN_18 @@ -27284,14 +27284,14 @@ 573 0x4E5A //TX_FDEQ_GAIN_6 574 0x4E4C //TX_FDEQ_GAIN_7 575 0x464A //TX_FDEQ_GAIN_8 -576 0x565A //TX_FDEQ_GAIN_9 -577 0x5862 //TX_FDEQ_GAIN_10 -578 0x6464 //TX_FDEQ_GAIN_11 -579 0x5C60 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 -583 0x4848 //TX_FDEQ_GAIN_16 +576 0x5E5E //TX_FDEQ_GAIN_9 +577 0x5C66 //TX_FDEQ_GAIN_10 +578 0x6C6C //TX_FDEQ_GAIN_11 +579 0x666C //TX_FDEQ_GAIN_12 +580 0x7054 //TX_FDEQ_GAIN_13 +581 0x5A5E //TX_FDEQ_GAIN_14 +582 0x4044 //TX_FDEQ_GAIN_15 +583 0x4870 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 586 0x7070 //TX_FDEQ_GAIN_19 @@ -27312,9 +27312,9 @@ 601 0x0A10 //TX_FDEQ_BIN_10 602 0x110C //TX_FDEQ_BIN_11 603 0x1512 //TX_FDEQ_BIN_12 -604 0x2015 //TX_FDEQ_BIN_13 -605 0x231C //TX_FDEQ_BIN_14 -606 0x201C //TX_FDEQ_BIN_15 +604 0x1614 //TX_FDEQ_BIN_13 +605 0x1423 //TX_FDEQ_BIN_14 +606 0x1936 //TX_FDEQ_BIN_15 607 0x105C //TX_FDEQ_BIN_16 608 0x0C0A //TX_FDEQ_BIN_17 609 0x0A0A //TX_FDEQ_BIN_18 @@ -27851,7 +27851,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03D3 //RX_TDDRC_DRC_GAIN +124 0x042B //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -27865,9 +27865,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -27950,7 +27950,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03F5 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -27964,9 +27964,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -28049,7 +28049,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03DE //RX_TDDRC_DRC_GAIN +124 0x0438 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -28063,9 +28063,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -28148,7 +28148,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03F5 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -28162,9 +28162,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -28247,7 +28247,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03EA //RX_TDDRC_DRC_GAIN +124 0x0444 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -28261,9 +28261,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -28346,7 +28346,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03EA //RX_TDDRC_DRC_GAIN +124 0x0444 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -28360,9 +28360,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -28445,24 +28445,24 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x043E //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM -39 0x705E //RX_FDEQ_GAIN_0 -40 0x7080 //RX_FDEQ_GAIN_1 -41 0x8290 //RX_FDEQ_GAIN_2 -42 0x8672 //RX_FDEQ_GAIN_3 -43 0x7678 //RX_FDEQ_GAIN_4 -44 0x747A //RX_FDEQ_GAIN_5 -45 0x8294 //RX_FDEQ_GAIN_6 -46 0xA6A4 //RX_FDEQ_GAIN_7 -47 0xB69E //RX_FDEQ_GAIN_8 -48 0x907C //RX_FDEQ_GAIN_9 -49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6046 //RX_FDEQ_GAIN_14 -54 0x425C //RX_FDEQ_GAIN_15 +39 0x705C //RX_FDEQ_GAIN_0 +40 0x6E7E //RX_FDEQ_GAIN_1 +41 0x808E //RX_FDEQ_GAIN_2 +42 0x8472 //RX_FDEQ_GAIN_3 +43 0x7476 //RX_FDEQ_GAIN_4 +44 0x7278 //RX_FDEQ_GAIN_5 +45 0x8092 //RX_FDEQ_GAIN_6 +46 0xA4A2 //RX_FDEQ_GAIN_7 +47 0xB49C //RX_FDEQ_GAIN_8 +48 0x8E7C //RX_FDEQ_GAIN_9 +49 0x8664 //RX_FDEQ_GAIN_10 +50 0x5A78 //RX_FDEQ_GAIN_11 +51 0x7C7C //RX_FDEQ_GAIN_12 +52 0x7888 //RX_FDEQ_GAIN_13 +53 0x7852 //RX_FDEQ_GAIN_14 +54 0x4C70 //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -28480,13 +28480,13 @@ 69 0x0B09 //RX_FDEQ_BIN_6 70 0x0506 //RX_FDEQ_BIN_7 71 0x0C09 //RX_FDEQ_BIN_8 -72 0x0A13 //RX_FDEQ_BIN_9 -73 0x1A05 //RX_FDEQ_BIN_10 -74 0x120B //RX_FDEQ_BIN_11 +72 0x0A0E //RX_FDEQ_BIN_9 +73 0x1F06 //RX_FDEQ_BIN_10 +74 0x110B //RX_FDEQ_BIN_11 75 0x0816 //RX_FDEQ_BIN_12 76 0x141A //RX_FDEQ_BIN_13 -77 0x223F //RX_FDEQ_BIN_14 -78 0x3C5E //RX_FDEQ_BIN_15 +77 0x2228 //RX_FDEQ_BIN_14 +78 0x5160 //RX_FDEQ_BIN_15 79 0x0000 //RX_FDEQ_BIN_16 80 0x0000 //RX_FDEQ_BIN_17 81 0x0000 //RX_FDEQ_BIN_18 @@ -32624,14 +32624,14 @@ 573 0x4E5A //TX_FDEQ_GAIN_6 574 0x4E4C //TX_FDEQ_GAIN_7 575 0x464A //TX_FDEQ_GAIN_8 -576 0x565A //TX_FDEQ_GAIN_9 -577 0x5862 //TX_FDEQ_GAIN_10 -578 0x6464 //TX_FDEQ_GAIN_11 -579 0x5C60 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 -583 0x4848 //TX_FDEQ_GAIN_16 +576 0x5E5E //TX_FDEQ_GAIN_9 +577 0x5C66 //TX_FDEQ_GAIN_10 +578 0x6C6C //TX_FDEQ_GAIN_11 +579 0x666C //TX_FDEQ_GAIN_12 +580 0x7054 //TX_FDEQ_GAIN_13 +581 0x5A5E //TX_FDEQ_GAIN_14 +582 0x4044 //TX_FDEQ_GAIN_15 +583 0x4870 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 586 0x7070 //TX_FDEQ_GAIN_19 @@ -32652,9 +32652,9 @@ 601 0x0A10 //TX_FDEQ_BIN_10 602 0x110C //TX_FDEQ_BIN_11 603 0x1512 //TX_FDEQ_BIN_12 -604 0x2015 //TX_FDEQ_BIN_13 -605 0x231C //TX_FDEQ_BIN_14 -606 0x201C //TX_FDEQ_BIN_15 +604 0x1614 //TX_FDEQ_BIN_13 +605 0x1423 //TX_FDEQ_BIN_14 +606 0x1936 //TX_FDEQ_BIN_15 607 0x105C //TX_FDEQ_BIN_16 608 0x0C0A //TX_FDEQ_BIN_17 609 0x0A0A //TX_FDEQ_BIN_18 @@ -33191,7 +33191,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03D3 //RX_TDDRC_DRC_GAIN +124 0x042B //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -33205,9 +33205,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -33290,7 +33290,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03F5 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -33304,9 +33304,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -33389,7 +33389,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03DE //RX_TDDRC_DRC_GAIN +124 0x0438 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -33403,9 +33403,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -33488,7 +33488,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03F5 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -33502,9 +33502,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -33587,7 +33587,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03EA //RX_TDDRC_DRC_GAIN +124 0x0444 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -33601,9 +33601,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -33686,7 +33686,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03EA //RX_TDDRC_DRC_GAIN +124 0x0444 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -33700,9 +33700,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -33785,24 +33785,24 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x043E //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM -39 0x705E //RX_FDEQ_GAIN_0 -40 0x7080 //RX_FDEQ_GAIN_1 -41 0x8290 //RX_FDEQ_GAIN_2 -42 0x8672 //RX_FDEQ_GAIN_3 -43 0x7678 //RX_FDEQ_GAIN_4 -44 0x747A //RX_FDEQ_GAIN_5 -45 0x8294 //RX_FDEQ_GAIN_6 -46 0xA6A4 //RX_FDEQ_GAIN_7 -47 0xB69E //RX_FDEQ_GAIN_8 -48 0x907C //RX_FDEQ_GAIN_9 -49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6046 //RX_FDEQ_GAIN_14 -54 0x425C //RX_FDEQ_GAIN_15 +39 0x705C //RX_FDEQ_GAIN_0 +40 0x6E7E //RX_FDEQ_GAIN_1 +41 0x808E //RX_FDEQ_GAIN_2 +42 0x8472 //RX_FDEQ_GAIN_3 +43 0x7476 //RX_FDEQ_GAIN_4 +44 0x7278 //RX_FDEQ_GAIN_5 +45 0x8092 //RX_FDEQ_GAIN_6 +46 0xA4A2 //RX_FDEQ_GAIN_7 +47 0xB49C //RX_FDEQ_GAIN_8 +48 0x8E7C //RX_FDEQ_GAIN_9 +49 0x8664 //RX_FDEQ_GAIN_10 +50 0x5A78 //RX_FDEQ_GAIN_11 +51 0x7C7C //RX_FDEQ_GAIN_12 +52 0x7888 //RX_FDEQ_GAIN_13 +53 0x7852 //RX_FDEQ_GAIN_14 +54 0x4C70 //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -33820,13 +33820,13 @@ 69 0x0B09 //RX_FDEQ_BIN_6 70 0x0506 //RX_FDEQ_BIN_7 71 0x0C09 //RX_FDEQ_BIN_8 -72 0x0A13 //RX_FDEQ_BIN_9 -73 0x1A05 //RX_FDEQ_BIN_10 -74 0x120B //RX_FDEQ_BIN_11 +72 0x0A0E //RX_FDEQ_BIN_9 +73 0x1F06 //RX_FDEQ_BIN_10 +74 0x110B //RX_FDEQ_BIN_11 75 0x0816 //RX_FDEQ_BIN_12 76 0x141A //RX_FDEQ_BIN_13 -77 0x223F //RX_FDEQ_BIN_14 -78 0x3C5E //RX_FDEQ_BIN_15 +77 0x2228 //RX_FDEQ_BIN_14 +78 0x5160 //RX_FDEQ_BIN_15 79 0x0000 //RX_FDEQ_BIN_16 80 0x0000 //RX_FDEQ_BIN_17 81 0x0000 //RX_FDEQ_BIN_18 @@ -37964,14 +37964,14 @@ 573 0x4E5A //TX_FDEQ_GAIN_6 574 0x4E4C //TX_FDEQ_GAIN_7 575 0x464A //TX_FDEQ_GAIN_8 -576 0x565A //TX_FDEQ_GAIN_9 -577 0x5862 //TX_FDEQ_GAIN_10 -578 0x6464 //TX_FDEQ_GAIN_11 -579 0x5C60 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 -583 0x4848 //TX_FDEQ_GAIN_16 +576 0x5E5E //TX_FDEQ_GAIN_9 +577 0x5C66 //TX_FDEQ_GAIN_10 +578 0x6C6C //TX_FDEQ_GAIN_11 +579 0x666C //TX_FDEQ_GAIN_12 +580 0x7054 //TX_FDEQ_GAIN_13 +581 0x5A5E //TX_FDEQ_GAIN_14 +582 0x4044 //TX_FDEQ_GAIN_15 +583 0x4870 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 586 0x7070 //TX_FDEQ_GAIN_19 @@ -37992,9 +37992,9 @@ 601 0x0A10 //TX_FDEQ_BIN_10 602 0x110C //TX_FDEQ_BIN_11 603 0x1512 //TX_FDEQ_BIN_12 -604 0x2015 //TX_FDEQ_BIN_13 -605 0x231C //TX_FDEQ_BIN_14 -606 0x201C //TX_FDEQ_BIN_15 +604 0x1614 //TX_FDEQ_BIN_13 +605 0x1423 //TX_FDEQ_BIN_14 +606 0x1936 //TX_FDEQ_BIN_15 607 0x105C //TX_FDEQ_BIN_16 608 0x0C0A //TX_FDEQ_BIN_17 609 0x0A0A //TX_FDEQ_BIN_18 @@ -38531,7 +38531,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03D3 //RX_TDDRC_DRC_GAIN +124 0x042B //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -38545,9 +38545,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -38630,7 +38630,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03F5 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -38644,9 +38644,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -38729,7 +38729,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03DE //RX_TDDRC_DRC_GAIN +124 0x0438 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -38743,9 +38743,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -38828,7 +38828,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03F5 //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -38842,9 +38842,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -38927,7 +38927,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03EA //RX_TDDRC_DRC_GAIN +124 0x0444 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -38941,9 +38941,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -39026,7 +39026,7 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x03EA //RX_TDDRC_DRC_GAIN +124 0x0444 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM 39 0x705E //RX_FDEQ_GAIN_0 40 0x6C7C //RX_FDEQ_GAIN_1 @@ -39040,9 +39040,9 @@ 48 0x907C //RX_FDEQ_GAIN_9 49 0x7C68 //RX_FDEQ_GAIN_10 50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6048 //RX_FDEQ_GAIN_14 +51 0x6068 //RX_FDEQ_GAIN_12 +52 0x6E7C //RX_FDEQ_GAIN_13 +53 0x7048 //RX_FDEQ_GAIN_14 54 0x445C //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 @@ -39125,24 +39125,24 @@ 121 0x199A //RX_TDDRC_HMNC_GAIN 122 0x0001 //RX_TDDRC_SMT_FLAG 123 0x0CCD //RX_TDDRC_SMT_W -124 0x043E //RX_TDDRC_DRC_GAIN +124 0x0451 //RX_TDDRC_DRC_GAIN 38 0x0020 //RX_FDEQ_SUBNUM -39 0x705E //RX_FDEQ_GAIN_0 -40 0x7080 //RX_FDEQ_GAIN_1 -41 0x8290 //RX_FDEQ_GAIN_2 -42 0x8672 //RX_FDEQ_GAIN_3 -43 0x7678 //RX_FDEQ_GAIN_4 -44 0x747A //RX_FDEQ_GAIN_5 -45 0x8294 //RX_FDEQ_GAIN_6 -46 0xA6A4 //RX_FDEQ_GAIN_7 -47 0xB69E //RX_FDEQ_GAIN_8 -48 0x907C //RX_FDEQ_GAIN_9 -49 0x7C68 //RX_FDEQ_GAIN_10 -50 0x5658 //RX_FDEQ_GAIN_11 -51 0x5858 //RX_FDEQ_GAIN_12 -52 0x5E6C //RX_FDEQ_GAIN_13 -53 0x6046 //RX_FDEQ_GAIN_14 -54 0x425C //RX_FDEQ_GAIN_15 +39 0x705C //RX_FDEQ_GAIN_0 +40 0x6E7E //RX_FDEQ_GAIN_1 +41 0x808E //RX_FDEQ_GAIN_2 +42 0x8472 //RX_FDEQ_GAIN_3 +43 0x7476 //RX_FDEQ_GAIN_4 +44 0x7278 //RX_FDEQ_GAIN_5 +45 0x8092 //RX_FDEQ_GAIN_6 +46 0xA4A2 //RX_FDEQ_GAIN_7 +47 0xB49C //RX_FDEQ_GAIN_8 +48 0x8E7C //RX_FDEQ_GAIN_9 +49 0x8664 //RX_FDEQ_GAIN_10 +50 0x5A78 //RX_FDEQ_GAIN_11 +51 0x7C7C //RX_FDEQ_GAIN_12 +52 0x7888 //RX_FDEQ_GAIN_13 +53 0x7852 //RX_FDEQ_GAIN_14 +54 0x4C70 //RX_FDEQ_GAIN_15 55 0x4848 //RX_FDEQ_GAIN_16 56 0x4848 //RX_FDEQ_GAIN_17 57 0x4848 //RX_FDEQ_GAIN_18 @@ -39160,13 +39160,13 @@ 69 0x0B09 //RX_FDEQ_BIN_6 70 0x0506 //RX_FDEQ_BIN_7 71 0x0C09 //RX_FDEQ_BIN_8 -72 0x0A13 //RX_FDEQ_BIN_9 -73 0x1A05 //RX_FDEQ_BIN_10 -74 0x120B //RX_FDEQ_BIN_11 +72 0x0A0E //RX_FDEQ_BIN_9 +73 0x1F06 //RX_FDEQ_BIN_10 +74 0x110B //RX_FDEQ_BIN_11 75 0x0816 //RX_FDEQ_BIN_12 76 0x141A //RX_FDEQ_BIN_13 -77 0x223F //RX_FDEQ_BIN_14 -78 0x3C5E //RX_FDEQ_BIN_15 +77 0x2228 //RX_FDEQ_BIN_14 +78 0x5160 //RX_FDEQ_BIN_15 79 0x0000 //RX_FDEQ_BIN_16 80 0x0000 //RX_FDEQ_BIN_17 81 0x0000 //RX_FDEQ_BIN_18 @@ -45974,14 +45974,14 @@ 573 0x4E5A //TX_FDEQ_GAIN_6 574 0x4E4C //TX_FDEQ_GAIN_7 575 0x464A //TX_FDEQ_GAIN_8 -576 0x565A //TX_FDEQ_GAIN_9 -577 0x5862 //TX_FDEQ_GAIN_10 -578 0x6464 //TX_FDEQ_GAIN_11 -579 0x5C60 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 -583 0x4848 //TX_FDEQ_GAIN_16 +576 0x5E5E //TX_FDEQ_GAIN_9 +577 0x5C66 //TX_FDEQ_GAIN_10 +578 0x6C6C //TX_FDEQ_GAIN_11 +579 0x666C //TX_FDEQ_GAIN_12 +580 0x7054 //TX_FDEQ_GAIN_13 +581 0x5A5E //TX_FDEQ_GAIN_14 +582 0x4044 //TX_FDEQ_GAIN_15 +583 0x4870 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 586 0x7070 //TX_FDEQ_GAIN_19 @@ -46002,9 +46002,9 @@ 601 0x0A10 //TX_FDEQ_BIN_10 602 0x110C //TX_FDEQ_BIN_11 603 0x1512 //TX_FDEQ_BIN_12 -604 0x2015 //TX_FDEQ_BIN_13 -605 0x231C //TX_FDEQ_BIN_14 -606 0x201C //TX_FDEQ_BIN_15 +604 0x1614 //TX_FDEQ_BIN_13 +605 0x1423 //TX_FDEQ_BIN_14 +606 0x1936 //TX_FDEQ_BIN_15 607 0x105C //TX_FDEQ_BIN_16 608 0x0C0A //TX_FDEQ_BIN_17 609 0x0A0A //TX_FDEQ_BIN_18 @@ -56658,9 +56658,9 @@ 577 0x585A //TX_FDEQ_GAIN_10 578 0x5C5C //TX_FDEQ_GAIN_11 579 0x5460 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 +580 0x644E //TX_FDEQ_GAIN_13 +581 0x6448 //TX_FDEQ_GAIN_14 +582 0x6048 //TX_FDEQ_GAIN_15 583 0x4848 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 @@ -61994,14 +61994,14 @@ 573 0x4E5A //TX_FDEQ_GAIN_6 574 0x4E4C //TX_FDEQ_GAIN_7 575 0x464A //TX_FDEQ_GAIN_8 -576 0x565A //TX_FDEQ_GAIN_9 -577 0x5862 //TX_FDEQ_GAIN_10 -578 0x6464 //TX_FDEQ_GAIN_11 -579 0x5C60 //TX_FDEQ_GAIN_12 -580 0x6448 //TX_FDEQ_GAIN_13 -581 0x5E38 //TX_FDEQ_GAIN_14 -582 0x5034 //TX_FDEQ_GAIN_15 -583 0x4848 //TX_FDEQ_GAIN_16 +576 0x5E5E //TX_FDEQ_GAIN_9 +577 0x5C66 //TX_FDEQ_GAIN_10 +578 0x6C6C //TX_FDEQ_GAIN_11 +579 0x666C //TX_FDEQ_GAIN_12 +580 0x7054 //TX_FDEQ_GAIN_13 +581 0x5A5E //TX_FDEQ_GAIN_14 +582 0x4044 //TX_FDEQ_GAIN_15 +583 0x4870 //TX_FDEQ_GAIN_16 584 0x7070 //TX_FDEQ_GAIN_17 585 0x7070 //TX_FDEQ_GAIN_18 586 0x7070 //TX_FDEQ_GAIN_19 @@ -62022,9 +62022,9 @@ 601 0x0A10 //TX_FDEQ_BIN_10 602 0x110C //TX_FDEQ_BIN_11 603 0x1512 //TX_FDEQ_BIN_12 -604 0x2015 //TX_FDEQ_BIN_13 -605 0x231C //TX_FDEQ_BIN_14 -606 0x201C //TX_FDEQ_BIN_15 +604 0x1614 //TX_FDEQ_BIN_13 +605 0x1423 //TX_FDEQ_BIN_14 +606 0x1936 //TX_FDEQ_BIN_15 607 0x105C //TX_FDEQ_BIN_16 608 0x0C0A //TX_FDEQ_BIN_17 609 0x0A0A //TX_FDEQ_BIN_18 @@ -62309,7 +62309,7 @@ 888 0x0028 //TX_FASTNS_ARSPC_TH 889 0xC000 //TX_FASTNS_MASK5_TH 890 0x0810 //TX_POSTSSA_MIN_G_VR_MASK -891 0x1000 //TX_A_LESSCUT_RTO_MASK +891 0x7FFF //TX_A_LESSCUT_RTO_MASK 892 0x1770 //TX_FASTNS_NOISETH 893 0xC000 //TX_FASTNS_SSA_THLFL 894 0xC000 //TX_FASTNS_SSA_THHFL From fe5cf9f87c73b7b6ed580385bd3d0e491f950cc7 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Thu, 20 Apr 2023 18:43:34 +0800 Subject: [PATCH 068/117] Add device mk OWNERS Bug: 278167548 Change-Id: I8c1e4b3d50f9511fe67798076323b91e753661a7 --- OWNERS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/OWNERS b/OWNERS index 1451bd8..79003ba 100644 --- a/OWNERS +++ b/OWNERS @@ -1 +1,4 @@ per-file powerhint.json = jychen@google.com,jenhaochen@google.com,wvw@google.com,joaodias@google.com + +# per-file for Pixel device makefiles, see go/pixel-device-mk-owner-checklist for details. +per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:master:/OWNERS From 479ce68e374d84bd956afd092053c37159f0d3f3 Mon Sep 17 00:00:00 2001 From: "Peter (YM)" Date: Fri, 21 Apr 2023 12:39:52 +0800 Subject: [PATCH 069/117] thermal: lower tj control temp during battery save Use LOW_POWER power hint to detect and lower the control temp for junction control loops Bug: 266011718 Test: Build and boot on device. Check thermal control temperatures during battery save Change-Id: Ic2f643a5c48aefdd7ea137674513cd57c82ab23d Signed-off-by: Peter (YM) --- powerhint.json | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/powerhint.json b/powerhint.json index 6fee56d..41dc286 100644 --- a/powerhint.json +++ b/powerhint.json @@ -1499,6 +1499,72 @@ "Duration": 0, "Value": "1" }, + { + "PowerHint": "LOW_POWER", + "Node": "BigControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "MidControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "LittleControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "G3dControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "TpuControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "AurControlTempSet", + "Duration": 0, + "Value": "80000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "BigSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "MidSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "LittleSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "G3dSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, + { + "PowerHint": "LOW_POWER", + "Node": "TpuSwitchOnTempSet", + "Duration": 0, + "Value": "60000" + }, { "PowerHint": "REFRESH_120FPS", "Node": "TAUClampBoost", From f4b0128fe7317fab414d721e1e618c0ab080531d Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Mon, 24 Apr 2023 14:26:20 +0800 Subject: [PATCH 070/117] Update Felix SVN to 3 Bug: 278035362 Change-Id: I59d8dd8f1b7dada248e5b632e991edc38d4b8764 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index eda8abb..aa72ce2 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=2 + ro.vendor.build.svn=3 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 497242f2d4b9add3a7f18b77376d3cfeb912cd5d Mon Sep 17 00:00:00 2001 From: Chungkai Mei Date: Mon, 24 Apr 2023 04:00:55 +0000 Subject: [PATCH 071/117] Enable load kernel modules in parallel enable load kernel modules in parallel but load some specific modules in sequential Test: reboot more than 500 times without failure Bug: 229794277 Change-Id: I6a2f373403db18fa9dd80a1289860d6b66395472 Signed-off-by: Chungkai Mei --- felix/BoardConfig.mk | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/felix/BoardConfig.mk b/felix/BoardConfig.mk index bba58ae..856eb42 100644 --- a/felix/BoardConfig.mk +++ b/felix/BoardConfig.mk @@ -20,6 +20,13 @@ BOARD_USES_GENERIC_AUDIO := true USES_DEVICE_GOOGLE_FELIX := true BOARD_KERNEL_CMDLINE += swiotlb=noforce +# Enable load module in parallel +BOARD_BOOTCONFIG += androidboot.load_modules_parallel=true + +# The modules which need to be loaded in sequential +BOARD_KERNEL_CMDLINE += exynos_drm.load_sequential=1 +BOARD_KERNEL_CMDLINE += panel-samsung-ana6707-f10.load_sequential=1 + #Display USES_IDISPLAY_INTF_SEC := true From b41596e4a7a60ddf41146d9606f3d8ac4a50673b Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Tue, 25 Apr 2023 16:24:57 +0800 Subject: [PATCH 072/117] Update Felix SVN to 4 Bug: 278035362 Change-Id: I024e8829db5addeb09984decbe4f7b93e304530e --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index aa72ce2..b67849f 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=3 + ro.vendor.build.svn=4 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 99bd5e7c566e2002b4e49be981cbfe15038f062e Mon Sep 17 00:00:00 2001 From: Rick Yiu Date: Wed, 26 Apr 2023 09:14:31 +0000 Subject: [PATCH 073/117] Fix wrong setting of ML_ACC Bug: 261695590 Test: device boots Change-Id: I53ee01f334009c460eae1ea4faa7bdde094d22f4 --- powerhint.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/powerhint.json b/powerhint.json index f943ad4..29446c7 100644 --- a/powerhint.json +++ b/powerhint.json @@ -2174,7 +2174,7 @@ "PowerHint": "ML_ACC", "Node": "PMQoSCpuDmaLatency", "Duration": 2000, - "Value": "55" + "Value": "44" } ], "AdpfConfig": [ From 537ad768a06ba60ecf70602deb7bc9e34b5ddb6c Mon Sep 17 00:00:00 2001 From: Rios Kao Date: Thu, 27 Apr 2023 03:57:21 +0000 Subject: [PATCH 074/117] audio: add smartfeature table for chre tuning note: add smartfeature.gstf that only used for Hotword pipeline in AoC which is sharing to chre usage too. On WHI_PRO CHRE PDM Gain(gain=158) CHRE AEC Gain(gain=-42) CHRE SRC AEC Timeout(timeout=0) This table also contains hotword gain control as Non Eraser gain (gain=220) Eraser Post Gain (gain=220) Test: end-to-end verify by CHRE using aoc_audio_cfg to query gain as below adb shell aoc_audio_cfg hotword_get_non_eraser_gain adb shell aoc_audio_cfg hotword_get_eraser_post_gain Bug: 271078701 Change-Id: I2689c5d0949677e9c29a9defb4d9333711e811b4 --- audio/felix/audio-tables.mk | 1 + audio/felix/tuning/bluenote/smartfeature.gstf | Bin 0 -> 236 bytes 2 files changed, 1 insertion(+) create mode 100644 audio/felix/tuning/bluenote/smartfeature.gstf diff --git a/audio/felix/audio-tables.mk b/audio/felix/audio-tables.mk index f485dfd..8fb6642 100644 --- a/audio/felix/audio-tables.mk +++ b/audio/felix/audio-tables.mk @@ -44,6 +44,7 @@ PRODUCT_COPY_FILES += $(call copy-files,$(wildcard $(SPK_FIRMWARE_FULL_PATH)/*) # Audio tuning PRODUCT_COPY_FILES += \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/recording.gatf:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/recording.gatf \ + device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/bluenote/smartfeature.gstf:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/smartfeature.gstf \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/BLUETOOTH.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/BLUETOOTH.dat \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.dat \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.dat \ diff --git a/audio/felix/tuning/bluenote/smartfeature.gstf b/audio/felix/tuning/bluenote/smartfeature.gstf new file mode 100644 index 0000000000000000000000000000000000000000..d174ae3054805add8e670b0f638dc4e901b7713f GIT binary patch literal 236 zcmXRZ%}aj5z`#(JT9n5Eq#1#@q%<%60+3EENlaG&((SR^J9oCe@aA1?Vg2&C+@4jJ zHiT}T|Ki%B&+C|*qxHJ8Q!9%(fa;*YAtkXSaRQL@f|-G#11!kQAfV2`0OT^L0I@L8 z5|CXWAPQyQ0kXxB*n&XyAh+-Uu{M%=A)q)&uK^HiB8f*Lv7?~uc|bMMQ1-R||NjF3 D7(6K? literal 0 HcmV?d00001 From 308bf47837c683eb98fad334857205646f7acbab Mon Sep 17 00:00:00 2001 From: Shuibing Dai Date: Tue, 2 May 2023 13:42:51 -0700 Subject: [PATCH 075/117] Remove overlay item: country code update during setup wizard The country code updating from scan results generic case can cover setup wizard case. Bug: 279625751 Test: manually verified generic case Change-Id: I5cd7763dd7aea9117018daf029fa5536dd1c2ef8 --- rro_overlays/WifiOverlay/res/values/config.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index fe8976a..94f377b 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -158,11 +158,6 @@ is when the system is in the suspended mode --> true - - true - true From 22572e15bd7f0aa3a481a35744b868c7a2fdca9f Mon Sep 17 00:00:00 2001 From: Suprabh Shukla Date: Tue, 2 May 2023 16:53:03 -0700 Subject: [PATCH 076/117] Add wakeup interrupt mapping Test: Manually inspect the output of: `dumpsys batterystats --wakeups` Bug: 271922941 Change-Id: I8a1fa820f9f4208880e5ac13180f9d347581182b --- .../frameworks/base/core/res/res/xml/irq_device_map.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml index beb5166..f36ea00 100644 --- a/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml +++ b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml @@ -23,5 +23,11 @@ Wifi + + Cellular_data + + + Sensor + From 73382cc3f22f498f73674bc9ba8b089b5cdf9d30 Mon Sep 17 00:00:00 2001 From: sashwinbalaji Date: Thu, 30 Mar 2023 10:50:16 +0800 Subject: [PATCH 077/117] thermal: Update config for stats Bug: 259903201 Test: local build and verify stats Change-Id: I14fcc2fbddb13d5e2050ae7b5f51e7f3de9ce71f --- thermal_info_config_felix.json | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/thermal_info_config_felix.json b/thermal_info_config_felix.json index 3920569..45fcea5 100644 --- a/thermal_info_config_felix.json +++ b/thermal_info_config_felix.json @@ -977,5 +977,25 @@ "PowerSampleDelay":60000, "PowerSampleCount":1 } - ] + ], + "Stats": { + "Sensors": { + "RecordWithDefaultThreshold": ["VIRTUAL-SKIN"], + "RecordWithThreshold": [ + { + "Name": "VIRTUAL-SKIN", + "Thresholds": [31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51] + }, + { + "Name": "VIRTUAL-USB-THROTTLING", + "Thresholds": [2.0] + } + ] + }, + "CoolingDevices": { + "RecordVotePerSensor": { + "DefaultThresholdEnableAll": true + } + } + } } From 2c7791a42728ffce5474fa8b7c60b9685ae74013 Mon Sep 17 00:00:00 2001 From: Darren Hsu Date: Thu, 4 May 2023 11:12:25 +0800 Subject: [PATCH 078/117] powerstats: update NFC sysfs path Bug: 280560362 Test: pts-tradefed run singleCommand pts -m PtsPowerTestCases Change-Id: I727627a343c9c52e67f252a0ce6362667f411efd Signed-off-by: Darren Hsu --- powerstats/felix/service.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/powerstats/felix/service.cpp b/powerstats/felix/service.cpp index 2ccabb0..2de3797 100644 --- a/powerstats/felix/service.cpp +++ b/powerstats/felix/service.cpp @@ -28,6 +28,7 @@ #include #include #include +#include using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider; using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider; @@ -140,6 +141,18 @@ void addGPU(std::shared_ptr p) { stateCoeffs)); } +std::string getNfcPath() { + struct stat buffer; + int size = 128; + char path[size]; + for (int i = 0; i < 10; i++) { + std::snprintf(path, size, + "/sys/devices/platform/10970000.hsi2c/i2c-%d/i2c-st21nfc/power_stats", i); + if (!stat(path, &buffer)) break; + } + return std::string(path); +} + int main() { LOG(INFO) << "Pixel PowerStats HAL AIDL Service is starting."; @@ -160,7 +173,7 @@ int main() { addWifi(p); addTPU(p); addUfs(p); - addNFC(p, "/sys/devices/platform/10970000.hsi2c/i2c-4/i2c-st21nfc/power_stats"); + addNFC(p, getNfcPath()); addUwb(p); addPowerDomains(p); addDevfreq(p); From 3f94eb4ed4e91800bb38e56d763f5d0c1e0dee91 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Thu, 4 May 2023 11:36:51 +0800 Subject: [PATCH 079/117] Update Felix SVN to 5 Bug: 278035362 Change-Id: Ic56cf78d57f636326bf784e8becb7a94df6c8f5f --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index b67849f..9042235 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=4 + ro.vendor.build.svn=5 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 1ff12806bb21e933555d585560339d6fc0abe26f Mon Sep 17 00:00:00 2001 From: Mao Lee Date: Mon, 8 May 2023 03:28:11 +0000 Subject: [PATCH 080/117] Camera: Add the property and create the power hint to adjust backend min clock for 1080p30fps video stream for front cameras Bug: 279141417 Test: adb logcat, GCA, CTS Change-Id: I0f2a11980d0db5893e5f235271d569184b11dd43 --- device-felix.mk | 1 + powerhint.json | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index a815da2..ea0a937 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -300,6 +300,7 @@ PRODUCT_PROPERTY_OVERRIDES += \ # Camera PRODUCT_PROPERTY_OVERRIDES += \ + persist.vendor.camera.adjust_backend_min_freq_for_1p_front_video_1080p_30fps=1 \ persist.vendor.camera.extended_launch_boost=1 \ persist.vendor.camera.optimized_tnr_freq=1 \ persist.vendor.camera.raise_buf_allocation_priority=1 \ diff --git a/powerhint.json b/powerhint.json index 29446c7..9301b23 100644 --- a/powerhint.json +++ b/powerhint.json @@ -345,6 +345,7 @@ "Path": "/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam/min_freq", "Values": [ "664000", + "233000", "67000" ], "ResetOnInit": true @@ -364,6 +365,7 @@ "Path": "/sys/devices/platform/17000060.devfreq_tnr/devfreq/17000060.devfreq_tnr/min_freq", "Values": [ "664000", + "233000", "67000" ], "ResetOnInit": true @@ -1361,6 +1363,18 @@ "Duration": 0, "Value": "302000" }, + { + "PowerHint": "CAMERA_ADJUST_BACKEND_MIN_FREQ", + "Node": "INTCAMFreq", + "Duration": 0, + "Value": "233000" + }, + { + "PowerHint": "CAMERA_ADJUST_BACKEND_MIN_FREQ", + "Node": "TNRFreq", + "Duration": 0, + "Value": "233000" + }, { "PowerHint": "CAMERA_TNR_LOW", "Node": "TNRMaxFreq", From 10c8e193c5237ace8e99f03b43b7cf5793c4af24 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Mon, 8 May 2023 14:54:57 +0800 Subject: [PATCH 081/117] Update Felix SVN to 6 Bug: 278035362 Change-Id: I724ce2c7605594e1416fdaec12421f62bd613f7e --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 9042235..361fca2 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=5 + ro.vendor.build.svn=6 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From c5e5774ae20dd78fcbd4bc4d115c522abd4835ee Mon Sep 17 00:00:00 2001 From: Wendly Li Date: Mon, 24 Apr 2023 16:25:50 +0000 Subject: [PATCH 082/117] touch: move the setup of gti ownership to gs-common Bug: 278023960 Test: adb bugreport Change-Id: I6fda146f5fe5d1c0796b409c8bc29ac7bc4306c6 Signed-off-by: Wendly Li --- conf/init.felix.rc | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/conf/init.felix.rc b/conf/init.felix.rc index f4d1db2..a5434e1 100644 --- a/conf/init.felix.rc +++ b/conf/init.felix.rc @@ -56,24 +56,6 @@ on property:vendor.device.modules.ready=1 chown system input /dev/touch_offload_fts_ext chmod 660 /dev/touch_offload_fts chmod 660 /dev/touch_offload_fts_ext - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/force_active - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/fw_ver - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_base - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_diff - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ms_raw - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/self_test - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_base - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_diff - chown system system /sys/devices/virtual/goog_touch_interface/gti.0/ss_raw - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/force_active - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/fw_ver - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_base - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_diff - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ms_raw - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/self_test - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_base - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_diff - chown system system /sys/devices/virtual/goog_touch_interface/gti.1/ss_raw # Start the twoshay touch service start twoshay From e47c1d77454604edcea5473e7e77708b7040c478 Mon Sep 17 00:00:00 2001 From: eddielan Date: Tue, 9 May 2023 13:40:18 +0800 Subject: [PATCH 083/117] fingerprint: Update power-key event Bug: 281193407 Test: Build pass Change-Id: Ic176afdcec4b3acc4dbbbe1db4550b351c43fb54 --- fingerprint_config.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fingerprint_config.mk b/fingerprint_config.mk index 2255f3b..2e96488 100644 --- a/fingerprint_config.mk +++ b/fingerprint_config.mk @@ -4,7 +4,7 @@ GOOGLE_CONFIG_FP_STATUS=1 FPC_CONFIG_TRUSTY_CLEAN_TA=1 else # Non factory build, use fingerprint AIDL version -GOOGLE_CONFIG_POWER_NODE=/dev/input/event1 +GOOGLE_CONFIG_POWER_NODE=/dev/input/event2 GOOGLE_CONFIG_DP_COUNT=2 GOOGLE_CONFIG_FP_STATUS=1 endif From 8bd3a7dd61ccca96d74998719b6ed45a9f2bd1ed Mon Sep 17 00:00:00 2001 From: eddielan Date: Wed, 10 May 2023 14:20:49 +0800 Subject: [PATCH 084/117] fingerprint: Add TOUCH_TO_UNLOCK_ANYTIME flag Bug: 277165756 Test: Build pass & manually unlock device Change-Id: Iae98709d99e0e77383392904baaab356ff461220 --- fingerprint_config.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/fingerprint_config.mk b/fingerprint_config.mk index 2255f3b..82cfe94 100644 --- a/fingerprint_config.mk +++ b/fingerprint_config.mk @@ -7,4 +7,5 @@ else GOOGLE_CONFIG_POWER_NODE=/dev/input/event1 GOOGLE_CONFIG_DP_COUNT=2 GOOGLE_CONFIG_FP_STATUS=1 +GOOGLE_CONFIG_TOUCH_TO_UNLOCK_ANYTIME=1 endif From 39f1bf7894ebeecaa2007d090adca50d18c0d273 Mon Sep 17 00:00:00 2001 From: Qais Yousef Date: Wed, 10 May 2023 10:30:01 +0000 Subject: [PATCH 085/117] The dvfs headroom was split into its own knob. Update to use it. util_threshold only controls migration margin now. dvfs headroom has its own new knob. Bug: 261705301 Signed-off-by: Qais Yousef Change-Id: Id026048db7c9ec21fd843783b918201230774d2a --- powerhint.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/powerhint.json b/powerhint.json index 29446c7..af3a097 100644 --- a/powerhint.json +++ b/powerhint.json @@ -155,6 +155,16 @@ "DefaultIndex": 0, "ResetOnInit": true }, + { + "Name": "CPUDVFSHeadroom", + "Path": "/proc/vendor_sched/dvfs_headroom", + "Values": [ + "1280", + "1100 1078 1024" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, { "Name": "MIFTargetLoad", "Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load", @@ -1155,6 +1165,12 @@ "Duration": 0, "Value": "1100 1078 1024" }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CPUDVFSHeadroom", + "Duration": 0, + "Value": "1100 1078 1024" + }, { "PowerHint": "CAMERA_STREAMING_HIGH", "Node": "CPUMidClusterMaxFreq", From faee7a6ae6caf514d6c02b285c7ee6ebcf6b59e5 Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Thu, 4 May 2023 16:09:24 -0700 Subject: [PATCH 086/117] thermal: Adjust CLOSE-SUB1 VSKIN equation CLOSE-SUB1 will cause 5 degC VSKIN correlation gap for solar loading case, so adding a check to prevent over prediction Bug: 280447982 Test: adb shell "echo 50000 > dev/thermal/tz-by-name/outer_disp_therm/emul_temp" adb shell "echo 0 > dev/thermal/tz-by-name/outer_disp_therm/emul_temp" Change-Id: I3679ca4a72aa3585a0a0718013006fff54918893 --- thermal_info_config_charge_felix.json | 12 +++++++++++- thermal_info_config_felix.json | 12 +++++++++++- thermal_info_config_proactive_skin_felix.json | 12 +++++++++++- 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/thermal_info_config_charge_felix.json b/thermal_info_config_charge_felix.json index fc256cf..ca67d3d 100644 --- a/thermal_info_config_charge_felix.json +++ b/thermal_info_config_charge_felix.json @@ -80,7 +80,7 @@ "Multiplier":1 }, { - "Name":"CLOSE-SUB1", + "Name":"CLOSE-SUB1-RAW", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, @@ -90,6 +90,16 @@ "Offset":-670, "Multiplier":0.001 }, + { + "Name":"CLOSE-SUB1", + "Type":"UNKNOWN", + "Hidden":true, + "VirtualSensor":true, + "Formula":"MINIMUM", + "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], + "Coefficient":[1.0, 49000.0], + "Multiplier":0.001 + }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", diff --git a/thermal_info_config_felix.json b/thermal_info_config_felix.json index 3920569..775e60f 100644 --- a/thermal_info_config_felix.json +++ b/thermal_info_config_felix.json @@ -86,7 +86,7 @@ "Multiplier":1 }, { - "Name":"CLOSE-SUB1", + "Name":"CLOSE-SUB1-RAW", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, @@ -96,6 +96,16 @@ "Offset":-670, "Multiplier":0.001 }, + { + "Name":"CLOSE-SUB1", + "Type":"UNKNOWN", + "Hidden":true, + "VirtualSensor":true, + "Formula":"MINIMUM", + "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], + "Coefficient":[1.0, 49000.0], + "Multiplier":0.001 + }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", diff --git a/thermal_info_config_proactive_skin_felix.json b/thermal_info_config_proactive_skin_felix.json index 32e4176..bd7b388 100644 --- a/thermal_info_config_proactive_skin_felix.json +++ b/thermal_info_config_proactive_skin_felix.json @@ -86,7 +86,7 @@ "Multiplier":1 }, { - "Name":"CLOSE-SUB1", + "Name":"CLOSE-SUB1-RAW", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, @@ -96,6 +96,16 @@ "Offset":-670, "Multiplier":0.001 }, + { + "Name":"CLOSE-SUB1", + "Type":"UNKNOWN", + "Hidden":true, + "VirtualSensor":true, + "Formula":"MINIMUM", + "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], + "Coefficient":[1.0, 49000.0], + "Multiplier":0.001 + }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", From 6ea4b5de0d94013f2bb93953edee02b267cd515a Mon Sep 17 00:00:00 2001 From: Suprabh Shukla Date: Wed, 10 May 2023 16:06:51 -0700 Subject: [PATCH 087/117] Adding interrupt mapping for sound_trigger wakeups Test: Manually inspect the output of `dumpsys batterystats --wakeups` Bug: 271922941 Change-Id: I4b8c3f024bf86d7fbbe7d618fd3905820ce51e54 --- .../frameworks/base/core/res/res/xml/irq_device_map.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml index f36ea00..2a53b55 100644 --- a/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml +++ b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml @@ -26,6 +26,9 @@ Cellular_data + + Sound_trigger + Sensor From 17a92076b4a580ee29a1c3d3f7786c91c4b3ef1f Mon Sep 17 00:00:00 2001 From: Rex Lin Date: Tue, 11 Apr 2023 13:41:04 +0800 Subject: [PATCH 088/117] uwb: update uwb calibration for CCC antenna config Bug: 249170179 Test: build pass Change-Id: I89692bf8b7f19e01e91c7f7f50ba9eae83bced8a Signed-off-by: Rex Lin --- uwb/UWB-calibration-ce.conf | 17 ++++++----------- uwb/UWB-calibration-default.conf | 17 ++++++----------- uwb/UWB-calibration-fcc.conf | 17 ++++++----------- uwb/UWB-calibration-jp.conf | 17 ++++++----------- uwb/UWB-calibration-restricted.conf | 17 ++++++----------- uwb/UWB-calibration-tw.conf | 17 ++++++----------- uwb/UWB-calibration.conf | 17 ++++++----------- 7 files changed, 42 insertions(+), 77 deletions(-) diff --git a/uwb/UWB-calibration-ce.conf b/uwb/UWB-calibration-ce.conf index 6468d80..ddc9fca 100644 --- a/uwb/UWB-calibration-ce.conf +++ b/uwb/UWB-calibration-ce.conf @@ -1,16 +1,10 @@ -[CCC]version=2 -[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch5.prf64.pdoa_offset=0 -[CCC]ant0.ch9.prf64.pdoa_offset=0 -[CCC]ant0.ch5.prf64.pll_locking_code=0 -[CCC]ant0.ch9.prf64.pll_locking_code=0 -[CCC]id=0 +[CCC]version=3 [CCC]wifi_coex_time_gap=10 [CCC]ap_coop_mode=1 -[CCC]antenna_selection=4 +[CCC]wifi_coex_min_spacing=0x08 +[CCC]ch5.antenna_selection=ant0 +[CCC]ch9.antenna_selection=ant2 +[CCC]alternate_pulse_shape=0x00 ant0.ch5.prf16.ant_delay=16449 ant0.ch5.prf16.tx_power=0xFFFFD4FF ant0.ch5.prf16.pg_count=0 @@ -111,6 +105,7 @@ smart_tx_power=1 auto_sleep_margin=20000 alternate_pulse_shape=0x00 restricted_channels=0 +[HAL]aoa_restricted_channels=0x20 [HAL]aoa_capability=2 [HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 [HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 diff --git a/uwb/UWB-calibration-default.conf b/uwb/UWB-calibration-default.conf index 7838414..f3b70dd 100644 --- a/uwb/UWB-calibration-default.conf +++ b/uwb/UWB-calibration-default.conf @@ -1,16 +1,10 @@ -[CCC]version=2 -[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch5.prf64.pdoa_offset=0 -[CCC]ant0.ch9.prf64.pdoa_offset=0 -[CCC]ant0.ch5.prf64.pll_locking_code=0 -[CCC]ant0.ch9.prf64.pll_locking_code=0 -[CCC]id=0 +[CCC]version=3 [CCC]wifi_coex_time_gap=10 [CCC]ap_coop_mode=1 -[CCC]antenna_selection=4 +[CCC]wifi_coex_min_spacing=0x08 +[CCC]ch5.antenna_selection=ant0 +[CCC]ch9.antenna_selection=ant2 +[CCC]alternate_pulse_shape=0x00 ant0.ch5.prf16.ant_delay=16449 ant0.ch5.prf16.tx_power=0xFFFFD4FF ant0.ch5.prf16.pg_count=0 @@ -111,6 +105,7 @@ smart_tx_power=1 auto_sleep_margin=20000 alternate_pulse_shape=0x00 restricted_channels=0 +[HAL]aoa_restricted_channels=0x20 [HAL]aoa_capability=2 [HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 [HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 diff --git a/uwb/UWB-calibration-fcc.conf b/uwb/UWB-calibration-fcc.conf index 7838414..f3b70dd 100644 --- a/uwb/UWB-calibration-fcc.conf +++ b/uwb/UWB-calibration-fcc.conf @@ -1,16 +1,10 @@ -[CCC]version=2 -[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch5.prf64.pdoa_offset=0 -[CCC]ant0.ch9.prf64.pdoa_offset=0 -[CCC]ant0.ch5.prf64.pll_locking_code=0 -[CCC]ant0.ch9.prf64.pll_locking_code=0 -[CCC]id=0 +[CCC]version=3 [CCC]wifi_coex_time_gap=10 [CCC]ap_coop_mode=1 -[CCC]antenna_selection=4 +[CCC]wifi_coex_min_spacing=0x08 +[CCC]ch5.antenna_selection=ant0 +[CCC]ch9.antenna_selection=ant2 +[CCC]alternate_pulse_shape=0x00 ant0.ch5.prf16.ant_delay=16449 ant0.ch5.prf16.tx_power=0xFFFFD4FF ant0.ch5.prf16.pg_count=0 @@ -111,6 +105,7 @@ smart_tx_power=1 auto_sleep_margin=20000 alternate_pulse_shape=0x00 restricted_channels=0 +[HAL]aoa_restricted_channels=0x20 [HAL]aoa_capability=2 [HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 [HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 diff --git a/uwb/UWB-calibration-jp.conf b/uwb/UWB-calibration-jp.conf index 82bb3ca..1612133 100644 --- a/uwb/UWB-calibration-jp.conf +++ b/uwb/UWB-calibration-jp.conf @@ -1,16 +1,10 @@ -[CCC]version=2 -[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch5.prf64.pdoa_offset=0 -[CCC]ant0.ch9.prf64.pdoa_offset=0 -[CCC]ant0.ch5.prf64.pll_locking_code=0 -[CCC]ant0.ch9.prf64.pll_locking_code=0 -[CCC]id=0 +[CCC]version=3 [CCC]wifi_coex_time_gap=10 [CCC]ap_coop_mode=1 -[CCC]antenna_selection=12 +[CCC]wifi_coex_min_spacing=0x08 +[CCC]ch5.antenna_selection=ant0 +[CCC]ch9.antenna_selection=ant2 +[CCC]alternate_pulse_shape=0x01 ant0.ch5.prf16.ant_delay=16449 ant0.ch5.prf16.tx_power=0xFFFFD4FF ant0.ch5.prf16.pg_count=0 @@ -111,6 +105,7 @@ smart_tx_power=1 auto_sleep_margin=20000 alternate_pulse_shape=0x01 restricted_channels=0x20 +[HAL]aoa_restricted_channels=0x20 [HAL]aoa_capability=2 [HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 [HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 diff --git a/uwb/UWB-calibration-restricted.conf b/uwb/UWB-calibration-restricted.conf index 7e5bf55..1c98823 100644 --- a/uwb/UWB-calibration-restricted.conf +++ b/uwb/UWB-calibration-restricted.conf @@ -1,16 +1,10 @@ -[CCC]version=2 -[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch5.prf64.pdoa_offset=0 -[CCC]ant0.ch9.prf64.pdoa_offset=0 -[CCC]ant0.ch5.prf64.pll_locking_code=0 -[CCC]ant0.ch9.prf64.pll_locking_code=0 -[CCC]id=0 +[CCC]version=3 [CCC]wifi_coex_time_gap=10 [CCC]ap_coop_mode=1 -[CCC]antenna_selection=4 +[CCC]wifi_coex_min_spacing=0x08 +[CCC]ch5.antenna_selection=ant0 +[CCC]ch9.antenna_selection=ant2 +[CCC]alternate_pulse_shape=0x00 ant0.ch5.prf16.ant_delay=16449 ant0.ch5.prf16.tx_power=0xFFFFD4FF ant0.ch5.prf16.pg_count=0 @@ -111,6 +105,7 @@ smart_tx_power=1 auto_sleep_margin=20000 alternate_pulse_shape=0x00 restricted_channels=0xFFFF +[HAL]aoa_restricted_channels=0x20 [HAL]aoa_capability=2 [HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 [HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 diff --git a/uwb/UWB-calibration-tw.conf b/uwb/UWB-calibration-tw.conf index 1f6c32c..5a348b2 100644 --- a/uwb/UWB-calibration-tw.conf +++ b/uwb/UWB-calibration-tw.conf @@ -1,16 +1,10 @@ -[CCC]version=2 -[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch5.prf64.pdoa_offset=0 -[CCC]ant0.ch9.prf64.pdoa_offset=0 -[CCC]ant0.ch5.prf64.pll_locking_code=0 -[CCC]ant0.ch9.prf64.pll_locking_code=0 -[CCC]id=0 +[CCC]version=3 [CCC]wifi_coex_time_gap=10 [CCC]ap_coop_mode=1 -[CCC]antenna_selection=12 +[CCC]wifi_coex_min_spacing=0x08 +[CCC]ch5.antenna_selection=ant0 +[CCC]ch9.antenna_selection=ant2 +[CCC]alternate_pulse_shape=0x00 ant0.ch5.prf16.ant_delay=16449 ant0.ch5.prf16.tx_power=0xFFFFD4FF ant0.ch5.prf16.pg_count=0 @@ -111,6 +105,7 @@ smart_tx_power=1 auto_sleep_margin=20000 alternate_pulse_shape=0x00 restricted_channels=0x20 +[HAL]aoa_restricted_channels=0x20 [HAL]aoa_capability=2 [HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 [HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 diff --git a/uwb/UWB-calibration.conf b/uwb/UWB-calibration.conf index 7838414..f3b70dd 100644 --- a/uwb/UWB-calibration.conf +++ b/uwb/UWB-calibration.conf @@ -1,16 +1,10 @@ -[CCC]version=2 -[CCC]ant0.ch5.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch5.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf2_rf1=0 -[CCC]ant0.ch9.prf64.pdoa_iso_rf1_rf2=0 -[CCC]ant0.ch5.prf64.pdoa_offset=0 -[CCC]ant0.ch9.prf64.pdoa_offset=0 -[CCC]ant0.ch5.prf64.pll_locking_code=0 -[CCC]ant0.ch9.prf64.pll_locking_code=0 -[CCC]id=0 +[CCC]version=3 [CCC]wifi_coex_time_gap=10 [CCC]ap_coop_mode=1 -[CCC]antenna_selection=4 +[CCC]wifi_coex_min_spacing=0x08 +[CCC]ch5.antenna_selection=ant0 +[CCC]ch9.antenna_selection=ant2 +[CCC]alternate_pulse_shape=0x00 ant0.ch5.prf16.ant_delay=16449 ant0.ch5.prf16.tx_power=0xFFFFD4FF ant0.ch5.prf16.pg_count=0 @@ -111,6 +105,7 @@ smart_tx_power=1 auto_sleep_margin=20000 alternate_pulse_shape=0x00 restricted_channels=0 +[HAL]aoa_restricted_channels=0x20 [HAL]aoa_capability=2 [HAL]ant_sets.ch5.range.rx_ant_set_nonranging=6 [HAL]ant_sets.ch5.range.rx_ant_set_ranging=6 From 78f78cae8ee5350a6b70bd1fa56d8c72e8e67d58 Mon Sep 17 00:00:00 2001 From: Weizhung Ding Date: Fri, 12 May 2023 10:04:39 +0800 Subject: [PATCH 089/117] Update IDisplay version to 8 Bug: 281630752 Test: build Change-Id: I924dfd1da16d65b85d4779b73d642ff7d926288b --- device_framework_matrix_product_felix.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device_framework_matrix_product_felix.xml b/device_framework_matrix_product_felix.xml index 2f0e9ae..7f4a680 100644 --- a/device_framework_matrix_product_felix.xml +++ b/device_framework_matrix_product_felix.xml @@ -1,7 +1,7 @@ com.google.hardware.pixel.display - 7 + 8 IDisplay secondary From a89bc01469e16746d62e2065178bd901dbdd0dff Mon Sep 17 00:00:00 2001 From: Shuibing Dai Date: Fri, 12 May 2023 16:45:11 -0700 Subject: [PATCH 090/117] Disable p2p 6ghz channels It has an effect on following case: If STA firstly connected with 6ghz channel AP and Application create p2p group without config, wpa_supplicant also tried to select STA-associated channel(in this case, i.e. 6ghz ch). Bug: 281733591 Test: atest android.net.wifi.cts.ConcurrencyTest#testPersistentGroupOperation Change-Id: Iff6aa55439c08c9e31cef04a1681967fb1278658 --- wifi/p2p_supplicant_overlay.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/wifi/p2p_supplicant_overlay.conf b/wifi/p2p_supplicant_overlay.conf index 4ec8453..74d24d8 100644 --- a/wifi/p2p_supplicant_overlay.conf +++ b/wifi/p2p_supplicant_overlay.conf @@ -8,3 +8,4 @@ p2p_add_cli_chan=1 disable_scan_offload=1 p2p_go_vht=1 p2p_pref_chan=124:149, 115:36 +p2p_6ghz_disable=1 From 590c50e1bdf676a91959612eec18d513c8f368b7 Mon Sep 17 00:00:00 2001 From: Richard Chang Date: Mon, 15 May 2023 02:42:06 +0000 Subject: [PATCH 091/117] felix: remove customizedMaxCachedProcesses With project Snowbird in U, the MaxCachedProcesses is 1024 by default Bug: 278086134 Test: Build Change-Id: I939854c369da8bcf10bc2a3daf80119cfc75fad5 --- felix/overlay/frameworks/base/core/res/res/values/config.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/felix/overlay/frameworks/base/core/res/res/values/config.xml b/felix/overlay/frameworks/base/core/res/res/values/config.xml index c6f92a4..1dae8a8 100644 --- a/felix/overlay/frameworks/base/core/res/res/values/config.xml +++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml @@ -252,9 +252,6 @@ corners. --> 4px - - 64 - "local:4619827677550801152" "local:4619827677550801153" From fc277e1894b181e9dbbb9717d3fe557688e5bdc2 Mon Sep 17 00:00:00 2001 From: eddielan Date: Mon, 15 May 2023 18:58:38 +0800 Subject: [PATCH 092/117] conf: Move loading 1540.app to HAL rc file Bug: 280624498 Test: Build pass Change-Id: I0694cc4483dcd5556f307361a6e9d514d8408549 --- conf/init.felix.rc | 3 --- 1 file changed, 3 deletions(-) diff --git a/conf/init.felix.rc b/conf/init.felix.rc index a5434e1..fc4d225 100644 --- a/conf/init.felix.rc +++ b/conf/init.felix.rc @@ -11,9 +11,6 @@ on post-fs-data chown system system /sys/devices/platform/odm/odm:fp_fpc1020/irq chown system system /sys/devices/platform/odm/odm:fp_fpc1020/wakeup_enable -on fs - exec_background - system shell -- /vendor/bin/trusty_apploader /vendor/firmware/1540.app - # Permissions for hwcomposer on fs chown system system /sys/class/backlight/panel1-backlight/als_table From 1b655e2c5aef87ea5cab78ccddba808fa6f492df Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Tue, 16 May 2023 13:15:08 +0800 Subject: [PATCH 093/117] Update Felix SVN to 7 Bug: 278035362 Change-Id: Iac3e857c1c1bd2ceda0f111798a18daf869d8e04 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 361fca2..d33c1f7 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=6 + ro.vendor.build.svn=7 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From b2dec4092bb04ad20650bd320b1b35abb27433fb Mon Sep 17 00:00:00 2001 From: Tai Kuo Date: Tue, 16 May 2023 17:36:48 +0800 Subject: [PATCH 094/117] Update cs40l26 modprobe modules Bug: 278018625 Test: Driver probed and checked lsmod. Change-Id: I0aecf72926dce513f8aad2fbc4cd8269a880ef91 --- init.insmod.felix.cfg | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/init.insmod.felix.cfg b/init.insmod.felix.cfg index 76401ec..5693443 100644 --- a/init.insmod.felix.cfg +++ b/init.insmod.felix.cfg @@ -10,8 +10,7 @@ modprobe|bcmdhd4389.ko modprobe|snd-soc-cs35l41-i2c.ko modprobe|fst2.ko modprobe|ftm5.ko -modprobe|cl_dsp.ko -modprobe|input-cs40l26-i2c.ko +modprobe|cs40l26-i2c.ko modprobe|snd-soc-cs40l26.ko # All device specific modules loaded From 03730f2542f0fd9b060cf1e79c6faefaf5113b52 Mon Sep 17 00:00:00 2001 From: Tai Kuo Date: Tue, 16 May 2023 16:11:55 +0800 Subject: [PATCH 095/117] Revert "haptics: update hapitcs sink and slot setting" This reverts commit f0d036fa967c2eabcd41d7ba34a8a1e9dcb64304. Bug: 278018625 Test: Check audio coupled haptics at the sound preview app. Change-Id: I79cf104b249e752a68005a8a226fe4b61b5d4044 --- audio/felix/config/mixer_paths.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/audio/felix/config/mixer_paths.xml b/audio/felix/config/mixer_paths.xml index 3710a1d..35f399f 100644 --- a/audio/felix/config/mixer_paths.xml +++ b/audio/felix/config/mixer_paths.xml @@ -40,8 +40,8 @@ - - + + From 3c14c464dde7bc57b7abe28da9a81d04934f32ba Mon Sep 17 00:00:00 2001 From: Kenzi Mudge Date: Wed, 17 May 2023 15:46:14 -0400 Subject: [PATCH 096/117] Enable UWB filtering on all devices These values are the same as today's defaults, but explicitly assert hardware-specific needs. Bug: b/237098661 Test: Manual confirmation Change-Id: Ifc4a877bf2d608a00ae4a9153a99ace58e9618fd --- rro_overlays/UwbOverlay/res/values/config.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rro_overlays/UwbOverlay/res/values/config.xml b/rro_overlays/UwbOverlay/res/values/config.xml index 7a77d32..3c45c6a 100644 --- a/rro_overlays/UwbOverlay/res/values/config.xml +++ b/rro_overlays/UwbOverlay/res/values/config.xml @@ -17,4 +17,10 @@ */ --> + + true + + + true From d13f280f8026fbe699f607c7805bfc003a3e4402 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Fri, 19 May 2023 10:34:46 +0800 Subject: [PATCH 097/117] Update Felix SVN to 8 Bug: 278035362 Change-Id: I49536497997e4c81caac6fc5eaec9de52b771863 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index d33c1f7..df22993 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=7 + ro.vendor.build.svn=8 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From ea62615fc527e8986513edab07a8059657940c5e Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Fri, 19 May 2023 10:41:51 +0800 Subject: [PATCH 098/117] Update Felix SVN to 9 Bug: 278035362 Change-Id: I2f4da49583a7f66ed9bf58e1f934ba37e61b8586 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index df22993..8dc9ac9 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=8 + ro.vendor.build.svn=9 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From a7bc312d968aa8fd0a51b6efb7260d83eadc49b3 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Wed, 24 May 2023 08:15:14 +0800 Subject: [PATCH 099/117] Update Felix SVN to 10 Bug: 278035362 Change-Id: Ia1523d9c7795dc93a56b4fd57735de9285d396bb --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 8dc9ac9..d21110b 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=9 + ro.vendor.build.svn=10 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 996d9e78d73994209a740d48a9869b729502fd11 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Thu, 25 May 2023 15:00:16 +0800 Subject: [PATCH 100/117] Update Felix SVN to 11 Bug: 278035362 Change-Id: I8e425674276ea4c2a12f431a5e10d178e54d81e2 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index d21110b..9da068e 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=10 + ro.vendor.build.svn=11 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 05f4a52222003d3f45bd3113448f36fa5f03084f Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Thu, 25 May 2023 15:00:38 +0800 Subject: [PATCH 101/117] Update Felix SVN to 12 Bug: 278035362 Change-Id: Ib688e37103e6b8fa34d7e468481906ecc95ffaf2 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 9da068e..ee6aea6 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=11 + ro.vendor.build.svn=12 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 2a50391912ab20e1c3797de836e1fe3cbef20bdc Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Thu, 25 May 2023 21:47:16 -0700 Subject: [PATCH 102/117] thermal: update the VSKIN equation V06 Bug: 284262604 Test: adb shell dumpsys android.hardware.thermal.IThermal/default Change-Id: I7c3354b0832668c1d721d085f39434cd328e045a --- thermal_info_config_charge_felix.json | 37 ++++--------------- thermal_info_config_felix.json | 37 ++++--------------- thermal_info_config_proactive_skin_felix.json | 37 ++++--------------- 3 files changed, 24 insertions(+), 87 deletions(-) diff --git a/thermal_info_config_charge_felix.json b/thermal_info_config_charge_felix.json index ca67d3d..ceb9181 100644 --- a/thermal_info_config_charge_felix.json +++ b/thermal_info_config_charge_felix.json @@ -79,36 +79,15 @@ "Coefficient":[-1.0], "Multiplier":1 }, - { - "Name":"CLOSE-SUB1-RAW", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.45, 0.2, 1.5], - "Offset":-670, - "Multiplier":0.001 - }, - { - "Name":"CLOSE-SUB1", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"MINIMUM", - "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], - "Coefficient":[1.0, 49000.0], - "Multiplier":0.001 - }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], - "Offset":2500, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.259, 0.652, -0.161, 0.03], + "Offset":8450, "Multiplier":0.001 }, { @@ -161,8 +140,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"MAXIMUM", - "Combination":["CLOSE-SUB1", "CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], - "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0], + "Combination":["CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], + "Coefficient":[1.0, 1.0, 1.0, 1.0], "Multiplier":0.001 }, { @@ -192,9 +171,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], - "Offset":-990, + "Combination":["skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.385, 0.075, 0.348, 0.302], + "Offset":-4950, "Multiplier":0.001 }, { diff --git a/thermal_info_config_felix.json b/thermal_info_config_felix.json index fc06b02..6bbb5b0 100644 --- a/thermal_info_config_felix.json +++ b/thermal_info_config_felix.json @@ -85,36 +85,15 @@ "Coefficient":[-1.0], "Multiplier":1 }, - { - "Name":"CLOSE-SUB1-RAW", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.45, 0.2, 1.5], - "Offset":-670, - "Multiplier":0.001 - }, - { - "Name":"CLOSE-SUB1", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"MINIMUM", - "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], - "Coefficient":[1.0, 49000.0], - "Multiplier":0.001 - }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], - "Offset":2500, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.259, 0.652, -0.161, 0.03], + "Offset":8450, "Multiplier":0.001 }, { @@ -167,8 +146,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"MAXIMUM", - "Combination":["CLOSE-SUB1", "CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], - "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0], + "Combination":["CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], + "Coefficient":[1.0, 1.0, 1.0, 1.0], "Multiplier":0.001 }, { @@ -198,9 +177,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], - "Offset":-990, + "Combination":["skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.385, 0.075, 0.348, 0.302], + "Offset":-4950, "Multiplier":0.001 }, { diff --git a/thermal_info_config_proactive_skin_felix.json b/thermal_info_config_proactive_skin_felix.json index bd7b388..1b7c446 100644 --- a/thermal_info_config_proactive_skin_felix.json +++ b/thermal_info_config_proactive_skin_felix.json @@ -85,36 +85,15 @@ "Coefficient":[-1.0], "Multiplier":1 }, - { - "Name":"CLOSE-SUB1-RAW", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.45, 0.2, 1.5], - "Offset":-670, - "Multiplier":0.001 - }, - { - "Name":"CLOSE-SUB1", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"MINIMUM", - "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], - "Coefficient":[1.0, 49000.0], - "Multiplier":0.001 - }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], - "Offset":2500, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.259, 0.652, -0.161, 0.03], + "Offset":8450, "Multiplier":0.001 }, { @@ -167,8 +146,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"MAXIMUM", - "Combination":["CLOSE-SUB1", "CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], - "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0], + "Combination":["CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], + "Coefficient":[1.0, 1.0, 1.0, 1.0], "Multiplier":0.001 }, { @@ -198,9 +177,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], - "Offset":-990, + "Combination":["skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.385, 0.075, 0.348, 0.302], + "Offset":-4950, "Multiplier":0.001 }, { From a452a3e6f68b2e479673952e950ee299e768038c Mon Sep 17 00:00:00 2001 From: Suprabh Shukla Date: Fri, 26 May 2023 13:07:17 -0700 Subject: [PATCH 103/117] Update Sound_trigger interrupt mapping Test: Manually verify the output of `dumpsys batterystats --wakeups` Bug: 284405919 Change-Id: If89df80027baff8734d31fd64bbdae5ab3d78251 --- .../overlay/frameworks/base/core/res/res/xml/irq_device_map.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml index 2a53b55..9b3e461 100644 --- a/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml +++ b/felix/overlay/frameworks/base/core/res/res/xml/irq_device_map.xml @@ -26,7 +26,7 @@ Cellular_data - + Sound_trigger From 123f55674abe10383d13901ca8963b75240fe548 Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Thu, 25 May 2023 21:47:16 -0700 Subject: [PATCH 104/117] thermal: update the VSKIN equation V06 Bug: 284262604 Test: adb shell dumpsys android.hardware.thermal.IThermal/default Change-Id: I7c3354b0832668c1d721d085f39434cd328e045a (cherry picked from commit 2a50391912ab20e1c3797de836e1fe3cbef20bdc) --- thermal_info_config_charge_felix.json | 37 ++++--------------- thermal_info_config_felix.json | 37 ++++--------------- thermal_info_config_proactive_skin_felix.json | 37 ++++--------------- 3 files changed, 24 insertions(+), 87 deletions(-) diff --git a/thermal_info_config_charge_felix.json b/thermal_info_config_charge_felix.json index ca67d3d..ceb9181 100644 --- a/thermal_info_config_charge_felix.json +++ b/thermal_info_config_charge_felix.json @@ -79,36 +79,15 @@ "Coefficient":[-1.0], "Multiplier":1 }, - { - "Name":"CLOSE-SUB1-RAW", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.45, 0.2, 1.5], - "Offset":-670, - "Multiplier":0.001 - }, - { - "Name":"CLOSE-SUB1", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"MINIMUM", - "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], - "Coefficient":[1.0, 49000.0], - "Multiplier":0.001 - }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], - "Offset":2500, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.259, 0.652, -0.161, 0.03], + "Offset":8450, "Multiplier":0.001 }, { @@ -161,8 +140,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"MAXIMUM", - "Combination":["CLOSE-SUB1", "CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], - "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0], + "Combination":["CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], + "Coefficient":[1.0, 1.0, 1.0, 1.0], "Multiplier":0.001 }, { @@ -192,9 +171,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], - "Offset":-990, + "Combination":["skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.385, 0.075, 0.348, 0.302], + "Offset":-4950, "Multiplier":0.001 }, { diff --git a/thermal_info_config_felix.json b/thermal_info_config_felix.json index 775e60f..dd844ba 100644 --- a/thermal_info_config_felix.json +++ b/thermal_info_config_felix.json @@ -85,36 +85,15 @@ "Coefficient":[-1.0], "Multiplier":1 }, - { - "Name":"CLOSE-SUB1-RAW", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.45, 0.2, 1.5], - "Offset":-670, - "Multiplier":0.001 - }, - { - "Name":"CLOSE-SUB1", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"MINIMUM", - "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], - "Coefficient":[1.0, 49000.0], - "Multiplier":0.001 - }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], - "Offset":2500, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.259, 0.652, -0.161, 0.03], + "Offset":8450, "Multiplier":0.001 }, { @@ -167,8 +146,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"MAXIMUM", - "Combination":["CLOSE-SUB1", "CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], - "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0], + "Combination":["CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], + "Coefficient":[1.0, 1.0, 1.0, 1.0], "Multiplier":0.001 }, { @@ -198,9 +177,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], - "Offset":-990, + "Combination":["skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.385, 0.075, 0.348, 0.302], + "Offset":-4950, "Multiplier":0.001 }, { diff --git a/thermal_info_config_proactive_skin_felix.json b/thermal_info_config_proactive_skin_felix.json index bd7b388..1b7c446 100644 --- a/thermal_info_config_proactive_skin_felix.json +++ b/thermal_info_config_proactive_skin_felix.json @@ -85,36 +85,15 @@ "Coefficient":[-1.0], "Multiplier":1 }, - { - "Name":"CLOSE-SUB1-RAW", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm"], - "Coefficient":[-0.15, -0.45, 0.2, 1.5], - "Offset":-670, - "Multiplier":0.001 - }, - { - "Name":"CLOSE-SUB1", - "Type":"UNKNOWN", - "Hidden":true, - "VirtualSensor":true, - "Formula":"MINIMUM", - "Combination":["CLOSE-SUB1-RAW", "IS_CLOSE"], - "Coefficient":[1.0, 49000.0], - "Multiplier":0.001 - }, { "Name":"CLOSE-SUB2", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "outer_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[0.3, 0.3, -0.1, 0.4, 0.1], - "Offset":2500, + "Combination":["neutral_therm", "skin_therm", "usb_pwr_therm", "gnss_tcxo_therm"], + "Coefficient":[0.259, 0.652, -0.161, 0.03], + "Offset":8450, "Multiplier":0.001 }, { @@ -167,8 +146,8 @@ "Hidden":true, "VirtualSensor":true, "Formula":"MAXIMUM", - "Combination":["CLOSE-SUB1", "CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], - "Coefficient":[1.0, 1.0, 1.0, 1.0, 1.0], + "Combination":["CLOSE-SUB2", "CLOSE-SUB3", "CLOSE-SUB4", "CLOSE-SUB5"], + "Coefficient":[1.0, 1.0, 1.0, 1.0], "Multiplier":0.001 }, { @@ -198,9 +177,9 @@ "Hidden":true, "VirtualSensor":true, "Formula":"WEIGHTED_AVG", - "Combination":["neutral_therm", "quiet_therm", "skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], - "Coefficient":[-0.15, -1.05, 0.1, 0.25, 1.85, 0.05], - "Offset":-990, + "Combination":["skin_therm", "usb_pwr_therm", "inner_disp_therm", "gnss_tcxo_therm"], + "Coefficient":[0.385, 0.075, 0.348, 0.302], + "Offset":-4950, "Multiplier":0.001 }, { From a11109043b915fe8d48ed643bd3878a8d5bbcc5c Mon Sep 17 00:00:00 2001 From: Matt Buckley Date: Thu, 1 Jun 2023 20:47:22 +0000 Subject: [PATCH 105/117] Remove rt_uclamp_min and sf_uclamp_min rt_uclamp_min and sf_uclamp_min have been made redundant in Pixel by ADPF for sf, so we are just going to remove them outright rather than worrying about overriding them later Bug: 285248880 Test: manual Change-Id: I7a0d90271fd015f92fde5b0ca7f838db98a45331 --- conf/init.felix.rc | 8 -------- 1 file changed, 8 deletions(-) diff --git a/conf/init.felix.rc b/conf/init.felix.rc index a5434e1..f9165f7 100644 --- a/conf/init.felix.rc +++ b/conf/init.felix.rc @@ -143,14 +143,6 @@ on post-fs-data setprop wifi.direct.interface p2p-dev-wlan0 setprop wifi.aware.interface aware_nmi0 -# Override SF and RE uclamps to 0 on boot after being set elsewhere, for adpf cpu hints -on property:sys.boot_completed=1 - trigger override-sf-uclamp - -on override-sf-uclamp - write /proc/vendor_sched/rt_uclamp_min 0 - write /proc/vendor_sched/sf_uclamp_min 0 - # For Japan sku, always enforce camera shutter sound # Since this property is read by the audio server in system service, # it should be written by the system init. From 0dddb4b6bbdb5ce56a34727074a3cb08d1cae8e3 Mon Sep 17 00:00:00 2001 From: Jeffrey Carlyle Date: Fri, 17 Feb 2023 14:59:10 -0800 Subject: [PATCH 106/117] dck: add SE capability property Bug: 285390995 Test: boot cheetah; check logs to see that SE property is used Change-Id: I206404a007341dc028aa24e94633490ce96bac6b Signed-off-by: Jeffrey Carlyle --- device-felix.mk | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 9bef40f..dca1441 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -227,7 +227,8 @@ PRODUCT_PRODUCT_PROPERTIES += \ # DCK properties based on target PRODUCT_PROPERTY_OVERRIDES += \ - ro.gms.dck.eligible_wcc=3 + ro.gms.dck.eligible_wcc=3 \ + ro.gms.dck.se_capability=1 # Graphics PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.enable_frame_rate_override=true From 1afcd1bff331b0b07222357020dfa03d11073386 Mon Sep 17 00:00:00 2001 From: Bill Yi Date: Thu, 1 Jun 2023 16:04:58 -0700 Subject: [PATCH 107/117] Update vendor blobs for u BUG: 285414611 Change-Id: Ib398a7d63973c4e34b8b4f6a6c0821869c47c84e --- self-extractors/extract-lists.txt | 2 +- self-extractors/google_devices/staging/Android.mk | 2 +- self-extractors/google_devices/staging/device-partial.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/self-extractors/extract-lists.txt b/self-extractors/extract-lists.txt index 255e82e..9fc0800 100644 --- a/self-extractors/extract-lists.txt +++ b/self-extractors/extract-lists.txt @@ -11,7 +11,7 @@ system_ext/lib64/libmediaadaptor.so \ system_ext/priv-app/ShannonRcs/ShannonRcs.apk \ system_ext/priv-app/ShannonIms/ShannonIms.apk \ - system_ext/priv-app/QualifiedNetworksService/QualifiedNetworksService.apk \ + system_ext/priv-app/PixelQualifiedNetworksService/PixelQualifiedNetworksService.apk \ system_ext/priv-app/UwbVendorService/UwbVendorService.apk \ " ;; diff --git a/self-extractors/google_devices/staging/Android.mk b/self-extractors/google_devices/staging/Android.mk index fac7172..60234be 100644 --- a/self-extractors/google_devices/staging/Android.mk +++ b/self-extractors/google_devices/staging/Android.mk @@ -24,7 +24,7 @@ endif ifneq ($(filter felix,$(TARGET_DEVICE)),) include $(CLEAR_VARS) LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) -LOCAL_MODULE := QualifiedNetworksService +LOCAL_MODULE := PixelQualifiedNetworksService LOCAL_MODULE_TAGS := optional LOCAL_BUILT_MODULE_STEM := package.apk LOCAL_SYSTEM_EXT_MODULE := true diff --git a/self-extractors/google_devices/staging/device-partial.mk b/self-extractors/google_devices/staging/device-partial.mk index 736b944..9c4717f 100644 --- a/self-extractors/google_devices/staging/device-partial.mk +++ b/self-extractors/google_devices/staging/device-partial.mk @@ -17,7 +17,7 @@ PRODUCT_SOONG_NAMESPACES += \ # AOSP packages required by the blobs PRODUCT_PACKAGES := \ - QualifiedNetworksService \ + PixelQualifiedNetworksService \ ShannonIms \ ShannonRcs \ UwbVendorService \ From 168dab235794db9e93719970115560e21b56afc6 Mon Sep 17 00:00:00 2001 From: Hawkwood Glazier Date: Wed, 31 May 2023 16:01:38 +0000 Subject: [PATCH 108/117] Felix overrides for smartspace positioning Bug: 283308908 Test: Manually checked a bunch of configurations Change-Id: I1f9c23b93b1a845e7442b96a1f762a278fdde9d1 Merged-In: I1f9c23b93b1a845e7442b96a1f762a278fdde9d1 --- .../values-sw600dp-land/dimens.xml | 23 +++++++++++++++++++ .../res-keyguard/values-sw600dp/dimens.xml | 22 ++++++++++++++++++ .../SystemUI/res-keyguard/values/dimens.xml | 22 ++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml create mode 100644 felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp/dimens.xml create mode 100644 felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml new file mode 100644 index 0000000..d805e45 --- /dev/null +++ b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp-land/dimens.xml @@ -0,0 +1,23 @@ + + + + + 0.85 + -40dp + -26dp + diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp/dimens.xml b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp/dimens.xml new file mode 100644 index 0000000..d6c2dbb --- /dev/null +++ b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values-sw600dp/dimens.xml @@ -0,0 +1,22 @@ + + + + + -8dp + -16dp + diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml new file mode 100644 index 0000000..d930b35 --- /dev/null +++ b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml @@ -0,0 +1,22 @@ + + + + + -15dp + -26dp + From a7700b47958850daf0acb5628a669440153f9556 Mon Sep 17 00:00:00 2001 From: paulsu Date: Thu, 8 Jun 2023 10:50:47 +0000 Subject: [PATCH 109/117] Create group throttle powerhint Test: Local test Bug: 280258727 Change-Id: Icdb30bbcf4d673487848a288cd207cf7560fa996 Signed-off-by: paulsu --- powerhint.json | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/powerhint.json b/powerhint.json index 32176b4..b7af264 100644 --- a/powerhint.json +++ b/powerhint.json @@ -572,6 +572,26 @@ "0,1,2,3,4,5,6,7" ], "Type": "Property" + }, + { + "Name": "Dex2oatGroup", + "Path": "/proc/vendor_sched/dex2oat_ug", + "Values": [ + "1", + "0" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "UgBgGroupThrottle", + "Path": "/proc/vendor_sched/ug_bg_group_throttle", + "Values": [ + "512", + "308" + ], + "DefaultIndex": 0, + "ResetOnInit": true } ], "Actions": [ @@ -1750,6 +1770,12 @@ "Duration": 0, "Value": "0,1,2,3" }, + { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_LIGHT", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE", "Node": "PMU_POLL", @@ -1840,6 +1866,12 @@ "Duration": 0, "Value": "0,1,2,3" }, + { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_MODERATE", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE", "Node": "PMU_POLL", @@ -1930,6 +1962,12 @@ "Duration": 0, "Value": "0,1,2,3" }, + { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_SEVERE", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL", "Node": "PMU_POLL", @@ -2020,6 +2058,12 @@ "Duration": 0, "Value": "0,1,2,3" }, + { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_CRITICAL", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, { "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY", "Node": "PMU_POLL", @@ -2128,6 +2172,12 @@ "Duration": 0, "Value": "0,1,2,3" }, + { + "PowerHint": "THERMAL_VIRTUAL-SKIN-HINT_EMERGENCY", + "Node": "Dex2oatGroup", + "Duration": 0, + "Value": "0" + }, { "PowerHint": "FACE_UNLOCK_BOOST", "Node": "CPUBigClusterMaxFreq", From 62eb2122efcd8b8e2993423898fe6d54ab67dd9b Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Mon, 12 Jun 2023 13:23:39 +0800 Subject: [PATCH 110/117] Update Felix SVN to 13 Bug: 278035362 Change-Id: I5214dc1a9a28b826d2b4889db393e5980cc33a7e --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index ee6aea6..e900e83 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=12 + ro.vendor.build.svn=13 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 2e4c1aff3e7527c441eddf6a9359d98182315ded Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Mon, 12 Jun 2023 13:24:07 +0800 Subject: [PATCH 111/117] Update Felix SVN to 14 Bug: 278035362 Change-Id: I6b927fb0774df9fead255716d3f6ed45453ed3ea --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index e900e83..27ae82c 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=13 + ro.vendor.build.svn=14 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From ff9588d01a2aac2a1babca639d66da8935a5b3d8 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Mon, 12 Jun 2023 13:24:25 +0800 Subject: [PATCH 112/117] Update Felix SVN to 15 Bug: 278035362 Change-Id: Ie18611e74b628b192073fe67549a04614de79fa1 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 27ae82c..1c289a5 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=14 + ro.vendor.build.svn=15 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 2da83e6b0ee2c5637ecc634de457f915ecbb0858 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Mon, 12 Jun 2023 13:24:47 +0800 Subject: [PATCH 113/117] Update Felix SVN to 16 Bug: 278035362 Change-Id: I2d86d401bdbb366a4ad259d853680da7cc632b0f --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 1c289a5..78fa6bb 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=15 + ro.vendor.build.svn=16 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 9396d4ee788d4e26821884eeb197aaef9d5ed81e Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Mon, 12 Jun 2023 13:25:03 +0800 Subject: [PATCH 114/117] Update Felix SVN to 17 Bug: 278035362 Change-Id: Id6639c05a9bf52d914ad507bb0391ffcacbf4249 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 78fa6bb..684f0b2 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=16 + ro.vendor.build.svn=17 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\ From 7f4285b673fe9bec56ad4da98c58d8c43ef6ae09 Mon Sep 17 00:00:00 2001 From: Vince Chiu Date: Fri, 9 Jun 2023 10:10:57 +0000 Subject: [PATCH 115/117] [Camera] Add CAMERA_MULTI_CAM_STREAMING power hint Not limit max CPU frequency when running multicamera streaming on GCA photo mode. Test: GCA Bug: 286792574 Change-Id: Iecf36827a4f26af4a07b6f8d26cff8e942cd8098 --- device-felix.mk | 1 + powerhint.json | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index dca1441..41ae910 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -303,6 +303,7 @@ PRODUCT_PROPERTY_OVERRIDES += \ PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.camera.adjust_backend_min_freq_for_1p_front_video_1080p_30fps=1 \ persist.vendor.camera.extended_launch_boost=1 \ + persist.vendor.camera.multicam_streaming_boost=1 \ persist.vendor.camera.optimized_tnr_freq=1 \ persist.vendor.camera.raise_buf_allocation_priority=1 \ persist.vendor.camera.start_cpu_throttling_at_moderate_thermal=1 \ diff --git a/powerhint.json b/powerhint.json index 32176b4..e1202cd 100644 --- a/powerhint.json +++ b/powerhint.json @@ -1347,6 +1347,24 @@ "Duration": 0, "Value": "0" }, + { + "PowerHint": "CAMERA_MULTI_CAM_STREAMING", + "Node": "CPUBigClusterMaxFreq", + "Duration": 0, + "Value": "9999999" + }, + { + "PowerHint": "CAMERA_MULTI_CAM_STREAMING", + "Node": "CPUMidClusterMaxFreq", + "Duration": 0, + "Value": "9999999" + }, + { + "PowerHint": "CAMERA_MULTI_CAM_STREAMING", + "Node": "CPULittleClusterMaxFreq", + "Duration": 0, + "Value": "9999999" + }, { "PowerHint": "CAMERA_VIDEO_RECORDING", "Type": "MaskHint", From 8a7c8edccaae1201c4902a7a394113298ebf572d Mon Sep 17 00:00:00 2001 From: paulsu Date: Wed, 14 Jun 2023 05:25:17 +0000 Subject: [PATCH 116/117] Remove UgBgGroupThrottle node to keep ug_bg_group_throttle 308 by default Bug: 280258727 Test: Found regression in b/286002292, local test. Change-Id: I2f4225be0b98a11028edf1ba4271f2ce6da8c8db Signed-off-by: paulsu --- powerhint.json | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/powerhint.json b/powerhint.json index b7af264..181fdee 100644 --- a/powerhint.json +++ b/powerhint.json @@ -582,16 +582,6 @@ ], "DefaultIndex": 0, "ResetOnInit": true - }, - { - "Name": "UgBgGroupThrottle", - "Path": "/proc/vendor_sched/ug_bg_group_throttle", - "Values": [ - "512", - "308" - ], - "DefaultIndex": 0, - "ResetOnInit": true } ], "Actions": [ From b3193d2db41c3feea89a076e291efc92301926c2 Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Fri, 16 Jun 2023 16:51:42 +0800 Subject: [PATCH 117/117] Update Felix SVN to 18 Bug: 278035362 Change-Id: Ia22f7922e929876d65b056f10eef8310ea645714 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 684f0b2..3c2d206 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -197,7 +197,7 @@ PRODUCT_SOONG_NAMESPACES += \ # Increment the SVN for any official public releases PRODUCT_VENDOR_PROPERTIES += \ - ro.vendor.build.svn=17 + ro.vendor.build.svn=18 # Vibrator HAL PRODUCT_VENDOR_PROPERTIES +=\