xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_nss_chains.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2018, 2020 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name 
20*5113495bSYour Name /**
21*5113495bSYour Name  * DOC: This file contains centralized definitions of converged configuration.
22*5113495bSYour Name  */
23*5113495bSYour Name 
24*5113495bSYour Name #ifndef __CFG_MLME_NSS_CHAINS
25*5113495bSYour Name #define __CFG_MLME_NSS_CHAINS
26*5113495bSYour Name 
27*5113495bSYour Name /*
28*5113495bSYour Name  * <ini>
29*5113495bSYour Name  * num_tx_chains_2g - Config Param to change number of tx
30*5113495bSYour Name  * chains per vdev for 2.4ghz frequency connections
31*5113495bSYour Name  * @Min: 0x01249249
32*5113495bSYour Name  * @Max: 0x02492492
33*5113495bSYour Name  * @Default: 0x02492492
34*5113495bSYour Name  *
35*5113495bSYour Name  * This ini is used to change the num of chains for eg:-
36*5113495bSYour Name  * 0x01249249 - change all vdev's num tx chains for 2.4ghz connection to 1 each
37*5113495bSYour Name  * 0x02492492 - change all vdev's num tx chains for 2.4ghz connection to 2 each
38*5113495bSYour Name  * Bits          VDEV Type
39*5113495bSYour Name  * BIT[0:2]        STA
40*5113495bSYour Name  * BIT[3:5]        SAP
41*5113495bSYour Name  * BIT[6:8]        P2P GO
42*5113495bSYour Name  * BIT[9:11]       P2P Client
43*5113495bSYour Name  * BIT[12:14]      TDLS
44*5113495bSYour Name  * BIT[15:17]      IBSS
45*5113495bSYour Name  * BIT[18:20]      P2P device
46*5113495bSYour Name  * BIT[21:23]      OCB
47*5113495bSYour Name  * BIT[24:26]      NAN
48*5113495bSYour Name  * BIT[27:31]      Reserved
49*5113495bSYour Name  *
50*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
51*5113495bSYour Name  *
52*5113495bSYour Name  * Supported Feature: Dynamic chainmask
53*5113495bSYour Name  *
54*5113495bSYour Name  * Usage: External
55*5113495bSYour Name  *
56*5113495bSYour Name  * </ini>
57*5113495bSYour Name  */
58*5113495bSYour Name #define CFG_NUM_TX_CHAINS_2G CFG_INI_UINT( \
59*5113495bSYour Name 				"num_tx_chains_2g", \
60*5113495bSYour Name 				0x01249249, \
61*5113495bSYour Name 				0x02492492, \
62*5113495bSYour Name 				0x02492492, \
63*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
64*5113495bSYour Name 				"num tx chains 2g")
65*5113495bSYour Name 
66*5113495bSYour Name /*
67*5113495bSYour Name  * <ini>
68*5113495bSYour Name  * num_tx_chains_5g - Config Param to change number of tx
69*5113495bSYour Name  * chains per vdev for 5 ghz frequency connections
70*5113495bSYour Name  * @Min: 0x01249249
71*5113495bSYour Name  * @Max: 0x02492492
72*5113495bSYour Name  * @Default: 0x02492492
73*5113495bSYour Name  *
74*5113495bSYour Name  * This ini is used to change the num of chains for eg:-
75*5113495bSYour Name  * 0x01249249- change all vdev's tx num chains for 5ghz connection to 1 each
76*5113495bSYour Name  * 0x02492492 - change all vdev's tx num chains for 5ghz connection to 2 each
77*5113495bSYour Name  * Bits          VDEV Type
78*5113495bSYour Name  * BIT[0:2]        STA
79*5113495bSYour Name  * BIT[3:5]        SAP
80*5113495bSYour Name  * BIT[6:8]        P2P GO
81*5113495bSYour Name  * BIT[9:11]       P2P Client
82*5113495bSYour Name  * BIT[12:14]      TDLS
83*5113495bSYour Name  * BIT[15:17]      IBSS
84*5113495bSYour Name  * BIT[18:20]      P2P device
85*5113495bSYour Name  * BIT[21:23]      OCB
86*5113495bSYour Name  * BIT[24:26]      NAN
87*5113495bSYour Name  * BIT[27:31]      Reserved
88*5113495bSYour Name  *
89*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
90*5113495bSYour Name  *
91*5113495bSYour Name  * Supported Feature: Dynamic chainmask
92*5113495bSYour Name  *
93*5113495bSYour Name  * Usage: External
94*5113495bSYour Name  *
95*5113495bSYour Name  * </ini>
96*5113495bSYour Name  */
97*5113495bSYour Name #define CFG_NUM_TX_CHAINS_5G CFG_INI_UINT( \
98*5113495bSYour Name 				"num_tx_chains_5g", \
99*5113495bSYour Name 				0x01249249, \
100*5113495bSYour Name 				0x02492492, \
101*5113495bSYour Name 				0x02492492, \
102*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
103*5113495bSYour Name 				"num tx chains 5g")
104*5113495bSYour Name 
105*5113495bSYour Name /*
106*5113495bSYour Name  * <ini>
107*5113495bSYour Name  * num_rx_chains_2g - Config Param to change number of rx
108*5113495bSYour Name  * chains per vdev for 2.4 ghz frequency connections
109*5113495bSYour Name  * @Min: 0x01249249
110*5113495bSYour Name  * @Max: 0x02492492
111*5113495bSYour Name  * @Default: 0x02492492
112*5113495bSYour Name  *
113*5113495bSYour Name  * This ini is used to change the num of chains for eg:-
114*5113495bSYour Name  * 0x01249249 - change all vdev's rx num chains for 2.4ghz connections to 1 each
115*5113495bSYour Name  * 0x02492492 - change all vdev's rx num chains for 2.4ghz connections to 2 each
116*5113495bSYour Name  * Bits          VDEV Type
117*5113495bSYour Name  * BIT[0:2]        STA
118*5113495bSYour Name  * BIT[3:5]        SAP
119*5113495bSYour Name  * BIT[6:8]        P2P GO
120*5113495bSYour Name  * BIT[9:11]       P2P Client
121*5113495bSYour Name  * BIT[12:14]      TDLS
122*5113495bSYour Name  * BIT[15:17]      IBSS
123*5113495bSYour Name  * BIT[18:20]      P2P device
124*5113495bSYour Name  * BIT[21:23]      OCB
125*5113495bSYour Name  * BIT[24:26]      NAN
126*5113495bSYour Name  * BIT[27:31]      Reserved
127*5113495bSYour Name  *
128*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
129*5113495bSYour Name  *
130*5113495bSYour Name  * Supported Feature: Dynamic chainmask
131*5113495bSYour Name  *
132*5113495bSYour Name  * Usage: External
133*5113495bSYour Name  *
134*5113495bSYour Name  * </ini>
135*5113495bSYour Name  */
136*5113495bSYour Name #define CFG_NUM_RX_CHAINS_2G CFG_INI_UINT( \
137*5113495bSYour Name 				"num_rx_chains_2g", \
138*5113495bSYour Name 				0x01249249, \
139*5113495bSYour Name 				0x02492492, \
140*5113495bSYour Name 				0x02492492, \
141*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
142*5113495bSYour Name 				"num rx chains 2g")
143*5113495bSYour Name 
144*5113495bSYour Name /*
145*5113495bSYour Name  * <ini>
146*5113495bSYour Name  * num_rx_chains_5g - Config Param to change number of rx
147*5113495bSYour Name  * chains per vdev for 5 ghz frequency connections
148*5113495bSYour Name  * @Min: 0x01249249
149*5113495bSYour Name  * @Max: 0x02492492
150*5113495bSYour Name  * @Default: 0x02492492
151*5113495bSYour Name  *
152*5113495bSYour Name  * This ini is used to change the num of chains for eg:-
153*5113495bSYour Name  * 0x01249249 - change all vdev's rx num chains for 5ghz connections to 1 each
154*5113495bSYour Name  * 0x02492492 - change all vdev's rx num chains for 5ghz connections to 2 each
155*5113495bSYour Name  * Bits          VDEV Type
156*5113495bSYour Name  * BIT[0:2]        STA
157*5113495bSYour Name  * BIT[3:5]        SAP
158*5113495bSYour Name  * BIT[6:8]        P2P GO
159*5113495bSYour Name  * BIT[9:11]       P2P Client
160*5113495bSYour Name  * BIT[12:14]      TDLS
161*5113495bSYour Name  * BIT[15:17]      IBSS
162*5113495bSYour Name  * BIT[18:20]      P2P device
163*5113495bSYour Name  * BIT[21:23]      OCB
164*5113495bSYour Name  * BIT[24:26]      NAN
165*5113495bSYour Name  * BIT[27:31]      Reserved
166*5113495bSYour Name  *
167*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
168*5113495bSYour Name  *
169*5113495bSYour Name  * Supported Feature: Dynamic chainmask
170*5113495bSYour Name  *
171*5113495bSYour Name  * Usage: External
172*5113495bSYour Name  *
173*5113495bSYour Name  * </ini>
174*5113495bSYour Name  */
175*5113495bSYour Name #define CFG_NUM_RX_CHAINS_5G CFG_INI_UINT( \
176*5113495bSYour Name 				"num_rx_chains_5g", \
177*5113495bSYour Name 				0x01249249, \
178*5113495bSYour Name 				0x02492492, \
179*5113495bSYour Name 				0x02492492, \
180*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
181*5113495bSYour Name 				"num rx chains 5g")
182*5113495bSYour Name 
183*5113495bSYour Name /*
184*5113495bSYour Name  * <ini>
185*5113495bSYour Name  * tx_nss_2g - Config Param to change tx nss
186*5113495bSYour Name  * per vdev for 2.4ghz frequency connections
187*5113495bSYour Name  * @Min: 0x01249249
188*5113495bSYour Name  * @Max: 0x02492492
189*5113495bSYour Name  * @Default: 0x02492492
190*5113495bSYour Name  *
191*5113495bSYour Name  * This ini is used to change the num of tx spatial streams for eg:-
192*5113495bSYour Name  * 0x01249249 - change all vdev's tx nss for 2.4ghz connections to 1 each
193*5113495bSYour Name  * 0x02492492 - change all vdev's tx nss for 2.4ghz connections to 2 each
194*5113495bSYour Name  * Bits          VDEV Type
195*5113495bSYour Name  * BIT[0:2]        STA
196*5113495bSYour Name  * BIT[3:5]        SAP
197*5113495bSYour Name  * BIT[6:8]        P2P GO
198*5113495bSYour Name  * BIT[9:11]       P2P Client
199*5113495bSYour Name  * BIT[12:14]      TDLS
200*5113495bSYour Name  * BIT[15:17]      IBSS
201*5113495bSYour Name  * BIT[18:20]      P2P device
202*5113495bSYour Name  * BIT[21:23]      OCB
203*5113495bSYour Name  * BIT[24:26]      NAN
204*5113495bSYour Name  * BIT[27:31]      Reserved
205*5113495bSYour Name  *
206*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
207*5113495bSYour Name  *
208*5113495bSYour Name  * Supported Feature: Dynamic chainmask
209*5113495bSYour Name  *
210*5113495bSYour Name  * Usage: External
211*5113495bSYour Name  *
212*5113495bSYour Name  * </ini>
213*5113495bSYour Name  */
214*5113495bSYour Name #define CFG_TX_NSS_2G CFG_INI_UINT( \
215*5113495bSYour Name 				"tx_nss_2g", \
216*5113495bSYour Name 				0x01249249, \
217*5113495bSYour Name 				0x02492492, \
218*5113495bSYour Name 				0x02492492, \
219*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
220*5113495bSYour Name 				"tx nss 2.4ghz")
221*5113495bSYour Name 
222*5113495bSYour Name /*
223*5113495bSYour Name  * <ini>
224*5113495bSYour Name  * tx_nss_5g - Config Param to change tx nss
225*5113495bSYour Name  * per vdev for 5ghz frequency connections
226*5113495bSYour Name  * @Min: 0x01249249
227*5113495bSYour Name  * @Max: 0x02492492
228*5113495bSYour Name  * @Default: 0x02492492
229*5113495bSYour Name  *
230*5113495bSYour Name  * This ini is used to change the num of tx spatial streams for eg:-
231*5113495bSYour Name  * 0x01249249 - change all vdev's tx nss for 5ghz connections to 1 each
232*5113495bSYour Name  * 0x02492492 - change all vdev's tx nss for 5ghz connections to 2 each
233*5113495bSYour Name  * Bits          VDEV Type
234*5113495bSYour Name  * BIT[0:2]        STA
235*5113495bSYour Name  * BIT[3:5]        SAP
236*5113495bSYour Name  * BIT[6:8]        P2P GO
237*5113495bSYour Name  * BIT[9:11]       P2P Client
238*5113495bSYour Name  * BIT[12:14]      TDLS
239*5113495bSYour Name  * BIT[15:17]      IBSS
240*5113495bSYour Name  * BIT[18:20]      P2P device
241*5113495bSYour Name  * BIT[21:23]      OCB
242*5113495bSYour Name  * BIT[24:26]      NAN
243*5113495bSYour Name  * BIT[27:31]      Reserved
244*5113495bSYour Name  *
245*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
246*5113495bSYour Name  *
247*5113495bSYour Name  * Supported Feature: Dynamic chainmask
248*5113495bSYour Name  *
249*5113495bSYour Name  * Usage: External
250*5113495bSYour Name  *
251*5113495bSYour Name  * </ini>
252*5113495bSYour Name  */
253*5113495bSYour Name #define CFG_TX_NSS_5G CFG_INI_UINT( \
254*5113495bSYour Name 				"tx_nss_5g", \
255*5113495bSYour Name 				0x01249249, \
256*5113495bSYour Name 				0x02492492, \
257*5113495bSYour Name 				0x02492492, \
258*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
259*5113495bSYour Name 				"tx nss 5ghz")
260*5113495bSYour Name 
261*5113495bSYour Name /*
262*5113495bSYour Name  * <ini>
263*5113495bSYour Name  * rx_nss_2g - Config Param to change rx nss
264*5113495bSYour Name  * per vdev for 2.4ghz frequency connections
265*5113495bSYour Name  *
266*5113495bSYour Name  * @Min: 0x01249249
267*5113495bSYour Name  * @Max: 0x02492492
268*5113495bSYour Name  * @Default: 0x02492492
269*5113495bSYour Name  *
270*5113495bSYour Name  * This ini is used to change the num of rx spatial streams for eg:-
271*5113495bSYour Name  * 0x01249249 - change all vdev's rx nss for 2.4ghz connections to 1 each
272*5113495bSYour Name  * 0x02492492 - change all vdev's rx nss for 2.4ghz connections to 2 each
273*5113495bSYour Name  * Bits          VDEV Type
274*5113495bSYour Name  * BIT[0:2]        STA
275*5113495bSYour Name  * BIT[3:5]        SAP
276*5113495bSYour Name  * BIT[6:8]        P2P GO
277*5113495bSYour Name  * BIT[9:11]       P2P Client
278*5113495bSYour Name  * BIT[12:14]      TDLS
279*5113495bSYour Name  * BIT[15:17]      IBSS
280*5113495bSYour Name  * BIT[18:20]      P2P device
281*5113495bSYour Name  * BIT[21:23]      OCB
282*5113495bSYour Name  * BIT[24:26]      NAN
283*5113495bSYour Name  * BIT[27:31]      Reserved
284*5113495bSYour Name  *
285*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
286*5113495bSYour Name  *
287*5113495bSYour Name  * Supported Feature: Dynamic chainmask
288*5113495bSYour Name  *
289*5113495bSYour Name  * Usage: External
290*5113495bSYour Name  *
291*5113495bSYour Name  * </ini>
292*5113495bSYour Name  */
293*5113495bSYour Name #define CFG_RX_NSS_2G CFG_INI_UINT( \
294*5113495bSYour Name 				"rx_nss_2g", \
295*5113495bSYour Name 				0x01249249, \
296*5113495bSYour Name 				0x02492492, \
297*5113495bSYour Name 				0x02492492, \
298*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
299*5113495bSYour Name 				"rx nss 2.4ghz")
300*5113495bSYour Name 
301*5113495bSYour Name /*
302*5113495bSYour Name  * <ini>
303*5113495bSYour Name  * rx_nss_5g - Config Param to change rx nss
304*5113495bSYour Name  * per vdev for 5ghz frequency connections
305*5113495bSYour Name  * @Min: 0x01249249
306*5113495bSYour Name  * @Max: 0x02492492
307*5113495bSYour Name  * @Default: 0x02492492
308*5113495bSYour Name  *
309*5113495bSYour Name  * This ini is used to change the num of rx spatial streams for eg:-
310*5113495bSYour Name  * 0x01249249 - change all vdev's rx nss for 5ghz connections to 1 each
311*5113495bSYour Name  * 0x02492492 - change all vdev's rx nss for 5ghz connections to 2 each
312*5113495bSYour Name  * Bits          VDEV Type
313*5113495bSYour Name  * BIT[0:2]        STA
314*5113495bSYour Name  * BIT[3:5]        SAP
315*5113495bSYour Name  * BIT[6:8]        P2P GO
316*5113495bSYour Name  * BIT[9:11]       P2P Client
317*5113495bSYour Name  * BIT[12:14]      TDLS
318*5113495bSYour Name  * BIT[15:17]      IBSS
319*5113495bSYour Name  * BIT[18:20]      P2P device
320*5113495bSYour Name  * BIT[21:23]      OCB
321*5113495bSYour Name  * BIT[24:26]      NAN
322*5113495bSYour Name  * BIT[27:31]      Reserved
323*5113495bSYour Name  *
324*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
325*5113495bSYour Name  *
326*5113495bSYour Name  * Supported Feature: Dynamic chainmask
327*5113495bSYour Name  *
328*5113495bSYour Name  * Usage: External
329*5113495bSYour Name  *
330*5113495bSYour Name  * </ini>
331*5113495bSYour Name  */
332*5113495bSYour Name #define CFG_RX_NSS_5G CFG_INI_UINT( \
333*5113495bSYour Name 				"rx_nss_5g", \
334*5113495bSYour Name 				0x01249249, \
335*5113495bSYour Name 				0x02492492, \
336*5113495bSYour Name 				0x02492492, \
337*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
338*5113495bSYour Name 				"rx nss 5ghz")
339*5113495bSYour Name 
340*5113495bSYour Name /*
341*5113495bSYour Name  * <ini>
342*5113495bSYour Name  * num_tx_chains_11b - Config Param to change number of tx
343*5113495bSYour Name  * chains per vdev for 2.4ghz 11b mode connections
344*5113495bSYour Name  * @Min: 0x01249249
345*5113495bSYour Name  * @Max: 0x02492492
346*5113495bSYour Name  * @Default: 0x02492492
347*5113495bSYour Name  *
348*5113495bSYour Name  * This ini is used to change the num of chains for eg:-
349*5113495bSYour Name  * 0x01249249 - change all vdev's num chains for 11b connections to 1 each
350*5113495bSYour Name  * 0x02492492 - change all vdev's num chains for 11b connections to 2 each
351*5113495bSYour Name  * Bits          VDEV Type
352*5113495bSYour Name  * BIT[0:2]        STA
353*5113495bSYour Name  * BIT[3:5]        SAP
354*5113495bSYour Name  * BIT[6:8]        P2P GO
355*5113495bSYour Name  * BIT[9:11]       P2P Client
356*5113495bSYour Name  * BIT[12:14]      TDLS
357*5113495bSYour Name  * BIT[15:17]      IBSS
358*5113495bSYour Name  * BIT[18:20]      P2P device
359*5113495bSYour Name  * BIT[21:23]      OCB
360*5113495bSYour Name  * BIT[24:26]      NAN
361*5113495bSYour Name  * BIT[27:31]      Reserved
362*5113495bSYour Name  *
363*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
364*5113495bSYour Name  *
365*5113495bSYour Name  * Supported Feature: Dynamic chainmask
366*5113495bSYour Name  *
367*5113495bSYour Name  * Usage: External
368*5113495bSYour Name  *
369*5113495bSYour Name  * </ini>
370*5113495bSYour Name  */
371*5113495bSYour Name #define CFG_NUM_TX_CHAINS_11b CFG_INI_UINT( \
372*5113495bSYour Name 				"num_tx_chains_11b", \
373*5113495bSYour Name 				0x01249249, \
374*5113495bSYour Name 				0x02492492, \
375*5113495bSYour Name 				0x02492492, \
376*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
377*5113495bSYour Name 				"num tx chains 11b")
378*5113495bSYour Name 
379*5113495bSYour Name /*
380*5113495bSYour Name  * <ini>
381*5113495bSYour Name  * num_tx_chains_11g - Config Param to change number of tx
382*5113495bSYour Name  * chains per vdev for 2.4ghz 11g mode connections
383*5113495bSYour Name  * @Min: 0x01249249
384*5113495bSYour Name  * @Max: 0x02492492
385*5113495bSYour Name  * @Default: 0x02492492
386*5113495bSYour Name  *
387*5113495bSYour Name  * This ini is used to change the num of chains for eg:-
388*5113495bSYour Name  * 0x01249249 - change all vdev's num chains for 11g connections to 1 each
389*5113495bSYour Name  * 0x02492492 - change all vdev's num chains for 11g connections to 2 each
390*5113495bSYour Name  * Bits          VDEV Type
391*5113495bSYour Name  * BIT[0:2]        STA
392*5113495bSYour Name  * BIT[3:5]        SAP
393*5113495bSYour Name  * BIT[6:8]        P2P GO
394*5113495bSYour Name  * BIT[9:11]       P2P Client
395*5113495bSYour Name  * BIT[12:14]      TDLS
396*5113495bSYour Name  * BIT[15:17]      IBSS
397*5113495bSYour Name  * BIT[18:20]      P2P device
398*5113495bSYour Name  * BIT[21:23]      OCB
399*5113495bSYour Name  * BIT[24:26]      NAN
400*5113495bSYour Name  * BIT[27:31]      Reserved
401*5113495bSYour Name  *
402*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
403*5113495bSYour Name  *
404*5113495bSYour Name  * Supported Feature: Dynamic chainmask
405*5113495bSYour Name  *
406*5113495bSYour Name  * Usage: External
407*5113495bSYour Name  *
408*5113495bSYour Name  * </ini>
409*5113495bSYour Name  */
410*5113495bSYour Name #define CFG_NUM_TX_CHAINS_11g CFG_INI_UINT( \
411*5113495bSYour Name 				"num_tx_chains_11g", \
412*5113495bSYour Name 				0x01249249, \
413*5113495bSYour Name 				0x02492492, \
414*5113495bSYour Name 				0x02492492, \
415*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
416*5113495bSYour Name 				"num tx chains 11g")
417*5113495bSYour Name 
418*5113495bSYour Name /*
419*5113495bSYour Name  * <ini>
420*5113495bSYour Name  * num_tx_chains_11a - Config Param to change number of tx
421*5113495bSYour Name  * chains per vdev for 5ghz 11a mode connections
422*5113495bSYour Name  * @Min: 0x01249249
423*5113495bSYour Name  * @Max: 0x02492492
424*5113495bSYour Name  * @Default: 0x02492492
425*5113495bSYour Name  *
426*5113495bSYour Name  * This ini is used to change the num of chains for eg:-
427*5113495bSYour Name  * 0x01249249 - change all vdev's num chains for 11a connections to 1 each
428*5113495bSYour Name  * 0x02492492 - change all vdev's num chains for 11a connections to 2 each
429*5113495bSYour Name  * Bits          VDEV Type
430*5113495bSYour Name  * BIT[0:2]        STA
431*5113495bSYour Name  * BIT[3:5]        SAP
432*5113495bSYour Name  * BIT[6:8]        P2P GO
433*5113495bSYour Name  * BIT[9:11]       P2P Client
434*5113495bSYour Name  * BIT[12:14]      TDLS
435*5113495bSYour Name  * BIT[15:17]      IBSS
436*5113495bSYour Name  * BIT[18:20]      P2P device
437*5113495bSYour Name  * BIT[21:23]      OCB
438*5113495bSYour Name  * BIT[24:26]      NAN
439*5113495bSYour Name  * BIT[27:31]      Reserved
440*5113495bSYour Name  *
441*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
442*5113495bSYour Name  *
443*5113495bSYour Name  * Supported Feature: Dynamic chainmask
444*5113495bSYour Name  *
445*5113495bSYour Name  * Usage: External
446*5113495bSYour Name  *
447*5113495bSYour Name  * </ini>
448*5113495bSYour Name  */
449*5113495bSYour Name #define CFG_NUM_TX_CHAINS_11a CFG_INI_UINT( \
450*5113495bSYour Name 				"num_tx_chains_11a", \
451*5113495bSYour Name 				0x01249249, \
452*5113495bSYour Name 				0x02492492, \
453*5113495bSYour Name 				0x02492492, \
454*5113495bSYour Name 				CFG_VALUE_OR_DEFAULT, \
455*5113495bSYour Name 				"num tx chains 11a")
456*5113495bSYour Name 
457*5113495bSYour Name /*
458*5113495bSYour Name  * <ini>
459*5113495bSYour Name  * disable_tx_mrc_2g - Config Param to disable 2 chains in 1x1 nss mode
460*5113495bSYour Name  * @Min: 0
461*5113495bSYour Name  * @Max: 1
462*5113495bSYour Name  * @Default: 0
463*5113495bSYour Name  *
464*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
465*5113495bSYour Name  *
466*5113495bSYour Name  * Supported Feature: Dynamic chainmask
467*5113495bSYour Name  *
468*5113495bSYour Name  * Usage: External
469*5113495bSYour Name  *
470*5113495bSYour Name  * </ini>
471*5113495bSYour Name  */
472*5113495bSYour Name #define CFG_DISABLE_TX_MRC_2G CFG_INI_BOOL( \
473*5113495bSYour Name 				"disable_tx_mrc_2g", \
474*5113495bSYour Name 				0, \
475*5113495bSYour Name 				"disable diversity gain tx 2g")
476*5113495bSYour Name 
477*5113495bSYour Name /*
478*5113495bSYour Name  * <ini>
479*5113495bSYour Name  * disable_rx_mrc_2g - Config Param to disable 2 chains in 1x1 nss mode
480*5113495bSYour Name  * @Min: 0
481*5113495bSYour Name  * @Max: 1
482*5113495bSYour Name  * @Default: 0
483*5113495bSYour Name  *
484*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
485*5113495bSYour Name  *
486*5113495bSYour Name  * Supported Feature: Dynamic chainmask
487*5113495bSYour Name  *
488*5113495bSYour Name  * Usage: External
489*5113495bSYour Name  *
490*5113495bSYour Name  * </ini>
491*5113495bSYour Name  */
492*5113495bSYour Name #define CFG_DISABLE_RX_MRC_2G CFG_INI_BOOL( \
493*5113495bSYour Name 				"disable_rx_mrc_2g", \
494*5113495bSYour Name 				0, \
495*5113495bSYour Name 				"disable diversity gain rx 2g")
496*5113495bSYour Name 
497*5113495bSYour Name /*
498*5113495bSYour Name  * <ini>
499*5113495bSYour Name  * disable_tx_mrc_5g - Config Param to disable 2 chains in 1x1 nss mode
500*5113495bSYour Name  * @Min: 0
501*5113495bSYour Name  * @Max: 1
502*5113495bSYour Name  * @Default: 0
503*5113495bSYour Name  *
504*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
505*5113495bSYour Name  *
506*5113495bSYour Name  * Supported Feature: Dynamic chainmask
507*5113495bSYour Name  *
508*5113495bSYour Name  * Usage: External
509*5113495bSYour Name  *
510*5113495bSYour Name  * </ini>
511*5113495bSYour Name  */
512*5113495bSYour Name #define CFG_DISABLE_TX_MRC_5G CFG_INI_BOOL( \
513*5113495bSYour Name 				"disable_tx_mrc_5g", \
514*5113495bSYour Name 				0, \
515*5113495bSYour Name 				"disable diversity gain tx 5g")
516*5113495bSYour Name 
517*5113495bSYour Name /*
518*5113495bSYour Name  * <ini>
519*5113495bSYour Name  * disable_rx_mrc_5g - Config Param to disable 2 chains in 1x1 nss mode
520*5113495bSYour Name  * @Min: 0
521*5113495bSYour Name  * @Max: 1
522*5113495bSYour Name  * @Default: 0
523*5113495bSYour Name  *
524*5113495bSYour Name  * Related: STA/SAP/P2P/IBSS/NAN.
525*5113495bSYour Name  *
526*5113495bSYour Name  * Supported Feature: Dynamic chainmask
527*5113495bSYour Name  *
528*5113495bSYour Name  * Usage: External
529*5113495bSYour Name  *
530*5113495bSYour Name  * </ini>
531*5113495bSYour Name  */
532*5113495bSYour Name #define CFG_DISABLE_RX_MRC_5G CFG_INI_BOOL( \
533*5113495bSYour Name 				"disable_rx_mrc_5g", \
534*5113495bSYour Name 				0, \
535*5113495bSYour Name 				"disable diversity gain rx 5g")
536*5113495bSYour Name 
537*5113495bSYour Name /*
538*5113495bSYour Name  * <ini>
539*5113495bSYour Name  * enable_dynamic_nss_chain_config - Enable/Disable dynamic nss and chain config
540*5113495bSYour Name  * to FW.
541*5113495bSYour Name  * @Min: 0
542*5113495bSYour Name  * @Max: 1
543*5113495bSYour Name  * @Default: 1
544*5113495bSYour Name  *
545*5113495bSYour Name  * Related: STA/SAP/P2P/NAN.
546*5113495bSYour Name  *
547*5113495bSYour Name  * Supported Feature: Dynamic chainmask
548*5113495bSYour Name  *
549*5113495bSYour Name  * Usage: External
550*5113495bSYour Name  *
551*5113495bSYour Name  * </ini>
552*5113495bSYour Name  */
553*5113495bSYour Name #define CFG_ENABLE_DYNAMIC_NSS_CHAIN_CONFIG CFG_INI_BOOL( \
554*5113495bSYour Name 					"enable_dynamic_nss_chain_config", \
555*5113495bSYour Name 					1, \
556*5113495bSYour Name 					"enable dynamic nss chain config")
557*5113495bSYour Name 
558*5113495bSYour Name /*
559*5113495bSYour Name  * <ini>
560*5113495bSYour Name  * restart_sap_on_dynamic_nss_chains_config - Decide whether SAP needs to be
561*5113495bSYour Name  * restarted on dynamic nss chains update
562*5113495bSYour Name  * @Min: 0
563*5113495bSYour Name  * @Max: 1
564*5113495bSYour Name  * @Default: 0
565*5113495bSYour Name  *
566*5113495bSYour Name  * Related: SAP/P2P.
567*5113495bSYour Name  *
568*5113495bSYour Name  * Supported Feature: Dynamic chainmask
569*5113495bSYour Name  *
570*5113495bSYour Name  * Usage: External
571*5113495bSYour Name  *
572*5113495bSYour Name  * </ini>
573*5113495bSYour Name  */
574*5113495bSYour Name #define CFG_RESTART_SAP_ON_DYNAMIC_NSS_CHAINS_CONFIG CFG_INI_BOOL( \
575*5113495bSYour Name 				"restart_sap_on_dynamic_nss_chains_config", \
576*5113495bSYour Name 				0, \
577*5113495bSYour Name 				"Restart SAP on dynamic nss chain config")
578*5113495bSYour Name 
579*5113495bSYour Name #define CFG_NSS_CHAINS_ALL \
580*5113495bSYour Name 	CFG(CFG_NUM_TX_CHAINS_2G) \
581*5113495bSYour Name 	CFG(CFG_NUM_TX_CHAINS_5G) \
582*5113495bSYour Name 	CFG(CFG_NUM_RX_CHAINS_2G) \
583*5113495bSYour Name 	CFG(CFG_NUM_RX_CHAINS_5G) \
584*5113495bSYour Name 	CFG(CFG_TX_NSS_5G) \
585*5113495bSYour Name 	CFG(CFG_TX_NSS_2G) \
586*5113495bSYour Name 	CFG(CFG_RX_NSS_5G) \
587*5113495bSYour Name 	CFG(CFG_RX_NSS_2G) \
588*5113495bSYour Name 	CFG(CFG_NUM_TX_CHAINS_11b) \
589*5113495bSYour Name 	CFG(CFG_NUM_TX_CHAINS_11g) \
590*5113495bSYour Name 	CFG(CFG_NUM_TX_CHAINS_11a) \
591*5113495bSYour Name 	CFG(CFG_DISABLE_TX_MRC_2G) \
592*5113495bSYour Name 	CFG(CFG_DISABLE_RX_MRC_2G) \
593*5113495bSYour Name 	CFG(CFG_DISABLE_TX_MRC_5G) \
594*5113495bSYour Name 	CFG(CFG_DISABLE_RX_MRC_5G) \
595*5113495bSYour Name 	CFG(CFG_ENABLE_DYNAMIC_NSS_CHAIN_CONFIG) \
596*5113495bSYour Name 	CFG(CFG_RESTART_SAP_ON_DYNAMIC_NSS_CHAINS_CONFIG)
597*5113495bSYour Name 
598*5113495bSYour Name #endif /* __CFG_MLME_NSS_CHAINS */
599*5113495bSYour Name 
600