qcacmn: refine the APIs for reap timer of monitor status ring

Since more than one components depend on reap timer of
monitor status ring, add bitmap to record the trigger
sources of the timer and refine the APIs/calling functions
accordingly.

With this change:
When a new start request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit set, and start timer
if any bit has been set in the bitmap; while for the
other sources, set the bit and start timer if the bitmap
is empty before that.

When a new stop request comes, if the source is
CDP_MON_REAP_SOURCE_ANY, skip bit clear, and stop timer
if any bit has been set in the bitmap; while for the
other sources, clear the bit and stop timer if the bitmap
is empty after that.

Change-Id: Idaa7837c4b93b247ff2236aa5072d309fa9548c2
CRs-Fixed: 3190347
This commit is contained in:
Yu Wang
2022-05-17 18:07:53 +08:00
committad av Madan Koyyalamudi
förälder c8fafae5ee
incheckning a9461beb20
10 ändrade filer med 239 tillägg och 211 borttagningar

Visa fil

@@ -493,12 +493,15 @@ void dp_monitor_reap_timer_deinit(struct dp_soc *soc)
}
static inline
void dp_monitor_reap_timer_start(struct dp_soc *soc)
bool dp_monitor_reap_timer_start(struct dp_soc *soc,
enum cdp_mon_reap_source source)
{
return false;
}
static inline
bool dp_monitor_reap_timer_stop(struct dp_soc *soc)
bool dp_monitor_reap_timer_stop(struct dp_soc *soc,
enum cdp_mon_reap_source source)
{
return false;
}