From 66e62998c6f3a01fabe08959e7ba81d3b9ad7008 Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Tue, 4 Feb 2020 13:58:37 +0800 Subject: [PATCH] redfin: thermal: separate init.hardware.chamber.rc.userdebug by project Bug: 148839492 Test: thermal protection can be disabled/enabled at run time Change-Id: Iae355f8678da9da83111d3665a429fbf5aa5ca69 --- device-redfin.mk | 6 +++++ init.hardware.chamber.rc.userdebug | 43 ++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 init.hardware.chamber.rc.userdebug diff --git a/device-redfin.mk b/device-redfin.mk index 3667e45..41bcdef 100644 --- a/device-redfin.mk +++ b/device-redfin.mk @@ -139,6 +139,12 @@ PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/thermal_info_config_$(PRODUCT_HARDWARE).json:$(TARGET_COPY_OUT_VENDOR)/etc/thermal_info_config.json +# Support to disable thermal protection at run time +ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) + PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/init.hardware.chamber.rc.userdebug:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(PRODUCT_HARDWARE).chamber.rc +endif + # Audio effects PRODUCT_PACKAGES += \ libqcomvoiceprocessingdescriptors diff --git a/init.hardware.chamber.rc.userdebug b/init.hardware.chamber.rc.userdebug new file mode 100644 index 0000000..ba76a59 --- /dev/null +++ b/init.hardware.chamber.rc.userdebug @@ -0,0 +1,43 @@ +# +# 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. +# + +on property:init.svc.vendor.thermal-engine=running && property:persist.vendor.disable.thermal.control=1 + stop vendor.thermal-engine + +on property:init.svc.vendor.thermal-engine=stopped && property:persist.vendor.disable.thermal.control=0 + start vendor.thermal-engine + +on property:persist.vendor.disable.thermal.control=1 + write /sys/devices/virtual/thermal/tz-by-name/skin-therm-adc/mode disabled + write /sys/devices/virtual/thermal/tz-by-name/skin-therm-monitor/mode disabled + write /sys/devices/virtual/thermal/tz-by-name/sdm-therm/mode disabled + write /sys/devices/virtual/thermal/tz-by-name/usbc-therm-adc/mode disabled + write /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/mode disabled + write /sys/module/overheat_mitigation/parameters/enable 0 + +on property:persist.vendor.disable.thermal.control=0 + write /sys/devices/virtual/thermal/tz-by-name/skin-therm-adc/mode enabled + write /sys/devices/virtual/thermal/tz-by-name/skin-therm-monitor/mode enabled + write /sys/devices/virtual/thermal/tz-by-name/sdm-therm/mode enabled + write /sys/devices/virtual/thermal/tz-by-name/usbc-therm-adc/mode enabled + write /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/mode enabled + write /sys/module/overheat_mitigation/parameters/enable 1 + +on property:persist.vendor.disable.usb.overheat.mitigation=1 + write /sys/module/overheat_mitigation/parameters/enable 0 + +on property:persist.vendor.disable.usb.overheat.mitigation=0 + write /sys/module/overheat_mitigation/parameters/enable 1