xref: /wlan-driver/qcacld-3.0/components/mlme/dispatcher/inc/cfg_mlme_dot11mode.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
5*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
6*5113495bSYour Name  * above copyright notice and this permission notice appear in all
7*5113495bSYour Name  * copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
17*5113495bSYour Name  */
18*5113495bSYour Name 
19*5113495bSYour Name /**
20*5113495bSYour Name  * DOC: This file contains centralized definitions of converged configuration.
21*5113495bSYour Name  */
22*5113495bSYour Name 
23*5113495bSYour Name #ifndef __CFG_MLME_DOT11MODE_H
24*5113495bSYour Name #define __CFG_MLME_DOT11MODE_H
25*5113495bSYour Name 
26*5113495bSYour Name #define CFG_DOT11_MODE CFG_UINT( \
27*5113495bSYour Name 		"dot11_mode", \
28*5113495bSYour Name 		0, \
29*5113495bSYour Name 		10, \
30*5113495bSYour Name 		0, \
31*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
32*5113495bSYour Name 		"dot 11 mode")
33*5113495bSYour Name 
34*5113495bSYour Name /*
35*5113495bSYour Name  * <ini>
36*5113495bSYour Name  * vdev_dot11_mode- Bit mask to set the dot11 mode for different vdev types
37*5113495bSYour Name  * @Min: 0x0
38*5113495bSYour Name  * @Max: 0x333333
39*5113495bSYour Name  * @Default: 0
40*5113495bSYour Name  *
41*5113495bSYour Name  * This ini is used to set the dot11mode different vdev types.
42*5113495bSYour Name  * dot11_mode ini value (CFG_DOT11_MODE) is the master configuration
43*5113495bSYour Name  * Min configuration of INI dot11_mode and vdev_dot11_mode is used for that
44*5113495bSYour Name  * vdev type.
45*5113495bSYour Name  * dot11_mode vdev_dot11_mode dot11_mode_used
46*5113495bSYour Name  * 11AX        11AC              11AC
47*5113495bSYour Name  * 11AC        11AX              11AC
48*5113495bSYour Name  *
49*5113495bSYour Name  * Dot11 mode value is 4 bit length for each vdev. Below is the bit definition
50*5113495bSYour Name  * for different vdev types dot11 mode value bit index.
51*5113495bSYour Name  *
52*5113495bSYour Name  * Bits used for dot11mode        Vdev Type
53*5113495bSYour Name  * BIT[3:0]                       STA mode
54*5113495bSYour Name  * BIT[7:4]                       P2P_CLI/P2P_DEVICE mode
55*5113495bSYour Name  * BIT[11:8]                      NAN DISCOVERY
56*5113495bSYour Name  * BIT[15:12]                     OCB
57*5113495bSYour Name  * BIT[19:16]                     TDLS
58*5113495bSYour Name  * BIT[23:20]                     NDI mode
59*5113495bSYour Name  *
60*5113495bSYour Name  * Dot11 mode value to be set in the above bit definition:
61*5113495bSYour Name  * 0 - Auto, Uses CFG_DOT11_MODE setting
62*5113495bSYour Name  * 1 - HT mode(11N)
63*5113495bSYour Name  * 2 - VHT mode(11AC)
64*5113495bSYour Name  * 3 - HE mode(11AX)
65*5113495bSYour Name  *
66*5113495bSYour Name  * E.g: vdev_dot11_mode=0x013220
67*5113495bSYour Name  *
68*5113495bSYour Name  * 0          1        3       2             2        0
69*5113495bSYour Name  * NDI(auto)  TDLS HT  OCB_HE  VHT NAN_DISC  VHT P2P  STA_AUTO
70*5113495bSYour Name  *
71*5113495bSYour Name  * Usage: Internal/External
72*5113495bSYour Name  *
73*5113495bSYour Name  * </ini>
74*5113495bSYour Name  */
75*5113495bSYour Name #define CFG_VDEV_DOT11_MODE CFG_INI_UINT( \
76*5113495bSYour Name 		"vdev_dot11_mode", \
77*5113495bSYour Name 		0, \
78*5113495bSYour Name 		0x333333, \
79*5113495bSYour Name 		0, \
80*5113495bSYour Name 		CFG_VALUE_OR_DEFAULT, \
81*5113495bSYour Name 		"vdev dot 11 mode")
82*5113495bSYour Name 
83*5113495bSYour Name #define CFG_DOT11_MODE_ALL \
84*5113495bSYour Name 	CFG(CFG_DOT11_MODE) \
85*5113495bSYour Name 	CFG(CFG_VDEV_DOT11_MODE) \
86*5113495bSYour Name 
87*5113495bSYour Name #endif /* __CFG_MLME_DOT11MODE_H */
88*5113495bSYour Name 
89