From 6f0b8b118089aa2da7ec100a22a0f11aac3adc5b Mon Sep 17 00:00:00 2001 From: Eran Messeri Date: Wed, 11 Dec 2024 22:01:42 +0000 Subject: [PATCH 01/29] [AAPM] Enable MTE support for DevicePolicyManager Set the system property that lets the DevicePolicyManager know it can control Memory Tagging Extension on the device. With this property set, when the user turns on AAPM, it will turn on MTE. Bug: 352420507 Test: Manual Flag: android.security.aapm_feature_memory_tagging_extension Change-Id: I2cf9b650286659bc36d0e304c1ad05ff5dac4d5c --- device-common.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/device-common.mk b/device-common.mk index 54e363d..841bcf0 100644 --- a/device-common.mk +++ b/device-common.mk @@ -60,6 +60,9 @@ PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.se=off PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.google.android.bluetooth=off PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.nfc=off PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off +# Also enable the system property that would turn on MTE when Android Advanced +# Protection Mode is turned on. +PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_device_policy_manager=true endif endif From 9a4f1858b2900a502a9cc7fd8f4b34381ceb0e26 Mon Sep 17 00:00:00 2001 From: Jiaming Liu Date: Wed, 18 Dec 2024 04:31:55 +0000 Subject: [PATCH 02/29] [AE] Add system property to enable AE on Settings Add system property to enable AE split on Settings for devices supporting display port. Bug: 372200182 Test: Manual Flag: com.android.window.flags.activity_embedding_support_for_connected_displays Change-Id: I7e8c1c45b392ebce4f5529b49de654dcea925b6d --- device.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/device.mk b/device.mk index d8b121a..046db71 100644 --- a/device.mk +++ b/device.mk @@ -221,6 +221,10 @@ PRODUCT_PROPERTY_OVERRIDES += \ persist.vendor.usb.displayport.enabled=1 endif +# Enable Settings 2-pane optimization for devices supporting display ports. +PRODUCT_SYSTEM_PROPERTIES += \ + persist.settings.large_screen_opt_for_dp.enabled=true + PRODUCT_PROPERTY_OVERRIDES += \ persist.sys.hdcp_checking=drm-only From 19a963f29a7a163c8ae4e7eab06229beca7b6ade Mon Sep 17 00:00:00 2001 From: Rick Yiu Date: Thu, 5 Dec 2024 07:31:35 +0000 Subject: [PATCH 03/29] Remove ResetUclamp profiles Replaced with sched qos profiles. Bug: 355612114 Flag: NONE vendor task_profiles.json does not support flag Test: build pass Change-Id: Iee67433afe633fc4573d1f2a8e7ffd257a17861e --- task_profiles.json | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/task_profiles.json b/task_profiles.json index 103ff20..e02ea3e 100644 --- a/task_profiles.json +++ b/task_profiles.json @@ -461,34 +461,6 @@ } ] }, - { - "Name": "ResetUclampGrp", - "Actions": [ - { - "Name": "WriteFile", - "Params": - { - "FilePath": "/proc/vendor_sched/uclamp_fork_reset_set", - "Value": "", - "LogFailures": "false" - } - } - ] - }, - { - "Name": "NoResetUclampGrp", - "Actions": [ - { - "Name": "WriteFile", - "Params": - { - "FilePath": "/proc/vendor_sched/uclamp_fork_reset_clear", - "Value": "", - "LogFailures": "false" - } - } - ] - }, { "Name": "HighestCfsPrioScheduling", "Actions": [ From 785e083d6fbe96c1ef83047e30bc053a73635e25 Mon Sep 17 00:00:00 2001 From: "T.J. Mercier" Date: Fri, 27 Dec 2024 00:46:42 +0000 Subject: [PATCH 04/29] Leave memcg enabled This is being temporarily reverted as part of a data-collection experiment. We expect to reapply this before the final 25Q2 TOT snap. Bug: 384577842 Flag: NONE Beta experiment: go/android-memcgv2-exp Change-Id: I5465ea34ab4dadba8cb2cdf7f5114a3cac33f6a9 --- BoardConfig-common.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 6a316c5..96b2087 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -34,7 +34,6 @@ TARGET_CPU_VARIANT := cortex-a55 BOARD_KERNEL_CMDLINE += dyndbg=\"func alloc_contig_dump_pages +p\" BOARD_KERNEL_CMDLINE += earlycon=exynos4210,0x10870000 console=ttySAC0,115200 androidboot.console=ttySAC0 printk.devkmsg=on BOARD_KERNEL_CMDLINE += cma_sysfs.experimental=Y -BOARD_KERNEL_CMDLINE += cgroup_disable=memory BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rcu_lazy BOARD_KERNEL_CMDLINE += swiotlb=noforce From 559d473d380dded872f211256967c9e71dabaf8b Mon Sep 17 00:00:00 2001 From: "Peter (YM)" Date: Fri, 3 Jan 2025 07:42:27 +0000 Subject: [PATCH 05/29] thermal: update acces permission to flash therm Bug: 384874009 Test: Build and boot to home Change-Id: Ib0a2dec9e4e93726c8d53cad73be449f8d2e219b Signed-off-by: Peter (YM) --- conf/init.zumapro.board.rc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index 7378d9b..15a0bfe 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -590,6 +590,8 @@ on post-fs-data on property:vendor.thermal.link_ready=1 # Thermal + chown system system /dev/thermal/tz-by-name/flash_therm/trip_point_0_temp + chown system system /dev/thermal/tz-by-name/flash_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/disp_therm/trip_point_0_temp chown system system /dev/thermal/tz-by-name/disp_therm/trip_point_0_hyst chown system system /dev/thermal/tz-by-name/north_therm/trip_point_0_temp From bee1dd74fa364c7770dc0d02700b72c2eb6e1ff1 Mon Sep 17 00:00:00 2001 From: Speth Chang Date: Mon, 6 Jan 2025 07:06:06 +0000 Subject: [PATCH 06/29] Remove deprecated camera system property Bug: 381143281 Test: Build pass, basic GCA function Flag: EXEMPT, none Change-Id: I7debbcda5ada995e739aab1dddbad1c5102eeeff --- device.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/device.mk b/device.mk index c6e3263..163d2a4 100644 --- a/device.mk +++ b/device.mk @@ -874,10 +874,6 @@ PRODUCT_PROPERTY_OVERRIDES += \ debug.sf.enable_sdr_dimming=1 \ debug.sf.dim_in_gamma_in_enhanced_screenshots=1 -# Camera -PRODUCT_PROPERTY_OVERRIDES += \ - vendor.camera.multicam.enable_p23_multicam=true - PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.use_phase_offsets_as_durations=1 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.sf.duration=10500000 PRODUCT_DEFAULT_PROPERTY_OVERRIDES += debug.sf.late.app.duration=16600000 From 0b1f1f5952a6e54be2588d187c846561cee9d103 Mon Sep 17 00:00:00 2001 From: Spade Lee Date: Thu, 26 Dec 2024 13:43:28 +0000 Subject: [PATCH 07/29] pixelstats: zumapro: change firmware update path Replace with max77779 firmware update logbuffer path Bug: 386187651 Test: local test pass Flag: EXEMPT refactor Change-Id: I06f5196939cce5c22fd7ca34f164366ea69b8c4d Signed-off-by: Spade Lee --- pixelstats/service.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp index c7f3ca4..cd35aeb 100644 --- a/pixelstats/service.cpp +++ b/pixelstats/service.cpp @@ -154,7 +154,9 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = { const struct UeventListener::UeventPaths ueventPaths = { .AudioUevent = "/devices/virtual/amcs/amcs", .TypeCPartnerUevent = "PRODUCT_TYPE=", - .FwUpdatePath = "/sys/devices/platform/maxim,max77779fwu/update_stats", + .FwUpdatePath = { + "/dev/logbuffer_max77779_fwupdate", + }, .FGAbnlPath = { "/dev/logbuffer_max77779fg_monitor", "/dev/logbuffer_maxfg_base_monitor", From b4288553e9c0817772a27551a7727a870661b9af Mon Sep 17 00:00:00 2001 From: Roy Luo Date: Thu, 9 Jan 2025 00:31:55 +0000 Subject: [PATCH 08/29] usb: migrate UsbDataSessionMonitor to libpixelusb Use the libpixelusb version of UsbDataSessionMonitor. Bug: 388367091 Test: test on komodo Flag: EXEMPT CP Change-Id: Idca8c72c53f8153cc64db294b4f02293cc71193c --- usb/usb/Android.bp | 10 +- usb/usb/Usb.h | 3 +- usb/usb/UsbDataSessionMonitor.cpp | 528 ------------------------------ usb/usb/UsbDataSessionMonitor.h | 121 ------- 4 files changed, 4 insertions(+), 658 deletions(-) delete mode 100644 usb/usb/UsbDataSessionMonitor.cpp delete mode 100644 usb/usb/UsbDataSessionMonitor.h diff --git a/usb/usb/Android.bp b/usb/usb/Android.bp index 20ba592..7243816 100644 --- a/usb/usb/Android.bp +++ b/usb/usb/Android.bp @@ -33,7 +33,6 @@ cc_binary { srcs: [ "service.cpp", "Usb.cpp", - "UsbDataSessionMonitor.cpp", ], shared_libs: [ "libbase", @@ -59,9 +58,10 @@ cc_binary { ], static_libs: [ "libpixelusb-aidl", + "libpixelusb-datasession", "libpixelstats", "libthermalutils", - "android.hardware.usb.flags-aconfig-c-lib", + "android.hardware.usb.flags-aconfig-cc-lib", ], export_shared_lib_headers: [ "android.frameworks.stats-V2-ndk", @@ -84,9 +84,3 @@ prebuilt_etc { src: "android.hardware.usb-service-i2c11.rc", sub_dir: "init", } - -cc_aconfig_library { - name: "android.hardware.usb.flags-aconfig-c-lib", - vendor: true, - aconfig_declarations: "android.hardware.usb.flags-aconfig", -} diff --git a/usb/usb/Usb.h b/usb/usb/Usb.h index eb37d38..153c363 100644 --- a/usb/usb/Usb.h +++ b/usb/usb/Usb.h @@ -19,10 +19,10 @@ #include #include #include +#include #include #include #include -#include #define UEVENT_MSG_LEN 2048 // The type-c stack waits for 4.5 - 5.5 secs before declaring a port non-pd. @@ -50,6 +50,7 @@ using ::aidl::android::hardware::usb::PortRole; using ::android::base::ReadFileToString; using ::android::base::WriteStringToFile; using ::android::base::unique_fd; +using ::android::hardware::google::pixel::usb::UsbDataSessionMonitor; using ::android::hardware::google::pixel::usb::UsbOverheatEvent; using ::android::hardware::google::pixel::usb::ZoneInfo; using ::android::hardware::thermal::V2_0::TemperatureType; diff --git a/usb/usb/UsbDataSessionMonitor.cpp b/usb/usb/UsbDataSessionMonitor.cpp deleted file mode 100644 index 197b368..0000000 --- a/usb/usb/UsbDataSessionMonitor.cpp +++ /dev/null @@ -1,528 +0,0 @@ -/* - * Copyright (C) 2023 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. - */ - -#define LOG_TAG "android.hardware.usb.aidl-service.UsbDataSessionMonitor" - -#include "UsbDataSessionMonitor.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace usb_flags = android::hardware::usb::flags; - -using aidl::android::frameworks::stats::IStats; -using android::base::ReadFileToString; -using android::hardware::google::pixel::getStatsService; -using android::hardware::google::pixel::reportUsbDataSessionEvent; -using android::hardware::google::pixel::PixelAtoms::VendorUsbDataSessionEvent; -using android::hardware::google::pixel::usb::addEpollFd; -using android::hardware::google::pixel::usb::BuildVendorUsbDataSessionEvent; - -namespace aidl { -namespace android { -namespace hardware { -namespace usb { - -#define UEVENT_MSG_LEN 2048 -#define USB_STATE_MAX_LEN 20 -#define DATA_ROLE_MAX_LEN 10 -#define WARNING_SURFACE_DELAY_SEC 5 -#define ENUM_FAIL_DEFAULT_COUNT_THRESHOLD 3 -#define DEVICE_FLAKY_CONNECTION_CONFIGURED_COUNT_THRESHOLD 5 - -constexpr char kUdcConfigfsPath[] = "/config/usb_gadget/g1/UDC"; -constexpr char kNotAttachedState[] = "not attached\n"; -constexpr char kAttachedState[] = "attached\n"; -constexpr char kPoweredState[] = "powered\n"; -constexpr char kDefaultState[] = "default\n"; -constexpr char kAddressedState[] = "addressed\n"; -constexpr char kConfiguredState[] = "configured\n"; -constexpr char kSuspendedState[] = "suspended\n"; -const std::set kValidStates = {kNotAttachedState, kAttachedState, kPoweredState, - kDefaultState, kAddressedState, kConfiguredState, - kSuspendedState}; - -static int addEpollFile(const int &epollFd, const std::string &filePath, unique_fd &fileFd) { - struct epoll_event ev; - - unique_fd fd(open(filePath.c_str(), O_RDONLY)); - - if (fd.get() == -1) { - ALOGI("Cannot open %s", filePath.c_str()); - return -1; - } - - ev.data.fd = fd.get(); - ev.events = EPOLLPRI; - - if (epoll_ctl(epollFd, EPOLL_CTL_ADD, fd.get(), &ev) != 0) { - ALOGE("epoll_ctl failed; errno=%d", errno); - return -1; - } - - fileFd = std::move(fd); - ALOGI("epoll registered %s", filePath.c_str()); - return 0; -} - -static void removeEpollFile(const int &epollFd, const std::string &filePath, unique_fd &fileFd) { - epoll_ctl(epollFd, EPOLL_CTL_DEL, fileFd.get(), NULL); - fileFd.release(); - - ALOGI("epoll unregistered %s", filePath.c_str()); -} - -UsbDataSessionMonitor::UsbDataSessionMonitor( - const std::string &deviceUeventRegex, const std::string &deviceStatePath, - const std::string &host1UeventRegex, const std::string &host1StatePath, - const std::string &host2UeventRegex, const std::string &host2StatePath, - const std::string &dataRolePath, std::function updatePortStatusCb) { - struct epoll_event ev; - std::string udc; - int pipefds[2]; - - unique_fd epollFd(epoll_create(8)); - if (epollFd.get() == -1) { - ALOGE("epoll_create failed; errno=%d", errno); - abort(); - } - - unique_fd ueventFd(uevent_open_socket(64 * 1024, true)); - if (ueventFd.get() == -1) { - ALOGE("uevent_open_socket failed"); - abort(); - } - fcntl(ueventFd, F_SETFL, O_NONBLOCK); - - if (addEpollFd(epollFd, ueventFd)) - abort(); - - unique_fd timerFd(timerfd_create(CLOCK_BOOTTIME, TFD_NONBLOCK)); - if (timerFd.get() == -1) { - ALOGE("create timerFd failed"); - abort(); - } - - if (addEpollFd(epollFd, timerFd)) - abort(); - - if (addEpollFile(epollFd.get(), dataRolePath, mDataRoleFd) != 0) { - ALOGE("monitor data role failed"); - abort(); - } - - pipe(pipefds); - mPipefd0.reset(pipefds[0]); - mPipefd1.reset(pipefds[1]); - if (addEpollFd(epollFd, mPipefd0)) - abort(); - - /* - * The device state file could be absent depending on the current data role - * and driver architecture. It's ok for addEpollFile to fail here, the file - * will be monitored later when its presence is detected by uevent. - */ - mDeviceState.name = "udc"; - mDeviceState.filePath = deviceStatePath; - mDeviceState.ueventRegex = deviceUeventRegex; - addEpollFile(epollFd.get(), mDeviceState.filePath, mDeviceState.fd); - - mHost1State.name = "host1"; - mHost1State.filePath = host1StatePath; - mHost1State.ueventRegex = host1UeventRegex; - addEpollFile(epollFd.get(), mHost1State.filePath, mHost1State.fd); - - mHost2State.name = "host2"; - mHost2State.filePath = host2StatePath; - mHost2State.ueventRegex = host2UeventRegex; - addEpollFile(epollFd.get(), mHost2State.filePath, mHost2State.fd); - - mEpollFd = std::move(epollFd); - mUeventFd = std::move(ueventFd); - mTimerFd = std::move(timerFd); - mUpdatePortStatusCb = updatePortStatusCb; - - if (ReadFileToString(kUdcConfigfsPath, &udc) && !udc.empty()) - mUdcBind = true; - else - mUdcBind = false; - - if (pthread_create(&mMonitor, NULL, this->monitorThread, this)) { - ALOGE("pthread creation failed %d", errno); - abort(); - } - - ALOGI("feature flag enable_report_usb_data_compliance_warning: %d", - usb_flags::enable_report_usb_data_compliance_warning()); -} - -UsbDataSessionMonitor::~UsbDataSessionMonitor() { - /* - * Write a character to the pipe to signal the monitor thread to exit. - * The character is not important, it can be any value. - */ - int c = 'q'; - write(mPipefd1, &c, 1); - pthread_join(mMonitor, NULL); -} - -void UsbDataSessionMonitor::reportUsbDataSessionMetrics() { - std::vector events; - - if (mDataRole == PortDataRole::DEVICE) { - VendorUsbDataSessionEvent event; - BuildVendorUsbDataSessionEvent(false /* is_host */, boot_clock::now(), mDataSessionStart, - &mDeviceState.states, &mDeviceState.timestamps, &event); - events.push_back(event); - } else if (mDataRole == PortDataRole::HOST) { - bool empty = true; - for (auto e : {&mHost1State, &mHost2State}) { - /* - * Host port will at least get an not_attached event after enablement, - * skip upload if no additional state is added. - */ - if (e->states.size() > 1) { - VendorUsbDataSessionEvent event; - BuildVendorUsbDataSessionEvent(true /* is_host */, boot_clock::now(), - mDataSessionStart, &e->states, &e->timestamps, - &event); - events.push_back(event); - empty = false; - } - } - // All host ports have no state update, upload an event to reflect it - if (empty) { - VendorUsbDataSessionEvent event; - BuildVendorUsbDataSessionEvent(true /* is_host */, boot_clock::now(), mDataSessionStart, - &mHost1State.states, &mHost1State.timestamps, &event); - events.push_back(event); - } - } else { - return; - } - - const std::shared_ptr stats_client = getStatsService(); - if (!stats_client) { - ALOGE("Unable to get AIDL Stats service"); - return; - } - - for (auto &event : events) { - reportUsbDataSessionEvent(stats_client, event); - } -} - -void UsbDataSessionMonitor::getComplianceWarnings(const PortDataRole &role, - std::vector *warnings) { - if (!usb_flags::enable_report_usb_data_compliance_warning()) - return; - - if (role != mDataRole || role == PortDataRole::NONE) - return; - - for (auto w : mWarningSet) { - warnings->push_back(w); - } -} - -void UsbDataSessionMonitor::notifyComplianceWarning() { - if (!usb_flags::enable_report_usb_data_compliance_warning()) - return; - - if (mUpdatePortStatusCb) - mUpdatePortStatusCb(); -} - -void UsbDataSessionMonitor::evaluateComplianceWarning() { - std::set newWarningSet; - int elapsedTimeSec; - - elapsedTimeSec = - std::chrono::duration_cast(boot_clock::now() - mDataSessionStart) - .count(); - - if (elapsedTimeSec >= WARNING_SURFACE_DELAY_SEC) { - if (mDataRole == PortDataRole::DEVICE && mUdcBind) { - int configuredCount = std::count(mDeviceState.states.begin(), - mDeviceState.states.end(), kConfiguredState); - int defaultCount = - std::count(mDeviceState.states.begin(), mDeviceState.states.end(), kDefaultState); - - if (configuredCount == 0 && defaultCount > ENUM_FAIL_DEFAULT_COUNT_THRESHOLD) - newWarningSet.insert(ComplianceWarning::ENUMERATION_FAIL); - - if (configuredCount > DEVICE_FLAKY_CONNECTION_CONFIGURED_COUNT_THRESHOLD) - newWarningSet.insert(ComplianceWarning::FLAKY_CONNECTION); - } else if (mDataRole == PortDataRole::HOST) { - int host1StateCount = mHost1State.states.size(); - int host1ConfiguredCount = - std::count(mHost1State.states.begin(), mHost1State.states.end(), kConfiguredState); - int host1DefaultCount = - std::count(mHost1State.states.begin(), mHost1State.states.end(), kDefaultState); - int host2StateCount = mHost2State.states.size(); - int host2ConfiguredCount = - std::count(mHost2State.states.begin(), mHost2State.states.end(), kConfiguredState); - int host2DefaultCount = - std::count(mHost2State.states.begin(), mHost2State.states.end(), kDefaultState); - - if (host1ConfiguredCount == 0 && host2ConfiguredCount == 0 && - (host1DefaultCount > ENUM_FAIL_DEFAULT_COUNT_THRESHOLD || - host2DefaultCount > ENUM_FAIL_DEFAULT_COUNT_THRESHOLD)) - newWarningSet.insert(ComplianceWarning::ENUMERATION_FAIL); - - if (host1StateCount == 1 && mHost1State.states.front() == kNotAttachedState && - host2StateCount == 1 && mHost2State.states.front() == kNotAttachedState) - newWarningSet.insert(ComplianceWarning::MISSING_DATA_LINES); - } - } - - if (newWarningSet != mWarningSet) { - std::string newWarningString; - - for (auto e : newWarningSet) { - newWarningString += toString(e) + " "; - } - ALOGI("Usb data compliance warning changed to: %s", newWarningString.c_str()); - - mWarningSet = newWarningSet; - notifyComplianceWarning(); - } -} - -void UsbDataSessionMonitor::clearDeviceStateEvents(struct usbDeviceState *deviceState) { - deviceState->states.clear(); - deviceState->timestamps.clear(); -} - -void UsbDataSessionMonitor::handleDeviceStateEvent(struct usbDeviceState *deviceState) { - int n; - char state[USB_STATE_MAX_LEN] = {0}; - - lseek(deviceState->fd.get(), 0, SEEK_SET); - n = read(deviceState->fd.get(), &state, USB_STATE_MAX_LEN); - - if (kValidStates.find(state) == kValidStates.end()) { - ALOGE("Invalid state %s: %s", deviceState->name.c_str(), state); - return; - } - - ALOGI("Update device state %s: %s", deviceState->name.c_str(), state); - - deviceState->states.push_back(state); - deviceState->timestamps.push_back(boot_clock::now()); - evaluateComplianceWarning(); -} - -void UsbDataSessionMonitor::setupNewSession() { - mWarningSet.clear(); - mDataSessionStart = boot_clock::now(); - - if (mDataRole == PortDataRole::DEVICE) { - clearDeviceStateEvents(&mDeviceState); - } else if (mDataRole == PortDataRole::HOST) { - clearDeviceStateEvents(&mHost1State); - clearDeviceStateEvents(&mHost2State); - } - - if (mDataRole != PortDataRole::NONE) { - struct itimerspec delay = itimerspec(); - delay.it_value.tv_sec = WARNING_SURFACE_DELAY_SEC; - int ret = timerfd_settime(mTimerFd.get(), 0, &delay, NULL); - if (ret < 0) - ALOGE("timerfd_settime failed err:%d", errno); - } -} - -void UsbDataSessionMonitor::handleDataRoleEvent() { - int n; - PortDataRole newDataRole; - char role[DATA_ROLE_MAX_LEN] = {0}; - - lseek(mDataRoleFd.get(), 0, SEEK_SET); - n = read(mDataRoleFd.get(), &role, DATA_ROLE_MAX_LEN); - - ALOGI("Update USB data role %s", role); - - if (!std::strcmp(role, "host")) { - newDataRole = PortDataRole::HOST; - } else if (!std::strcmp(role, "device")) { - newDataRole = PortDataRole::DEVICE; - } else { - newDataRole = PortDataRole::NONE; - } - - if (newDataRole != mDataRole) { - // Upload metrics for the last data session that has ended - if (mDataRole == PortDataRole::HOST || (mDataRole == PortDataRole::DEVICE && mUdcBind)) { - reportUsbDataSessionMetrics(); - } - - mDataRole = newDataRole; - setupNewSession(); - } -} - -void UsbDataSessionMonitor::updateUdcBindStatus(const std::string &devname) { - std::string function; - bool newUdcBind; - - /* - * /sys/class/udc//function prints out name of currently running USB gadget driver - * Ref: https://www.kernel.org/doc/Documentation/ABI/stable/sysfs-class-udc - * Empty name string means the udc device is not bound and gadget is pulldown. - */ - if (!ReadFileToString("/sys" + devname + "/function", &function)) - return; - - if (function == "") - newUdcBind = false; - else - newUdcBind = true; - - if (newUdcBind == mUdcBind) - return; - - if (mDataRole == PortDataRole::DEVICE) { - if (mUdcBind && !newUdcBind) { - /* - * Gadget soft pulldown: report metrics as the end of a data session and - * re-evaluate compliance warnings to clear existing warnings if any. - */ - reportUsbDataSessionMetrics(); - evaluateComplianceWarning(); - - } else if (!mUdcBind && newUdcBind) { - // Gadget soft pullup: reset and start accounting for a new data session. - setupNewSession(); - } - } - - ALOGI("Udc bind status changes from %b to %b", mUdcBind, newUdcBind); - mUdcBind = newUdcBind; -} - -void UsbDataSessionMonitor::handleUevent() { - char msg[UEVENT_MSG_LEN + 2]; - char *cp; - int n; - - n = uevent_kernel_multicast_recv(mUeventFd.get(), msg, UEVENT_MSG_LEN); - if (n <= 0) - return; - if (n >= UEVENT_MSG_LEN) - return; - - msg[n] = '\0'; - msg[n + 1] = '\0'; - cp = msg; - - while (*cp) { - for (auto e : {&mHost1State, &mHost2State}) { - if (std::regex_search(cp, std::regex(e->ueventRegex))) { - if (!strncmp(cp, "bind@", strlen("bind@"))) { - addEpollFile(mEpollFd.get(), e->filePath, e->fd); - } else if (!strncmp(cp, "unbind@", strlen("unbind@"))) { - removeEpollFile(mEpollFd.get(), e->filePath, e->fd); - } - } - } - - // TODO: support bind@ unbind@ to detect dynamically allocated udc device - if (std::regex_search(cp, std::regex(mDeviceState.ueventRegex))) { - if (!strncmp(cp, "change@", strlen("change@"))) { - char *devname = cp + strlen("change@"); - /* - * Udc device emits a KOBJ_CHANGE event on configfs driver bind and unbind. - * TODO: upstream udc driver emits KOBJ_CHANGE event BEFORE unbind is actually - * executed. Add a short delay to get the correct state while working on a fix - * upstream. - */ - usleep(50000); - updateUdcBindStatus(devname); - } - } - /* advance to after the next \0 */ - while (*cp++) { - } - } -} - -void UsbDataSessionMonitor::handleTimerEvent() { - int byteRead; - uint64_t numExpiration; - - byteRead = read(mTimerFd.get(), &numExpiration, sizeof(numExpiration)); - - if (byteRead != sizeof(numExpiration)) { - ALOGE("incorrect read size"); - } - - if (numExpiration != 1) { - ALOGE("incorrect expiration count"); - } - - evaluateComplianceWarning(); -} - -void *UsbDataSessionMonitor::monitorThread(void *param) { - UsbDataSessionMonitor *monitor = (UsbDataSessionMonitor *)param; - struct epoll_event events[64]; - int nevents = 0; - - while (true) { - nevents = epoll_wait(monitor->mEpollFd.get(), events, 64, -1); - if (nevents == -1) { - if (errno == EINTR) - continue; - ALOGE("usb epoll_wait failed; errno=%d", errno); - break; - } - - for (int n = 0; n < nevents; ++n) { - if (events[n].data.fd == monitor->mPipefd0.get()) { - return NULL; - } else if (events[n].data.fd == monitor->mUeventFd.get()) { - monitor->handleUevent(); - } else if (events[n].data.fd == monitor->mTimerFd.get()) { - monitor->handleTimerEvent(); - } else if (events[n].data.fd == monitor->mDataRoleFd.get()) { - monitor->handleDataRoleEvent(); - } else if (events[n].data.fd == monitor->mDeviceState.fd.get()) { - monitor->handleDeviceStateEvent(&monitor->mDeviceState); - } else if (events[n].data.fd == monitor->mHost1State.fd.get()) { - monitor->handleDeviceStateEvent(&monitor->mHost1State); - } else if (events[n].data.fd == monitor->mHost2State.fd.get()) { - monitor->handleDeviceStateEvent(&monitor->mHost2State); - } - } - } - return NULL; -} - -} // namespace usb -} // namespace hardware -} // namespace android -} // namespace aidl diff --git a/usb/usb/UsbDataSessionMonitor.h b/usb/usb/UsbDataSessionMonitor.h deleted file mode 100644 index e1cfd10..0000000 --- a/usb/usb/UsbDataSessionMonitor.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * Copyright (C) 2023 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include -#include -#include -#include - -#include -#include -#include - -namespace aidl { -namespace android { -namespace hardware { -namespace usb { - -using ::aidl::android::hardware::usb::ComplianceWarning; -using ::aidl::android::hardware::usb::PortDataRole; -using ::android::base::boot_clock; -using ::android::base::unique_fd; - -/* - * UsbDataSessionMonitor monitors the usb device state sysfs of 3 different usb devices - * including device mode (udc), host mode high-speed port and host mode super-speed port. It - * reports Suez metrics for each data session and also provides API to query the compliance - * warnings detected in the current usb data session. - */ -class UsbDataSessionMonitor { - public: - /* - * The host mode high-speed port and super-speed port can be assigned to either host1 or - * host2 without affecting functionality. - * - * UeventRegex: name regex of the device that's being monitored. The regex is matched against - * uevent to detect dynamic creation/deletion/change of the device. - * StatePath: usb device state sysfs path of the device, monitored by epoll. - * dataRolePath: path to the usb data role sysfs, monitored by epoll. - * updatePortStatusCb: the callback is invoked when the compliance warings changes. - */ - UsbDataSessionMonitor(const std::string &deviceUeventRegex, const std::string &deviceStatePath, - const std::string &host1UeventRegex, const std::string &host1StatePath, - const std::string &host2UeventRegex, const std::string &host2StatePath, - const std::string &dataRolePath, - std::function updatePortStatusCb); - ~UsbDataSessionMonitor(); - // Returns the compliance warnings detected in the current data session. - void getComplianceWarnings(const PortDataRole &role, std::vector *warnings); - - private: - struct usbDeviceState { - // The name of the usb device, e.g. udc, host1, host2. - std::string name; - unique_fd fd; - std::string filePath; - std::string ueventRegex; - // Usb device states reported by state sysfs - std::vector states; - // Timestamps of when the usb device states were captured - std::vector timestamps; - }; - - static void *monitorThread(void *param); - void handleUevent(); - void handleTimerEvent(); - void handleDataRoleEvent(); - void handleDeviceStateEvent(struct usbDeviceState *deviceState); - void clearDeviceStateEvents(struct usbDeviceState *deviceState); - void setupNewSession(); - void reportUsbDataSessionMetrics(); - void evaluateComplianceWarning(); - void notifyComplianceWarning(); - void updateUdcBindStatus(const std::string &devname); - - pthread_t mMonitor; - unique_fd mPipefd0; - unique_fd mPipefd1; - unique_fd mEpollFd; - unique_fd mUeventFd; - unique_fd mTimerFd; - unique_fd mDataRoleFd; - struct usbDeviceState mDeviceState; - struct usbDeviceState mHost1State; - struct usbDeviceState mHost2State; - std::set mWarningSet; - // Callback function to notify the caller when there's a change in compliance warnings. - std::function mUpdatePortStatusCb; - /* - * Cache relevant info for a USB data session when one starts, including - * the data role and the time when the session starts. - */ - PortDataRole mDataRole; - boot_clock::time_point mDataSessionStart; - /* - * In gadget mode: this indicates whether the udc device is bound to the configfs driver, which - * is done by userspace writing the udc device name to /config/usb_gadget/g1/UDC. When unbound, - * the gadget is in soft pulldown state and is expected not to enumerate. During gadget - * function switch, the udc device usually go through unbind and bind. - */ - bool mUdcBind; -}; - -} // namespace usb -} // namespace hardware -} // namespace android -} // namespace aidl From 6e6d767858d1a4941cf58e0352154df157977564 Mon Sep 17 00:00:00 2001 From: Terry Huang Date: Thu, 9 Jan 2025 19:43:15 +0800 Subject: [PATCH 09/29] Use prebuilt PixelImsMediaFramework for PDK ROM Bug: 378976781 Test: PDK ROM build pass Flag: EXEMPT bugfix Change-Id: I5b6e27ca4097259e8dd6a610899c9853d1607006 --- device.mk | 3 +++ 1 file changed, 3 insertions(+) diff --git a/device.mk b/device.mk index 8c1b12d..0eb9542 100644 --- a/device.mk +++ b/device.mk @@ -314,6 +314,9 @@ PRODUCT_PROPERTY_OVERRIDES += \ ro.vendor.uses_google_dialer_carrier_settings=1 # GoogleDialer in PDK build with "USES_GOOGLE_DIALER_CARRIER_SETTINGS=true" PRODUCT_SOONG_NAMESPACES += vendor/google_devices/zumapro/proprietary/GoogleDialer + +# Use prebuilt PixelImsMediaFramework.jar for PDK build +PRODUCT_SOONG_NAMESPACES += vendor/google_devices/gs-common/prebuilts/ImsMedia endif ifeq ($(USES_GOOGLE_PREBUILT_MODEM_SVC),true) From 0ab2630c0d2c7e109e0702c0f65a01879b94d694 Mon Sep 17 00:00:00 2001 From: Zouberou Sayibou Date: Wed, 18 Dec 2024 22:42:40 +0000 Subject: [PATCH 10/29] zumapro: Clean up dbc and pm properties. Bug: 384978512 Flag: EXEMPT clean up only Change-Id: I14f66b1bf42631757ab0e9acda6dd7c30c542a96 Signed-off-by: Zouberou Sayibou --- conf/init.zumapro.board.rc | 7 ------- 1 file changed, 7 deletions(-) diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index 7378d9b..b3119bc 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -683,11 +683,4 @@ on property:vendor.all.modules.ready=1 chown system system /sys/bus/i2c/devices/9-0043/default/f0_comp_enable chown system system /sys/bus/i2c/devices/9-0043/default/redc_comp_enable chown system system /sys/bus/i2c/devices/9-0043/default/delay_before_stop_playback_us - chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_env_rel_coef - chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_rise_headroom - chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_fall_headroom - chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_enable - chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_tx_lvl_thresh_fs - chown system system /sys/bus/i2c/devices/9-0043/dbc/dbc_tx_lvl_hold_off_ms - chown system system /sys/bus/i2c/devices/9-0043/default/pm_active_timeout_ms enable vendor.vibrator.cs40l26 From 32477c6f953e9db30c97ac1833532b096c4474ab Mon Sep 17 00:00:00 2001 From: George Chang Date: Mon, 13 Jan 2025 07:02:54 +0000 Subject: [PATCH 11/29] Disable NFC during satellite Bug: 380995847 Flag: EXEMPT feature enable Test: nfc on and enter satellite mode Change-Id: I5b6cdba3d9d6061cadba1c00b0278fd044708704 --- .../base/packages/SettingsProvider/res/values/defaults.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml index e0c00ab..9f79fcf 100644 --- a/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml +++ b/overlay/frameworks/base/packages/SettingsProvider/res/values/defaults.xml @@ -17,7 +17,7 @@ */ --> - - bluetooth,wifi + + bluetooth,nfc,wifi From 874fd7ae28b9c251d71c9bc46bf356bedad8ed72 Mon Sep 17 00:00:00 2001 From: Aishwarya Mallampati Date: Mon, 13 Jan 2025 18:53:00 +0000 Subject: [PATCH 12/29] Reject e911 call during non-emergency satellite session. Bug: 388926638 Test: 388938575 Flag: EXEMPT bugfix Change-Id: I96d6fa20881d69f7f624d892cb273a4536137c0e --- overlay/packages/services/Telephony/res/values/config.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/overlay/packages/services/Telephony/res/values/config.xml b/overlay/packages/services/Telephony/res/values/config.xml index 2a0cf01..030b476 100644 --- a/overlay/packages/services/Telephony/res/values/config.xml +++ b/overlay/packages/services/Telephony/res/values/config.xml @@ -31,4 +31,7 @@ com.shannon.rcsservice + + + false From 807f9037ee0e2a2fdd11255a860885977903b6eb Mon Sep 17 00:00:00 2001 From: Piotr Klasa Date: Wed, 8 Jan 2025 17:50:56 +0100 Subject: [PATCH 13/29] move common init perf settings to gs_common MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Test: Verified if all values ​​of transferred settings are as they should be after rebooting the device, and and checked that there are no new selinux errors for hal_power_default Bug: 335874870 Flag: EXEMPT not supported by this component yet Change-Id: I8b65fa99dfc84f7d676eba1449a0d32b7d1be846 --- conf/init.zumapro.board.rc | 47 -------------------------------------- conf/init.zumapro.soc.rc | 16 ------------- 2 files changed, 63 deletions(-) diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index b3119bc..9bc0e47 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -13,8 +13,6 @@ on init # CPU0 cannot be offline chmod 0444 /sys/devices/system/cpu/cpu0/online - # Set teo as cpu idle governor - write /sys/devices/system/cpu/cpuidle/current_governor teo # Disable util-awareness for mids and bigs write /proc/vendor_sched/teo_util_threshold "2 1024 1024" @@ -60,14 +58,6 @@ on init write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe - # RT uclamp setting - write /proc/sys/kernel/sched_util_clamp_min_rt_default 0 - - write /proc/vendor_sched/groups/cam/prefer_idle 1 - write /proc/vendor_sched/groups/cam/uclamp_min 1 - - chown system system /dev/cpuset/cgroup.procs - # nanohub sensor chmod 0664 /dev/nanohub chmod 0664 /dev/nanohub_comms @@ -80,10 +70,6 @@ on init # Power Stats HAL chown system system /dev/bbd_pwrstat - # Add a boost for NNAPI HAL - write /proc/vendor_sched/groups/nnapi/prefer_idle 0 - write /proc/vendor_sched/groups/nnapi/uclamp_min 512 - # Set boost_adpf_prio, -1 by default write /proc/vendor_sched/boost_adpf_prio ${persist.device_config.vendor_system_native_boot.boost_adpf_prio:--1} @@ -420,27 +406,6 @@ on property:sys.boot_completed=1 # Cancel boot devfreq write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1 - # Setup scheduler parameters - write /proc/vendor_sched/min_granularity_ns 1000000 - write /proc/vendor_sched/latency_ns 8000000 - write /proc/vendor_sched/max_load_balance_interval 1 - write /proc/vendor_sched/enable_hrtick 1 - - # Setup final cpu.uclamp - write /proc/vendor_sched/groups/ta/uclamp_min 1 - write /proc/vendor_sched/groups/fg/uclamp_min 0 - write /proc/vendor_sched/groups/sys/prefer_idle 0 - - # Set ug group - write /proc/vendor_sched/groups/bg/ug 0 - write /proc/vendor_sched/groups/sys_bg/ug 0 - write /proc/vendor_sched/groups/ota/ug 0 - write /proc/vendor_sched/groups/dex2oat/ug 1 - write /proc/vendor_sched/groups/ta/ug 1 - - # Set bg group throttle - write /proc/vendor_sched/ug_bg_group_throttle ${persist.device_config.vendor_system_native.ug_bg_group_throttle:-308} - # Set uclamp.max for some groups, which could indicate cpu importance used in scheduling write /proc/vendor_sched/auto_uclamp_max "130 130 130 130 512 512 512 670" write /proc/vendor_sched/groups/bg/uclamp_max 130 @@ -459,18 +424,6 @@ on property:sys.boot_completed=1 write /sys/devices/platform/10840000.pinctrl/power/async "enabled" write /sys/devices/platform/13060000.pinctrl/power/async "enabled" - # Setup cpu.shares to throttle background groups (bg ~ 5% sysbg ~ 5% dex2oat ~2.5%) - write /dev/cpuctl/background/cpu.shares 1024 - write /dev/cpuctl/system-background/cpu.shares 1024 - write /dev/cpuctl/dex2oat/cpu.shares 512 - write /dev/cpuctl/system/cpu.shares 20480 - # We only have system and background groups holding tasks and the groups below are empty - write /dev/cpuctl/camera-daemon/cpu.shares 20480 - write /dev/cpuctl/foreground/cpu.shares 20480 - write /dev/cpuctl/nnapi-hal/cpu.shares 20480 - write /dev/cpuctl/rt/cpu.shares 20480 - write /dev/cpuctl/top-app/cpu.shares 20480 - # gvotables for dumpstate chown system system /sys/kernel/debug/gvotables diff --git a/conf/init.zumapro.soc.rc b/conf/init.zumapro.soc.rc index f77d0f3..995866e 100644 --- a/conf/init.zumapro.soc.rc +++ b/conf/init.zumapro.soc.rc @@ -71,12 +71,6 @@ on init write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware 2 write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware 2 - # change permissions and default values for camera-daemon cpu controller - chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.min - chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max - chown root root /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive - chown system system /dev/cpuctl/camera-daemon/cgroup.procs - mkdir /dev/cpuset/camera-daemon-high-group write /dev/cpuset/camera-daemon-high-group/cpus 0-7 write /dev/cpuset/camera-daemon-high-group/mems 0 @@ -213,16 +207,6 @@ on property:sys.boot_completed=1 write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/limit_frequency 2363000 write /proc/vendor_sched/pmu_poll_time 10 - # Disable PMU freq limit - write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable 1 - write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable 1 - write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/pmu_limit_enable 1 - write /proc/vendor_sched/pmu_poll_enable 0 - - # Set priority task name and boost value - write /proc/vendor_sched/priority_task_name "ExoPlayer:Place" - write /proc/vendor_sched/priority_task_boost_value 742 - # To be removed after InputDispatche and InputReader become ADPF write /proc/vendor_sched/prefer_idle_task_name "InputDispatcher,InputReader" From 4b3b1420ec21bbc0cf49916358b7ec63891146c3 Mon Sep 17 00:00:00 2001 From: Pawan Wagh Date: Tue, 14 Jan 2025 00:53:32 +0000 Subject: [PATCH 14/29] Move 16 KB dev option configs Move developer option configs from device-* file to BoardConfig-* file. This has led to incorrect value propagation to ufs targets. Flag: EXEMPT bug_fix Test: atest Enable16KbTest Bug: 376267923 Change-Id: Ib4fbaba52daba50db98edee898785e92a44ca71c --- BoardConfig-16k-common.mk | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/BoardConfig-16k-common.mk b/BoardConfig-16k-common.mk index 229248d..67a012a 100644 --- a/BoardConfig-16k-common.mk +++ b/BoardConfig-16k-common.mk @@ -16,4 +16,35 @@ ifeq ($(TARGET_BOOTS_16K),true) BOARD_F2FS_BLOCKSIZE := 16384 +# Configures the 16kb kernel directory. +TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb + +else ifeq ($(PRODUCT_16K_DEVELOPER_OPTION),true) +# Configures the 16kb kernel and modules for OTA updates. +TARGET_KERNEL_DIR_16K := $(TARGET_KERNEL_DIR)/16kb +BOARD_KERNEL_PATH_16K := $(TARGET_KERNEL_DIR_16K)/Image.lz4 + +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_kernel_boot.modules.load) +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/system_dlkm.modules.load) +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_dlkm.modules.load) +BOARD_KERNEL_MODULES_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(TARGET_KERNEL_DIR_16K)/$(notdir $(module))) +BOARD_PREBUILT_DTBOIMAGE_16KB := $(TARGET_KERNEL_DIR_16K)/dtbo.img + +# The 16kb mode does not use these modules. +BOARD_KERNEL_MODULES_16K := $(filter-out %/bcm_dbg.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/zram.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/aoc_unit_test_dev.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/gs-panel-common-test.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/mali_kutf.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/mali_kutf_clk_rate_trace_test_portal.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/panel-gs-tk4c-test.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/pwm-exynos.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/rt4539_bl.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/sec_touch.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/sscoredump_sample_test.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/sscoredump_test.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(notdir $(module))) + +BOARD_16K_OTA_USE_INCREMENTAL := true +BOARD_16K_OTA_MOVE_VENDOR := true endif From b8d3c0def1d52c2c8573c5c9ec7a78cf024f5ba4 Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Thu, 26 Dec 2024 22:30:05 +0000 Subject: [PATCH 15/29] thermal: support low power mode prop switch Add lower power mode property toggle to switch thermal hal config Bug: 363070211 Test: toggle property to confirm thermal config switch Flag: EXEMPT test only Change-Id: I932c8d29e2a0eb939ab8f8f7c4c79d02153f49eb --- conf/init.zumapro.board.rc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index 7378d9b..0b2b6cf 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -627,6 +627,14 @@ on property:vendor.thermal.link_ready=1 chown system system /dev/thermal/cdev-by-name/thermal-uclamp-4/cur_state chown system system /dev/thermal/cdev-by-name/thermal-uclamp-7/cur_state +on property:vendor.thermal.link_ready=1 && property:vendor.pixel.system.phenotype.Thermal__shutdown_exp_enabled=true + setprop vendor.thermal.config "thermal_info_config_lpm.json" + restart vendor.thermal-hal + +on property:vendor.thermal.link_ready=1 && property:vendor.pixel.system.phenotype.Thermal__shutdown_exp_enabled=false + setprop vendor.thermal.config "thermal_info_config.json" + restart vendor.thermal-hal + on charger # Use charger thermal config setprop vendor.thermal.config "thermal_info_config_charge.json" From bed3a2145731cf7bc6455a0ee2926079dc81a073 Mon Sep 17 00:00:00 2001 From: Satish Yalla Date: Wed, 15 Jan 2025 20:33:59 -0800 Subject: [PATCH 16/29] Revert "Move 16 KB dev option configs" Revert submission 31286550-fix_16kb_dir_and_ufs_targets Reason for revert: Droidmonitor created revert due to b/390233619 .Will be verified through ABTD for standarrd investigation. Reverted changes: /q/submissionid:31286550-fix_16kb_dir_and_ufs_targets Change-Id: I89195cb7a33dd13af12ee67f13c9d7dc0dfa94f5 --- BoardConfig-16k-common.mk | 31 ------------------------------- 1 file changed, 31 deletions(-) diff --git a/BoardConfig-16k-common.mk b/BoardConfig-16k-common.mk index 67a012a..229248d 100644 --- a/BoardConfig-16k-common.mk +++ b/BoardConfig-16k-common.mk @@ -16,35 +16,4 @@ ifeq ($(TARGET_BOOTS_16K),true) BOARD_F2FS_BLOCKSIZE := 16384 -# Configures the 16kb kernel directory. -TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb - -else ifeq ($(PRODUCT_16K_DEVELOPER_OPTION),true) -# Configures the 16kb kernel and modules for OTA updates. -TARGET_KERNEL_DIR_16K := $(TARGET_KERNEL_DIR)/16kb -BOARD_KERNEL_PATH_16K := $(TARGET_KERNEL_DIR_16K)/Image.lz4 - -BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_kernel_boot.modules.load) -BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/system_dlkm.modules.load) -BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_dlkm.modules.load) -BOARD_KERNEL_MODULES_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(TARGET_KERNEL_DIR_16K)/$(notdir $(module))) -BOARD_PREBUILT_DTBOIMAGE_16KB := $(TARGET_KERNEL_DIR_16K)/dtbo.img - -# The 16kb mode does not use these modules. -BOARD_KERNEL_MODULES_16K := $(filter-out %/bcm_dbg.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/zram.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/aoc_unit_test_dev.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/gs-panel-common-test.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/mali_kutf.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/mali_kutf_clk_rate_trace_test_portal.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/panel-gs-tk4c-test.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/pwm-exynos.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/rt4539_bl.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/sec_touch.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/sscoredump_sample_test.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_16K := $(filter-out %/sscoredump_test.ko,$(BOARD_KERNEL_MODULES_16K)) -BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(notdir $(module))) - -BOARD_16K_OTA_USE_INCREMENTAL := true -BOARD_16K_OTA_MOVE_VENDOR := true endif From 69ecd388ae418af6a750d5558c96d641c3d1971f Mon Sep 17 00:00:00 2001 From: Pawan Wagh Date: Thu, 16 Jan 2025 09:53:32 -0800 Subject: [PATCH 17/29] Revert^2 "Move 16 KB dev option configs" bed3a2145731cf7bc6455a0ee2926079dc81a073 Change-Id: I21d773fce50064e3fadb3e3fd78cb3a6306431e5 --- BoardConfig-16k-common.mk | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/BoardConfig-16k-common.mk b/BoardConfig-16k-common.mk index 229248d..67a012a 100644 --- a/BoardConfig-16k-common.mk +++ b/BoardConfig-16k-common.mk @@ -16,4 +16,35 @@ ifeq ($(TARGET_BOOTS_16K),true) BOARD_F2FS_BLOCKSIZE := 16384 +# Configures the 16kb kernel directory. +TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb + +else ifeq ($(PRODUCT_16K_DEVELOPER_OPTION),true) +# Configures the 16kb kernel and modules for OTA updates. +TARGET_KERNEL_DIR_16K := $(TARGET_KERNEL_DIR)/16kb +BOARD_KERNEL_PATH_16K := $(TARGET_KERNEL_DIR_16K)/Image.lz4 + +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_kernel_boot.modules.load) +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/system_dlkm.modules.load) +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_dlkm.modules.load) +BOARD_KERNEL_MODULES_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(TARGET_KERNEL_DIR_16K)/$(notdir $(module))) +BOARD_PREBUILT_DTBOIMAGE_16KB := $(TARGET_KERNEL_DIR_16K)/dtbo.img + +# The 16kb mode does not use these modules. +BOARD_KERNEL_MODULES_16K := $(filter-out %/bcm_dbg.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/zram.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/aoc_unit_test_dev.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/gs-panel-common-test.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/mali_kutf.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/mali_kutf_clk_rate_trace_test_portal.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/panel-gs-tk4c-test.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/pwm-exynos.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/rt4539_bl.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/sec_touch.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/sscoredump_sample_test.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_16K := $(filter-out %/sscoredump_test.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(notdir $(module))) + +BOARD_16K_OTA_USE_INCREMENTAL := true +BOARD_16K_OTA_MOVE_VENDOR := true endif From 571ff2a4b325787fe535a52329940f591fc51d56 Mon Sep 17 00:00:00 2001 From: Vilas Bhat Date: Mon, 6 Jan 2025 10:11:15 +0000 Subject: [PATCH 18/29] 16KB: zumapro: Move copy_efs_file_to_data script to gs-common Bug: 383151792 Flag: EXEMPT bugfix Test: Enable16kbTest on Pixel 9 target Fingerprint and Phone Calls work in 16 KB mode Change-Id: Iaf36d4f7d1b6b2de4d4e66d75335805c50193419 --- Android.bp | 10 ---------- copy_efs_files_to_data.sh | 39 --------------------------------------- device.mk | 2 +- 3 files changed, 1 insertion(+), 50 deletions(-) delete mode 100644 copy_efs_files_to_data.sh diff --git a/Android.bp b/Android.bp index b79b895..7156389 100644 --- a/Android.bp +++ b/Android.bp @@ -41,13 +41,3 @@ sh_binary { vendor: true, sub_dir: "hw", } - -// Filesystem: Copy the content of the efs/efs_backup/modem_userdata/persist -// partitions to /data partition so that they can be accessed by 16kb kernels. -// By default, these partitions are F2FS formatted with 4kb block size, -// which can't be mounted by 16kb kernels. -sh_binary { - name: "copy_efs_files_to_data", - src: "copy_efs_files_to_data.sh", - vendor: true, -} diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh deleted file mode 100644 index b6b7a9d..0000000 --- a/copy_efs_files_to_data.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/vendor/bin/sh - -CHECKPOINT_DIR=/data/vendor/copied - -export BIN_DIR=/vendor/bin - -$BIN_DIR/mkdir -p $CHECKPOINT_DIR - -function copy_files_to_data() -{ - block_device=$1 - partition_name=$(basename $1) - mount_point=$2 - tmpdir=$CHECKPOINT_DIR/$partition_name.img - build_checkpoint=$CHECKPOINT_DIR/$partition_name - if [ ! -e $build_checkpoint ]; then - $BIN_DIR/rm -rf $tmpdir - $BIN_DIR/mkdir -p $tmpdir - $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device - if [ $? -ne 0 ]; then - echo "Failed to $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device" - return - fi - $BIN_DIR/mv $tmpdir $build_checkpoint - if [ $? -ne 0 ]; then - echo "mv $tmpdir $build_checkpoint" - return - fi - $BIN_DIR/fsync `dirname $build_checkpoint` - fi - echo "Successfully copied $mount_point to $build_checkpoint" -} - -copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" -copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" -copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" -copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist" - -$BIN_DIR/fsync /data/vendor/copied diff --git a/device.mk b/device.mk index c6e3263..4f17979 100644 --- a/device.mk +++ b/device.mk @@ -45,6 +45,7 @@ include device/google/gs-common/bootctrl/bootctrl_aidl.mk include device/google/gs-common/betterbug/betterbug.mk include device/google/gs-common/recorder/recorder.mk include device/google/gs-common/fingerprint/fingerprint.mk +include device/google/gs-common/16kb/16kb.mk include device/google/zumapro/dumpstate/item.mk @@ -491,7 +492,6 @@ PRODUCT_COPY_FILES += \ device/google/zumapro/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc \ device/google/zumapro/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data -PRODUCT_PACKAGES += copy_efs_files_to_data PRODUCT_PACKAGES += fsck.f2fs.vendor else PRODUCT_COPY_FILES += \ From 34e1162d09f359d40119d702efb2cd214cbc3813 Mon Sep 17 00:00:00 2001 From: "Priyanka Advani (xWF)" Date: Thu, 16 Jan 2025 16:50:35 -0800 Subject: [PATCH 19/29] Revert "16KB: zumapro: Move copy_efs_file_to_data script to gs-c..." Revert submission 31155502-move_copy_efs_script Reason for revert: Droidmonitor created revert due to b/390502519. Will be verifying through ABTD before submission. Reverted changes: /q/submissionid:31155502-move_copy_efs_script Change-Id: Ic090ed513bffba5abcea6e56194af71c41e880b2 --- Android.bp | 10 ++++++++++ copy_efs_files_to_data.sh | 39 +++++++++++++++++++++++++++++++++++++++ device.mk | 2 +- 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 copy_efs_files_to_data.sh diff --git a/Android.bp b/Android.bp index 7156389..b79b895 100644 --- a/Android.bp +++ b/Android.bp @@ -41,3 +41,13 @@ sh_binary { vendor: true, sub_dir: "hw", } + +// Filesystem: Copy the content of the efs/efs_backup/modem_userdata/persist +// partitions to /data partition so that they can be accessed by 16kb kernels. +// By default, these partitions are F2FS formatted with 4kb block size, +// which can't be mounted by 16kb kernels. +sh_binary { + name: "copy_efs_files_to_data", + src: "copy_efs_files_to_data.sh", + vendor: true, +} diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh new file mode 100644 index 0000000..b6b7a9d --- /dev/null +++ b/copy_efs_files_to_data.sh @@ -0,0 +1,39 @@ +#!/vendor/bin/sh + +CHECKPOINT_DIR=/data/vendor/copied + +export BIN_DIR=/vendor/bin + +$BIN_DIR/mkdir -p $CHECKPOINT_DIR + +function copy_files_to_data() +{ + block_device=$1 + partition_name=$(basename $1) + mount_point=$2 + tmpdir=$CHECKPOINT_DIR/$partition_name.img + build_checkpoint=$CHECKPOINT_DIR/$partition_name + if [ ! -e $build_checkpoint ]; then + $BIN_DIR/rm -rf $tmpdir + $BIN_DIR/mkdir -p $tmpdir + $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device + if [ $? -ne 0 ]; then + echo "Failed to $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device" + return + fi + $BIN_DIR/mv $tmpdir $build_checkpoint + if [ $? -ne 0 ]; then + echo "mv $tmpdir $build_checkpoint" + return + fi + $BIN_DIR/fsync `dirname $build_checkpoint` + fi + echo "Successfully copied $mount_point to $build_checkpoint" +} + +copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" +copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" +copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" +copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist" + +$BIN_DIR/fsync /data/vendor/copied diff --git a/device.mk b/device.mk index 4f17979..c6e3263 100644 --- a/device.mk +++ b/device.mk @@ -45,7 +45,6 @@ include device/google/gs-common/bootctrl/bootctrl_aidl.mk include device/google/gs-common/betterbug/betterbug.mk include device/google/gs-common/recorder/recorder.mk include device/google/gs-common/fingerprint/fingerprint.mk -include device/google/gs-common/16kb/16kb.mk include device/google/zumapro/dumpstate/item.mk @@ -492,6 +491,7 @@ PRODUCT_COPY_FILES += \ device/google/zumapro/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc \ device/google/zumapro/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data +PRODUCT_PACKAGES += copy_efs_files_to_data PRODUCT_PACKAGES += fsck.f2fs.vendor else PRODUCT_COPY_FILES += \ From 3e5659f25bd22fd5b68f51edca5d87238d703fa9 Mon Sep 17 00:00:00 2001 From: Vilas Bhat Date: Thu, 16 Jan 2025 17:01:13 -0800 Subject: [PATCH 20/29] Revert "Revert "16KB: zumapro: Move copy_efs_file_to_data script..." Revert submission 31345232-revert-31155502-move_copy_efs_script-IXYVMGOHBR Reason for revert: Re-submitting with fix for breaking target Reverted changes: /q/submissionid:31345232-revert-31155502-move_copy_efs_script-IXYVMGOHBR Change-Id: Ic262b24226cc4c8cc9a5c66a7d284422761caea3 Bug: 383151792 Flag: EXEMPT bugfix --- Android.bp | 10 ---------- copy_efs_files_to_data.sh | 39 --------------------------------------- device.mk | 2 +- 3 files changed, 1 insertion(+), 50 deletions(-) delete mode 100644 copy_efs_files_to_data.sh diff --git a/Android.bp b/Android.bp index b79b895..7156389 100644 --- a/Android.bp +++ b/Android.bp @@ -41,13 +41,3 @@ sh_binary { vendor: true, sub_dir: "hw", } - -// Filesystem: Copy the content of the efs/efs_backup/modem_userdata/persist -// partitions to /data partition so that they can be accessed by 16kb kernels. -// By default, these partitions are F2FS formatted with 4kb block size, -// which can't be mounted by 16kb kernels. -sh_binary { - name: "copy_efs_files_to_data", - src: "copy_efs_files_to_data.sh", - vendor: true, -} diff --git a/copy_efs_files_to_data.sh b/copy_efs_files_to_data.sh deleted file mode 100644 index b6b7a9d..0000000 --- a/copy_efs_files_to_data.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/vendor/bin/sh - -CHECKPOINT_DIR=/data/vendor/copied - -export BIN_DIR=/vendor/bin - -$BIN_DIR/mkdir -p $CHECKPOINT_DIR - -function copy_files_to_data() -{ - block_device=$1 - partition_name=$(basename $1) - mount_point=$2 - tmpdir=$CHECKPOINT_DIR/$partition_name.img - build_checkpoint=$CHECKPOINT_DIR/$partition_name - if [ ! -e $build_checkpoint ]; then - $BIN_DIR/rm -rf $tmpdir - $BIN_DIR/mkdir -p $tmpdir - $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device - if [ $? -ne 0 ]; then - echo "Failed to $BIN_DIR/dump.f2fs -rfPo $tmpdir $block_device" - return - fi - $BIN_DIR/mv $tmpdir $build_checkpoint - if [ $? -ne 0 ]; then - echo "mv $tmpdir $build_checkpoint" - return - fi - $BIN_DIR/fsync `dirname $build_checkpoint` - fi - echo "Successfully copied $mount_point to $build_checkpoint" -} - -copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs" -copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup" -copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata" -copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist" - -$BIN_DIR/fsync /data/vendor/copied diff --git a/device.mk b/device.mk index c6e3263..4f17979 100644 --- a/device.mk +++ b/device.mk @@ -45,6 +45,7 @@ include device/google/gs-common/bootctrl/bootctrl_aidl.mk include device/google/gs-common/betterbug/betterbug.mk include device/google/gs-common/recorder/recorder.mk include device/google/gs-common/fingerprint/fingerprint.mk +include device/google/gs-common/16kb/16kb.mk include device/google/zumapro/dumpstate/item.mk @@ -491,7 +492,6 @@ PRODUCT_COPY_FILES += \ device/google/zumapro/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.efs.rc \ device/google/zumapro/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data -PRODUCT_PACKAGES += copy_efs_files_to_data PRODUCT_PACKAGES += fsck.f2fs.vendor else PRODUCT_COPY_FILES += \ From f1e2f154d690a65b07b179626804e38f5e89fe74 Mon Sep 17 00:00:00 2001 From: Piotr Klasa Date: Fri, 17 Jan 2025 09:05:39 -0800 Subject: [PATCH 21/29] Revert "move common init perf settings to gs_common" Revert submission 31215196-move_common_init_perf_settings_to_gscommon Reason for revert: Power Regression Bug: 390502171 Reverted changes: /q/submissionid:31215196-move_common_init_perf_settings_to_gscommon Change-Id: I833a06e6e0b4bda120ac107e17360f9c0d0c1dfa --- conf/init.zumapro.board.rc | 47 ++++++++++++++++++++++++++++++++++++++ conf/init.zumapro.soc.rc | 16 +++++++++++++ 2 files changed, 63 insertions(+) diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index 9bc0e47..b3119bc 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -13,6 +13,8 @@ on init # CPU0 cannot be offline chmod 0444 /sys/devices/system/cpu/cpu0/online + # Set teo as cpu idle governor + write /sys/devices/system/cpu/cpuidle/current_governor teo # Disable util-awareness for mids and bigs write /proc/vendor_sched/teo_util_threshold "2 1024 1024" @@ -58,6 +60,14 @@ on init write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe + # RT uclamp setting + write /proc/sys/kernel/sched_util_clamp_min_rt_default 0 + + write /proc/vendor_sched/groups/cam/prefer_idle 1 + write /proc/vendor_sched/groups/cam/uclamp_min 1 + + chown system system /dev/cpuset/cgroup.procs + # nanohub sensor chmod 0664 /dev/nanohub chmod 0664 /dev/nanohub_comms @@ -70,6 +80,10 @@ on init # Power Stats HAL chown system system /dev/bbd_pwrstat + # Add a boost for NNAPI HAL + write /proc/vendor_sched/groups/nnapi/prefer_idle 0 + write /proc/vendor_sched/groups/nnapi/uclamp_min 512 + # Set boost_adpf_prio, -1 by default write /proc/vendor_sched/boost_adpf_prio ${persist.device_config.vendor_system_native_boot.boost_adpf_prio:--1} @@ -406,6 +420,27 @@ on property:sys.boot_completed=1 # Cancel boot devfreq write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1 + # Setup scheduler parameters + write /proc/vendor_sched/min_granularity_ns 1000000 + write /proc/vendor_sched/latency_ns 8000000 + write /proc/vendor_sched/max_load_balance_interval 1 + write /proc/vendor_sched/enable_hrtick 1 + + # Setup final cpu.uclamp + write /proc/vendor_sched/groups/ta/uclamp_min 1 + write /proc/vendor_sched/groups/fg/uclamp_min 0 + write /proc/vendor_sched/groups/sys/prefer_idle 0 + + # Set ug group + write /proc/vendor_sched/groups/bg/ug 0 + write /proc/vendor_sched/groups/sys_bg/ug 0 + write /proc/vendor_sched/groups/ota/ug 0 + write /proc/vendor_sched/groups/dex2oat/ug 1 + write /proc/vendor_sched/groups/ta/ug 1 + + # Set bg group throttle + write /proc/vendor_sched/ug_bg_group_throttle ${persist.device_config.vendor_system_native.ug_bg_group_throttle:-308} + # Set uclamp.max for some groups, which could indicate cpu importance used in scheduling write /proc/vendor_sched/auto_uclamp_max "130 130 130 130 512 512 512 670" write /proc/vendor_sched/groups/bg/uclamp_max 130 @@ -424,6 +459,18 @@ on property:sys.boot_completed=1 write /sys/devices/platform/10840000.pinctrl/power/async "enabled" write /sys/devices/platform/13060000.pinctrl/power/async "enabled" + # Setup cpu.shares to throttle background groups (bg ~ 5% sysbg ~ 5% dex2oat ~2.5%) + write /dev/cpuctl/background/cpu.shares 1024 + write /dev/cpuctl/system-background/cpu.shares 1024 + write /dev/cpuctl/dex2oat/cpu.shares 512 + write /dev/cpuctl/system/cpu.shares 20480 + # We only have system and background groups holding tasks and the groups below are empty + write /dev/cpuctl/camera-daemon/cpu.shares 20480 + write /dev/cpuctl/foreground/cpu.shares 20480 + write /dev/cpuctl/nnapi-hal/cpu.shares 20480 + write /dev/cpuctl/rt/cpu.shares 20480 + write /dev/cpuctl/top-app/cpu.shares 20480 + # gvotables for dumpstate chown system system /sys/kernel/debug/gvotables diff --git a/conf/init.zumapro.soc.rc b/conf/init.zumapro.soc.rc index 995866e..f77d0f3 100644 --- a/conf/init.zumapro.soc.rc +++ b/conf/init.zumapro.soc.rc @@ -71,6 +71,12 @@ on init write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware 2 write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware 2 + # change permissions and default values for camera-daemon cpu controller + chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.min + chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max + chown root root /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive + chown system system /dev/cpuctl/camera-daemon/cgroup.procs + mkdir /dev/cpuset/camera-daemon-high-group write /dev/cpuset/camera-daemon-high-group/cpus 0-7 write /dev/cpuset/camera-daemon-high-group/mems 0 @@ -207,6 +213,16 @@ on property:sys.boot_completed=1 write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/limit_frequency 2363000 write /proc/vendor_sched/pmu_poll_time 10 + # Disable PMU freq limit + write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable 1 + write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable 1 + write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/pmu_limit_enable 1 + write /proc/vendor_sched/pmu_poll_enable 0 + + # Set priority task name and boost value + write /proc/vendor_sched/priority_task_name "ExoPlayer:Place" + write /proc/vendor_sched/priority_task_boost_value 742 + # To be removed after InputDispatche and InputReader become ADPF write /proc/vendor_sched/prefer_idle_task_name "InputDispatcher,InputReader" From 855b6298bb80ef842ff87239d7fcb53a1d5df5ef Mon Sep 17 00:00:00 2001 From: Nina Chen Date: Wed, 22 Jan 2025 15:51:39 +0800 Subject: [PATCH 22/29] Include 16k board config only when 16k kernel exist to avoid build breakage with test kernel prebuilts that doesn't have 16kb artifacts in it. Bug: 391282888 Flag: EXEMPT bugfix Change-Id: Idba3154b6f3fc378d788d7e4425f203125e1c3a8 --- BoardConfig-common.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 96b2087..f9ce36c 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -17,7 +17,9 @@ include build/make/target/board/BoardConfigMainlineCommon.mk include build/make/target/board/BoardConfigPixelCommon.mk # Include settings for 16k page size kernel if enabled. +ifneq ($(wildcard $(TARGET_KERNEL_DIR)/16kb/),) include device/google/zumapro/BoardConfig-16k-common.mk +endif # HACK : To fix up after bring up multimedia devices. TARGET_SOC := zumapro From d49b94adde6cbb46897e2cfb20bdd3dff8d7fcb4 Mon Sep 17 00:00:00 2001 From: Piotr Klasa Date: Wed, 22 Jan 2025 11:27:59 +0000 Subject: [PATCH 23/29] move common init perf settings to gs_common MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit compared to ag/31352563 I did not transfer the settings for "write /sys/devices/system/cpu/cpuidle/current_governor teo", which caused the problem Test: Verified if all values ​​of transferred settings are as they should be after rebooting the device, and and checked that there are no new selinux errors for hal_power_default, verified all metrics that caused power regression in the previous commit on abtd Bug: 335874870 Flag: EXEMPT not supported by this component yet Change-Id: If0bdfb529d60633cc5623120eed720c421a735fb --- conf/init.zumapro.board.rc | 45 -------------------------------------- conf/init.zumapro.soc.rc | 16 -------------- 2 files changed, 61 deletions(-) diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index 726a4f6..1690cfe 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -60,14 +60,6 @@ on init write /sys/class/net/rmnet6/queues/rx-0/rps_cpus fe write /sys/class/net/rmnet7/queues/rx-0/rps_cpus fe - # RT uclamp setting - write /proc/sys/kernel/sched_util_clamp_min_rt_default 0 - - write /proc/vendor_sched/groups/cam/prefer_idle 1 - write /proc/vendor_sched/groups/cam/uclamp_min 1 - - chown system system /dev/cpuset/cgroup.procs - # nanohub sensor chmod 0664 /dev/nanohub chmod 0664 /dev/nanohub_comms @@ -80,10 +72,6 @@ on init # Power Stats HAL chown system system /dev/bbd_pwrstat - # Add a boost for NNAPI HAL - write /proc/vendor_sched/groups/nnapi/prefer_idle 0 - write /proc/vendor_sched/groups/nnapi/uclamp_min 512 - # Set boost_adpf_prio, -1 by default write /proc/vendor_sched/boost_adpf_prio ${persist.device_config.vendor_system_native_boot.boost_adpf_prio:--1} @@ -420,27 +408,6 @@ on property:sys.boot_completed=1 # Cancel boot devfreq write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1 - # Setup scheduler parameters - write /proc/vendor_sched/min_granularity_ns 1000000 - write /proc/vendor_sched/latency_ns 8000000 - write /proc/vendor_sched/max_load_balance_interval 1 - write /proc/vendor_sched/enable_hrtick 1 - - # Setup final cpu.uclamp - write /proc/vendor_sched/groups/ta/uclamp_min 1 - write /proc/vendor_sched/groups/fg/uclamp_min 0 - write /proc/vendor_sched/groups/sys/prefer_idle 0 - - # Set ug group - write /proc/vendor_sched/groups/bg/ug 0 - write /proc/vendor_sched/groups/sys_bg/ug 0 - write /proc/vendor_sched/groups/ota/ug 0 - write /proc/vendor_sched/groups/dex2oat/ug 1 - write /proc/vendor_sched/groups/ta/ug 1 - - # Set bg group throttle - write /proc/vendor_sched/ug_bg_group_throttle ${persist.device_config.vendor_system_native.ug_bg_group_throttle:-308} - # Set uclamp.max for some groups, which could indicate cpu importance used in scheduling write /proc/vendor_sched/auto_uclamp_max "130 130 130 130 512 512 512 670" write /proc/vendor_sched/groups/bg/uclamp_max 130 @@ -459,18 +426,6 @@ on property:sys.boot_completed=1 write /sys/devices/platform/10840000.pinctrl/power/async "enabled" write /sys/devices/platform/13060000.pinctrl/power/async "enabled" - # Setup cpu.shares to throttle background groups (bg ~ 5% sysbg ~ 5% dex2oat ~2.5%) - write /dev/cpuctl/background/cpu.shares 1024 - write /dev/cpuctl/system-background/cpu.shares 1024 - write /dev/cpuctl/dex2oat/cpu.shares 512 - write /dev/cpuctl/system/cpu.shares 20480 - # We only have system and background groups holding tasks and the groups below are empty - write /dev/cpuctl/camera-daemon/cpu.shares 20480 - write /dev/cpuctl/foreground/cpu.shares 20480 - write /dev/cpuctl/nnapi-hal/cpu.shares 20480 - write /dev/cpuctl/rt/cpu.shares 20480 - write /dev/cpuctl/top-app/cpu.shares 20480 - # gvotables for dumpstate chown system system /sys/kernel/debug/gvotables diff --git a/conf/init.zumapro.soc.rc b/conf/init.zumapro.soc.rc index f77d0f3..995866e 100644 --- a/conf/init.zumapro.soc.rc +++ b/conf/init.zumapro.soc.rc @@ -71,12 +71,6 @@ on init write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu6_memlat@17000010/memlat_cpuidle_state_aware 2 write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cpu7_memlat@17000010/memlat_cpuidle_state_aware 2 - # change permissions and default values for camera-daemon cpu controller - chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.min - chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max - chown root root /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive - chown system system /dev/cpuctl/camera-daemon/cgroup.procs - mkdir /dev/cpuset/camera-daemon-high-group write /dev/cpuset/camera-daemon-high-group/cpus 0-7 write /dev/cpuset/camera-daemon-high-group/mems 0 @@ -213,16 +207,6 @@ on property:sys.boot_completed=1 write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/limit_frequency 2363000 write /proc/vendor_sched/pmu_poll_time 10 - # Disable PMU freq limit - write /sys/devices/system/cpu/cpufreq/policy0/sched_pixel/pmu_limit_enable 1 - write /sys/devices/system/cpu/cpufreq/policy4/sched_pixel/pmu_limit_enable 1 - write /sys/devices/system/cpu/cpufreq/policy7/sched_pixel/pmu_limit_enable 1 - write /proc/vendor_sched/pmu_poll_enable 0 - - # Set priority task name and boost value - write /proc/vendor_sched/priority_task_name "ExoPlayer:Place" - write /proc/vendor_sched/priority_task_boost_value 742 - # To be removed after InputDispatche and InputReader become ADPF write /proc/vendor_sched/prefer_idle_task_name "InputDispatcher,InputReader" From bde78c822c4e8660f02cc1f43ea8e4aa570256cf Mon Sep 17 00:00:00 2001 From: Qais Yousef Date: Mon, 27 Jan 2025 18:25:27 +0000 Subject: [PATCH 24/29] init.zumapro.soc.rc: Delete rampup and util_est setup They are now in a common init file. Bug: 335874870 Flag: EXEMPT not supported for init.rc files Signed-off-by: Qais Yousef Change-Id: I926ffd1cb01b8ee331737c0c335da67eefe76bcc --- conf/init.zumapro.soc.rc | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/conf/init.zumapro.soc.rc b/conf/init.zumapro.soc.rc index 995866e..4ec131b 100644 --- a/conf/init.zumapro.soc.rc +++ b/conf/init.zumapro.soc.rc @@ -30,35 +30,6 @@ on init # Make sure little core don't go below 820MHz write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 820000 - write /proc/vendor_sched/groups/bg/rampup_multiplier 0 - write /proc/vendor_sched/groups/cam/rampup_multiplier 1 - write /proc/vendor_sched/groups/cam_power/rampup_multiplier 1 - write /proc/vendor_sched/groups/dex2oat/rampup_multiplier 0 - write /proc/vendor_sched/groups/fg/rampup_multiplier 0 - write /proc/vendor_sched/groups/fg_wi/rampup_multiplier 1 - write /proc/vendor_sched/groups/nnapi/rampup_multiplier 0 - write /proc/vendor_sched/groups/ota/rampup_multiplier 0 - write /proc/vendor_sched/groups/rt/rampup_multiplier 0 - write /proc/vendor_sched/groups/sf/rampup_multiplier 1 - write /proc/vendor_sched/groups/sys/rampup_multiplier 0 - write /proc/vendor_sched/groups/sys_bg/rampup_multiplier 0 - write /proc/vendor_sched/groups/ta/rampup_multiplier 1 - write /proc/vendor_sched/adpf_rampup_multiplier 2 - - write /proc/vendor_sched/groups/bg/disable_util_est 1 - write /proc/vendor_sched/groups/cam/disable_util_est 0 - write /proc/vendor_sched/groups/cam_power/disable_util_est 0 - write /proc/vendor_sched/groups/dex2oat/disable_util_est 1 - write /proc/vendor_sched/groups/fg/disable_util_est 1 - write /proc/vendor_sched/groups/fg_wi/disable_util_est 0 - write /proc/vendor_sched/groups/nnapi/disable_util_est 1 - write /proc/vendor_sched/groups/ota/disable_util_est 1 - write /proc/vendor_sched/groups/rt/disable_util_est 1 - write /proc/vendor_sched/groups/sf/disable_util_est 0 - write /proc/vendor_sched/groups/sys/disable_util_est 1 - write /proc/vendor_sched/groups/sys_bg/disable_util_est 1 - write /proc/vendor_sched/groups/ta/disable_util_est 0 - # memlat cpuidle awareness setting # FIXME(b/301212469) these nodes missing on zuma pro # TODO(b/308973423) these values need to be tuned From 06242027927c643b6b30bca68c01ea36865a348e Mon Sep 17 00:00:00 2001 From: Masha Chizhova Date: Tue, 28 Jan 2025 16:39:25 +0000 Subject: [PATCH 25/29] Use 2025-03-01 deqp levels for GLES and Vulkan Bug: 392805030 Flag: EXEMPT version updates Change-Id: Icadd912c65560dc736b88fa56204feb5c5b9a56e --- device.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/device.mk b/device.mk index b951b00..07c6cc4 100644 --- a/device.mk +++ b/device.mk @@ -414,8 +414,8 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ - frameworks/native/data/etc/android.software.vulkan.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ - frameworks/native/data/etc/android.software.opengles.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml + frameworks/native/data/etc/android.software.vulkan.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ + frameworks/native/data/etc/android.software.opengles.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml #endif From af321b746f69e4497465b2105452ee1b525ce948 Mon Sep 17 00:00:00 2001 From: "Priyanka Advani (xWF)" Date: Thu, 30 Jan 2025 10:53:05 -0800 Subject: [PATCH 26/29] Revert "Use 2025-03-01 deqp levels for GLES and Vulkan" Revert submission 31488081-deqp-2025-03-01 Reason for revert: Droidmonitor created revert due to b/393355394. Will be verifying through ABTD before submission. Reverted changes: /q/submissionid:31488081-deqp-2025-03-01 Change-Id: Ia4a5ab47858b95d6c8c1d31305ff41183dd029ba --- device.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/device.mk b/device.mk index 07c6cc4..b951b00 100644 --- a/device.mk +++ b/device.mk @@ -414,8 +414,8 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ - frameworks/native/data/etc/android.software.vulkan.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ - frameworks/native/data/etc/android.software.opengles.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml + frameworks/native/data/etc/android.software.vulkan.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ + frameworks/native/data/etc/android.software.opengles.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml #endif From b7a9ea23e9cd2dbb3501df6a07ac2ef1482861d1 Mon Sep 17 00:00:00 2001 From: Masha Chizhova Date: Fri, 31 Jan 2025 11:53:45 +0000 Subject: [PATCH 27/29] Use 2025-03-01 deqp levels for Vulkan Bug: 392805030 Flag: EXEMPT version updates Change-Id: I2bc2eef01ed743c1868796b2430439c6af80dfdb --- device.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device.mk b/device.mk index b951b00..e0d939a 100644 --- a/device.mk +++ b/device.mk @@ -414,7 +414,7 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ - frameworks/native/data/etc/android.software.vulkan.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ + frameworks/native/data/etc/android.software.vulkan.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ frameworks/native/data/etc/android.software.opengles.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml #endif From a136817af0f64ed2f5905803064d0cd3b0f53c07 Mon Sep 17 00:00:00 2001 From: Masha Chizhova Date: Mon, 3 Feb 2025 11:01:28 +0000 Subject: [PATCH 28/29] Use 2025-03-01 deqp level for GLES Bug: 392805030 Flag: EXEMPT version updates Change-Id: Ide52672bf15ca2a4c27a917b38476f1cd3acd086 --- device.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device.mk b/device.mk index e0d939a..07c6cc4 100644 --- a/device.mk +++ b/device.mk @@ -415,7 +415,7 @@ PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \ frameworks/native/data/etc/android.software.vulkan.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ - frameworks/native/data/etc/android.software.opengles.deqp.level-2024-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml + frameworks/native/data/etc/android.software.opengles.deqp.level-2025-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml #endif From 686b8b64532d5fbc386578860966f1ee8f4f25ee Mon Sep 17 00:00:00 2001 From: Jerry Huang Date: Tue, 4 Feb 2025 10:41:30 +0000 Subject: [PATCH 29/29] zumapro: fine tune c2.android.av1-dav1d.decoder for 25Q1 Bug: 388044420 Test: MctsMediaDecoderTestCases android.media.decoder.cts.VideoDecoderPerfTest Flag: EXEMPT bugfix Change-Id: I0d331f7fa362c98ccee8c1e4e861ff9fc22f7fb2 --- media_codecs_performance_c2.xml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/media_codecs_performance_c2.xml b/media_codecs_performance_c2.xml index 67ca505..a3fbb58 100644 --- a/media_codecs_performance_c2.xml +++ b/media_codecs_performance_c2.xml @@ -172,10 +172,11 @@ - - - - + + + + +