qcacld-3.0: Record polled completion processing
Since the wmi tx copy engine's completions can be
processed in both its tasklet context and through
ce_per_engine_servicereap on a polled basis, we
wish to be able to distinguish the when each is used.
Change-Id: I5892eeeab4e1c7e4c35b958d98db7ad0293ec24f
CRs-Fixed: 951569
diff --git a/core/hif/src/ce/ce_service.c b/core/hif/src/ce/ce_service.c
index 8e31cd5..0d97b49 100644
--- a/core/hif/src/ce/ce_service.c
+++ b/core/hif/src/ce/ce_service.c
@@ -1181,7 +1181,7 @@
* within it .
*/
-void ce_per_engine_servicereap(struct ol_softc *scn, unsigned int CE_id)
+void ce_per_engine_servicereap(struct ol_softc *scn, unsigned int ce_id)
{
void *CE_context;
void *transfer_context;
@@ -1190,9 +1190,11 @@
unsigned int id;
unsigned int sw_idx, hw_idx;
uint32_t toeplitz_hash_result;
- struct CE_state *CE_state = scn->ce_id_to_state[CE_id];
+ struct CE_state *CE_state = scn->ce_id_to_state[ce_id];
A_TARGET_ACCESS_BEGIN(scn);
+ hif_record_ce_desc_event(ce_id, HIF_CE_REAP_ENTRY,
+ NULL, NULL, 0);
/* Since this function is called from both user context and
* tasklet context the spinlock has to lock the bottom halves.
@@ -1220,7 +1222,7 @@
&nbytes, &id, &sw_idx, &hw_idx,
&toeplitz_hash_result) ==
CDF_STATUS_SUCCESS) {
- if (CE_id != CE_HTT_H2T_MSG) {
+ if (ce_id != CE_HTT_H2T_MSG) {
cdf_spin_unlock_bh(
&CE_state->ce_index_lock);
CE_state->send_cb(
@@ -1247,6 +1249,9 @@
}
cdf_spin_unlock_bh(&CE_state->ce_index_lock);
+
+ hif_record_ce_desc_event(ce_id, HIF_CE_REAP_EXIT,
+ NULL, NULL, 0);
A_TARGET_ACCESS_END(scn);
}