Android 15.0.0 Release 20 (BP1A.250305.019)
-----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ8eo8AAKCRDorT+BmrEO eOC/AJ9s4rsd7FpAUpk4eS+rr5lZO5hc2wCghd5mHveRLTQibMeSOE3h/lksBoQ= =JOoB -----END PGP SIGNATURE----- gpgsig -----BEGIN SSH SIGNATURE----- U1NIU0lHAAAAAQAAADMAAAALc3NoLWVkMjU1MTkAAAAgPpdpjxPACTIhnlvYz0GM4BR7FJ +rYv3jMbfxNKD3JvcAAAADZ2l0AAAAAAAAAAZzaGE1MTIAAABTAAAAC3NzaC1lZDI1NTE5 AAAAQO9oamLOzxoY3sjvotcc4DAmcbAZpHGxjwSk1ERLlM0eAJlCnSJqs7v/AUW1ycptLI l0eNbFgLLtWhhKQb+2ogM= -----END SSH SIGNATURE----- Merge tag 'android-15.0.0_r20' into staging/lineage-22.2_merge-android-15.0.0_r20 Android 15.0.0 Release 20 (BP1A.250305.019) # -----BEGIN PGP SIGNATURE----- # # iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCZ8eo8AAKCRDorT+BmrEO # eOC/AJ9s4rsd7FpAUpk4eS+rr5lZO5hc2wCghd5mHveRLTQibMeSOE3h/lksBoQ= # =JOoB # -----END PGP SIGNATURE----- # gpg: Signature made Wed Mar 5 03:29:20 2025 EET # gpg: using DSA key 4340D13570EF945E83810964E8AD3F819AB10E78 # gpg: Good signature from "The Android Open Source Project <initial-contribution@android.com>" [ultimate] # By Herbert Xue (3) and others # Via Android Build Coastguard Worker (39) and others * tag 'android-15.0.0_r20': (48 commits) 16KB: zuma: Do not filter out goodix_brl_touch.ko for 16KB mode audio: fix headtracking permission for spatializer offload playback dump_power: add battery caretaker dump into bugreport [Pixel VPN] Apply reviewed default permissions modem_svc: use modem_svc_sit version sepolicy Add sched qos support update health HAL dependency Change TARGET_RECOVERY_UI_LIB to use fully qualified names in zuma Fix kasan logic Clean up unnecessary data_connection_5g_plus overlay 16kb: zuma: Filter out unnecessary modules from 16k mode init: zuma: move sched rate limit to late init Change TARGET_RECOVERY_UI_LIB to use fully qualified names in zuma Add hardware/google/graphics/zuma/libhwc2.1 to PRODUCT_SOONG_NAMESPACES Allow metadata to be formatted as ext4 Enable usb state update via udc sysfs Add soong config use_google_qns in zuma Set soong config variables for libExynosC2H263Dec and libExynosC2H263Enc Set soong config variable "board_use_dec_sw_csc" for libExynosVideoCodec dump_power: zuma: correct dump path ... Change-Id: I180526527317e61996b32ddc334cf7c8bb32c36f
This commit is contained in:
commit
092c467795
19 changed files with 545 additions and 174 deletions
|
@ -31,8 +31,17 @@ BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_dlkm.module
|
|||
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
|
||||
|
||||
# Zuma targets use exynos-bcm_dbg.ko module instead of bcm_dbg.ko.
|
||||
# The 16kb mode does not use these modules.
|
||||
BOARD_KERNEL_MODULES_16K := $(filter-out %/aoc_unit_test_dev.ko,$(BOARD_KERNEL_MODULES_16K))
|
||||
BOARD_KERNEL_MODULES_16K := $(filter-out %/bcm_dbg.ko,$(BOARD_KERNEL_MODULES_16K))
|
||||
BOARD_KERNEL_MODULES_16K := $(filter-out %/gnssif.ko,$(BOARD_KERNEL_MODULES_16K))
|
||||
BOARD_KERNEL_MODULES_16K := $(filter-out %/gnss_spi.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 %/rt6160_regulator.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_16K := $(filter-out %/zram.ko,$(BOARD_KERNEL_MODULES_16K))
|
||||
BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(notdir $(module)))
|
||||
|
||||
|
|
|
@ -38,9 +38,23 @@ BOARD_KERNEL_CMDLINE += rcupdate.rcu_expedited=1 rcu_nocbs=all rcutree.enable_rc
|
|||
BOARD_KERNEL_CMDLINE += swiotlb=1024
|
||||
BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem
|
||||
BOARD_KERNEL_CMDLINE += sysctl.kernel.sched_pelt_multiplier=4
|
||||
|
||||
# Normal (non-_fullmte) builds should disable kasan
|
||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||
BOARD_KERNEL_CMDLINE += kasan=off
|
||||
endif
|
||||
|
||||
# Enable a limited subset of MTE for "normal" (non-_fullmte) eng builds.
|
||||
# Don't touch any settings for _fullmte builds. They are set somewhere else.
|
||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||
ifeq ($(TARGET_BUILD_VARIANT),eng)
|
||||
BOARD_KERNEL_CMDLINE += bootloader.pixel.MTE_FORCE_ON
|
||||
ifeq ($(filter memtag_heap,$(SANITIZE_TARGET)),)
|
||||
SANITIZE_TARGET := $(strip $(SANITIZE_TARGET) memtag_heap)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
BOARD_BOOTCONFIG += androidboot.boot_devices=13200000.ufs
|
||||
|
||||
TARGET_NO_BOOTLOADER := true
|
||||
|
@ -64,7 +78,7 @@ TARGET_RECOVERY_FSTAB_GENRULE := gen_fstab.zuma-sw-encrypt
|
|||
TARGET_RECOVERY_PIXEL_FORMAT := ABGR_8888
|
||||
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
|
||||
TARGET_RECOVERY_UI_LIB := \
|
||||
librecovery_ui_pixel \
|
||||
//hardware/google/pixel/recovery:librecovery_ui_pixel \
|
||||
libfstab
|
||||
|
||||
AB_OTA_UPDATER := true
|
||||
|
@ -204,6 +218,17 @@ BOARD_USE_BLOB_ALLOCATOR := false
|
|||
BOARD_SUPPORT_MFC_ENC_BT2020 := true
|
||||
BOARD_SUPPORT_FLEXIBLE_P010 := true
|
||||
BOARD_SUPPORT_MFC_VERSION := 1660
|
||||
$(call soong_config_set,video_codec,target_soc_name,$(TARGET_SOC_NAME))
|
||||
$(call soong_config_set_bool,video_codec,board_use_codec2_hidl_1_2,$(BOARD_USE_CODEC2_HIDL_1_2))
|
||||
$(call soong_config_set_bool,video_codec,board_use_csc_filter,$(BOARD_USE_CSC_FILTER))
|
||||
$(call soong_config_set_bool,video_codec,board_use_dec_sw_csc,$(BOARD_USE_DEC_SW_CSC))
|
||||
$(call soong_config_set_bool,video_codec,board_use_enc_sw_csc,$(BOARD_USE_ENC_SW_CSC))
|
||||
$(call soong_config_set_bool,video_codec,board_support_mfc_enc_rgb,$(BOARD_SUPPORT_MFC_ENC_RGB))
|
||||
$(call soong_config_set_bool,video_codec,board_use_blob_allocator,$(BOARD_USE_BLOB_ALLOCATOR))
|
||||
$(call soong_config_set_bool,video_codec,board_support_mfc_enc_bt2020,$(BOARD_SUPPORT_MFC_ENC_BT2020))
|
||||
$(call soong_config_set_bool,video_codec,board_support_flexible_p010,$(BOARD_SUPPORT_FLEXIBLE_P010))
|
||||
$(call soong_config_set_bool,video_codec,board_use_codec2_aidl,$(if $(BOARD_USE_CODEC2_AIDL),true,false))
|
||||
$(call soong_config_set,video_codec,board_support_mfc_version,$(BOARD_SUPPORT_MFC_VERSION))
|
||||
########################
|
||||
|
||||
BOARD_SUPER_PARTITION_SIZE := 8531214336
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.junit.After;
|
|||
|
||||
import android.platform.test.annotations.AppModeFull;
|
||||
|
||||
import com.android.tradefed.device.DeviceNotAvailableException;
|
||||
import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
|
||||
import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
|
||||
import com.android.tradefed.testtype.junit4.DeviceTestRunOptions;
|
||||
|
@ -59,38 +60,62 @@ public class CopyEfsTest extends BaseHostJUnit4Test {
|
|||
testDumpF2FS("persist");
|
||||
}
|
||||
|
||||
private void testDumpF2FS(String name) throws Exception {
|
||||
getDevice().executeShellCommand(String.format("cp /dev/block/by-name/%s /data/local/tmp/efs_test/%s.img", name, name));
|
||||
private CommandResult RunAndCheckAdbCmd(String cmd) throws DeviceNotAvailableException {
|
||||
CommandResult r = getDevice().executeShellV2Command(cmd);
|
||||
assertEquals("Failed to run " + cmd, Integer.valueOf(0), r.getExitCode());
|
||||
return r;
|
||||
}
|
||||
|
||||
// The device was mounted r/w. To get a clean image, we run fsck, and then mount to allow mount time fixes to happen.
|
||||
// We can then dump and mount read only to ensure the contents should be the same.
|
||||
getDevice().executeShellCommand(String.format("fsck.f2fs -f /data/local/tmp/efs_test/%s.img", name, name));
|
||||
CommandResult r = getDevice().executeShellV2Command(String.format("mount /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name));
|
||||
assertEquals(r.getExitCode().intValue(), 0);
|
||||
r = getDevice().executeShellV2Command("umount /data/local/tmp/efs_test/mnt");
|
||||
assertEquals(r.getExitCode().intValue(), 0);
|
||||
|
||||
r = getDevice().executeShellV2Command(String.format("dump.f2fs -rfPLo /data/local/tmp/efs_test/dump /data/local/tmp/efs_test/%s.img", name));
|
||||
assertEquals(r.getExitCode().intValue(), 0);
|
||||
r = getDevice().executeShellV2Command(String.format("mount -r /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name));
|
||||
assertEquals(r.getExitCode().intValue(), 0);
|
||||
|
||||
r = getDevice().executeShellV2Command("diff -rq --no-dereference /data/local/tmp/efs_test/mnt /data/local/tmp/efs_test/dump");
|
||||
assertEquals(r.getExitCode().intValue(), 0);
|
||||
assertEquals(r.getStdout(), "");
|
||||
|
||||
// Remove timestamps because ls on device does not support --time-style. This is AWKward.
|
||||
// Remove timestamps because ls on device does not support --time-style.
|
||||
// Format is [permissions] [links] [uid] [gid] [size] time [name/symlink]
|
||||
// time may have different numbers of blocks
|
||||
// time may vary greatly in formatting
|
||||
// symlinks will be of the form a -> b
|
||||
// So we can check for -> in the second to last spot to determine what position the timestamp ends at
|
||||
// Remove totals because on disk block usage may change depending on filesystem
|
||||
String ls_cmd = "cd /data/local/tmp/efs_test/%s;ls -AlnR . | awk {'if (NF>3 && $(NF-1) == \"->\") end=3; else end=1; for(i=6;i<=NF-end && i>0;i++)$i=\"\";if ($1 != \"total\"){print $0}'}";
|
||||
String mnt_ls = getDevice().executeShellCommand(String.format(ls_cmd, "mnt"));
|
||||
assertEquals(getDevice().executeShellCommand("echo $?"), "0\n");
|
||||
String dump_ls = getDevice().executeShellCommand(String.format(ls_cmd, "dump"));
|
||||
assertEquals(getDevice().executeShellCommand("echo $?"), "0\n");
|
||||
assertEquals(mnt_ls, dump_ls);
|
||||
private String removeTimestamps(String input) {
|
||||
StringBuilder output = new StringBuilder();
|
||||
for (String line : input.split("\n")) {
|
||||
String[] tokens = line.split("(?<![\\\\])\s+");
|
||||
if (tokens[0].equals("total"))
|
||||
continue;
|
||||
if (tokens.length < 3) {
|
||||
output.append(line + "\n");
|
||||
continue;
|
||||
}
|
||||
int name_offset = 1;
|
||||
if (tokens[tokens.length - 2].equals("->"))
|
||||
name_offset = 3;
|
||||
for (int i=0; i<tokens.length; i++) {
|
||||
if (i >= 5 && i < tokens.length - name_offset)
|
||||
continue;
|
||||
if (i != 0)
|
||||
output.append(" ");
|
||||
output.append(tokens[i]);
|
||||
}
|
||||
output.append("\n");
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
|
||||
private void testDumpF2FS(String name) throws Exception {
|
||||
RunAndCheckAdbCmd(String.format("cp /dev/block/by-name/%s /data/local/tmp/efs_test/%s.img", name, name));
|
||||
|
||||
// The device was mounted r/w. To get a clean image, we run fsck, and then mount to allow mount time fixes to happen.
|
||||
// We can then dump and mount read only to ensure the contents should be the same.
|
||||
RunAndCheckAdbCmd(String.format("fsck.f2fs -f /data/local/tmp/efs_test/%s.img", name));
|
||||
RunAndCheckAdbCmd(String.format("mount /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name));
|
||||
RunAndCheckAdbCmd("umount /data/local/tmp/efs_test/mnt");
|
||||
|
||||
RunAndCheckAdbCmd(String.format("dump.f2fs -rfPLo /data/local/tmp/efs_test/dump /data/local/tmp/efs_test/%s.img", name));
|
||||
RunAndCheckAdbCmd(String.format("mount -r /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name));
|
||||
|
||||
CommandResult r = RunAndCheckAdbCmd("diff -rq --no-dereference /data/local/tmp/efs_test/mnt /data/local/tmp/efs_test/dump");
|
||||
assertEquals(r.getStdout(), "");
|
||||
|
||||
String ls_cmd = "cd /data/local/tmp/efs_test/%s;ls -AlnR .";
|
||||
CommandResult mnt_ls = RunAndCheckAdbCmd(String.format(ls_cmd, "mnt"));
|
||||
CommandResult dump_ls = RunAndCheckAdbCmd(String.format(ls_cmd, "dump"));
|
||||
assertEquals(removeTimestamps(mnt_ls.getStdout()), removeTimestamps(dump_ls.getStdout()));
|
||||
|
||||
getDevice().executeShellCommand("umount /data/local/tmp/efs_test/mnt");
|
||||
getDevice().executeShellCommand("rm -rf /data/local/tmp/efs_test/dump/*");
|
||||
|
|
|
@ -7,4 +7,4 @@
|
|||
/dev/block/platform/13200000.ufs/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,reserve_root=32768,resgid=1065,fsync_mode=nobarrier,compress_extension=apk,compress_extension=so,compress_extension=vdex,compress_extension=odex,@inlinecrypt@,atgc,checkpoint_merge,compress_cache latemount,wait,check,quota,formattable,sysfs_path=/dev/sys/block/bootdevice,checkpoint=fs,reservedsize=128M,fscompress,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption,device=zoned:/dev/block/by-name/zoned_device
|
||||
/dev/block/platform/13200000.ufs/by-name/userdata /data ext4 noatime,nosuid,nodev,@inlinecrypt@ latemount,wait,check,quota,formattable,reservedsize=128M,readahead_size_kb=128,@fileencryption@,@metadata_encryption@,keydirectory=/metadata/vold/metadata_encryption
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata f2fs noatime,nosuid,nodev,sync wait,check,formattable,first_stage_mount
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,first_stage_mount,metadata_csum
|
||||
/dev/block/platform/13200000.ufs/by-name/metadata /metadata ext4 noatime,nosuid,nodev,data=journal,commit=1 wait,check,formattable,first_stage_mount,metadata_csum
|
||||
|
|
16
conf/init.eng.memtag.rc
Normal file
16
conf/init.eng.memtag.rc
Normal file
|
@ -0,0 +1,16 @@
|
|||
# MTE in -eng build: litle and mid cores in Sync mode
|
||||
# Big core in Asymm mode to work around a performance issue (b/266613799)
|
||||
on init
|
||||
# Per-core mode overrides.
|
||||
# Little Cores: sync
|
||||
write /sys/devices/system/cpu/cpu0/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu1/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu2/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu3/mte_tcf_preferred sync
|
||||
# Mid Cores: sync
|
||||
write /sys/devices/system/cpu/cpu4/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu5/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu6/mte_tcf_preferred sync
|
||||
write /sys/devices/system/cpu/cpu7/mte_tcf_preferred sync
|
||||
# Big Core: asymm
|
||||
write /sys/devices/system/cpu/cpu8/mte_tcf_preferred asymm
|
|
@ -102,6 +102,83 @@ on init
|
|||
|
||||
start vendor.keymaster-4-0
|
||||
|
||||
# Change permission of sched qos nodes
|
||||
chown system system /proc/vendor_sched/sched_qos/adpf_set
|
||||
chown system system /proc/vendor_sched/sched_qos/adpf_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_set
|
||||
chown system system /proc/vendor_sched/sched_qos/auto_uclamp_max_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/boost_prio_set
|
||||
chown system system /proc/vendor_sched/sched_qos/boost_prio_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_set
|
||||
chown system system /proc/vendor_sched/sched_qos/preempt_wakeup_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_fit_set
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_fit_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_set
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_high_cap_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_idle_set
|
||||
chown system system /proc/vendor_sched/sched_qos/prefer_idle_clear
|
||||
chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_set
|
||||
chown system system /proc/vendor_sched/sched_qos/rampup_multiplier_clear
|
||||
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/adpf_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/adpf_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/auto_uclamp_max_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/boost_prio_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/preempt_wakeup_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_fit_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_high_cap_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/prefer_idle_clear
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_set
|
||||
chmod 0220 /proc/vendor_sched/sched_qos/rampup_multiplier_clear
|
||||
|
||||
# Enable sched_qos for some groups
|
||||
write /proc/vendor_sched/groups/ta/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_boost_prio_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_preempt_wakeup_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/ta/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_boost_prio_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_preempt_wakeup_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/fg/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_boost_prio_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_preempt_wakeup_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/fg_wi/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/cam/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_auto_uclamp_max_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_prefer_fit_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_prefer_high_cap_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_prefer_idle_enable 1
|
||||
write /proc/vendor_sched/groups/cam_power/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/rt/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/rt/qos_rampup_multiplier_enable 1
|
||||
write /proc/vendor_sched/groups/sf/qos_adpf_enable 1
|
||||
write /proc/vendor_sched/groups/sf/qos_rampup_multiplier_enable 1
|
||||
|
||||
# ZRAM setup
|
||||
write /proc/sys/vm/page-cluster 0
|
||||
|
||||
|
@ -150,14 +227,11 @@ on init
|
|||
# governor setting
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_scale_pow 2
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
write /sys/devices/system/cpu/cpu8/cpufreq/scaling_governor sched_pixel
|
||||
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/up_rate_limit_us 500
|
||||
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
|
||||
|
||||
# memlat cpuidle awareness setting
|
||||
|
@ -374,6 +448,11 @@ on late-fs
|
|||
# Mount RW partitions which need run fsck
|
||||
mount_all --late
|
||||
|
||||
on late-init
|
||||
write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/down_rate_limit_us 5000
|
||||
write /sys/devices/system/cpu/cpu4/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us 20000
|
||||
|
||||
on post-fs-data
|
||||
# Modem temperature driver
|
||||
chown radio system /sys/devices/platform/cp-tm1/cp_temp
|
||||
|
@ -532,9 +611,9 @@ on early-boot
|
|||
chown system system /dev/logbuffer_usbpd
|
||||
chown system system /dev/logbuffer_wireless
|
||||
chown system system /dev/logbuffer_pca9468
|
||||
chown system system /dev/logbuffer_dc_mains
|
||||
chown system system /dev/logbuffer_cpm
|
||||
chown system system /dev/logbuffer_wc68
|
||||
chown system system /dev/logbuffer_ln8411
|
||||
chown system system /dev/logbuffer_pcie0
|
||||
chown system system /dev/logbuffer_pcie1
|
||||
chown system system /dev/logbuffer_bd
|
||||
|
@ -982,7 +1061,7 @@ on property:vendor.thermal.link_ready=1
|
|||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_gpu_lvl 9000
|
||||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_tpu_lvl 8500
|
||||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/ocp_cpu2_lvl 12000
|
||||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/ocp_gpu_lvl 12000
|
||||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/ocp_gpu_lvl 9000
|
||||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/ocp_tpu_lvl 12000
|
||||
write /sys/devices/virtual/pmic/mitigation/clock_div/tpu_clk_div 0x1
|
||||
write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_clk_div 0x1
|
||||
|
|
|
@ -97,6 +97,7 @@
|
|||
/dev/acd-mel_processor 0660 system audio
|
||||
/dev/amcs 0660 system audio
|
||||
/dev/acd-audio_rtp_* 0660 system radio
|
||||
/dev/acd-mc_headpos 0660 system audio
|
||||
|
||||
# Secure MEM driver
|
||||
/dev/s5p-smem 0660 drm drmrpc
|
||||
|
@ -155,6 +156,11 @@
|
|||
/dev/acd-com.google.chre 0660 system system
|
||||
/dev/acd-com.google.chre.non_wake_up 0660 system system
|
||||
|
||||
# CHRE (EFW transport)
|
||||
/dev/acd-chre_ctl 0660 system system
|
||||
/dev/acd-chre_data_tx 0220 system system
|
||||
/dev/acd-chre_data_rx 0440 system system
|
||||
|
||||
# BT
|
||||
/dev/acd-com.google.bt 0660 system system
|
||||
/dev/acd-com.google.bt.non_wake_up 0660 system system
|
||||
|
|
|
@ -169,10 +169,14 @@
|
|||
</exception>
|
||||
|
||||
<exception package="com.google.android.apps.pixel.relationships">
|
||||
<!-- Contacts -->
|
||||
<permission name="android.permission.CALL_PHONE" fixed="false"/>
|
||||
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
|
||||
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
|
||||
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
|
||||
</exception>
|
||||
<exception
|
||||
package="com.google.android.apps.privacy.wildlife">
|
||||
<permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
|
||||
</exception>
|
||||
</exceptions>
|
||||
|
||||
|
|
|
@ -49,9 +49,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
|||
ro.preventative_fsck = 1
|
||||
|
||||
# Indicate that the bootloader supports the MTE developer option switch
|
||||
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products that
|
||||
# force enable MTE.
|
||||
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products and
|
||||
# eng products that force enable MTE
|
||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||
ifeq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_supported=1
|
||||
# N.B. persist properties in product Makefiles aren't actually persisted to the data
|
||||
# partition, so they will actually go away if we remove them here, or if the user
|
||||
|
@ -61,3 +62,11 @@ PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.google.android.blueto
|
|||
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.app.com.android.nfc=off
|
||||
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||
ifneq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/google/zuma/conf/init.eng.memtag.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.eng.memtag.rc
|
||||
endif
|
||||
endif
|
||||
|
|
25
device.mk
25
device.mk
|
@ -75,6 +75,7 @@ PRODUCT_SOONG_NAMESPACES += \
|
|||
hardware/google/gchips/gralloc4 \
|
||||
hardware/google/graphics/common \
|
||||
hardware/google/graphics/zuma \
|
||||
hardware/google/graphics/zuma/libhwc2.1 \
|
||||
hardware/google/interfaces \
|
||||
hardware/google/pixel \
|
||||
device/google/zuma \
|
||||
|
@ -95,11 +96,6 @@ TRUSTY_KEYMINT_IMPL := rust
|
|||
ifeq ($(RELEASE_AVF_ENABLE_LLPVM_CHANGES),true)
|
||||
# Set the environment variable to enable the Secretkeeper HAL service.
|
||||
SECRETKEEPER_ENABLED := true
|
||||
# TODO(b/341708664): Enable Secretkeeper unconditionally once AOSP targets are built with
|
||||
# compatible bootloader (24Q3+).
|
||||
ifneq (,$(filter aosp_%,$(TARGET_PRODUCT)))
|
||||
SECRETKEEPER_ENABLED := false
|
||||
endif
|
||||
endif
|
||||
|
||||
# OEM Unlock reporting
|
||||
|
@ -191,7 +187,7 @@ 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.server.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 \
|
||||
|
@ -206,8 +202,8 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
|||
bluetooth.profile.pan.panu.enabled?=true \
|
||||
bluetooth.profile.pbap.server.enabled?=true \
|
||||
bluetooth.profile.sap.server.enabled?=true \
|
||||
bluetooth.profile.tbs.server.enabled?=true \
|
||||
bluetooth.profile.vc.server.enabled?=true
|
||||
bluetooth.profile.ccp.server.enabled?=true \
|
||||
bluetooth.profile.vcp.controller.enabled?=true
|
||||
|
||||
# Carrier configuration default location
|
||||
PRODUCT_PROPERTY_OVERRIDES += \
|
||||
|
@ -238,6 +234,9 @@ endif
|
|||
# Use for GRIL
|
||||
USES_LASSEN_MODEM := true
|
||||
$(call soong_config_set, vendor_ril_google_feature, use_lassen_modem, true)
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
$(call soong_config_set_bool,grilservice,use_google_qns,true)
|
||||
endif
|
||||
|
||||
ifeq ($(USES_GOOGLE_DIALER_CARRIER_SETTINGS),true)
|
||||
USE_GOOGLE_DIALER := true
|
||||
|
@ -1017,8 +1016,12 @@ PRODUCT_COPY_FILES += \
|
|||
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
|
||||
|
||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
||||
# modem_svc_sit daemon
|
||||
PRODUCT_PACKAGES += modem_svc_sit
|
||||
|
||||
# Use Lassen specifc Shared Modem Platform
|
||||
SHARED_MODEM_PLATFORM_VENDOR := lassen
|
||||
|
||||
# Shared Modem Platform
|
||||
include device/google/gs-common/modem/modem_svc_sit/shared_modem_platform.mk
|
||||
|
||||
# modem_ml_svc_sit daemon
|
||||
PRODUCT_PACKAGES += modem_ml_svc_sit
|
||||
|
@ -1158,7 +1161,7 @@ PRODUCT_SOONG_NAMESPACES += \
|
|||
vendor/google_devices/zuma/proprietary/gchips/tpu/nnapi_stable_aidl \
|
||||
vendor/google_devices/zuma/proprietary/gchips/tpu/aidl \
|
||||
vendor/google_devices/zuma/proprietary/gchips/tpu/hal \
|
||||
vendor/google_devices/zuma/proprietary/gchips/tpu/tachyon/api \
|
||||
vendor/google_devices/zuma/proprietary/gchips/tpu/tachyon/tachyon_apis \
|
||||
vendor/google_devices/zuma/proprietary/gchips/tpu/tachyon/service
|
||||
# TPU firmware
|
||||
PRODUCT_PACKAGES += edgetpu-rio.fw
|
||||
|
|
|
@ -153,7 +153,7 @@
|
|||
</hal>
|
||||
<hal format="aidl" optional="true">
|
||||
<name>vendor.google.wifi_ext</name>
|
||||
<version>2-3</version>
|
||||
<version>2-4</version>
|
||||
<interface>
|
||||
<name>IWifiExt</name>
|
||||
<instance>default</instance>
|
||||
|
|
|
@ -206,36 +206,12 @@ void dumpMaxFg() {
|
|||
{"maxfg_monitor logbuffer", "/dev/logbuffer_maxfg_monitor"},
|
||||
};
|
||||
|
||||
const char *maxfgFlip [][2] = {
|
||||
{"Power supply property maxfg_base", "/sys/class/power_supply/maxfg_base/uevent"},
|
||||
{"Power supply property maxfg_flip", "/sys/class/power_supply/maxfg_flip/uevent"},
|
||||
{"maxfg_base registers", "/sys/class/power_supply/maxfg_base/registers_dump"},
|
||||
{"maxfg_secondary registers", "/sys/class/power_supply/maxfg_secondary/registers_dump"},
|
||||
{"m5_state", "/sys/class/power_supply/maxfg_base/m5_model_state"},
|
||||
{"maxfg_base", "/dev/logbuffer_maxfg_base"},
|
||||
{"maxfg_flip", "/dev/logbuffer_maxfg_flip"},
|
||||
{"maxfg_base", "/dev/logbuffer_maxfg_base_monitor"},
|
||||
{"maxfg_flip", "/dev/logbuffer_maxfg_flip_monitor"},
|
||||
};
|
||||
|
||||
const char *maxfgHistoryName = "Maxim FG History";
|
||||
const char *maxfgHistoryDir = "/dev/maxfg_history";
|
||||
|
||||
std::string content;
|
||||
|
||||
|
||||
if (isValidDir(maxfgLoc)) {
|
||||
for (const auto &row : maxfg) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
} else {
|
||||
for (const auto &row : maxfgFlip) {
|
||||
dumpFileContent(row[0], row[1]);
|
||||
}
|
||||
}
|
||||
|
||||
if (isValidFile(maxfgHistoryDir)) {
|
||||
dumpFileContent(maxfgHistoryName, maxfgHistoryDir);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -306,8 +282,9 @@ void dumpTcpc() {
|
|||
void dumpPdEngine() {
|
||||
const char* pdEngine [][2] {
|
||||
{"Logbuffer TCPC", "/dev/logbuffer_usbpd"},
|
||||
{"PPS-google_cpm", "/dev/logbuffer_cpm"},
|
||||
{"PPS-dc", "/dev/logbuffer_pca9468"},
|
||||
{"PPS-google_cpm logbuffer", "/dev/logbuffer_cpm"},
|
||||
{"PPS-pca9468 logbuffer", "/dev/logbuffer_pca9468"},
|
||||
{"PPS-dc_mains logbuffer", "/dev/logbuffer_dc_mains"},
|
||||
};
|
||||
|
||||
for (const auto &row : pdEngine) {
|
||||
|
@ -333,15 +310,6 @@ void dumpWc68() {
|
|||
}
|
||||
}
|
||||
|
||||
void dumpLn8411() {
|
||||
const char* ln8411Title = "LN8411";
|
||||
const char* ln8411File = "/dev/logbuffer_ln8411";
|
||||
|
||||
if (isValidFile(ln8411File)) {
|
||||
dumpFileContent(ln8411Title, ln8411File);
|
||||
}
|
||||
}
|
||||
|
||||
void dumpBatteryHealth() {
|
||||
const char* batteryHealth [][2] {
|
||||
{"Battery Health", "/sys/class/power_supply/battery/health_index_stats"},
|
||||
|
@ -361,7 +329,7 @@ void dumpBatteryHealth() {
|
|||
}
|
||||
|
||||
void dumpBatteryDefend() {
|
||||
const char* defendConfig [][4] {
|
||||
const char* defendConfig [][3] {
|
||||
{"TRICKLE-DEFEND Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "bd_"},
|
||||
{"DWELL-DEFEND Config", "/sys/devices/platform/google,charger/", "charge_s"},
|
||||
|
@ -406,6 +374,57 @@ void dumpBatteryDefend() {
|
|||
}
|
||||
}
|
||||
|
||||
void dumpBatteryCaretaker() {
|
||||
const char* aacpConfig [][3] {
|
||||
{"AACP Version",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacp_"},
|
||||
{"AACR Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacr_"},
|
||||
{"AAFV Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aafv_"},
|
||||
{"AACT Config",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aact_"},
|
||||
{"AACC",
|
||||
"/sys/devices/platform/google,battery/power_supply/battery/", "aacc"},
|
||||
};
|
||||
|
||||
std::vector<std::string> files;
|
||||
struct dirent *entry;
|
||||
std::string content;
|
||||
std::string fileLocation;
|
||||
|
||||
for (auto &config : aacpConfig) {
|
||||
DIR *dir = opendir(config[1]);
|
||||
if (dir == NULL)
|
||||
continue;
|
||||
|
||||
printTitle(config[0]);
|
||||
while ((entry = readdir(dir)) != NULL) {
|
||||
if (std::string(entry->d_name).find(config[2]) != std::string::npos &&
|
||||
strncmp(config[2], entry->d_name, strlen(config[2])) == 0) {
|
||||
files.push_back(entry->d_name);
|
||||
}
|
||||
}
|
||||
closedir(dir);
|
||||
|
||||
sort(files.begin(), files.end());
|
||||
|
||||
for (auto &file : files) {
|
||||
fileLocation = std::string(config[1]) + std::string(file);
|
||||
if (!android::base::ReadFileToString(fileLocation, &content) || content.empty()) {
|
||||
content = "\n";
|
||||
}
|
||||
|
||||
printf("%s: %s", file.c_str(), content.c_str());
|
||||
|
||||
if (content.back() != '\n')
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
files.clear();
|
||||
}
|
||||
}
|
||||
|
||||
void printValuesOfDirectory(const char *directory, std::string debugfs, const char *strMatch) {
|
||||
std::vector<std::string> files;
|
||||
auto info = directory;
|
||||
|
@ -480,7 +499,6 @@ void dumpChgUserDebug() {
|
|||
const std::string debugfs = "/d/";
|
||||
const char *maxFgDir = "/d/maxfg";
|
||||
const char *maxFgStrMatch = "maxfg";
|
||||
const char *maxFg77779StrMatch = "max77779fg";
|
||||
const char *chgTblName = "Charging table dump";
|
||||
const char *chgTblDir = "/d/google_battery/chg_raw_profile";
|
||||
|
||||
|
@ -488,16 +506,6 @@ void dumpChgUserDebug() {
|
|||
"fg_model",
|
||||
"algo_ver",
|
||||
"model_ok",
|
||||
"registers",
|
||||
"nv_registers",
|
||||
};
|
||||
|
||||
const char *max77779FgInfo [] {
|
||||
"fg_model",
|
||||
"algo_ver",
|
||||
"model_ok",
|
||||
"registers",
|
||||
"debug_registers",
|
||||
};
|
||||
|
||||
if (isUserBuild())
|
||||
|
@ -509,10 +517,6 @@ void dumpChgUserDebug() {
|
|||
for (auto & directory : maxFgInfo) {
|
||||
printValuesOfDirectory(directory, debugfs, maxFgStrMatch);
|
||||
}
|
||||
} else {
|
||||
for (auto & directory : max77779FgInfo) {
|
||||
printValuesOfDirectory(directory, debugfs, maxFg77779StrMatch);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -980,9 +984,9 @@ int main() {
|
|||
dumpPdEngine();
|
||||
dumpEusbRepeater();
|
||||
dumpWc68();
|
||||
dumpLn8411();
|
||||
dumpBatteryHealth();
|
||||
dumpBatteryDefend();
|
||||
dumpBatteryCaretaker();
|
||||
dumpChg();
|
||||
dumpChgUserDebug();
|
||||
dumpBatteryEeprom();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<manifest version="1.0" type="device">
|
||||
<hal format="aidl">
|
||||
<name>android.hardware.health</name>
|
||||
<version>3</version>
|
||||
<version>4</version>
|
||||
<fqname>IHealth/default</fqname>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
|
|
@ -51,11 +51,11 @@
|
|||
</Decoders>
|
||||
<Encoders>
|
||||
<MediaCodec name="c2.google.av1.encoder" type="video/av01">
|
||||
<Limit name="size" min="64x64" max="3840x2176" />
|
||||
<Limit name="size" min="80x80" max="3840x2176" />
|
||||
<Limit name="alignment" value="1x1" />
|
||||
<Limit name="block-size" value="64x64" />
|
||||
<Limit name="block-count" range="1-2040" />
|
||||
<Limit name="blocks-per-second" min="1" max="61200" />
|
||||
<Limit name="block-count" range="4-2040" />
|
||||
<Limit name="blocks-per-second" min="4" max="61200" />
|
||||
<Limit name="bitrate" range="1-120000000" />
|
||||
<Limit name="performance-point-1280x720" value="200" />
|
||||
<Limit name="performance-point-1920x1080" value="180" />
|
||||
|
|
|
@ -279,6 +279,9 @@
|
|||
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
|
||||
<bool name="config_zramWriteback">true</bool>
|
||||
|
||||
<!-- the number of the max cached processes in the system. -->
|
||||
<integer name="config_customizedMaxCachedProcesses">1024</integer>
|
||||
|
||||
<!-- Boolean indicating if restoring network selection should be skipped -->
|
||||
<!-- The restoring is handled by modem if it is true -->
|
||||
<bool translatable="false" name="skip_restoring_network_selection">true</bool>
|
||||
|
@ -311,13 +314,6 @@
|
|||
<!-- Pre-scale volume at volume step 3 for Absolute Volume -->
|
||||
<fraction name="config_prescaleAbsoluteVolume_index3">100%</fraction>
|
||||
|
||||
<!-- User activity timeout: Maximum screen dim duration in milliseconds. -->
|
||||
<integer name="config_maximumScreenDimDuration">20000</integer>
|
||||
|
||||
<!-- User activity timeout: Maximum screen dim duration as a percentage of screen off timeout.
|
||||
-->
|
||||
<fraction name="config_maximumScreenDimRatio">33%</fraction>
|
||||
|
||||
<!-- Whether to enable usb state update via udc sysfs. -->
|
||||
<bool name="config_enableUdcSysfsUsbStateUpdate">true</bool>
|
||||
</resources>
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* Copyright (c) 2020, 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.
|
||||
*/
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Content description of the data connection type 5G UW. [CHAR LIMIT=NONE] -->
|
||||
<string name="data_connection_5g_plus" translatable="false">5G UW</string>
|
||||
</resources>
|
|
@ -1,22 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
/**
|
||||
* Copyright (c) 2020, 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.
|
||||
*/
|
||||
-->
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Content description of the data connection type 5G UW. [CHAR LIMIT=NONE] -->
|
||||
<string name="data_connection_5g_plus" translatable="false">5G UW</string>
|
||||
</resources>
|
|
@ -159,6 +159,21 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "HighPerformanceWI",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/groups/fg_wi/set_task_group",
|
||||
"ProcFilePath": "/proc/vendor_sched/groups/fg_wi/set_proc_group",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "RealtimePerformance",
|
||||
"Actions": [
|
||||
|
@ -250,6 +265,202 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AdpfSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/adpf_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AdpfClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/adpf_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "BoostPrioSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/boost_prio_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "BoostPrioClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/boost_prio_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreemptWakeupSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/preempt_wakeup_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreemptWakeupClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/preempt_wakeup_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferFitSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_fit_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferFitClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_fit_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferIdleSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_idle_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferIdleClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_idle_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AutoUclampMaxSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/auto_uclamp_max_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AutoUclampMaxClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/auto_uclamp_max_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferHighCapSet",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_high_cap_set",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "PreferHighCapClear",
|
||||
"Actions": [
|
||||
{
|
||||
"Name": "WriteFile",
|
||||
"Params":
|
||||
{
|
||||
"FilePath": "/proc/vendor_sched/sched_qos/prefer_high_cap_clear",
|
||||
"Value": "<pid>",
|
||||
"LogFailures": "false"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "ResetUclampGrp",
|
||||
"Actions": [
|
||||
|
@ -287,11 +498,35 @@
|
|||
},
|
||||
{
|
||||
"Name": "OtaProfiles",
|
||||
"Profiles": [ "OtaPerformance", "ProcessCapacityNormal", "LowIoPriority", "TimerSlackHigh" ]
|
||||
"Profiles": [ "OtaPerformance", "ServiceCapacityLow", "LowIoPriority", "TimerSlackHigh" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_SENSITIVE_EXTREME_SET",
|
||||
"Profiles": [ "AdpfSet", "PreferIdleSet", "PreferFitSet", "BoostPrioSet", "PreemptWakeupSet" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_SENSITIVE_EXTREME_CLEAR",
|
||||
"Profiles": [ "AdpfClear", "PreferIdleClear", "PreferFitClear", "BoostPrioClear", "PreemptWakeupClear" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_SENSITIVE_STANDARD_SET",
|
||||
"Profiles": [ "AdpfSet", "PreferIdleSet", "PreferFitSet" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_SENSITIVE_STANDARD_CLEAR",
|
||||
"Profiles": [ "AdpfClear", "PreferIdleClear", "PreferFitClear" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_POWER_EFFICIENCY_SET",
|
||||
"Profiles": [ "AutoUclampMaxSet" ]
|
||||
},
|
||||
{
|
||||
"Name": "SCHED_QOS_POWER_EFFICIENCY_CLEAR",
|
||||
"Profiles": [ "AutoUclampMaxClear" ]
|
||||
},
|
||||
{
|
||||
"Name": "InputPolicy",
|
||||
"Profiles": [ "ResetUclampGrp" ]
|
||||
"Profiles": [ "MaxPerformance", "SCHED_QOS_SENSITIVE_EXTREME_SET" ]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1090,6 +1090,7 @@ void queryVersionHelper(android::hardware::usb::Usb *usb,
|
|||
|
||||
pthread_mutex_lock(&usb->mLock);
|
||||
status = getPortStatusHelper(usb, currentPortStatus);
|
||||
if (status == Status::SUCCESS && currentPortStatus->size() > 0) {
|
||||
queryMoistureDetectionStatus(currentPortStatus);
|
||||
queryPowerTransferStatus(currentPortStatus);
|
||||
queryNonCompliantChargerStatus(currentPortStatus);
|
||||
|
@ -1111,6 +1112,9 @@ void queryVersionHelper(android::hardware::usb::Usb *usb,
|
|||
} else {
|
||||
ALOGI("Notifying userspace skipped. Callback is NULL");
|
||||
}
|
||||
} else {
|
||||
ALOGI("%s skipped. currentPortStatus is empty", __func__);
|
||||
}
|
||||
pthread_mutex_unlock(&usb->mLock);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue