qcacld-3.0: Support obtaining thermal level for non-offload case

Currently thermal level can be got from upper layer only
for FW thermal mgmt offload case. Per the requirement,
refine the code to support it for thermal non-offload
case as well.
Similar to offload thermal mitigation, add TX_OFF and
shutdown two states for non-offload case. Host will fully
stop TX traffic in TX_OFF state and target will trigger
shutdown when temperature come to the range of shutdown.
Per above requirement, add below four INI to configure
thermal temperature threshold value as need for TX off
and target shutdown.
gThermalTempMinLevel4
gThermalTempMaxLevel4
gThermalTempMinLevel5
gThermalTempMaxLevel5

Change-Id: I40d097ab8a5801052553ad7adedd38be475c7669
CRs-Fixed: 3413165
This commit is contained in:
Qun Zhang
2022-12-08 11:08:54 +08:00
committed by Madan Koyyalamudi
parent a86d1881cc
commit 29869c5fa8
9 changed files with 241 additions and 11 deletions

View File

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2012-2018,2020-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -176,6 +176,86 @@
CFG_VALUE_OR_DEFAULT, \
"Thermal Temp Max Level3")
/*
* <ini>
* gThermalTempMinLevel4 - Set Thermal Temp Min Level
* for TX OFF
* @Min: 0
* @Max: 1000
* @Default: 116
*
* Usage: External
*
* </ini>
*/
#define CFG_THERMAL_TEMP_MIN_LEVEL4 CFG_INI_UINT( \
"gThermalTempMinLevel4", \
0, \
1000, \
116, \
CFG_VALUE_OR_DEFAULT, \
"Thermal Temp Min Level4")
/*
* <ini>
* gThermalTempMaxLevel4 - Set Thermal Temp Max Level
* for TX OFF
* @Min: 0
* @Max: 1000
* @Default: 117
*
* Usage: External
*
* </ini>
*/
#define CFG_THERMAL_TEMP_MAX_LEVEL4 CFG_INI_UINT( \
"gThermalTempMaxLevel4", \
0, \
1000, \
117, \
CFG_VALUE_OR_DEFAULT, \
"Thermal Temp Max Level4")
/*
* <ini>
* gThermalTempMinLevel5 - Set Thermal Temp Min Level
* for target shutdown
* @Min: 0
* @Max: 1000
* @Default: 118
*
* Usage: External
*
* </ini>
*/
#define CFG_THERMAL_TEMP_MIN_LEVEL5 CFG_INI_UINT( \
"gThermalTempMinLevel5", \
0, \
1000, \
118, \
CFG_VALUE_OR_DEFAULT, \
"Thermal Temp Min Level5")
/*
* <ini>
* gThermalTempMaxLevel5 - Set Thermal Temp Max Level
* for target shutdown
* @Min: 0
* @Max: 1000
* @Default: 120
*
* Usage: External
*
* </ini>
*/
#define CFG_THERMAL_TEMP_MAX_LEVEL5 CFG_INI_UINT( \
"gThermalTempMaxLevel5", \
0, \
1000, \
120, \
CFG_VALUE_OR_DEFAULT, \
"Thermal Temp Max Level5")
/*
* <ini>
* gThermalMitigationEnable - Set Thermal mitigation feature control
@@ -465,6 +545,10 @@
CFG(CFG_THERMAL_TEMP_MAX_LEVEL2) \
CFG(CFG_THERMAL_TEMP_MIN_LEVEL3) \
CFG(CFG_THERMAL_TEMP_MAX_LEVEL3) \
CFG(CFG_THERMAL_TEMP_MIN_LEVEL4) \
CFG(CFG_THERMAL_TEMP_MAX_LEVEL4) \
CFG(CFG_THERMAL_TEMP_MIN_LEVEL5) \
CFG(CFG_THERMAL_TEMP_MAX_LEVEL5) \
CFG(CFG_THERMAL_MITIGATION_ENABLE) \
CFG(CFG_THROTTLE_PERIOD) \
CFG(CFG_THROTTLE_DUTY_CYCLE_LEVEL0) \