mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 04:42:04 -04:00
icnss2: Avoid calibration during SSR of WCN6750
Send Calibration mode to FW only at the time of cold boot. At the time of SSR Calibration mode will not be sent. Change-Id: Idf7016384937433480f62d0912e5e3dcf76f4e44 Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
This commit is contained in:
parent
ae7ebc3fed
commit
024b204099
4 changed files with 14 additions and 1 deletions
|
|
@ -407,6 +407,9 @@ static int icnss_stats_show_state(struct seq_file *s, struct icnss_priv *priv)
|
|||
continue;
|
||||
case ICNSS_DEL_SERVER:
|
||||
seq_puts(s, "DEL SERVER");
|
||||
continue;
|
||||
case ICNSS_COLD_BOOT_CAL:
|
||||
seq_puts(s, "COLD BOOT CALIBRATION");
|
||||
}
|
||||
|
||||
seq_printf(s, "UNKNOWN-%d", i);
|
||||
|
|
|
|||
|
|
@ -821,8 +821,11 @@ static int icnss_driver_event_fw_init_done(struct icnss_priv *priv, void *data)
|
|||
|
||||
icnss_pr_info("WLAN FW Initialization done: 0x%lx\n", priv->state);
|
||||
|
||||
ret = wlfw_wlan_mode_send_sync_msg(priv,
|
||||
if (test_bit(ICNSS_COLD_BOOT_CAL, &priv->state))
|
||||
ret = wlfw_wlan_mode_send_sync_msg(priv,
|
||||
(enum wlfw_driver_mode_enum_v01)ICNSS_CALIBRATION);
|
||||
else
|
||||
icnss_driver_event_fw_ready_ind(priv, NULL);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
@ -3268,6 +3271,7 @@ static int icnss_probe(struct platform_device *pdev)
|
|||
|
||||
icnss_runtime_pm_init(priv);
|
||||
icnss_get_cpr_info(priv);
|
||||
set_bit(ICNSS_COLD_BOOT_CAL, &priv->state);
|
||||
}
|
||||
|
||||
INIT_LIST_HEAD(&priv->icnss_tcdev_list);
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ enum icnss_driver_state {
|
|||
ICNSS_BLOCK_SHUTDOWN,
|
||||
ICNSS_PDR,
|
||||
ICNSS_DEL_SERVER,
|
||||
ICNSS_COLD_BOOT_CAL,
|
||||
};
|
||||
|
||||
struct ce_irq_list {
|
||||
|
|
|
|||
|
|
@ -1724,12 +1724,17 @@ static void rejuvenate_ind_cb(struct qmi_handle *qmi, struct sockaddr_qrtr *sq,
|
|||
static void cal_done_ind_cb(struct qmi_handle *qmi, struct sockaddr_qrtr *sq,
|
||||
struct qmi_txn *txn, const void *data)
|
||||
{
|
||||
struct icnss_priv *priv = container_of(qmi, struct icnss_priv, qmi);
|
||||
|
||||
icnss_pr_dbg("Received QMI WLFW calibration done indication\n");
|
||||
|
||||
if (!txn) {
|
||||
icnss_pr_err("Spurious indication\n");
|
||||
return;
|
||||
}
|
||||
|
||||
priv->cal_done = true;
|
||||
clear_bit(ICNSS_COLD_BOOT_CAL, &priv->state);
|
||||
}
|
||||
|
||||
static void fw_init_done_ind_cb(struct qmi_handle *qmi,
|
||||
|
|
|
|||
Loading…
Reference in a new issue