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_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
|
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 %/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_16K := $(filter-out %/zram.ko,$(BOARD_KERNEL_MODULES_16K))
|
||||||
BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(notdir $(module)))
|
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 += swiotlb=1024
|
||||||
BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem
|
BOARD_KERNEL_CMDLINE += cgroup.memory=nokmem
|
||||||
BOARD_KERNEL_CMDLINE += sysctl.kernel.sched_pelt_multiplier=4
|
BOARD_KERNEL_CMDLINE += sysctl.kernel.sched_pelt_multiplier=4
|
||||||
|
|
||||||
|
# Normal (non-_fullmte) builds should disable kasan
|
||||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||||
BOARD_KERNEL_CMDLINE += kasan=off
|
BOARD_KERNEL_CMDLINE += kasan=off
|
||||||
endif
|
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
|
BOARD_BOOTCONFIG += androidboot.boot_devices=13200000.ufs
|
||||||
|
|
||||||
TARGET_NO_BOOTLOADER := true
|
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_PIXEL_FORMAT := ABGR_8888
|
||||||
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
|
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 165
|
||||||
TARGET_RECOVERY_UI_LIB := \
|
TARGET_RECOVERY_UI_LIB := \
|
||||||
librecovery_ui_pixel \
|
//hardware/google/pixel/recovery:librecovery_ui_pixel \
|
||||||
libfstab
|
libfstab
|
||||||
|
|
||||||
AB_OTA_UPDATER := true
|
AB_OTA_UPDATER := true
|
||||||
|
@ -204,6 +218,17 @@ BOARD_USE_BLOB_ALLOCATOR := false
|
||||||
BOARD_SUPPORT_MFC_ENC_BT2020 := true
|
BOARD_SUPPORT_MFC_ENC_BT2020 := true
|
||||||
BOARD_SUPPORT_FLEXIBLE_P010 := true
|
BOARD_SUPPORT_FLEXIBLE_P010 := true
|
||||||
BOARD_SUPPORT_MFC_VERSION := 1660
|
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
|
BOARD_SUPER_PARTITION_SIZE := 8531214336
|
||||||
|
|
|
@ -24,6 +24,7 @@ import org.junit.After;
|
||||||
|
|
||||||
import android.platform.test.annotations.AppModeFull;
|
import android.platform.test.annotations.AppModeFull;
|
||||||
|
|
||||||
|
import com.android.tradefed.device.DeviceNotAvailableException;
|
||||||
import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
|
import com.android.tradefed.testtype.DeviceJUnit4ClassRunner;
|
||||||
import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
|
import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test;
|
||||||
import com.android.tradefed.testtype.junit4.DeviceTestRunOptions;
|
import com.android.tradefed.testtype.junit4.DeviceTestRunOptions;
|
||||||
|
@ -59,38 +60,62 @@ public class CopyEfsTest extends BaseHostJUnit4Test {
|
||||||
testDumpF2FS("persist");
|
testDumpF2FS("persist");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private CommandResult RunAndCheckAdbCmd(String cmd) throws DeviceNotAvailableException {
|
||||||
|
CommandResult r = getDevice().executeShellV2Command(cmd);
|
||||||
|
assertEquals("Failed to run " + cmd, Integer.valueOf(0), r.getExitCode());
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove timestamps because ls on device does not support --time-style.
|
||||||
|
// Format is [permissions] [links] [uid] [gid] [size] time [name/symlink]
|
||||||
|
// 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
|
||||||
|
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 {
|
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));
|
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.
|
// 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.
|
// 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));
|
RunAndCheckAdbCmd(String.format("fsck.f2fs -f /data/local/tmp/efs_test/%s.img", name));
|
||||||
CommandResult r = getDevice().executeShellV2Command(String.format("mount /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name));
|
RunAndCheckAdbCmd(String.format("mount /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name));
|
||||||
assertEquals(r.getExitCode().intValue(), 0);
|
RunAndCheckAdbCmd("umount /data/local/tmp/efs_test/mnt");
|
||||||
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));
|
RunAndCheckAdbCmd(String.format("dump.f2fs -rfPLo /data/local/tmp/efs_test/dump /data/local/tmp/efs_test/%s.img", name));
|
||||||
assertEquals(r.getExitCode().intValue(), 0);
|
RunAndCheckAdbCmd(String.format("mount -r /data/local/tmp/efs_test/%s.img /data/local/tmp/efs_test/mnt", name));
|
||||||
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");
|
CommandResult r = RunAndCheckAdbCmd("diff -rq --no-dereference /data/local/tmp/efs_test/mnt /data/local/tmp/efs_test/dump");
|
||||||
assertEquals(r.getExitCode().intValue(), 0);
|
|
||||||
assertEquals(r.getStdout(), "");
|
assertEquals(r.getStdout(), "");
|
||||||
|
|
||||||
// Remove timestamps because ls on device does not support --time-style. This is AWKward.
|
String ls_cmd = "cd /data/local/tmp/efs_test/%s;ls -AlnR .";
|
||||||
// Format is [permissions] [links] [uid] [gid] [size] time [name/symlink]
|
CommandResult mnt_ls = RunAndCheckAdbCmd(String.format(ls_cmd, "mnt"));
|
||||||
// time may have different numbers of blocks
|
CommandResult dump_ls = RunAndCheckAdbCmd(String.format(ls_cmd, "dump"));
|
||||||
// symlinks will be of the form a -> b
|
assertEquals(removeTimestamps(mnt_ls.getStdout()), removeTimestamps(dump_ls.getStdout()));
|
||||||
// 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);
|
|
||||||
|
|
||||||
getDevice().executeShellCommand("umount /data/local/tmp/efs_test/mnt");
|
getDevice().executeShellCommand("umount /data/local/tmp/efs_test/mnt");
|
||||||
getDevice().executeShellCommand("rm -rf /data/local/tmp/efs_test/dump/*");
|
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 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/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 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
|
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
|
# ZRAM setup
|
||||||
write /proc/sys/vm/page-cluster 0
|
write /proc/sys/vm/page-cluster 0
|
||||||
|
|
||||||
|
@ -150,14 +227,11 @@ on init
|
||||||
# governor setting
|
# governor setting
|
||||||
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel
|
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/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/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/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/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/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/up_rate_limit_us 500
|
||||||
write /sys/devices/system/cpu/cpu8/cpufreq/sched_pixel/down_rate_limit_us 20000
|
|
||||||
|
|
||||||
|
|
||||||
# memlat cpuidle awareness setting
|
# memlat cpuidle awareness setting
|
||||||
|
@ -374,6 +448,11 @@ on late-fs
|
||||||
# Mount RW partitions which need run fsck
|
# Mount RW partitions which need run fsck
|
||||||
mount_all --late
|
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
|
on post-fs-data
|
||||||
# Modem temperature driver
|
# Modem temperature driver
|
||||||
chown radio system /sys/devices/platform/cp-tm1/cp_temp
|
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_usbpd
|
||||||
chown system system /dev/logbuffer_wireless
|
chown system system /dev/logbuffer_wireless
|
||||||
chown system system /dev/logbuffer_pca9468
|
chown system system /dev/logbuffer_pca9468
|
||||||
|
chown system system /dev/logbuffer_dc_mains
|
||||||
chown system system /dev/logbuffer_cpm
|
chown system system /dev/logbuffer_cpm
|
||||||
chown system system /dev/logbuffer_wc68
|
chown system system /dev/logbuffer_wc68
|
||||||
chown system system /dev/logbuffer_ln8411
|
|
||||||
chown system system /dev/logbuffer_pcie0
|
chown system system /dev/logbuffer_pcie0
|
||||||
chown system system /dev/logbuffer_pcie1
|
chown system system /dev/logbuffer_pcie1
|
||||||
chown system system /dev/logbuffer_bd
|
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_gpu_lvl 9000
|
||||||
write /sys/devices/virtual/pmic/mitigation/triggered_lvl/soft_ocp_tpu_lvl 8500
|
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_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/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/tpu_clk_div 0x1
|
||||||
write /sys/devices/virtual/pmic/mitigation/clock_div/gpu_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/acd-mel_processor 0660 system audio
|
||||||
/dev/amcs 0660 system audio
|
/dev/amcs 0660 system audio
|
||||||
/dev/acd-audio_rtp_* 0660 system radio
|
/dev/acd-audio_rtp_* 0660 system radio
|
||||||
|
/dev/acd-mc_headpos 0660 system audio
|
||||||
|
|
||||||
# Secure MEM driver
|
# Secure MEM driver
|
||||||
/dev/s5p-smem 0660 drm drmrpc
|
/dev/s5p-smem 0660 drm drmrpc
|
||||||
|
@ -155,6 +156,11 @@
|
||||||
/dev/acd-com.google.chre 0660 system system
|
/dev/acd-com.google.chre 0660 system system
|
||||||
/dev/acd-com.google.chre.non_wake_up 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
|
# BT
|
||||||
/dev/acd-com.google.bt 0660 system system
|
/dev/acd-com.google.bt 0660 system system
|
||||||
/dev/acd-com.google.bt.non_wake_up 0660 system system
|
/dev/acd-com.google.bt.non_wake_up 0660 system system
|
||||||
|
|
|
@ -169,10 +169,14 @@
|
||||||
</exception>
|
</exception>
|
||||||
|
|
||||||
<exception package="com.google.android.apps.pixel.relationships">
|
<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_CALL_LOG" fixed="false"/>
|
||||||
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
|
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
|
||||||
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
|
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
|
||||||
</exception>
|
</exception>
|
||||||
|
<exception
|
||||||
|
package="com.google.android.apps.privacy.wildlife">
|
||||||
|
<permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
|
||||||
|
</exception>
|
||||||
</exceptions>
|
</exceptions>
|
||||||
|
|
||||||
|
|
|
@ -49,9 +49,10 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
||||||
ro.preventative_fsck = 1
|
ro.preventative_fsck = 1
|
||||||
|
|
||||||
# Indicate that the bootloader supports the MTE developer option switch
|
# Indicate that the bootloader supports the MTE developer option switch
|
||||||
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products that
|
# (MISC_MEMTAG_MODE_MEMTAG_ONCE), with the exception of _fullmte products and
|
||||||
# force enable MTE.
|
# eng products that force enable MTE
|
||||||
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
ifeq (,$(filter %_fullmte,$(TARGET_PRODUCT)))
|
||||||
|
ifeq (,$(filter eng,$(TARGET_BUILD_VARIANT)))
|
||||||
PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_supported=1
|
PRODUCT_PRODUCT_PROPERTIES += ro.arm64.memtag.bootctl_supported=1
|
||||||
# N.B. persist properties in product Makefiles aren't actually persisted to the data
|
# 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
|
# 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.app.com.android.nfc=off
|
||||||
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off
|
PRODUCT_PRODUCT_PROPERTIES += persist.arm64.memtag.system_server=off
|
||||||
endif
|
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/gchips/gralloc4 \
|
||||||
hardware/google/graphics/common \
|
hardware/google/graphics/common \
|
||||||
hardware/google/graphics/zuma \
|
hardware/google/graphics/zuma \
|
||||||
|
hardware/google/graphics/zuma/libhwc2.1 \
|
||||||
hardware/google/interfaces \
|
hardware/google/interfaces \
|
||||||
hardware/google/pixel \
|
hardware/google/pixel \
|
||||||
device/google/zuma \
|
device/google/zuma \
|
||||||
|
@ -95,11 +96,6 @@ TRUSTY_KEYMINT_IMPL := rust
|
||||||
ifeq ($(RELEASE_AVF_ENABLE_LLPVM_CHANGES),true)
|
ifeq ($(RELEASE_AVF_ENABLE_LLPVM_CHANGES),true)
|
||||||
# Set the environment variable to enable the Secretkeeper HAL service.
|
# Set the environment variable to enable the Secretkeeper HAL service.
|
||||||
SECRETKEEPER_ENABLED := true
|
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
|
endif
|
||||||
|
|
||||||
# OEM Unlock reporting
|
# OEM Unlock reporting
|
||||||
|
@ -191,7 +187,7 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
||||||
bluetooth.profile.asha.central.enabled?=true \
|
bluetooth.profile.asha.central.enabled?=true \
|
||||||
bluetooth.profile.a2dp.source.enabled?=true \
|
bluetooth.profile.a2dp.source.enabled?=true \
|
||||||
bluetooth.profile.avrcp.target.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.bas.client.enabled?=true \
|
||||||
bluetooth.profile.csip.set_coordinator.enabled?=true \
|
bluetooth.profile.csip.set_coordinator.enabled?=true \
|
||||||
bluetooth.profile.gatt.enabled?=true \
|
bluetooth.profile.gatt.enabled?=true \
|
||||||
|
@ -206,8 +202,8 @@ PRODUCT_PRODUCT_PROPERTIES += \
|
||||||
bluetooth.profile.pan.panu.enabled?=true \
|
bluetooth.profile.pan.panu.enabled?=true \
|
||||||
bluetooth.profile.pbap.server.enabled?=true \
|
bluetooth.profile.pbap.server.enabled?=true \
|
||||||
bluetooth.profile.sap.server.enabled?=true \
|
bluetooth.profile.sap.server.enabled?=true \
|
||||||
bluetooth.profile.tbs.server.enabled?=true \
|
bluetooth.profile.ccp.server.enabled?=true \
|
||||||
bluetooth.profile.vc.server.enabled?=true
|
bluetooth.profile.vcp.controller.enabled?=true
|
||||||
|
|
||||||
# Carrier configuration default location
|
# Carrier configuration default location
|
||||||
PRODUCT_PROPERTY_OVERRIDES += \
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
|
@ -238,6 +234,9 @@ endif
|
||||||
# Use for GRIL
|
# Use for GRIL
|
||||||
USES_LASSEN_MODEM := true
|
USES_LASSEN_MODEM := true
|
||||||
$(call soong_config_set, vendor_ril_google_feature, use_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)
|
ifeq ($(USES_GOOGLE_DIALER_CARRIER_SETTINGS),true)
|
||||||
USE_GOOGLE_DIALER := 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 \
|
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml \
|
||||||
|
|
||||||
ifneq ($(BOARD_WITHOUT_RADIO),true)
|
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
|
# modem_ml_svc_sit daemon
|
||||||
PRODUCT_PACKAGES += modem_ml_svc_sit
|
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/nnapi_stable_aidl \
|
||||||
vendor/google_devices/zuma/proprietary/gchips/tpu/aidl \
|
vendor/google_devices/zuma/proprietary/gchips/tpu/aidl \
|
||||||
vendor/google_devices/zuma/proprietary/gchips/tpu/hal \
|
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
|
vendor/google_devices/zuma/proprietary/gchips/tpu/tachyon/service
|
||||||
# TPU firmware
|
# TPU firmware
|
||||||
PRODUCT_PACKAGES += edgetpu-rio.fw
|
PRODUCT_PACKAGES += edgetpu-rio.fw
|
||||||
|
|
|
@ -153,7 +153,7 @@
|
||||||
</hal>
|
</hal>
|
||||||
<hal format="aidl" optional="true">
|
<hal format="aidl" optional="true">
|
||||||
<name>vendor.google.wifi_ext</name>
|
<name>vendor.google.wifi_ext</name>
|
||||||
<version>2-3</version>
|
<version>2-4</version>
|
||||||
<interface>
|
<interface>
|
||||||
<name>IWifiExt</name>
|
<name>IWifiExt</name>
|
||||||
<instance>default</instance>
|
<instance>default</instance>
|
||||||
|
|
|
@ -206,36 +206,12 @@ void dumpMaxFg() {
|
||||||
{"maxfg_monitor logbuffer", "/dev/logbuffer_maxfg_monitor"},
|
{"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;
|
std::string content;
|
||||||
|
|
||||||
|
|
||||||
if (isValidDir(maxfgLoc)) {
|
if (isValidDir(maxfgLoc)) {
|
||||||
for (const auto &row : maxfg) {
|
for (const auto &row : maxfg) {
|
||||||
dumpFileContent(row[0], row[1]);
|
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() {
|
void dumpPdEngine() {
|
||||||
const char* pdEngine [][2] {
|
const char* pdEngine [][2] {
|
||||||
{"Logbuffer TCPC", "/dev/logbuffer_usbpd"},
|
{"Logbuffer TCPC", "/dev/logbuffer_usbpd"},
|
||||||
{"PPS-google_cpm", "/dev/logbuffer_cpm"},
|
{"PPS-google_cpm logbuffer", "/dev/logbuffer_cpm"},
|
||||||
{"PPS-dc", "/dev/logbuffer_pca9468"},
|
{"PPS-pca9468 logbuffer", "/dev/logbuffer_pca9468"},
|
||||||
|
{"PPS-dc_mains logbuffer", "/dev/logbuffer_dc_mains"},
|
||||||
};
|
};
|
||||||
|
|
||||||
for (const auto &row : pdEngine) {
|
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() {
|
void dumpBatteryHealth() {
|
||||||
const char* batteryHealth [][2] {
|
const char* batteryHealth [][2] {
|
||||||
{"Battery Health", "/sys/class/power_supply/battery/health_index_stats"},
|
{"Battery Health", "/sys/class/power_supply/battery/health_index_stats"},
|
||||||
|
@ -361,7 +329,7 @@ void dumpBatteryHealth() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void dumpBatteryDefend() {
|
void dumpBatteryDefend() {
|
||||||
const char* defendConfig [][4] {
|
const char* defendConfig [][3] {
|
||||||
{"TRICKLE-DEFEND Config",
|
{"TRICKLE-DEFEND Config",
|
||||||
"/sys/devices/platform/google,battery/power_supply/battery/", "bd_"},
|
"/sys/devices/platform/google,battery/power_supply/battery/", "bd_"},
|
||||||
{"DWELL-DEFEND Config", "/sys/devices/platform/google,charger/", "charge_s"},
|
{"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) {
|
void printValuesOfDirectory(const char *directory, std::string debugfs, const char *strMatch) {
|
||||||
std::vector<std::string> files;
|
std::vector<std::string> files;
|
||||||
auto info = directory;
|
auto info = directory;
|
||||||
|
@ -480,7 +499,6 @@ void dumpChgUserDebug() {
|
||||||
const std::string debugfs = "/d/";
|
const std::string debugfs = "/d/";
|
||||||
const char *maxFgDir = "/d/maxfg";
|
const char *maxFgDir = "/d/maxfg";
|
||||||
const char *maxFgStrMatch = "maxfg";
|
const char *maxFgStrMatch = "maxfg";
|
||||||
const char *maxFg77779StrMatch = "max77779fg";
|
|
||||||
const char *chgTblName = "Charging table dump";
|
const char *chgTblName = "Charging table dump";
|
||||||
const char *chgTblDir = "/d/google_battery/chg_raw_profile";
|
const char *chgTblDir = "/d/google_battery/chg_raw_profile";
|
||||||
|
|
||||||
|
@ -488,16 +506,6 @@ void dumpChgUserDebug() {
|
||||||
"fg_model",
|
"fg_model",
|
||||||
"algo_ver",
|
"algo_ver",
|
||||||
"model_ok",
|
"model_ok",
|
||||||
"registers",
|
|
||||||
"nv_registers",
|
|
||||||
};
|
|
||||||
|
|
||||||
const char *max77779FgInfo [] {
|
|
||||||
"fg_model",
|
|
||||||
"algo_ver",
|
|
||||||
"model_ok",
|
|
||||||
"registers",
|
|
||||||
"debug_registers",
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (isUserBuild())
|
if (isUserBuild())
|
||||||
|
@ -509,10 +517,6 @@ void dumpChgUserDebug() {
|
||||||
for (auto & directory : maxFgInfo) {
|
for (auto & directory : maxFgInfo) {
|
||||||
printValuesOfDirectory(directory, debugfs, maxFgStrMatch);
|
printValuesOfDirectory(directory, debugfs, maxFgStrMatch);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
for (auto & directory : max77779FgInfo) {
|
|
||||||
printValuesOfDirectory(directory, debugfs, maxFg77779StrMatch);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -980,9 +984,9 @@ int main() {
|
||||||
dumpPdEngine();
|
dumpPdEngine();
|
||||||
dumpEusbRepeater();
|
dumpEusbRepeater();
|
||||||
dumpWc68();
|
dumpWc68();
|
||||||
dumpLn8411();
|
|
||||||
dumpBatteryHealth();
|
dumpBatteryHealth();
|
||||||
dumpBatteryDefend();
|
dumpBatteryDefend();
|
||||||
|
dumpBatteryCaretaker();
|
||||||
dumpChg();
|
dumpChg();
|
||||||
dumpChgUserDebug();
|
dumpChgUserDebug();
|
||||||
dumpBatteryEeprom();
|
dumpBatteryEeprom();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<manifest version="1.0" type="device">
|
<manifest version="1.0" type="device">
|
||||||
<hal format="aidl">
|
<hal format="aidl">
|
||||||
<name>android.hardware.health</name>
|
<name>android.hardware.health</name>
|
||||||
<version>3</version>
|
<version>4</version>
|
||||||
<fqname>IHealth/default</fqname>
|
<fqname>IHealth/default</fqname>
|
||||||
</hal>
|
</hal>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -51,11 +51,11 @@
|
||||||
</Decoders>
|
</Decoders>
|
||||||
<Encoders>
|
<Encoders>
|
||||||
<MediaCodec name="c2.google.av1.encoder" type="video/av01">
|
<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="alignment" value="1x1" />
|
||||||
<Limit name="block-size" value="64x64" />
|
<Limit name="block-size" value="64x64" />
|
||||||
<Limit name="block-count" range="1-2040" />
|
<Limit name="block-count" range="4-2040" />
|
||||||
<Limit name="blocks-per-second" min="1" max="61200" />
|
<Limit name="blocks-per-second" min="4" max="61200" />
|
||||||
<Limit name="bitrate" range="1-120000000" />
|
<Limit name="bitrate" range="1-120000000" />
|
||||||
<Limit name="performance-point-1280x720" value="200" />
|
<Limit name="performance-point-1280x720" value="200" />
|
||||||
<Limit name="performance-point-1920x1080" value="180" />
|
<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. -->
|
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
|
||||||
<bool name="config_zramWriteback">true</bool>
|
<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 -->
|
<!-- Boolean indicating if restoring network selection should be skipped -->
|
||||||
<!-- The restoring is handled by modem if it is true -->
|
<!-- The restoring is handled by modem if it is true -->
|
||||||
<bool translatable="false" name="skip_restoring_network_selection">true</bool>
|
<bool translatable="false" name="skip_restoring_network_selection">true</bool>
|
||||||
|
@ -311,13 +314,6 @@
|
||||||
<!-- Pre-scale volume at volume step 3 for Absolute Volume -->
|
<!-- Pre-scale volume at volume step 3 for Absolute Volume -->
|
||||||
<fraction name="config_prescaleAbsoluteVolume_index3">100%</fraction>
|
<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. -->
|
<!-- Whether to enable usb state update via udc sysfs. -->
|
||||||
<bool name="config_enableUdcSysfsUsbStateUpdate">true</bool>
|
<bool name="config_enableUdcSysfsUsbStateUpdate">true</bool>
|
||||||
</resources>
|
</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",
|
"Name": "RealtimePerformance",
|
||||||
"Actions": [
|
"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",
|
"Name": "ResetUclampGrp",
|
||||||
"Actions": [
|
"Actions": [
|
||||||
|
@ -287,11 +498,35 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"Name": "OtaProfiles",
|
"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",
|
"Name": "InputPolicy",
|
||||||
"Profiles": [ "ResetUclampGrp" ]
|
"Profiles": [ "MaxPerformance", "SCHED_QOS_SENSITIVE_EXTREME_SET" ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1090,26 +1090,30 @@ void queryVersionHelper(android::hardware::usb::Usb *usb,
|
||||||
|
|
||||||
pthread_mutex_lock(&usb->mLock);
|
pthread_mutex_lock(&usb->mLock);
|
||||||
status = getPortStatusHelper(usb, currentPortStatus);
|
status = getPortStatusHelper(usb, currentPortStatus);
|
||||||
queryMoistureDetectionStatus(currentPortStatus);
|
if (status == Status::SUCCESS && currentPortStatus->size() > 0) {
|
||||||
queryPowerTransferStatus(currentPortStatus);
|
queryMoistureDetectionStatus(currentPortStatus);
|
||||||
queryNonCompliantChargerStatus(currentPortStatus);
|
queryPowerTransferStatus(currentPortStatus);
|
||||||
queryUsbDataSession(usb, currentPortStatus);
|
queryNonCompliantChargerStatus(currentPortStatus);
|
||||||
pthread_mutex_lock(&usb->mDisplayPortLock);
|
queryUsbDataSession(usb, currentPortStatus);
|
||||||
if (!usb->mDisplayPortFirstSetupDone &&
|
pthread_mutex_lock(&usb->mDisplayPortLock);
|
||||||
usb->getDisplayPortUsbPathHelper(&displayPortUsbPath) == Status::SUCCESS) {
|
if (!usb->mDisplayPortFirstSetupDone &&
|
||||||
|
usb->getDisplayPortUsbPathHelper(&displayPortUsbPath) == Status::SUCCESS) {
|
||||||
|
|
||||||
ALOGI("usbdp: boot with display connected or usb hal restarted");
|
ALOGI("usbdp: boot with display connected or usb hal restarted");
|
||||||
usb->setupDisplayPortPoll();
|
usb->setupDisplayPortPoll();
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&usb->mDisplayPortLock);
|
pthread_mutex_unlock(&usb->mDisplayPortLock);
|
||||||
queryDisplayPortStatus(usb, currentPortStatus);
|
queryDisplayPortStatus(usb, currentPortStatus);
|
||||||
if (usb->mCallback != NULL) {
|
if (usb->mCallback != NULL) {
|
||||||
ScopedAStatus ret = usb->mCallback->notifyPortStatusChange(*currentPortStatus,
|
ScopedAStatus ret = usb->mCallback->notifyPortStatusChange(*currentPortStatus,
|
||||||
status);
|
status);
|
||||||
if (!ret.isOk())
|
if (!ret.isOk())
|
||||||
ALOGE("queryPortStatus error %s", ret.getDescription().c_str());
|
ALOGE("queryPortStatus error %s", ret.getDescription().c_str());
|
||||||
|
} else {
|
||||||
|
ALOGI("Notifying userspace skipped. Callback is NULL");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
ALOGI("Notifying userspace skipped. Callback is NULL");
|
ALOGI("%s skipped. currentPortStatus is empty", __func__);
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&usb->mLock);
|
pthread_mutex_unlock(&usb->mLock);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue