Update felix SVN to 37 am: fbf929ec6a am: c4da40171c

Original change: https://googleplex-android-review.googlesource.com/c/device/google/felix/+/25620330

Change-Id: If071d451d318e7892e9171e0b5906c9adc5bc92b
Signed-off-by: Automerger Merge Worker <[email protected]>
diff --git a/OWNERS b/OWNERS
index 79003ba..7eed0c3 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,4 +1,4 @@
 per-file powerhint.json = [email protected],[email protected],[email protected],[email protected]
 
 # 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
+per-file *.mk,*/BoardConfig.mk=file:device/google/gs-common:main:/OWNERS
diff --git a/PREUPLOAD.cfg b/PREUPLOAD.cfg
new file mode 100644
index 0000000..37ebb5e
--- /dev/null
+++ b/PREUPLOAD.cfg
@@ -0,0 +1,2 @@
+[Builtin Hooks]
+jsonlint = true
diff --git a/audio/felix/aidl_config/mixer_paths_aidl.xml b/audio/felix/aidl_config/mixer_paths_aidl.xml
index f9881e2..d44e685 100644
--- a/audio/felix/aidl_config/mixer_paths_aidl.xml
+++ b/audio/felix/aidl_config/mixer_paths_aidl.xml
@@ -416,6 +416,14 @@
     <path name="primary-playback -> bt" />
   </path>
 
+  <path name="primary-playback-0 -> bluetooth-low-energy-headset">
+    <path name="primary-playback -> bt" />
+  </path>
+
+  <path name="primary-playback-0 -> bluetooth-low-energy-speaker">
+    <path name="primary-playback -> bt" />
+  </path>
+
   <path name="primary-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP2" value="1" />
   </path>
@@ -476,6 +484,14 @@
     <path name="raw-playback -> bt" />
   </path>
 
+  <path name="raw-playback-0 -> bluetooth-low-energy-headset">
+    <path name="raw-playback -> bt" />
+  </path>
+
+  <path name="raw-playback-0 -> bluetooth-low-energy-speaker">
+    <path name="raw-playback -> bt" />
+  </path>
+
   <path name="raw-playback-0 -> usb">
     <ctl name="USB_RX Mixer RAW" value="1" />
   </path>
@@ -536,6 +552,14 @@
     <path name="deep-buffer-playback -> bt" />
   </path>
 
+  <path name="deep-buffer-playback-0 -> bluetooth-low-energy-headset">
+    <path name="deep-buffer-playback -> bt" />
+  </path>
+
+  <path name="deep-buffer-playback-0 -> bluetooth-low-energy-speaker">
+    <path name="deep-buffer-playback -> bt" />
+  </path>
+
   <path name="deep-buffer-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP6" value="1" />
   </path>
@@ -601,6 +625,14 @@
     <path name="compress-offload-playback -> bt" />
   </path>
 
+  <path name="compress-offload-playback-0 -> bluetooth-low-energy-headset">
+    <path name="compress-offload-playback -> bt" />
+  </path>
+
+  <path name="compress-offload-playback-0 -> bluetooth-low-energy-speaker">
+    <path name="compress-offload-playback -> bt" />
+  </path>
+
   <path name="compress-offload-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP7" value="1" />
   </path>
@@ -661,6 +693,14 @@
     <path name="mmap-playback -> bt" />
   </path>
 
+  <path name="mmap-playback-0 -> bluetooth-low-energy-headset">
+    <path name="mmap-playback -> bt" />
+  </path>
+
+  <path name="mmap-playback-0 -> bluetooth-low-energy-speaker">
+    <path name="mmap-playback -> bt" />
+  </path>
+
   <path name="mmap-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP1" value="1" />
   </path>
@@ -733,6 +773,14 @@
     <path name="voip-playback -> bt" />
   </path>
 
+  <path name="voip-playback-0 -> bluetooth-low-energy-headset">
+    <path name="voip-playback -> bt" />
+  </path>
+
+  <path name="voip-playback-0 -> bluetooth-low-energy-speaker">
+    <path name="voip-playback -> bt" />
+  </path>
+
   <path name="voip-playback-0 -> usb">
     <ctl name="USB_RX Mixer VOIP" value="1" />
   </path>
@@ -851,6 +899,14 @@
     <path name="haptic-playback -> bt" />
   </path>
 
+  <path name="haptic-playback-0 -> bluetooth-low-energy-headset">
+    <path name="haptic-playback -> bt" />
+  </path>
+
+  <path name="haptic-playback-0 -> bluetooth-low-energy-speaker">
+    <path name="haptic-playback -> bt" />
+  </path>
+
   <path name="haptic-playback-0 -> usb">
     <ctl name="USB_RX Mixer EP3" value="1" />
     <ctl name="TDM_0_RX Mixer EP8" value="1" />
@@ -885,6 +941,14 @@
     <path name="usb-microphones -> primary-capture-0" />
   </path>
 
+  <path name="bluetooth-sco-headset-microphones -> primary-capture-0">
+    <ctl name="EP1 TX Mixer BT_TX" value="1" />
+  </path>
+
+  <path name="bluetooth-low-energy-headset-microphones -> primary-capture-0">
+    <ctl name="EP1 TX Mixer BT_TX" value="1" />
+  </path>
+
   <path name="microphones -> voip-capture-0">
     <ctl name="VOIP TX Mixer INTERNAL_MIC_TX" value="1" />
   </path>
@@ -913,6 +977,10 @@
     <ctl name="VOIP TX Mixer BT_TX" value="1" />
   </path>
 
+  <path name="bluetooth-low-energy-headset-microphones -> voip-capture-0">
+    <ctl name="VOIP TX Mixer BT_TX" value="1" />
+  </path>
+
   <path name="microphones -> fast-capture-0">
     <ctl name="EP3 TX Mixer INTERNAL_MIC_TX" value="1" />
   </path>
@@ -937,6 +1005,10 @@
     <ctl name="EP3 TX Mixer BT_TX" value="1" />
   </path>
 
+  <path name="bluetooth-low-energy-headset-microphones -> fast-capture-0">
+    <ctl name="EP3 TX Mixer BT_TX" value="1" />
+  </path>
+
   <path name="microphones -> sound-trigger-capture-0">
   </path>
 
@@ -971,6 +1043,14 @@
     <path name="voice-call-downlink-0 -> bt" />
   </path>
 
+  <path name="voice-call-downlink-0 -> bluetooth-low-energy-headset">
+    <path name="voice-call-downlink-0 -> bt" />
+  </path>
+
+  <path name="voice-call-downlink-0 -> bluetooth-low-energy-speaker">
+    <path name="voice-call-downlink-0 -> bt" />
+  </path>
+
   <path name="voice-call-downlink-0 -> usb">
     <ctl name="USB_RX Mixer EP5" value="1" />
   </path>
@@ -1011,6 +1091,10 @@
     <ctl name="EP4 TX Mixer BT_TX" value="1" />
   </path>
 
+  <path name="bluetooth-low-energy-headset-microphones -> voice-call-uplink-0">
+    <ctl name="EP4 TX Mixer BT_TX" value="1" />
+  </path>
+
   <path name="null-source -> voice-call-uplink-0">
     <ctl name="EP4 TX Mixer INCALL_TX" value="1" />
   </path>
@@ -1075,6 +1159,10 @@
     <ctl name="EP2 TX Mixer BT_TX" value="1" />
   </path>
 
+  <path name="bluetooth-low-energy-headset-microphones -> mmap-capture-0">
+    <ctl name="EP2 TX Mixer BT_TX" value="1" />
+  </path>
+
   <!-- codec setting -->
   <!-- Rx device -->
   <path name="speaker-earpiece">
@@ -1252,6 +1340,10 @@
     <ctl name="MIC Record Soft Gain (dB)" value="0" />
   </path>
 
+  <path name="bluetooth-low-energy-headset-microphones">
+    <path name="bluetooth-sco-headset-microphones" />
+  </path>
+
   <path name="usb-headset-microphones">
     <ctl name="BUILDIN MIC ID CAPTURE LIST" id="0" value="0" />
     <ctl name="BUILDIN MIC ID CAPTURE LIST" id="1" value="3" />
diff --git a/bluetooth/le_audio_codec_capabilities.xml b/bluetooth/le_audio_codec_capabilities.xml
index 89d0de6..5853138 100644
--- a/bluetooth/le_audio_codec_capabilities.xml
+++ b/bluetooth/le_audio_codec_capabilities.xml
@@ -32,6 +32,9 @@
     <scenario encode="OneChanMono_24_2" decode="invalid"/>
     <scenario encode="TwoChanStereo_24_2" decode="invalid"/>
     <scenario encode="OneChanStereo_24_2" decode="invalid"/>
+    <scenario encode="OneChanMono_48_2" decode="invalid"/>
+    <scenario encode="TwoChanStereo_48_2" decode="invalid"/>
+    <scenario encode="OneChanStereo_48_2" decode="invalid"/>
     <scenario encode="OneChanMono_48_4" decode="invalid"/>
     <scenario encode="TwoChanStereo_48_4" decode="invalid"/>
     <scenario encode="OneChanStereo_48_4" decode="invalid"/>
@@ -57,6 +60,9 @@
     <configuration name="OneChanMono_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
     <configuration name="TwoChanStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
     <configuration name="OneChanStereo_24_2" codecConfiguration="LC3_24k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
+    <configuration name="OneChanMono_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
+    <configuration name="TwoChanStereo_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
+    <configuration name="OneChanStereo_48_2" codecConfiguration="LC3_48k_2" strategyConfiguration="STEREO_ONE_CIS_PER_DEVICE"/>
     <configuration name="OneChanMono_48_4" codecConfiguration="LC3_48k_4" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
     <configuration name="TwoChanStereo_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="STEREO_TWO_CISES_PER_DEVICE"/>
     <configuration name="OneChanMono_32_2" codecConfiguration="LC3_32k_2" strategyConfiguration="MONO_ONE_CIS_PER_DEVICE"/>
@@ -68,6 +74,7 @@
     <codecConfiguration name="LC3_16k_2" codec="LC3" samplingFrequency="16000" frameDurationUs="10000" octetsPerCodecFrame="40"/>
     <codecConfiguration name="LC3_24k_2" codec="LC3" samplingFrequency="24000" frameDurationUs="10000" octetsPerCodecFrame="60"/>
     <codecConfiguration name="LC3_32k_2" codec="LC3" samplingFrequency="32000" frameDurationUs="10000" octetsPerCodecFrame="80"/>
+    <codecConfiguration name="LC3_48k_2" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="100"/>
     <codecConfiguration name="LC3_48k_4" codec="LC3" samplingFrequency="48000" frameDurationUs="10000" octetsPerCodecFrame="120"/>
   </codecConfigurationList>
   <strategyConfigurationList>
diff --git a/conf/init.felix.rc b/conf/init.felix.rc
index 1b5ce74..ed12a3c 100644
--- a/conf/init.felix.rc
+++ b/conf/init.felix.rc
@@ -83,6 +83,7 @@
     # Wait for insmod_sh to finish all common modules
     wait_for_prop vendor.common.modules.ready 1
     start insmod_sh_felix
+    chown system system /sys/class/power_supply/dualbatt/dbatt_stats
 
 service insmod_sh_felix /vendor/bin/insmod.sh /vendor/etc/init.insmod.felix.cfg
     class main
diff --git a/device-felix.mk b/device-felix.mk
index 0f167c2..84fe534 100644
--- a/device-felix.mk
+++ b/device-felix.mk
@@ -14,6 +14,9 @@
 # limitations under the License.
 #
 
+# Restrict the visibility of Android.bp files to improve build analysis time
+$(call inherit-product-if-exists, vendor/google/products/sources_pixel.mk)
+
 TARGET_KERNEL_DIR ?= device/google/felix-kernel
 TARGET_BOARD_KERNEL_HEADERS := device/google/felix-kernel/kernel-headers
 TARGET_RECOVERY_DEFAULT_ROTATION := ROTATION_RIGHT
@@ -136,10 +139,10 @@
 
 # Bluetooth Tx power caps
 PRODUCT_COPY_FILES += \
-    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_felix_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
-    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_felix_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_JP.csv \
-    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_felix_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_EU.csv \
-    $(LOCAL_PATH)/bluetooth/bluetooth_power_limits_felix_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_US.csv
+    device/google/felix/bluetooth/bluetooth_power_limits_felix_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits.csv \
+    device/google/felix/bluetooth/bluetooth_power_limits_felix_JP.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_JP.csv \
+    device/google/felix/bluetooth/bluetooth_power_limits_felix_EU.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_EU.csv \
+    device/google/felix/bluetooth/bluetooth_power_limits_felix_US.csv:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_power_limits_US.csv
 
 # Spatial Audio
 PRODUCT_PACKAGES += \
@@ -214,7 +217,8 @@
 PRODUCT_VENDOR_PROPERTIES +=\
     ro.vendor.vibrator.hal.long.frequency.shift=0 \
     ro.vendor.vibrator.hal.gpio.num=44 \
-    ro.vendor.vibrator.hal.gpio.shift=2
+    ro.vendor.vibrator.hal.gpio.shift=2 \
+    persist.vendor.vibrator.hal.chirp.enabled=0
 ACTUATOR_MODEL := luxshare_ict_lt_xlra1906d
 
 # Fingerprint
@@ -237,7 +241,7 @@
 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.enable_frame_rate_override=true
 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.set_idle_timer_ms_4619827677550801152=80
 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.support_kernel_idle_timer_4619827677550801152=true
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.set_idle_timer_ms_4619827677550801153=1500
+PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.set_idle_timer_ms_4619827677550801153=1000
 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.support_kernel_idle_timer_4619827677550801153=false
 
 # Set zram size
@@ -251,6 +255,11 @@
 
 # Trusty liboemcrypto.so
 PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts
+ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts/trusty/24Q1
+else
+PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts/trusty/trunk
+endif
 
 # Set zram size
 PRODUCT_VENDOR_PROPERTIES += \
@@ -300,7 +309,7 @@
 
 ##Audio Vendor property
 PRODUCT_PROPERTY_OVERRIDES += \
-	persist.vendor.audio.cca.enabled=true
+	persist.vendor.audio.cca.enabled=false
 
 # Camera
 PRODUCT_PROPERTY_OVERRIDES += \
@@ -368,6 +377,10 @@
 PRODUCT_COPY_FILES += \
     device/google/felix/bluetooth/le_audio_codec_capabilities.xml:$(TARGET_COPY_OUT_VENDOR)/etc/le_audio_codec_capabilities.xml
 
+# LE Audio Unicast Allowlist
+PRODUCT_PRODUCT_PROPERTIES += \
+    persist.bluetooth.leaudio.allow_list=SM-R510
+
 # Bluetooth EWP test tool
 PRODUCT_PACKAGES_DEBUG += \
     ewp_tool
diff --git a/device_framework_matrix_product_felix.xml b/device_framework_matrix_product_felix.xml
index 7594e3c..90ef723 100644
--- a/device_framework_matrix_product_felix.xml
+++ b/device_framework_matrix_product_felix.xml
@@ -1,7 +1,7 @@
 <compatibility-matrix version="1.0" type="framework" level="7">
     <hal format="aidl" optional="true">
       <name>com.google.hardware.pixel.display</name>
-        <version>9</version>
+        <version>10</version>
         <interface>
             <name>IDisplay</name>
             <instance>secondary</instance>
diff --git a/felix/BoardConfig.mk b/felix/BoardConfig.mk
index 856eb42..72b542b 100644
--- a/felix/BoardConfig.mk
+++ b/felix/BoardConfig.mk
@@ -20,12 +20,20 @@
 USES_DEVICE_GOOGLE_FELIX := true
 BOARD_KERNEL_CMDLINE += swiotlb=noforce
 
+RELEASE_GOOGLE_PRODUCT_RADIO_DIR := $(RELEASE_GOOGLE_FELIX_RADIO_DIR)
+ifneq (,$(filter AP1%,$(RELEASE_PLATFORM_VERSION)))
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/24Q1
+else
+RELEASE_GOOGLE_PRODUCT_BOOTLOADER_DIR := bootloader/trunk
+endif
+
 # 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
+BOARD_KERNEL_CMDLINE += s2mpg12-regulator.load_sequential=1
 
 #Display
 USES_IDISPLAY_INTF_SEC := true
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 8899594..7d50be7 100644
--- a/felix/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml
@@ -42,7 +42,7 @@
     <integer name="config_defaultRefreshRate">0</integer>
 
     <!-- Whether to show Fold lock behavior setting feature in Settings App -->
-    <bool name="config_fold_lock_behavior">false</bool>
+    <bool name="config_fold_lock_behavior">true</bool>
 
     <!-- The default peak refresh rate. -->
     <integer name="config_defaultPeakRefreshRate">120</integer>
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
index 9cbf278..4f1e1f3 100644
--- a/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml
+++ b/felix/overlay/frameworks/base/packages/SystemUI/res-keyguard/values/dimens.xml
@@ -19,5 +19,5 @@
     <!-- Weather clock smartspace positioning to apply for the weather clock on tablets -->
     <item name="weather_clock_smartspace_scale" type="dimen" format="float">0.85</item>
     <dimen name="weather_clock_smartspace_translateX">-40dp</dimen>
-    <dimen name="weather_clock_smartspace_translateY">-5dp</dimen>
+    <dimen name="weather_clock_smartspace_translateY">-15dp</dimen>
 </resources>
diff --git a/location/gps.xml.f10 b/location/gps.xml.f10
index 11d6397..e2cd884 100644
--- a/location/gps.xml.f10
+++ b/location/gps.xml.f10
@@ -35,7 +35,7 @@
        SuplVersion="2"
        SuplMinorVersion="0"
        SuplOtdoaCapable="true"
-       SuplOtdoaCapable2="false"
+       SuplOtdoaCapable2="true"
        SuplGlonassCapable = "true"
        SuplGalileoCapable = "true"
        SuplBdsCapable = "true"
diff --git a/location/gps_user.xml.f10 b/location/gps_user.xml.f10
index 9ea21bf..b0c3fdf 100644
--- a/location/gps_user.xml.f10
+++ b/location/gps_user.xml.f10
@@ -34,7 +34,7 @@
        SuplVersion="2"
        SuplMinorVersion="0"
        SuplOtdoaCapable="true"
-       SuplOtdoaCapable2="false"
+       SuplOtdoaCapable2="true"
        SuplGlonassCapable = "true"
        SuplGalileoCapable = "true"
        SuplBdsCapable = "true"
diff --git a/manifest.xml b/manifest.xml
index 56f489c..ae2f526 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -114,7 +114,7 @@
     </hal>
     <hal format="aidl">
         <name>vendor.google.google_battery</name>
-        <version>2</version>
+        <version>3</version>
         <interface>
             <name>IGoogleBattery</name>
             <instance>default</instance>
diff --git a/powerhint.json b/powerhint.json
index 694c5f6..fbcc819 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -177,7 +177,7 @@
     },
     {
       "Name": "CAMUClampBoost",
-      "Path": "/proc/vendor_sched/cam_uclamp_min",
+      "Path": "/proc/vendor_sched/groups/cam/uclamp_min",
       "Values": [
         "764",
         "0"
@@ -186,7 +186,7 @@
     },
     {
       "Name": "TAUClampBoost",
-      "Path": "/proc/vendor_sched/ta_uclamp_min",
+      "Path": "/proc/vendor_sched/groups/ta/uclamp_min",
       "Values": [
         "764",
         "1"
@@ -195,7 +195,7 @@
     },
     {
       "Name": "FGUClampBoost",
-      "Path": "/proc/vendor_sched/fg_uclamp_min",
+      "Path": "/proc/vendor_sched/groups/fg/uclamp_min",
       "Values": [
         "159",
         "0"
@@ -204,7 +204,7 @@
     },
     {
       "Name": "MLUclampBoost",
-      "Path": "/proc/vendor_sched/nnapi_uclamp_min",
+      "Path": "/proc/vendor_sched/groups/nnapi/uclamp_min",
       "Values": [
           "225",
           "813"
@@ -223,7 +223,7 @@
     },
     {
       "Name": "CDPreferIdle",
-      "Path": "/proc/vendor_sched/cam_prefer_idle",
+      "Path": "/proc/vendor_sched/groups/cam/prefer_idle",
       "Values": [
         "0",
         "1"
@@ -269,7 +269,7 @@
     },
     {
       "Name": "TAPreferHighCap",
-      "Path": "/proc/vendor_sched/ta_prefer_high_cap",
+      "Path": "/proc/vendor_sched/groups/ta/prefer_high_cap",
       "Values": [
         "1",
         "0"
@@ -278,7 +278,7 @@
     },
     {
       "Name": "TAPreferIdle",
-      "Path": "/proc/vendor_sched/ta_prefer_idle",
+      "Path": "/proc/vendor_sched/groups/ta/prefer_idle",
       "Values": [
         "0",
         "1"
@@ -287,7 +287,7 @@
     },
     {
       "Name": "FGPreferIdle",
-      "Path": "/proc/vendor_sched/fg_prefer_idle",
+      "Path": "/proc/vendor_sched/groups/fg/prefer_idle",
       "Values": [
         "1",
         "0"
@@ -297,7 +297,7 @@
     },
     {
       "Name": "CDPreferHighCap",
-      "Path": "/proc/vendor_sched/cam_prefer_high_cap",
+      "Path": "/proc/vendor_sched/groups/cam/prefer_high_cap",
       "Values": [
         "1",
         "0"
@@ -319,7 +319,7 @@
       "Values": [
         "0",
         "1"
-      ],
+      ]
     },
     {
       "Name": "DisplayWakeup",
@@ -552,6 +552,15 @@
       ]
     },
     {
+      "Name": "EM_Profile",
+      "Path": "/sys/kernel/pixel_em/active_profile",
+      "Values": [
+        "default",
+        "cam1"
+      ],
+      "DefaultIndex": 0
+    },
+    {
       "Name": "PMU_POLL",
       "Path": "/proc/vendor_sched/pmu_poll_enable",
       "Values": [
@@ -671,7 +680,7 @@
     },
     {
       "Name": "Dex2oatGroup",
-      "Path": "/proc/vendor_sched/dex2oat_ug",
+      "Path": "/proc/vendor_sched/groups/dex2oat/ug",
       "Values": [
         "1",
         "0"
@@ -794,6 +803,71 @@
       "Value": "9999999"
     },
     {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "ReducePreferIdle",
+      "Duration": 5000,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE_GPU",
+      "Node": "GPUDvfsPeriod",
+      "Duration": 1000,
+      "Value": "10"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "FGPreferIdle",
+      "Duration": 5000,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Type": "DoHint",
+      "Value": "DISPLAY_CHANGE_GPU"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "CPUBigClusterMaxFreq",
+      "Duration": 5000,
+      "Value": "9999999"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "CPUMidClusterMaxFreq",
+      "Duration": 5000,
+      "Value": "9999999"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "CPULittleClusterMaxFreq",
+      "Duration": 5000,
+      "Value": "9999999"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "TAUClampBoost",
+      "Duration": 5000,
+      "Value": "764"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "FGUClampBoost",
+      "Duration": 5000,
+      "Value": "159"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "MemFreq",
+      "Duration": 5000,
+      "Value": "3172000"
+    },
+    {
+      "PowerHint": "DISPLAY_CHANGE",
+      "Node": "NPITaskPacking",
+      "Duration": 5000,
+      "Value": "0"
+    },
+    {
       "PowerHint": "CPU_LOAD_RESET",
       "Node": "GPUMinFreq",
       "Duration": 50,
@@ -980,6 +1054,18 @@
       "Value": "664000"
     },
     {
+      "PowerHint": "CAMERA_ZOOMING_BOOST",
+      "Node": "CDPreferIdle",
+      "Duration": 100,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_ZOOMING_BOOST",
+      "Node": "PMU_POLL",
+      "Duration": 100,
+      "Value": "0"
+    },
+    {
       "PowerHint": "GCA_CAMERA_SHOT_BIGCPU_RANK1",
       "Node": "TAPreferHighCap",
       "Duration": 3000,
@@ -1389,21 +1475,63 @@
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
-      "Node": "CPUBigClusterMaxFreq",
+      "Node": "PMU_POLL",
+      "Duration": 0,
+      "Value": "1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "EM_Profile",
+      "Duration": 0,
+      "Value": "cam1"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "PMU_LIT_LCPI_THRESHOLD",
+      "Duration": 0,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "PMU_LIT_SPC_THRESHOLD",
+      "Duration": 0,
+      "Value": "0"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "PMU_MID_LIMIT_FREQ",
+      "Duration": 0,
+      "Value": "1836000"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "PMU_MID_LCPI_THRESHOLD",
+      "Duration": 0,
+      "Value": "3"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "PMU_MID_SPC_THRESHOLD",
+      "Duration": 0,
+      "Value": "50"
+    },
+    {
+      "PowerHint": "CAMERA_STREAMING_STANDARD",
+      "Node": "PMU_BIG_LIMIT_FREQ",
       "Duration": 0,
       "Value": "1826000"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
-      "Node": "CPUMidClusterMaxFreq",
+      "Node": "PMU_BIG_LCPI_THRESHOLD",
       "Duration": 0,
-      "Value": "1491000"
+      "Value": "3"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
-      "Node": "CPULittleClusterMaxFreq",
+      "Node": "PMU_BIG_SPC_THRESHOLD",
       "Duration": 0,
-      "Value": "1401000"
+      "Value": "50"
     },
     {
       "PowerHint": "CAMERA_STREAMING_STANDARD",
diff --git a/vibrator/cs40l26/Hardware.h b/vibrator/cs40l26/Hardware.h
index 51619e5..7ad4017 100644
--- a/vibrator/cs40l26/Hardware.h
+++ b/vibrator/cs40l26/Hardware.h
@@ -359,9 +359,7 @@
         return true;
     }
     bool isChirpEnabled() override {
-        bool value;
-        getProperty("chirp.enabled", &value, false);
-        return value;
+        return utils::getProperty("persist.vendor.vibrator.hal.chirp.enabled", false);
     }
     bool getSupportedPrimitives(uint32_t *value) override {
         return getProperty("supported_primitives", value, (uint32_t)0);
diff --git a/vibrator/cs40l26/Vibrator.cpp b/vibrator/cs40l26/Vibrator.cpp
index 5ad996a..7d5227e 100644
--- a/vibrator/cs40l26/Vibrator.cpp
+++ b/vibrator/cs40l26/Vibrator.cpp
@@ -55,11 +55,6 @@
 static constexpr int8_t MAX_COLD_START_LATENCY_MS = 6;  // I2C Transaction + DSP Return-From-Standby
 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;
@@ -358,7 +353,7 @@
     mFfEffects.resize(WAVEFORM_MAX_INDEX);
     mEffectDurations.resize(WAVEFORM_MAX_INDEX);
     mEffectDurations = {
-            1000, 100, 32, 1000, 300, 130, 150, 500, 100, 10, 12, 1000, 1000, 1000,
+            1000, 100, 12, 1000, 300, 130, 150, 500, 100, 5, 12, 1000, 1000, 1000,
     }; /* 11+3 waveforms. The duration must < UINT16_MAX */
 
     uint8_t effectIndex;
@@ -701,8 +696,8 @@
         if (!status.isOk()) {
             return status;
         }
-        // Please check the overhead time detail in b/261841035
-        *durationMs = mEffectDurations[effectIndex] + SETTING_TIME_OVERHEAD;
+
+        *durationMs = mEffectDurations[effectIndex];
     } else {
         *durationMs = 0;
     }