From 7c1f13c5a9e120adb0d9aa89ef9fe27e77fc48dc Mon Sep 17 00:00:00 2001 From: Wayne Lin Date: Thu, 19 Sep 2024 23:05:42 +0800 Subject: [PATCH 01/20] gps: set default SUPL SSL method to SSLv23 Bug: 363886476 Test: verify SUPL NI test pass (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:ea53f43031e0ca9930f145feff56221f041afa5c) Merged-In: I56f0139c748a3a04df9f3998653121948846c8fe Change-Id: I56f0139c748a3a04df9f3998653121948846c8fe --- location/gps.6.1.xml.f10 | 2 +- location/gps.xml.f10 | 2 +- location/gps_user.6.1.xml.f10 | 2 +- location/gps_user.xml.f10 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/location/gps.6.1.xml.f10 b/location/gps.6.1.xml.f10 index 69cb18e..a753dd0 100644 --- a/location/gps.6.1.xml.f10 +++ b/location/gps.6.1.xml.f10 @@ -18,7 +18,7 @@ SuplLogFullName="/data/vendor/gps/suplflow.txt" tlsEnable="true" - SuplSslMethod="SSLv23_NO_TLSv1_2" + SuplSslMethod="SSLv23" SuplEnable="true" SuplUseApn="false" SuplUseApnNI="true" diff --git a/location/gps.xml.f10 b/location/gps.xml.f10 index 92d3316..3ce7975 100644 --- a/location/gps.xml.f10 +++ b/location/gps.xml.f10 @@ -18,7 +18,7 @@ SuplLogFullName="/data/vendor/gps/suplflow.txt" tlsEnable="true" - SuplSslMethod="SSLv23_NO_TLSv1_2" + SuplSslMethod="SSLv23" SuplEnable="true" SuplUseApn="false" SuplUseApnNI="true" diff --git a/location/gps_user.6.1.xml.f10 b/location/gps_user.6.1.xml.f10 index db68a27..7a43bf5 100644 --- a/location/gps_user.6.1.xml.f10 +++ b/location/gps_user.6.1.xml.f10 @@ -17,7 +17,7 @@ SuplLogFullName="/data/vendor/gps/suplflow.txt" tlsEnable="true" - SuplSslMethod="SSLv23_NO_TLSv1_2" + SuplSslMethod="SSLv23" SuplEnable="true" SuplUseApn="false" SuplUseApnNI="true" diff --git a/location/gps_user.xml.f10 b/location/gps_user.xml.f10 index 9ddd3aa..65f3ef0 100644 --- a/location/gps_user.xml.f10 +++ b/location/gps_user.xml.f10 @@ -17,7 +17,7 @@ SuplLogFullName="/data/vendor/gps/suplflow.txt" tlsEnable="true" - SuplSslMethod="SSLv23_NO_TLSv1_2" + SuplSslMethod="SSLv23" SuplEnable="true" SuplUseApn="false" SuplUseApnNI="true" From 11690d6960fe978b3bf1aace9f4ff42657125588 Mon Sep 17 00:00:00 2001 From: millerliang Date: Fri, 8 Nov 2024 09:21:34 +0000 Subject: [PATCH 02/20] audio: fix cts AAudioTests failed on GSI image Set all the audio policy configuration files to the correct format for mmap-playback. Flag: EXEMPT bugfix Bug: 372047634 Test: Manual Test Change-Id: I091b7360fabb60990b60210bd7417179f5c319eb Signed-off-by: millerliang --- .../config/audio_policy_configuration_a2dp_offload_disabled.xml | 2 +- .../config/audio_policy_configuration_bluetooth_legacy_hal.xml | 2 +- .../config/audio_policy_configuration_le_offload_disabled.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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 da6c7a7..5b97dd8 100644 --- a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml +++ b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml @@ -59,7 +59,7 @@ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> - 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 416d4ab..fb54198 100644 --- a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml +++ b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml @@ -59,7 +59,7 @@ samplingRates="48000" channelMasks="AUDIO_CHANNEL_OUT_STEREO"/> - - From 067d8c641d73da56687206099250801f89dce2c2 Mon Sep 17 00:00:00 2001 From: Isaac Chiou Date: Fri, 1 Nov 2024 07:15:37 +0000 Subject: [PATCH 03/20] Disable Wifi BugReport for subsystem restart Flag: EXEMPT gated by overlay Bug: 373594936 Test: Manuel test, trigger SSR and won't create bugreport automatically Change-Id: If4b749b933d305e35b8bff689c08ebd080243c2c --- rro_overlays/WifiOverlay/res/values/config.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rro_overlays/WifiOverlay/res/values/config.xml b/rro_overlays/WifiOverlay/res/values/config.xml index 989a868..c75c66e 100644 --- a/rro_overlays/WifiOverlay/res/values/config.xml +++ b/rro_overlays/WifiOverlay/res/values/config.xml @@ -181,4 +181,6 @@ false: firmware roaming will not be affected. --> true + + false From e9101cc010a14a2f78f4e82529e30cb55e19d211 Mon Sep 17 00:00:00 2001 From: Zouberou Sayibou Date: Tue, 5 Nov 2024 03:14:22 +0000 Subject: [PATCH 04/20] Felix HAL: Added IVibrator event logs in dumpsys. Ported the changes made in legacyHAL to Felix HAL which involves adding the IVibrator event to the HwApi to produce a friendly debugging logs. Bug: 376330571 Flag: EXEMPT log only update Test: Flash to device and verified dumpsys Change-Id: I54262b7451b1ab07669eb9b7e5ad3c4cd3477016 Signed-off-by: Zouberou Sayibou --- vibrator/common/HardwareBase.cpp | 7 ++++++ vibrator/common/HardwareBase.h | 28 ++++++++++++++++++------ vibrator/cs40l26/Hardware.h | 4 ++++ vibrator/cs40l26/Vibrator.cpp | 16 ++++++++++++++ vibrator/cs40l26/Vibrator.h | 5 +++++ vibrator/cs40l26/tests/mocks.h | 1 + vibrator/cs40l26/tests/test-vibrator.cpp | 10 ++++++++- 7 files changed, 63 insertions(+), 8 deletions(-) diff --git a/vibrator/common/HardwareBase.cpp b/vibrator/common/HardwareBase.cpp index 583caaa..1059b90 100644 --- a/vibrator/common/HardwareBase.cpp +++ b/vibrator/common/HardwareBase.cpp @@ -29,6 +29,13 @@ namespace android { namespace hardware { namespace vibrator { +void HwApiBase::recordEvent(const char *func, const std::string &value) { + std::lock_guard lock(mRecordsMutex); + mRecords.emplace_back(std::make_unique> + (HwApiBase::RecordType::EVENT, func, value, nullptr)); + mRecords.pop_front(); +} + HwApiBase::HwApiBase() { mPathPrefix = std::getenv("HWAPI_PATH_PREFIX") ?: ""; if (mPathPrefix.empty()) { diff --git a/vibrator/common/HardwareBase.h b/vibrator/common/HardwareBase.h index 0296390..d2102cb 100644 --- a/vibrator/common/HardwareBase.h +++ b/vibrator/common/HardwareBase.h @@ -39,6 +39,7 @@ using ::android::base::unique_fd; class HwApiBase { private: using NamesMap = std::map; + enum class RecordType { EVENT, HWAPI }; class RecordInterface { public: @@ -48,12 +49,16 @@ class HwApiBase { template class Record : public RecordInterface { public: - Record(const char *func, const T &value, const std::ios *stream) - : mFunc(func), mValue(value), mStream(stream), + Record(const RecordType &type, const char *func, const T &value, const std::ios *stream) + : mType(type), + mFunc(func), + mValue(value), + mStream(stream), mTp(std::chrono::system_clock::system_clock::now()) {} std::string toString(const NamesMap &names) override; private: + const RecordType mType; const char *mFunc; const T mValue; const std::ios *mStream; @@ -66,6 +71,7 @@ class HwApiBase { public: HwApiBase(); void debug(int fd); + void recordEvent(const char *func, const std::string &value); protected: void saveName(const std::string &name, const std::ios *stream); @@ -176,7 +182,7 @@ bool HwApiBase::poll(const T &value, std::istream *stream, const int32_t timeout template void HwApiBase::record(const char *func, const T &value, const std::ios *stream) { std::lock_guard lock(mRecordsMutex); - mRecords.emplace_back(std::make_unique>(func, value, stream)); + mRecords.emplace_back(std::make_unique>(RecordType::HWAPI, func, value, stream)); mRecords.pop_front(); } @@ -188,10 +194,18 @@ std::string HwApiBase::Record::toString(const NamesMap &names) { struct tm buf; auto lTime = localtime_r(&lTp, &buf); - ret << std::put_time(lTime, "%Y-%m-%d %H:%M:%S.") << std::setfill('0') << std::setw(3) - << (std::chrono::duration_cast(mTp.time_since_epoch()) % 1000) - .count() - << " " << mFunc << " '" << names.at(mStream) << "' = '" << mValue << "'"; + if (mType == RecordType::EVENT) { + ret << std::put_time(lTime, "%Y-%m-%d %H:%M:%S.") << std::setfill('0') << std::setw(3) + << (std::chrono::duration_cast(mTp.time_since_epoch()) % + 1000).count() + << " | " << "IVibrator::" << mFunc << " | " << mValue; + } else { + ret << " \t" << std::put_time(lTime, "%Y-%m-%d %H:%M:%S.") << std::setfill('0') + << std::setw(3) + << (std::chrono::duration_cast(mTp.time_since_epoch()) % + 1000).count() + << " " << mFunc << " '" << names.at(mStream) << "' = '" << mValue << "'"; + } return ret.str(); } diff --git a/vibrator/cs40l26/Hardware.h b/vibrator/cs40l26/Hardware.h index e4dd344..acd0c6c 100644 --- a/vibrator/cs40l26/Hardware.h +++ b/vibrator/cs40l26/Hardware.h @@ -287,6 +287,10 @@ class HwApi : public Vibrator::HwApi, private HwApiBase { return true; } + void recordEvent(const char *func, const std::string &value) override { + HwApiBase::recordEvent(func, value); + } + void debug(int fd) override { HwApiBase::debug(fd); } private: diff --git a/vibrator/cs40l26/Vibrator.cpp b/vibrator/cs40l26/Vibrator.cpp index 36d8e8c..bd88ed4 100644 --- a/vibrator/cs40l26/Vibrator.cpp +++ b/vibrator/cs40l26/Vibrator.cpp @@ -45,6 +45,14 @@ namespace aidl { namespace android { namespace hardware { namespace vibrator { + +#define RECORD(fmt, ...) { \ + this->mHwApiDef->recordEvent(__func__, StringPrintf(fmt, ##__VA_ARGS__)); \ + if (this->mIsDual) { \ + this->mHwApiDual->recordEvent(__func__, StringPrintf(fmt, ##__VA_ARGS__)); \ + } \ +} + static constexpr uint16_t FF_CUSTOM_DATA_LEN_MAX_COMP = 2044; // (COMPOSE_SIZE_MAX + 1) * 8 + 4 static constexpr uint16_t FF_CUSTOM_DATA_LEN_MAX_PWLE = 2302; @@ -461,6 +469,7 @@ Vibrator::Vibrator(std::unique_ptr hwApiDefault, std::unique_ptr h if ((mHwApiDual != nullptr) && (mHwCalDual != nullptr)) mIsDual = true; + RECORD("mIsDual = %d", mIsDual); // ==================INPUT Devices== Base ================= const char *inputEventName = std::getenv("INPUT_EVENT_NAME"); const char *inputEventPathName = std::getenv("INPUT_EVENT_PATH"); @@ -816,6 +825,8 @@ ndk::ScopedAStatus Vibrator::off() { bool ret{true}; const std::scoped_lock lock(mActiveId_mutex); + RECORD("mActiveId = %d", mActiveId); + if (mActiveId >= 0) { ALOGD("Off: Stop the active effect: %d", mActiveId); /* Stop the active effect. */ @@ -858,6 +869,7 @@ ndk::ScopedAStatus Vibrator::on(int32_t timeoutMs, const std::shared_ptr &callback) { ATRACE_NAME("Vibrator::on"); ALOGD("Vibrator::on"); + RECORD("timeoutMs = %d", timeoutMs); if (timeoutMs > MAX_TIME_MS) { return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT); @@ -883,6 +895,8 @@ ndk::ScopedAStatus Vibrator::perform(Effect effect, EffectStrength strength, int32_t *_aidl_return) { ATRACE_NAME("Vibrator::perform"); ALOGD("Vibrator::perform"); + RECORD("effect = %s, strength = %s", + toString(effect).c_str(), toString(strength).c_str()); return performEffect(effect, strength, callback, _aidl_return); } @@ -964,6 +978,8 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector &composi const std::shared_ptr &callback) { ATRACE_NAME("Vibrator::compose"); ALOGD("Vibrator::compose"); + RECORD("composite.size = %zu", composite.size()); + uint16_t size; uint16_t nextEffectDelay; diff --git a/vibrator/cs40l26/Vibrator.h b/vibrator/cs40l26/Vibrator.h index 6fc3a3d..b576501 100644 --- a/vibrator/cs40l26/Vibrator.h +++ b/vibrator/cs40l26/Vibrator.h @@ -16,6 +16,7 @@ #pragma once #include +#include #include #include #include @@ -29,6 +30,8 @@ namespace android { namespace hardware { namespace vibrator { +using ::android::base::StringPrintf; + class Vibrator : public BnVibrator { public: // APIs for interfacing with the GPIO pin. @@ -103,6 +106,8 @@ class Vibrator : public BnVibrator { int *status) = 0; // Erase OWT waveform virtual bool eraseOwtEffect(int fd, int8_t effectIndex, std::vector *effect) = 0; + // Records IVibrator Event. + virtual void recordEvent(const char *func, const std::string &value) = 0; // Emit diagnostic information to the given file. virtual void debug(int fd) = 0; }; diff --git a/vibrator/cs40l26/tests/mocks.h b/vibrator/cs40l26/tests/mocks.h index c521b02..a8bd753 100644 --- a/vibrator/cs40l26/tests/mocks.h +++ b/vibrator/cs40l26/tests/mocks.h @@ -58,6 +58,7 @@ class MockApi : public ::aidl::android::hardware::vibrator::Vibrator::HwApi { bool(int fd, const uint8_t *owtData, const 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_METHOD2(recordEvent, void(const char *func, const std::string &value)); MOCK_METHOD1(debug, void(int fd)); ~MockApi() override { destructor(); }; diff --git a/vibrator/cs40l26/tests/test-vibrator.cpp b/vibrator/cs40l26/tests/test-vibrator.cpp index b9b5b3c..7c68c86 100644 --- a/vibrator/cs40l26/tests/test-vibrator.cpp +++ b/vibrator/cs40l26/tests/test-vibrator.cpp @@ -295,7 +295,7 @@ class VibratorTest : public Test { EXPECT_CALL(*mMockApi, setMinOnOffInterval(_)).Times(times); EXPECT_CALL(*mMockApi, getHapticAlsaDevice(_, _)).Times(times); EXPECT_CALL(*mMockApi, setHapticPcmAmp(_, _, _, _)).Times(times); - + EXPECT_CALL(*mMockApi, recordEvent(_, _)).Times(times); EXPECT_CALL(*mMockApi, debug(_)).Times(times); EXPECT_CALL(*mMockCal, destructor()).Times(times); @@ -340,6 +340,7 @@ TEST_F(VibratorTest, Constructor) { createMock(&mockapi, &mockcal, &mockgpio); + EXPECT_CALL(*mMockApi, recordEvent(_, _)).WillRepeatedly(DoDefault()); EXPECT_CALL(*mMockCal, getF0(_)) .InSequence(f0Seq) .WillOnce(DoAll(SetArgReferee<0>(f0Val), Return(true))); @@ -387,6 +388,9 @@ TEST_F(VibratorTest, on) { Sequence s1, s2; uint16_t duration = std::rand() + 1; + EXPECT_CALL(*mMockApi, recordEvent(_, _)) + .InSequence(s1) + .WillRepeatedly(DoDefault()); EXPECT_CALL(*mMockApi, setFFGain(_, ON_GLOBAL_SCALE)).InSequence(s1).WillOnce(DoDefault()); EXPECT_CALL(*mMockApi, setFFEffect(_, _, duration + MAX_COLD_START_LATENCY_MS)) .InSequence(s2) @@ -399,6 +403,7 @@ TEST_F(VibratorTest, on) { TEST_F(VibratorTest, off) { Sequence s1; + EXPECT_CALL(*mMockApi, recordEvent(_, _)).InSequence(s1).WillRepeatedly(DoDefault()); EXPECT_CALL(*mMockApi, setFFGain(_, ON_GLOBAL_SCALE)).InSequence(s1).WillOnce(DoDefault()); EXPECT_TRUE(mVibrator->off().isOk()); } @@ -528,6 +533,8 @@ TEST_P(EffectsTest, perform) { ExpectationSet eSetup; Expectation eActivate, ePollHaptics, ePollStop, eEraseDone; + eSetup += EXPECT_CALL(*mMockApi, recordEvent(_, _)).WillRepeatedly(DoDefault()); + if (scale != EFFECT_SCALE.end()) { EffectIndex index = EFFECT_INDEX.at(effect); duration = EFFECT_DURATIONS[index]; @@ -664,6 +671,7 @@ TEST_P(ComposeTest, compose) { return ndk::ScopedAStatus::ok(); }; + eSetup += EXPECT_CALL(*mMockApi, recordEvent(_, _)).WillRepeatedly(DoDefault()); eSetup += EXPECT_CALL(*mMockApi, setFFGain(_, ON_GLOBAL_SCALE)) .After(eSetup) .WillOnce(DoDefault()); From 32313267f5d2e1f68367041239f1e1171a1e0c57 Mon Sep 17 00:00:00 2001 From: Barry Date: Mon, 25 Nov 2024 02:09:40 +0000 Subject: [PATCH 05/20] Update F10 Bluetooth LEA unicast allowlist: Samsung Galaxy Buds 3 pro Add Samsung Galaxy Buds 3 pro into unicast default allowlist. bug: 380369260 Test: PTE PQM-BT LE audio unicast test Flag: EXEMPT The Samsung Galaxy Buds 3 pro users are able to disable LE audio in Settings app Change-Id: Ib96037f904f9326cbf9a46c09496b27955e3df68 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 69e4375..99af1cc 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -423,7 +423,7 @@ PRODUCT_COPY_FILES += \ # LE Audio Unicast Allowlist PRODUCT_PRODUCT_PROPERTIES += \ - persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5 + persist.bluetooth.leaudio.allow_list=SM-R510,WF-1000XM5,SM-R630 # Bluetooth EWP test tool PRODUCT_PACKAGES_DEBUG += \ From 0b7eb46d12a352dbb96b5765aa2032e43522b422 Mon Sep 17 00:00:00 2001 From: Chungkai Mei Date: Mon, 25 Nov 2024 09:53:09 +0000 Subject: [PATCH 06/20] Enable TAPreferHighCap for first frame we already saw some janks caused by longer runnable time. so Enable TAPreferIdle for first frame Bug: 372168866 Flag: NONE powerhint do not support flag Change-Id: I01f699abd1eaed5760789d6c0788cbe4791e2b13 Signed-off-by: Chungkai Mei --- powerhint.json | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/powerhint.json b/powerhint.json index 1a5bb71..2074a8e 100644 --- a/powerhint.json +++ b/powerhint.json @@ -879,24 +879,30 @@ "Duration": 5000, "Value": "0" }, - { - "PowerHint": "CPU_LOAD_RESET", - "Node": "GPUMinFreq", - "Duration": 50, - "Value": "302000" - }, { "PowerHint": "DISPLAY_INACTIVE", "Node": "MemFreq", "Duration": 0, "Value": "421000" }, + { + "PowerHint": "CPU_LOAD_RESET", + "Node": "GPUMinFreq", + "Duration": 50, + "Value": "302000" + }, { "PowerHint": "CPU_LOAD_RESET", "Node": "MemFreq", "Duration": 33, "Value": "1014000" }, + { + "PowerHint": "CPU_LOAD_RESET", + "Node": "TAPreferHighCap", + "Duration": 33, + "Value": "1" + }, { "PowerHint": "CAMERA_LAUNCH", "Node": "MemFreq", From c8208e32b6e42eb425637298fd7a46f166a8c737 Mon Sep 17 00:00:00 2001 From: Zouberou Sayibou Date: Sun, 1 Dec 2024 04:31:35 +0000 Subject: [PATCH 07/20] felix/haptics: Remove voltage restriction for haptics Remove the voltage restriction for haptics since DVL is enabled. This will allow FW control for exertion protection of the motor, and allow for stronger output for audio-haptics. Bug: 318476589 Flag: EXEMPT config json change Test: dumpsys vibrator_manager and accel measurement Change-Id: I2263206a423c7731f930c213e68c7fb9fd8d6a3a Signed-off-by: Zouberou Sayibou --- felix/overlay/frameworks/base/core/res/res/values/config.xml | 2 -- 1 file changed, 2 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 bf2d14e..0cc580b 100644 --- a/felix/overlay/frameworks/base/core/res/res/values/config.xml +++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml @@ -192,8 +192,6 @@ http://www.gstatic.com/android/sms/G9FPL.xml - - 0.39 From 4be8bf0c04649353c0f3b46b4c93da4c277963e4 Mon Sep 17 00:00:00 2001 From: Hung-Yeh Lee Date: Wed, 4 Dec 2024 14:45:02 +0800 Subject: [PATCH 08/20] display-dump: make display dump project-specific Bug: 376426334 Test: adb bugreport Test: adb shell /vendor/bin/dump/dump_*_display Test: adb shell /vendor/bin/dump/dump_*_second_display Flag: EXEMPT bugfix Change-Id: Ie478ed909f02df4cca8648a415f8b629c2c454b3 --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 8508546..cf3a7da 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -40,7 +40,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/display/dump_exynos_second_display.mk include device/google/gs-common/touch/gti/predump_gti_dual.mk include device/google/gs-common/touch/stm/predump_stm6.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) From a4f300967608d9059e11ad22433175b82fbbe850 Mon Sep 17 00:00:00 2001 From: Zouberou Sayibou Date: Tue, 3 Dec 2024 02:47:11 +0000 Subject: [PATCH 09/20] Revert "felix/haptics: Remove voltage restriction for haptics" Revert submission 30661505-tdm_amplitude_limitation_removal_dvl Reason for revert: short time to properly test before 25q1 cut-off. Reverted changes: /q/submissionid:30661505-tdm_amplitude_limitation_removal_dvl Bug: 318476589 Change-Id: I0e4043be9b4d96b75234fbd160bad6a5b4eab7e1 --- felix/overlay/frameworks/base/core/res/res/values/config.xml | 2 ++ 1 file changed, 2 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 0cc580b..bf2d14e 100644 --- a/felix/overlay/frameworks/base/core/res/res/values/config.xml +++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml @@ -192,6 +192,8 @@ http://www.gstatic.com/android/sms/G9FPL.xml + + 0.39 From f62bd8d2e28997bbed1922d64c00bf90e04e870c Mon Sep 17 00:00:00 2001 From: Eileen Lai Date: Sun, 8 Dec 2024 07:38:56 +0000 Subject: [PATCH 10/20] modem_svc: use modem_svc_sit version sepolicy For solving sepolicy conflicts for different AP version, modem_svc_sit will support devices from gs101 to zuma_pro. Bug: 372400955 Change-Id: I6f434094d9886f0aabd4df03e0d170578c15b457 Flag: NONE local testing only --- device-felix.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device-felix.mk b/device-felix.mk index 8508546..8d6c3b4 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -116,7 +116,7 @@ PRODUCT_PACKAGES += \ SHARED_MODEM_PLATFORM_VENDOR := lassen # Shared Modem Platform -include device/google/gs-common/modem/shared_modem_platform/shared_modem_platform.mk +include device/google/gs-common/modem/modem_svc_sit/shared_modem_platform.mk # SecureElement PRODUCT_PACKAGES += \ From c0cc1cd8f151dbb1a5df6ab1c4b1e076354b5536 Mon Sep 17 00:00:00 2001 From: Chungkai Mei Date: Fri, 29 Nov 2024 03:44:24 +0000 Subject: [PATCH 11/20] backport launch powerhint to felix As we already migrate kernel to 6.1, let's use new hint to enhance launch performance Bug: 380188383 Flag: EXEMPT add powerhint config Change-Id: I8cd8fed9a65909fe6ad1b693008bd9c7b7558365 Signed-off-by: Chungkai Mei --- powerhint.json | 257 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 242 insertions(+), 15 deletions(-) diff --git a/powerhint.json b/powerhint.json index 2074a8e..7ec4dc2 100644 --- a/powerhint.json +++ b/powerhint.json @@ -62,6 +62,18 @@ ], "ResetOnInit": true }, + { + "Name": "CPULittleClusterDownRateLimitUs", + "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us", + "Values": [ + "5000", + "2000", + "1000", + "500" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, { "Name": "CPUMidClusterMaxFreq", "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq", @@ -94,6 +106,19 @@ ], "ResetOnInit": true }, + { + "Name": "CPUMidClusterDownRateLimitUs", + "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us", + "Values": [ + "20000", + "5000", + "3000", + "2000", + "500" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, { "Name": "CPUBigClusterMaxFreq", "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq", @@ -128,6 +153,18 @@ ], "ResetOnInit": true }, + { + "Name": "CPUBigClusterDownRateLimitUs", + "Path": "/sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us", + "Values": [ + "20000", + "3000", + "2000", + "500" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, { "Name": "GPUDvfsPeriod", "Path": "/sys/devices/platform/28000000.mali/dvfs_period", @@ -146,6 +183,15 @@ ], "ResetOnInit": true }, + { + "Name": "AutoPreferIdle", + "Path": "/proc/vendor_sched/auto_prefer_idle", + "Values": [ + "0", + "1" + ], + "ResetOnInit": true + }, { "Name": "CPUUtilThreshold", "Path": "/proc/vendor_sched/util_threshold", @@ -166,6 +212,16 @@ "DefaultIndex": 0, "ResetOnInit": true }, + { + "Name": "CPUTaperedDVFSHeadroomEnable", + "Path": "/proc/vendor_sched/tapered_dvfs_headroom_enable", + "Values": [ + "0", + "1" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, { "Name": "MIFTargetLoad", "Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load", @@ -194,6 +250,54 @@ ], "ResetOnInit": true }, + { + "Name": "TAUclampMinOnNiceEnable", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "TAUclampMinOnNiceHighValue", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_value", + "Values": [ + "765", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "TAUclampMinOnNiceMidValue", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value", + "Values": [ + "600", + "590", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "TAUclampMinOnNiceHighPrio", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio", + "Values": [ + "110", + "119", + "120" + ], + "ResetOnInit": true + }, + { + "Name": "TAUclampMinOnNiceMidPrio", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio", + "Values": [ + "128", + "139", + "130" + ], + "ResetOnInit": true + }, { "Name": "FGUClampBoost", "Path": "/proc/vendor_sched/groups/fg/uclamp_min", @@ -286,6 +390,25 @@ ], "ResetOnInit": true }, + { + "Name": "TAAutoPreferFit", + "Path": "/proc/vendor_sched/groups/ta/auto_prefer_fit", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "TAPreferredIdleMaskHigh", + "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high", + "Values": [ + "0xff", + "0xf0", + "0x7f" + ], + "ResetOnInit": true + }, { "Name": "FGPreferIdle", "Path": "/proc/vendor_sched/groups/fg/prefer_idle", @@ -688,6 +811,26 @@ ], "DefaultIndex": 0, "ResetOnInit": true + }, + { + "Name": "CPUUClampMaxFilterEnable", + "Path": "/proc/vendor_sched/uclamp_max_filter_enable", + "Values": [ + "1", + "0" + ], + "DefaultIndex": 0, + "ResetOnInit": true + }, + { + "Name": "BGUClampMaxBoost", + "Path": "/proc/vendor_sched/groups/bg/uclamp_max", + "Values": [ + "130", + "512" + ], + "DefaultIndex": 0, + "ResetOnInit": true } ], "Actions": [ @@ -721,18 +864,18 @@ "Duration": 5000, "Value": "0" }, + { + "PowerHint": "LAUNCH", + "Node": "AutoPreferIdle", + "Duration": 5000, + "Value": "0" + }, { "PowerHint": "LAUNCH_GPU", "Node": "GPUDvfsPeriod", "Duration": 1000, "Value": "10" }, - { - "PowerHint": "LAUNCH", - "Node": "FGPreferIdle", - "Duration": 5000, - "Value": "1" - }, { "PowerHint": "LAUNCH", "Type": "DoHint", @@ -758,9 +901,15 @@ }, { "PowerHint": "LAUNCH", - "Node": "TAUClampBoost", + "Node": "CPUUClampMaxFilterEnable", "Duration": 5000, - "Value": "764" + "Value": "0" + }, + { + "PowerHint": "LAUNCH", + "Node": "BGUClampMaxBoost", + "Duration": 5000, + "Value": "512" }, { "PowerHint": "LAUNCH", @@ -776,8 +925,13 @@ }, { "PowerHint": "LAUNCH", - "Node": "NPITaskPacking", - "Duration": 5000, + "Type": "DoHint", + "Value": "LAUNCH_PMU" + }, + { + "PowerHint": "LAUNCH_PMU", + "Node": "PMU_POLL", + "Duration": 3000, "Value": "0" }, { @@ -787,15 +941,88 @@ }, { "PowerHint": "LAUNCH", - "Type": "DoHint", - "Value": "LAUNCH_PMU" + "Node": "CPUDVFSHeadroom", + "Duration": 5000, + "Value": "1280" }, { - "PowerHint": "LAUNCH_PMU", - "Node": "PMU_POLL", - "Duration": 3000, + "PowerHint": "LAUNCH", + "Node": "CPUTaperedDVFSHeadroomEnable", + "Duration": 5000, "Value": "0" }, + { + "PowerHint": "LAUNCH", + "Node": "CPULittleClusterDownRateLimitUs", + "Duration": 5000, + "Value": "5000" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUMidClusterDownRateLimitUs", + "Duration": 5000, + "Value": "20000" + }, + { + "PowerHint": "LAUNCH", + "Node": "CPUBigClusterDownRateLimitUs", + "Duration": 5000, + "Value": "20000" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAPreferIdle", + "Duration": 5000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAAutoPreferFit", + "Duration": 5000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAPreferredIdleMaskHigh", + "Duration": 5000, + "Value": "0xff" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceEnable", + "Duration": 5000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceHighValue", + "Duration": 5000, + "Value": "765" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceHighPrio", + "Duration": 5000, + "Value": "110" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceMidValue", + "Duration": 5000, + "Value": "590" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceMidPrio", + "Duration": 5000, + "Value": "139" + }, + { + "PowerHint": "LAUNCH", + "Node": "FGPreferIdle", + "Duration": 5000, + "Value": "1" + }, { "PowerHint": "LAUNCH_EXTEND", "Node": "CPUBigClusterMaxFreq", From 8a2d7fdd7c54f4153066b1c41f9f5095cdbe75ee Mon Sep 17 00:00:00 2001 From: Zouberou Sayibou Date: Mon, 18 Nov 2024 20:03:23 +0000 Subject: [PATCH 12/20] Felix HAL: Add Destructor to the vibrator HAL. Bug: 379618185 Flag: EXEMPT test only Test: VibratorHalCs40l26TestSuitePrivate Change-Id: If9519ae3aa6b3bd66bfd0a0c9bac844dddfb2f28 Signed-off-by: Zouberou Sayibou --- vibrator/cs40l26/Vibrator.cpp | 11 +++++++++++ vibrator/cs40l26/Vibrator.h | 1 + vibrator/cs40l26/tests/test-vibrator.cpp | 4 +++- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/vibrator/cs40l26/Vibrator.cpp b/vibrator/cs40l26/Vibrator.cpp index bd88ed4..06eba39 100644 --- a/vibrator/cs40l26/Vibrator.cpp +++ b/vibrator/cs40l26/Vibrator.cpp @@ -1335,6 +1335,17 @@ static void incrementIndex(int *index) { *index += 1; } +Vibrator::~Vibrator() { + if (isUnderExternalControl()) { + ALOGD("Disabling external control"); + setExternalControl(false); + } + ALOGD("Turning off the vibrator"); + off(); + ALOGD("Waiting for mAsyncHandle to complete"); + mAsyncHandle.wait(); +} + ndk::ScopedAStatus Vibrator::composePwle(const std::vector &composite, const std::shared_ptr &callback) { ATRACE_NAME("Vibrator::composePwle"); diff --git a/vibrator/cs40l26/Vibrator.h b/vibrator/cs40l26/Vibrator.h index b576501..eab9461 100644 --- a/vibrator/cs40l26/Vibrator.h +++ b/vibrator/cs40l26/Vibrator.h @@ -153,6 +153,7 @@ class Vibrator : public BnVibrator { Vibrator(std::unique_ptr hwApiDefault, std::unique_ptr hwCalDefault, std::unique_ptr hwApiDual, std::unique_ptr hwCalDual, std::unique_ptr hwgpio); + virtual ~Vibrator(); // BnVibrator APIs ndk::ScopedAStatus getCapabilities(int32_t *_aidl_return) override; diff --git a/vibrator/cs40l26/tests/test-vibrator.cpp b/vibrator/cs40l26/tests/test-vibrator.cpp index 7c68c86..dbce7c5 100644 --- a/vibrator/cs40l26/tests/test-vibrator.cpp +++ b/vibrator/cs40l26/tests/test-vibrator.cpp @@ -335,7 +335,9 @@ TEST_F(VibratorTest, Constructor) { EXPECT_CALL(*mMockApi, destructor()).WillOnce(DoDefault()); EXPECT_CALL(*mMockCal, destructor()).WillOnce(DoDefault()); EXPECT_CALL(*mMockGpio, destructor()).WillOnce(DoDefault()); - + // Mock calls for the VIbrator destructor. + EXPECT_CALL(*mMockApi, recordEvent(_, _)).WillRepeatedly(DoDefault()); + EXPECT_CALL(*mMockApi, setFFGain(_, ON_GLOBAL_SCALE)).WillOnce(DoDefault()); deleteVibrator(false); createMock(&mockapi, &mockcal, &mockgpio); From 0c5fb7e7545040b2540a83ed71120112bd6a6b6a Mon Sep 17 00:00:00 2001 From: Zouberou Sayibou Date: Wed, 11 Dec 2024 07:55:29 +0000 Subject: [PATCH 13/20] Felix HAL: Move mActiveId_mutex as a private member. Bug: 379619627 Flag: EXEMPT test only Test: VibratorHalCs40l26TestSuite Change-Id: I59298139e68777e37f9f45de9661de59ba34cb83 Signed-off-by: Zouberou Sayibou --- vibrator/cs40l26/Vibrator.cpp | 1 - vibrator/cs40l26/Vibrator.h | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/vibrator/cs40l26/Vibrator.cpp b/vibrator/cs40l26/Vibrator.cpp index 06eba39..787700d 100644 --- a/vibrator/cs40l26/Vibrator.cpp +++ b/vibrator/cs40l26/Vibrator.cpp @@ -203,7 +203,6 @@ enum vibe_state { VIBE_STATE_ASP, }; -std::mutex mActiveId_mutex; // protects mActiveId class DspMemChunk { private: diff --git a/vibrator/cs40l26/Vibrator.h b/vibrator/cs40l26/Vibrator.h index eab9461..b8e31de 100644 --- a/vibrator/cs40l26/Vibrator.h +++ b/vibrator/cs40l26/Vibrator.h @@ -256,6 +256,7 @@ class Vibrator : public BnVibrator { bool mConfigHapticAlsaDeviceDone{false}; bool mGPIOStatus; bool mIsDual{false}; + std::mutex mActiveId_mutex; // protects mActiveId }; } // namespace vibrator From 4d81a12b4e60a884d6edc9acbba9ff54eefb5abb Mon Sep 17 00:00:00 2001 From: Chungkai Mei Date: Tue, 17 Dec 2024 07:55:51 +0000 Subject: [PATCH 14/20] remove unused hint As we already migrated kernel to 6.1, NewlyIdleBalancer is not used anymore. Flag: NONE just remove unused hint Bug: 379810138 Change-Id: I320983d36c2cc8edae99e5c132ca63f4d2237046 Signed-off-by: Chungkai Mei --- powerhint.json | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/powerhint.json b/powerhint.json index 7ec4dc2..af2ef5f 100644 --- a/powerhint.json +++ b/powerhint.json @@ -437,14 +437,6 @@ ], "ResetOnInit": true }, - { - "Name": "NewlyIdleBalancer", - "Path": "/proc/vendor_sched/idle_balancer", - "Values": [ - "0", - "1" - ] - }, { "Name": "DisplayWakeup", "Path": "/sys/devices/platform/1c240000.drmdecon/early_wakeup", @@ -1610,12 +1602,6 @@ "Duration": 0, "Value": "0" }, - { - "PowerHint": "CAMERA_STREAMING_EXTREME", - "Node": "NewlyIdleBalancer", - "Duration": 0, - "Value": "0" - }, { "PowerHint": "CAMERA_STREAMING_HIGH", "Node": "PMU_POLL", @@ -1730,12 +1716,6 @@ "Duration": 0, "Value": "0" }, - { - "PowerHint": "CAMERA_STREAMING_HIGH", - "Node": "NewlyIdleBalancer", - "Duration": 0, - "Value": "0" - }, { "PowerHint": "CAMERA_STREAMING_STANDARD", "Node": "PowerHALCameraRunning", @@ -1832,12 +1812,6 @@ "Duration": 0, "Value": "0" }, - { - "PowerHint": "CAMERA_STREAMING_STANDARD", - "Node": "NewlyIdleBalancer", - "Duration": 0, - "Value": "0" - }, { "PowerHint": "CAMERA_STREAMING_LOW", "Node": "PowerHALCameraRunning", @@ -1898,12 +1872,6 @@ "Duration": 0, "Value": "0" }, - { - "PowerHint": "CAMERA_STREAMING_LOW", - "Node": "NewlyIdleBalancer", - "Duration": 0, - "Value": "0" - }, { "PowerHint": "CAMERA_MULTI_CAM_STREAMING", "Node": "CPUBigClusterMaxFreq", From b8b980862def5dabda94f79b194b2020ae3316ab Mon Sep 17 00:00:00 2001 From: Zouberou Sayibou Date: Wed, 18 Dec 2024 21:51:53 +0000 Subject: [PATCH 15/20] Felix HAL: Added RECORD_COMPOSE macro for composite effects. Added the composite vector effects to HAL dumpsys instead of the size. Bug: 376330571 Flag: EXEMPT log only update Test: Flash to device and verified dumpsys Test: atest VibratorHalCs40l26TestSuitePrivate Change-Id: I59efffdbe78bc865ca60a30d8c6a9bdc855def6b Signed-off-by: Zouberou Sayibou --- vibrator/cs40l26/Vibrator.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/vibrator/cs40l26/Vibrator.cpp b/vibrator/cs40l26/Vibrator.cpp index 787700d..cabaf71 100644 --- a/vibrator/cs40l26/Vibrator.cpp +++ b/vibrator/cs40l26/Vibrator.cpp @@ -53,6 +53,16 @@ namespace vibrator { } \ } +#define RECORD_COMPOSE(...) \ + std::string effectString = ""; \ + for (auto &effect : composite) { \ + effectString += effect.toString() + ", "; \ + } \ + this->mHwApiDef->recordEvent(__func__, effectString.c_str()); \ + if (this->mIsDual) { \ + this->mHwApiDual->recordEvent(__func__, effectString.c_str()); \ + } \ + static constexpr uint16_t FF_CUSTOM_DATA_LEN_MAX_COMP = 2044; // (COMPOSE_SIZE_MAX + 1) * 8 + 4 static constexpr uint16_t FF_CUSTOM_DATA_LEN_MAX_PWLE = 2302; @@ -977,7 +987,7 @@ ndk::ScopedAStatus Vibrator::compose(const std::vector &composi const std::shared_ptr &callback) { ATRACE_NAME("Vibrator::compose"); ALOGD("Vibrator::compose"); - RECORD("composite.size = %zu", composite.size()); + RECORD_COMPOSE(composite); uint16_t size; uint16_t nextEffectDelay; From fcc7ac974c0d771e988e49a6da1c06ab0b2fa991 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Fri, 20 Dec 2024 08:09:26 +0000 Subject: [PATCH 16/20] Update IDisplay to V13-V14 V14 is not frozen yet. We should still allow V13 for 'next' build. Bug: 381463038 Bug: 378407278 Test: build pass Flag: EXEMPT bugfix Change-Id: I6d084f0ca137528b1fa8b312beed72aef1b368a5 --- 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 492724d..3ac3995 100644 --- a/device_framework_matrix_product_felix.xml +++ b/device_framework_matrix_product_felix.xml @@ -1,7 +1,7 @@ com.google.hardware.pixel.display - 13 + 13-14 IDisplay secondary From 0f4f93aec642b4c56212c0ee29714965458b85f8 Mon Sep 17 00:00:00 2001 From: "Chung-Kai (Michael) Mei" Date: Tue, 24 Dec 2024 00:36:08 -0800 Subject: [PATCH 17/20] Revert "backport launch powerhint to felix" This reverts commit c0cc1cd8f151dbb1a5df6ab1c4b1e076354b5536. Reason for revert: camera has regression Change-Id: Ica39fe7d25325510689d1835cffdb34a558891af --- powerhint.json | 257 +++---------------------------------------------- 1 file changed, 15 insertions(+), 242 deletions(-) diff --git a/powerhint.json b/powerhint.json index af2ef5f..9c9e8a3 100644 --- a/powerhint.json +++ b/powerhint.json @@ -62,18 +62,6 @@ ], "ResetOnInit": true }, - { - "Name": "CPULittleClusterDownRateLimitUs", - "Path": "/sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us", - "Values": [ - "5000", - "2000", - "1000", - "500" - ], - "DefaultIndex": 0, - "ResetOnInit": true - }, { "Name": "CPUMidClusterMaxFreq", "Path": "/sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq", @@ -106,19 +94,6 @@ ], "ResetOnInit": true }, - { - "Name": "CPUMidClusterDownRateLimitUs", - "Path": "/sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us", - "Values": [ - "20000", - "5000", - "3000", - "2000", - "500" - ], - "DefaultIndex": 0, - "ResetOnInit": true - }, { "Name": "CPUBigClusterMaxFreq", "Path": "/sys/devices/system/cpu/cpu6/cpufreq/scaling_max_freq", @@ -153,18 +128,6 @@ ], "ResetOnInit": true }, - { - "Name": "CPUBigClusterDownRateLimitUs", - "Path": "/sys/devices/system/cpu/cpu6/cpufreq/sched_pixel/down_rate_limit_us", - "Values": [ - "20000", - "3000", - "2000", - "500" - ], - "DefaultIndex": 0, - "ResetOnInit": true - }, { "Name": "GPUDvfsPeriod", "Path": "/sys/devices/platform/28000000.mali/dvfs_period", @@ -183,15 +146,6 @@ ], "ResetOnInit": true }, - { - "Name": "AutoPreferIdle", - "Path": "/proc/vendor_sched/auto_prefer_idle", - "Values": [ - "0", - "1" - ], - "ResetOnInit": true - }, { "Name": "CPUUtilThreshold", "Path": "/proc/vendor_sched/util_threshold", @@ -212,16 +166,6 @@ "DefaultIndex": 0, "ResetOnInit": true }, - { - "Name": "CPUTaperedDVFSHeadroomEnable", - "Path": "/proc/vendor_sched/tapered_dvfs_headroom_enable", - "Values": [ - "0", - "1" - ], - "DefaultIndex": 0, - "ResetOnInit": true - }, { "Name": "MIFTargetLoad", "Path": "/sys/class/devfreq/17000010.devfreq_mif/interactive/target_load", @@ -250,54 +194,6 @@ ], "ResetOnInit": true }, - { - "Name": "TAUclampMinOnNiceEnable", - "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable", - "Values": [ - "1", - "0" - ], - "ResetOnInit": true - }, - { - "Name": "TAUclampMinOnNiceHighValue", - "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_value", - "Values": [ - "765", - "0" - ], - "ResetOnInit": true - }, - { - "Name": "TAUclampMinOnNiceMidValue", - "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value", - "Values": [ - "600", - "590", - "0" - ], - "ResetOnInit": true - }, - { - "Name": "TAUclampMinOnNiceHighPrio", - "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio", - "Values": [ - "110", - "119", - "120" - ], - "ResetOnInit": true - }, - { - "Name": "TAUclampMinOnNiceMidPrio", - "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio", - "Values": [ - "128", - "139", - "130" - ], - "ResetOnInit": true - }, { "Name": "FGUClampBoost", "Path": "/proc/vendor_sched/groups/fg/uclamp_min", @@ -390,25 +286,6 @@ ], "ResetOnInit": true }, - { - "Name": "TAAutoPreferFit", - "Path": "/proc/vendor_sched/groups/ta/auto_prefer_fit", - "Values": [ - "1", - "0" - ], - "ResetOnInit": true - }, - { - "Name": "TAPreferredIdleMaskHigh", - "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high", - "Values": [ - "0xff", - "0xf0", - "0x7f" - ], - "ResetOnInit": true - }, { "Name": "FGPreferIdle", "Path": "/proc/vendor_sched/groups/fg/prefer_idle", @@ -803,26 +680,6 @@ ], "DefaultIndex": 0, "ResetOnInit": true - }, - { - "Name": "CPUUClampMaxFilterEnable", - "Path": "/proc/vendor_sched/uclamp_max_filter_enable", - "Values": [ - "1", - "0" - ], - "DefaultIndex": 0, - "ResetOnInit": true - }, - { - "Name": "BGUClampMaxBoost", - "Path": "/proc/vendor_sched/groups/bg/uclamp_max", - "Values": [ - "130", - "512" - ], - "DefaultIndex": 0, - "ResetOnInit": true } ], "Actions": [ @@ -856,18 +713,18 @@ "Duration": 5000, "Value": "0" }, - { - "PowerHint": "LAUNCH", - "Node": "AutoPreferIdle", - "Duration": 5000, - "Value": "0" - }, { "PowerHint": "LAUNCH_GPU", "Node": "GPUDvfsPeriod", "Duration": 1000, "Value": "10" }, + { + "PowerHint": "LAUNCH", + "Node": "FGPreferIdle", + "Duration": 5000, + "Value": "1" + }, { "PowerHint": "LAUNCH", "Type": "DoHint", @@ -893,15 +750,9 @@ }, { "PowerHint": "LAUNCH", - "Node": "CPUUClampMaxFilterEnable", + "Node": "TAUClampBoost", "Duration": 5000, - "Value": "0" - }, - { - "PowerHint": "LAUNCH", - "Node": "BGUClampMaxBoost", - "Duration": 5000, - "Value": "512" + "Value": "764" }, { "PowerHint": "LAUNCH", @@ -917,13 +768,8 @@ }, { "PowerHint": "LAUNCH", - "Type": "DoHint", - "Value": "LAUNCH_PMU" - }, - { - "PowerHint": "LAUNCH_PMU", - "Node": "PMU_POLL", - "Duration": 3000, + "Node": "NPITaskPacking", + "Duration": 5000, "Value": "0" }, { @@ -933,88 +779,15 @@ }, { "PowerHint": "LAUNCH", - "Node": "CPUDVFSHeadroom", - "Duration": 5000, - "Value": "1280" + "Type": "DoHint", + "Value": "LAUNCH_PMU" }, { - "PowerHint": "LAUNCH", - "Node": "CPUTaperedDVFSHeadroomEnable", - "Duration": 5000, + "PowerHint": "LAUNCH_PMU", + "Node": "PMU_POLL", + "Duration": 3000, "Value": "0" }, - { - "PowerHint": "LAUNCH", - "Node": "CPULittleClusterDownRateLimitUs", - "Duration": 5000, - "Value": "5000" - }, - { - "PowerHint": "LAUNCH", - "Node": "CPUMidClusterDownRateLimitUs", - "Duration": 5000, - "Value": "20000" - }, - { - "PowerHint": "LAUNCH", - "Node": "CPUBigClusterDownRateLimitUs", - "Duration": 5000, - "Value": "20000" - }, - { - "PowerHint": "LAUNCH", - "Node": "TAPreferIdle", - "Duration": 5000, - "Value": "1" - }, - { - "PowerHint": "LAUNCH", - "Node": "TAAutoPreferFit", - "Duration": 5000, - "Value": "1" - }, - { - "PowerHint": "LAUNCH", - "Node": "TAPreferredIdleMaskHigh", - "Duration": 5000, - "Value": "0xff" - }, - { - "PowerHint": "LAUNCH", - "Node": "TAUclampMinOnNiceEnable", - "Duration": 5000, - "Value": "1" - }, - { - "PowerHint": "LAUNCH", - "Node": "TAUclampMinOnNiceHighValue", - "Duration": 5000, - "Value": "765" - }, - { - "PowerHint": "LAUNCH", - "Node": "TAUclampMinOnNiceHighPrio", - "Duration": 5000, - "Value": "110" - }, - { - "PowerHint": "LAUNCH", - "Node": "TAUclampMinOnNiceMidValue", - "Duration": 5000, - "Value": "590" - }, - { - "PowerHint": "LAUNCH", - "Node": "TAUclampMinOnNiceMidPrio", - "Duration": 5000, - "Value": "139" - }, - { - "PowerHint": "LAUNCH", - "Node": "FGPreferIdle", - "Duration": 5000, - "Value": "1" - }, { "PowerHint": "LAUNCH_EXTEND", "Node": "CPUBigClusterMaxFreq", From 5d7d292cd1ea60d010a3f99ae02e3173604893b4 Mon Sep 17 00:00:00 2001 From: Chungkai Mei Date: Tue, 24 Dec 2024 08:40:32 +0000 Subject: [PATCH 18/20] Backport autopreferfit for launch Bug: 379810138 Flag: EXEMPT add powerhint config Change-Id: I984252d8cd38cdd8f0e1837f991923fc93574cba Signed-off-by: Chungkai Mei --- powerhint.json | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/powerhint.json b/powerhint.json index 9c9e8a3..1fbdf9e 100644 --- a/powerhint.json +++ b/powerhint.json @@ -194,6 +194,54 @@ ], "ResetOnInit": true }, + { + "Name": "TAUclampMinOnNiceEnable", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "TAUclampMinOnNiceHighValue", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_value", + "Values": [ + "765", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "TAUclampMinOnNiceMidValue", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value", + "Values": [ + "600", + "590", + "0" + ], + "ResetOnInit": true + }, + { + "Name": "TAUclampMinOnNiceHighPrio", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio", + "Values": [ + "110", + "119", + "120" + ], + "ResetOnInit": true + }, + { + "Name": "TAUclampMinOnNiceMidPrio", + "Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio", + "Values": [ + "128", + "139", + "130" + ], + "ResetOnInit": true + }, { "Name": "FGUClampBoost", "Path": "/proc/vendor_sched/groups/fg/uclamp_min", @@ -286,6 +334,15 @@ ], "ResetOnInit": true }, + { + "Name": "TAAutoPreferFit", + "Path": "/proc/vendor_sched/groups/ta/auto_prefer_fit", + "Values": [ + "1", + "0" + ], + "ResetOnInit": true + }, { "Name": "FGPreferIdle", "Path": "/proc/vendor_sched/groups/fg/prefer_idle", @@ -772,6 +829,42 @@ "Duration": 5000, "Value": "0" }, + { + "PowerHint": "LAUNCH", + "Node": "TAAutoPreferFit", + "Duration": 5000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceEnable", + "Duration": 5000, + "Value": "1" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceHighValue", + "Duration": 5000, + "Value": "765" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceHighPrio", + "Duration": 5000, + "Value": "110" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceMidValue", + "Duration": 5000, + "Value": "590" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAUclampMinOnNiceMidPrio", + "Duration": 5000, + "Value": "139" + }, { "PowerHint": "LAUNCH", "Type": "DoHint", From 6e1fd03c381705e318822bc63bd08bb3fdfb6756 Mon Sep 17 00:00:00 2001 From: Chungkai Mei Date: Tue, 24 Dec 2024 09:14:52 +0000 Subject: [PATCH 19/20] Change set preferred idle mask to top-app Set value to 0x3f exclude big core for all low/mid priority when app launch. Bug: 379810138 Flag: EXEMPT add powerhint config Change-Id: Iaeb21216459a150107f44838aec5e410cb278a30 Signed-off-by: Chungkai Mei --- powerhint.json | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/powerhint.json b/powerhint.json index 1fbdf9e..a827cdb 100644 --- a/powerhint.json +++ b/powerhint.json @@ -343,6 +343,26 @@ ], "ResetOnInit": true }, + { + "Name": "TAPreferredIdleMaskMid", + "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid", + "Values": [ + "0x3f", + "0xf0", + "0xff" + ], + "ResetOnInit": true + }, + { + "Name": "TAPreferredIdleMaskLow", + "Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low", + "Values": [ + "0x3f", + "0xf0", + "0xff" + ], + "ResetOnInit": true + }, { "Name": "FGPreferIdle", "Path": "/proc/vendor_sched/groups/fg/prefer_idle", @@ -835,6 +855,18 @@ "Duration": 5000, "Value": "1" }, + { + "PowerHint": "LAUNCH", + "Node": "TAPreferredIdleMaskMid", + "Duration": 5000, + "Value": "0x3f" + }, + { + "PowerHint": "LAUNCH", + "Node": "TAPreferredIdleMaskLow", + "Duration": 5000, + "Value": "0x3f" + }, { "PowerHint": "LAUNCH", "Node": "TAUclampMinOnNiceEnable", From 5d6cd935728d261324458249ffb774ea35a40e23 Mon Sep 17 00:00:00 2001 From: Tommy Chang Date: Fri, 27 Dec 2024 10:25:28 +0000 Subject: [PATCH 20/20] Disable Bluetooth Hearing Access Profile default enable for F10 Set bluetooth.profile.hap.enabled_by_default to false bug: 386323913 Test: m Flag: EXEMPT, properties change only for feature config Change-Id: I53dde6578fb079dd0fa4780e083cd052b19c3770 --- device-felix.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/device-felix.mk b/device-felix.mk index 8d6c3b4..cf835b5 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -439,6 +439,10 @@ PRODUCT_PRODUCT_PROPERTIES += \ PRODUCT_PACKAGES_DEBUG += \ ewp_tool +# Disable Bluetooth HAP by default +PRODUCT_PRODUCT_PROPERTIES += \ + bluetooth.profile.hap.enabled_by_default=false + # Enable DeviceAsWebcam support PRODUCT_VENDOR_PROPERTIES += \ ro.usb.uvc.enabled=true