From 90782c62620b1525447edb79d9411b91f0e041ca Mon Sep 17 00:00:00 2001 From: Nathan Kulczak Date: Fri, 22 Nov 2024 06:30:23 +0000 Subject: [PATCH 01/42] Vibrator: Add permissions for owt_lib_compat Add permissions to access owt_lib_compat sysfs attribute Bug: 346570576 Flag: vendor.vibrator.hal.flags.enable_pwle_v2 Test: Flash to device and access sysfs Change-Id: I2c59c3328f65343e4cefdb675de2ad630916f9b2 Signed-off-by: Nathan Kulczak --- conf/init.zumapro.board.rc | 1 + 1 file changed, 1 insertion(+) diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index e99251c..a4f9a3e 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -744,6 +744,7 @@ on property:vendor.all.modules.ready=1 chown system system /sys/bus/i2c/devices/9-0043/default/braking_time_ms chown system system /sys/bus/i2c/devices/9-0043/default/f0_offset chown system system /sys/bus/i2c/devices/9-0043/default/owt_free_space + chown system system /sys/bus/i2c/devices/9-0043/default/owt_lib_compat 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 From 2d0e825be2776b8d9ab7d55cfed56dea3df23045 Mon Sep 17 00:00:00 2001 From: Hung-Yeh Lee Date: Wed, 4 Dec 2024 15:01:06 +0800 Subject: [PATCH 02/42] 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: I418dd4cf834e8a581ae94730c6fc995c99f0db8e --- device.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device.mk b/device.mk index e5aa1a9..522c0ad 100644 --- a/device.mk +++ b/device.mk @@ -31,7 +31,7 @@ include device/google/gs-common/pixel_metrics/pixel_metrics.mk include device/google/gs-common/soc/freq.mk include device/google/gs-common/gps/dump/log.mk include device/google/gs-common/bcmbt/dump/dumplog.mk -include device/google/gs-common/display/dump.mk +include device/google/gs-common/display/dump_exynos_display.mk include device/google/gs-common/display_logbuffer/dump.mk include device/google/gs-common/gxp/gxp.mk include device/google/gs-common/camera/dump.mk From 036b6007f848863ae9139b3d534b6f76b8586131 Mon Sep 17 00:00:00 2001 From: Daniel Lowe Date: Thu, 5 Dec 2024 19:24:37 +0000 Subject: [PATCH 03/42] [Pixel VPN] Apply reviewed default permissions Pregrantting below permissions: READ_PHONE_STATE Flag: EXEMPT add permission pregranted in b/337725984 Bug: 373686360 Test: presubmit, manual install Change-Id: I0d5a3133081afb68ce14fae3a40468c58284f495 --- default-permissions.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/default-permissions.xml b/default-permissions.xml index 8c79c49..687cff4 100644 --- a/default-permissions.xml +++ b/default-permissions.xml @@ -173,5 +173,9 @@ + + + From 4f3d7568c9dde234f7c1eff23029ae3645efa689 Mon Sep 17 00:00:00 2001 From: Roy Luo Date: Mon, 9 Dec 2024 13:23:23 +0000 Subject: [PATCH 04/42] Enable usb state update via udc sysfs Bug: 339241080 Test: tested on Tokay Flag: android.hardware.usb.flags.enable_udc_sysfs_usb_state_update Change-Id: I4ab097745c49f782c143140060607b4e784d5799 --- overlay/frameworks/base/core/res/res/values/config.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 2666950..771e41c 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -554,4 +554,7 @@ false + + + true From 9cc8c2ae4e54f829c0c30bb0c6adb6272939d80b Mon Sep 17 00:00:00 2001 From: youngtaecha Date: Sat, 7 Dec 2024 09:14:58 +0000 Subject: [PATCH 05/42] Add enhanced geofencing data and satelltie access config json for Zuma Pro US(mainland, hawaii, alaska), PuertoRico, Canada, Europe Bug: 362312117 Flag: EXEMPT 'config change' Test: Manually verified if the enhanced geofence file is working well with the satellite_access_config.json file.(b/382816070) Change-Id: I65dec5b1e9602979f102ab34764a8067e54bde05 --- telephony/satellite_access_config.json | 44 ++++++++++++++++++++++--- telephony/sats2.dat | Bin 123194 -> 162414 bytes 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/telephony/satellite_access_config.json b/telephony/satellite_access_config.json index d67b6bb..fd5257e 100644 --- a/telephony/satellite_access_config.json +++ b/telephony/satellite_access_config.json @@ -2,6 +2,42 @@ "access_control_configs": [ { "config_id": 0, + "satellite_infos": [ + { + "satellite_id": "967f8e86-fc27-4673-9343-a820280a14dd", + "satellite_position": { + "longitude": 10.25, + "altitude": 35793.1 + }, + "bands": [ + 256 + ], + "earfcn_ranges": [ + { + "start_earfcn": 229360, + "end_earfcn": 229360 + }, + { + "start_earfcn": 229362, + "end_earfcn": 229362 + }, + { + "start_earfcn": 229364, + "end_earfcn": 229364 + }, + { + "start_earfcn": 229366, + "end_earfcn": 229366 + } + ] + } + ], + "tag_ids": [ + 101 + ] + }, + { + "config_id": 1, "satellite_infos": [ { "satellite_id": "c9d78ffa-ffa5-4d41-a81b-34693b33b496", @@ -38,7 +74,7 @@ ] }, { - "config_id": 1, + "config_id": 2, "satellite_infos": [ { "satellite_id": "62de127d-ead1-481f-8524-b58e2664103a", @@ -63,7 +99,7 @@ ] }, { - "config_id": 2, + "config_id": 3, "satellite_infos": [ { "satellite_id": "62de127d-ead1-481f-8524-b58e2664103a", @@ -91,7 +127,7 @@ ] }, { - "config_id": 3, + "config_id": 4, "satellite_infos": [ { "satellite_id": "c9d78ffa-ffa5-4d41-a81b-34693b33b496", @@ -127,7 +163,7 @@ ] }, { - "config_id": 4, + "config_id": 5, "satellite_infos": [ { "satellite_id": "62de127d-ead1-481f-8524-b58e2664103a", diff --git a/telephony/sats2.dat b/telephony/sats2.dat index dcceffe93bba6a5dff0db962bbcd79b61931a2d2..b06872f9cbc84d9fda4b10f1a1b9c6eefc250434 100644 GIT binary patch delta 61503 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 delta 24596 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 Date: Mon, 9 Dec 2024 13:03:14 +0100 Subject: [PATCH 06/42] Move all vendor_sched parameters and permissions to init.pixel.perf.rc MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: 335874870 Test: Checked that permissions and values ​​for all affected files are correct (ls -l, cat) Flag: EXEMPT not supported by this component yet Change-Id: I56f8ac747a97e866e2a663ab70c141871330ec8f --- conf/init.zumapro.board.rc | 66 --------------------------------- conf/init.zumapro.soc.rc | 76 -------------------------------------- 2 files changed, 142 deletions(-) diff --git a/conf/init.zumapro.board.rc b/conf/init.zumapro.board.rc index 64bc097..7378d9b 100644 --- a/conf/init.zumapro.board.rc +++ b/conf/init.zumapro.board.rc @@ -21,72 +21,6 @@ on init # Boot time fs tuning write /sys/block/sda/queue/scheduler mq-deadline - chown system system /proc/vendor_sched/groups/bg/set_task_group - chown system system /proc/vendor_sched/groups/cam/set_task_group - chown system system /proc/vendor_sched/groups/fg/set_task_group - chown system system /proc/vendor_sched/groups/nnapi/set_task_group - chown system system /proc/vendor_sched/groups/sys/set_task_group - chown system system /proc/vendor_sched/groups/sys_bg/set_task_group - chown system system /proc/vendor_sched/groups/ta/set_task_group - chown system system /proc/vendor_sched/groups/rt/set_task_group - chown system system /proc/vendor_sched/groups/sf/set_task_group - chown system system /proc/vendor_sched/groups/dex2oat/set_task_group - chown system system /proc/vendor_sched/groups/cam_power/set_task_group - chown system system /proc/vendor_sched/groups/ota/set_task_group - chown system system /proc/vendor_sched/groups/fg_wi/set_task_group - chown system system /proc/vendor_sched/groups/bg/set_proc_group - chown system system /proc/vendor_sched/groups/cam/set_proc_group - chown system system /proc/vendor_sched/groups/fg/set_proc_group - chown system system /proc/vendor_sched/groups/nnapi/set_proc_group - chown system system /proc/vendor_sched/groups/sys/set_proc_group - chown system system /proc/vendor_sched/groups/sys_bg/set_proc_group - chown system system /proc/vendor_sched/groups/ta/set_proc_group - chown system system /proc/vendor_sched/groups/rt/set_proc_group - chown system system /proc/vendor_sched/groups/sf/set_proc_group - chown system system /proc/vendor_sched/groups/dex2oat/set_proc_group - chown system system /proc/vendor_sched/groups/cam_power/set_proc_group - chown system system /proc/vendor_sched/groups/ota/set_proc_group - chown system system /proc/vendor_sched/groups/fg_wi/set_proc_group - chown system system /proc/vendor_sched/prefer_idle_set - chown system system /proc/vendor_sched/prefer_idle_clear - chown system system /proc/vendor_sched/pmu_poll_enable - chown system system /proc/vendor_sched/pmu_poll_time - chown system system /proc/vendor_sched/uclamp_fork_reset_clear - chown system system /proc/vendor_sched/uclamp_fork_reset_set - - chmod 0220 /proc/vendor_sched/groups/bg/set_task_group - chmod 0220 /proc/vendor_sched/groups/cam/set_task_group - chmod 0220 /proc/vendor_sched/groups/fg/set_task_group - chmod 0220 /proc/vendor_sched/groups/nnapi/set_task_group - chmod 0220 /proc/vendor_sched/groups/sys/set_task_group - chmod 0220 /proc/vendor_sched/groups/sys_bg/set_task_group - chmod 0220 /proc/vendor_sched/groups/ta/set_task_group - chmod 0220 /proc/vendor_sched/groups/rt/set_task_group - chmod 0220 /proc/vendor_sched/groups/sf/set_task_group - chmod 0220 /proc/vendor_sched/groups/dex2oat/set_task_group - chmod 0220 /proc/vendor_sched/groups/cam_power/set_task_group - chmod 0220 /proc/vendor_sched/groups/ota/set_task_group - chmod 0220 /proc/vendor_sched/groups/fg_wi/set_task_group - chmod 0220 /proc/vendor_sched/groups/bg/set_proc_group - chmod 0220 /proc/vendor_sched/groups/cam/set_proc_group - chmod 0220 /proc/vendor_sched/groups/fg/set_proc_group - chmod 0220 /proc/vendor_sched/groups/nnapi/set_proc_group - chmod 0220 /proc/vendor_sched/groups/sys/set_proc_group - chmod 0220 /proc/vendor_sched/groups/sys_bg/set_proc_group - chmod 0220 /proc/vendor_sched/groups/ta/set_proc_group - chmod 0220 /proc/vendor_sched/groups/rt/set_proc_group - chmod 0220 /proc/vendor_sched/groups/sf/set_proc_group - chmod 0220 /proc/vendor_sched/groups/dex2oat/set_proc_group - chmod 0220 /proc/vendor_sched/groups/cam_power/set_proc_group - chmod 0220 /proc/vendor_sched/groups/ota/set_proc_group - chmod 0220 /proc/vendor_sched/groups/fg_wi/set_proc_group - chmod 0220 /proc/vendor_sched/prefer_idle_set - chmod 0220 /proc/vendor_sched/prefer_idle_clear - chmod 0660 /proc/vendor_sched/pmu_poll_enable - chmod 0220 /proc/vendor_sched/pmu_poll_time - chmod 0220 /proc/vendor_sched/uclamp_fork_reset_clear - chmod 0220 /proc/vendor_sched/uclamp_fork_reset_set - start vendor.keymaster-4-0 # ZRAM setup diff --git a/conf/init.zumapro.soc.rc b/conf/init.zumapro.soc.rc index f4cd377..f77d0f3 100644 --- a/conf/init.zumapro.soc.rc +++ b/conf/init.zumapro.soc.rc @@ -131,82 +131,6 @@ on init write /sys/devices/system/cpu/cpu6/mte_tcf_preferred asymm write /sys/devices/system/cpu/cpu7/mte_tcf_preferred asymm - # Change permission of sched qos nodes - chown system system /proc/vendor_sched/sched_qos/adpf_set - chown system system /proc/vendor_sched/sched_qos/adpf_clear - chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_set - chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_clear - chown system system /proc/vendor_sched/sched_qos/boost_prio_set - chown system system /proc/vendor_sched/sched_qos/boost_prio_clear - chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_set - chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_clear - chown system system /proc/vendor_sched/sched_qos/prefer_fit_set - chown system system /proc/vendor_sched/sched_qos/prefer_fit_clear - chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_set - chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_clear - chown system system /proc/vendor_sched/sched_qos/prefer_idle_set - chown system system /proc/vendor_sched/sched_qos/prefer_idle_clear - chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_set - chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_clear - - chmod 0220 /proc/vendor_sched/sched_qos/adpf_set - chmod 0220 /proc/vendor_sched/sched_qos/adpf_clear - chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_set - chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_clear - chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_set - chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_clear - chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_set - chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_clear - chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_set - chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_clear - chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_set - chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_clear - chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_set - chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_clear - chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_set - chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_clear - - # Enable sched_qos for some groups - write /proc/vendor_sched/groups/ta/qos_adpf_enable 1 - write /proc/vendor_sched/groups/ta/qos_auto_uclamp_max_enable 1 - write /proc/vendor_sched/groups/ta/qos_boost_prio_enable 1 - write /proc/vendor_sched/groups/ta/qos_preempt_wakeup_enable 1 - write /proc/vendor_sched/groups/ta/qos_prefer_fit_enable 1 - write /proc/vendor_sched/groups/ta/qos_prefer_high_cap_enable 1 - write /proc/vendor_sched/groups/ta/qos_prefer_idle_enable 1 - write /proc/vendor_sched/groups/ta/qos_rampup_multiplier_enable 1 - write /proc/vendor_sched/groups/fg/qos_adpf_enable 1 - write /proc/vendor_sched/groups/fg/qos_auto_uclamp_max_enable 1 - write /proc/vendor_sched/groups/fg/qos_boost_prio_enable 1 - write /proc/vendor_sched/groups/fg/qos_preempt_wakeup_enable 1 - write /proc/vendor_sched/groups/fg/qos_prefer_fit_enable 1 - write /proc/vendor_sched/groups/fg/qos_prefer_high_cap_enable 1 - write /proc/vendor_sched/groups/fg/qos_prefer_idle_enable 1 - write /proc/vendor_sched/groups/fg/qos_rampup_multiplier_enable 1 - write /proc/vendor_sched/groups/fg_wi/qos_adpf_enable 1 - write /proc/vendor_sched/groups/fg_wi/qos_auto_uclamp_max_enable 1 - write /proc/vendor_sched/groups/fg_wi/qos_boost_prio_enable 1 - write /proc/vendor_sched/groups/fg_wi/qos_preempt_wakeup_enable 1 - write /proc/vendor_sched/groups/fg_wi/qos_prefer_fit_enable 1 - write /proc/vendor_sched/groups/fg_wi/qos_prefer_high_cap_enable 1 - write /proc/vendor_sched/groups/fg_wi/qos_prefer_idle_enable 1 - write /proc/vendor_sched/groups/fg_wi/qos_rampup_multiplier_enable 1 - write /proc/vendor_sched/groups/cam/qos_adpf_enable 1 - write /proc/vendor_sched/groups/cam/qos_auto_uclamp_max_enable 1 - write /proc/vendor_sched/groups/cam/qos_prefer_fit_enable 1 - write /proc/vendor_sched/groups/cam/qos_prefer_high_cap_enable 1 - write /proc/vendor_sched/groups/cam/qos_prefer_idle_enable 1 - write /proc/vendor_sched/groups/cam/qos_rampup_multiplier_enable 1 - write /proc/vendor_sched/groups/cam_power/qos_adpf_enable 1 - write /proc/vendor_sched/groups/cam_power/qos_auto_uclamp_max_enable 1 - write /proc/vendor_sched/groups/cam_power/qos_prefer_fit_enable 1 - write /proc/vendor_sched/groups/cam_power/qos_prefer_high_cap_enable 1 - write /proc/vendor_sched/groups/cam_power/qos_prefer_idle_enable 1 - write /proc/vendor_sched/groups/cam_power/qos_rampup_multiplier_enable 1 - write /proc/vendor_sched/groups/rt/qos_adpf_enable 1 - write /proc/vendor_sched/groups/rt/qos_rampup_multiplier_enable 1 - write /proc/vendor_sched/groups/sf/qos_adpf_enable 1 - write /proc/vendor_sched/groups/sf/qos_rampup_multiplier_enable 1 on zygote-start # For PixelLogger configuration file. From 8e75b66b849ecf548ea15ae16ec457315abcff74 Mon Sep 17 00:00:00 2001 From: Andrew Cheng Date: Fri, 6 Dec 2024 18:43:21 -0800 Subject: [PATCH 07/42] Fix properties to enable override AAOS_on_phone targets need to override these properties, without that builds will fail. Bug: 377689604 Test: local build Change-Id: I5eef2b081da846813106ea282c38685046848be7 --- device.mk | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/device.mk b/device.mk index d8b121a..14e2586 100644 --- a/device.mk +++ b/device.mk @@ -177,30 +177,30 @@ PRODUCT_PROPERTY_OVERRIDES += \ # MAJOR_CLASS: 0x42 -> 66 (Phone) # MINOR_CLASS: 0x0C -> 12 (Smart Phone) PRODUCT_PRODUCT_PROPERTIES += \ - bluetooth.device.class_of_device=90,66,12 + bluetooth.device.class_of_device?=90,66,12 # Set supported Bluetooth profiles to enabled PRODUCT_PRODUCT_PROPERTIES += \ - bluetooth.profile.asha.central.enabled=true \ - bluetooth.profile.a2dp.source.enabled=true \ - bluetooth.profile.avrcp.target.enabled=true \ - bluetooth.profile.bap.unicast.client.enabled=true \ - bluetooth.profile.bas.client.enabled=true \ - bluetooth.profile.csip.set_coordinator.enabled=true \ - bluetooth.profile.gatt.enabled=true \ - bluetooth.profile.hap.client.enabled=true \ - bluetooth.profile.hfp.ag.enabled=true \ - bluetooth.profile.hid.device.enabled=true \ - bluetooth.profile.hid.host.enabled=true \ - bluetooth.profile.map.server.enabled=true \ - bluetooth.profile.mcp.server.enabled=true \ - bluetooth.profile.opp.enabled=true \ - bluetooth.profile.pan.nap.enabled=true \ - bluetooth.profile.pan.panu.enabled=true \ - bluetooth.profile.pbap.server.enabled=true \ - bluetooth.profile.sap.server.enabled=true \ - bluetooth.profile.ccp.server.enabled=true \ - bluetooth.profile.vcp.controller.enabled=true + bluetooth.profile.asha.central.enabled?=true \ + bluetooth.profile.a2dp.source.enabled?=true \ + bluetooth.profile.avrcp.target.enabled?=true \ + bluetooth.profile.bap.unicast.client.enabled?=true \ + bluetooth.profile.bas.client.enabled?=true \ + bluetooth.profile.csip.set_coordinator.enabled?=true \ + bluetooth.profile.gatt.enabled?=true \ + bluetooth.profile.hap.client.enabled?=true \ + bluetooth.profile.hfp.ag.enabled?=true \ + bluetooth.profile.hid.device.enabled?=true \ + bluetooth.profile.hid.host.enabled?=true \ + bluetooth.profile.map.server.enabled?=true \ + bluetooth.profile.mcp.server.enabled?=true \ + bluetooth.profile.opp.enabled?=true \ + bluetooth.profile.pan.nap.enabled?=true \ + bluetooth.profile.pan.panu.enabled?=true \ + bluetooth.profile.pbap.server.enabled?=true \ + bluetooth.profile.sap.server.enabled?=true \ + bluetooth.profile.ccp.server.enabled?=true \ + bluetooth.profile.vcp.controller.enabled?=true # Override default HCI command timeout value for BT stack PRODUCT_PRODUCT_PROPERTIES += \ From 6f0b8b118089aa2da7ec100a22a0f11aac3adc5b Mon Sep 17 00:00:00 2001 From: Eran Messeri Date: Wed, 11 Dec 2024 22:01:42 +0000 Subject: [PATCH 08/42] [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 0ff08635b5c875a5c5dadd9fc28d69dfe2191404 Mon Sep 17 00:00:00 2001 From: Thomas Nguyen Date: Wed, 11 Dec 2024 13:46:32 -0800 Subject: [PATCH 09/42] Configure satellite NIDD APN name for Zuma pro devices Bug: 366014519 Flag: EXEMPT 'config change' Test: SatelliteSOSMessageRecommenderTest SatelliteControllerTest Manual system test with Skylo, Vzw, Starlink Change-Id: I9395086ae0c1449ab056b2f2df13a2c367bafb3d --- overlay/frameworks/base/core/res/res/values/config.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 771e41c..34cb02b 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -555,6 +555,11 @@ false + + pixel.ntn + true From b5924fde73faed1266cfabd528d17bcd7ba8b840 Mon Sep 17 00:00:00 2001 From: Chungkai Mei Date: Mon, 25 Nov 2024 06:03:17 +0000 Subject: [PATCH 10/42] set input to 100 explicitly in task_profile instead of using ADPF, let's use task_profile to boost input tasks' priroity Bug: 378761104 Flag: EXEMPT new task_profile behavior Change-Id: Ice311b1abcf3d629917e16f1490d4cb63fd83796 Signed-off-by: Chungkai Mei --- task_profiles.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/task_profiles.json b/task_profiles.json index 6b9b1ee..103ff20 100644 --- a/task_profiles.json +++ b/task_profiles.json @@ -488,6 +488,19 @@ } } ] + }, + { + "Name": "HighestCfsPrioScheduling", + "Actions": [ + { + "Name": "SetSchedulerPolicy", + "Params": + { + "Policy": "SCHED_OTHER", + "Nice": "-20" + } + } + ] } ], @@ -526,7 +539,7 @@ }, { "Name": "InputPolicy", - "Profiles": [ "MaxPerformance", "SCHED_QOS_SENSITIVE_EXTREME_SET" ] + "Profiles": [ "HighestCfsPrioScheduling", "MaxPerformance", "SCHED_QOS_SENSITIVE_EXTREME_SET" ] } ] } From 4b4de9132d770ace30db60f3cba6a0688fb7dc28 Mon Sep 17 00:00:00 2001 From: Hidayat Khan Date: Wed, 4 Dec 2024 01:04:50 +0000 Subject: [PATCH 11/42] Added VZW tagIds based on go/pixel-ntn-region-tags Bug: 381798055 Test: atest SatelliteControllerTest FLAG: com.android.internal.telephony.flags.carrier_roaming_nb_iot_ntn Change-Id: I03f5ec7fb8db04519ae1e3da0e03edaaf754dc70 --- overlay/frameworks/base/core/res/res/values/config.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 34cb02b..069eccb 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -562,4 +562,10 @@ true + + + + 1001 + + From 082a2916a960487477740d443ce202147a29fb14 Mon Sep 17 00:00:00 2001 From: Thomas Nguyen Date: Fri, 13 Dec 2024 14:02:07 -0800 Subject: [PATCH 12/42] Add country codes of Canda and EU countries to the satellite allowed list Bug: 384090903 Flag: EXEMPT 'config change' Test manual system test Change-Id: I04874b0cae5eec15abb6fd8d71507461e2a45de6 --- .../base/core/res/res/values/config.xml | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/overlay/frameworks/base/core/res/res/values/config.xml b/overlay/frameworks/base/core/res/res/values/config.xml index 069eccb..269d1bc 100644 --- a/overlay/frameworks/base/core/res/res/values/config.xml +++ b/overlay/frameworks/base/core/res/res/values/config.xml @@ -500,6 +500,36 @@ US PR + CA + AT + BE + BG + HR + CY + CZ + DK + EE + FI + FR + DE + GR + HU + IE + IT + LV + LT + LU + NL + NO + PL + PT + RO + SK + SI + ES + SE + CH + GB - - 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 25/42] 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 26/42] 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 27/42] 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 28/42] 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 29/42] 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 30/42] 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 31/42] 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 32/42] 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 33/42] 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 34/42] 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 35/42] 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 36/42] 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 37/42] 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 38/42] 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 39/42] 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 40/42] 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 41/42] 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 42/42] 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 @@ - - - - + + + + +