From 4798f3109b856938b41f36755a28cecff2d639b7 Mon Sep 17 00:00:00 2001 From: Kamal Shafi Date: Fri, 22 Mar 2024 08:43:36 +0000 Subject: [PATCH 1/4] Revert^2 "Add system property for camera OIS with system imu" This reverts commit be082e2f45df0e55ce16f563baf816cb59273352. Reason for revert: patching race condition together Bug: 324008766 Change-Id: Ida5fe782a246dd76b7a14469d2dd7e7a1a2d7998 --- device-comet.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-comet.mk b/device-comet.mk index da0ab35..0d0557d 100644 --- a/device-comet.mk +++ b/device-comet.mk @@ -314,7 +314,7 @@ PRODUCT_VENDOR_PROPERTIES += \ # OIS with system imu PRODUCT_VENDOR_PROPERTIES += \ - persist.vendor.camera.ois_with_system_imu=false + persist.vendor.camera.ois_with_system_imu=true # Haptics # Placeholders for updates later, need to update: From 091f336787f7aeba72b4e49b87eb83fc85a42956 Mon Sep 17 00:00:00 2001 From: samou Date: Tue, 12 Mar 2024 04:57:52 +0000 Subject: [PATCH 2/4] bm: add mitigation config file for comet Bug: 319619657 Change-Id: Ia0fd24265603119ad5fe9dbb95cfb54f41c96f1c Signed-off-by: samou --- battery_mitigation/bm_config_comet.json | 18 ++++++++++++++++++ device-comet.mk | 8 ++++++++ 2 files changed, 26 insertions(+) create mode 100644 battery_mitigation/bm_config_comet.json diff --git a/battery_mitigation/bm_config_comet.json b/battery_mitigation/bm_config_comet.json new file mode 100644 index 0000000..876f8f1 --- /dev/null +++ b/battery_mitigation/bm_config_comet.json @@ -0,0 +1,18 @@ +{ + "MitigationMethod":[ + { + "Name":"AUDIO_MITIGATION", + "Module":"AUDIO", + "Trigger":["OILO1"], + "State":["LIGHT", "MEDIUM", "HEAVY", "DISABLED"], + "Condition":"BASIC" + }, + { + "Name":"UNDEFINED", + "Module":"UNDEFINED", + "Trigger":["OILO1", "OILO2", "UVLO1", "UVLO2", "SMPL"], + "State":["START", "LIGHT", "MEDIUM", "HEAVY", "DISABLED"], + "Condition":"BASIC" + } + ] +} diff --git a/device-comet.mk b/device-comet.mk index da0ab35..8c28de4 100644 --- a/device-comet.mk +++ b/device-comet.mk @@ -380,6 +380,14 @@ PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PRODUCT_PROPERTIES += \ persist.bluetooth.leaudio.allow_list=SM-R510 +# Battery Mitigation Config +ifeq (,$(TARGET_VENDOR_BATTERY_MITIGATION_CONFIG_PATH)) +TARGET_VENDOR_BATTERY_MITIGATION_CONFIG_PATH := device/google/comet/battery_mitigation +endif + +PRODUCT_COPY_FILES += \ + $(TARGET_VENDOR_BATTERY_MITIGATION_CONFIG_PATH)/bm_config_comet.json:$(TARGET_COPY_OUT_VENDOR)/etc/bm_config.json + # Exynos RIL and telephony # Support RIL Domain-selection SUPPORT_RIL_DOMAIN_SELECTION := true From 4697b7d17a72e00449c09c06395490e8b275a999 Mon Sep 17 00:00:00 2001 From: shihchienc Date: Tue, 26 Mar 2024 07:23:10 +0000 Subject: [PATCH 3/4] Disable Thread with resource overlay Bug: 330111321 Test: manual check the thread stack is not enabled Change-Id: I0db57d5d0701e40548873960a070b132eb8d47c1 --- device-comet.mk | 4 +++ .../Android.bp | 33 +++++++++++++++++++ .../AndroidManifest.xml | 25 ++++++++++++++ .../res/values/config.xml | 20 +++++++++++ 4 files changed, 82 insertions(+) create mode 100644 rro_overlays/ConnectivityResourcesOverlayComet/Android.bp create mode 100644 rro_overlays/ConnectivityResourcesOverlayComet/AndroidManifest.xml create mode 100644 rro_overlays/ConnectivityResourcesOverlayComet/res/values/config.xml diff --git a/device-comet.mk b/device-comet.mk index fa5904e..6f0a4e1 100644 --- a/device-comet.mk +++ b/device-comet.mk @@ -404,3 +404,7 @@ PRODUCT_PACKAGES += \ ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) $(call inherit-product-if-exists, device/google/common/etm/device-userdebug-modules.mk) endif + +# Connectivity Resources Overlay +PRODUCT_PACKAGES += \ + ConnectivityResourcesOverlayCometOverride diff --git a/rro_overlays/ConnectivityResourcesOverlayComet/Android.bp b/rro_overlays/ConnectivityResourcesOverlayComet/Android.bp new file mode 100644 index 0000000..ba6ff86 --- /dev/null +++ b/rro_overlays/ConnectivityResourcesOverlayComet/Android.bp @@ -0,0 +1,33 @@ +// +// Copyright (C) 2024 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 { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +runtime_resource_overlay { + name: "ConnectivityResourcesOverlayComet", + sdk_version: "current", + product_specific: true, + resource_dirs: ["res"], +} + +override_runtime_resource_overlay { + name: "ConnectivityResourcesOverlayCometOverride", + base: "ConnectivityResourcesOverlayComet", + package_name: "com.google.android.connectivity.resources.comet", + target_package_name: "com.google.android.connectivity.resources", +} diff --git a/rro_overlays/ConnectivityResourcesOverlayComet/AndroidManifest.xml b/rro_overlays/ConnectivityResourcesOverlayComet/AndroidManifest.xml new file mode 100644 index 0000000..40f947b --- /dev/null +++ b/rro_overlays/ConnectivityResourcesOverlayComet/AndroidManifest.xml @@ -0,0 +1,25 @@ + + + + + + + diff --git a/rro_overlays/ConnectivityResourcesOverlayComet/res/values/config.xml b/rro_overlays/ConnectivityResourcesOverlayComet/res/values/config.xml new file mode 100644 index 0000000..9300b86 --- /dev/null +++ b/rro_overlays/ConnectivityResourcesOverlayComet/res/values/config.xml @@ -0,0 +1,20 @@ + + + + + false + From 7a3f70b91e147f77806826291a905de958f8bd45 Mon Sep 17 00:00:00 2001 From: WeiChungChang Date: Thu, 14 Mar 2024 22:58:08 +0000 Subject: [PATCH 4/4] display: create entity_name property HWC should designate the entity name 'Inner-Display' for the primary display in cases of dual panels. Bug: 329370514 Test: verify powerstats for dual panel devices Change-Id: Id9dc05d081f21dad7c97f9a7a061164fb01644dd --- device-comet.mk | 2 ++ powerstats/comet/service.cpp | 33 +++++---------------------------- 2 files changed, 7 insertions(+), 28 deletions(-) diff --git a/device-comet.mk b/device-comet.mk index da0ab35..74e8416 100644 --- a/device-comet.mk +++ b/device-comet.mk @@ -79,6 +79,8 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.vrr.expected_pres PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.vrr.expected_present.timeout_ns=500000000 endif +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.vendor.primarydisplay.powerstats.entity_name=Inner-Display + PRODUCT_VENDOR_PROPERTIES += \ vendor.primarydisplay.op.hs_hz=120 \ vendor.primarydisplay.op.ns_hz=60 diff --git a/powerstats/comet/service.cpp b/powerstats/comet/service.cpp index 346f30b..98e2966 100644 --- a/powerstats/comet/service.cpp +++ b/powerstats/comet/service.cpp @@ -32,36 +32,12 @@ using aidl::android::hardware::power::stats::DisplayStateResidencyDataProvider; using aidl::android::hardware::power::stats::EnergyConsumerType; using aidl::android::hardware::power::stats::PowerStatsEnergyConsumer; -void addDisplay(std::shared_ptr p) { - // Add display residency stats for inner display - struct stat primaryBuffer; - if (!stat("/sys/class/drm/card0/device/primary-panel/time_in_state", &primaryBuffer)) { - // time_in_state exists - addDisplayMrrByEntity(p, "Inner Display", "/sys/class/drm/card0/device/primary-panel/"); - } else { - // time_in_state doesn't exist - std::vector inner_states = { - "Off", - "LP: 2152x2076@1", - "LP: 2152x2076@30", - "On: 2152x2076@1", - "On: 2152x2076@10", - "On: 2152x2076@60", - "On: 2152x2076@120", - "HBM: 2152x2076@60", - "HBM: 2152x2076@120"}; - - p->addStateResidencyDataProvider(std::make_unique( - "Inner Display", - "/sys/class/backlight/panel0-backlight/state", - inner_states)); - } - +void addOuterDisplay(std::shared_ptr p) { // Add display residency stats for outer display struct stat secondaryBuffer; if (!stat("/sys/class/drm/card0/device/secondary-panel/time_in_state", &secondaryBuffer)) { // time_in_state exists - addDisplayMrrByEntity(p, "Outer Display", "/sys/class/drm/card0/device/secondary-panel/"); + addDisplayMrrByEntity(p, "Outer-Display", "/sys/class/drm/card0/device/secondary-panel/"); } else { // time_in_state doesn't exist std::vector outer_states = { @@ -73,7 +49,7 @@ void addDisplay(std::shared_ptr p) { "HBM: 1080x2424@120"}; p->addStateResidencyDataProvider(std::make_unique( - "Outer Display", + "Outer-Display", "/sys/class/backlight/panel1-backlight/state", outer_states)); } @@ -94,8 +70,9 @@ int main() { std::shared_ptr p = ndk::SharedRefBase::make(); + addDisplayVrr(p, "Inner-Display"); addZumaProCommonDataProviders(p); - addDisplay(p); + addOuterDisplay(p); const std::string instance = std::string() + PowerStats::descriptor + "/default"; binder_status_t status = AServiceManager_addService(p->asBinder().get(), instance.c_str());