xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_fe_rrm.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1 /*
2  * Copyright (c) 2012-2018, 2020 The Linux Foundation. All rights reserved.
3  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for
6  * any purpose with or without fee is hereby granted, provided that the
7  * above copyright notice and this permission notice appear in all
8  * copies.
9  *
10  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17  * PERFORMANCE OF THIS SOFTWARE.
18  */
19 
20 /**
21  * DOC: This file contains centralized definitions of converged configuration.
22  */
23 
24 #ifndef __CFG_MLME_FE_RRM_H
25 #define __CFG_MLME_FE_RRM_H
26 
27 /*
28  * <ini>
29  * gRrmEnable - Enable/Disable RRM on STA
30  * @Min: 0
31  * @Max: 1
32  * @Default: 1
33  *
34  * This ini is used to controls the capabilities (11 k) included
35  * in the capabilities field for STA.
36  *
37  * Related: None.
38  *
39  * Supported Feature: 11k
40  *
41  * Usage: Internal
42  *
43  * </ini>
44  */
45 #define CFG_RRM_ENABLE CFG_INI_BOOL("gRrmEnable", \
46 				    1, \
47 				    "Enable/Disable RRM")
48 
49 /*
50  * <ini>
51  * sap_rrm_enable - Enable/Disable RRM on SAP
52  * @Min: 0
53  * @Max: 1
54  * @Default: 0
55  *
56  * This ini is used to control the capabilities (11 k) included
57  * in the capabilities field for SAP.
58  *
59  * Related: None.
60  *
61  * Supported Feature: 11k
62  *
63  * Usage: Internal
64  *
65  * </ini>
66  */
67 #define CFG_SAP_RRM_ENABLE CFG_INI_BOOL("sap_rrm_enable", \
68 					0, \
69 					"Enable/Disable RRM on SAP")
70 
71 /*
72  * <ini>
73  * gRrmRandnIntvl - Randomization interval
74  * @Min: 10
75  * @Max: 100
76  * @Default: 100
77  *
78  * This ini is used to set randomization interval which is used to start a timer
79  * of a random value within randomization interval. Next RRM Scan request
80  * will be issued after the expiry of this random interval.
81  *
82  * Related: None.
83  *
84  * Supported Feature: 11k
85  *
86  * Usage: Internal/External
87  *
88  * </ini>
89  */
90 #define CFG_RRM_MEAS_RAND_INTVL CFG_INI_UINT("gRrmRandnIntvl", \
91 					     10, \
92 					     100, \
93 					     100, \
94 					     CFG_VALUE_OR_DEFAULT, \
95 					     "RRM Randomization interval")
96 
97 /*
98  * <ini>
99  * rm_capability - Configure RM enabled capabilities IE
100  * @Default: 0x73,0x1A,0x91,0x00,0x04
101  *
102  * This ini is used to configure RM enabled capabilities IE.
103  * Using this INI, we can set/unset any of the bits in 5 bytes
104  * (last 4bytes are reserved). Bit details are updated as per
105  * Draft version of 11mc spec. (Draft P802.11REVmc_D4.2)
106  *
107  * Bitwise details are defined as bit mask in rrm_global.h
108  * Comma is used as a separator for each byte.
109  *
110  * Related: None.
111  *
112  * Supported Feature: 11k
113  *
114  * Usage: Internal/External
115  *
116  * </ini>
117  */
118 #define CFG_RM_CAPABILITY CFG_INI_STRING("rm_capability", \
119 					 24, \
120 					 40, \
121 					 "0x73,0x1A,0x91,0x00,0x04", \
122 					 "RM enabled capabilities IE")
123 
124 #define CFG_FE_RRM_ALL \
125 	CFG(CFG_RRM_ENABLE) \
126 	CFG(CFG_SAP_RRM_ENABLE) \
127 	CFG(CFG_RRM_MEAS_RAND_INTVL) \
128 	CFG(CFG_RM_CAPABILITY)
129 
130 #endif /* __CFG_MLME_FE_RRM_H */
131