Merge Android 14 QPR3 to AOSP main
Bug: 346855327 Merged-In: I7ceeb6d178b83f9029bcc4fd3e28fc33c8ce56e9 Change-Id: I3b7e1df15b00c4aa916b5bbc3497022a01f44371
This commit is contained in:
commit
635f54a299
22 changed files with 246 additions and 187 deletions
|
@ -163,6 +163,7 @@ TARGET_COPY_OUT_SYSTEM_EXT := system_ext
|
||||||
# Video Codec
|
# Video Codec
|
||||||
########################
|
########################
|
||||||
# 1. Exynos C2
|
# 1. Exynos C2
|
||||||
|
BOARD_USE_CODEC2_HIDL_1_2 := true
|
||||||
BOARD_USE_CSC_FILTER := false
|
BOARD_USE_CSC_FILTER := false
|
||||||
BOARD_USE_DEC_SW_CSC := true
|
BOARD_USE_DEC_SW_CSC := true
|
||||||
BOARD_USE_ENC_SW_CSC := true
|
BOARD_USE_ENC_SW_CSC := true
|
||||||
|
@ -347,6 +348,14 @@ KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko)
|
||||||
|
|
||||||
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
|
BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.blocklist
|
||||||
|
|
||||||
|
# Since Pixel 6/6pro doesn't have a system_dlkm partition, the GKI modules are
|
||||||
|
# on the vendor_dlkm partition. In order to allow them to load properly, we
|
||||||
|
# need to retain the module signature which would normally get stripped during
|
||||||
|
# packaging. Disable stripping the vendor_dlkm modules to retain the GKI
|
||||||
|
# modules' signature. Note, the pixel kernel builds always strip the modules in
|
||||||
|
# favor of saving space via the kleaf property: strip_modules = True.
|
||||||
|
BOARD_DO_NOT_STRIP_VENDOR_MODULES := true
|
||||||
|
|
||||||
# Prebuilt kernel modules that are *not* listed in vendor_boot.modules.load
|
# Prebuilt kernel modules that are *not* listed in vendor_boot.modules.load
|
||||||
BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES = fips140/fips140.ko
|
BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES = fips140/fips140.ko
|
||||||
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k)))
|
BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD_EXTRA = $(foreach k,$(BOARD_PREBUILT_VENDOR_RAMDISK_KERNEL_MODULES),$(if $(wildcard $(KERNEL_MODULE_DIR)/$(k)), $(k)))
|
||||||
|
|
|
@ -16,12 +16,8 @@ on init
|
||||||
write /proc/vendor_sched/teo_util_threshold "1024 1024 1024"
|
write /proc/vendor_sched/teo_util_threshold "1024 1024 1024"
|
||||||
|
|
||||||
# Boot time fs tuning
|
# Boot time fs tuning
|
||||||
write /sys/block/sda/queue/iostats 0
|
|
||||||
write /sys/block/sda/queue/scheduler bfq
|
write /sys/block/sda/queue/scheduler bfq
|
||||||
write /sys/block/sda/queue/iosched/slice_idle 0
|
write /sys/block/sda/queue/iosched/slice_idle 0
|
||||||
write /sys/block/sda/queue/nr_requests 256
|
|
||||||
write /dev/sys/fs/by-name/userdata/data_io_flag 56
|
|
||||||
write /dev/sys/fs/by-name/userdata/node_io_flag 56
|
|
||||||
|
|
||||||
chown system system /proc/vendor_sched/groups/bg/set_task_group
|
chown system system /proc/vendor_sched/groups/bg/set_task_group
|
||||||
chown system system /proc/vendor_sched/groups/cam/set_task_group
|
chown system system /proc/vendor_sched/groups/cam/set_task_group
|
||||||
|
@ -101,15 +97,6 @@ on init
|
||||||
chmod 0220 /proc/vendor_sched/pmu_poll_enable
|
chmod 0220 /proc/vendor_sched/pmu_poll_enable
|
||||||
chmod 0220 /proc/vendor_sched/pmu_poll_time
|
chmod 0220 /proc/vendor_sched/pmu_poll_time
|
||||||
|
|
||||||
wait /dev/block/platform/${ro.boot.boot_devices}
|
|
||||||
symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice
|
|
||||||
|
|
||||||
# to access UFS/eMMC sysfs directly
|
|
||||||
symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice
|
|
||||||
|
|
||||||
# Disable UFS powersaving
|
|
||||||
write /dev/sys/block/bootdevice/clkgate_enable 0
|
|
||||||
|
|
||||||
start vendor.keymaster-3-0
|
start vendor.keymaster-3-0
|
||||||
|
|
||||||
# ZRAM setup
|
# ZRAM setup
|
||||||
|
@ -161,11 +148,11 @@ on init
|
||||||
mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
|
mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
|
||||||
|
|
||||||
# Boot time 183626384
|
# Boot time 183626384
|
||||||
write /proc/vendor_sched/groups/ta/uclamp_min 161
|
write /proc/vendor_sched/groups/ta/uclamp_min 201
|
||||||
write /proc/vendor_sched/groups/ta/prefer_idle 1
|
write /proc/vendor_sched/groups/ta/prefer_idle 1
|
||||||
write /proc/vendor_sched/groups/fg/uclamp_min 161
|
write /proc/vendor_sched/groups/fg/uclamp_min 201
|
||||||
write /proc/vendor_sched/groups/fg/prefer_idle 1
|
write /proc/vendor_sched/groups/fg/prefer_idle 1
|
||||||
write /proc/vendor_sched/groups/sys/uclamp_min 161
|
write /proc/vendor_sched/groups/sys/uclamp_min 201
|
||||||
write /proc/vendor_sched/groups/sys/prefer_idle 1
|
write /proc/vendor_sched/groups/sys/prefer_idle 1
|
||||||
|
|
||||||
# governor setting
|
# governor setting
|
||||||
|
@ -247,6 +234,7 @@ on init
|
||||||
chown system system /dev/logbuffer_pca9468
|
chown system system /dev/logbuffer_pca9468
|
||||||
chown system system /dev/logbuffer_cpm
|
chown system system /dev/logbuffer_cpm
|
||||||
chown system system /dev/logbuffer_bd
|
chown system system /dev/logbuffer_bd
|
||||||
|
chown system system /dev/logbuffer_cpif
|
||||||
|
|
||||||
# Dump maxfg
|
# Dump maxfg
|
||||||
chown system system /sys/class/power_supply/maxfg/m5_model_state
|
chown system system /sys/class/power_supply/maxfg/m5_model_state
|
||||||
|
@ -298,6 +286,7 @@ on init
|
||||||
|
|
||||||
# BatteryHealthData
|
# BatteryHealthData
|
||||||
chown system system /sys/class/power_supply/battery/first_usage_date
|
chown system system /sys/class/power_supply/battery/first_usage_date
|
||||||
|
chown system system /sys/class/power_supply/battery/swelling_data
|
||||||
|
|
||||||
# Battery Defender
|
# Battery Defender
|
||||||
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_cnt
|
chown system system /sys/devices/platform/google,battery/power_supply/battery/bd_trickle_cnt
|
||||||
|
@ -323,6 +312,7 @@ on init
|
||||||
chown system system /sys/devices/platform/google,charger/bd_trigger_time
|
chown system system /sys/devices/platform/google,charger/bd_trigger_time
|
||||||
chown system system /sys/devices/platform/google,charger/bd_trigger_voltage
|
chown system system /sys/devices/platform/google,charger/bd_trigger_voltage
|
||||||
chown system system /sys/devices/platform/google,charger/bd_clear
|
chown system system /sys/devices/platform/google,charger/bd_clear
|
||||||
|
chown system system /sys/devices/platform/google,charger/bd_state
|
||||||
chown system system /sys/devices/platform/google,charger/charge_start_level
|
chown system system /sys/devices/platform/google,charger/charge_start_level
|
||||||
chown system system /sys/devices/platform/google,charger/charge_stop_level
|
chown system system /sys/devices/platform/google,charger/charge_stop_level
|
||||||
chown system system /sys/devices/platform/google,cpm/dc_ctl
|
chown system system /sys/devices/platform/google,cpm/dc_ctl
|
||||||
|
@ -500,15 +490,6 @@ on early-boot
|
||||||
# Wait for insmod_sh to finish all common modules
|
# Wait for insmod_sh to finish all common modules
|
||||||
wait_for_prop vendor.common.modules.ready 1
|
wait_for_prop vendor.common.modules.ready 1
|
||||||
|
|
||||||
# Permission for Health Storage HAL
|
|
||||||
chown system system /dev/sys/block/bootdevice/manual_gc
|
|
||||||
|
|
||||||
# Permission for Pixelstats
|
|
||||||
chown system system /dev/sys/block/bootdevice/slowio_read_cnt
|
|
||||||
chown system system /dev/sys/block/bootdevice/slowio_write_cnt
|
|
||||||
chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt
|
|
||||||
chown system system /dev/sys/block/bootdevice/slowio_sync_cnt
|
|
||||||
|
|
||||||
on boot
|
on boot
|
||||||
|
|
||||||
# Allow to access debugfs for system:system
|
# Allow to access debugfs for system:system
|
||||||
|
@ -601,6 +582,7 @@ on fs
|
||||||
chown system system /sys/class/backlight/panel0-backlight/dimming_on
|
chown system system /sys/class/backlight/panel0-backlight/dimming_on
|
||||||
chown system system /sys/class/backlight/panel0-backlight/hbm_mode
|
chown system system /sys/class/backlight/panel0-backlight/hbm_mode
|
||||||
chown system system /sys/class/backlight/panel0-backlight/local_hbm_mode
|
chown system system /sys/class/backlight/panel0-backlight/local_hbm_mode
|
||||||
|
chown system system /sys/class/backlight/panel0-backlight/allow_wakeup_by_state_change
|
||||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma
|
chown system system /sys/devices/platform/exynos-drm/primary-panel/gamma
|
||||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/min_vrefresh
|
chown system system /sys/devices/platform/exynos-drm/primary-panel/min_vrefresh
|
||||||
chown system system /sys/devices/platform/exynos-drm/primary-panel/idle_delay_ms
|
chown system system /sys/devices/platform/exynos-drm/primary-panel/idle_delay_ms
|
||||||
|
@ -696,20 +678,6 @@ on property:init.svc.vendor.charger=running
|
||||||
write /sys/devices/system/cpu/cpu7/online 0
|
write /sys/devices/system/cpu/cpu7/online 0
|
||||||
|
|
||||||
on property:sys.boot_completed=1
|
on property:sys.boot_completed=1
|
||||||
|
|
||||||
# Runtime fs tuning
|
|
||||||
write /sys/block/sda/queue/nr_requests 64
|
|
||||||
write /sys/block/sda/queue/iostats 1
|
|
||||||
write /dev/sys/fs/by-name/userdata/data_io_flag 8
|
|
||||||
write /dev/sys/fs/by-name/userdata/node_io_flag 8
|
|
||||||
|
|
||||||
# Permission for Pixelstats
|
|
||||||
chown system system /dev/sys/fs/by-name/userdata/compr_written_block
|
|
||||||
chown system system /dev/sys/fs/by-name/userdata/compr_saved_block
|
|
||||||
chown system system /dev/sys/fs/by-name/userdata/compr_new_inode
|
|
||||||
chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode
|
|
||||||
chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments
|
|
||||||
|
|
||||||
# Enable ZRAM on boot_complete
|
# Enable ZRAM on boot_complete
|
||||||
swapon_all /vendor/etc/fstab.${ro.board.platform}
|
swapon_all /vendor/etc/fstab.${ro.board.platform}
|
||||||
write /proc/sys/vm/swappiness 60
|
write /proc/sys/vm/swappiness 60
|
||||||
|
@ -721,9 +689,6 @@ on property:sys.boot_completed=1
|
||||||
write /proc/sys/vm/dirty_expire_centisecs 3000
|
write /proc/sys/vm/dirty_expire_centisecs 3000
|
||||||
write /proc/sys/vm/dirty_background_ratio 10
|
write /proc/sys/vm/dirty_background_ratio 10
|
||||||
|
|
||||||
# Enable UFS powersaving
|
|
||||||
write /dev/sys/block/bootdevice/clkgate_enable 1
|
|
||||||
|
|
||||||
# Reset DDR frequency
|
# Reset DDR frequency
|
||||||
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
|
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
|
||||||
write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
|
write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
|
||||||
|
@ -884,7 +849,7 @@ on property:vendor.thermal.link_ready=1
|
||||||
# BCL
|
# BCL
|
||||||
write /sys/devices/virtual/pmic/mitigation/clock_ratio/tpu_light_clk_ratio 0x80041c3
|
write /sys/devices/virtual/pmic/mitigation/clock_ratio/tpu_light_clk_ratio 0x80041c3
|
||||||
write /sys/devices/virtual/pmic/mitigation/clock_ratio/cpu2_light_clk_ratio 0xfff041c3
|
write /sys/devices/virtual/pmic/mitigation/clock_ratio/cpu2_light_clk_ratio 0xfff041c3
|
||||||
write /sys/devices/virtual/pmic/mitigation/clock_ratio/gpu_heavy_clk_ratio 0xfff04381
|
write /sys/devices/virtual/pmic/mitigation/clock_ratio/gpu_heavy_clk_ratio 0xfff04385
|
||||||
write /sys/devices/virtual/pmic/mitigation/clock_ratio/tpu_heavy_clk_ratio 0xfff041c1
|
write /sys/devices/virtual/pmic/mitigation/clock_ratio/tpu_heavy_clk_ratio 0xfff041c1
|
||||||
write /sys/devices/virtual/pmic/mitigation/clock_ratio/cpu2_heavy_clk_ratio 0xfff041c0
|
write /sys/devices/virtual/pmic/mitigation/clock_ratio/cpu2_heavy_clk_ratio 0xfff041c0
|
||||||
write /dev/thermal/tz-by-name/smpl_gm/policy user_space
|
write /dev/thermal/tz-by-name/smpl_gm/policy user_space
|
||||||
|
@ -974,16 +939,6 @@ on charger
|
||||||
mkdir /dev/thermal/cdev-by-name 0750 system system
|
mkdir /dev/thermal/cdev-by-name 0750 system system
|
||||||
start vendor.thermal.symlinks
|
start vendor.thermal.symlinks
|
||||||
|
|
||||||
# Runtime fs tuning
|
|
||||||
write /sys/block/sda/queue/nr_requests 64
|
|
||||||
write /sys/block/sda/queue/iostats 1
|
|
||||||
write /sys/block/sda/queue/iosched/slice_idle 0
|
|
||||||
write /dev/sys/fs/by-name/userdata/data_io_flag 8
|
|
||||||
write /dev/sys/fs/by-name/userdata/node_io_flag 8
|
|
||||||
|
|
||||||
# Enable UFS powersaving
|
|
||||||
write /dev/sys/block/bootdevice/clkgate_enable 1
|
|
||||||
|
|
||||||
# Cancel boot devfreq and uclamp
|
# Cancel boot devfreq and uclamp
|
||||||
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
|
write /sys/devices/platform/17000010.devfreq_mif/devfreq/17000010.devfreq_mif/exynos_data/cancel_boot_freq 1
|
||||||
write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
|
write /sys/devices/platform/17000020.devfreq_int/devfreq/17000020.devfreq_int/exynos_data/cancel_boot_freq 1
|
||||||
|
@ -1003,10 +958,7 @@ on property:vendor.disable.bcl.control=1
|
||||||
on property:vendor.disable.bcl.control=0
|
on property:vendor.disable.bcl.control=0
|
||||||
write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 1
|
write /sys/devices/virtual/pmic/mitigation/instruction/enable_mitigation 1
|
||||||
|
|
||||||
# UFS
|
|
||||||
on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
|
on property:ro.boot.mode=charger && property:init.svc.vendor.charger=running
|
||||||
# Enable UFS powersaving in Off Mode Charger
|
|
||||||
write /dev/sys/block/bootdevice/clkgate_enable 1
|
|
||||||
# Disable dock-defend in Off Mode Charger
|
# Disable dock-defend in Off Mode Charger
|
||||||
write /sys/devices/platform/google,charger/dd_state -1
|
write /sys/devices/platform/google,charger/dd_state -1
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,6 @@
|
||||||
/dev/video55 0666 system graphics
|
/dev/video55 0666 system graphics
|
||||||
/dev/g2d 0660 system graphics
|
/dev/g2d 0660 system graphics
|
||||||
/dev/fimg2d 0666 system graphics
|
/dev/fimg2d 0666 system graphics
|
||||||
/dev/i2c-2 0660 system system
|
|
||||||
/dev/HPD 0660 system system
|
/dev/HPD 0660 system system
|
||||||
|
|
||||||
# wfd
|
# wfd
|
||||||
|
@ -221,7 +220,7 @@
|
||||||
/sys/devices/platform/11110000.usb/11110000.dwc3/xhci-hcd-exynos.4.auto/usb2/2-1/*/*/leds/* multi_intensity 0664 system system
|
/sys/devices/platform/11110000.usb/11110000.dwc3/xhci-hcd-exynos.4.auto/usb2/2-1/*/*/leds/* multi_intensity 0664 system system
|
||||||
|
|
||||||
# Dump Battery EEPROM history for pixelstats
|
# Dump Battery EEPROM history for pixelstats
|
||||||
/sys/devices/platform/10970000.hsi2c/i2c-7/7-0050 eeprom 0644 system system
|
/sys/devices/platform/10970000.hsi2c/i2c-8/8-0050 eeprom 0644 system system
|
||||||
/dev/battery_history 0644 system system
|
/dev/battery_history 0644 system system
|
||||||
|
|
||||||
# ODPM
|
# ODPM
|
||||||
|
@ -231,20 +230,13 @@
|
||||||
/sys/class/typec/port0 power_role 664 root system
|
/sys/class/typec/port0 power_role 664 root system
|
||||||
/sys/class/typec/port0 data_role 664 root system
|
/sys/class/typec/port0 data_role 664 root system
|
||||||
/sys/class/typec/port0 port_type 664 root system
|
/sys/class/typec/port0 port_type 664 root system
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc contaminant_detection 664 root system
|
/sys/devices/platform/10d50000.hsi2c/i2c-12/12-0025 contaminant_detection 664 root system
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc usb_limit_accessory_current 664 root system
|
/sys/devices/platform/10d50000.hsi2c/i2c-12/12-0025 usb_limit_accessory_current 664 root system
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc usb_limit_accessory_enable 664 root system
|
/sys/devices/platform/10d50000.hsi2c/i2c-12/12-0025 usb_limit_accessory_enable 664 root system
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc usb_limit_sink_current 664 root system
|
/sys/devices/platform/10d50000.hsi2c/i2c-12/12-0025 usb_limit_sink_current 664 root system
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc usb_limit_sink_enable 664 root system
|
/sys/devices/platform/10d50000.hsi2c/i2c-12/12-0025 usb_limit_sink_enable 664 root system
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc usb_limit_source_enable 664 root system
|
/sys/devices/platform/10d50000.hsi2c/i2c-12/12-0025 usb_limit_source_enable 664 root system
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc update_sdp_enum_timeout 664 root system
|
/sys/devices/platform/10d50000.hsi2c/i2c-12/12-0025 update_sdp_enum_timeout 664 root system
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025 contaminant_detection 664 root system
|
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025 usb_limit_accessory_current 664 root system
|
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025 usb_limit_accessory_enable 664 root system
|
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025 usb_limit_sink_current 664 root system
|
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025 usb_limit_sink_enable 664 root system
|
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025 usb_limit_source_enable 664 root system
|
|
||||||
/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025 update_sdp_enum_timeout 664 root system
|
|
||||||
/sys/devices/platform/11110000.usb dwc3_exynos_otg_b_sess 664 root system
|
/sys/devices/platform/11110000.usb dwc3_exynos_otg_b_sess 664 root system
|
||||||
/sys/devices/platform/11110000.usb dwc3_exynos_otg_id 664 root system
|
/sys/devices/platform/11110000.usb dwc3_exynos_otg_id 664 root system
|
||||||
/sys/devices/platform/11110000.usb usb_data_enabled 664 root system
|
/sys/devices/platform/11110000.usb usb_data_enabled 664 root system
|
||||||
|
|
|
@ -54,6 +54,8 @@
|
||||||
<exception package="com.google.android.apps.camera.services">
|
<exception package="com.google.android.apps.camera.services">
|
||||||
<!-- Camera -->
|
<!-- Camera -->
|
||||||
<permission name="android.permission.CAMERA" fixed="false"/>
|
<permission name="android.permission.CAMERA" fixed="false"/>
|
||||||
|
<!-- Camera Connectivity -->
|
||||||
|
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false"/>
|
||||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||||
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
||||||
<permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
|
<permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
|
||||||
|
|
66
device.mk
66
device.mk
|
@ -36,6 +36,9 @@ include device/google/gs-common/sota_app/factoryota.mk
|
||||||
include device/google/gs-common/misc_writer/misc_writer.mk
|
include device/google/gs-common/misc_writer/misc_writer.mk
|
||||||
include device/google/gs-common/gyotaku_app/gyotaku.mk
|
include device/google/gs-common/gyotaku_app/gyotaku.mk
|
||||||
include device/google/gs-common/bootctrl/bootctrl_aidl.mk
|
include device/google/gs-common/bootctrl/bootctrl_aidl.mk
|
||||||
|
ifneq ($(filter oriole raven bluejay, $(TARGET_PRODUCT)),)
|
||||||
|
include device/google/gs-common/bcmbt/dump/dumplog.mk
|
||||||
|
endif
|
||||||
|
|
||||||
TARGET_BOARD_PLATFORM := gs101
|
TARGET_BOARD_PLATFORM := gs101
|
||||||
DEVICE_IS_64BIT_ONLY ?= $(if $(filter %_64,$(TARGET_PRODUCT)),true,false)
|
DEVICE_IS_64BIT_ONLY ?= $(if $(filter %_64,$(TARGET_PRODUCT)),true,false)
|
||||||
|
@ -66,7 +69,7 @@ PRODUCT_SOONG_NAMESPACES += \
|
||||||
hardware/google/pixel \
|
hardware/google/pixel \
|
||||||
device/google/gs101 \
|
device/google/gs101 \
|
||||||
device/google/gs101/powerstats \
|
device/google/gs101/powerstats \
|
||||||
system/chre/host/hal_generic \
|
vendor/google_devices/common/chre/host/hal \
|
||||||
vendor/google/whitechapel/tools \
|
vendor/google/whitechapel/tools \
|
||||||
vendor/google/camera \
|
vendor/google/camera \
|
||||||
vendor/google/interfaces \
|
vendor/google/interfaces \
|
||||||
|
@ -236,6 +239,7 @@ PRODUCT_COPY_FILES += \
|
||||||
frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
|
frameworks/native/data/etc/android.hardware.vulkan.version-1_3.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \
|
||||||
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
|
frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \
|
||||||
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
|
frameworks/native/data/etc/android.hardware.vulkan.compute-0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.compute.xml \
|
||||||
|
frameworks/native/data/etc/android.software.contextualsearch.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.contextualsearch.xml \
|
||||||
frameworks/native/data/etc/android.software.vulkan.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
|
frameworks/native/data/etc/android.software.vulkan.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \
|
||||||
frameworks/native/data/etc/android.software.opengles.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml
|
frameworks/native/data/etc/android.software.opengles.deqp.level-2023-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml
|
||||||
|
|
||||||
|
@ -254,8 +258,7 @@ PRODUCT_VENDOR_PROPERTIES += \
|
||||||
|
|
||||||
PRODUCT_VENDOR_PROPERTIES += \
|
PRODUCT_VENDOR_PROPERTIES += \
|
||||||
ro.opengles.version=196610 \
|
ro.opengles.version=196610 \
|
||||||
graphics.gpu.profiler.support=true \
|
graphics.gpu.profiler.support=true
|
||||||
debug.renderengine.backend=skiaglthreaded
|
|
||||||
|
|
||||||
# b/295257834 Add HDR shaders to SurfaceFlinger's pre-warming cache
|
# b/295257834 Add HDR shaders to SurfaceFlinger's pre-warming cache
|
||||||
PRODUCT_VENDOR_PROPERTIES += ro.surface_flinger.prime_shader_cache.ultrahdr=1
|
PRODUCT_VENDOR_PROPERTIES += ro.surface_flinger.prime_shader_cache.ultrahdr=1
|
||||||
|
@ -338,24 +341,20 @@ PRODUCT_HOST_PACKAGES += \
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
messaging
|
messaging
|
||||||
|
|
||||||
# Contexthub HAL
|
# CHRE
|
||||||
PRODUCT_PACKAGES += \
|
## tools
|
||||||
android.hardware.contexthub-service.generic
|
|
||||||
|
|
||||||
# CHRE tools
|
|
||||||
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
chre_power_test_client \
|
chre_power_test_client \
|
||||||
chre_test_client
|
chre_test_client \
|
||||||
|
chre_aidl_hal_client
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
## HAL
|
||||||
|
include device/google/gs-common/chre/hal.mk
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
frameworks/native/data/etc/android.hardware.context_hub.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.context_hub.xml
|
frameworks/native/data/etc/android.hardware.context_hub.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.context_hub.xml
|
||||||
|
|
||||||
# Enable the CHRE Daemon
|
|
||||||
CHRE_USF_DAEMON_ENABLED := true
|
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
chre \
|
|
||||||
preloaded_nanoapps.json
|
preloaded_nanoapps.json
|
||||||
|
|
||||||
# Filesystem management tools
|
# Filesystem management tools
|
||||||
|
@ -512,7 +511,7 @@ PRODUCT_PACKAGES += \
|
||||||
# for now include gralloc here. should come from hardware/google_devices/exynos5
|
# for now include gralloc here. should come from hardware/google_devices/exynos5
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
android.hardware.graphics.mapper@4.0-impl \
|
android.hardware.graphics.mapper@4.0-impl \
|
||||||
android.hardware.graphics.allocator-V2-service
|
android.hardware.graphics.allocator-V1-service
|
||||||
|
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
android.hardware.memtrack-service.pixel \
|
android.hardware.memtrack-service.pixel \
|
||||||
|
@ -677,10 +676,8 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_color_management=tr
|
||||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.protected_contents=true
|
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.protected_contents=true
|
||||||
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.display_update_imminent_timeout_ms=50
|
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.display_update_imminent_timeout_ms=50
|
||||||
|
|
||||||
# force to blend in P3 mode
|
|
||||||
PRODUCT_PROPERTY_OVERRIDES += \
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
persist.sys.sf.native_mode=2 \
|
persist.sys.sf.native_mode=2
|
||||||
persist.sys.sf.color_mode=9
|
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
device/google/gs101/display/display_colordata_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_cal0.pb
|
device/google/gs101/display/display_colordata_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_colordata_cal0.pb
|
||||||
|
|
||||||
|
@ -728,30 +725,14 @@ endif
|
||||||
$(call soong_config_set,bigo,soc,gs101)
|
$(call soong_config_set,bigo,soc,gs101)
|
||||||
|
|
||||||
# 1. Codec 2.0
|
# 1. Codec 2.0
|
||||||
# exynos service
|
# for settings used by different C2 hal
|
||||||
PRODUCT_SOONG_NAMESPACES += vendor/samsung_slsi/codec2
|
include device/google/gs-common/mediacodec/common/mediacodec_common.mk
|
||||||
|
# for Exynos C2 Hal
|
||||||
|
include device/google/gs-common/mediacodec/samsung/mediacodec_samsung.mk
|
||||||
|
|
||||||
PRODUCT_COPY_FILES += \
|
PRODUCT_COPY_FILES += \
|
||||||
device/google/gs101/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
|
device/google/gs101/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
|
||||||
|
|
||||||
PRODUCT_PACKAGES += \
|
|
||||||
samsung.hardware.media.c2@1.0-service \
|
|
||||||
codec2.vendor.base.policy \
|
|
||||||
codec2.vendor.ext.policy \
|
|
||||||
libExynosC2ComponentStore \
|
|
||||||
libExynosC2H264Dec \
|
|
||||||
libExynosC2H264Enc \
|
|
||||||
libExynosC2HevcDec \
|
|
||||||
libExynosC2HevcEnc \
|
|
||||||
libExynosC2Mpeg4Dec \
|
|
||||||
libExynosC2Mpeg4Enc \
|
|
||||||
libExynosC2H263Dec \
|
|
||||||
libExynosC2H263Enc \
|
|
||||||
libExynosC2Vp8Dec \
|
|
||||||
libExynosC2Vp8Enc \
|
|
||||||
libExynosC2Vp9Dec \
|
|
||||||
libExynosC2Vp9Enc
|
|
||||||
|
|
||||||
PRODUCT_PROPERTY_OVERRIDES += \
|
PRODUCT_PROPERTY_OVERRIDES += \
|
||||||
debug.stagefright.c2-poolmask=458752 \
|
debug.stagefright.c2-poolmask=458752 \
|
||||||
debug.c2.use_dmabufheaps=1 \
|
debug.c2.use_dmabufheaps=1 \
|
||||||
|
@ -1038,6 +1019,14 @@ PRODUCT_PROPERTY_OVERRIDES += persist.vendor.enable.thermal.genl=true
|
||||||
include device/google/gs-common/edgetpu/edgetpu.mk
|
include device/google/gs-common/edgetpu/edgetpu.mk
|
||||||
# Config variables for TPU chip on device.
|
# Config variables for TPU chip on device.
|
||||||
$(call soong_config_set,edgetpu_config,chip,abrolhos)
|
$(call soong_config_set,edgetpu_config,chip,abrolhos)
|
||||||
|
# Include the edgetpu targets defined the namespaces below into the final image.
|
||||||
|
PRODUCT_SOONG_NAMESPACES += \
|
||||||
|
vendor/google_devices/gs101/proprietary/gchips/tpu/metrics \
|
||||||
|
vendor/google_devices/gs101/proprietary/gchips/tpu/tflite_delegate \
|
||||||
|
vendor/google_devices/gs101/proprietary/gchips/tpu/darwinn_logging_service \
|
||||||
|
vendor/google_devices/gs101/proprietary/gchips/tpu/nnapi_stable_aidl \
|
||||||
|
vendor/google_devices/gs101/proprietary/gchips/tpu/aidl \
|
||||||
|
vendor/google_devices/gs101/proprietary/gchips/tpu/hal
|
||||||
# TPU firmware
|
# TPU firmware
|
||||||
PRODUCT_PACKAGES += edgetpu-abrolhos.fw
|
PRODUCT_PACKAGES += edgetpu-abrolhos.fw
|
||||||
|
|
||||||
|
@ -1127,3 +1116,6 @@ PRODUCT_VENDOR_PROPERTIES += ro.crypto.metadata_init_delete_all_keys.enabled=tru
|
||||||
|
|
||||||
# Hardware Info Collection
|
# Hardware Info Collection
|
||||||
include hardware/google/pixel/HardwareInfo/HardwareInfo.mk
|
include hardware/google/pixel/HardwareInfo/HardwareInfo.mk
|
||||||
|
|
||||||
|
# Touch service
|
||||||
|
include device/google/gs-common/touch/twoshay/aidl_gs101.mk
|
||||||
|
|
|
@ -84,14 +84,6 @@
|
||||||
<instance>default</instance>
|
<instance>default</instance>
|
||||||
</interface>
|
</interface>
|
||||||
</hal>
|
</hal>
|
||||||
<hal format="aidl" optional="true">
|
|
||||||
<name>com.google.input</name>
|
|
||||||
<version>2</version>
|
|
||||||
<interface>
|
|
||||||
<name>ITouchContextService</name>
|
|
||||||
<instance>default</instance>
|
|
||||||
</interface>
|
|
||||||
</hal>
|
|
||||||
<hal format="aidl" optional="true">
|
<hal format="aidl" optional="true">
|
||||||
<name>hardware.qorvo.uwb</name>
|
<name>hardware.qorvo.uwb</name>
|
||||||
<version>2</version>
|
<version>2</version>
|
||||||
|
@ -142,13 +134,6 @@
|
||||||
<instance>sced0</instance>
|
<instance>sced0</instance>
|
||||||
</interface>
|
</interface>
|
||||||
</hal>
|
</hal>
|
||||||
<hal format="aidl" optional="true">
|
|
||||||
<name>com.google.pixel.modem.logmasklibrary</name>
|
|
||||||
<interface>
|
|
||||||
<name>ILiboemserviceProxy</name>
|
|
||||||
<instance>default</instance>
|
|
||||||
</interface>
|
|
||||||
</hal>
|
|
||||||
<hal format="hidl" optional="true">
|
<hal format="hidl" optional="true">
|
||||||
<name>vendor.samsung_slsi.telephony.hardware.radioExternal</name>
|
<name>vendor.samsung_slsi.telephony.hardware.radioExternal</name>
|
||||||
<version>1.1</version>
|
<version>1.1</version>
|
||||||
|
|
|
@ -35,11 +35,7 @@ cat "/sys/class/power_supply/main-charger/uevent"
|
||||||
echo "\n------ Power supply property pca9486-mains ------"
|
echo "\n------ Power supply property pca9486-mains ------"
|
||||||
cat "/sys/class/power_supply/pca9468-mains/uevent"
|
cat "/sys/class/power_supply/pca9468-mains/uevent"
|
||||||
echo "\n------ Power supply property tcpm ------"
|
echo "\n------ Power supply property tcpm ------"
|
||||||
if [ -e "/sys/class/power_supply/tcpm-source-psy-i2c-max77759tcpc/uevent" ]; then
|
cat /sys/class/power_supply/tcpm-source-psy-*/uevent
|
||||||
cat "/sys/class/power_supply/tcpm-source-psy-i2c-max77759tcpc/uevent"
|
|
||||||
elif [ -e "/sys/class/power_supply/tcpm-source-psy-8-0025/uevent" ]; then
|
|
||||||
cat "/sys/class/power_supply/tcpm-source-psy-8-0025/uevent"
|
|
||||||
fi
|
|
||||||
echo "\n------ Power supply property usb ------"
|
echo "\n------ Power supply property usb ------"
|
||||||
cat "/sys/class/power_supply/usb/uevent"
|
cat "/sys/class/power_supply/usb/uevent"
|
||||||
echo "\n------ Power supply property wireless ------"
|
echo "\n------ Power supply property wireless ------"
|
||||||
|
@ -93,10 +89,7 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "\n------ TCPC ------"
|
echo "\n------ TCPC ------"
|
||||||
max77759tcpc_path="/sys/devices/platform/10d50000.hsi2c/i2c-8/i2c-max77759tcpc"
|
max77759tcpc_path="/sys/devices/platform/10d50000.hsi2c/i2c-12/12-0025"
|
||||||
if [ -e "/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025" ]; then
|
|
||||||
max77759tcpc_path="/sys/devices/platform/10d50000.hsi2c/i2c-8/8-0025"
|
|
||||||
fi
|
|
||||||
echo "registers:"
|
echo "registers:"
|
||||||
cat $max77759tcpc_path/registers
|
cat $max77759tcpc_path/registers
|
||||||
echo "frs:"
|
echo "frs:"
|
||||||
|
@ -123,6 +116,8 @@ cat "/dev/logbuffer_pca9468"
|
||||||
|
|
||||||
echo "\n------ Battery Health ------"
|
echo "\n------ Battery Health ------"
|
||||||
cat "/sys/class/power_supply/battery/health_index_stats"
|
cat "/sys/class/power_supply/battery/health_index_stats"
|
||||||
|
echo "\n------ Battery Health SoC Residency ------"
|
||||||
|
cat "/sys/class/power_supply/battery/swelling_data"
|
||||||
echo "\n------ BMS ------"
|
echo "\n------ BMS ------"
|
||||||
cat "/dev/logbuffer_ssoc"
|
cat "/dev/logbuffer_ssoc"
|
||||||
echo "\n------ TTF ------"
|
echo "\n------ TTF ------"
|
||||||
|
@ -159,14 +154,15 @@ do
|
||||||
echo "$f: `cat $f`"
|
echo "$f: `cat $f`"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo "\n------ DC_registers dump ------"
|
||||||
|
cat "/sys/class/power_supply/pca9468-mains/device/registers_dump"
|
||||||
|
echo "\n------ max77759_chg registers dump ------"
|
||||||
|
cat "/sys/class/power_supply/main-charger/device/registers_dump"
|
||||||
|
echo "\n------ max77729_pmic registers dump ------"
|
||||||
|
cat /sys/devices/platform/10d50000.hsi2c/i2c-*/*-0066/registers_dump
|
||||||
|
|
||||||
if [ $build_type = "userdebug" ]
|
if [ $build_type = "userdebug" ]
|
||||||
then
|
then
|
||||||
echo "\n------ DC_registers dump ------"
|
|
||||||
cat "/sys/class/power_supply/pca9468-mains/device/registers_dump"
|
|
||||||
echo "\n------ max77759_chg registers dump ------"
|
|
||||||
cat "/d/max77759_chg/registers"
|
|
||||||
echo "\n------ max77729_pmic registers dump ------"
|
|
||||||
cat "/d/max77729_pmic/registers"
|
|
||||||
echo "\n------ Charging table dump ------"
|
echo "\n------ Charging table dump ------"
|
||||||
cat "/d/google_battery/chg_raw_profile"
|
cat "/d/google_battery/chg_raw_profile"
|
||||||
|
|
||||||
|
@ -204,9 +200,9 @@ then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "\n------ Battery EEPROM ------"
|
echo "\n------ Battery EEPROM ------"
|
||||||
if [ -e "/sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom" ]
|
if [ -e "/sys/devices/platform/10970000.hsi2c/i2c-8/8-0050/eeprom" ]
|
||||||
then
|
then
|
||||||
xxd /sys/devices/platform/10970000.hsi2c/i2c-7/7-0050/eeprom
|
xxd /sys/devices/platform/10970000.hsi2c/i2c-8/8-0050/eeprom
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "\n------ Charger Stats ------"
|
echo "\n------ Charger Stats ------"
|
||||||
|
|
|
@ -159,3 +159,17 @@ Op9P1ZW2kjqv5D2+q/qtaePAyHn3B05UZrQYUmx7LaHNO7op6dZgCdoR0sVsR+Fc
|
||||||
Zyr0AhgiuTWrjtUEOGx2qJVwAsHkpqtlN+DaGT08dT64LvIf0bfGvmtm++/WEDWJ
|
Zyr0AhgiuTWrjtUEOGx2qJVwAsHkpqtlN+DaGT08dT64LvIf0bfGvmtm++/WEDWJ
|
||||||
HInwg85pGm+sEkYbYFRBD0woPBsL3g==
|
HInwg85pGm+sEkYbYFRBD0woPBsL3g==
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw
|
||||||
|
CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp
|
||||||
|
Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2
|
||||||
|
MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
|
||||||
|
bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG
|
||||||
|
ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS
|
||||||
|
7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp
|
||||||
|
0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS
|
||||||
|
B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49
|
||||||
|
BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ
|
||||||
|
LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4
|
||||||
|
DXZDjC5Ty3zfDBeWUA==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
|
|
@ -34,13 +34,5 @@
|
||||||
<name>android.hardware.boot</name>
|
<name>android.hardware.boot</name>
|
||||||
<fqname>IBootControl/default</fqname>
|
<fqname>IBootControl/default</fqname>
|
||||||
</hal>
|
</hal>
|
||||||
<hal format="aidl">
|
|
||||||
<name>com.google.input</name>
|
|
||||||
<version>2</version>
|
|
||||||
<interface>
|
|
||||||
<name>ITouchContextService</name>
|
|
||||||
<instance>default</instance>
|
|
||||||
</interface>
|
|
||||||
</hal>
|
|
||||||
<kernel target-level="6"/>
|
<kernel target-level="6"/>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -26,13 +26,5 @@
|
||||||
<transport>hwbinder</transport>
|
<transport>hwbinder</transport>
|
||||||
<fqname>@1.3::IDevice/google-edgetpu</fqname>
|
<fqname>@1.3::IDevice/google-edgetpu</fqname>
|
||||||
</hal>
|
</hal>
|
||||||
<hal format="aidl">
|
|
||||||
<name>com.google.input</name>
|
|
||||||
<version>2</version>
|
|
||||||
<interface>
|
|
||||||
<name>ITouchContextService</name>
|
|
||||||
<instance>default</instance>
|
|
||||||
</interface>
|
|
||||||
</hal>
|
|
||||||
<kernel target-level="6"/>
|
<kernel target-level="6"/>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -5,8 +5,16 @@
|
||||||
<version>1.0</version>
|
<version>1.0</version>
|
||||||
<interface>
|
<interface>
|
||||||
<name>IComponentStore</name>
|
<name>IComponentStore</name>
|
||||||
<instance>default</instance>
|
|
||||||
<instance>default1</instance>
|
<instance>default1</instance>
|
||||||
</interface>
|
</interface>
|
||||||
</hal>
|
</hal>
|
||||||
|
<hal format="hidl">
|
||||||
|
<name>android.hardware.media.c2</name>
|
||||||
|
<transport>hwbinder</transport>
|
||||||
|
<version>1.2</version>
|
||||||
|
<interface>
|
||||||
|
<name>IComponentStore</name>
|
||||||
|
<instance>default</instance>
|
||||||
|
</interface>
|
||||||
|
</hal>
|
||||||
</manifest>
|
</manifest>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<hal format="hidl">
|
<hal format="hidl">
|
||||||
<name>android.hardware.media.c2</name>
|
<name>android.hardware.media.c2</name>
|
||||||
<transport>hwbinder</transport>
|
<transport>hwbinder</transport>
|
||||||
<version>1.0</version>
|
<version>1.2</version>
|
||||||
<interface>
|
<interface>
|
||||||
<name>IComponentStore</name>
|
<name>IComponentStore</name>
|
||||||
<instance>default</instance>
|
<instance>default</instance>
|
||||||
|
|
|
@ -175,10 +175,10 @@
|
||||||
<Limit name="measured-frame-rate-1280x720" range="38-40" />
|
<Limit name="measured-frame-rate-1280x720" range="38-40" />
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
|
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
|
||||||
<Limit name="measured-frame-rate-352x288" range="353-362" />
|
<Limit name="measured-frame-rate-352x288" range="735-974" />
|
||||||
<Limit name="measured-frame-rate-640x360" range="178-210" />
|
<Limit name="measured-frame-rate-640x360" range="426-627" />
|
||||||
<Limit name="measured-frame-rate-720x480" range="101-129" />
|
<Limit name="measured-frame-rate-720x480" range="406-434" />
|
||||||
<Limit name="measured-frame-rate-1280x720" range="38-40" />
|
<Limit name="measured-frame-rate-1280x720" range="148-159" />
|
||||||
</MediaCodec>
|
</MediaCodec>
|
||||||
</Decoders>
|
</Decoders>
|
||||||
|
|
||||||
|
|
|
@ -297,6 +297,7 @@
|
||||||
<item>com.zhiliaoapp.musically:0.07</item>
|
<item>com.zhiliaoapp.musically:0.07</item>
|
||||||
<item>com.bilibili.app.in:0.07</item>
|
<item>com.bilibili.app.in:0.07</item>
|
||||||
<item>com.twitter.android:0.07</item>
|
<item>com.twitter.android:0.07</item>
|
||||||
|
<item>com.google.android.youtube:0.07</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<!-- Pre-scale volume at volume step 1 for Absolute Volume -->
|
<!-- Pre-scale volume at volume step 1 for Absolute Volume -->
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
on property:sys.boot_completed=1
|
on property:sys.boot_completed=1
|
||||||
|
chown system system /sys/class/power_supply/maxfg/fg_learning_events
|
||||||
start vendor.pixelstats_vendor
|
start vendor.pixelstats_vendor
|
||||||
on post-fs-data
|
on post-fs-data
|
||||||
chown system system /sys/kernel/metrics/irq/stats_reset
|
chown system system /sys/kernel/metrics/irq/stats_reset
|
||||||
|
|
|
@ -69,12 +69,23 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
|
||||||
"/sys/kernel/metrics/thermal/tr_by_group/spmic/stats_reset"
|
"/sys/kernel/metrics/thermal/tr_by_group/spmic/stats_reset"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
.GMSRPath = "/sys/class/power_supply/maxfg/gmsr"
|
.GMSRPath = {
|
||||||
|
"/sys/class/power_supply/maxfg/gmsr",
|
||||||
|
"/sys/class/power_supply/maxfg_base/gmsr",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const struct UeventListener::UeventPaths ueventPaths = {
|
const struct UeventListener::UeventPaths ueventPaths = {
|
||||||
.AudioUevent = "/devices/virtual/amcs/amcs",
|
.AudioUevent = "/devices/virtual/amcs/amcs",
|
||||||
.TypeCPartnerUevent = "PRODUCT_TYPE="};
|
.TypeCPartnerUevent = "PRODUCT_TYPE=",
|
||||||
|
.FGLearningPath = {
|
||||||
|
"/sys/class/power_supply/maxfg/fg_learning_events"
|
||||||
|
},
|
||||||
|
.FwUpdatePath = "",
|
||||||
|
.FGModelLoadingPath = {
|
||||||
|
"/sys/class/power_supply/maxfg/m5_model_state"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
LOG(INFO) << "starting PixelStats";
|
LOG(INFO) << "starting PixelStats";
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
#include <Gs101CommonDataProviders.h>
|
#include <Gs101CommonDataProviders.h>
|
||||||
#include "AocStateResidencyDataProvider.h"
|
#include "AocStateResidencyDataProvider.h"
|
||||||
#include "DevfreqStateResidencyDataProvider.h"
|
#include "DevfreqStateResidencyDataProvider.h"
|
||||||
|
#include <DisplayMrrStateResidencyDataProvider.h>
|
||||||
#include "DvfsStateResidencyDataProvider.h"
|
#include "DvfsStateResidencyDataProvider.h"
|
||||||
#include "UfsStateResidencyDataProvider.h"
|
#include "UfsStateResidencyDataProvider.h"
|
||||||
#include <dataproviders/GenericStateResidencyDataProvider.h>
|
#include <dataproviders/GenericStateResidencyDataProvider.h>
|
||||||
|
@ -34,6 +35,7 @@
|
||||||
|
|
||||||
using aidl::android::hardware::power::stats::AocStateResidencyDataProvider;
|
using aidl::android::hardware::power::stats::AocStateResidencyDataProvider;
|
||||||
using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider;
|
using aidl::android::hardware::power::stats::DevfreqStateResidencyDataProvider;
|
||||||
|
using aidl::android::hardware::power::stats::DisplayMrrStateResidencyDataProvider;
|
||||||
using aidl::android::hardware::power::stats::DvfsStateResidencyDataProvider;
|
using aidl::android::hardware::power::stats::DvfsStateResidencyDataProvider;
|
||||||
using aidl::android::hardware::power::stats::UfsStateResidencyDataProvider;
|
using aidl::android::hardware::power::stats::UfsStateResidencyDataProvider;
|
||||||
using aidl::android::hardware::power::stats::EnergyConsumerType;
|
using aidl::android::hardware::power::stats::EnergyConsumerType;
|
||||||
|
@ -669,6 +671,11 @@ void addPixelStateResidencyDataProvider(std::shared_ptr<PowerStats> p) {
|
||||||
p->addStateResidencyDataProvider(std::move(pixelSdp));
|
p->addStateResidencyDataProvider(std::move(pixelSdp));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void addDisplayMrr(std::shared_ptr<PowerStats> p) {
|
||||||
|
p->addStateResidencyDataProvider(std::make_unique<DisplayMrrStateResidencyDataProvider>(
|
||||||
|
"Display", "/sys/class/drm/card0/device/primary-panel/"));
|
||||||
|
}
|
||||||
|
|
||||||
void addGs101CommonDataProviders(std::shared_ptr<PowerStats> p) {
|
void addGs101CommonDataProviders(std::shared_ptr<PowerStats> p) {
|
||||||
setEnergyMeter(p);
|
setEnergyMeter(p);
|
||||||
|
|
||||||
|
|
|
@ -22,4 +22,5 @@ using aidl::android::hardware::power::stats::PowerStats;
|
||||||
|
|
||||||
void addGs101CommonDataProviders(std::shared_ptr<PowerStats> p);
|
void addGs101CommonDataProviders(std::shared_ptr<PowerStats> p);
|
||||||
|
|
||||||
|
void addDisplayMrr(std::shared_ptr<PowerStats> p);
|
||||||
void addNFC(std::shared_ptr<PowerStats> p, const std::string& path);
|
void addNFC(std::shared_ptr<PowerStats> p, const std::string& path);
|
||||||
|
|
|
@ -159,4 +159,12 @@
|
||||||
regulatory approval (for example, FCC pre-approval is required according to "594280 D01
|
regulatory approval (for example, FCC pre-approval is required according to "594280 D01
|
||||||
Software Configuration Control v02r01").-->
|
Software Configuration Control v02r01").-->
|
||||||
<bool translatable="false" name ="config_wifiUpdateCountryCodeFromScanResultGeneric">true</bool>
|
<bool translatable="false" name ="config_wifiUpdateCountryCodeFromScanResultGeneric">true</bool>
|
||||||
|
|
||||||
|
<!-- Boolean indicating performing a partial initial scan is enabled -->
|
||||||
|
<bool translatable="false" name="config_wifiEnablePartialInitialScan">true</bool>
|
||||||
|
|
||||||
|
<!-- Configure the max number of new channels to add into the initial partial scan list per network.
|
||||||
|
If equals to 0, it means there's no limit on the max number of channels to include per network.-->
|
||||||
|
<integer translatable="false" name="config_wifiInitialPartialScanMaxNewChannelsPerNetwork">3</integer>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -564,6 +564,11 @@ Usb::Usb()
|
||||||
ALOGE("pthread_condattr_destroy failed: %s", strerror(errno));
|
ALOGE("pthread_condattr_destroy failed: %s", strerror(errno));
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ALOGI("feature flag enable_usb_data_compliance_warning: %d",
|
||||||
|
usb_flags::enable_usb_data_compliance_warning());
|
||||||
|
ALOGI("feature flag enable_input_power_limited_warning: %d",
|
||||||
|
usb_flags::enable_input_power_limited_warning());
|
||||||
}
|
}
|
||||||
|
|
||||||
ScopedAStatus Usb::switchRole(const string& in_portName, const PortRole& in_role,
|
ScopedAStatus Usb::switchRole(const string& in_portName, const PortRole& in_role,
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include <pixelstats/StatsHelper.h>
|
#include <pixelstats/StatsHelper.h>
|
||||||
#include <pixelusb/CommonUtils.h>
|
#include <pixelusb/CommonUtils.h>
|
||||||
#include <sys/epoll.h>
|
#include <sys/epoll.h>
|
||||||
|
#include <sys/timerfd.h>
|
||||||
#include <utils/Log.h>
|
#include <utils/Log.h>
|
||||||
|
|
||||||
#include <regex>
|
#include <regex>
|
||||||
|
@ -48,6 +49,9 @@ namespace usb {
|
||||||
#define UEVENT_MSG_LEN 2048
|
#define UEVENT_MSG_LEN 2048
|
||||||
#define USB_STATE_MAX_LEN 20
|
#define USB_STATE_MAX_LEN 20
|
||||||
#define DATA_ROLE_MAX_LEN 10
|
#define DATA_ROLE_MAX_LEN 10
|
||||||
|
#define WARNING_SURFACE_DELAY_SEC 5
|
||||||
|
#define ENUM_FAIL_DEFAULT_COUNT_THRESHOLD 3
|
||||||
|
#define DEVICE_FLAKY_CONNECTION_CONFIGURED_COUNT_THRESHOLD 5
|
||||||
|
|
||||||
constexpr char kUdcConfigfsPath[] = "/config/usb_gadget/g1/UDC";
|
constexpr char kUdcConfigfsPath[] = "/config/usb_gadget/g1/UDC";
|
||||||
constexpr char kNotAttachedState[] = "not attached\n";
|
constexpr char kNotAttachedState[] = "not attached\n";
|
||||||
|
@ -115,6 +119,15 @@ UsbDataSessionMonitor::UsbDataSessionMonitor(
|
||||||
if (addEpollFd(epollFd, ueventFd))
|
if (addEpollFd(epollFd, ueventFd))
|
||||||
abort();
|
abort();
|
||||||
|
|
||||||
|
unique_fd timerFd(timerfd_create(CLOCK_BOOTTIME, TFD_NONBLOCK));
|
||||||
|
if (timerFd.get() == -1) {
|
||||||
|
ALOGE("create timerFd failed");
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (addEpollFd(epollFd, timerFd))
|
||||||
|
abort();
|
||||||
|
|
||||||
if (addEpollFile(epollFd.get(), dataRolePath, mDataRoleFd) != 0) {
|
if (addEpollFile(epollFd.get(), dataRolePath, mDataRoleFd) != 0) {
|
||||||
ALOGE("monitor data role failed");
|
ALOGE("monitor data role failed");
|
||||||
abort();
|
abort();
|
||||||
|
@ -139,6 +152,7 @@ UsbDataSessionMonitor::UsbDataSessionMonitor(
|
||||||
|
|
||||||
mEpollFd = std::move(epollFd);
|
mEpollFd = std::move(epollFd);
|
||||||
mUeventFd = std::move(ueventFd);
|
mUeventFd = std::move(ueventFd);
|
||||||
|
mTimerFd = std::move(timerFd);
|
||||||
mUpdatePortStatusCb = updatePortStatusCb;
|
mUpdatePortStatusCb = updatePortStatusCb;
|
||||||
|
|
||||||
if (ReadFileToString(kUdcConfigfsPath, &udc) && !udc.empty())
|
if (ReadFileToString(kUdcConfigfsPath, &udc) && !udc.empty())
|
||||||
|
@ -150,6 +164,9 @@ UsbDataSessionMonitor::UsbDataSessionMonitor(
|
||||||
ALOGE("pthread creation failed %d", errno);
|
ALOGE("pthread creation failed %d", errno);
|
||||||
abort();
|
abort();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ALOGI("feature flag enable_report_usb_data_compliance_warning: %d",
|
||||||
|
usb_flags::enable_report_usb_data_compliance_warning());
|
||||||
}
|
}
|
||||||
|
|
||||||
UsbDataSessionMonitor::~UsbDataSessionMonitor() {}
|
UsbDataSessionMonitor::~UsbDataSessionMonitor() {}
|
||||||
|
@ -223,13 +240,55 @@ void UsbDataSessionMonitor::notifyComplianceWarning() {
|
||||||
|
|
||||||
void UsbDataSessionMonitor::evaluateComplianceWarning() {
|
void UsbDataSessionMonitor::evaluateComplianceWarning() {
|
||||||
std::set<ComplianceWarning> newWarningSet;
|
std::set<ComplianceWarning> newWarningSet;
|
||||||
|
int elapsedTimeSec;
|
||||||
|
|
||||||
// TODO: add heuristics and update newWarningSet
|
elapsedTimeSec =
|
||||||
|
std::chrono::duration_cast<std::chrono::seconds>(boot_clock::now() - mDataSessionStart)
|
||||||
|
.count();
|
||||||
|
|
||||||
|
if (elapsedTimeSec >= WARNING_SURFACE_DELAY_SEC) {
|
||||||
if (mDataRole == PortDataRole::DEVICE && mUdcBind) {
|
if (mDataRole == PortDataRole::DEVICE && mUdcBind) {
|
||||||
|
int configuredCount = std::count(mDeviceState.states.begin(),
|
||||||
|
mDeviceState.states.end(), kConfiguredState);
|
||||||
|
int defaultCount =
|
||||||
|
std::count(mDeviceState.states.begin(), mDeviceState.states.end(), kDefaultState);
|
||||||
|
|
||||||
|
if (configuredCount == 0 && defaultCount > ENUM_FAIL_DEFAULT_COUNT_THRESHOLD)
|
||||||
|
newWarningSet.insert(ComplianceWarning::ENUMERATION_FAIL);
|
||||||
|
|
||||||
|
if (configuredCount > DEVICE_FLAKY_CONNECTION_CONFIGURED_COUNT_THRESHOLD)
|
||||||
|
newWarningSet.insert(ComplianceWarning::FLAKY_CONNECTION);
|
||||||
} else if (mDataRole == PortDataRole::HOST) {
|
} else if (mDataRole == PortDataRole::HOST) {
|
||||||
|
int host1StateCount = mHost1State.states.size();
|
||||||
|
int host1ConfiguredCount =
|
||||||
|
std::count(mHost1State.states.begin(), mHost1State.states.end(), kConfiguredState);
|
||||||
|
int host1DefaultCount =
|
||||||
|
std::count(mHost1State.states.begin(), mHost1State.states.end(), kDefaultState);
|
||||||
|
int host2StateCount = mHost2State.states.size();
|
||||||
|
int host2ConfiguredCount =
|
||||||
|
std::count(mHost2State.states.begin(), mHost2State.states.end(), kConfiguredState);
|
||||||
|
int host2DefaultCount =
|
||||||
|
std::count(mHost2State.states.begin(), mHost2State.states.end(), kDefaultState);
|
||||||
|
|
||||||
|
if (host1ConfiguredCount == 0 && host2ConfiguredCount == 0 &&
|
||||||
|
(host1DefaultCount > ENUM_FAIL_DEFAULT_COUNT_THRESHOLD ||
|
||||||
|
host2DefaultCount > ENUM_FAIL_DEFAULT_COUNT_THRESHOLD))
|
||||||
|
newWarningSet.insert(ComplianceWarning::ENUMERATION_FAIL);
|
||||||
|
|
||||||
|
if (host1StateCount == 1 && mHost1State.states.front() == kNotAttachedState &&
|
||||||
|
host2StateCount == 1 && mHost2State.states.front() == kNotAttachedState)
|
||||||
|
newWarningSet.insert(ComplianceWarning::MISSING_DATA_LINES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newWarningSet != mWarningSet) {
|
if (newWarningSet != mWarningSet) {
|
||||||
|
std::string newWarningString;
|
||||||
|
|
||||||
|
for (auto e : newWarningSet) {
|
||||||
|
newWarningString += toString(e) + " ";
|
||||||
|
}
|
||||||
|
ALOGI("Usb data compliance warning changed to: %s", newWarningString.c_str());
|
||||||
|
|
||||||
mWarningSet = newWarningSet;
|
mWarningSet = newWarningSet;
|
||||||
notifyComplianceWarning();
|
notifyComplianceWarning();
|
||||||
}
|
}
|
||||||
|
@ -259,6 +318,26 @@ void UsbDataSessionMonitor::handleDeviceStateEvent(struct usbDeviceState *device
|
||||||
evaluateComplianceWarning();
|
evaluateComplianceWarning();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UsbDataSessionMonitor::setupNewSession() {
|
||||||
|
mWarningSet.clear();
|
||||||
|
mDataSessionStart = boot_clock::now();
|
||||||
|
|
||||||
|
if (mDataRole == PortDataRole::DEVICE) {
|
||||||
|
clearDeviceStateEvents(&mDeviceState);
|
||||||
|
} else if (mDataRole == PortDataRole::HOST) {
|
||||||
|
clearDeviceStateEvents(&mHost1State);
|
||||||
|
clearDeviceStateEvents(&mHost2State);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mDataRole != PortDataRole::NONE) {
|
||||||
|
struct itimerspec delay = itimerspec();
|
||||||
|
delay.it_value.tv_sec = WARNING_SURFACE_DELAY_SEC;
|
||||||
|
int ret = timerfd_settime(mTimerFd.get(), 0, &delay, NULL);
|
||||||
|
if (ret < 0)
|
||||||
|
ALOGE("timerfd_settime failed err:%d", errno);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void UsbDataSessionMonitor::handleDataRoleEvent() {
|
void UsbDataSessionMonitor::handleDataRoleEvent() {
|
||||||
int n;
|
int n;
|
||||||
PortDataRole newDataRole;
|
PortDataRole newDataRole;
|
||||||
|
@ -283,17 +362,8 @@ void UsbDataSessionMonitor::handleDataRoleEvent() {
|
||||||
reportUsbDataSessionMetrics();
|
reportUsbDataSessionMetrics();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set up for the new data session
|
|
||||||
mWarningSet.clear();
|
|
||||||
mDataRole = newDataRole;
|
mDataRole = newDataRole;
|
||||||
mDataSessionStart = boot_clock::now();
|
setupNewSession();
|
||||||
|
|
||||||
if (newDataRole == PortDataRole::DEVICE) {
|
|
||||||
clearDeviceStateEvents(&mDeviceState);
|
|
||||||
} else if (newDataRole == PortDataRole::HOST) {
|
|
||||||
clearDeviceStateEvents(&mHost1State);
|
|
||||||
clearDeviceStateEvents(&mHost2State);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -328,8 +398,7 @@ void UsbDataSessionMonitor::updateUdcBindStatus(const std::string &devname) {
|
||||||
|
|
||||||
} else if (!mUdcBind && newUdcBind) {
|
} else if (!mUdcBind && newUdcBind) {
|
||||||
// Gadget soft pullup: reset and start accounting for a new data session.
|
// Gadget soft pullup: reset and start accounting for a new data session.
|
||||||
clearDeviceStateEvents(&mDeviceState);
|
setupNewSession();
|
||||||
mDataSessionStart = boot_clock::now();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -383,6 +452,23 @@ void UsbDataSessionMonitor::handleUevent() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UsbDataSessionMonitor::handleTimerEvent() {
|
||||||
|
int byteRead;
|
||||||
|
uint64_t numExpiration;
|
||||||
|
|
||||||
|
byteRead = read(mTimerFd.get(), &numExpiration, sizeof(numExpiration));
|
||||||
|
|
||||||
|
if (byteRead != sizeof(numExpiration)) {
|
||||||
|
ALOGE("incorrect read size");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (numExpiration != 1) {
|
||||||
|
ALOGE("incorrect expiration count");
|
||||||
|
}
|
||||||
|
|
||||||
|
evaluateComplianceWarning();
|
||||||
|
}
|
||||||
|
|
||||||
void *UsbDataSessionMonitor::monitorThread(void *param) {
|
void *UsbDataSessionMonitor::monitorThread(void *param) {
|
||||||
UsbDataSessionMonitor *monitor = (UsbDataSessionMonitor *)param;
|
UsbDataSessionMonitor *monitor = (UsbDataSessionMonitor *)param;
|
||||||
struct epoll_event events[64];
|
struct epoll_event events[64];
|
||||||
|
@ -400,6 +486,8 @@ void *UsbDataSessionMonitor::monitorThread(void *param) {
|
||||||
for (int n = 0; n < nevents; ++n) {
|
for (int n = 0; n < nevents; ++n) {
|
||||||
if (events[n].data.fd == monitor->mUeventFd.get()) {
|
if (events[n].data.fd == monitor->mUeventFd.get()) {
|
||||||
monitor->handleUevent();
|
monitor->handleUevent();
|
||||||
|
} else if (events[n].data.fd == monitor->mTimerFd.get()) {
|
||||||
|
monitor->handleTimerEvent();
|
||||||
} else if (events[n].data.fd == monitor->mDataRoleFd.get()) {
|
} else if (events[n].data.fd == monitor->mDataRoleFd.get()) {
|
||||||
monitor->handleDataRoleEvent();
|
monitor->handleDataRoleEvent();
|
||||||
} else if (events[n].data.fd == monitor->mDeviceState.fd.get()) {
|
} else if (events[n].data.fd == monitor->mDeviceState.fd.get()) {
|
||||||
|
|
|
@ -75,9 +75,11 @@ class UsbDataSessionMonitor {
|
||||||
|
|
||||||
static void *monitorThread(void *param);
|
static void *monitorThread(void *param);
|
||||||
void handleUevent();
|
void handleUevent();
|
||||||
|
void handleTimerEvent();
|
||||||
void handleDataRoleEvent();
|
void handleDataRoleEvent();
|
||||||
void handleDeviceStateEvent(struct usbDeviceState *deviceState);
|
void handleDeviceStateEvent(struct usbDeviceState *deviceState);
|
||||||
void clearDeviceStateEvents(struct usbDeviceState *deviceState);
|
void clearDeviceStateEvents(struct usbDeviceState *deviceState);
|
||||||
|
void setupNewSession();
|
||||||
void reportUsbDataSessionMetrics();
|
void reportUsbDataSessionMetrics();
|
||||||
void evaluateComplianceWarning();
|
void evaluateComplianceWarning();
|
||||||
void notifyComplianceWarning();
|
void notifyComplianceWarning();
|
||||||
|
@ -86,6 +88,7 @@ class UsbDataSessionMonitor {
|
||||||
pthread_t mMonitor;
|
pthread_t mMonitor;
|
||||||
unique_fd mEpollFd;
|
unique_fd mEpollFd;
|
||||||
unique_fd mUeventFd;
|
unique_fd mUeventFd;
|
||||||
|
unique_fd mTimerFd;
|
||||||
unique_fd mDataRoleFd;
|
unique_fd mDataRoleFd;
|
||||||
struct usbDeviceState mDeviceState;
|
struct usbDeviceState mDeviceState;
|
||||||
struct usbDeviceState mHost1State;
|
struct usbDeviceState mHost1State;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue