From 66db2ee5d497a1dc6f250d1fffaeb90657f9082b Mon Sep 17 00:00:00 2001 From: Les Lee Date: Thu, 5 Sep 2024 03:48:09 +0000 Subject: [PATCH 01/30] wifi: Upgrade vendor hal version Bug: 362355566 Flag: EXEMPT HAL interface change Test: Build Change-Id: I8cd5c16ca8f82e7ef58b5333acf53772ba31089b --- device_framework_matrix_product.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device_framework_matrix_product.xml b/device_framework_matrix_product.xml index 45367125..f1e620c8 100644 --- a/device_framework_matrix_product.xml +++ b/device_framework_matrix_product.xml @@ -118,7 +118,7 @@ vendor.google.wifi_ext - 2-3 + 2-4 IWifiExt default From 5734db5acc6328a3b91c7e5dd4f5b69f12daded2 Mon Sep 17 00:00:00 2001 From: Zhengyuan Cui Date: Fri, 20 Sep 2024 22:24:27 +0000 Subject: [PATCH 02/30] Change any use case of folder name apis to tachyon_apis to avoid api review Bug: 364390678 Change-Id: I40cc4d0d45be69c52c6fc17723c4535504476d47 Flag: EXEMPT refactor --- device.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device.mk b/device.mk index b0cd0662..12938240 100644 --- a/device.mk +++ b/device.mk @@ -1066,7 +1066,7 @@ PRODUCT_SOONG_NAMESPACES += \ vendor/google_devices/gs101/proprietary/gchips/tpu/nnapi_stable_aidl \ vendor/google_devices/gs101/proprietary/gchips/tpu/aidl \ vendor/google_devices/gs101/proprietary/gchips/tpu/hal \ - vendor/google_devices/gs101/proprietary/gchips/tpu/tachyon/api \ + vendor/google_devices/gs101/proprietary/gchips/tpu/tachyon/tachyon_apis \ vendor/google_devices/gs101/proprietary/gchips/tpu/tachyon/service # TPU firmware PRODUCT_PACKAGES += edgetpu-abrolhos.fw From 583bb0245b0e051e32bd4688a7816ae7a25a6018 Mon Sep 17 00:00:00 2001 From: Nishant Panwar Date: Wed, 12 Jun 2024 09:19:56 +0000 Subject: [PATCH 03/30] Set dexpreopt and dexopt filter for SystemUI Bug: 271887637 Test: Built and flashed on local device Flag: build.RELEASE_SYSTEMUI_USE_SPEED_PROFILE Change-Id: Idafe8f8e72a7b50bd3d0baea8b736dd853943a09 --- device.mk | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/device.mk b/device.mk index 12938240..ab918a96 100644 --- a/device.mk +++ b/device.mk @@ -1136,12 +1136,19 @@ PRODUCT_PACKAGES_DEBUG += BatteryStatsViewer DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs101/device_framework_matrix_product.xml # Preopt SystemUI +ifneq ($(RELEASE_SYSTEMUI_USE_SPEED_PROFILE), true) PRODUCT_DEXPREOPT_SPEED_APPS += SystemUIGoogle # For internal -PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI # For AOSP +PRODUCT_DEXPREOPT_SPEED_APPS += SystemUI # For AOSP +endif -# Compile SystemUI on device with `speed`. +# Set on-device compilation mode for SystemUI. +ifeq ($(RELEASE_SYSTEMUI_USE_SPEED_PROFILE), true) +PRODUCT_PROPERTY_OVERRIDES += \ + dalvik.vm.systemuicompilerfilter=speed-profile +else PRODUCT_PROPERTY_OVERRIDES += \ dalvik.vm.systemuicompilerfilter=speed +endif # Keymaster configuration PRODUCT_COPY_FILES += \ From 7f7e44cc1506e331ff9541a62d1e9209ab9bd59e Mon Sep 17 00:00:00 2001 From: Jimmy Shiu Date: Wed, 25 Sep 2024 15:20:39 +0000 Subject: [PATCH 04/30] [task_profiles]Add MaxPerformance and PreferIdle to InputPolicy profile. Flag: com.android.input.flags.enable_input_policy_profile Bug: 369574417 Change-Id: I7800c8a86f60a7513fdd6a4470002e6a62ede4ec --- task_profiles.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/task_profiles.json b/task_profiles.json index 81e5e41f..47cada84 100644 --- a/task_profiles.json +++ b/task_profiles.json @@ -15,6 +15,21 @@ } ] }, + { + "Name": "PreferIdle", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/prefer_idle_set", + "ProcFilePath": "/proc/vendor_sched/prefer_idle_set", + "Value": "", + "LogFailures": "false" + } + } + ] + }, { "Name": "CameraServicePerformance", "Actions": [ @@ -291,7 +306,7 @@ }, { "Name": "InputPolicy", - "Profiles": [ "ResetUclampGrp" ] + "Profiles": [ "MaxPerformance", "ResetUclampGrp", "PreferIdle" ] } ] } From 164d01e0d403be26ba2fea346a710c88fe5a0977 Mon Sep 17 00:00:00 2001 From: Brian Norris Date: Thu, 26 Sep 2024 11:53:28 -0700 Subject: [PATCH 05/30] gs101: Copy insmod configs from kernel to vendor_dlkm We're going to transition to using the kernel copy, not the HLOS copy. Bug: 369686096 Test: build, flash, check /vendor_dlkm/etc/ (may or may not exist, depending on kernel contents) Flag: build.RELEASE_KERNEL_BLUEJAY_DIR Flag: build.RELEASE_KERNEL_ORIOLE_DIR Flag: build.RELEASE_KERNEL_RAVEN_DIR Change-Id: I40649b59dc0e18e5a9dc160e58815929a7150226 --- device.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/device.mk b/device.mk index ab918a96..fc4f739d 100644 --- a/device.mk +++ b/device.mk @@ -361,6 +361,10 @@ PRODUCT_COPY_FILES += \ include device/google/gs-common/insmod/insmod.mk +# Insmod config files +PRODUCT_COPY_FILES += \ + $(call find-copy-subdir-files,init.insmod.*.cfg,$(TARGET_KERNEL_DIR),$(TARGET_COPY_OUT_VENDOR_DLKM)/etc) + # For creating dtbo image PRODUCT_HOST_PACKAGES += \ mkdtimg From e471d7385713c6582a5c05b649b71a6ddf900273 Mon Sep 17 00:00:00 2001 From: Jim Tang Date: Fri, 4 Oct 2024 15:15:00 +0800 Subject: [PATCH 06/30] Relocate modem_svc_sit to proper places Flag: EXEMPT refactor Bug: 358485346 Test: m modem_svc_sit Change-Id: I526fa249612a18324bbdd9d4105d53519c23e075 --- device.mk | 3 --- 1 file changed, 3 deletions(-) diff --git a/device.mk b/device.mk index fc4f739d..6e738193 100644 --- a/device.mk +++ b/device.mk @@ -960,9 +960,6 @@ PRODUCT_COPY_FILES += \ device/google/gs101/default-permissions.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions.xml \ device/google/gs101/component-overrides.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sysconfig/component-overrides.xml -# modem_svc_sit daemon -PRODUCT_PACKAGES += modem_svc_sit - # modem logging binary/configs PRODUCT_PACKAGES += modem_logging_control From 7ed8a55835c0166275180f53cb10261a1d522692 Mon Sep 17 00:00:00 2001 From: Kuen-Han Tsai Date: Wed, 9 Oct 2024 14:48:22 +0800 Subject: [PATCH 07/30] Usb: Add status check to prevent NPE This patch prevents a Null Pointer Exception in queryMoistureDetectionStatus() when getPortStatusHelper() fails to open the /sys/class/typec file. The failure results in an empty currentPortStatus vector, causing the NPE when accessing its first element. Bug: 361097811 Flag: EXEMPT bugfix Test: NPE does not occur when getPortStatusHelper() fails Change-Id: Id6886283d6f2f9179b3a9c5d535646874e9f277b Signed-off-by: Kuen-Han Tsai --- usb/usb/Usb.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/usb/usb/Usb.cpp b/usb/usb/Usb.cpp index 0736f4c4..ab7932ba 100644 --- a/usb/usb/Usb.cpp +++ b/usb/usb/Usb.cpp @@ -943,17 +943,21 @@ void queryVersionHelper(android::hardware::usb::Usb *usb, Status status; pthread_mutex_lock(&usb->mLock); status = getPortStatusHelper(usb, currentPortStatus); - queryMoistureDetectionStatus(usb, currentPortStatus); - queryPowerTransferStatus(usb, currentPortStatus); - queryNonCompliantChargerStatus(currentPortStatus); - queryUsbDataSession(usb, currentPortStatus); - if (usb->mCallback != NULL) { - ScopedAStatus ret = usb->mCallback->notifyPortStatusChange(*currentPortStatus, - status); - if (!ret.isOk()) - ALOGE("queryPortStatus error %s", ret.getDescription().c_str()); + if (status == Status::SUCCESS && currentPortStatus->size() > 0) { + queryMoistureDetectionStatus(usb, currentPortStatus); + queryPowerTransferStatus(usb, currentPortStatus); + queryNonCompliantChargerStatus(currentPortStatus); + queryUsbDataSession(usb, currentPortStatus); + if (usb->mCallback != NULL) { + ScopedAStatus ret = usb->mCallback->notifyPortStatusChange(*currentPortStatus, + status); + if (!ret.isOk()) + ALOGE("queryPortStatus error %s", ret.getDescription().c_str()); + } else { + ALOGI("Notifying userspace skipped. Callback is NULL"); + } } else { - ALOGI("Notifying userspace skipped. Callback is NULL"); + ALOGI("%s skipped. currentPortStatus is empty", __func__); } pthread_mutex_unlock(&usb->mLock); } From 60ef8d69497427eaf71da7534b2361470b552217 Mon Sep 17 00:00:00 2001 From: Robin Hsu Date: Mon, 14 Oct 2024 02:50:00 +0000 Subject: [PATCH 08/30] gs101: Disable kmem cgroup accounting Disable cgroup kernel memory accounting to avoid unnecessary overhead similar change ag/22891292 but now back-port to gs101 Flag: NONE kernel config Bug: 373232814 Test: pts-tradefed run commandAndExit pts -m PtsPerfWbsTestCases -t com.google.android.perfwbs.pts.KernelModuleTest and alternative tests on forrest. Change-Id: I4ab5d20a2d74c023c6fca26b32c8acc67fcd2582 Signed-off-by: Robin Hsu --- BoardConfig-common.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 22a3c979..9483afff 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -44,6 +44,7 @@ BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10A00000 console=ttySAC0,115200 an BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rcu_lazy BOARD_KERNEL_CMDLINE += swiotlb=noforce +BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem BOARD_BOOTCONFIG += androidboot.boot_devices=14700000.ufs TARGET_NO_BOOTLOADER := true From b2af325920e88b4d1c500dff2cfa7deddb7068cf Mon Sep 17 00:00:00 2001 From: Robert Luo Date: Fri, 11 Oct 2024 12:49:49 +0800 Subject: [PATCH 09/30] [Pixel RR] Apply reviewed default permissions Pregrantting below permission(s): CALL_PHONE Flag: EXEMPT add pregranted permission in b/371912006 Bug: 336203918 Test: presubmit Change-Id: I5804b3d3289519f19ca9acb232ecc0a715ad00a5 --- default-permissions.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/default-permissions.xml b/default-permissions.xml index 4a3e1c60..61770526 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -173,7 +173,7 @@ - + From 838d1086c9b2f4594561de8ce9040cc7de229051 Mon Sep 17 00:00:00 2001 From: Richard Chang Date: Tue, 22 Oct 2024 08:09:39 +0000 Subject: [PATCH 10/30] gs101: MCP: Set the vendor customized max cached processes to 1024. Bug: 374891496 Test: adb shell dumpsys activity | grep CUR_MAX_CACHED_PROCESSES Flag: EXEMPT config XML change Change-Id: I072c8de8bc78ac6888cb6bbf0344678ac03de3a9 --- overlay/frameworks/base/core/res/res/values/config.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 964ebf6f..6d4d0231 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -272,6 +272,9 @@ true + + 1024 + true + + false From 89b656951aadda269b0a126c55dafc569768c99f Mon Sep 17 00:00:00 2001 From: Herbert Xue Date: Tue, 19 Nov 2024 15:33:05 +0800 Subject: [PATCH 23/30] Set soong config variables for libExynosC2H263Dec and libExynosC2H263Enc Flag: EXEMPT bugfix Bug: 375111251 Test: m libExynosC2H263Dec libExynosC2H263Enc Change-Id: I8f14150482337914a83df2ab3fc650b92161c664 --- BoardConfig-common.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 104309a5..2e75614b 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -172,7 +172,11 @@ BOARD_SUPPORT_MFC_ENC_BT2020 := true BOARD_SUPPORT_FLEXIBLE_P010 := true $(call soong_config_set,video_codec,target_soc_name,$(TARGET_SOC_NAME)) $(call soong_config_set_bool,video_codec,board_use_codec2_hidl_1_2,$(BOARD_USE_CODEC2_HIDL_1_2)) +$(call soong_config_set_bool,video_codec,board_use_csc_filter,$(BOARD_USE_CSC_FILTER)) $(call soong_config_set_bool,video_codec,board_use_dec_sw_csc,$(BOARD_USE_DEC_SW_CSC)) +$(call soong_config_set_bool,video_codec,board_use_enc_sw_csc,$(BOARD_USE_ENC_SW_CSC)) +$(call soong_config_set_bool,video_codec,board_support_mfc_enc_rgb,$(BOARD_SUPPORT_MFC_ENC_RGB)) +$(call soong_config_set_bool,video_codec,board_use_blob_allocator,$(BOARD_USE_BLOB_ALLOCATOR)) $(call soong_config_set_bool,video_codec,board_support_mfc_enc_bt2020,$(BOARD_SUPPORT_MFC_ENC_BT2020)) $(call soong_config_set_bool,video_codec,board_support_flexible_p010,$(BOARD_SUPPORT_FLEXIBLE_P010)) $(call soong_config_set_bool,video_codec,board_use_codec2_aidl,$(if $(BOARD_USE_CODEC2_AIDL),true,false)) From dda0174645daff73497914d5f672f2c423255a25 Mon Sep 17 00:00:00 2001 From: Will Song Date: Wed, 27 Nov 2024 02:06:17 -0800 Subject: [PATCH 24/30] init: gs101: move sched rate limit to late init Since pixel performance has a shared configuration, we need to move override values into late init. Bug: 381100494 Test: Boot Flag: EXEMPT bug fix Change-Id: I28ce81103249f30046d6e22b57be77441bc910b0 --- conf/init.gs101.rc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc index fdf343a3..2aa9867b 100644 --- a/conf/init.gs101.rc +++ b/conf/init.gs101.rc @@ -149,14 +149,11 @@ on init # governor setting write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500 - write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000 write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_scale_pow 2 write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500 - write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000 write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor sched_pixel write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/up_rate_limit_us 500 - write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us 20000 # memlat cpuidle awareness setting write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu0_memlat@17000010/memlat_cpuidle_state_aware 2 @@ -362,6 +359,11 @@ on late-fs # Mount RW partitions which need run fsck mount_all --late +on late-init + write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000 + write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000 + write /sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us 20000 + on post-fs-data # Log data folder mkdir /data/vendor 0771 radio system From a343001fed09acfbe04c588fa6686fd567548c1b Mon Sep 17 00:00:00 2001 From: Chaohui Wang Date: Tue, 3 Dec 2024 17:31:44 +0800 Subject: [PATCH 25/30] Clean up unnecessary data_connection_5g_plus overlay This string is not device specific, and already set at, frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml Bug: 377907543 Flag: EXEMPT clean up Test: m Change-Id: I642831bcac95e705bbee73e2b0566214dc370d5b --- .../res/values-mcc310-mnc004/strings.xml | 22 ------------------- .../res/values-mcc311-mnc480/strings.xml | 22 ------------------- 2 files changed, 44 deletions(-) delete mode 100644 overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml delete mode 100644 overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml diff --git a/overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml deleted file mode 100644 index f8ed0c01..00000000 --- a/overlay/frameworks/base/packages/SettingsLib/res/values-mcc310-mnc004/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - 5G UW - diff --git a/overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml b/overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml deleted file mode 100644 index f8ed0c01..00000000 --- a/overlay/frameworks/base/packages/SettingsLib/res/values-mcc311-mnc480/strings.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - 5G UW - From c3aac00c01ed71478d8e7ac9a2a9af093be658ed Mon Sep 17 00:00:00 2001 From: Nelson Li Date: Tue, 26 Nov 2024 08:44:48 +0000 Subject: [PATCH 26/30] Change TARGET_RECOVERY_UI_LIB to use fully qualified names in gs101 Since the TARGET_RECOVERY_UI_LIB for each device is not exactly the same, and most of the modules in it contain `soong_namespace{}` to avoid conflicts between different devices, after converting `librecovery_ui_ext` from Android.mk to Android.bp, it needs to be changed to a `fully qualified name` in order to correctly use the corresponding module. Flag: EXEMPT refactor Bug: 339143524 Test: m -j librecovery_ui_ext Change-Id: If65f320a32840a42f5b99ae22f7396cc048593ec --- BoardConfig-common.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 2e75614b..febe480c 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -69,7 +69,7 @@ TARGET_RECOVERY_FSTAB_GENRULE = gen_fstab.gs101 TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888 TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165 TARGET_RECOVERY_UI_LIB := \ - librecovery_ui_pixel \ + //hardware/google/pixel/recovery:librecovery_ui_pixel \ libfstab AB_OTA_UPDATER := true From 1736bb0cd315fa57e32edf8c6bb22e83e610aa69 Mon Sep 17 00:00:00 2001 From: Nelson Li Date: Tue, 26 Nov 2024 08:44:48 +0000 Subject: [PATCH 27/30] Change TARGET_RECOVERY_UI_LIB to use fully qualified names in gs101 Since the TARGET_RECOVERY_UI_LIB for each device is not exactly the same, and most of the modules in it contain `soong_namespace{}` to avoid conflicts between different devices, after converting `librecovery_ui_ext` from Android.mk to Android.bp, it needs to be changed to a `fully qualified name` in order to correctly use the corresponding module. Flag: EXEMPT refactor Bug: 339143524 Test: m -j librecovery_ui_ext Merged-In: If65f320a32840a42f5b99ae22f7396cc048593ec Change-Id: If65f320a32840a42f5b99ae22f7396cc048593ec --- BoardConfig-common.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 9937bad2..f5d85216 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -71,7 +71,7 @@ TARGET_RECOVERY_FSTAB_GENRULE = gen_fstab.gs101 TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888 TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165 TARGET_RECOVERY_UI_LIB := \ - librecovery_ui_pixel \ + //hardware/google/pixel/recovery:librecovery_ui_pixel \ libfstab AB_OTA_UPDATER := true From 4981fc30f8982892ea36f4955a26e2c4b3934382 Mon Sep 17 00:00:00 2001 From: Rick Yiu Date: Thu, 5 Dec 2024 08:54:44 +0000 Subject: [PATCH 28/30] Add sched qos support Add task profiles and set permissions. Bug: 355612114 Flag: NONE init rc file does not support flag Test: build pass Change-Id: I44ab2097bbf919c1487d40ee68e74100c11b8891 --- conf/init.gs101.rc | 77 ++++++++++++++ task_profiles.json | 254 ++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 314 insertions(+), 17 deletions(-) diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc index 2aa9867b..e6d2a311 100644 --- a/conf/init.gs101.rc +++ b/conf/init.gs101.rc @@ -100,6 +100,83 @@ on init start vendor.keymaster-3-0 + # Change permission of sched qos nodes + chown system system /proc/vendor_sched/sched_qos/adpf_set + chown system system /proc/vendor_sched/sched_qos/adpf_clear + chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_set + chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_clear + chown system system /proc/vendor_sched/sched_qos/boost_prio_set + chown system system /proc/vendor_sched/sched_qos/boost_prio_clear + chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_set + chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_clear + chown system system /proc/vendor_sched/sched_qos/prefer_fit_set + chown system system /proc/vendor_sched/sched_qos/prefer_fit_clear + chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_set + chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_clear + chown system system /proc/vendor_sched/sched_qos/prefer_idle_set + chown system system /proc/vendor_sched/sched_qos/prefer_idle_clear + chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_set + chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_clear + + chmod 0220 /proc/vendor_sched/sched_qos/adpf_set + chmod 0220 /proc/vendor_sched/sched_qos/adpf_clear + chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_set + chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_clear + chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_set + chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_clear + chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_set + chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_clear + chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_set + chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_clear + chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_set + chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_clear + chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_set + chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_clear + chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_set + chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_clear + + # Enable sched_qos for some groups + write /proc/vendor_sched/groups/ta/qos_adpf_enable 1 + write /proc/vendor_sched/groups/ta/qos_auto_uclamp_max_enable 1 + write /proc/vendor_sched/groups/ta/qos_boost_prio_enable 1 + write /proc/vendor_sched/groups/ta/qos_preempt_wakeup_enable 1 + write /proc/vendor_sched/groups/ta/qos_prefer_fit_enable 1 + write /proc/vendor_sched/groups/ta/qos_prefer_high_cap_enable 1 + write /proc/vendor_sched/groups/ta/qos_prefer_idle_enable 1 + write /proc/vendor_sched/groups/ta/qos_rampup_multiplier_enable 1 + write /proc/vendor_sched/groups/fg/qos_adpf_enable 1 + write /proc/vendor_sched/groups/fg/qos_auto_uclamp_max_enable 1 + write /proc/vendor_sched/groups/fg/qos_boost_prio_enable 1 + write /proc/vendor_sched/groups/fg/qos_preempt_wakeup_enable 1 + write /proc/vendor_sched/groups/fg/qos_prefer_fit_enable 1 + write /proc/vendor_sched/groups/fg/qos_prefer_high_cap_enable 1 + write /proc/vendor_sched/groups/fg/qos_prefer_idle_enable 1 + write /proc/vendor_sched/groups/fg/qos_rampup_multiplier_enable 1 + write /proc/vendor_sched/groups/fg_wi/qos_adpf_enable 1 + write /proc/vendor_sched/groups/fg_wi/qos_auto_uclamp_max_enable 1 + write /proc/vendor_sched/groups/fg_wi/qos_boost_prio_enable 1 + write /proc/vendor_sched/groups/fg_wi/qos_preempt_wakeup_enable 1 + write /proc/vendor_sched/groups/fg_wi/qos_prefer_fit_enable 1 + write /proc/vendor_sched/groups/fg_wi/qos_prefer_high_cap_enable 1 + write /proc/vendor_sched/groups/fg_wi/qos_prefer_idle_enable 1 + write /proc/vendor_sched/groups/fg_wi/qos_rampup_multiplier_enable 1 + write /proc/vendor_sched/groups/cam/qos_adpf_enable 1 + write /proc/vendor_sched/groups/cam/qos_auto_uclamp_max_enable 1 + write /proc/vendor_sched/groups/cam/qos_prefer_fit_enable 1 + write /proc/vendor_sched/groups/cam/qos_prefer_high_cap_enable 1 + write /proc/vendor_sched/groups/cam/qos_prefer_idle_enable 1 + write /proc/vendor_sched/groups/cam/qos_rampup_multiplier_enable 1 + write /proc/vendor_sched/groups/cam_power/qos_adpf_enable 1 + write /proc/vendor_sched/groups/cam_power/qos_auto_uclamp_max_enable 1 + write /proc/vendor_sched/groups/cam_power/qos_prefer_fit_enable 1 + write /proc/vendor_sched/groups/cam_power/qos_prefer_high_cap_enable 1 + write /proc/vendor_sched/groups/cam_power/qos_prefer_idle_enable 1 + write /proc/vendor_sched/groups/cam_power/qos_rampup_multiplier_enable 1 + write /proc/vendor_sched/groups/rt/qos_adpf_enable 1 + write /proc/vendor_sched/groups/rt/qos_rampup_multiplier_enable 1 + write /proc/vendor_sched/groups/sf/qos_adpf_enable 1 + write /proc/vendor_sched/groups/sf/qos_rampup_multiplier_enable 1 + # ZRAM setup write /sys/block/zram0/comp_algorithm lz77eh write /proc/sys/vm/page-cluster 0 diff --git a/task_profiles.json b/task_profiles.json index 47cada84..6b9b1ee3 100644 --- a/task_profiles.json +++ b/task_profiles.json @@ -15,21 +15,6 @@ } ] }, - { - "Name": "PreferIdle", - "Actions": [ - { - "Name": "WriteFile", - "Params": - { - "FilePath": "/proc/vendor_sched/prefer_idle_set", - "ProcFilePath": "/proc/vendor_sched/prefer_idle_set", - "Value": "", - "LogFailures": "false" - } - } - ] - }, { "Name": "CameraServicePerformance", "Actions": [ @@ -174,6 +159,21 @@ } ] }, + { + "Name": "HighPerformanceWI", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/groups/fg_wi/set_task_group", + "ProcFilePath": "/proc/vendor_sched/groups/fg_wi/set_proc_group", + "Value": "", + "LogFailures": "false" + } + } + ] + }, { "Name": "RealtimePerformance", "Actions": [ @@ -265,6 +265,202 @@ } ] }, + { + "Name": "AdpfSet", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/adpf_set", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "AdpfClear", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/adpf_clear", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "BoostPrioSet", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/boost_prio_set", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "BoostPrioClear", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/boost_prio_clear", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "PreemptWakeupSet", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/preempt_wakeup_set", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "PreemptWakeupClear", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/preempt_wakeup_clear", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "PreferFitSet", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/prefer_fit_set", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "PreferFitClear", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/prefer_fit_clear", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "PreferIdleSet", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/prefer_idle_set", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "PreferIdleClear", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/prefer_idle_clear", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "AutoUclampMaxSet", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/auto_uclamp_max_set", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "AutoUclampMaxClear", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/auto_uclamp_max_clear", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "PreferHighCapSet", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/prefer_high_cap_set", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "PreferHighCapClear", + "Actions": [ + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/proc/vendor_sched/sched_qos/prefer_high_cap_clear", + "Value": "", + "LogFailures": "false" + } + } + ] + }, { "Name": "ResetUclampGrp", "Actions": [ @@ -302,11 +498,35 @@ }, { "Name": "OtaProfiles", - "Profiles": [ "OtaPerformance", "ProcessCapacityNormal", "LowIoPriority", "TimerSlackHigh" ] + "Profiles": [ "OtaPerformance", "ServiceCapacityLow", "LowIoPriority", "TimerSlackHigh" ] + }, + { + "Name": "SCHED_QOS_SENSITIVE_EXTREME_SET", + "Profiles": [ "AdpfSet", "PreferIdleSet", "PreferFitSet", "BoostPrioSet", "PreemptWakeupSet" ] + }, + { + "Name": "SCHED_QOS_SENSITIVE_EXTREME_CLEAR", + "Profiles": [ "AdpfClear", "PreferIdleClear", "PreferFitClear", "BoostPrioClear", "PreemptWakeupClear" ] + }, + { + "Name": "SCHED_QOS_SENSITIVE_STANDARD_SET", + "Profiles": [ "AdpfSet", "PreferIdleSet", "PreferFitSet" ] + }, + { + "Name": "SCHED_QOS_SENSITIVE_STANDARD_CLEAR", + "Profiles": [ "AdpfClear", "PreferIdleClear", "PreferFitClear" ] + }, + { + "Name": "SCHED_QOS_POWER_EFFICIENCY_SET", + "Profiles": [ "AutoUclampMaxSet" ] + }, + { + "Name": "SCHED_QOS_POWER_EFFICIENCY_CLEAR", + "Profiles": [ "AutoUclampMaxClear" ] }, { "Name": "InputPolicy", - "Profiles": [ "MaxPerformance", "ResetUclampGrp", "PreferIdle" ] + "Profiles": [ "MaxPerformance", "SCHED_QOS_SENSITIVE_EXTREME_SET" ] } ] } From 410cabfc0e2e6e51fb22ebb5b8386a0a01aa4c86 Mon Sep 17 00:00:00 2001 From: Daniel Zheng Date: Thu, 5 Dec 2024 14:54:04 -0800 Subject: [PATCH 29/30] update health HAL dependency Bug: 381926253 Test: th Change-Id: I6d966c713c7f702069d6c2189023c9db85a51fb8 --- health/android.hardware.health-service.gs101.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/health/android.hardware.health-service.gs101.xml b/health/android.hardware.health-service.gs101.xml index 2acaabac..8ddfbdaa 100644 --- a/health/android.hardware.health-service.gs101.xml +++ b/health/android.hardware.health-service.gs101.xml @@ -1,7 +1,7 @@ android.hardware.health - 3 + 4 IHealth/default From 19c3844e264395c5336e52268ff69b0c63b949ff Mon Sep 17 00:00:00 2001 From: Jack Wu Date: Fri, 20 Dec 2024 18:07:19 +0800 Subject: [PATCH 30/30] dump_power: add battery caretaker dump into bugreport logging for AACR(+H), AAFV, AACT, AACC and AACP Version Bug: 384737509 Test: adb bugreport Flag: EXEMPT bugfix Signed-off-by: Jack Wu (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:3b8bae4b85355038c2f5418db37f684fb135bd89) Merged-In: Ice4985d13554dde3b65ba0c34bbac4085445699e Change-Id: Ice4985d13554dde3b65ba0c34bbac4085445699e --- dumpstate/dump_power.cpp | 43 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/dumpstate/dump_power.cpp b/dumpstate/dump_power.cpp index e8e4a38a..b522cf7c 100644 --- a/dumpstate/dump_power.cpp +++ b/dumpstate/dump_power.cpp @@ -276,6 +276,48 @@ void dumpBatteryDefend() { files.clear(); } } +void dumpBatteryCaretaker() { + const char* aacpConfig [][3] { + {"AACP Version", + "/sys/devices/platform/google,battery/power_supply/battery/", "aacp_"}, + {"AACR Config", + "/sys/devices/platform/google,battery/power_supply/battery/", "aacr_"}, + {"AAFV Config", + "/sys/devices/platform/google,battery/power_supply/battery/", "aafv_"}, + {"AACT Config", + "/sys/devices/platform/google,battery/power_supply/battery/", "aact_"}, + {"AACC", + "/sys/devices/platform/google,battery/power_supply/battery/", "aacc"}, + }; + std::vector files; + struct dirent *entry; + std::string content; + std::string fileLocation; + for (auto &config : aacpConfig) { + DIR *dir = opendir(config[1]); + if (dir == NULL) + continue; + printTitle(config[0]); + while ((entry = readdir(dir)) != NULL) { + if (std::string(entry->d_name).find(config[2]) != std::string::npos && + strncmp(config[2], entry->d_name, strlen(config[2])) == 0) { + files.push_back(entry->d_name); + } + } + closedir(dir); + sort(files.begin(), files.end()); + for (auto &file : files) { + fileLocation = std::string(config[1]) + std::string(file); + if (!android::base::ReadFileToString(fileLocation, &content) || content.empty()) { + content = "\n"; + } + printf("%s: %s", file.c_str(), content.c_str()); + if (content.back() != '\n') + printf("\n"); + } + files.clear(); + } +} void printValuesOfDirectory(const char *directory, std::string debugfs, const char *strMatch) { std::vector files; auto info = directory; @@ -732,6 +774,7 @@ int main() { dumpPdEngine(); dumpBatteryHealth(); dumpBatteryDefend(); + dumpBatteryCaretaker(); dumpChg(); dumpChgUserDebug(); dumpBatteryEeprom();