xref: /wlan-dirver/qca-wifi-host-cmn/dp/wifi3.0/monitor/1.0/dp_mon_1.0.h (revision d0c05845839e5f2ba5a8dcebe0cd3e4cd4e8dfcf)
1 /*
2  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for any
5  * purpose with or without fee is hereby granted, provided that the above
6  * copyright notice and this permission notice appear in all copies.
7  *
8  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15  */
16 
17 #ifndef _DP_MON_1_0_H_
18 #define _DP_MON_1_0_H_
19 
20 #ifdef WLAN_RX_PKT_CAPTURE_ENH
21 #include <dp_rx_mon_feature.h>
22 #endif
23 
24 #include <dp_rx_mon.h>
25 
26 void dp_flush_monitor_rings(struct dp_soc *soc);
27 
28 /* MCL specific functions */
29 #if defined(DP_CON_MON)
30 
31 /*
32  * dp_service_mon_rings()- service monitor rings
33  * @soc: soc dp handle
34  * @quota: number of ring entry that can be serviced
35  *
36  * Return: None
37  *
38  */
39 void dp_service_mon_rings(struct  dp_soc *soc, uint32_t quota);
40 #endif
41 
42 /**
43  * dp_mon_drop_packets_for_mac() - Drop the mon status ring and
44  *  dest ring packets for a given mac. Packets in status ring and
45  *  dest ring are dropped independently.
46  * @pdev: DP pdev
47  * @mac_id: mac id
48  * @quota: max number of status ring entries that can be processed
49  *
50  * Return: work done
51  */
52 uint32_t dp_mon_drop_packets_for_mac(struct dp_pdev *pdev, uint32_t mac_id,
53 				     uint32_t quota);
54 
55 #endif /* _DP_MON_1_0_H_ */
56