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:
Naman Padhiar 2020-09-22 15:16:10 +05:30 • committed by Gerrit - the friendly Code Review server
commit 024b204099
4 changed files with 14 additions and 1 deletions

View file

@ -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);

View file

@ -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);

View file

@ -109,6 +109,7 @@ enum icnss_driver_state {
ICNSS_BLOCK_SHUTDOWN,
ICNSS_PDR,
ICNSS_DEL_SERVER,
ICNSS_COLD_BOOT_CAL,
};
struct ce_irq_list {

View file

@ -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,