xref: /wlan-dirver/qca-wifi-host-cmn/umac/cmn_services/mgmt_txrx/dispatcher/inc/cfg_mgmt_rx_reo.h (revision 8b3dca18206e1a0461492f082fa6e270b092c035)
1 /*
2  * Copyright (c) 2021, The Linux Foundation. All rights reserved.
3  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 /**
19  *  DOC: cfg_mgmt_rx_reo.h
20  *  This file contains cfg definitions of mgmt rx reo sub-component
21  */
22 
23 #ifndef __CFG_MGMT_RX_REO_H
24 #define __CFG_MGMT_RX_REO_H
25 
26 #ifdef WLAN_MGMT_RX_REO_SUPPORT
27 
28 /*
29  * <ini>
30  * mgmt_rx_reo_enable - Enable MGMT Rx REO feature
31  * @Min: 0
32  * @Max: 1
33  * @Default: 0
34  *
35  * This ini is used to enable MGMT Rx REO feature
36  *
37  * Related: None
38  *
39  * Supported Feature: MGMT Rx REO
40  *
41  * Usage: External
42  *
43  * </ini>
44  */
45 #define CFG_MGMT_RX_REO_ENABLE \
46 	CFG_INI_BOOL("mgmt_rx_reo_enable", false, \
47 			"Enable MGMT Rx REO feature")
48 
49 /*
50  * <ini>
51  * mgmt_rx_reo_pkt_ctr_delta_thresh - Packet counter delta threshold
52  * @Min: 0
53  * @Max: 0xFFFF
54  * @Default: 0
55  *
56  * This ini is used to configure the maximum allowed delta between subsequent
57  * management frames of a given link. Configurations are as follows:
58  * 0 - No restrictions in the delta value
59  * >= 1 - Assert the system if the delta between the packet counter values of
60  * subsequent frames of a given link crosses this value.
61  *
62  * Related: None
63  *
64  * Supported Feature: MGMT Rx REO
65  *
66  * Usage: External
67  *
68  * </ini>
69  */
70 #define CFG_MGMT_RX_REO_PKT_CTR_DELTA_THRESH CFG_INI_UINT(\
71 		"mgmt_rx_reo_pkt_ctr_delta_thresh",\
72 		0, 0xFFFF, 0,\
73 		CFG_VALUE_OR_DEFAULT, "Packet counter delta threshold")
74 
75 /*
76  * <ini>
77  * mgmt_rx_reo_ingress_frame_debug_list_size - Size of the list which logs the
78  * incoming management frames
79  * @Min: 0
80  * @Max: WLAN_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE_MAX
81  * @Default: WLAN_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE_DEFAULT
82  *
83  * This ini is used to configure the size of the list which logs the incoming
84  * management frames.
85  *
86  * Related: None
87  *
88  * Supported Feature: MGMT Rx REO
89  *
90  * Usage: External
91  *
92  * </ini>
93  */
94 #define CFG_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE CFG_INI_UINT(\
95 		"mgmt_rx_reo_ingress_frame_debug_list_size",\
96 		0, WLAN_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE_MAX,\
97 		WLAN_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE_DEFAULT,\
98 		CFG_VALUE_OR_CLAMP, "Size of ingress frame debug list")
99 
100 /*
101  * <ini>
102  * mgmt_rx_reo_egress_frame_debug_list_size - Size of the list which logs the
103  * outgoing management frames
104  * @Min: 0
105  * @Max: WLAN_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE_MAX
106  * @Default: WLAN_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE_DEFAULT
107  *
108  * This ini is used to configure the size of the list which logs the outgoing
109  * management frames.
110  *
111  * Related: None
112  *
113  * Supported Feature: MGMT Rx REO
114  *
115  * Usage: External
116  *
117  * </ini>
118  */
119 #define CFG_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE CFG_INI_UINT(\
120 		"mgmt_rx_reo_egress_frame_debug_list_size",\
121 		0, WLAN_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE_MAX,\
122 		WLAN_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE_DEFAULT,\
123 		CFG_VALUE_OR_CLAMP, "Size of egress frame debug list")
124 
125 #define CFG_MGMT_RX_REO_ALL \
126 	CFG(CFG_MGMT_RX_REO_ENABLE) \
127 	CFG(CFG_MGMT_RX_REO_PKT_CTR_DELTA_THRESH) \
128 	CFG(CFG_MGMT_RX_REO_INGRESS_FRAME_DEBUG_LIST_SIZE) \
129 	CFG(CFG_MGMT_RX_REO_EGRESS_FRAME_DEBUG_LIST_SIZE)
130 #else
131 
132 #define CFG_MGMT_RX_REO_ALL
133 
134 #endif /* WLAN_MGMT_RX_REO_SUPPORT */
135 #endif /* __CFG_MGMT_RX_REO_H */
136