Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 1 | /* |
Yu Wang | 1cd1039 | 2019-12-18 09:08:09 +0800 | [diff] [blame] | 2 | * Copyright (c) 2016-2020 The Linux Foundation. All rights reserved. |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 3 | * |
| 4 | * Permission to use, copy, modify, and/or distribute this software for |
| 5 | * any purpose with or without fee is hereby granted, provided that the |
| 6 | * above copyright notice and this permission notice appear in all |
| 7 | * copies. |
| 8 | * |
| 9 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL |
| 10 | * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED |
| 11 | * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE |
| 12 | * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL |
| 13 | * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR |
| 14 | * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER |
| 15 | * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR |
| 16 | * PERFORMANCE OF THIS SOFTWARE. |
| 17 | */ |
| 18 | /** |
| 19 | * DOC: This file provides the common definitions for object manager |
| 20 | */ |
| 21 | |
| 22 | #ifndef _WLAN_CMN_H_ |
| 23 | #define _WLAN_CMN_H_ |
| 24 | |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 25 | #include <qdf_types.h> |
| 26 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 27 | /* Max no of UMAC components */ |
Sravan Kumar Kairam | 376e5f1 | 2018-03-07 15:56:21 +0530 | [diff] [blame] | 28 | #define WLAN_UMAC_MAX_COMPONENTS WLAN_UMAC_COMP_ID_MAX |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 29 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 30 | /* Max no. of radios, a pSoc/Device can support */ |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 31 | #ifdef WLAN_MAX_PDEVS |
| 32 | #define WLAN_UMAC_MAX_PDEVS WLAN_MAX_PDEVS |
| 33 | #else |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 34 | #define WLAN_UMAC_MAX_PDEVS 3 |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 35 | #endif |
| 36 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 37 | /* Max no. of VDEV per PSOC */ |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 38 | #ifdef WLAN_PSOC_MAX_VDEVS |
| 39 | #define WLAN_UMAC_PSOC_MAX_VDEVS WLAN_PSOC_MAX_VDEVS |
| 40 | #else |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 41 | #define WLAN_UMAC_PSOC_MAX_VDEVS 51 |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 42 | #endif |
| 43 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 44 | /* Max no. of VDEVs, a PDEV can support */ |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 45 | #ifdef WLAN_PDEV_MAX_VDEVS |
| 46 | #define WLAN_UMAC_PDEV_MAX_VDEVS WLAN_PDEV_MAX_VDEVS |
| 47 | #else |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 48 | #define WLAN_UMAC_PDEV_MAX_VDEVS 17 |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 49 | #endif |
| 50 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 51 | /* Max no. of Peers, a device can support */ |
Surya Prakash Raajen | e1a6388 | 2019-04-16 18:44:59 +0530 | [diff] [blame] | 52 | #define WLAN_UMAC_PSOC_MAX_PEERS (1536 + WLAN_UMAC_PSOC_MAX_VDEVS) |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 53 | |
Vivek | adbfaa7 | 2018-05-11 13:02:00 +0530 | [diff] [blame] | 54 | /* Max no. of Temporary Peers, a pdev can support */ |
| 55 | #define WLAN_MAX_PDEV_TEMP_PEERS 128 |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 56 | |
Vivek | adbfaa7 | 2018-05-11 13:02:00 +0530 | [diff] [blame] | 57 | /* Max no. of Temporary Peers, a psoc can support */ |
| 58 | #define WLAN_MAX_PSOC_TEMP_PEERS \ |
| 59 | (WLAN_MAX_PDEV_TEMP_PEERS * WLAN_UMAC_MAX_PDEVS) |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 60 | |
| 61 | /* Max length of a SSID */ |
| 62 | #define WLAN_SSID_MAX_LEN 32 |
| 63 | |
Liangwei Dong | c90ed4d | 2020-02-05 14:26:12 +0800 | [diff] [blame^] | 64 | #define WLAN_CACHE_ID_LEN 2 |
| 65 | |
Vivek | 979a3f3 | 2017-03-17 09:42:20 +0530 | [diff] [blame] | 66 | /* Max sequence number */ |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 67 | #define WLAN_MAX_SEQ_NUM 4096 |
Vivek | 979a3f3 | 2017-03-17 09:42:20 +0530 | [diff] [blame] | 68 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 69 | /* Max no. of peers for STA vap */ |
| 70 | #define WLAN_UMAC_MAX_STA_PEERS 2 |
Dustin Brown | 17f1e26 | 2019-02-04 16:48:14 -0800 | [diff] [blame] | 71 | |
Selvaraj, Sridhar | afd3a5b | 2017-01-04 11:00:10 +0530 | [diff] [blame] | 72 | /* Max vdev_id */ |
| 73 | #define WLAN_UMAC_VDEV_ID_MAX 0xFF |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 74 | |
Sathish Kumar | 64cdfa8 | 2017-05-08 12:35:55 +0530 | [diff] [blame] | 75 | /* Invalid pdev_id */ |
| 76 | #define WLAN_INVALID_PDEV_ID 0xFFFFFFFF |
| 77 | |
Vivek | 5747b78 | 2018-01-04 17:26:58 +0530 | [diff] [blame] | 78 | /* Invalid free descriptor count */ |
| 79 | #define WLAN_INVALID_MGMT_DESC_COUNT 0xFFFFFFFF |
| 80 | |
| 81 | /* 802.11 cap info */ |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 82 | #define WLAN_CAPINFO_ESS 0x0001 |
| 83 | #define WLAN_CAPINFO_IBSS 0x0002 |
| 84 | #define WLAN_CAPINFO_CF_POLLABLE 0x0004 |
| 85 | #define WLAN_CAPINFO_CF_POLLREQ 0x0008 |
| 86 | #define WLAN_CAPINFO_PRIVACY 0x0010 |
| 87 | #define WLAN_CAPINFO_SHORT_PREAMBLE 0x0020 |
| 88 | #define WLAN_CAPINFO_PBCC 0x0040 |
| 89 | #define WLAN_CAPINFO_CHNL_AGILITY 0x0080 |
| 90 | #define WLAN_CAPINFO_SPECTRUM_MGMT 0x0100 |
| 91 | #define WLAN_CAPINFO_QOS 0x0200 |
| 92 | #define WLAN_CAPINFO_SHORT_SLOTTIME 0x0400 |
| 93 | #define WLAN_CAPINFO_APSD 0x0800 |
| 94 | #define WLAN_CAPINFO_RADIOMEAS 0x1000 |
| 95 | #define WLAN_CAPINFO_DSSSOFDM 0x2000 |
| 96 | |
| 97 | /* Allowed time to wait for Object creation */ |
| 98 | #define WLAN_VDEV_CREATE_TIMEOUT_CNT 300 |
Srinivas Pitla | c7f4e03 | 2018-01-08 16:59:16 +0530 | [diff] [blame] | 99 | /* 25 msec */ |
Selvaraj, Sridhar | afd3a5b | 2017-01-04 11:00:10 +0530 | [diff] [blame] | 100 | #define WLAN_VDEV_CREATE_TIMEOUT 25 |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 101 | |
| 102 | #define WLAN_PDEV_CREATE_TIMEOUT_CNT 300 |
Srinivas Pitla | c7f4e03 | 2018-01-08 16:59:16 +0530 | [diff] [blame] | 103 | /* 25 msec */ |
Selvaraj, Sridhar | afd3a5b | 2017-01-04 11:00:10 +0530 | [diff] [blame] | 104 | #define WLAN_PDEV_CREATE_TIMEOUT 25 |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 105 | |
| 106 | #define WLAN_PSOC_CREATE_TIMEOUT_CNT 300 |
| 107 | /* 25 msec */ |
Selvaraj, Sridhar | afd3a5b | 2017-01-04 11:00:10 +0530 | [diff] [blame] | 108 | #define WLAN_PSOC_CREATE_TIMEOUT 25 |
Sandeep Puligilla | 7acd31f | 2017-02-25 16:35:35 -0800 | [diff] [blame] | 109 | #define WLAN_24_GHZ_BASE_FREQ (2407) |
| 110 | #define WLAN_5_GHZ_BASE_FREQ (5000) |
| 111 | #define WLAN_24_GHZ_CHANNEL_6 (6) |
| 112 | #define WLAN_24_GHZ_CHANNEL_14 (14) |
| 113 | #define WLAN_24_GHZ_CHANNEL_15 (15) |
| 114 | #define WLAN_24_GHZ_CHANNEL_27 (27) |
| 115 | #define WLAN_5_GHZ_CHANNEL_170 (170) |
| 116 | #define WLAN_CHAN_SPACING_5MHZ (5) |
| 117 | #define WLAN_CHAN_SPACING_20MHZ (20) |
| 118 | #define WLAN_CHAN_14_FREQ (2484) |
| 119 | #define WLAN_CHAN_15_FREQ (2512) |
| 120 | #define WLAN_CHAN_170_FREQ (5852) |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 121 | |
Wu Gao | dfc571c | 2017-03-22 13:18:15 +0800 | [diff] [blame] | 122 | #define WLAN_MAC_EID_VENDOR 221 |
Naveen Rawat | 8b1ec56 | 2017-09-01 17:01:01 -0700 | [diff] [blame] | 123 | #define WLAN_MAC_EID_EXT 255 |
Wu Gao | dfc571c | 2017-03-22 13:18:15 +0800 | [diff] [blame] | 124 | |
Srinivas Pitla | c7f4e03 | 2018-01-08 16:59:16 +0530 | [diff] [blame] | 125 | /* VHT capability flags */ |
| 126 | /* B0-B1 Maximum MPDU Length */ |
| 127 | /* A-MSDU Length 3839 octets */ |
| 128 | #define WLAN_VHTCAP_MAX_MPDU_LEN_3839 0x00000000 |
| 129 | /* A-MSDU Length 7991 octets */ |
| 130 | #define WLAN_VHTCAP_MAX_MPDU_LEN_7935 0x00000001 |
| 131 | /* A-MSDU Length 11454 octets */ |
| 132 | #define WLAN_VHTCAP_MAX_MPDU_LEN_11454 0x00000002 |
| 133 | |
| 134 | /* B2-B3 Supported Channel Width */ |
| 135 | /* Does not support 160 or 80+80 */ |
| 136 | #define WLAN_VHTCAP_SUP_CHAN_WIDTH_80 0x00000000 |
| 137 | /* Supports 160 */ |
| 138 | #define WLAN_VHTCAP_SUP_CHAN_WIDTH_160 0x00000004 |
| 139 | /* Support both 160 or 80+80 */ |
| 140 | #define WLAN_VHTCAP_SUP_CHAN_WIDTH_80_160 0x00000008 |
| 141 | /* B2-B3 */ |
| 142 | #define WLAN_VHTCAP_SUP_CHAN_WIDTH_S 2 |
| 143 | #define WLAN_VHTCAP_SUP_CHAN_WIDTH_MASK 0x0000000C |
| 144 | /* B4 RX LDPC */ |
| 145 | #define WLAN_VHTCAP_RX_LDPC 0x00000010 |
| 146 | /* B5 Short GI for 80MHz */ |
| 147 | #define WLAN_VHTCAP_SHORTGI_80 0x00000020 |
| 148 | /* B6 Short GI for 160 and 80+80 MHz */ |
| 149 | #define WLAN_VHTCAP_SHORTGI_160 0x00000040 |
| 150 | /* B7 Tx STBC */ |
| 151 | #define WLAN_VHTCAP_TX_STBC 0x00000080 |
| 152 | #define WLAN_VHTCAP_TX_STBC_S 7 |
| 153 | /* B8-B10 Rx STBC */ |
| 154 | #define WLAN_VHTCAP_RX_STBC 0x00000700 |
| 155 | #define WLAN_VHTCAP_RX_STBC_S 8 |
| 156 | /* B11 SU Beam former capable */ |
| 157 | #define WLAN_VHTCAP_SU_BFORMER 0x00000800 |
| 158 | #define WLAN_VHTCAP_SU_BFORMER_S 11 |
| 159 | /* B12 SU Beam formee capable */ |
| 160 | #define WLAN_VHTCAP_SU_BFORMEE 0x00001000 |
| 161 | #define WLAN_VHTCAP_SU_BFORMEE_S 12 |
| 162 | |
| 163 | /* B13-B15 Compressed steering number of beacomformer Antennas supported */ |
| 164 | #define WLAN_VHTCAP_BF_MAX_ANT 0x0000E000 |
| 165 | #define WLAN_VHTCAP_BF_MAX_ANT_S 13 |
| 166 | /* B13-B15 Beamformee STS Capability */ |
| 167 | #define WLAN_VHTCAP_STS_CAP_S 13 |
| 168 | #define WLAN_VHTCAP_STS_CAP_M 0x7 |
| 169 | |
| 170 | /* B16-B18 Sounding Dimensions */ |
| 171 | #define WLAN_VHTCAP_SOUND_DIM 0x00070000 |
| 172 | #define WLAN_VHTCAP_SOUND_DIM_S 16 |
| 173 | /* B19 MU Beam Former */ |
| 174 | #define WLAN_VHTCAP_MU_BFORMER 0x00080000 |
| 175 | #define WLAN_VHTCAP_MU_BFORMER_S 19 |
| 176 | /* B20 MU Beam Formee */ |
| 177 | #define WLAN_VHTCAP_MU_BFORMEE 0x00100000 |
| 178 | #define WLAN_VHTCAP_MU_BFORMEE_S 20 |
| 179 | /* B21 VHT TXOP PS */ |
| 180 | #define WLAN_VHTCAP_TXOP_PS 0x00200000 |
| 181 | /* B22 +HTC-VHT capable */ |
| 182 | #define WLAN_VHTCAP_PLUS_HTC_VHT 0x00400000 |
| 183 | |
| 184 | #define WLAN_VHTCAP_MAX_AMPDU_LEN_FACTOR 13 |
| 185 | /* B23-B25 maximum AMPDU Length Exponent */ |
| 186 | #define WLAN_VHTCAP_MAX_AMPDU_LEN_EXP 0x03800000 |
| 187 | #define WLAN_VHTCAP_MAX_AMPDU_LEN_EXP_S 23 |
| 188 | /* B26-B27 VHT Link Adaptation capable */ |
| 189 | #define WLAN_VHTCAP_LINK_ADAPT 0x0C000000 |
| 190 | /* Rx Antenna Pattern Consistency Supported */ |
| 191 | #define WLAN_VHTCAP_RX_ANTENNA_PATTERN 0x10000000 |
| 192 | /* Tx Antenna Pattern Consistency Supported */ |
| 193 | #define WLAN_VHTCAP_TX_ANTENNA_PATTERN 0x20000000 |
| 194 | /* B30-B31 Extended NSS Bandwidth Support */ |
| 195 | #define WLAN_VHTCAP_NO_EXT_NSS_BW_SUPPORT 0x00000000 |
| 196 | /* B30-B31 Extended NSS Bandwidth Support */ |
| 197 | #define WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_1 0x40000000 |
| 198 | /* B30-B31 Extended NSS Bandwidth Support */ |
| 199 | #define WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_2 0x80000000 |
| 200 | /* B30-B31 Extended NSS Bandwidth Support */ |
| 201 | #define WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_3 0xC0000000 |
| 202 | #define WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_S 30 |
| 203 | #define WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_MASK 0xC0000000 |
| 204 | |
| 205 | #define WLAN_VHTCAP_EXT_NSS_MASK (WLAN_VHTCAP_SUP_CHAN_WIDTH_MASK |\ |
| 206 | WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_MASK) |
| 207 | /* VHTCAP combinations of "supported channel width" and "ext nss support" |
| 208 | * which determine the NSS value supported by STA for <=80 MHz, 160 MHz |
| 209 | * and 80+80 MHz. The macros to be read as combination of |
| 210 | * "supported channel width" and "ext nss support" followed by NSS for 80MHz, |
| 211 | * 160MHz and 80+80MHz defined as a function of Max VHT NSS supported. |
| 212 | * Ex: WLAN_EXTNSS_MAP_01_80F1_160FDOT5_80P80NONE - To be reas as |
| 213 | * supported channel width = 0 |
| 214 | * ext nss support = 1 |
| 215 | * NSS value for <=80MHz = max_vht_nss * 1 |
| 216 | * NSS value for 160MHz = max_vht_nss * (.5) |
| 217 | * NSS value for 80+80MHz = not supported |
| 218 | */ |
| 219 | #define WLAN_EXTNSS_MAP_00_80F1_160NONE_80P80NONE \ |
| 220 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_80 | WLAN_VHTCAP_NO_EXT_NSS_BW_SUPPORT) |
| 221 | #define WLAN_EXTNSS_MAP_01_80F1_160FDOT5_80P80NONE \ |
| 222 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_80 | WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_1) |
| 223 | #define WLAN_EXTNSS_MAP_02_80F1_160FDOT5_80P80FDOT5 \ |
| 224 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_80 | WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_2) |
| 225 | #define WLAN_EXTNSS_MAP_03_80F1_160FDOT75_80P80FDOT75 \ |
| 226 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_80 | WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_3) |
| 227 | #define WLAN_EXTNSS_MAP_10_80F1_160F1_80P80NONE \ |
| 228 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_160 | WLAN_VHTCAP_NO_EXT_NSS_BW_SUPPORT) |
| 229 | #define WLAN_EXTNSS_MAP_11_80F1_160F1_80P80FDOT5 \ |
| 230 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_160 | WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_1) |
| 231 | #define WLAN_EXTNSS_MAP_12_80F1_160F1_80P80FDOT75 \ |
| 232 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_160 | WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_2) |
| 233 | #define WLAN_EXTNSS_MAP_13_80F2_160F2_80P80F1 \ |
| 234 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_160 | WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_3) |
| 235 | #define WLAN_EXTNSS_MAP_20_80F1_160F1_80P80F1 \ |
| 236 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_80_160 | WLAN_VHTCAP_NO_EXT_NSS_BW_SUPPORT) |
| 237 | #define WLAN_EXTNSS_MAP_23_80F2_160F1_80P80F1 \ |
| 238 | (WLAN_VHTCAP_SUP_CHAN_WIDTH_80_160 | WLAN_VHTCAP_EXT_NSS_BW_SUPPORT_3) |
| 239 | |
| 240 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 241 | /** |
| 242 | * enum wlan_umac_comp_id - UMAC component id |
Abhijit Pradhan | 5ae2b3a | 2017-03-31 08:52:58 +0530 | [diff] [blame] | 243 | * @WLAN_UMAC_COMP_MLME: MLME |
| 244 | * @WLAN_UMAC_COMP_MGMT_TXRX: MGMT Tx/Rx |
Krunal Soni | c4e3592 | 2017-02-01 14:59:01 -0800 | [diff] [blame] | 245 | * @WLAN_UMAC_COMP_SERIALIZATION: Serialization |
Abhijit Pradhan | 5ae2b3a | 2017-03-31 08:52:58 +0530 | [diff] [blame] | 246 | * @WLAN_UMAC_COMP_SCAN: SCAN - as scan module uses services provided by |
| 247 | * MLME, MGMT_TXRX and SERIALIZATION, SCAN module |
| 248 | * must be initializes after above modules. |
| 249 | * @WLAN_UMAC_COMP_PMO: PMO component |
| 250 | * @WLAN_UMAC_COMP_P2P: P2P |
| 251 | * @WLAN_UMAC_COMP_POLICY_MGR: Policy Manager |
| 252 | * @WLAN_UMAC_COMP_CONFIG: Configuration |
| 253 | * @WLAN_UMAC_COMP_WIFI_POS: WIFI Positioning |
| 254 | * @WLAN_UMAC_COMP_TDLS: TDLS |
| 255 | * @WLAN_UMAC_COMP_ATF: Airtime Fairness |
Venkateswara Swamy Bandaru | 0b9f5ec | 2017-05-11 10:45:35 +0530 | [diff] [blame] | 256 | * @WLAN_UMAC_COMP_SA_API: Smart Antenna API |
Abhijit Pradhan | 5ae2b3a | 2017-03-31 08:52:58 +0530 | [diff] [blame] | 257 | * @WLAN_UMAC_COMP_REGULATORY: REGULATORY |
| 258 | * @WLAN_UMAC_COMP_CRYPTO: CRYPTO |
| 259 | * @WLAN_UMAC_COMP_NAN: Neighbor Aware Networking |
| 260 | * @WLAN_UMAC_COMP_DFS: DFS |
Edayilliam Jayadev | 642201f | 2017-04-05 14:29:18 +0530 | [diff] [blame] | 261 | * @WLAN_UMAC_COMP_SPECTRAL: Spectral |
Kiran Venkatappa | 3453674 | 2017-04-04 00:09:10 +0530 | [diff] [blame] | 262 | * @WLAN_UMAC_COMP_OFFCHAN_TXRX: Offchan TxRx |
Zhang Qian | 82377ce | 2018-01-04 12:15:29 +0800 | [diff] [blame] | 263 | * @WLAN_UMAC_COMP_SON: SON |
| 264 | * @WLAN_UMAC_COMP_SPECTRAL: Spectral |
Author: Neil Zhao | 5ad91c1 | 2017-05-15 14:25:05 -0700 | [diff] [blame] | 265 | * @WLAN_UMAC_COMP_SPLITMAC: SplitMAC |
Nachiket Kukade | 88ae853 | 2017-12-15 12:36:58 +0530 | [diff] [blame] | 266 | * @WLAN_UMAC_COMP_DISA: DISA encryption test |
Himanshu Agarwal | b3c81ac | 2018-01-10 14:21:53 +0530 | [diff] [blame] | 267 | * @WLAN_UMAC_COMP_GREEN_AP: Green AP |
akosigi | fffcebf | 2017-11-15 18:29:32 +0530 | [diff] [blame] | 268 | * @WLAN_UMAC_COMP_FTM: FTM component |
Subrat Mishra | bf12587 | 2017-09-27 14:41:20 +0530 | [diff] [blame] | 269 | * @WLAN_UMAC_COMP_FD: FILS Discovery |
Zhang Qian | 82377ce | 2018-01-04 12:15:29 +0800 | [diff] [blame] | 270 | * @WLAN_UMAC_COMP_OCB: OCB |
Sravan Kumar Kairam | 376e5f1 | 2018-03-07 15:56:21 +0530 | [diff] [blame] | 271 | * @WLAN_UMAC_COMP_IPA: IPA |
Naga | 6d06baa | 2018-02-21 15:17:55 +0530 | [diff] [blame] | 272 | * @WLAN_UMAC_COMP_CP_STATS: Control Plane Statistics |
Rajeev Kumar Sirasanagandla | 6697085 | 2017-09-18 16:47:52 +0530 | [diff] [blame] | 273 | * @WLAN_UMAC_COMP_ACTION_OUI: ACTION OUI |
Sourav Mohapatra | 474c614 | 2018-08-29 15:23:26 +0530 | [diff] [blame] | 274 | * @WLAN_UMAC_COMP_FWOL FW Offload |
Paul Zhang | 5ea0a91 | 2019-05-14 11:33:31 +0800 | [diff] [blame] | 275 | * @WLAN_UMAC_COMP_INTEROP_ISSUES_AP interop issues ap component |
gaurank kathpalia | 9f525cb | 2019-05-28 18:21:18 +0530 | [diff] [blame] | 276 | * @WLAN_UMAC_COMP_BLACKLIST_MGR: Blacklist mgr component |
Yu Wang | 1cd1039 | 2019-12-18 09:08:09 +0800 | [diff] [blame] | 277 | * @WLAN_UMAC_COMP_COEX: Coex config component |
Govind Singh | 59ddd7f | 2020-01-27 11:03:28 +0530 | [diff] [blame] | 278 | * @WLAN_UMAC_COMP_FTM_TIME_SYNC: WLAN FTM TIMESYNC |
Vulupala Shashank Reddy | 3b6d1f2 | 2020-01-26 12:42:50 +0530 | [diff] [blame] | 279 | * @WLAN_UMAC_COMP_PKT_CAPTURE: Packet capture component |
akosigi | fffcebf | 2017-11-15 18:29:32 +0530 | [diff] [blame] | 280 | * @WLAN_UMAC_COMP_ID_MAX: Maximum components in UMAC |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 281 | * |
| 282 | * This id is static. |
| 283 | * On Adding new component, new id has to be assigned |
| 284 | */ |
| 285 | enum wlan_umac_comp_id { |
Rajeev Kumar | 1239566 | 2018-05-31 16:49:00 -0700 | [diff] [blame] | 286 | WLAN_UMAC_COMP_MLME = 0, |
| 287 | WLAN_UMAC_COMP_MGMT_TXRX = 1, |
| 288 | WLAN_UMAC_COMP_SERIALIZATION = 2, |
| 289 | WLAN_UMAC_COMP_SCAN = 3, |
| 290 | WLAN_UMAC_COMP_PMO = 4, |
| 291 | WLAN_UMAC_COMP_P2P = 5, |
| 292 | WLAN_UMAC_COMP_POLICY_MGR = 6, |
| 293 | WLAN_UMAC_COMP_CONFIG = 7, |
| 294 | WLAN_TARGET_IF_COMP_DIRECT_BUF_RX = 8, |
| 295 | WLAN_UMAC_COMP_WIFI_POS = 9, |
| 296 | WLAN_UMAC_COMP_TDLS = 10, |
| 297 | WLAN_UMAC_COMP_ATF = 11, |
| 298 | WLAN_UMAC_COMP_SA_API = 12, |
| 299 | WLAN_UMAC_COMP_REGULATORY = 13, |
| 300 | WLAN_UMAC_COMP_CRYPTO = 14, |
| 301 | WLAN_UMAC_COMP_NAN = 15, |
| 302 | WLAN_UMAC_COMP_DFS = 16, |
| 303 | WLAN_UMAC_COMP_OFFCHAN_TXRX = 17, |
| 304 | WLAN_UMAC_COMP_SON = 18, |
| 305 | WLAN_UMAC_COMP_SPECTRAL = 19, |
| 306 | WLAN_UMAC_COMP_SPLITMAC = 20, |
| 307 | WLAN_UMAC_COMP_DISA = 21, |
| 308 | WLAN_UMAC_COMP_GREEN_AP = 22, |
| 309 | WLAN_UMAC_COMP_FTM = 23, |
| 310 | WLAN_UMAC_COMP_FD = 24, |
| 311 | WLAN_UMAC_COMP_OCB = 25, |
| 312 | WLAN_UMAC_COMP_IPA = 26, |
| 313 | WLAN_UMAC_COMP_CP_STATS = 27, |
Rajeev Kumar Sirasanagandla | 6697085 | 2017-09-18 16:47:52 +0530 | [diff] [blame] | 314 | WLAN_UMAC_COMP_ACTION_OUI = 28, |
Sourav Mohapatra | 474c614 | 2018-08-29 15:23:26 +0530 | [diff] [blame] | 315 | WLAN_UMAC_COMP_FWOL = 29, |
Abhiram Jogadenu | b692339 | 2019-02-12 13:54:42 +0530 | [diff] [blame] | 316 | WLAN_UMAC_COMP_CFR = 30, |
gaurank kathpalia | 9f525cb | 2019-05-28 18:21:18 +0530 | [diff] [blame] | 317 | WLAN_UMAC_COMP_INTEROP_ISSUES_AP = 31, |
| 318 | WLAN_UMAC_COMP_BLACKLIST_MGR = 32, |
Yu Wang | 1cd1039 | 2019-12-18 09:08:09 +0800 | [diff] [blame] | 319 | WLAN_UMAC_COMP_COEX = 33, |
Govind Singh | 59ddd7f | 2020-01-27 11:03:28 +0530 | [diff] [blame] | 320 | WLAN_UMAC_COMP_FTM_TIME_SYNC = 34, |
Vulupala Shashank Reddy | 3b6d1f2 | 2020-01-26 12:42:50 +0530 | [diff] [blame] | 321 | WLAN_UMAC_COMP_PKT_CAPTURE = 35, |
Krunal Soni | c4e3592 | 2017-02-01 14:59:01 -0800 | [diff] [blame] | 322 | WLAN_UMAC_COMP_ID_MAX, |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 323 | }; |
| 324 | |
| 325 | /** |
| 326 | * enum WLAN_DEV_TYPE - for DA or OL architecture types |
| 327 | * @WLAN_DEV_DA: Direct attach |
| 328 | * @WLAN_DEV_OL: Partial offload |
| 329 | * @WLAN_DEV_INVALID: Invalid dev type |
| 330 | */ |
| 331 | typedef enum { |
| 332 | WLAN_DEV_DA = 0, |
| 333 | WLAN_DEV_OL = 1, |
| 334 | WLAN_DEV_INVALID = 3, |
| 335 | } WLAN_DEV_TYPE; |
| 336 | |
| 337 | /** |
Abhishek Singh | f3f9797 | 2019-09-18 12:13:46 +0530 | [diff] [blame] | 338 | * enum wlan_phymode - phy mode |
| 339 | * @WLAN_PHYMODE_AUTO: autoselect |
| 340 | * @WLAN_PHYMODE_11A: 5GHz, OFDM |
| 341 | * @WLAN_PHYMODE_11B: 2GHz, CCK |
| 342 | * @WLAN_PHYMODE_11G: 2GHz, OFDM |
| 343 | * @WLAN_PHYMODE_11G_ONLY: 2GHz only |
| 344 | * @WLAN_PHYMODE_11NA_HT20: 5Ghz, HT20 |
| 345 | * @WLAN_PHYMODE_11NG_HT20: 2Ghz, HT20 |
| 346 | * @WLAN_PHYMODE_11NA_HT40: 5Ghz, Auto HT40 |
| 347 | * @WLAN_PHYMODE_11NG_HT40PLUS: 2Ghz, HT40 (ext ch +1) |
| 348 | * @WLAN_PHYMODE_11NG_HT40MINUS: 2Ghz, HT40 (ext ch -1) |
| 349 | * @WLAN_PHYMODE_11NG_HT40: 2Ghz, Auto HT40 |
| 350 | * @WLAN_PHYMODE_11AC_VHT20: 5Ghz, VHT20 |
| 351 | * @WLAN_PHYMODE_11AC_VHT20_2G: 2Ghz, VHT20 |
| 352 | * @WLAN_PHYMODE_11AC_VHT40: 5Ghz, VHT40 |
| 353 | * @WLAN_PHYMODE_11AC_VHT40PLUS_2G: 2Ghz, VHT40 (ext ch +1) |
| 354 | * @WLAN_PHYMODE_11AC_VHT40MINUS_2G: 2Ghz, VHT40 (ext ch -1) |
| 355 | * @WLAN_PHYMODE_11AC_VHT40_2G: 2Ghz, VHT40 |
| 356 | * @WLAN_PHYMODE_11AC_VHT80: 5Ghz, VHT80 |
| 357 | * @WLAN_PHYMODE_11AC_VHT80_2G: 2Ghz, VHT80 |
| 358 | * @WLAN_PHYMODE_11AC_VHT160: 5Ghz, VHT160 |
| 359 | * @WLAN_PHYMODE_11AC_VHT80_80: 5Ghz, VHT80_80 |
| 360 | * @WLAN_PHYMODE_11AXA_HE20: 5GHz, HE20 |
| 361 | * @WLAN_PHYMODE_11AXG_HE20: 2GHz, HE20 |
| 362 | * @WLAN_PHYMODE_11AXA_HE40: 5GHz, HE40 |
| 363 | * @WLAN_PHYMODE_11AXG_HE40PLUS: 2GHz, HE40 (ext ch +1) |
| 364 | * @WLAN_PHYMODE_11AXG_HE40MINUS:2GHz, HE40 (ext ch -1) |
| 365 | * @WLAN_PHYMODE_11AXG_HE40: 2GHz, HE40 |
| 366 | * @WLAN_PHYMODE_11AXA_HE80: 5GHz, HE80 |
| 367 | * @WLAN_PHYMODE_11AXG_HE80: 2GHz, HE80 |
| 368 | * @WLAN_PHYMODE_11AXA_HE160: 5GHz, HE160 |
| 369 | * @WLAN_PHYMODE_11AXA_HE80_80: 5GHz, HE80_80 |
| 370 | * @WLAN_PHYMODE_MAX: Max phymode |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 371 | */ |
| 372 | enum wlan_phymode { |
Abhishek Singh | f3f9797 | 2019-09-18 12:13:46 +0530 | [diff] [blame] | 373 | WLAN_PHYMODE_AUTO = 0, |
| 374 | WLAN_PHYMODE_11A = 1, |
| 375 | WLAN_PHYMODE_11B = 2, |
| 376 | WLAN_PHYMODE_11G = 3, |
| 377 | WLAN_PHYMODE_11G_ONLY = 4, |
| 378 | WLAN_PHYMODE_11NA_HT20 = 5, |
| 379 | WLAN_PHYMODE_11NG_HT20 = 6, |
| 380 | WLAN_PHYMODE_11NA_HT40 = 7, |
| 381 | WLAN_PHYMODE_11NG_HT40PLUS = 8, |
| 382 | WLAN_PHYMODE_11NG_HT40MINUS = 9, |
| 383 | WLAN_PHYMODE_11NG_HT40 = 10, |
| 384 | WLAN_PHYMODE_11AC_VHT20 = 11, |
| 385 | WLAN_PHYMODE_11AC_VHT20_2G = 12, |
| 386 | WLAN_PHYMODE_11AC_VHT40 = 13, |
| 387 | WLAN_PHYMODE_11AC_VHT40PLUS_2G = 14, |
| 388 | WLAN_PHYMODE_11AC_VHT40MINUS_2G = 15, |
| 389 | WLAN_PHYMODE_11AC_VHT40_2G = 16, |
| 390 | WLAN_PHYMODE_11AC_VHT80 = 17, |
| 391 | WLAN_PHYMODE_11AC_VHT80_2G = 18, |
| 392 | WLAN_PHYMODE_11AC_VHT160 = 19, |
| 393 | WLAN_PHYMODE_11AC_VHT80_80 = 20, |
| 394 | WLAN_PHYMODE_11AXA_HE20 = 21, |
| 395 | WLAN_PHYMODE_11AXG_HE20 = 22, |
| 396 | WLAN_PHYMODE_11AXA_HE40 = 23, |
| 397 | WLAN_PHYMODE_11AXG_HE40PLUS = 24, |
| 398 | WLAN_PHYMODE_11AXG_HE40MINUS = 25, |
| 399 | WLAN_PHYMODE_11AXG_HE40 = 26, |
| 400 | WLAN_PHYMODE_11AXA_HE80 = 27, |
| 401 | WLAN_PHYMODE_11AXG_HE80 = 28, |
| 402 | WLAN_PHYMODE_11AXA_HE160 = 29, |
| 403 | WLAN_PHYMODE_11AXA_HE80_80 = 30, |
| 404 | WLAN_PHYMODE_MAX |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 405 | }; |
| 406 | |
Abhishek Singh | f3f9797 | 2019-09-18 12:13:46 +0530 | [diff] [blame] | 407 | #define IS_WLAN_PHYMODE_160MHZ(_mode) ({typeof(_mode) mode = (_mode); \ |
| 408 | ((mode) == WLAN_PHYMODE_11AC_VHT80_80) || \ |
| 409 | ((mode) == WLAN_PHYMODE_11AC_VHT160) || \ |
| 410 | ((mode) == WLAN_PHYMODE_11AXA_HE80_80) || \ |
| 411 | ((mode) == WLAN_PHYMODE_11AXA_HE160); }) |
| 412 | |
| 413 | #define IS_WLAN_PHYMODE_80MHZ(_mode) ({typeof(_mode) mode = (_mode); \ |
| 414 | ((mode) == WLAN_PHYMODE_11AC_VHT80) || \ |
| 415 | ((mode) == WLAN_PHYMODE_11AC_VHT80_2G) || \ |
| 416 | ((mode) == WLAN_PHYMODE_11AXA_HE80) || \ |
| 417 | ((mode) == WLAN_PHYMODE_11AXG_HE80); }) |
| 418 | |
| 419 | #define IS_WLAN_PHYMODE_40MHZ(_mode) ({typeof(_mode) mode = (_mode); \ |
| 420 | ((mode) == WLAN_PHYMODE_11NG_HT40) || \ |
| 421 | ((mode) == WLAN_PHYMODE_11NG_HT40PLUS) || \ |
| 422 | ((mode) == WLAN_PHYMODE_11NG_HT40MINUS) || \ |
| 423 | ((mode) == WLAN_PHYMODE_11NA_HT40) || \ |
| 424 | ((mode) == WLAN_PHYMODE_11AC_VHT40) || \ |
| 425 | ((mode) == WLAN_PHYMODE_11AC_VHT40_2G) || \ |
| 426 | ((mode) == WLAN_PHYMODE_11AC_VHT40PLUS_2G) || \ |
| 427 | ((mode) == WLAN_PHYMODE_11AC_VHT40MINUS_2G) || \ |
| 428 | ((mode) == WLAN_PHYMODE_11AXA_HE40) || \ |
| 429 | ((mode) == WLAN_PHYMODE_11AXG_HE40) || \ |
| 430 | ((mode) == WLAN_PHYMODE_11AXG_HE40PLUS) || \ |
| 431 | ((mode) == WLAN_PHYMODE_11AXG_HE40MINUS); }) |
Abhijit Pradhan | 3373194 | 2018-02-02 20:35:34 +0530 | [diff] [blame] | 432 | |
Abhishek Ambure | 986f5c9 | 2019-10-21 14:52:59 +0530 | [diff] [blame] | 433 | #define IS_WLAN_PHYMODE_HT(_mode) ({typeof(_mode) mode = (_mode); \ |
| 434 | ((mode) == WLAN_PHYMODE_11NA_HT20) || \ |
| 435 | ((mode) == WLAN_PHYMODE_11NG_HT20) || \ |
| 436 | ((mode) == WLAN_PHYMODE_11NA_HT40) || \ |
| 437 | ((mode) == WLAN_PHYMODE_11NG_HT40PLUS) || \ |
| 438 | ((mode) == WLAN_PHYMODE_11NG_HT40MINUS) || \ |
| 439 | ((mode) == WLAN_PHYMODE_11NG_HT40); }) |
| 440 | |
| 441 | #define IS_WLAN_PHYMODE_VHT(_mode) ({typeof(_mode) mode = (_mode); \ |
| 442 | ((mode) == WLAN_PHYMODE_11AC_VHT20) || \ |
| 443 | ((mode) == WLAN_PHYMODE_11AC_VHT20_2G) || \ |
| 444 | ((mode) == WLAN_PHYMODE_11AC_VHT40) || \ |
| 445 | ((mode) == WLAN_PHYMODE_11AC_VHT40PLUS_2G) || \ |
| 446 | ((mode) == WLAN_PHYMODE_11AC_VHT40MINUS_2G) || \ |
| 447 | ((mode) == WLAN_PHYMODE_11AC_VHT40_2G) || \ |
| 448 | ((mode) == WLAN_PHYMODE_11AC_VHT80) || \ |
| 449 | ((mode) == WLAN_PHYMODE_11AC_VHT80_2G) || \ |
| 450 | ((mode) == WLAN_PHYMODE_11AC_VHT160) || \ |
| 451 | ((mode) == WLAN_PHYMODE_11AC_VHT80_80); }) |
| 452 | |
bings | 942a552 | 2019-06-20 17:47:33 +0800 | [diff] [blame] | 453 | #define IS_WLAN_PHYMODE_HE(_mode) ({typeof(_mode) mode = (_mode); \ |
| 454 | ((mode) == WLAN_PHYMODE_11AXA_HE20) || \ |
| 455 | ((mode) == WLAN_PHYMODE_11AXG_HE20) || \ |
bings | 942a552 | 2019-06-20 17:47:33 +0800 | [diff] [blame] | 456 | ((mode) == WLAN_PHYMODE_11AXA_HE40) || \ |
| 457 | ((mode) == WLAN_PHYMODE_11AXG_HE40) || \ |
Abhishek Singh | f3f9797 | 2019-09-18 12:13:46 +0530 | [diff] [blame] | 458 | ((mode) == WLAN_PHYMODE_11AXG_HE40PLUS) || \ |
| 459 | ((mode) == WLAN_PHYMODE_11AXG_HE40MINUS) || \ |
bings | 942a552 | 2019-06-20 17:47:33 +0800 | [diff] [blame] | 460 | ((mode) == WLAN_PHYMODE_11AXA_HE80) || \ |
Abhishek Singh | f3f9797 | 2019-09-18 12:13:46 +0530 | [diff] [blame] | 461 | ((mode) == WLAN_PHYMODE_11AXG_HE80) || \ |
bings | 942a552 | 2019-06-20 17:47:33 +0800 | [diff] [blame] | 462 | ((mode) == WLAN_PHYMODE_11AXA_HE160) || \ |
| 463 | ((mode) == WLAN_PHYMODE_11AXA_HE80_80); }) |
| 464 | |
Abhijit Pradhan | 3373194 | 2018-02-02 20:35:34 +0530 | [diff] [blame] | 465 | /** |
bings | 747b176 | 2018-09-21 10:48:26 +0800 | [diff] [blame] | 466 | * enum phy_ch_width - channel width |
| 467 | * @CH_WIDTH_20MHZ: 20 mhz width |
| 468 | * @CH_WIDTH_40MHZ: 40 mhz width |
| 469 | * @CH_WIDTH_80MHZ: 80 mhz width |
| 470 | * @CH_WIDTH_160MHZ: 160 mhz width |
| 471 | * @CH_WIDTH_80P80HZ: 80+80 mhz width |
| 472 | * @CH_WIDTH_5MHZ: 5 mhz width |
| 473 | * @CH_WIDTH_10MHZ: 10 mhz width |
| 474 | * @CH_WIDTH_INVALID: invalid width |
| 475 | * @CH_WIDTH_MAX: max possible width |
Abhijit Pradhan | 3373194 | 2018-02-02 20:35:34 +0530 | [diff] [blame] | 476 | */ |
bings | 747b176 | 2018-09-21 10:48:26 +0800 | [diff] [blame] | 477 | enum phy_ch_width { |
| 478 | CH_WIDTH_20MHZ = 0, |
| 479 | CH_WIDTH_40MHZ, |
| 480 | CH_WIDTH_80MHZ, |
| 481 | CH_WIDTH_160MHZ, |
| 482 | CH_WIDTH_80P80MHZ, |
| 483 | CH_WIDTH_5MHZ, |
| 484 | CH_WIDTH_10MHZ, |
| 485 | CH_WIDTH_INVALID, |
| 486 | CH_WIDTH_MAX |
Abhijit Pradhan | 3373194 | 2018-02-02 20:35:34 +0530 | [diff] [blame] | 487 | }; |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 488 | |
| 489 | /** |
Frank Liu | f54299e | 2017-05-17 14:03:37 +0800 | [diff] [blame] | 490 | * enum wifi_traffic_ac - access category type |
| 491 | * @WIFI_AC_VO: Voice AC |
| 492 | * @WIFI_AC_VI: Video AC |
| 493 | * @WIFI_AC_BE: Best effort AC |
| 494 | * @WIFI_AC_BK: Background AC |
| 495 | * @WIFI_AC_MAX: MAX access category |
| 496 | */ |
| 497 | enum wifi_traffic_ac { |
| 498 | WIFI_AC_VO = 0, |
| 499 | WIFI_AC_VI = 1, |
| 500 | WIFI_AC_BE = 2, |
| 501 | WIFI_AC_BK = 3, |
| 502 | WIFI_AC_MAX = 4, |
| 503 | }; |
| 504 | |
| 505 | /** |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 506 | * enum wlan_peer_type - peer type |
| 507 | * @WLAN_PEER_SELF: for AP mode, SELF PEER or AP PEER are same |
| 508 | * @WLAN_PEER_AP: BSS peer for STA mode, Self peer for AP mode |
Rachit Kankane | 4475ff2 | 2017-04-19 11:49:18 +0530 | [diff] [blame] | 509 | * @WLAN_PEER_P2P_GO: BSS peer for P2P CLI mode, Self peer for P2P GO mode |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 510 | * @WLAN_PEER_STA: Self Peer for STA mode, STA peer for AP mode |
Rachit Kankane | 4475ff2 | 2017-04-19 11:49:18 +0530 | [diff] [blame] | 511 | * @WLAN_PEER_P2P_CLI: Self peer for P2P CLI mode, P2P CLI peer for P2P GO mode |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 512 | * @WLAN_PEER_TDLS: TDLS Peer |
| 513 | * @WLAN_PEER_NAWDS: NAWDS Peer |
| 514 | * @WLAN_PEER_STA_TEMP: STA Peer Temp (its host only node) |
Selvaraj, Sridhar | afd3a5b | 2017-01-04 11:00:10 +0530 | [diff] [blame] | 515 | * @WLAN_PEER_IBSS: IBSS Peer |
Naveen Rawat | 8aaf6f2 | 2017-11-02 17:04:46 -0700 | [diff] [blame] | 516 | * @WLAN_PEER_NDP: NDP Peer |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 517 | */ |
| 518 | enum wlan_peer_type { |
| 519 | WLAN_PEER_SELF = 1, |
| 520 | WLAN_PEER_AP = 2, |
Rachit Kankane | 4475ff2 | 2017-04-19 11:49:18 +0530 | [diff] [blame] | 521 | WLAN_PEER_P2P_GO = 3, |
| 522 | WLAN_PEER_STA = 4, |
| 523 | WLAN_PEER_P2P_CLI = 5, |
| 524 | WLAN_PEER_TDLS = 6, |
| 525 | WLAN_PEER_NAWDS = 7, |
| 526 | WLAN_PEER_STA_TEMP = 8, |
| 527 | WLAN_PEER_IBSS = 9, |
Naveen Rawat | 8aaf6f2 | 2017-11-02 17:04:46 -0700 | [diff] [blame] | 528 | WLAN_PEER_NDP = 10, |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 529 | }; |
| 530 | |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 531 | /** |
| 532 | * enum wlan_band - specifies operating channel band |
| 533 | * @WLAN_BAND_ALL: Any band |
| 534 | * @WLAN_BAND_2_4_GHZ: 2.4 GHz band |
| 535 | * @WLAN_BAND_5_GHZ: 5 GHz band |
| 536 | * @WLAN_BAND_4_9_GHZ: 4.9 GHz band |
Srinivas Pitla | be8dac4 | 2018-06-14 16:05:03 +0530 | [diff] [blame] | 537 | * @WLAN_BAND_NUM_MAX: Max num band |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 538 | */ |
| 539 | enum wlan_band { |
| 540 | WLAN_BAND_ALL, |
| 541 | WLAN_BAND_2_4_GHZ, |
| 542 | WLAN_BAND_5_GHZ, |
| 543 | WLAN_BAND_4_9_GHZ, |
Srinivas Pitla | be8dac4 | 2018-06-14 16:05:03 +0530 | [diff] [blame] | 544 | WLAN_BAND_NUM_MAX, |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 545 | }; |
| 546 | |
| 547 | /** |
| 548 | * enum wlan_bss_type - type of network |
| 549 | * @WLAN_TYPE_ANY: Default value |
| 550 | * @WLAN_TYPE_BSS: Type BSS |
| 551 | * @WLAN_TYPE_IBSS: Type IBSS |
| 552 | */ |
| 553 | enum wlan_bss_type { |
| 554 | WLAN_TYPE_ANY, |
| 555 | WLAN_TYPE_BSS, |
| 556 | WLAN_TYPE_IBSS, |
| 557 | }; |
| 558 | |
| 559 | /** |
| 560 | * enum wlan_pmf_cap: pmf capability |
| 561 | * @PMF_DISABLED: PMF is disabled |
| 562 | * @PMF_CAPABLE: PMF is supported |
| 563 | * @PMF_REQUIRED: PMF is mandatory |
| 564 | */ |
| 565 | enum wlan_pmf_cap { |
| 566 | WLAN_PMF_DISABLED, |
| 567 | WLAN_PMF_CAPABLE, |
| 568 | WLAN_PMF_REQUIRED, |
| 569 | }; |
| 570 | |
| 571 | /** |
| 572 | * enum wlan_auth_type - Enumeration of the various Auth types |
| 573 | * @WLAN_AUTH_TYPE_OPEN_SYSTEM: Open auth type |
| 574 | * @WLAN_AUTH_TYPE_SHARED_KEY: Shared Key Auth type |
| 575 | * @WLAN_AUTH_TYPE_AUTOSWITCH: Auto switch Open/Shared |
Padma, Santhosh Kumar | 6f3e4a8 | 2017-09-21 19:14:42 +0530 | [diff] [blame] | 576 | * @WLAN_AUTH_TYPE_SAE: SAE auth type |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 577 | * @WLAN_AUTH_TYPE_WPA: WPA Enterprise |
| 578 | * @WLAN_AUTH_TYPE_WPA_PSK: WPA PSK |
| 579 | * @WLAN_AUTH_TYPE_WPA_NONE: WPA None |
| 580 | * @WLAN_AUTH_TYPE_RSN: RSN Enterprise |
| 581 | * @WLAN_AUTH_TYPE_RSN_PSK: RSN PSK |
| 582 | * @WLAN_AUTH_TYPE_FT_RSN: FT RSN Enterprise |
| 583 | * @WLAN_AUTH_TYPE_FT_RSN_PSK: FT RSN PSK |
| 584 | * @WLAN_AUTH_TYPE_WAPI_WAI_CERTIFICATE: WAPI certificate |
| 585 | * @WLAN_AUTH_TYPE_WAPI_WAI_PSK: WAPI PSK |
| 586 | * @WLAN_AUTH_TYPE_CCKM_WPA: CCKM WPA |
| 587 | * @WLAN_AUTH_TYPE_CCKM_RSN: CCKM RSN |
| 588 | * @WLAN_AUTH_TYPE_RSN_PSK_SHA256: SHA256 PSK |
| 589 | * @WLAN_AUTH_TYPE_RSN_8021X_SHA256: SHA256 Enterprise |
Vishwajith Upendra | e098ebd | 2017-08-11 13:29:07 +0530 | [diff] [blame] | 590 | * @WLAN_AUTH_TYPE_FILS_SHA256: FILS SHA256 |
| 591 | * @WLAN_AUTH_TYPE_FILS_SHA384: FILS SHA384 |
| 592 | * @WLAN_AUTH_TYPE_FT_FILS_SHA256: FILS SHA256 for 11r |
| 593 | * @WLAN_AUTH_TYPE_FT_FILS_SHA384: FILS SHA384 for 11r |
Abhishek Singh | deeaf6e | 2018-02-26 15:18:16 +0530 | [diff] [blame] | 594 | * @WLAN_AUTH_TYPE_DPP_RSN: DPP RSN |
| 595 | * @WLAN_AUTH_TYPE_OWE: OWE |
| 596 | * @WLAN_AUTH_TYPE_SUITEB_EAP_SHA256: EAP SHA256 |
| 597 | * @WLAN_AUTH_TYPE_SUITEB_EAP_SHA384: EAP SHA384 |
Pragaspathi Thilagaraj | 17810df | 2019-02-18 17:42:21 +0530 | [diff] [blame] | 598 | * @WLAN_AUTH_TYPE_FT_SAE: FT SAE |
| 599 | * @WLAN_AUTH_TYPE_FT_SUITEB_EAP_SHA384: FT suiteb SHA384 |
Abhishek Singh | deeaf6e | 2018-02-26 15:18:16 +0530 | [diff] [blame] | 600 | * @WLAN_AUTH_TYPE_ANY: To match any auth type |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 601 | * @WLAN_NUM_OF_SUPPORT_AUTH_TYPE: Max no of Auth type |
| 602 | */ |
| 603 | enum wlan_auth_type { |
| 604 | WLAN_AUTH_TYPE_OPEN_SYSTEM, |
| 605 | WLAN_AUTH_TYPE_SHARED_KEY, |
| 606 | WLAN_AUTH_TYPE_AUTOSWITCH, |
Padma, Santhosh Kumar | 6f3e4a8 | 2017-09-21 19:14:42 +0530 | [diff] [blame] | 607 | WLAN_AUTH_TYPE_SAE, |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 608 | WLAN_AUTH_TYPE_WPA, |
| 609 | WLAN_AUTH_TYPE_WPA_PSK, |
| 610 | WLAN_AUTH_TYPE_WPA_NONE, |
| 611 | WLAN_AUTH_TYPE_RSN, |
| 612 | WLAN_AUTH_TYPE_RSN_PSK, |
| 613 | WLAN_AUTH_TYPE_FT_RSN, |
| 614 | WLAN_AUTH_TYPE_FT_RSN_PSK, |
| 615 | WLAN_AUTH_TYPE_WAPI_WAI_CERTIFICATE, |
| 616 | WLAN_AUTH_TYPE_WAPI_WAI_PSK, |
| 617 | WLAN_AUTH_TYPE_CCKM_WPA, |
| 618 | WLAN_AUTH_TYPE_CCKM_RSN, |
| 619 | WLAN_AUTH_TYPE_RSN_PSK_SHA256, |
| 620 | WLAN_AUTH_TYPE_RSN_8021X_SHA256, |
Vishwajith Upendra | e098ebd | 2017-08-11 13:29:07 +0530 | [diff] [blame] | 621 | WLAN_AUTH_TYPE_FILS_SHA256, |
| 622 | WLAN_AUTH_TYPE_FILS_SHA384, |
| 623 | WLAN_AUTH_TYPE_FT_FILS_SHA256, |
| 624 | WLAN_AUTH_TYPE_FT_FILS_SHA384, |
Abhishek Singh | a0f2421 | 2017-11-03 14:47:59 +0530 | [diff] [blame] | 625 | WLAN_AUTH_TYPE_DPP_RSN, |
Padma, Santhosh Kumar | b5088bf | 2017-11-10 15:14:22 +0530 | [diff] [blame] | 626 | WLAN_AUTH_TYPE_OWE, |
Padma, Santhosh Kumar | f379e37 | 2017-12-21 12:47:52 +0530 | [diff] [blame] | 627 | WLAN_AUTH_TYPE_SUITEB_EAP_SHA256, |
| 628 | WLAN_AUTH_TYPE_SUITEB_EAP_SHA384, |
Srinivas Dasari | 2f6d368 | 2018-11-29 20:39:20 +0530 | [diff] [blame] | 629 | WLAN_AUTH_TYPE_OSEN, |
Pragaspathi Thilagaraj | 17810df | 2019-02-18 17:42:21 +0530 | [diff] [blame] | 630 | WLAN_AUTH_TYPE_FT_SAE, |
| 631 | WLAN_AUTH_TYPE_FT_SUITEB_EAP_SHA384, |
Abhishek Singh | deeaf6e | 2018-02-26 15:18:16 +0530 | [diff] [blame] | 632 | WLAN_AUTH_TYPE_ANY, |
| 633 | WLAN_NUM_OF_SUPPORT_AUTH_TYPE = WLAN_AUTH_TYPE_ANY, |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 634 | }; |
| 635 | |
| 636 | /** |
| 637 | * enum wlan_enc_type - Enumeration of the various Enc types |
| 638 | * @WLAN_ENCRYPT_TYPE_NONE: No encryption |
| 639 | * @WLAN_ENCRYPT_TYPE_WEP40_STATICKEY: WEP 40 Static key |
| 640 | * @WLAN_ENCRYPT_TYPE_WEP104_STATICKEY: WEP 104 Static key |
| 641 | * @WLAN_ENCRYPT_TYPE_WEP40: WEP 40 |
| 642 | * @WLAN_ENCRYPT_TYPE_WEP104: WEP 104 |
| 643 | * @WLAN_ENCRYPT_TYPE_TKIP: TKIP |
| 644 | * @WLAN_ENCRYPT_TYPE_AES: AES |
| 645 | * @WLAN_ENCRYPT_TYPE_WPI: WAPI |
| 646 | * @WLAN_ENCRYPT_TYPE_KRK: KRK |
| 647 | * @WLAN_ENCRYPT_TYPE_BTK: BTK |
| 648 | * @WLAN_ENCRYPT_TYPE_AES_CMAC: 11W BIP |
| 649 | * @WLAN_ENCRYPT_TYPE_ANY: Any |
| 650 | * @WLAN_NUM_OF_ENCRYPT_TYPE: Max value |
| 651 | */ |
| 652 | enum wlan_enc_type { |
| 653 | WLAN_ENCRYPT_TYPE_NONE, |
| 654 | WLAN_ENCRYPT_TYPE_WEP40_STATICKEY, |
| 655 | WLAN_ENCRYPT_TYPE_WEP104_STATICKEY, |
| 656 | WLAN_ENCRYPT_TYPE_WEP40, |
| 657 | WLAN_ENCRYPT_TYPE_WEP104, |
| 658 | WLAN_ENCRYPT_TYPE_TKIP, |
| 659 | WLAN_ENCRYPT_TYPE_AES, |
| 660 | WLAN_ENCRYPT_TYPE_WPI, |
| 661 | WLAN_ENCRYPT_TYPE_KRK, |
| 662 | WLAN_ENCRYPT_TYPE_BTK, |
| 663 | WLAN_ENCRYPT_TYPE_AES_CMAC, |
Mukul Sharma | a17d5ec | 2017-07-04 12:39:17 +0530 | [diff] [blame] | 664 | WLAN_ENCRYPT_TYPE_AES_GCMP, |
| 665 | WLAN_ENCRYPT_TYPE_AES_GCMP_256, |
Om Prakash Tripathi | 7e3f45d | 2016-12-28 16:58:54 +0530 | [diff] [blame] | 666 | WLAN_ENCRYPT_TYPE_ANY, |
| 667 | WLAN_NUM_OF_ENCRYPT_TYPE = WLAN_ENCRYPT_TYPE_ANY, |
| 668 | }; |
| 669 | |
| 670 | /** |
| 671 | * struct wlan_ssid - SSID info |
| 672 | * @length: ssid length of bss excluding null |
| 673 | * @ssid: ssid character array potentially non null terminated |
| 674 | */ |
| 675 | struct wlan_ssid { |
| 676 | uint8_t length; |
| 677 | uint8_t ssid[WLAN_SSID_MAX_LEN]; |
| 678 | }; |
| 679 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 680 | /* Util API to copy the MAC address */ |
Dustin Brown | fb65276 | 2018-01-26 17:21:57 -0800 | [diff] [blame] | 681 | #define WLAN_ADDR_COPY(dst, src) qdf_mem_copy(dst, src, QDF_MAC_ADDR_SIZE) |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 682 | /* Util API to compare the MAC address */ |
Dustin Brown | fb65276 | 2018-01-26 17:21:57 -0800 | [diff] [blame] | 683 | #define WLAN_ADDR_EQ(a1, a2) qdf_mem_cmp(a1, a2, QDF_MAC_ADDR_SIZE) |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 684 | |
Srinivas Pitla | c7f4e03 | 2018-01-08 16:59:16 +0530 | [diff] [blame] | 685 | #define PSOC_SERVICE_BM_SIZE ((128 + sizeof(uint32_t) - 1) / sizeof(uint32_t)) |
| 686 | #define PSOC_HOST_MAX_NUM_SS (8) |
| 687 | #define PSOC_HOST_MAX_PHY_SIZE (3) |
Gyanranjan Hazarika | 3dff295 | 2018-08-17 01:54:48 -0700 | [diff] [blame] | 688 | #define PSOC_HOST_MAX_MAC_SIZE (2) |
Liangwei Dong | a903e93 | 2018-06-19 22:37:36 -0400 | [diff] [blame] | 689 | #define PSOC_MAX_HW_MODE (3) |
Srinivas Pitla | c7f4e03 | 2018-01-08 16:59:16 +0530 | [diff] [blame] | 690 | #define PSOC_MAX_MAC_PHY_CAP (5) |
| 691 | #define PSOC_MAX_PHY_REG_CAP (3) |
| 692 | #define PSOC_MAX_CHAINMASK_TABLES (5) |
| 693 | |
| 694 | |
Soumya Bhat | be6cc17 | 2016-12-30 14:42:58 +0530 | [diff] [blame] | 695 | #endif /* _WLAN_OBJMGR_CMN_H_*/ |