qcacmn: Avoid logging few hif events in case of IRQ storm

In IRQ storm scenario, the events are logged to hif
event desc history even though the SRNG is empty
resulting in overwriting of older entries useful for
debugging.

Fix is to avoid recording hif events if the SRNG is
empty in IRQ storm scenario.

Change-Id: Id4161198c60f5fae31123c936f0f4acc1082a78b
CRs-Fixed: 2753675
This commit is contained in:
Yeshwanth Sriram Guntuka
2020-08-25 21:16:38 +05:30
committed by snandini
parent 8e4491a9ac
commit 32a9cc93a8
5 changed files with 106 additions and 0 deletions

View File

@@ -328,6 +328,7 @@ enum hif_event_type {
HIF_EVENT_BH_SCHED,
HIF_EVENT_SRNG_ACCESS_START,
HIF_EVENT_SRNG_ACCESS_END,
/* Do check hif_hist_skip_event_record when adding new events */
};
#ifdef WLAN_FEATURE_DP_EVENT_HISTORY
@@ -358,6 +359,16 @@ struct hif_event_record {
enum hif_event_type type;
};
/**
* struct hif_event_misc - history related misc info
* @last_irq_index: last irq event index in history
* @last_irq_ts: last irq timestamp
*/
struct hif_event_misc {
int32_t last_irq_index;
uint64_t last_irq_ts;
};
/**
* struct hif_event_history - history for one interrupt group
* @index: index to store new event
@@ -368,6 +379,7 @@ struct hif_event_record {
*/
struct hif_event_history {
qdf_atomic_t index;
struct hif_event_misc misc;
struct hif_event_record event[HIF_EVENT_HIST_MAX];
};