icnss2: Send WLAN_EN delay during Mode request

Send WLAN_EN delay during Mode On QMI request if temperature is
below threshold at that time.

Change-Id: I910168dafa09c25cc4a263a7756379eb8be46824
This commit is contained in:
Naman Padhiar
2022-09-27 01:00:41 +05:30
committed by Madan Koyyalamudi
parent 2d912a8ca2
commit 60f897b63a
4 changed files with 111 additions and 61 deletions

View File

@@ -3218,6 +3218,7 @@ int icnss_wlan_enable(struct device *dev, struct icnss_wlan_enable_cfg *config,
const char *host_version)
{
struct icnss_priv *priv = dev_get_drvdata(dev);
int temp = 0;
if (test_bit(ICNSS_FW_DOWN, &priv->state) ||
!test_bit(ICNSS_FW_READY, &priv->state)) {
@@ -3236,6 +3237,14 @@ int icnss_wlan_enable(struct device *dev, struct icnss_wlan_enable_cfg *config,
!priv->dms.nv_mac_not_prov && !priv->dms.mac_valid)
icnss_setup_dms_mac(priv);
if (priv->device_id == WCN6750_DEVICE_ID) {
if (!icnss_get_temperature(priv, &temp)) {
icnss_pr_dbg("Temperature: %d\n", temp);
if (temp < WLAN_EN_TEMP_THRESHOLD)
icnss_set_wlan_en_delay(priv);
}
}
return icnss_send_wlan_enable_to_fw(priv, config, mode, host_version);
}
EXPORT_SYMBOL(icnss_wlan_enable);