Loading drivers/soc/qcom/icnss2/debug.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -407,6 +407,9 @@ static int icnss_stats_show_state(struct seq_file *s, struct icnss_priv *priv) continue; continue; case ICNSS_DEL_SERVER: case ICNSS_DEL_SERVER: seq_puts(s, "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); seq_printf(s, "UNKNOWN-%d", i); Loading drivers/soc/qcom/icnss2/main.c +5 −1 Original line number Original line Diff line number Diff line Loading @@ -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); icnss_pr_info("WLAN FW Initialization done: 0x%lx\n", priv->state); if (test_bit(ICNSS_COLD_BOOT_CAL, &priv->state)) ret = wlfw_wlan_mode_send_sync_msg(priv, ret = wlfw_wlan_mode_send_sync_msg(priv, (enum wlfw_driver_mode_enum_v01)ICNSS_CALIBRATION); (enum wlfw_driver_mode_enum_v01)ICNSS_CALIBRATION); else icnss_driver_event_fw_ready_ind(priv, NULL); return ret; return ret; } } Loading Loading @@ -3265,6 +3268,7 @@ static int icnss_probe(struct platform_device *pdev) icnss_runtime_pm_init(priv); icnss_runtime_pm_init(priv); icnss_get_cpr_info(priv); icnss_get_cpr_info(priv); set_bit(ICNSS_COLD_BOOT_CAL, &priv->state); } } INIT_LIST_HEAD(&priv->icnss_tcdev_list); INIT_LIST_HEAD(&priv->icnss_tcdev_list); Loading drivers/soc/qcom/icnss2/main.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -110,6 +110,7 @@ enum icnss_driver_state { ICNSS_BLOCK_SHUTDOWN, ICNSS_BLOCK_SHUTDOWN, ICNSS_PDR, ICNSS_PDR, ICNSS_DEL_SERVER, ICNSS_DEL_SERVER, ICNSS_COLD_BOOT_CAL, }; }; struct ce_irq_list { struct ce_irq_list { Loading drivers/soc/qcom/icnss2/qmi.c +5 −0 Original line number Original line Diff line number Diff line Loading @@ -1726,12 +1726,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, static void cal_done_ind_cb(struct qmi_handle *qmi, struct sockaddr_qrtr *sq, struct qmi_txn *txn, const void *data) 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"); icnss_pr_dbg("Received QMI WLFW calibration done indication\n"); if (!txn) { if (!txn) { icnss_pr_err("Spurious indication\n"); icnss_pr_err("Spurious indication\n"); return; return; } } priv->cal_done = true; clear_bit(ICNSS_COLD_BOOT_CAL, &priv->state); } } static void fw_init_done_ind_cb(struct qmi_handle *qmi, static void fw_init_done_ind_cb(struct qmi_handle *qmi, Loading Loading
drivers/soc/qcom/icnss2/debug.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -407,6 +407,9 @@ static int icnss_stats_show_state(struct seq_file *s, struct icnss_priv *priv) continue; continue; case ICNSS_DEL_SERVER: case ICNSS_DEL_SERVER: seq_puts(s, "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); seq_printf(s, "UNKNOWN-%d", i); Loading
drivers/soc/qcom/icnss2/main.c +5 −1 Original line number Original line Diff line number Diff line Loading @@ -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); icnss_pr_info("WLAN FW Initialization done: 0x%lx\n", priv->state); if (test_bit(ICNSS_COLD_BOOT_CAL, &priv->state)) ret = wlfw_wlan_mode_send_sync_msg(priv, ret = wlfw_wlan_mode_send_sync_msg(priv, (enum wlfw_driver_mode_enum_v01)ICNSS_CALIBRATION); (enum wlfw_driver_mode_enum_v01)ICNSS_CALIBRATION); else icnss_driver_event_fw_ready_ind(priv, NULL); return ret; return ret; } } Loading Loading @@ -3265,6 +3268,7 @@ static int icnss_probe(struct platform_device *pdev) icnss_runtime_pm_init(priv); icnss_runtime_pm_init(priv); icnss_get_cpr_info(priv); icnss_get_cpr_info(priv); set_bit(ICNSS_COLD_BOOT_CAL, &priv->state); } } INIT_LIST_HEAD(&priv->icnss_tcdev_list); INIT_LIST_HEAD(&priv->icnss_tcdev_list); Loading
drivers/soc/qcom/icnss2/main.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -110,6 +110,7 @@ enum icnss_driver_state { ICNSS_BLOCK_SHUTDOWN, ICNSS_BLOCK_SHUTDOWN, ICNSS_PDR, ICNSS_PDR, ICNSS_DEL_SERVER, ICNSS_DEL_SERVER, ICNSS_COLD_BOOT_CAL, }; }; struct ce_irq_list { struct ce_irq_list { Loading
drivers/soc/qcom/icnss2/qmi.c +5 −0 Original line number Original line Diff line number Diff line Loading @@ -1726,12 +1726,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, static void cal_done_ind_cb(struct qmi_handle *qmi, struct sockaddr_qrtr *sq, struct qmi_txn *txn, const void *data) 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"); icnss_pr_dbg("Received QMI WLFW calibration done indication\n"); if (!txn) { if (!txn) { icnss_pr_err("Spurious indication\n"); icnss_pr_err("Spurious indication\n"); return; return; } } priv->cal_done = true; clear_bit(ICNSS_COLD_BOOT_CAL, &priv->state); } } static void fw_init_done_ind_cb(struct qmi_handle *qmi, static void fw_init_done_ind_cb(struct qmi_handle *qmi, Loading