thermal: Update init_thermal_config
- Validate for display panel availability only in userdebug builds. - Add check to fall back to wingboard config for charging mode as well. - Move fallback to backup config for proto and wingboard to init rc file. Bug: 338295174 Flag: EXEMPT NDK Test: Local build and verify init_thermal_config and property Change-Id: I4b2db92df1d74be4038e256ab6e25ee616c5feb6
This commit is contained in:
parent
2898c2efd6
commit
d406d43bcb
2 changed files with 16 additions and 39 deletions
|
@ -57,10 +57,22 @@ service init_thermal_config /vendor/bin/init_thermal_config
|
||||||
disabled
|
disabled
|
||||||
oneshot
|
oneshot
|
||||||
|
|
||||||
on late-init
|
on late-init && property:ro.boot.hardware.revision=PROTO1.0
|
||||||
|
setprop vendor.thermal.config "thermal_info_config_backup.json"
|
||||||
|
|
||||||
|
on late-init && property:ro.boot.hardware.revision=PROTO1.1
|
||||||
|
setprop vendor.thermal.config "thermal_info_config_backup.json"
|
||||||
|
|
||||||
|
on late-init && property:ro.boot.cdt_hwid=0x00060603000100020000000000000000
|
||||||
|
setprop vendor.thermal.config "thermal_info_config_wingboard.json"
|
||||||
|
|
||||||
|
on property:vendor.thermal.config=thermal_info_config_charge.json && property:ro.boot.cdt_hwid=0x00060603000100020000000000000000
|
||||||
|
setprop vendor.thermal.config "thermal_info_config_wingboard.json"
|
||||||
|
|
||||||
|
on late-init && property:ro.debuggable=1
|
||||||
start init_thermal_config
|
start init_thermal_config
|
||||||
|
|
||||||
on property:vendor.thermal.config=thermal_info_config_charge
|
on property:vendor.thermal.config=thermal_info_config_charge.json && property:ro.debuggable=1
|
||||||
start init_thermal_config
|
start init_thermal_config
|
||||||
|
|
||||||
on property:vendor.thermal.link_ready=1
|
on property:vendor.thermal.link_ready=1
|
||||||
|
|
|
@ -16,46 +16,11 @@
|
||||||
#include <android-base/logging.h>
|
#include <android-base/logging.h>
|
||||||
#include <android-base/properties.h>
|
#include <android-base/properties.h>
|
||||||
|
|
||||||
#include <string>
|
int main() {
|
||||||
|
const auto panel_drv = android::base::GetProperty("ro.boot.primary_panel_drv", "");
|
||||||
namespace {
|
|
||||||
constexpr std::string_view kWingBoardHwId("0x00060603000100020000000000000000");
|
|
||||||
using android::base::GetProperty;
|
|
||||||
bool useThermalWingBoardConfig() {
|
|
||||||
const auto cdt_hwid = GetProperty("ro.boot.cdt_hwid", "");
|
|
||||||
if (cdt_hwid == kWingBoardHwId) {
|
|
||||||
LOG(INFO) << "Using wingboard thermal config as found cdt_hwid " << cdt_hwid;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool useThermalBackupConfig() {
|
|
||||||
const auto panel_drv = GetProperty("ro.boot.primary_panel_drv", "");
|
|
||||||
const auto is_panel_available = (panel_drv.find("panel-google-ct3a") != std::string::npos) ||
|
const auto is_panel_available = (panel_drv.find("panel-google-ct3a") != std::string::npos) ||
|
||||||
(panel_drv.find("panel-google-ct3b") != std::string::npos);
|
(panel_drv.find("panel-google-ct3b") != std::string::npos);
|
||||||
if (!is_panel_available) {
|
if (!is_panel_available) {
|
||||||
LOG(INFO) << "Using backup thermal config as unknown panel [" << panel_drv << "] found.";
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
const auto hardware_revision = GetProperty("ro.boot.hardware.revision", "");
|
|
||||||
if (hardware_revision == "PROTO1.0" || hardware_revision == "PROTO1.1") {
|
|
||||||
LOG(INFO) << "Using backup thermal config as hardware revision [" << hardware_revision
|
|
||||||
<< "] found.";
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
if (useThermalWingBoardConfig()) {
|
|
||||||
if (!android::base::SetProperty("vendor.thermal.config",
|
|
||||||
"thermal_info_config_wingboard.json")) {
|
|
||||||
LOG(FATAL) << "Failed to set property vendor.thermal.config to "
|
|
||||||
"thermal_info_config_wingboard.";
|
|
||||||
}
|
|
||||||
} else if (useThermalBackupConfig()) {
|
|
||||||
if (!android::base::SetProperty("vendor.thermal.config",
|
if (!android::base::SetProperty("vendor.thermal.config",
|
||||||
"thermal_info_config_backup.json")) {
|
"thermal_info_config_backup.json")) {
|
||||||
LOG(FATAL) << "Failed to set property vendor.thermal.config to "
|
LOG(FATAL) << "Failed to set property vendor.thermal.config to "
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue