icnss2: Disable APPS proxy votes before WLAN_EN
WCN6450 has strict power on sequence where WLAN_EN needs to be enable first followed by regulators. To achieve this remove Host Proxy votes before sending TARGET_CAP and MODE_ON QMI request in which FW is suppose to do WLAN_EN high. Change-Id: I315269048c6499153d4d2daf6ee6a829f6fd2ccc CRs-Fixed: 3413588
This commit is contained in:

committed by
Madan Koyyalamudi

parent
aec346c6bc
commit
b9deac9d5c
@@ -929,6 +929,9 @@ static int icnss_driver_event_server_arrive(struct icnss_priv *priv,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (priv->device_id == WCN6450_DEVICE_ID)
|
||||||
|
icnss_hw_power_off(priv);
|
||||||
|
|
||||||
ret = wlfw_cap_send_sync_msg(priv);
|
ret = wlfw_cap_send_sync_msg(priv);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
ignore_assert = true;
|
ignore_assert = true;
|
||||||
@@ -3440,7 +3443,7 @@ int icnss_wlan_enable(struct device *dev, struct icnss_wlan_enable_cfg *config,
|
|||||||
const char *host_version)
|
const char *host_version)
|
||||||
{
|
{
|
||||||
struct icnss_priv *priv = dev_get_drvdata(dev);
|
struct icnss_priv *priv = dev_get_drvdata(dev);
|
||||||
int temp = 0;
|
int temp = 0, ret = 0;
|
||||||
|
|
||||||
if (test_bit(ICNSS_FW_DOWN, &priv->state) ||
|
if (test_bit(ICNSS_FW_DOWN, &priv->state) ||
|
||||||
!test_bit(ICNSS_FW_READY, &priv->state)) {
|
!test_bit(ICNSS_FW_READY, &priv->state)) {
|
||||||
@@ -3467,7 +3470,15 @@ int icnss_wlan_enable(struct device *dev, struct icnss_wlan_enable_cfg *config,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return icnss_send_wlan_enable_to_fw(priv, config, mode, host_version);
|
if (priv->device_id == WCN6450_DEVICE_ID)
|
||||||
|
icnss_hw_power_off(priv);
|
||||||
|
|
||||||
|
ret = icnss_send_wlan_enable_to_fw(priv, config, mode, host_version);
|
||||||
|
|
||||||
|
if (priv->device_id == WCN6450_DEVICE_ID)
|
||||||
|
icnss_hw_power_on(priv);
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(icnss_wlan_enable);
|
EXPORT_SYMBOL(icnss_wlan_enable);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user