Parcourir la source

qcacld-3.0: Refine WLAN IPA event record

Use QDF_IPA_WLAN_EVENT_MAX instead of IPA_WLAN_EVENT_MAX to record
WLAN event to IPA.

Also record QDF_SWITCH_TO_MCC/SCC and QDF_WDI_ENABLE/DISABLE event.

Change-Id: Iada6c39d2b952f6b9a1690a86c5871d2ca588cd2
CRs-Fixed: 2240425
jiad il y a 7 ans
Parent
commit
629b21762e

+ 1 - 1
components/ipa/core/inc/wlan_ipa_priv.h

@@ -332,7 +332,7 @@ struct wlan_ipa_iface_context {
  * @num_tx_fwd_err: Number of TX forward packet failures
  */
 struct wlan_ipa_stats {
-	uint32_t event[IPA_WLAN_EVENT_MAX];
+	uint32_t event[QDF_IPA_WLAN_EVENT_MAX];
 	uint64_t num_send_msg;
 	uint64_t num_free_msg;
 	uint64_t num_rm_grant;

+ 12 - 4
components/ipa/core/src/wlan_ipa_core.c

@@ -154,6 +154,7 @@ done:
  */
 static QDF_STATUS wlan_ipa_uc_send_wdi_control_msg(bool ctrl)
 {
+	struct wlan_ipa_priv *ipa_ctx = gp_ipa;
 	qdf_ipa_msg_meta_t meta;
 	qdf_ipa_wlan_msg_t *ipa_msg;
 	int ret = 0;
@@ -166,10 +167,13 @@ static QDF_STATUS wlan_ipa_uc_send_wdi_control_msg(bool ctrl)
 		return QDF_STATUS_E_NOMEM;
 	}
 
-	if (ctrl)
+	if (ctrl) {
 		QDF_IPA_SET_META_MSG_TYPE(&meta, QDF_WDI_ENABLE);
-	else
+		ipa_ctx->stats.event[QDF_WDI_ENABLE]++;
+	} else {
 		QDF_IPA_SET_META_MSG_TYPE(&meta, QDF_WDI_DISABLE);
+		ipa_ctx->stats.event[QDF_WDI_DISABLE]++;
+	}
 
 	ipa_debug("ipa_send_msg(Evt:%d)", QDF_IPA_MSG_META_MSG_TYPE(&meta));
 	ret = qdf_ipa_send_msg(&meta, ipa_msg, wlan_ipa_msg_free_fn);
@@ -2098,10 +2102,14 @@ QDF_STATUS wlan_ipa_send_mcc_scc_msg(struct wlan_ipa_priv *ipa_ctx,
 		return QDF_STATUS_E_NOMEM;
 	}
 
-	if (mcc_mode)
+	if (mcc_mode) {
 		QDF_IPA_SET_META_MSG_TYPE(&meta, QDF_SWITCH_TO_MCC);
-	else
+		ipa_ctx->stats.event[QDF_SWITCH_TO_MCC]++;
+	} else {
 		QDF_IPA_SET_META_MSG_TYPE(&meta, QDF_SWITCH_TO_SCC);
+		ipa_ctx->stats.event[QDF_SWITCH_TO_SCC]++;
+	}
+
 	WLAN_IPA_LOG(QDF_TRACE_LEVEL_DEBUG,
 		    "ipa_send_msg(Evt:%d)",
 		    QDF_IPA_MSG_META_MSG_TYPE(&meta));

+ 1 - 1
components/ipa/core/src/wlan_ipa_stats.c

@@ -530,7 +530,7 @@ static void wlan_ipa_print_session_info(struct wlan_ipa_priv *ipa_ctx)
 						       session_id]);
 	}
 
-	for (i = 0; i < IPA_WLAN_EVENT_MAX; i++)
+	for (i = 0; i < QDF_IPA_WLAN_EVENT_MAX; i++)
 		ipa_info("\nEVENT[%d]=%d",
 			 i, ipa_ctx->stats.event[i]);