From 486bbb92123fdfc105eb101b667e0d64b93fdc47 Mon Sep 17 00:00:00 2001 From: Adam Shih Date: Tue, 15 Nov 2022 14:01:18 +0800 Subject: [PATCH] create thermal dump in gs-common Bug: 257880034 Test: adb bugreport Change-Id: I0d93796c2639148dfb00b0d739cbae483091bfd4 --- thermal/Android.bp | 10 +++++++ thermal/dump_thermal.sh | 46 ++++++++++++++++++++++++++++++++ thermal/sepolicy/dump_thermal.te | 6 +++++ thermal/sepolicy/file_contexts | 1 + thermal/sepolicy/genfs_contexts | 3 +++ thermal/thermal.mk | 3 +++ 6 files changed, 69 insertions(+) create mode 100644 thermal/Android.bp create mode 100644 thermal/dump_thermal.sh create mode 100644 thermal/sepolicy/dump_thermal.te create mode 100644 thermal/sepolicy/file_contexts create mode 100644 thermal/sepolicy/genfs_contexts create mode 100644 thermal/thermal.mk diff --git a/thermal/Android.bp b/thermal/Android.bp new file mode 100644 index 0000000..70fef5c --- /dev/null +++ b/thermal/Android.bp @@ -0,0 +1,10 @@ +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +sh_binary { + name: "dump_thermal.sh", + src: "dump_thermal.sh", + vendor: true, + sub_dir: "dump", +} diff --git a/thermal/dump_thermal.sh b/thermal/dump_thermal.sh new file mode 100644 index 0000000..2b87da9 --- /dev/null +++ b/thermal/dump_thermal.sh @@ -0,0 +1,46 @@ +#!/vendor/bin/sh + +echo "Temperatures" +for f in /sys/class/thermal/thermal* ; do + printf "%s: %s\n" `cat $f/type` `cat $f/temp` +done + +echo "Cooling Device Current State" +for f in /sys/class/thermal/cooling* ; do + printf "%s: %s\n" `cat $f/type` `cat $f/cur_state` +done + +echo "Cooling Device User Vote State" +for f in /sys/class/thermal/cooling* ; do + if [ ! -f $f/user_vote ]; then continue; fi; + printf "%s: %s\n" `cat $f/type` `cat $f/user_vote` +done + +echo "Cooling Device Time in State" +for f in /sys/class/thermal/cooling* ; do + printf "%s: %s\n" `cat $f/type` `cat $f/stats/time_in_state_ms` +done + +echo "Cooling Device Trans Table" +for f in /sys/class/thermal/cooling* ; do + printf "%s: %s\n" `cat $f/type` `cat $f/stats/trans_table` +done + +echo "Cooling Device State2Power Table" +for f in /sys/class/thermal/cooling* ; do + if [ ! -f $f/state2power_table ]; then continue; fi; + printf "%s: %s\n" `cat $f/type` `cat $f/state2power_table` +done + +echo "TMU state:" +cat /sys/module/gs_thermal/parameters/tmu_reg_dump_state +echo "TMU current temperature:" +cat /sys/module/gs_thermal/parameters/tmu_reg_dump_current_temp +echo "TMU_TOP rise thresholds:" +cat /sys/module/gs_thermal/parameters/tmu_top_reg_dump_rise_thres +echo "TMU_TOP fall thresholds:" +cat /sys/module/gs_thermal/parameters/tmu_top_reg_dump_fall_thres +echo "TMU_SUB rise thresholds:" +cat /sys/module/gs_thermal/parameters/tmu_sub_reg_dump_rise_thres +echo "TMU_SUB fall thresholds:" +cat /sys/module/gs_thermal/parameters/tmu_sub_reg_dump_fall_thres diff --git a/thermal/sepolicy/dump_thermal.te b/thermal/sepolicy/dump_thermal.te new file mode 100644 index 0000000..2dd6ba4 --- /dev/null +++ b/thermal/sepolicy/dump_thermal.te @@ -0,0 +1,6 @@ +pixel_bugreport(dump_thermal) + +allow dump_thermal sysfs_thermal:dir r_dir_perms; +allow dump_thermal sysfs_thermal:file r_file_perms; +allow dump_thermal sysfs_thermal:lnk_file r_file_perms; +allow dump_thermal vendor_toolbox_exec:file execute_no_trans; diff --git a/thermal/sepolicy/file_contexts b/thermal/sepolicy/file_contexts new file mode 100644 index 0000000..461a07b --- /dev/null +++ b/thermal/sepolicy/file_contexts @@ -0,0 +1 @@ +/vendor/bin/dump/dump_thermal\.sh u:object_r:dump_thermal_exec:s0 diff --git a/thermal/sepolicy/genfs_contexts b/thermal/sepolicy/genfs_contexts new file mode 100644 index 0000000..1422e63 --- /dev/null +++ b/thermal/sepolicy/genfs_contexts @@ -0,0 +1,3 @@ +# thermal sysfs files +genfscon sysfs /module/gs_thermal/parameters u:object_r:sysfs_thermal:s0 + diff --git a/thermal/thermal.mk b/thermal/thermal.mk new file mode 100644 index 0000000..3b3dede --- /dev/null +++ b/thermal/thermal.mk @@ -0,0 +1,3 @@ +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/thermal/sepolicy + +PRODUCT_PACKAGES += dump_thermal.sh