1 /* 2 * Qualcomm Atheros OUI and vendor specific assignments 3 * Copyright (c) 2014-2015, Qualcomm Atheros, Inc. 4 * 5 * This software may be distributed under the terms of the BSD license. 6 * See README for more details. 7 */ 8 9 #ifndef QCA_VENDOR_H 10 #define QCA_VENDOR_H 11 12 /* 13 * This file is a registry of identifier assignments from the Qualcomm Atheros 14 * OUI 00:13:74 for purposes other than MAC address assignment. New identifiers 15 * can be assigned through normal review process for changes to the upstream 16 * hostap.git repository. 17 */ 18 19 #define OUI_QCA 0x001374 20 21 /** 22 * enum qca_radiotap_vendor_ids - QCA radiotap vendor namespace IDs 23 */ 24 enum qca_radiotap_vendor_ids { 25 QCA_RADIOTAP_VID_WLANTEST = 0, 26 }; 27 28 /** 29 * enum qca_nl80211_vendor_subcmds - QCA nl80211 vendor command identifiers 30 * 31 * @QCA_NL80211_VENDOR_SUBCMD_UNSPEC: Reserved value 0 32 * 33 * @QCA_NL80211_VENDOR_SUBCMD_TEST: Test command/event 34 * 35 * @QCA_NL80211_VENDOR_SUBCMD_ROAMING: Set roaming policy for drivers that use 36 * internal BSS-selection. This command uses 37 * @QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY to specify the new roaming policy 38 * for the current connection (i.e., changes policy set by the nl80211 39 * Connect command). @QCA_WLAN_VENDOR_ATTR_MAC_ADDR may optionally be 40 * included to indicate which BSS to use in case roaming is disabled. 41 * 42 * @QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY: Recommendation of frequency 43 * ranges to avoid to reduce issues due to interference or internal 44 * co-existence information in the driver. The event data structure is 45 * defined in struct qca_avoid_freq_list. 46 * 47 * @QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY: Command to check driver support 48 * for DFS offloading. 49 * 50 * @QCA_NL80211_VENDOR_SUBCMD_NAN: NAN command/event which is used to pass 51 * NAN Request/Response and NAN Indication messages. These messages are 52 * interpreted between the framework and the firmware component. 53 * 54 * @QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY: Set key operation that can be 55 * used to configure PMK to the driver even when not connected. This can 56 * be used to request offloading of key management operations. Only used 57 * if device supports QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD. 58 * 59 * @QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH: An extended version of 60 * NL80211_CMD_ROAM event with optional attributes including information 61 * from offloaded key management operation. Uses 62 * enum qca_wlan_vendor_attr_roam_auth attributes. Only used 63 * if device supports QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD. 64 * 65 * @QCA_NL80211_VENDOR_SUBCMD_DO_ACS: ACS command/event which is used to 66 * invoke the ACS function in device and pass selected channels to 67 * hostapd. 68 * 69 * @QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES: Command to get the features 70 * supported by the driver. enum qca_wlan_vendor_features defines 71 * the possible features. 72 * 73 * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED: Event used by driver, 74 * which supports DFS offloading, to indicate a channel availability check 75 * start. 76 * 77 * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED: Event used by driver, 78 * which supports DFS offloading, to indicate a channel availability check 79 * completion. 80 * 81 * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED: Event used by driver, 82 * which supports DFS offloading, to indicate that the channel availability 83 * check aborted, no change to the channel status. 84 * 85 * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED: Event used by 86 * driver, which supports DFS offloading, to indicate that the 87 * Non-Occupancy Period for this channel is over, channel becomes usable. 88 * 89 * @QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED: Event used by driver, 90 * which supports DFS offloading, to indicate a radar pattern has been 91 * detected. The channel is now unusable. 92 * 93 * @QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START: Command used to 94 * start the P2P Listen offload function in device and pass the listen 95 * channel, period, interval, count, device types, and vendor specific 96 * information elements to the device driver and firmware. 97 * Uses the attributes defines in 98 * enum qca_wlan_vendor_attr_p2p_listen_offload. 99 * 100 * @QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_STOP: Command/event used to 101 * indicate stop request/response of the P2P Listen offload function in 102 * device. As an event, it indicates either the feature stopped after it 103 * was already running or feature has actually failed to start. Uses the 104 * attributes defines in enum qca_wlan_vendor_attr_p2p_listen_offload. 105 * 106 * @QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH: After AP starts 107 * beaconing, this sub command provides the driver, the frequencies on the 108 * 5 GHz band to check for any radar activity. Driver selects one channel 109 * from this priority list provided through 110 * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_FREQ_LIST and starts 111 * to check for radar activity on it. If no radar activity is detected 112 * during the channel availability check period, driver internally switches 113 * to the selected frequency of operation. If the frequency is zero, driver 114 * internally selects a channel. The status of this conditional switch is 115 * indicated through an event using the same sub command through 116 * @QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_STATUS. Attributes are 117 * listed in qca_wlan_vendor_attr_sap_conditional_chan_switch. 118 * 119 * @QCA_NL80211_VENDOR_SUBCMD_GPIO_CONFIG_COMMAND: Set GPIO pins. This uses the 120 * attributes defined in enum qca_wlan_gpio_attr. 121 * 122 * @QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY: Fetch hardware capabilities. 123 * This uses @QCA_WLAN_VENDOR_ATTR_GET_HW_CAPABILITY to indicate which 124 * capabilities are to be fetched and other 125 * enum qca_wlan_vendor_attr_get_hw_capability attributes to return the 126 * requested capabilities. 127 * 128 * @QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT: Link layer statistics extension. 129 * enum qca_wlan_vendor_attr_ll_stats_ext attributes are used with this 130 * command and event. 131 * 132 * @QCA_NL80211_VENDOR_SUBCMD_LOC_GET_CAPA: Get capabilities for 133 * indoor location features. Capabilities are reported in 134 * QCA_WLAN_VENDOR_ATTR_LOC_CAPA. 135 * 136 * @QCA_NL80211_VENDOR_SUBCMD_FTM_START_SESSION: Start an FTM 137 * (fine timing measurement) session with one or more peers. 138 * Specify Session cookie in QCA_WLAN_VENDOR_ATTR_FTM_SESSION_COOKIE and 139 * peer information in QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PEERS. 140 * On success, 0 or more QCA_NL80211_VENDOR_SUBCMD_FTM_MEAS_RESULT 141 * events will be reported, followed by 142 * QCA_NL80211_VENDOR_SUBCMD_FTM_SESSION_DONE event to indicate 143 * end of session. 144 * Refer to IEEE P802.11-REVmc/D7.0, 11.24.6 145 * 146 * @QCA_NL80211_VENDOR_SUBCMD_FTM_ABORT_SESSION: Abort a running session. 147 * A QCA_NL80211_VENDOR_SUBCMD_FTM_SESSION_DONE will be reported with 148 * status code indicating session was aborted. 149 * 150 * @QCA_NL80211_VENDOR_SUBCMD_FTM_MEAS_RESULT: Event with measurement 151 * results for one peer. Results are reported in 152 * QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PEER_RESULTS. 153 * 154 * @QCA_NL80211_VENDOR_SUBCMD_FTM_SESSION_DONE: Event triggered when 155 * FTM session is finished, either successfully or aborted by 156 * request. 157 * 158 * @QCA_NL80211_VENDOR_SUBCMD_FTM_CFG_RESPONDER: Configure FTM responder 159 * mode. QCA_WLAN_VENDOR_ATTR_FTM_RESPONDER_ENABLE specifies whether 160 * to enable or disable the responder. LCI/LCR reports can be 161 * configured with QCA_WLAN_VENDOR_ATTR_FTM_LCI and 162 * QCA_WLAN_VENDOR_ATTR_FTM_LCR. Can be called multiple 163 * times to update the LCI/LCR reports. 164 * 165 * @QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS: Perform a standalone AOA (angle of 166 * arrival) measurement with a single peer. Specify peer MAC address in 167 * QCA_WLAN_VENDOR_ATTR_MAC_ADDR and optionally frequency (MHz) in 168 * QCA_WLAN_VENDOR_ATTR_FREQ (if not specified, locate peer in kernel 169 * scan results cache and use the frequency from there). 170 * Also specify measurement type in QCA_WLAN_VENDOR_ATTR_AOA_TYPE. 171 * Measurement result is reported in 172 * QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS_RESULT event. 173 * 174 * @QCA_NL80211_VENDOR_SUBCMD_AOA_ABORT_MEAS: Abort an AOA measurement. Specify 175 * peer MAC address in QCA_WLAN_VENDOR_ATTR_MAC_ADDR. 176 * 177 * @QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS_RESULT: Event that reports 178 * the AOA measurement result. 179 * Peer MAC address reported in QCA_WLAN_VENDOR_ATTR_MAC_ADDR. 180 * success/failure status is reported in 181 * QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS. 182 * Measurement data is reported in QCA_WLAN_VENDOR_ATTR_AOA_MEAS_RESULT. 183 * The antenna array(s) used in the measurement are reported in 184 * QCA_WLAN_VENDOR_ATTR_LOC_ANTENNA_ARRAY_MASK. 185 * 186 * @QCA_NL80211_VENDOR_SUBCMD_ENCRYPTION_TEST: Encrypt/decrypt the given 187 * data as per the given parameters. 188 * 189 * @QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI: Get antenna RSSI value for a 190 * specific chain. 191 * 192 * @QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SECTOR_CFG: Get low level 193 * configuration for a DMG RF sector. Specify sector index in 194 * QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX, sector type in 195 * QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE and RF modules 196 * to return sector information for in 197 * QCA_WLAN_VENDOR_ATTR_DMG_RF_MODULE_MASK. Returns sector configuration 198 * in QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG. Also return the 199 * exact time where information was captured in 200 * QCA_WLAN_VENDOR_ATTR_TSF. 201 * 202 * @QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SECTOR_CFG: Set low level 203 * configuration for a DMG RF sector. Specify sector index in 204 * QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX, sector type in 205 * QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE and sector configuration 206 * for one or more DMG RF modules in 207 * QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG. 208 * 209 * @QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SELECTED_SECTOR: Get selected 210 * DMG RF sector for a station. This is the sector that the HW 211 * will use to communicate with the station. Specify the MAC address 212 * of associated station/AP/PCP in QCA_WLAN_VENDOR_ATTR_MAC_ADDR (not 213 * needed for unassociated station). Specify sector type to return in 214 * QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE. Returns the selected 215 * sector index in QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX. 216 * Also return the exact time where the information was captured 217 * in QCA_WLAN_VENDOR_ATTR_TSF. 218 * 219 * @QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SELECTED_SECTOR: Set the 220 * selected DMG RF sector for a station. This is the sector that 221 * the HW will use to communicate with the station. 222 * Specify the MAC address of associated station/AP/PCP in 223 * QCA_WLAN_VENDOR_ATTR_MAC_ADDR, the sector type to select in 224 * QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE and the sector index 225 * in QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX. 226 * The selected sector will be locked such that it will not be 227 * modified like it normally does (for example when station 228 * moves around). To unlock the selected sector for a station 229 * pass the special value 0xFFFF in the sector index. To unlock 230 * all connected stations also pass a broadcast MAC address. 231 * 232 * @QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS: Configure the TDLS behavior 233 * in the host driver. The different TDLS configurations are defined 234 * by the attributes in enum qca_wlan_vendor_attr_tdls_configuration. 235 * 236 * @QCA_NL80211_VENDOR_SUBCMD_ABORT_SCAN: Abort an ongoing vendor scan that was 237 * started with QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN. This command 238 * carries the scan cookie of the corresponding scan request. The scan 239 * cookie is represented by QCA_WLAN_VENDOR_ATTR_SCAN_COOKIE. 240 * 241 * @QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS: Set the Specific 242 * Absorption Rate (SAR) power limits. A critical regulation for 243 * FCC compliance, OEMs require methods to set SAR limits on TX 244 * power of WLAN/WWAN. enum qca_vendor_attr_sar_limits 245 * attributes are used with this command. 246 */ 247 enum qca_nl80211_vendor_subcmds { 248 QCA_NL80211_VENDOR_SUBCMD_UNSPEC = 0, 249 QCA_NL80211_VENDOR_SUBCMD_TEST = 1, 250 /* subcmds 2..8 not yet allocated */ 251 QCA_NL80211_VENDOR_SUBCMD_ROAMING = 9, 252 QCA_NL80211_VENDOR_SUBCMD_AVOID_FREQUENCY = 10, 253 QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY = 11, 254 QCA_NL80211_VENDOR_SUBCMD_NAN = 12, 255 QCA_NL80211_VENDOR_SUBCMD_STATS_EXT = 13, 256 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_SET = 14, 257 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET = 15, 258 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_CLR = 16, 259 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_RADIO_RESULTS = 17, 260 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_IFACE_RESULTS = 18, 261 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_PEERS_RESULTS = 19, 262 QCA_NL80211_VENDOR_SUBCMD_GSCAN_START = 20, 263 QCA_NL80211_VENDOR_SUBCMD_GSCAN_STOP = 21, 264 QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_VALID_CHANNELS = 22, 265 QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CAPABILITIES = 23, 266 QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CACHED_RESULTS = 24, 267 QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_RESULTS_AVAILABLE = 25, 268 QCA_NL80211_VENDOR_SUBCMD_GSCAN_FULL_SCAN_RESULT = 26, 269 QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_EVENT = 27, 270 QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_FOUND = 28, 271 QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_BSSID_HOTLIST = 29, 272 QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_BSSID_HOTLIST = 30, 273 QCA_NL80211_VENDOR_SUBCMD_GSCAN_SIGNIFICANT_CHANGE = 31, 274 QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SIGNIFICANT_CHANGE = 32, 275 QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SIGNIFICANT_CHANGE = 33, 276 QCA_NL80211_VENDOR_SUBCMD_TDLS_ENABLE = 34, 277 QCA_NL80211_VENDOR_SUBCMD_TDLS_DISABLE = 35, 278 QCA_NL80211_VENDOR_SUBCMD_TDLS_GET_STATUS = 36, 279 QCA_NL80211_VENDOR_SUBCMD_TDLS_STATE = 37, 280 QCA_NL80211_VENDOR_SUBCMD_GET_SUPPORTED_FEATURES = 38, 281 QCA_NL80211_VENDOR_SUBCMD_SCANNING_MAC_OUI = 39, 282 QCA_NL80211_VENDOR_SUBCMD_NO_DFS_FLAG = 40, 283 QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_LOST = 41, 284 QCA_NL80211_VENDOR_SUBCMD_GET_CONCURRENCY_MATRIX = 42, 285 /* 43..49 - reserved for QCA */ 286 QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_SET_KEY = 50, 287 QCA_NL80211_VENDOR_SUBCMD_KEY_MGMT_ROAM_AUTH = 51, 288 QCA_NL80211_VENDOR_SUBCMD_APFIND = 52, 289 /* 53 - reserved - was used by QCA, but not in use anymore */ 290 QCA_NL80211_VENDOR_SUBCMD_DO_ACS = 54, 291 QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES = 55, 292 QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_STARTED = 56, 293 QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_FINISHED = 57, 294 QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_ABORTED = 58, 295 QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_CAC_NOP_FINISHED = 59, 296 QCA_NL80211_VENDOR_SUBCMD_DFS_OFFLOAD_RADAR_DETECTED = 60, 297 QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO = 61, 298 QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START = 62, 299 QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_MEMORY_DUMP = 63, 300 QCA_NL80211_VENDOR_SUBCMD_ROAM = 64, 301 QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SSID_HOTLIST = 65, 302 QCA_NL80211_VENDOR_SUBCMD_GSCAN_RESET_SSID_HOTLIST = 66, 303 QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_SSID_FOUND = 67, 304 QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_SSID_LOST = 68, 305 QCA_NL80211_VENDOR_SUBCMD_PNO_SET_LIST = 69, 306 QCA_NL80211_VENDOR_SUBCMD_PNO_SET_PASSPOINT_LIST = 70, 307 QCA_NL80211_VENDOR_SUBCMD_PNO_RESET_PASSPOINT_LIST = 71, 308 QCA_NL80211_VENDOR_SUBCMD_PNO_NETWORK_FOUND = 72, 309 QCA_NL80211_VENDOR_SUBCMD_PNO_PASSPOINT_NETWORK_FOUND = 73, 310 /* Wi-Fi configuration subcommands */ 311 QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION = 74, 312 QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION = 75, 313 /* 76-90 - reserved for QCA */ 314 QCA_NL80211_VENDOR_SUBCMD_DATA_OFFLOAD = 91, 315 QCA_NL80211_VENDOR_SUBCMD_OCB_SET_CONFIG = 92, 316 QCA_NL80211_VENDOR_SUBCMD_OCB_SET_UTC_TIME = 93, 317 QCA_NL80211_VENDOR_SUBCMD_OCB_START_TIMING_ADVERT = 94, 318 QCA_NL80211_VENDOR_SUBCMD_OCB_STOP_TIMING_ADVERT = 95, 319 QCA_NL80211_VENDOR_SUBCMD_OCB_GET_TSF_TIMER = 96, 320 QCA_NL80211_VENDOR_SUBCMD_DCC_GET_STATS = 97, 321 QCA_NL80211_VENDOR_SUBCMD_DCC_CLEAR_STATS = 98, 322 QCA_NL80211_VENDOR_SUBCMD_DCC_UPDATE_NDL = 99, 323 QCA_NL80211_VENDOR_SUBCMD_DCC_STATS_EVENT = 100, 324 QCA_NL80211_VENDOR_SUBCMD_LINK_PROPERTIES = 101, 325 QCA_NL80211_VENDOR_SUBCMD_GW_PARAM_CONFIG = 102, 326 QCA_NL80211_VENDOR_SUBCMD_GET_PREFERRED_FREQ_LIST = 103, 327 QCA_NL80211_VENDOR_SUBCMD_SET_PROBABLE_OPER_CHANNEL = 104, 328 QCA_NL80211_VENDOR_SUBCMD_SETBAND = 105, 329 QCA_NL80211_VENDOR_SUBCMD_TRIGGER_SCAN = 106, 330 QCA_NL80211_VENDOR_SUBCMD_SCAN_DONE = 107, 331 QCA_NL80211_VENDOR_SUBCMD_OTA_TEST = 108, 332 QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_SCALE = 109, 333 /* 110..114 - reserved for QCA */ 334 QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_DECR_DB = 115, 335 /* 116..117 - reserved for QCA */ 336 QCA_NL80211_VENDOR_SUBCMD_SET_SAP_CONFIG = 118, 337 QCA_NL80211_VENDOR_SUBCMD_TSF = 119, 338 QCA_NL80211_VENDOR_SUBCMD_WISA = 120, 339 /* 121 - reserved for QCA */ 340 QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_START = 122, 341 QCA_NL80211_VENDOR_SUBCMD_P2P_LISTEN_OFFLOAD_STOP = 123, 342 QCA_NL80211_VENDOR_SUBCMD_SAP_CONDITIONAL_CHAN_SWITCH = 124, 343 QCA_NL80211_VENDOR_SUBCMD_GPIO_CONFIG_COMMAND = 125, 344 QCA_NL80211_VENDOR_SUBCMD_GET_HW_CAPABILITY = 126, 345 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_EXT = 127, 346 /* FTM/indoor location subcommands */ 347 QCA_NL80211_VENDOR_SUBCMD_LOC_GET_CAPA = 128, 348 QCA_NL80211_VENDOR_SUBCMD_FTM_START_SESSION = 129, 349 QCA_NL80211_VENDOR_SUBCMD_FTM_ABORT_SESSION = 130, 350 QCA_NL80211_VENDOR_SUBCMD_FTM_MEAS_RESULT = 131, 351 QCA_NL80211_VENDOR_SUBCMD_FTM_SESSION_DONE = 132, 352 QCA_NL80211_VENDOR_SUBCMD_FTM_CFG_RESPONDER = 133, 353 QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS = 134, 354 QCA_NL80211_VENDOR_SUBCMD_AOA_ABORT_MEAS = 135, 355 QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS_RESULT = 136, 356 QCA_NL80211_VENDOR_SUBCMD_ENCRYPTION_TEST = 137, 357 QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI = 138, 358 /* DMG low level RF sector operations */ 359 QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SECTOR_CFG = 139, 360 QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SECTOR_CFG = 140, 361 QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SELECTED_SECTOR = 141, 362 QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SELECTED_SECTOR = 142, 363 QCA_NL80211_VENDOR_SUBCMD_CONFIGURE_TDLS = 143, 364 /* 144 - reserved for QCA */ 365 QCA_NL80211_VENDOR_SUBCMD_ABORT_SCAN = 145, 366 QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS = 146, 367 /* @QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET: 368 * Start / Stop the NUD stats collection. 369 */ 370 QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET = 149, 371 /* @QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET: 372 * Get the NUD stats.These stats are represented 373 * by the enum qca_attr_nud_stats_get. 374 */ 375 QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET = 150 376 }; 377 378 379 enum qca_wlan_vendor_attr { 380 QCA_WLAN_VENDOR_ATTR_INVALID = 0, 381 /* used by QCA_NL80211_VENDOR_SUBCMD_DFS_CAPABILITY */ 382 QCA_WLAN_VENDOR_ATTR_DFS = 1, 383 /* used by QCA_NL80211_VENDOR_SUBCMD_NAN */ 384 QCA_WLAN_VENDOR_ATTR_NAN = 2, 385 /* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */ 386 QCA_WLAN_VENDOR_ATTR_STATS_EXT = 3, 387 /* used by QCA_NL80211_VENDOR_SUBCMD_STATS_EXT */ 388 QCA_WLAN_VENDOR_ATTR_IFINDEX = 4, 389 /* used by QCA_NL80211_VENDOR_SUBCMD_ROAMING, u32 with values defined 390 * by enum qca_roaming_policy. */ 391 QCA_WLAN_VENDOR_ATTR_ROAMING_POLICY = 5, 392 QCA_WLAN_VENDOR_ATTR_MAC_ADDR = 6, 393 /* used by QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES */ 394 QCA_WLAN_VENDOR_ATTR_FEATURE_FLAGS = 7, 395 QCA_WLAN_VENDOR_ATTR_TEST = 8, 396 /* used by QCA_NL80211_VENDOR_SUBCMD_GET_FEATURES */ 397 /* Unsigned 32-bit value. */ 398 QCA_WLAN_VENDOR_ATTR_CONCURRENCY_CAPA = 9, 399 /* Unsigned 32-bit value */ 400 QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_2_4_BAND = 10, 401 /* Unsigned 32-bit value */ 402 QCA_WLAN_VENDOR_ATTR_MAX_CONCURRENT_CHANNELS_5_0_BAND = 11, 403 /* Unsigned 32-bit value from enum qca_set_band. */ 404 QCA_WLAN_VENDOR_ATTR_SETBAND_VALUE = 12, 405 /* Dummy (NOP) attribute for 64 bit padding */ 406 QCA_WLAN_VENDOR_ATTR_PAD = 13, 407 /* Unique FTM session cookie (Unsigned 64 bit). Specified in 408 * QCA_NL80211_VENDOR_SUBCMD_FTM_START_SESSION. Reported in 409 * the session in QCA_NL80211_VENDOR_SUBCMD_FTM_MEAS_RESULT and 410 * QCA_NL80211_VENDOR_SUBCMD_FTM_SESSION_DONE. 411 */ 412 QCA_WLAN_VENDOR_ATTR_FTM_SESSION_COOKIE = 14, 413 /* Indoor location capabilities, returned by 414 * QCA_NL80211_VENDOR_SUBCMD_LOC_GET_CAPA. 415 * see enum qca_wlan_vendor_attr_loc_capa. 416 */ 417 QCA_WLAN_VENDOR_ATTR_LOC_CAPA = 15, 418 /* Array of nested attributes containing information about each peer 419 * in FTM measurement session. See enum qca_wlan_vendor_attr_peer_info 420 * for supported attributes for each peer. 421 */ 422 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PEERS = 16, 423 /* Array of nested attributes containing measurement results for 424 * one or more peers, reported by the 425 * QCA_NL80211_VENDOR_SUBCMD_FTM_MEAS_RESULT event. 426 * See enum qca_wlan_vendor_attr_peer_result for list of supported 427 * attributes. 428 */ 429 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PEER_RESULTS = 17, 430 /* Flag attribute for enabling or disabling responder functionality. */ 431 QCA_WLAN_VENDOR_ATTR_FTM_RESPONDER_ENABLE = 18, 432 /* Used in the QCA_NL80211_VENDOR_SUBCMD_FTM_CFG_RESPONDER 433 * command to specify the LCI report that will be sent by 434 * the responder during a measurement exchange. The format is 435 * defined in IEEE P802.11-REVmc/D7.0, 9.4.2.22.10. 436 */ 437 QCA_WLAN_VENDOR_ATTR_FTM_LCI = 19, 438 /* Used in the QCA_NL80211_VENDOR_SUBCMD_FTM_CFG_RESPONDER 439 * command to specify the location civic report that will 440 * be sent by the responder during a measurement exchange. 441 * The format is defined in IEEE P802.11-REVmc/D7.0, 9.4.2.22.13. 442 */ 443 QCA_WLAN_VENDOR_ATTR_FTM_LCR = 20, 444 /* Session/measurement completion status code, 445 * reported in QCA_NL80211_VENDOR_SUBCMD_FTM_SESSION_DONE and 446 * QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS_RESULT 447 * see enum qca_vendor_attr_loc_session_status. 448 */ 449 QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS = 21, 450 /* Initial dialog token used by responder (0 if not specified), 451 * unsigned 8 bit value. 452 */ 453 QCA_WLAN_VENDOR_ATTR_FTM_INITIAL_TOKEN = 22, 454 /* AOA measurement type. Requested in QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS 455 * and optionally in QCA_NL80211_VENDOR_SUBCMD_FTM_START_SESSION if 456 * AOA measurements are needed as part of an FTM session. 457 * Reported by QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS_RESULT. See 458 * enum qca_wlan_vendor_attr_aoa_type. 459 */ 460 QCA_WLAN_VENDOR_ATTR_AOA_TYPE = 23, 461 /* A bit mask (unsigned 32 bit value) of antenna arrays used 462 * by indoor location measurements. Refers to the antenna 463 * arrays described by QCA_VENDOR_ATTR_LOC_CAPA_ANTENNA_ARRAYS. 464 */ 465 QCA_WLAN_VENDOR_ATTR_LOC_ANTENNA_ARRAY_MASK = 24, 466 /* AOA measurement data. Its contents depends on the AOA measurement 467 * type and antenna array mask: 468 * QCA_WLAN_VENDOR_ATTR_AOA_TYPE_TOP_CIR_PHASE: array of U16 values, 469 * phase of the strongest CIR path for each antenna in the measured 470 * array(s). 471 * QCA_WLAN_VENDOR_ATTR_AOA_TYPE_TOP_CIR_PHASE_AMP: array of 2 U16 472 * values, phase and amplitude of the strongest CIR path for each 473 * antenna in the measured array(s). 474 */ 475 QCA_WLAN_VENDOR_ATTR_AOA_MEAS_RESULT = 25, 476 /* Used in QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI command 477 * to specify the chain number (unsigned 32 bit value) to inquire 478 * the corresponding antenna RSSI value */ 479 QCA_WLAN_VENDOR_ATTR_CHAIN_INDEX = 26, 480 /* Used in QCA_NL80211_VENDOR_SUBCMD_GET_CHAIN_RSSI command 481 * to report the specific antenna RSSI value (unsigned 32 bit value) */ 482 QCA_WLAN_VENDOR_ATTR_CHAIN_RSSI = 27, 483 /* Frequency in MHz, various uses. Unsigned 32 bit value */ 484 QCA_WLAN_VENDOR_ATTR_FREQ = 28, 485 /* TSF timer value, unsigned 64 bit value. 486 * May be returned by various commands. 487 */ 488 QCA_WLAN_VENDOR_ATTR_TSF = 29, 489 /* DMG RF sector index, unsigned 16 bit number. Valid values are 490 * 0..127 for sector indices or 65535 as special value used to 491 * unlock sector selection in 492 * QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SELECTED_SECTOR. 493 */ 494 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_INDEX = 30, 495 /* DMG RF sector type, unsigned 8 bit value. One of the values 496 * in enum qca_wlan_vendor_attr_dmg_rf_sector_type. 497 */ 498 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE = 31, 499 /* Bitmask of DMG RF modules for which information is requested. Each 500 * bit corresponds to an RF module with the same index as the bit 501 * number. Unsigned 32 bit number but only low 8 bits can be set since 502 * all DMG chips currently have up to 8 RF modules. 503 */ 504 QCA_WLAN_VENDOR_ATTR_DMG_RF_MODULE_MASK = 32, 505 /* Array of nested attributes where each entry is DMG RF sector 506 * configuration for a single RF module. 507 * Attributes for each entry are taken from enum 508 * qca_wlan_vendor_attr_dmg_rf_sector_cfg. 509 * Specified in QCA_NL80211_VENDOR_SUBCMD_DMG_RF_SET_SECTOR_CFG 510 * and returned by QCA_NL80211_VENDOR_SUBCMD_DMG_RF_GET_SECTOR_CFG. 511 */ 512 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG = 33, 513 /* Used in QCA_NL80211_VENDOR_SUBCMD_STATS_EXT command 514 * to report frame aggregation statistics to userspace. 515 */ 516 QCA_WLAN_VENDOR_ATTR_RX_AGGREGATION_STATS_HOLES_NUM = 34, 517 QCA_WLAN_VENDOR_ATTR_RX_AGGREGATION_STATS_HOLES_INFO = 35, 518 519 /* keep last */ 520 QCA_WLAN_VENDOR_ATTR_AFTER_LAST, 521 QCA_WLAN_VENDOR_ATTR_MAX = QCA_WLAN_VENDOR_ATTR_AFTER_LAST - 1, 522 }; 523 524 525 enum qca_roaming_policy { 526 QCA_ROAMING_NOT_ALLOWED, 527 QCA_ROAMING_ALLOWED_WITHIN_ESS, 528 }; 529 530 enum qca_wlan_vendor_attr_roam_auth { 531 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_INVALID = 0, 532 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_BSSID, 533 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_REQ_IE, 534 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_RESP_IE, 535 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AUTHORIZED, 536 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_KEY_REPLAY_CTR, 537 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KCK, 538 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_PTK_KEK, 539 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_SUBNET_STATUS, 540 /* keep last */ 541 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST, 542 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_MAX = 543 QCA_WLAN_VENDOR_ATTR_ROAM_AUTH_AFTER_LAST - 1 544 }; 545 546 enum qca_wlan_vendor_attr_p2p_listen_offload { 547 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_INVALID = 0, 548 /* A 32-bit unsigned value; the P2P listen frequency (MHz); must be one 549 * of the social channels. 550 */ 551 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_CHANNEL, 552 /* A 32-bit unsigned value; the P2P listen offload period (ms). 553 */ 554 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_PERIOD, 555 /* A 32-bit unsigned value; the P2P listen interval duration (ms). 556 */ 557 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_INTERVAL, 558 /* A 32-bit unsigned value; number of interval times the firmware needs 559 * to run the offloaded P2P listen operation before it stops. 560 */ 561 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_COUNT, 562 /* An array of arbitrary binary data with one or more 8-byte values. 563 * The device types include both primary and secondary device types. 564 */ 565 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_DEVICE_TYPES, 566 /* An array of unsigned 8-bit characters; vendor information elements. 567 */ 568 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_VENDOR_IE, 569 /* A 32-bit unsigned value; a control flag to indicate whether listen 570 * results need to be flushed to wpa_supplicant. 571 */ 572 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_CTRL_FLAG, 573 /* A 8-bit unsigned value; reason code for P2P listen offload stop 574 * event. 575 */ 576 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_STOP_REASON, 577 /* keep last */ 578 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_AFTER_LAST, 579 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_MAX = 580 QCA_WLAN_VENDOR_ATTR_P2P_LISTEN_OFFLOAD_AFTER_LAST - 1 581 }; 582 583 enum qca_wlan_vendor_attr_acs_offload { 584 QCA_WLAN_VENDOR_ATTR_ACS_CHANNEL_INVALID = 0, 585 QCA_WLAN_VENDOR_ATTR_ACS_PRIMARY_CHANNEL, 586 QCA_WLAN_VENDOR_ATTR_ACS_SECONDARY_CHANNEL, 587 QCA_WLAN_VENDOR_ATTR_ACS_HW_MODE, 588 QCA_WLAN_VENDOR_ATTR_ACS_HT_ENABLED, 589 QCA_WLAN_VENDOR_ATTR_ACS_HT40_ENABLED, 590 QCA_WLAN_VENDOR_ATTR_ACS_VHT_ENABLED, 591 QCA_WLAN_VENDOR_ATTR_ACS_CHWIDTH, 592 QCA_WLAN_VENDOR_ATTR_ACS_CH_LIST, 593 QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG0_CENTER_CHANNEL, 594 QCA_WLAN_VENDOR_ATTR_ACS_VHT_SEG1_CENTER_CHANNEL, 595 QCA_WLAN_VENDOR_ATTR_ACS_FREQ_LIST, 596 /* keep last */ 597 QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST, 598 QCA_WLAN_VENDOR_ATTR_ACS_MAX = 599 QCA_WLAN_VENDOR_ATTR_ACS_AFTER_LAST - 1 600 }; 601 602 enum qca_wlan_vendor_acs_hw_mode { 603 QCA_ACS_MODE_IEEE80211B, 604 QCA_ACS_MODE_IEEE80211G, 605 QCA_ACS_MODE_IEEE80211A, 606 QCA_ACS_MODE_IEEE80211AD, 607 QCA_ACS_MODE_IEEE80211ANY, 608 }; 609 610 /** 611 * enum qca_wlan_vendor_features - Vendor device/driver feature flags 612 * 613 * @QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD: Device supports key 614 * management offload, a mechanism where the station's firmware 615 * does the exchange with the AP to establish the temporal keys 616 * after roaming, rather than having the user space wpa_supplicant do it. 617 * @QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY: Device supports automatic 618 * band selection based on channel selection results. 619 * @QCA_WLAN_VENDOR_FEATURE_OFFCHANNEL_SIMULTANEOUS: Device supports 620 * simultaneous off-channel operations. 621 * @QCA_WLAN_VENDOR_FEATURE_P2P_LISTEN_OFFLOAD: Device supports P2P 622 * Listen offload; a mechanism where the station's firmware takes care of 623 * responding to incoming Probe Request frames received from other P2P 624 * Devices whilst in Listen state, rather than having the user space 625 * wpa_supplicant do it. Information from received P2P requests are 626 * forwarded from firmware to host whenever the host processor wakes up. 627 * @NUM_QCA_WLAN_VENDOR_FEATURES: Number of assigned feature bits 628 */ 629 enum qca_wlan_vendor_features { 630 QCA_WLAN_VENDOR_FEATURE_KEY_MGMT_OFFLOAD = 0, 631 QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY = 1, 632 QCA_WLAN_VENDOR_FEATURE_OFFCHANNEL_SIMULTANEOUS = 2, 633 QCA_WLAN_VENDOR_FEATURE_P2P_LISTEN_OFFLOAD = 3, 634 NUM_QCA_WLAN_VENDOR_FEATURES /* keep last */ 635 }; 636 637 /** 638 * enum qca_wlan_vendor_attr_data_offload_ind - Vendor Data Offload Indication 639 * 640 * @QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_SESSION: Session corresponding to 641 * the offloaded data. 642 * @QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_PROTOCOL: Protocol of the offloaded 643 * data. 644 * @QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_EVENT: Event type for the data offload 645 * indication. 646 */ 647 enum qca_wlan_vendor_attr_data_offload_ind { 648 QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_INVALID = 0, 649 QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_SESSION, 650 QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_PROTOCOL, 651 QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_EVENT, 652 653 /* keep last */ 654 QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_AFTER_LAST, 655 QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_MAX = 656 QCA_WLAN_VENDOR_ATTR_DATA_OFFLOAD_IND_AFTER_LAST - 1 657 }; 658 659 enum qca_vendor_attr_get_preferred_freq_list { 660 QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_INVALID, 661 /* A 32-unsigned value; the interface type/mode for which the preferred 662 * frequency list is requested (see enum qca_iface_type for possible 663 * values); used in GET_PREFERRED_FREQ_LIST command from user-space to 664 * kernel and in the kernel response back to user-space. 665 */ 666 QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_IFACE_TYPE, 667 /* An array of 32-unsigned values; values are frequency (MHz); sent 668 * from kernel space to user space. 669 */ 670 QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST, 671 /* keep last */ 672 QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST, 673 QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_MAX = 674 QCA_WLAN_VENDOR_ATTR_GET_PREFERRED_FREQ_LIST_AFTER_LAST - 1 675 }; 676 677 enum qca_vendor_attr_probable_oper_channel { 678 QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_INVALID, 679 /* 32-bit unsigned value; indicates the connection/iface type likely to 680 * come on this channel (see enum qca_iface_type). 681 */ 682 QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_IFACE_TYPE, 683 /* 32-bit unsigned value; the frequency (MHz) of the probable channel */ 684 QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_FREQ, 685 /* keep last */ 686 QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST, 687 QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_MAX = 688 QCA_WLAN_VENDOR_ATTR_PROBABLE_OPER_CHANNEL_AFTER_LAST - 1 689 }; 690 691 enum qca_iface_type { 692 QCA_IFACE_TYPE_STA, 693 QCA_IFACE_TYPE_AP, 694 QCA_IFACE_TYPE_P2P_CLIENT, 695 QCA_IFACE_TYPE_P2P_GO, 696 QCA_IFACE_TYPE_IBSS, 697 QCA_IFACE_TYPE_TDLS, 698 }; 699 700 enum qca_set_band { 701 QCA_SETBAND_AUTO, 702 QCA_SETBAND_5G, 703 QCA_SETBAND_2G, 704 }; 705 706 /** 707 * enum qca_access_policy - Access control policy 708 * 709 * Access control policy is applied on the configured IE 710 * (QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE). 711 * To be set with QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY. 712 * 713 * @QCA_ACCESS_POLICY_ACCEPT_UNLESS_LISTED: Deny Wi-Fi connections which match 714 * the specific configuration (IE) set, i.e., allow all the 715 * connections which do not match the configuration. 716 * @QCA_ACCESS_POLICY_DENY_UNLESS_LISTED: Accept Wi-Fi connections which match 717 * the specific configuration (IE) set, i.e., deny all the 718 * connections which do not match the configuration. 719 */ 720 enum qca_access_policy { 721 QCA_ACCESS_POLICY_ACCEPT_UNLESS_LISTED, 722 QCA_ACCESS_POLICY_DENY_UNLESS_LISTED, 723 }; 724 725 /** 726 * enum qca_vendor_attr_get_tsf: Vendor attributes for TSF capture 727 * @QCA_WLAN_VENDOR_ATTR_TSF_CMD: enum qca_tsf_operation (u32) 728 * @QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE: Unsigned 64 bit TSF timer value 729 * @QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE: Unsigned 64 bit Synchronized 730 * SOC timer value at TSF capture 731 */ 732 enum qca_vendor_attr_tsf_cmd { 733 QCA_WLAN_VENDOR_ATTR_TSF_INVALID = 0, 734 QCA_WLAN_VENDOR_ATTR_TSF_CMD, 735 QCA_WLAN_VENDOR_ATTR_TSF_TIMER_VALUE, 736 QCA_WLAN_VENDOR_ATTR_TSF_SOC_TIMER_VALUE, 737 QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST, 738 QCA_WLAN_VENDOR_ATTR_TSF_MAX = 739 QCA_WLAN_VENDOR_ATTR_TSF_AFTER_LAST - 1 740 }; 741 742 /** 743 * enum qca_tsf_operation: TSF driver commands 744 * @QCA_TSF_CAPTURE: Initiate TSF Capture 745 * @QCA_TSF_GET: Get TSF capture value 746 * @QCA_TSF_SYNC_GET: Initiate TSF capture and return with captured value 747 */ 748 enum qca_tsf_cmd { 749 QCA_TSF_CAPTURE, 750 QCA_TSF_GET, 751 QCA_TSF_SYNC_GET, 752 }; 753 754 /** 755 * enum qca_vendor_attr_wisa_cmd 756 * @QCA_WLAN_VENDOR_ATTR_WISA_MODE: WISA mode value (u32) 757 * WISA setup vendor commands 758 */ 759 enum qca_vendor_attr_wisa_cmd { 760 QCA_WLAN_VENDOR_ATTR_WISA_INVALID = 0, 761 QCA_WLAN_VENDOR_ATTR_WISA_MODE, 762 QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST, 763 QCA_WLAN_VENDOR_ATTR_WISA_MAX = 764 QCA_WLAN_VENDOR_ATTR_WISA_AFTER_LAST - 1 765 }; 766 767 /* IEEE 802.11 Vendor Specific elements */ 768 769 /** 770 * enum qca_vendor_element_id - QCA Vendor Specific element types 771 * 772 * These values are used to identify QCA Vendor Specific elements. The 773 * payload of the element starts with the three octet OUI (OUI_QCA) and 774 * is followed by a single octet type which is defined by this enum. 775 * 776 * @QCA_VENDOR_ELEM_P2P_PREF_CHAN_LIST: P2P preferred channel list. 777 * This element can be used to specify preference order for supported 778 * channels. The channels in this list are in preference order (the first 779 * one has the highest preference) and are described as a pair of 780 * (global) Operating Class and Channel Number (each one octet) fields. 781 * 782 * This extends the standard P2P functionality by providing option to have 783 * more than one preferred operating channel. When this element is present, 784 * it replaces the preference indicated in the Operating Channel attribute. 785 * For supporting other implementations, the Operating Channel attribute is 786 * expected to be used with the highest preference channel. Similarly, all 787 * the channels included in this Preferred channel list element are 788 * expected to be included in the Channel List attribute. 789 * 790 * This vendor element may be included in GO Negotiation Request, P2P 791 * Invitation Request, and Provision Discovery Request frames. 792 * 793 * @QCA_VENDOR_ELEM_HE_CAPAB: HE Capabilities element. 794 * This element can be used for pre-standard publication testing of HE 795 * before P802.11ax draft assigns the element ID. The payload of this 796 * vendor specific element is defined by the latest P802.11ax draft. 797 * Please note that the draft is still work in progress and this element 798 * payload is subject to change. 799 * 800 * @QCA_VENDOR_ELEM_HE_OPER: HE Operation element. 801 * This element can be used for pre-standard publication testing of HE 802 * before P802.11ax draft assigns the element ID. The payload of this 803 * vendor specific element is defined by the latest P802.11ax draft. 804 * Please note that the draft is still work in progress and this element 805 * payload is subject to change. 806 */ 807 enum qca_vendor_element_id { 808 QCA_VENDOR_ELEM_P2P_PREF_CHAN_LIST = 0, 809 QCA_VENDOR_ELEM_HE_CAPAB = 1, 810 QCA_VENDOR_ELEM_HE_OPER = 2, 811 }; 812 813 /** 814 * enum qca_wlan_vendor_attr_scan - Specifies vendor scan attributes 815 * 816 * @QCA_WLAN_VENDOR_ATTR_SCAN_IE: IEs that should be included as part of scan 817 * @QCA_WLAN_VENDOR_ATTR_SCAN_FREQUENCIES: Nested unsigned 32-bit attributes 818 * with frequencies to be scanned (in MHz) 819 * @QCA_WLAN_VENDOR_ATTR_SCAN_SSIDS: Nested attribute with SSIDs to be scanned 820 * @QCA_WLAN_VENDOR_ATTR_SCAN_SUPP_RATES: Nested array attribute of supported 821 * rates to be included 822 * @QCA_WLAN_VENDOR_ATTR_SCAN_TX_NO_CCK_RATE: flag used to send probe requests 823 * at non CCK rate in 2GHz band 824 * @QCA_WLAN_VENDOR_ATTR_SCAN_FLAGS: Unsigned 32-bit scan flags 825 * @QCA_WLAN_VENDOR_ATTR_SCAN_COOKIE: Unsigned 64-bit cookie provided by the 826 * driver for the specific scan request 827 * @QCA_WLAN_VENDOR_ATTR_SCAN_STATUS: Unsigned 8-bit status of the scan 828 * request decoded as in enum scan_status 829 * @QCA_WLAN_VENDOR_ATTR_SCAN_MAC: 6-byte MAC address to use when randomisation 830 * scan flag is set 831 * @QCA_WLAN_VENDOR_ATTR_SCAN_MAC_MASK: 6-byte MAC address mask to be used with 832 * randomisation 833 * @QCA_WLAN_VENDOR_ATTR_SCAN_BSSID: 6-byte MAC address representing the 834 * specific BSSID to scan for. 835 */ 836 enum qca_wlan_vendor_attr_scan { 837 QCA_WLAN_VENDOR_ATTR_SCAN_INVALID_PARAM = 0, 838 QCA_WLAN_VENDOR_ATTR_SCAN_IE = 1, 839 QCA_WLAN_VENDOR_ATTR_SCAN_FREQUENCIES = 2, 840 QCA_WLAN_VENDOR_ATTR_SCAN_SSIDS = 3, 841 QCA_WLAN_VENDOR_ATTR_SCAN_SUPP_RATES = 4, 842 QCA_WLAN_VENDOR_ATTR_SCAN_TX_NO_CCK_RATE = 5, 843 QCA_WLAN_VENDOR_ATTR_SCAN_FLAGS = 6, 844 QCA_WLAN_VENDOR_ATTR_SCAN_COOKIE = 7, 845 QCA_WLAN_VENDOR_ATTR_SCAN_STATUS = 8, 846 QCA_WLAN_VENDOR_ATTR_SCAN_MAC = 9, 847 QCA_WLAN_VENDOR_ATTR_SCAN_MAC_MASK = 10, 848 QCA_WLAN_VENDOR_ATTR_SCAN_BSSID = 11, 849 QCA_WLAN_VENDOR_ATTR_SCAN_AFTER_LAST, 850 QCA_WLAN_VENDOR_ATTR_SCAN_MAX = 851 QCA_WLAN_VENDOR_ATTR_SCAN_AFTER_LAST - 1 852 }; 853 854 /** 855 * enum scan_status - Specifies the valid values the vendor scan attribute 856 * QCA_WLAN_VENDOR_ATTR_SCAN_STATUS can take 857 * 858 * @VENDOR_SCAN_STATUS_NEW_RESULTS: implies the vendor scan is successful with 859 * new scan results 860 * @VENDOR_SCAN_STATUS_ABORTED: implies the vendor scan was aborted in-between 861 */ 862 enum scan_status { 863 VENDOR_SCAN_STATUS_NEW_RESULTS, 864 VENDOR_SCAN_STATUS_ABORTED, 865 VENDOR_SCAN_STATUS_MAX, 866 }; 867 868 /** 869 * enum qca_vendor_attr_ota_test - Specifies the values for vendor 870 * command QCA_NL80211_VENDOR_SUBCMD_OTA_TEST 871 * @QCA_WLAN_VENDOR_ATTR_OTA_TEST_ENABLE: enable ota test 872 */ 873 enum qca_vendor_attr_ota_test { 874 QCA_WLAN_VENDOR_ATTR_OTA_TEST_INVALID, 875 /* 8-bit unsigned value to indicate if OTA test is enabled */ 876 QCA_WLAN_VENDOR_ATTR_OTA_TEST_ENABLE, 877 /* keep last */ 878 QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST, 879 QCA_WLAN_VENDOR_ATTR_OTA_TEST_MAX = 880 QCA_WLAN_VENDOR_ATTR_OTA_TEST_AFTER_LAST - 1 881 }; 882 883 /** 884 * enum qca_vendor_attr_txpower_scale - vendor sub commands index 885 * 886 * @QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE: scaling value 887 */ 888 enum qca_vendor_attr_txpower_scale { 889 QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_INVALID, 890 /* 8-bit unsigned value to indicate the scaling of tx power */ 891 QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE, 892 /* keep last */ 893 QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_AFTER_LAST, 894 QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_MAX = 895 QCA_WLAN_VENDOR_ATTR_TXPOWER_SCALE_AFTER_LAST - 1 896 }; 897 898 /** 899 * enum qca_vendor_attr_txpower_decr_db - Attributes for TX power decrease 900 * 901 * These attributes are used with QCA_NL80211_VENDOR_SUBCMD_SET_TXPOWER_DECR_DB. 902 */ 903 enum qca_vendor_attr_txpower_decr_db { 904 QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_INVALID, 905 /* 8-bit unsigned value to indicate the reduction of TX power in dB for 906 * a virtual interface. */ 907 QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB, 908 /* keep last */ 909 QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_AFTER_LAST, 910 QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_MAX = 911 QCA_WLAN_VENDOR_ATTR_TXPOWER_DECR_DB_AFTER_LAST - 1 912 }; 913 914 /* Attributes for data used by 915 * QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION and 916 * QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_CONFIGURATION subcommands. 917 */ 918 enum qca_wlan_vendor_attr_config { 919 QCA_WLAN_VENDOR_ATTR_CONFIG_INVALID = 0, 920 /* Unsigned 32-bit value to set the DTIM period. 921 * Whether the wifi chipset wakes at every dtim beacon or a multiple of 922 * the DTIM period. If DTIM is set to 3, the STA shall wake up every 3 923 * DTIM beacons. 924 */ 925 QCA_WLAN_VENDOR_ATTR_CONFIG_DYNAMIC_DTIM = 1, 926 /* Unsigned 32-bit value to set the wifi_iface stats averaging factor 927 * used to calculate statistics like average the TSF offset or average 928 * number of frame leaked. 929 * For instance, upon Beacon frame reception: 930 * current_avg = ((beacon_TSF - TBTT) * factor + previous_avg * (0x10000 - factor) ) / 0x10000 931 * For instance, when evaluating leaky APs: 932 * current_avg = ((num frame received within guard time) * factor + previous_avg * (0x10000 - factor)) / 0x10000 933 */ 934 QCA_WLAN_VENDOR_ATTR_CONFIG_STATS_AVG_FACTOR = 2, 935 /* Unsigned 32-bit value to configure guard time, i.e., when 936 * implementing IEEE power management based on frame control PM bit, how 937 * long the driver waits before shutting down the radio and after 938 * receiving an ACK frame for a Data frame with PM bit set. 939 */ 940 QCA_WLAN_VENDOR_ATTR_CONFIG_GUARD_TIME = 3, 941 /* Unsigned 32-bit value to change the FTM capability dynamically */ 942 QCA_WLAN_VENDOR_ATTR_CONFIG_FINE_TIME_MEASUREMENT = 4, 943 /* Unsigned 16-bit value to configure maximum TX rate dynamically */ 944 QCA_WLAN_VENDOR_ATTR_CONF_TX_RATE = 5, 945 /* Unsigned 32-bit value to configure the number of continuous 946 * Beacon Miss which shall be used by the firmware to penalize 947 * the RSSI. 948 */ 949 QCA_WLAN_VENDOR_ATTR_CONFIG_PENALIZE_AFTER_NCONS_BEACON_MISS = 6, 950 /* Unsigned 8-bit value to configure the channel avoidance indication 951 * behavior. Firmware to send only one indication and ignore duplicate 952 * indications when set to avoid multiple Apps wakeups. 953 */ 954 QCA_WLAN_VENDOR_ATTR_CONFIG_CHANNEL_AVOIDANCE_IND = 7, 955 /* 8-bit unsigned value to configure the maximum TX MPDU for 956 * aggregation. */ 957 QCA_WLAN_VENDOR_ATTR_CONFIG_TX_MPDU_AGGREGATION = 8, 958 /* 8-bit unsigned value to configure the maximum RX MPDU for 959 * aggregation. */ 960 QCA_WLAN_VENDOR_ATTR_CONFIG_RX_MPDU_AGGREGATION = 9, 961 /* 8-bit unsigned value to configure the Non aggregrate/11g sw 962 * retry threshold (0 disable, 31 max). */ 963 QCA_WLAN_VENDOR_ATTR_CONFIG_NON_AGG_RETRY = 10, 964 /* 8-bit unsigned value to configure the aggregrate sw 965 * retry threshold (0 disable, 31 max). */ 966 QCA_WLAN_VENDOR_ATTR_CONFIG_AGG_RETRY = 11, 967 /* 8-bit unsigned value to configure the MGMT frame 968 * retry threshold (0 disable, 31 max). */ 969 QCA_WLAN_VENDOR_ATTR_CONFIG_MGMT_RETRY = 12, 970 /* 8-bit unsigned value to configure the CTRL frame 971 * retry threshold (0 disable, 31 max). */ 972 QCA_WLAN_VENDOR_ATTR_CONFIG_CTRL_RETRY = 13, 973 /* 8-bit unsigned value to configure the propagation delay for 974 * 2G/5G band (0~63, units in us) */ 975 QCA_WLAN_VENDOR_ATTR_CONFIG_PROPAGATION_DELAY = 14, 976 /* Unsigned 32-bit value to configure the number of unicast TX fail 977 * packet count. The peer is disconnected once this threshold is 978 * reached. */ 979 QCA_WLAN_VENDOR_ATTR_CONFIG_TX_FAIL_COUNT = 15, 980 /* Attribute used to set scan default IEs to the driver. 981 * 982 * These IEs can be used by scan operations that will be initiated by 983 * the driver/firmware. 984 * 985 * For further scan requests coming to the driver, these IEs should be 986 * merged with the IEs received along with scan request coming to the 987 * driver. If a particular IE is present in the scan default IEs but not 988 * present in the scan request, then that IE should be added to the IEs 989 * sent in the Probe Request frames for that scan request. */ 990 QCA_WLAN_VENDOR_ATTR_CONFIG_SCAN_DEFAULT_IES = 16, 991 /* Unsigned 32-bit attribute for generic commands */ 992 QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_COMMAND = 17, 993 /* Unsigned 32-bit value attribute for generic commands */ 994 QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_VALUE = 18, 995 /* Unsigned 32-bit data attribute for generic command response */ 996 QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA = 19, 997 /* Unsigned 32-bit length attribute for 998 * QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA */ 999 QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_LENGTH = 20, 1000 /* Unsigned 32-bit flags attribute for 1001 * QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_DATA */ 1002 QCA_WLAN_VENDOR_ATTR_CONFIG_GENERIC_FLAGS = 21, 1003 /* Unsigned 32-bit, defining the access policy. 1004 * See enum qca_access_policy. Used with 1005 * QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST. */ 1006 QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY = 22, 1007 /* Sets the list of full set of IEs for which a specific access policy 1008 * has to be applied. Used along with 1009 * QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY to control the access. 1010 * Zero length payload can be used to clear this access constraint. */ 1011 QCA_WLAN_VENDOR_ATTR_CONFIG_ACCESS_POLICY_IE_LIST = 23, 1012 /* Unsigned 32-bit, specifies the interface index (netdev) for which the 1013 * corresponding configurations are applied. If the interface index is 1014 * not specified, the configurations are attributed to the respective 1015 * wiphy. */ 1016 QCA_WLAN_VENDOR_ATTR_CONFIG_IFINDEX = 24, 1017 /* 8-bit unsigned value to trigger QPower: 1-Enable, 0-Disable */ 1018 QCA_WLAN_VENDOR_ATTR_CONFIG_QPOWER = 25, 1019 /* 8-bit unsigned value to configure the driver and below layers to 1020 * ignore the assoc disallowed set by APs while connecting 1021 * 1-Ignore, 0-Don't ignore */ 1022 QCA_WLAN_VENDOR_ATTR_CONFIG_IGNORE_ASSOC_DISALLOWED = 26, 1023 /* 32-bit unsigned value to trigger antenna diversity features: 1024 * 1-Enable, 0-Disable */ 1025 QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_ENA = 27, 1026 /* 32-bit unsigned value to configure specific chain antenna */ 1027 QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_CHAIN = 28, 1028 /* 32-bit unsigned value to trigger cycle selftest 1029 * 1-Enable, 0-Disable */ 1030 QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST = 29, 1031 /* 32-bit unsigned to configure the cycle time of selftest 1032 * the unit is micro-second */ 1033 QCA_WLAN_VENDOR_ATTR_CONFIG_ANT_DIV_SELFTEST_INTVL = 30, 1034 /* 32-bit unsigned value to set reorder timeout for AC_VO */ 1035 QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_VOICE = 31, 1036 /* 32-bit unsigned value to set reorder timeout for AC_VI */ 1037 QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_VIDEO = 32, 1038 /* 32-bit unsigned value to set reorder timeout for AC_BE */ 1039 QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_BESTEFFORT = 33, 1040 /* 32-bit unsigned value to set reorder timeout for AC_BK */ 1041 QCA_WLAN_VENDOR_ATTR_CONFIG_RX_REORDER_TIMEOUT_BACKGROUND = 34, 1042 /* 6-byte MAC address to point out the specific peer */ 1043 QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_PEER_MAC = 35, 1044 /* 32-bit unsigned value to set window size for specific peer */ 1045 QCA_WLAN_VENDOR_ATTR_CONFIG_RX_BLOCKSIZE_WINLIMIT = 36, 1046 /* 8-bit unsigned value to set the beacon miss threshold in 2.4 GHz */ 1047 QCA_WLAN_VENDOR_ATTR_CONFIG_BEACON_MISS_THRESHOLD_24 = 37, 1048 /* 8-bit unsigned value to set the beacon miss threshold in 5 GHz */ 1049 QCA_WLAN_VENDOR_ATTR_CONFIG_BEACON_MISS_THRESHOLD_5 = 38, 1050 1051 /* keep last */ 1052 QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST, 1053 QCA_WLAN_VENDOR_ATTR_CONFIG_MAX = 1054 QCA_WLAN_VENDOR_ATTR_CONFIG_AFTER_LAST - 1, 1055 }; 1056 1057 /** 1058 * enum qca_wlan_vendor_attr_sap_config - Parameters for AP configuration 1059 */ 1060 enum qca_wlan_vendor_attr_sap_config { 1061 QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_INVALID = 0, 1062 /* 1 - reserved for QCA */ 1063 /* List of frequencies on which AP is expected to operate. 1064 * This is irrespective of ACS configuration. This list is a priority 1065 * based one and is looked for before the AP is created to ensure the 1066 * best concurrency sessions (avoid MCC and use DBS/SCC) co-exist in 1067 * the system. 1068 */ 1069 QCA_WLAN_VENDOR_ATTR_SAP_MANDATORY_FREQUENCY_LIST = 2, 1070 1071 QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_AFTER_LAST, 1072 QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_MAX = 1073 QCA_WLAN_VENDOR_ATTR_SAP_CONFIG_AFTER_LAST - 1, 1074 }; 1075 1076 /** 1077 * enum qca_wlan_vendor_attr_sap_conditional_chan_switch - Parameters for AP 1078 * conditional channel switch 1079 */ 1080 enum qca_wlan_vendor_attr_sap_conditional_chan_switch { 1081 QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_INVALID = 0, 1082 /* Priority based frequency list (an array of u32 values in host byte 1083 * order) */ 1084 QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_FREQ_LIST = 1, 1085 /* Status of the conditional switch (u32). 1086 * 0: Success, Non-zero: Failure 1087 */ 1088 QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_STATUS = 2, 1089 1090 QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_AFTER_LAST, 1091 QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_MAX = 1092 QCA_WLAN_VENDOR_ATTR_SAP_CONDITIONAL_CHAN_SWITCH_AFTER_LAST - 1, 1093 }; 1094 1095 /** 1096 * enum qca_wlan_gpio_attr - Parameters for GPIO configuration 1097 */ 1098 enum qca_wlan_gpio_attr { 1099 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_INVALID = 0, 1100 /* Unsigned 32-bit attribute for GPIO command */ 1101 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_COMMAND, 1102 /* Unsigned 32-bit attribute for GPIO PIN number to configure */ 1103 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_PINNUM, 1104 /* Unsigned 32-bit attribute for GPIO value to configure */ 1105 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_VALUE, 1106 /* Unsigned 32-bit attribute for GPIO pull type */ 1107 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_PULL_TYPE, 1108 /* Unsigned 32-bit attribute for GPIO interrupt mode */ 1109 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_INTR_MODE, 1110 1111 /* keep last */ 1112 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_LAST, 1113 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_MAX = 1114 QCA_WLAN_VENDOR_ATTR_GPIO_PARAM_LAST - 1 1115 }; 1116 1117 /** 1118 * enum qca_wlan_vendor_attr_get_hw_capability - Wi-Fi hardware capability 1119 */ 1120 enum qca_wlan_vendor_attr_get_hw_capability { 1121 QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_INVALID, 1122 /* Antenna isolation 1123 * An attribute used in the response. 1124 * The content of this attribute is encoded in a byte array. Each byte 1125 * value is an antenna isolation value. The array length is the number 1126 * of antennas. 1127 */ 1128 QCA_WLAN_VENDOR_ATTR_ANTENNA_ISOLATION, 1129 /* Request HW capability 1130 * An attribute used in the request. 1131 * The content of this attribute is a u32 array for one or more of 1132 * hardware capabilities (attribute IDs) that are being requested. Each 1133 * u32 value has a value from this 1134 * enum qca_wlan_vendor_attr_get_hw_capability 1135 * identifying which capabilities are requested. 1136 */ 1137 QCA_WLAN_VENDOR_ATTR_GET_HW_CAPABILITY, 1138 1139 /* keep last */ 1140 QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_AFTER_LAST, 1141 QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_MAX = 1142 QCA_WLAN_VENDOR_ATTR_HW_CAPABILITY_AFTER_LAST - 1, 1143 }; 1144 1145 /** 1146 * enum qca_wlan_vendor_attr_ll_stats_ext - Attributes for MAC layer monitoring 1147 * offload which is an extension for LL_STATS. 1148 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_PERIOD: Monitoring period. Unit in ms. 1149 * If MAC counters do not exceed the threshold, FW will report monitored 1150 * link layer counters periodically as this setting. The first report is 1151 * always triggered by this timer. 1152 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_THRESHOLD: It is a percentage (1-99). 1153 * For each MAC layer counter, FW holds two copies. One is the current value. 1154 * The other is the last report. Once a current counter's increment is larger 1155 * than the threshold, FW will indicate that counter to host even if the 1156 * monitoring timer does not expire. 1157 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_CHG: Peer STA power state change 1158 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TID: TID of MSDU 1159 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_NUM_MSDU: Count of MSDU with the same 1160 * failure code. 1161 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_STATUS: TX failure code 1162 * 1: TX packet discarded 1163 * 2: No ACK 1164 * 3: Postpone 1165 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_MAC_ADDRESS: peer MAC address 1166 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_STATE: Peer STA current state 1167 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_GLOBAL: Global threshold. 1168 * Threshold for all monitored parameters. If per counter dedicated threshold 1169 * is not enabled, this threshold will take effect. 1170 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_EVENT_MODE: Indicate what triggers this 1171 * event, PERORID_TIMEOUT == 1, THRESH_EXCEED == 0. 1172 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_ID: interface ID 1173 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_ID: peer ID 1174 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BITMAP: bitmap for TX counters 1175 * Bit0: TX counter unit in MSDU 1176 * Bit1: TX counter unit in MPDU 1177 * Bit2: TX counter unit in PPDU 1178 * Bit3: TX counter unit in byte 1179 * Bit4: Dropped MSDUs 1180 * Bit5: Dropped Bytes 1181 * Bit6: MPDU retry counter 1182 * Bit7: MPDU failure counter 1183 * Bit8: PPDU failure counter 1184 * Bit9: MPDU aggregation counter 1185 * Bit10: MCS counter for ACKed MPDUs 1186 * Bit11: MCS counter for Failed MPDUs 1187 * Bit12: TX Delay counter 1188 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BITMAP: bitmap for RX counters 1189 * Bit0: MAC RX counter unit in MPDU 1190 * Bit1: MAC RX counter unit in byte 1191 * Bit2: PHY RX counter unit in PPDU 1192 * Bit3: PHY RX counter unit in byte 1193 * Bit4: Disorder counter 1194 * Bit5: Retry counter 1195 * Bit6: Duplication counter 1196 * Bit7: Discard counter 1197 * Bit8: MPDU aggregation size counter 1198 * Bit9: MCS counter 1199 * Bit10: Peer STA power state change (wake to sleep) counter 1200 * Bit11: Peer STA power save counter, total time in PS mode 1201 * Bit12: Probe request counter 1202 * Bit13: Other management frames counter 1203 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CCA_BSS_BITMAP: bitmap for CCA 1204 * Bit0: Idle time 1205 * Bit1: TX time 1206 * Bit2: time RX in current bss 1207 * Bit3: Out of current bss time 1208 * Bit4: Wireless medium busy time 1209 * Bit5: RX in bad condition time 1210 * Bit6: TX in bad condition time 1211 * Bit7: time wlan card not available 1212 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_SIGNAL_BITMAP: bitmap for signal 1213 * Bit0: Per channel SNR counter 1214 * Bit1: Per channel noise floor counter 1215 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_NUM: number of peers 1216 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CHANNEL_NUM: number of channels 1217 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_AC_RX_NUM: number of RX stats 1218 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CCA_BSS: per channel BSS CCA stats 1219 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER: container for per PEER stats 1220 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_MSDU: Number of total TX MSDUs 1221 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_MPDU: Number of total TX MPDUs 1222 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_PPDU: Number of total TX PPDUs 1223 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BYTES: bytes of TX data 1224 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DROP: Number of dropped TX packets 1225 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DROP_BYTES: Bytes dropped 1226 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_RETRY: waiting time without an ACK 1227 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_NO_ACK: number of MPDU not-ACKed 1228 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_NO_BACK: number of PPDU not-ACKed 1229 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_AGGR_NUM: 1230 * aggregation stats buffer length 1231 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_SUCC_MCS_NUM: length of mcs stats 1232 * buffer for ACKed MPDUs. 1233 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_FAIL_MCS_NUM: length of mcs stats 1234 * buffer for failed MPDUs. 1235 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_DELAY_ARRAY_SIZE: 1236 * length of delay stats array. 1237 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_AGGR: TX aggregation stats 1238 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_SUCC_MCS: MCS stats for ACKed MPDUs 1239 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_FAIL_MCS: MCS stats for failed MPDUs 1240 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DELAY: tx delay stats 1241 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU: MPDUs received 1242 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_BYTES: bytes received 1243 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PPDU: PPDU received 1244 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PPDU_BYTES: PPDU bytes received 1245 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_LOST: packets lost 1246 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_RETRY: number of RX packets 1247 * flagged as retransmissions 1248 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_DUP: number of RX packets 1249 * flagged as duplicated 1250 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_DISCARD: number of RX 1251 * packets discarded 1252 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_AGGR_NUM: length of RX aggregation 1253 * stats buffer. 1254 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MCS_NUM: length of RX mcs 1255 * stats buffer. 1256 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MCS: RX mcs stats buffer 1257 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_AGGR: aggregation stats buffer 1258 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_TIMES: times STAs go to sleep 1259 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_DURATION: STAs' total sleep time 1260 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PROBE_REQ: number of probe 1261 * requests received 1262 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MGMT: number of other mgmt 1263 * frames received 1264 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IDLE_TIME: Percentage of idle time 1265 * there is no TX, nor RX, nor interference. 1266 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_TIME: percentage of time 1267 * transmitting packets. 1268 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_TIME: percentage of time 1269 * for receiving. 1270 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BUSY: percentage of time 1271 * interference detected. 1272 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BAD: percentage of time 1273 * receiving packets with errors. 1274 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BAD: percentage of time 1275 * TX no-ACK. 1276 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_NO_AVAIL: percentage of time 1277 * the chip is unable to work in normal conditions. 1278 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IN_BSS_TIME: percentage of time 1279 * receiving packets in current BSS. 1280 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_OUT_BSS_TIME: percentage of time 1281 * receiving packets not in current BSS. 1282 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_ANT_NUM: number of antennas 1283 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_SIGNAL: 1284 * This is a container for per antenna signal stats. 1285 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_ANT_SNR: per antenna SNR value 1286 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_ANT_NF: per antenna NF value 1287 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_RSSI_BEACON: RSSI of beacon 1288 * @QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_SNR_BEACON: SNR of beacon 1289 */ 1290 enum qca_wlan_vendor_attr_ll_stats_ext { 1291 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_INVALID = 0, 1292 1293 /* Attributes for configurations */ 1294 QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_PERIOD, 1295 QCA_WLAN_VENDOR_ATTR_LL_STATS_CFG_THRESHOLD, 1296 1297 /* Peer STA power state change */ 1298 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_CHG, 1299 1300 /* TX failure event */ 1301 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TID, 1302 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_NUM_MSDU, 1303 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_STATUS, 1304 1305 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_STATE, 1306 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_MAC_ADDRESS, 1307 1308 /* MAC counters */ 1309 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_GLOBAL, 1310 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_EVENT_MODE, 1311 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_ID, 1312 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_ID, 1313 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BITMAP, 1314 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BITMAP, 1315 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CCA_BSS_BITMAP, 1316 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_SIGNAL_BITMAP, 1317 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_NUM, 1318 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CHANNEL_NUM, 1319 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_CCA_BSS, 1320 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER, 1321 1322 /* Sub-attributes for PEER_AC_TX */ 1323 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_MSDU, 1324 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_MPDU, 1325 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_PPDU, 1326 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BYTES, 1327 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DROP, 1328 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DROP_BYTES, 1329 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_RETRY, 1330 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_NO_ACK, 1331 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_NO_BACK, 1332 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_AGGR_NUM, 1333 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_SUCC_MCS_NUM, 1334 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_FAIL_MCS_NUM, 1335 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_AGGR, 1336 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_SUCC_MCS, 1337 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_FAIL_MCS, 1338 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_DELAY_ARRAY_SIZE, 1339 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_DELAY, 1340 1341 /* Sub-attributes for PEER_AC_RX */ 1342 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU, 1343 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_BYTES, 1344 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PPDU, 1345 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PPDU_BYTES, 1346 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_LOST, 1347 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_RETRY, 1348 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_DUP, 1349 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MPDU_DISCARD, 1350 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_AGGR_NUM, 1351 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MCS_NUM, 1352 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MCS, 1353 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_AGGR, 1354 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_TIMES, 1355 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_PS_DURATION, 1356 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_PROBE_REQ, 1357 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_MGMT, 1358 1359 /* Sub-attributes for CCA_BSS */ 1360 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IDLE_TIME, 1361 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_TIME, 1362 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_TIME, 1363 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BUSY, 1364 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_RX_BAD, 1365 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_TX_BAD, 1366 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_NO_AVAIL, 1367 1368 /* sub-attribute for BSS_RX_TIME */ 1369 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IN_BSS_TIME, 1370 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_OUT_BSS_TIME, 1371 1372 /* Sub-attributes for PEER_SIGNAL */ 1373 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_ANT_NUM, 1374 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_PEER_SIGNAL, 1375 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_ANT_SNR, 1376 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_ANT_NF, 1377 1378 /* Sub-attributes for IFACE_BSS */ 1379 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_RSSI_BEACON, 1380 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_IFACE_SNR_BEACON, 1381 1382 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_LAST, 1383 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_MAX = 1384 QCA_WLAN_VENDOR_ATTR_LL_STATS_EXT_LAST - 1 1385 }; 1386 1387 /* Attributes for FTM commands and events */ 1388 1389 /** 1390 * enum qca_wlan_vendor_attr_loc_capa - Indoor location capabilities 1391 * 1392 * @QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAGS: Various flags. See 1393 * enum qca_wlan_vendor_attr_loc_capa_flags. 1394 * @QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_SESSIONS: Maximum number 1395 * of measurement sessions that can run concurrently. 1396 * Default is one session (no session concurrency). 1397 * @QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_PEERS: The total number of unique 1398 * peers that are supported in running sessions. For example, 1399 * if the value is 8 and maximum number of sessions is 2, you can 1400 * have one session with 8 unique peers, or 2 sessions with 4 unique 1401 * peers each, and so on. 1402 * @QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_BURSTS_EXP: Maximum number 1403 * of bursts per peer, as an exponent (2^value). Default is 0, 1404 * meaning no multi-burst support. 1405 * @QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_MEAS_PER_BURST: Maximum number 1406 * of measurement exchanges allowed in a single burst. 1407 * @QCA_WLAN_VENDOR_ATTR_AOA_CAPA_SUPPORTED_TYPES: Supported AOA measurement 1408 * types. A bit mask (unsigned 32 bit value), each bit corresponds 1409 * to an AOA type as defined by enum qca_vendor_attr_aoa_type. 1410 */ 1411 enum qca_wlan_vendor_attr_loc_capa { 1412 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_INVALID, 1413 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAGS, 1414 QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_SESSIONS, 1415 QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_PEERS, 1416 QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_NUM_BURSTS_EXP, 1417 QCA_WLAN_VENDOR_ATTR_FTM_CAPA_MAX_MEAS_PER_BURST, 1418 QCA_WLAN_VENDOR_ATTR_AOA_CAPA_SUPPORTED_TYPES, 1419 /* keep last */ 1420 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_AFTER_LAST, 1421 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_MAX = 1422 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_AFTER_LAST - 1, 1423 }; 1424 1425 /** 1426 * enum qca_wlan_vendor_attr_loc_capa_flags: Indoor location capability flags 1427 * 1428 * @QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_FTM_RESPONDER: Set if driver 1429 * can be configured as an FTM responder (for example, an AP that 1430 * services FTM requests). QCA_NL80211_VENDOR_SUBCMD_FTM_CFG_RESPONDER 1431 * will be supported if set. 1432 * @QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_FTM_INITIATOR: Set if driver 1433 * can run FTM sessions. QCA_NL80211_VENDOR_SUBCMD_FTM_START_SESSION 1434 * will be supported if set. 1435 * @QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_ASAP: Set if FTM responder 1436 * supports immediate (ASAP) response. 1437 * @QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_AOA: Set if driver supports standalone 1438 * AOA measurement using QCA_NL80211_VENDOR_SUBCMD_AOA_MEAS. 1439 * @QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_AOA_IN_FTM: Set if driver supports 1440 * requesting AOA measurements as part of an FTM session. 1441 */ 1442 enum qca_wlan_vendor_attr_loc_capa_flags { 1443 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_FTM_RESPONDER = 1 << 0, 1444 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_FTM_INITIATOR = 1 << 1, 1445 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_ASAP = 1 << 2, 1446 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_AOA = 1 << 3, 1447 QCA_WLAN_VENDOR_ATTR_LOC_CAPA_FLAG_AOA_IN_FTM = 1 << 4, 1448 }; 1449 1450 /** 1451 * enum qca_wlan_vendor_attr_ftm_peer_info: Information about 1452 * a single peer in a measurement session. 1453 * 1454 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_MAC_ADDR: The MAC address of the peer. 1455 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAGS: Various flags related 1456 * to measurement. See enum qca_wlan_vendor_attr_ftm_peer_meas_flags. 1457 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_PARAMS: Nested attribute of 1458 * FTM measurement parameters, as specified by IEEE P802.11-REVmc/D7.0 1459 * 9.4.2.167. See enum qca_wlan_vendor_attr_ftm_meas_param for 1460 * list of supported attributes. 1461 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_SECURE_TOKEN_ID: Initial token ID for 1462 * secure measurement. 1463 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_AOA_BURST_PERIOD: Request AOA 1464 * measurement every <value> bursts. If 0 or not specified, 1465 * AOA measurements will be disabled for this peer. 1466 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_FREQ: Frequency in MHz where 1467 * the measurement frames are exchanged. Optional; if not 1468 * specified, try to locate the peer in the kernel scan 1469 * results cache and use frequency from there. 1470 */ 1471 enum qca_wlan_vendor_attr_ftm_peer_info { 1472 QCA_WLAN_VENDOR_ATTR_FTM_PEER_INVALID, 1473 QCA_WLAN_VENDOR_ATTR_FTM_PEER_MAC_ADDR, 1474 QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAGS, 1475 QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_PARAMS, 1476 QCA_WLAN_VENDOR_ATTR_FTM_PEER_SECURE_TOKEN_ID, 1477 QCA_WLAN_VENDOR_ATTR_FTM_PEER_AOA_BURST_PERIOD, 1478 QCA_WLAN_VENDOR_ATTR_FTM_PEER_FREQ, 1479 /* keep last */ 1480 QCA_WLAN_VENDOR_ATTR_FTM_PEER_AFTER_LAST, 1481 QCA_WLAN_VENDOR_ATTR_FTM_PEER_MAX = 1482 QCA_WLAN_VENDOR_ATTR_FTM_PEER_AFTER_LAST - 1, 1483 }; 1484 1485 /** 1486 * enum qca_wlan_vendor_attr_ftm_peer_meas_flags: Measurement request flags, 1487 * per-peer 1488 * 1489 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_ASAP: If set, request 1490 * immediate (ASAP) response from peer. 1491 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_LCI: If set, request 1492 * LCI report from peer. The LCI report includes the absolute 1493 * location of the peer in "official" coordinates (similar to GPS). 1494 * See IEEE P802.11-REVmc/D7.0, 11.24.6.7 for more information. 1495 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_LCR: If set, request 1496 * Location civic report from peer. The LCR includes the location 1497 * of the peer in free-form format. See IEEE P802.11-REVmc/D7.0, 1498 * 11.24.6.7 for more information. 1499 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_SECURE: If set, 1500 * request a secure measurement. 1501 * QCA_WLAN_VENDOR_ATTR_FTM_PEER_SECURE_TOKEN_ID must also be provided. 1502 */ 1503 enum qca_wlan_vendor_attr_ftm_peer_meas_flags { 1504 QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_ASAP = 1 << 0, 1505 QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_LCI = 1 << 1, 1506 QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_LCR = 1 << 2, 1507 QCA_WLAN_VENDOR_ATTR_FTM_PEER_MEAS_FLAG_SECURE = 1 << 3, 1508 }; 1509 1510 /** 1511 * enum qca_wlan_vendor_attr_ftm_meas_param: Measurement parameters 1512 * 1513 * @QCA_WLAN_VENDOR_ATTR_FTM_PARAM_MEAS_PER_BURST: Number of measurements 1514 * to perform in a single burst. 1515 * @QCA_WLAN_VENDOR_ATTR_FTM_PARAM_NUM_BURSTS_EXP: Number of bursts to 1516 * perform, specified as an exponent (2^value). 1517 * @QCA_WLAN_VENDOR_ATTR_FTM_PARAM_BURST_DURATION: Duration of burst 1518 * instance, as specified in IEEE P802.11-REVmc/D7.0, 9.4.2.167. 1519 * @QCA_WLAN_VENDOR_ATTR_FTM_PARAM_BURST_PERIOD: Time between bursts, 1520 * as specified in IEEE P802.11-REVmc/D7.0, 9.4.2.167. Must 1521 * be larger than QCA_WLAN_VENDOR_ATTR_FTM_PARAM_BURST_DURATION. 1522 */ 1523 enum qca_wlan_vendor_attr_ftm_meas_param { 1524 QCA_WLAN_VENDOR_ATTR_FTM_PARAM_INVALID, 1525 QCA_WLAN_VENDOR_ATTR_FTM_PARAM_MEAS_PER_BURST, 1526 QCA_WLAN_VENDOR_ATTR_FTM_PARAM_NUM_BURSTS_EXP, 1527 QCA_WLAN_VENDOR_ATTR_FTM_PARAM_BURST_DURATION, 1528 QCA_WLAN_VENDOR_ATTR_FTM_PARAM_BURST_PERIOD, 1529 /* keep last */ 1530 QCA_WLAN_VENDOR_ATTR_FTM_PARAM_AFTER_LAST, 1531 QCA_WLAN_VENDOR_ATTR_FTM_PARAM_MAX = 1532 QCA_WLAN_VENDOR_ATTR_FTM_PARAM_AFTER_LAST - 1, 1533 }; 1534 1535 /** 1536 * enum qca_wlan_vendor_attr_ftm_peer_result: Per-peer results 1537 * 1538 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MAC_ADDR: MAC address of the reported 1539 * peer. 1540 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS: Status of measurement 1541 * request for this peer. 1542 * See enum qca_wlan_vendor_attr_ftm_peer_result_status. 1543 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_FLAGS: Various flags related 1544 * to measurement results for this peer. 1545 * See enum qca_wlan_vendor_attr_ftm_peer_result_flags. 1546 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_VALUE_SECONDS: Specified when 1547 * request failed and peer requested not to send an additional request 1548 * for this number of seconds. 1549 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_LCI: LCI report when received 1550 * from peer. In the format specified by IEEE P802.11-REVmc/D7.0, 1551 * 9.4.2.22.10. 1552 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_LCR: Location civic report when 1553 * received from peer. In the format specified by IEEE P802.11-REVmc/D7.0, 1554 * 9.4.2.22.13. 1555 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MEAS_PARAMS: Reported when peer 1556 * overridden some measurement request parameters. See 1557 * enum qca_wlan_vendor_attr_ftm_meas_param. 1558 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AOA_MEAS: AOA measurement 1559 * for this peer. Same contents as @QCA_WLAN_VENDOR_ATTR_AOA_MEAS_RESULT. 1560 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MEAS: Array of measurement 1561 * results. Each entry is a nested attribute defined 1562 * by enum qca_wlan_vendor_attr_ftm_meas. 1563 */ 1564 enum qca_wlan_vendor_attr_ftm_peer_result { 1565 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_INVALID, 1566 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MAC_ADDR, 1567 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS, 1568 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_FLAGS, 1569 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_VALUE_SECONDS, 1570 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_LCI, 1571 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_LCR, 1572 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MEAS_PARAMS, 1573 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AOA_MEAS, 1574 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MEAS, 1575 /* keep last */ 1576 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AFTER_LAST, 1577 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MAX = 1578 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_AFTER_LAST - 1, 1579 }; 1580 1581 /** 1582 * enum qca_wlan_vendor_attr_ftm_peer_result_status 1583 * 1584 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_OK: Request sent ok and results 1585 * will be provided. Peer may have overridden some measurement parameters, 1586 * in which case overridden parameters will be report by 1587 * QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_MEAS_PARAM attribute. 1588 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_INCAPABLE: Peer is incapable 1589 * of performing the measurement request. No more results will be sent 1590 * for this peer in this session. 1591 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_FAILED: Peer reported request 1592 * failed, and requested not to send an additional request for number 1593 * of seconds specified by QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_VALUE_SECONDS 1594 * attribute. 1595 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_INVALID: Request validation 1596 * failed. Request was not sent over the air. 1597 */ 1598 enum qca_wlan_vendor_attr_ftm_peer_result_status { 1599 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_OK, 1600 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_INCAPABLE, 1601 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_FAILED, 1602 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_STATUS_INVALID, 1603 }; 1604 1605 /** 1606 * enum qca_wlan_vendor_attr_ftm_peer_result_flags: Various flags 1607 * for measurement result, per-peer 1608 * 1609 * @QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_FLAG_DONE: If set, 1610 * measurement completed for this peer. No more results will be reported 1611 * for this peer in this session. 1612 */ 1613 enum qca_wlan_vendor_attr_ftm_peer_result_flags { 1614 QCA_WLAN_VENDOR_ATTR_FTM_PEER_RES_FLAG_DONE = 1 << 0, 1615 }; 1616 1617 /** 1618 * enum qca_vendor_attr_loc_session_status: Session completion status code 1619 * 1620 * @QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_OK: Session completed 1621 * successfully. 1622 * @QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_ABORTED: Session aborted 1623 * by request. 1624 * @QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_INVALID: Session request 1625 * was invalid and was not started. 1626 * @QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_FAILED: Session had an error 1627 * and did not complete normally (for example out of resources). 1628 */ 1629 enum qca_vendor_attr_loc_session_status { 1630 QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_OK, 1631 QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_ABORTED, 1632 QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_INVALID, 1633 QCA_WLAN_VENDOR_ATTR_LOC_SESSION_STATUS_FAILED, 1634 }; 1635 1636 /** 1637 * enum qca_wlan_vendor_attr_ftm_meas: Single measurement data 1638 * 1639 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T1: Time of departure (TOD) of FTM packet as 1640 * recorded by responder, in picoseconds. 1641 * See IEEE P802.11-REVmc/D7.0, 11.24.6.4 for more information. 1642 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T2: Time of arrival (TOA) of FTM packet at 1643 * initiator, in picoseconds. 1644 * See IEEE P802.11-REVmc/D7.0, 11.24.6.4 for more information. 1645 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T3: TOD of ACK packet as recorded by 1646 * initiator, in picoseconds. 1647 * See IEEE P802.11-REVmc/D7.0, 11.24.6.4 for more information. 1648 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T4: TOA of ACK packet at 1649 * responder, in picoseconds. 1650 * See IEEE P802.11-REVmc/D7.0, 11.24.6.4 for more information. 1651 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_RSSI: RSSI (signal level) as recorded 1652 * during this measurement exchange. Optional and will be provided if 1653 * the hardware can measure it. 1654 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_TOD_ERR: TOD error reported by 1655 * responder. Not always provided. 1656 * See IEEE P802.11-REVmc/D7.0, 9.6.8.33 for more information. 1657 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_TOA_ERR: TOA error reported by 1658 * responder. Not always provided. 1659 * See IEEE P802.11-REVmc/D7.0, 9.6.8.33 for more information. 1660 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_INITIATOR_TOD_ERR: TOD error measured by 1661 * initiator. Not always provided. 1662 * See IEEE P802.11-REVmc/D7.0, 9.6.8.33 for more information. 1663 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_INITIATOR_TOA_ERR: TOA error measured by 1664 * initiator. Not always provided. 1665 * See IEEE P802.11-REVmc/D7.0, 9.6.8.33 for more information. 1666 * @QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PAD: Dummy attribute for padding. 1667 */ 1668 enum qca_wlan_vendor_attr_ftm_meas { 1669 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_INVALID, 1670 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T1, 1671 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T2, 1672 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T3, 1673 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_T4, 1674 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_RSSI, 1675 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_TOD_ERR, 1676 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_TOA_ERR, 1677 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_INITIATOR_TOD_ERR, 1678 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_INITIATOR_TOA_ERR, 1679 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_PAD, 1680 /* keep last */ 1681 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_AFTER_LAST, 1682 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_MAX = 1683 QCA_WLAN_VENDOR_ATTR_FTM_MEAS_AFTER_LAST - 1, 1684 }; 1685 1686 /** 1687 * enum qca_wlan_vendor_attr_aoa_type - AOA measurement type 1688 * 1689 * @QCA_WLAN_VENDOR_ATTR_AOA_TYPE_TOP_CIR_PHASE: Phase of the strongest 1690 * CIR (channel impulse response) path for each antenna. 1691 * @QCA_WLAN_VENDOR_ATTR_AOA_TYPE_TOP_CIR_PHASE_AMP: Phase and amplitude 1692 * of the strongest CIR path for each antenna. 1693 */ 1694 enum qca_wlan_vendor_attr_aoa_type { 1695 QCA_WLAN_VENDOR_ATTR_AOA_TYPE_TOP_CIR_PHASE, 1696 QCA_WLAN_VENDOR_ATTR_AOA_TYPE_TOP_CIR_PHASE_AMP, 1697 QCA_WLAN_VENDOR_ATTR_AOA_TYPE_MAX 1698 }; 1699 1700 /** 1701 * enum qca_wlan_vendor_attr_encryption_test - Attributes to 1702 * validate encryption engine 1703 * 1704 * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_NEEDS_DECRYPTION: Flag attribute. 1705 * This will be included if the request is for decryption; if not included, 1706 * the request is treated as a request for encryption by default. 1707 * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_CIPHER: Unsigned 32-bit value 1708 * indicating the key cipher suite. Takes same values as 1709 * NL80211_ATTR_KEY_CIPHER. 1710 * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_KEYID: Unsigned 8-bit value 1711 * Key Id to be used for encryption 1712 * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_TK: Array of 8-bit values. 1713 * Key (TK) to be used for encryption/decryption 1714 * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_PN: Array of 8-bit values. 1715 * Packet number to be specified for encryption/decryption 1716 * 6 bytes for TKIP/CCMP/GCMP. 1717 * @QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_DATA: Array of 8-bit values 1718 * representing the 802.11 packet (header + payload + FCS) that 1719 * needs to be encrypted/decrypted. 1720 * Encrypted/decrypted response from the driver will also be sent 1721 * to userspace with the same attribute. 1722 */ 1723 enum qca_wlan_vendor_attr_encryption_test { 1724 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_INVALID = 0, 1725 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_NEEDS_DECRYPTION, 1726 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_CIPHER, 1727 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_KEYID, 1728 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_TK, 1729 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_PN, 1730 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_DATA, 1731 1732 /* keep last */ 1733 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_AFTER_LAST, 1734 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_MAX = 1735 QCA_WLAN_VENDOR_ATTR_ENCRYPTION_TEST_AFTER_LAST - 1 1736 }; 1737 1738 /** 1739 * enum qca_wlan_vendor_attr_dmg_rf_sector_type - Type of 1740 * sector for DMG RF sector operations. 1741 * 1742 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_RX: RX sector 1743 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_TX: TX sector 1744 */ 1745 enum qca_wlan_vendor_attr_dmg_rf_sector_type { 1746 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_RX, 1747 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_TX, 1748 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_TYPE_MAX 1749 }; 1750 1751 /** 1752 * enum qca_wlan_vendor_attr_dmg_rf_sector_cfg - Attributes for 1753 * DMG RF sector configuration for a single RF module. 1754 * The values are defined in a compact way which closely matches 1755 * the way it is stored in HW registers. 1756 * The configuration provides values for 32 antennas and 8 distribution 1757 * amplifiers, and together describes the characteristics of the RF 1758 * sector - such as a beam in some direction with some gain. 1759 * 1760 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_MODULE_INDEX: Index 1761 * of RF module for this configuration. 1762 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE0: Bit 0 of edge 1763 * amplifier gain index. Unsigned 32 bit number containing 1764 * bits for all 32 antennas. 1765 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE1: Bit 1 of edge 1766 * amplifier gain index. Unsigned 32 bit number containing 1767 * bits for all 32 antennas. 1768 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE2: Bit 2 of edge 1769 * amplifier gain index. Unsigned 32 bit number containing 1770 * bits for all 32 antennas. 1771 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_HI: Phase values 1772 * for first 16 antennas, 2 bits per antenna. 1773 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_LO: Phase values 1774 * for last 16 antennas, 2 bits per antenna. 1775 * @QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_DTYPE_X16: Contains 1776 * DTYPE values (3 bits) for each distribution amplifier, followed 1777 * by X16 switch bits for each distribution amplifier. There are 1778 * total of 8 distribution amplifiers. 1779 */ 1780 enum qca_wlan_vendor_attr_dmg_rf_sector_cfg { 1781 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_INVALID = 0, 1782 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_MODULE_INDEX = 1, 1783 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE0 = 2, 1784 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE1 = 3, 1785 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_ETYPE2 = 4, 1786 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_HI = 5, 1787 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_PSH_LO = 6, 1788 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_DTYPE_X16 = 7, 1789 1790 /* keep last */ 1791 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_AFTER_LAST, 1792 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_MAX = 1793 QCA_WLAN_VENDOR_ATTR_DMG_RF_SECTOR_CFG_AFTER_LAST - 1 1794 }; 1795 1796 enum qca_wlan_vendor_attr_ll_stats_set { 1797 QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_INVALID = 0, 1798 /* Unsigned 32-bit value */ 1799 QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_MPDU_SIZE_THRESHOLD = 1, 1800 QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_CONFIG_AGGRESSIVE_STATS_GATHERING = 2, 1801 /* keep last */ 1802 QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST, 1803 QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_MAX = 1804 QCA_WLAN_VENDOR_ATTR_LL_STATS_SET_AFTER_LAST - 1, 1805 }; 1806 1807 enum qca_wlan_vendor_attr_ll_stats_clr { 1808 QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_INVALID = 0, 1809 /* Unsigned 32bit bitmap for clearing statistics 1810 * All radio statistics 0x00000001 1811 * cca_busy_time (within radio statistics) 0x00000002 1812 * All channel stats (within radio statistics) 0x00000004 1813 * All scan statistics (within radio statistics) 0x00000008 1814 * All interface statistics 0x00000010 1815 * All tx rate statistics (within interface statistics) 0x00000020 1816 * All ac statistics (with in interface statistics) 0x00000040 1817 * All contention (min, max, avg) statistics (within ac statisctics) 1818 * 0x00000080. 1819 */ 1820 QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_REQ_MASK = 1, 1821 /* Unsigned 8 bit value: Request to stop statistics collection */ 1822 QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_REQ = 2, 1823 1824 /* Unsigned 32 bit bitmap: Response from the driver 1825 * for the cleared statistics 1826 */ 1827 QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_RSP_MASK = 3, 1828 /* Unsigned 8 bit value: Response from driver/firmware 1829 * for the stop request 1830 */ 1831 QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_CONFIG_STOP_RSP = 4, 1832 /* keep last */ 1833 QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST, 1834 QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_MAX = 1835 QCA_WLAN_VENDOR_ATTR_LL_STATS_CLR_AFTER_LAST - 1, 1836 }; 1837 1838 enum qca_wlan_vendor_attr_ll_stats_get { 1839 QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_INVALID = 0, 1840 /* Unsigned 32 bit value provided by the caller issuing the GET stats 1841 * command. When reporting the stats results, the driver uses the same 1842 * value to indicate which GET request the results correspond to. 1843 */ 1844 QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_ID = 1, 1845 /* Unsigned 32 bit value - bit mask to identify what statistics are 1846 * requested for retrieval. 1847 * Radio Statistics 0x00000001 1848 * Interface Statistics 0x00000020 1849 * All Peer Statistics 0x00000040 1850 * Peer Statistics 0x00000080 1851 */ 1852 QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_CONFIG_REQ_MASK = 2, 1853 /* keep last */ 1854 QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST, 1855 QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_MAX = 1856 QCA_WLAN_VENDOR_ATTR_LL_STATS_GET_AFTER_LAST - 1, 1857 }; 1858 1859 enum qca_wlan_vendor_attr_ll_stats_results { 1860 QCA_WLAN_VENDOR_ATTR_LL_STATS_INVALID = 0, 1861 /* Unsigned 32bit value. Used by the driver; must match the request id 1862 * provided with the QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET command. 1863 */ 1864 QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_REQ_ID = 1, 1865 1866 /* Unsigned 32 bit value */ 1867 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_BEACON_RX = 2, 1868 /* Unsigned 32 bit value */ 1869 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_RX = 3, 1870 /* Unsigned 32 bit value */ 1871 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_RX = 4, 1872 /* Unsigned 32 bit value */ 1873 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_MGMT_ACTION_TX = 5, 1874 /* Signed 32 bit value */ 1875 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_MGMT = 6, 1876 /* Signed 32 bit value */ 1877 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_DATA = 7, 1878 /* Signed 32 bit value */ 1879 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RSSI_ACK = 8, 1880 1881 /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_* are 1882 * nested within the interface stats. 1883 */ 1884 1885 /* Interface mode, e.g., STA, SOFTAP, IBSS, etc. 1886 * Type = enum wifi_interface_mode. 1887 */ 1888 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MODE = 9, 1889 /* Interface MAC address. An array of 6 Unsigned int8 */ 1890 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_MAC_ADDR = 10, 1891 /* Type = enum wifi_connection_state, e.g., DISCONNECTED, 1892 * AUTHENTICATING, etc. valid for STA, CLI only. 1893 */ 1894 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_STATE = 11, 1895 /* Type = enum wifi_roam_state. Roaming state, e.g., IDLE or ACTIVE 1896 */ 1897 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_ROAMING = 12, 1898 /* Unsigned 32 bit value. WIFI_CAPABILITY_XXX */ 1899 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_CAPABILITIES = 13, 1900 /* NULL terminated SSID. An array of 33 Unsigned 8bit values */ 1901 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_SSID = 14, 1902 /* BSSID. An array of 6 unsigned 8 bit values */ 1903 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_BSSID = 15, 1904 /* Country string advertised by AP. An array of 3 unsigned 8 bit 1905 * values. 1906 */ 1907 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_AP_COUNTRY_STR = 16, 1908 /* Country string for this association. An array of 3 unsigned 8 bit 1909 * values. 1910 */ 1911 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_COUNTRY_STR = 17, 1912 1913 /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_* could 1914 * be nested within the interface stats. 1915 */ 1916 1917 /* Type = enum wifi_traffic_ac, e.g., V0, VI, BE and BK */ 1918 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_AC = 18, 1919 /* Unsigned int 32 value corresponding to respective AC */ 1920 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MPDU = 19, 1921 /* Unsigned int 32 value corresponding to respective AC */ 1922 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MPDU = 20, 1923 /* Unsigned int 32 value corresponding to respective AC */ 1924 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_MCAST = 21, 1925 /* Unsigned int 32 value corresponding to respective AC */ 1926 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_MCAST = 22, 1927 /* Unsigned int 32 value corresponding to respective AC */ 1928 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RX_AMPDU = 23, 1929 /* Unsigned int 32 value corresponding to respective AC */ 1930 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_TX_AMPDU = 24, 1931 /* Unsigned int 32 value corresponding to respective AC */ 1932 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_MPDU_LOST = 25, 1933 /* Unsigned int 32 value corresponding to respective AC */ 1934 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES = 26, 1935 /* Unsigned int 32 value corresponding to respective AC */ 1936 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_SHORT = 27, 1937 /* Unsigned int 32 values corresponding to respective AC */ 1938 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_RETRIES_LONG = 28, 1939 /* Unsigned int 32 values corresponding to respective AC */ 1940 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MIN = 29, 1941 /* Unsigned int 32 values corresponding to respective AC */ 1942 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_MAX = 30, 1943 /* Unsigned int 32 values corresponding to respective AC */ 1944 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_TIME_AVG = 31, 1945 /* Unsigned int 32 values corresponding to respective AC */ 1946 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_CONTENTION_NUM_SAMPLES = 32, 1947 /* Unsigned 32 bit value. Number of peers */ 1948 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_NUM_PEERS = 33, 1949 1950 /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_* are 1951 * nested within the interface stats. 1952 */ 1953 1954 /* Type = enum wifi_peer_type. Peer type, e.g., STA, AP, P2P GO etc. */ 1955 QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_TYPE = 34, 1956 /* MAC addr corresponding to respective peer. An array of 6 unsigned 1957 * 8 bit values. 1958 */ 1959 QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_MAC_ADDRESS = 35, 1960 /* Unsigned int 32 bit value representing capabilities corresponding 1961 * to respective peer. 1962 */ 1963 QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_CAPABILITIES = 36, 1964 /* Unsigned 32 bit value. Number of rates */ 1965 QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_NUM_RATES = 37, 1966 1967 /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_* 1968 * are nested within the rate stat. 1969 */ 1970 1971 /* Wi-Fi Rate - separate attributes defined for individual fields */ 1972 1973 /* Unsigned int 8 bit value; 0: OFDM, 1:CCK, 2:HT 3:VHT 4..7 reserved */ 1974 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_PREAMBLE = 38, 1975 /* Unsigned int 8 bit value; 0:1x1, 1:2x2, 3:3x3, 4:4x4 */ 1976 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_NSS = 39, 1977 /* Unsigned int 8 bit value; 0:20 MHz, 1:40 MHz, 2:80 MHz, 3:160 MHz */ 1978 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BW = 40, 1979 /* Unsigned int 8 bit value; OFDM/CCK rate code would be as per IEEE Std 1980 * in the units of 0.5 Mbps HT/VHT it would be MCS index */ 1981 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MCS_INDEX = 41, 1982 1983 /* Unsigned 32 bit value. Bit rate in units of 100 kbps */ 1984 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_BIT_RATE = 42, 1985 1986 1987 /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_STAT_* could be 1988 * nested within the peer info stats. 1989 */ 1990 1991 /* Unsigned int 32 bit value. Number of successfully transmitted data 1992 * packets, i.e., with ACK received corresponding to the respective 1993 * rate. 1994 */ 1995 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_TX_MPDU = 43, 1996 /* Unsigned int 32 bit value. Number of received data packets 1997 * corresponding to the respective rate. 1998 */ 1999 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RX_MPDU = 44, 2000 /* Unsigned int 32 bit value. Number of data packet losses, i.e., no ACK 2001 * received corresponding to the respective rate. 2002 */ 2003 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_MPDU_LOST = 45, 2004 /* Unsigned int 32 bit value. Total number of data packet retries for 2005 * the respective rate. 2006 */ 2007 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES = 46, 2008 /* Unsigned int 32 bit value. Total number of short data packet retries 2009 * for the respective rate. 2010 */ 2011 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_SHORT = 47, 2012 /* Unsigned int 32 bit value. Total number of long data packet retries 2013 * for the respective rate. 2014 */ 2015 QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_RETRIES_LONG = 48, 2016 2017 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ID = 49, 2018 /* Unsigned 32 bit value. Total number of msecs the radio is awake 2019 * accruing over time. 2020 */ 2021 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME = 50, 2022 /* Unsigned 32 bit value. Total number of msecs the radio is 2023 * transmitting accruing over time. 2024 */ 2025 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME = 51, 2026 /* Unsigned 32 bit value. Total number of msecs the radio is in active 2027 * receive accruing over time. 2028 */ 2029 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_RX_TIME = 52, 2030 /* Unsigned 32 bit value. Total number of msecs the radio is awake due 2031 * to all scan accruing over time. 2032 */ 2033 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_SCAN = 53, 2034 /* Unsigned 32 bit value. Total number of msecs the radio is awake due 2035 * to NAN accruing over time. 2036 */ 2037 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_NBD = 54, 2038 /* Unsigned 32 bit value. Total number of msecs the radio is awake due 2039 * to GSCAN accruing over time. 2040 */ 2041 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_GSCAN = 55, 2042 /* Unsigned 32 bit value. Total number of msecs the radio is awake due 2043 * to roam scan accruing over time. 2044 */ 2045 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_ROAM_SCAN = 56, 2046 /* Unsigned 32 bit value. Total number of msecs the radio is awake due 2047 * to PNO scan accruing over time. 2048 */ 2049 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_PNO_SCAN = 57, 2050 /* Unsigned 32 bit value. Total number of msecs the radio is awake due 2051 * to Hotspot 2.0 scans and GAS exchange accruing over time. 2052 */ 2053 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_ON_TIME_HS20 = 58, 2054 /* Unsigned 32 bit value. Number of channels. */ 2055 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_CHANNELS = 59, 2056 2057 /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_* could 2058 * be nested within the channel stats. 2059 */ 2060 2061 /* Type = enum wifi_channel_width. Channel width, e.g., 20, 40, 80 */ 2062 QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_WIDTH = 60, 2063 /* Unsigned 32 bit value. Primary 20 MHz channel. */ 2064 QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ = 61, 2065 /* Unsigned 32 bit value. Center frequency (MHz) first segment. */ 2066 QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ0 = 62, 2067 /* Unsigned 32 bit value. Center frequency (MHz) second segment. */ 2068 QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_CENTER_FREQ1 = 63, 2069 2070 /* Attributes of type QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_* could be 2071 * nested within the radio stats. 2072 */ 2073 2074 /* Unsigned int 32 bit value representing total number of msecs the 2075 * radio is awake on that channel accruing over time, corresponding to 2076 * the respective channel. 2077 */ 2078 QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_ON_TIME = 64, 2079 /* Unsigned int 32 bit value representing total number of msecs the CCA 2080 * register is busy accruing over time corresponding to the respective 2081 * channel. 2082 */ 2083 QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_CCA_BUSY_TIME = 65, 2084 2085 QCA_WLAN_VENDOR_ATTR_LL_STATS_NUM_RADIOS = 66, 2086 2087 /* Signifies the nested list of channel attributes 2088 * QCA_WLAN_VENDOR_ATTR_LL_STATS_CHANNEL_INFO_* 2089 */ 2090 QCA_WLAN_VENDOR_ATTR_LL_STATS_CH_INFO = 67, 2091 2092 /* Signifies the nested list of peer info attributes 2093 * QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_* 2094 */ 2095 QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO = 68, 2096 2097 /* Signifies the nested list of rate info attributes 2098 * QCA_WLAN_VENDOR_ATTR_LL_STATS_RATE_* 2099 */ 2100 QCA_WLAN_VENDOR_ATTR_LL_STATS_PEER_INFO_RATE_INFO = 69, 2101 2102 /* Signifies the nested list of wmm info attributes 2103 * QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_AC_* 2104 */ 2105 QCA_WLAN_VENDOR_ATTR_LL_STATS_WMM_INFO = 70, 2106 2107 /* Unsigned 8 bit value. Used by the driver; if set to 1, it indicates 2108 * that more stats, e.g., peers or radio, are to follow in the next 2109 * QCA_NL80211_VENDOR_SUBCMD_LL_STATS_*_RESULTS event. 2110 * Otherwise, it is set to 0. 2111 */ 2112 QCA_WLAN_VENDOR_ATTR_LL_STATS_RESULTS_MORE_DATA = 71, 2113 2114 /* Unsigned 64 bit value */ 2115 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_AVERAGE_TSF_OFFSET = 72, 2116 2117 /* Unsigned 32 bit value */ 2118 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_DETECTED = 73, 2119 2120 /* Unsigned 32 bit value */ 2121 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_AVG_NUM_FRAMES_LEAKED = 74, 2122 2123 /* Unsigned 32 bit value */ 2124 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_LEAKY_AP_GUARD_TIME = 75, 2125 2126 /* Unsigned 32 bit value */ 2127 QCA_WLAN_VENDOR_ATTR_LL_STATS_TYPE = 76, 2128 2129 /* Unsigned 32 bit value */ 2130 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_NUM_TX_LEVELS = 77, 2131 2132 /* Number of msecs the radio spent in transmitting for each power level 2133 */ 2134 QCA_WLAN_VENDOR_ATTR_LL_STATS_RADIO_TX_TIME_PER_LEVEL = 78, 2135 2136 /* Unsigned 32 bit value */ 2137 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_SUCC_CNT = 79, 2138 /* Unsigned 32 bit value */ 2139 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_RTS_FAIL_CNT = 80, 2140 /* Unsigned 32 bit value */ 2141 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_SUCC_CNT = 81, 2142 /* Unsigned 32 bit value */ 2143 QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_PPDU_FAIL_CNT = 82, 2144 2145 /* keep last */ 2146 QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST, 2147 QCA_WLAN_VENDOR_ATTR_LL_STATS_MAX = 2148 QCA_WLAN_VENDOR_ATTR_LL_STATS_AFTER_LAST - 1, 2149 }; 2150 2151 enum qca_wlan_vendor_attr_ll_stats_type 2152 { 2153 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_INVALID = 0, 2154 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_RADIO = 1, 2155 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_IFACE = 2, 2156 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_PEERS = 3, 2157 2158 /* keep last */ 2159 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_AFTER_LAST, 2160 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_MAX = 2161 QCA_NL80211_VENDOR_SUBCMD_LL_STATS_TYPE_AFTER_LAST - 1, 2162 }; 2163 2164 /** 2165 * enum qca_wlan_vendor_attr_tdls_configuration - Attributes for 2166 * TDLS configuration to the host driver. 2167 * 2168 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE: Configure the TDLS trigger 2169 * mode in the host driver. enum qca_wlan_vendor_tdls_trigger_mode 2170 * represents the different TDLS trigger modes. 2171 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD: Duration (u32) within 2172 * which QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD number 2173 * of packets shall meet the criteria for implicit TDLS setup. 2174 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD: Number (u32) of Tx/Rx packets 2175 * within a duration QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD 2176 * to initiate a TDLS setup. 2177 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_DISCOVERY_PERIOD: Time (u32) to initiate 2178 * a TDLS Discovery to the peer. 2179 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX_DISCOVERY_ATTEMPT: Max number (u32) of 2180 * discovery attempts to know the TDLS capability of the peer. A peer is 2181 * marked as TDLS not capable if there is no response for all the attempts. 2182 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT: Represents a duration (u32) 2183 * within which QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD 2184 * number of TX / RX frames meet the criteria for TDLS teardown. 2185 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD: Minimum number (u32) 2186 * of Tx/Rx packets within a duration 2187 * QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT to tear down a TDLS link. 2188 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_SETUP_RSSI_THRESHOLD: Threshold 2189 * corresponding to the RSSI of the peer below which a TDLS setup is 2190 * triggered. 2191 * @QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TEARDOWN_RSSI_THRESHOLD: Threshold 2192 * corresponding to the RSSI of the peer above which a TDLS teardown is 2193 * triggered. 2194 */ 2195 enum qca_wlan_vendor_attr_tdls_configuration { 2196 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_INVALID = 0, 2197 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE = 1, 2198 2199 /* Attributes configuring the TDLS Implicit Trigger */ 2200 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_STATS_PERIOD = 2, 2201 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TX_THRESHOLD = 3, 2202 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_DISCOVERY_PERIOD = 4, 2203 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX_DISCOVERY_ATTEMPT = 5, 2204 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_TIMEOUT = 6, 2205 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IDLE_PACKET_THRESHOLD = 7, 2206 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_SETUP_RSSI_THRESHOLD = 8, 2207 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TEARDOWN_RSSI_THRESHOLD = 9, 2208 2209 /* keep last */ 2210 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_AFTER_LAST, 2211 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_MAX = 2212 QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_AFTER_LAST - 1 2213 }; 2214 2215 /** 2216 * enum qca_wlan_vendor_tdls_trigger_mode: Represents the TDLS trigger mode in 2217 * the driver 2218 * 2219 * The following are the different values for 2220 * QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_TRIGGER_MODE. 2221 * 2222 * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXPLICIT: The trigger to initiate/teardown 2223 * the TDLS connection to a respective peer comes from the user space. 2224 * wpa_supplicant provides the commands TDLS_SETUP, TDLS_TEARDOWN, 2225 * TDLS_DISCOVER to do this. 2226 * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_IMPLICIT: Host driver triggers this TDLS 2227 * setup/teardown to the eligible peer once the configured criteria 2228 * (such as TX/RX threshold, RSSI) is met. The attributes 2229 * in QCA_WLAN_VENDOR_ATTR_TDLS_CONFIG_IMPLICIT_PARAMS correspond to 2230 * the different configuration criteria for the TDLS trigger from the 2231 * host driver. 2232 * @QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXTERNAL: Enables the driver to trigger 2233 * the TDLS setup / teardown through the implicit mode only to the 2234 * configured MAC addresses (wpa_supplicant, with tdls_external_control=1, 2235 * configures the MAC address through TDLS_SETUP / TDLS_TEARDOWN commands). 2236 * External mode works on top of the implicit mode. Thus the host driver 2237 * is expected to configure in TDLS Implicit mode too to operate in 2238 * External mode. 2239 * Configuring External mode alone without Implicit mode is invalid. 2240 * 2241 * All the above implementations work as expected only when the host driver 2242 * advertises the capability WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP - representing 2243 * that the TDLS message exchange is not internal to the host driver, but 2244 * depends on wpa_supplicant to do the message exchange. 2245 */ 2246 enum qca_wlan_vendor_tdls_trigger_mode { 2247 QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXPLICIT = 1 << 0, 2248 QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_IMPLICIT = 1 << 1, 2249 QCA_WLAN_VENDOR_TDLS_TRIGGER_MODE_EXTERNAL = 1 << 2, 2250 }; 2251 2252 /** 2253 * enum qca_vendor_attr_sar_limits_selections - Source of SAR power limits 2254 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF0: Select SAR profile #0 2255 * that is hard-coded in the Board Data File (BDF). 2256 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF1: Select SAR profile #1 2257 * that is hard-coded in the Board Data File (BDF). 2258 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF2: Select SAR profile #2 2259 * that is hard-coded in the Board Data File (BDF). 2260 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF3: Select SAR profile #3 2261 * that is hard-coded in the Board Data File (BDF). 2262 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF4: Select SAR profile #4 2263 * that is hard-coded in the Board Data File (BDF). 2264 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_NONE: Do not select any 2265 * source of SAR power limits, thereby disabling the SAR power 2266 * limit feature. 2267 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_USER: Select the SAR power 2268 * limits configured by %QCA_NL80211_VENDOR_SUBCMD_SET_SAR. 2269 * 2270 * This enumerates the valid set of values that may be supplied for 2271 * attribute %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT in an instance of 2272 * the %QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS vendor command. 2273 */ 2274 enum qca_vendor_attr_sar_limits_selections { 2275 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF0 = 0, 2276 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF1 = 1, 2277 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF2 = 2, 2278 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF3 = 3, 2279 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_BDF4 = 4, 2280 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_NONE = 5, 2281 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT_USER = 6, 2282 }; 2283 2284 /** 2285 * enum qca_vendor_attr_sar_limits_spec_modulations - 2286 * SAR limits specification modulation 2287 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_CCK - 2288 * CCK modulation 2289 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_OFDM - 2290 * OFDM modulation 2291 * 2292 * This enumerates the valid set of values that may be supplied for 2293 * attribute %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION in an 2294 * instance of attribute %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC in an 2295 * instance of the %QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS vendor 2296 * command. 2297 */ 2298 enum qca_vendor_attr_sar_limits_spec_modulations { 2299 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_CCK = 0, 2300 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION_OFDM = 1, 2301 }; 2302 2303 /** 2304 * enum qca_vendor_attr_sar_limits - Attributes for SAR power limits 2305 * 2306 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SELECT: Optional (u32) value to 2307 * select which SAR power limit table should be used. Valid 2308 * values are enumerated in enum 2309 * %qca_vendor_attr_sar_limits_selections. The existing SAR 2310 * power limit selection is unchanged if this attribute is not 2311 * present. 2312 * 2313 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_NUM_SPECS: Optional (u32) value 2314 * which specifies the number of SAR power limit specifications 2315 * which will follow. 2316 * 2317 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC: Nested array of SAR power 2318 * limit specifications. The number of specifications is 2319 * specified by @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_NUM_SPECS. Each 2320 * specification contains a set of 2321 * QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_* attributes. A 2322 * specification is uniquely identified by the attributes 2323 * %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_BAND, 2324 * %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_CHAIN, and 2325 * %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION and always 2326 * contains as a payload the attribute 2327 * %QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_POWER_LIMIT. 2328 * 2329 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_BAND: Optional (u32) value to 2330 * indicate for which band this specification applies. Valid 2331 * values are enumerated in enum %nl80211_band (although not all 2332 * bands may be supported by a given device). If the attribute is 2333 * not supplied then the specification will be applied to all 2334 * supported bands. 2335 * 2336 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_CHAIN: Optional (u32) value 2337 * to indicate for which antenna chain this specification 2338 * applies, i.e. 1 for chain 1, 2 for chain 2, etc. If the 2339 * attribute is not supplied then the specification will be 2340 * applied to all chains. 2341 * 2342 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION: Optional (u32) 2343 * value to indicate for which modulation scheme this 2344 * specification applies. Valid values are enumerated in enum 2345 * %qca_vendor_attr_sar_limits_spec_modulations. If the attribute 2346 * is not supplied then the specification will be applied to all 2347 * modulation schemes. 2348 * 2349 * @QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_POWER_LIMIT: Required (u32) 2350 * value to specify the actual power limit value in units of 0.5 2351 * dBm (i.e., a value of 11 represents 5.5 dBm). 2352 * 2353 * These attributes are used with %QCA_NL80211_VENDOR_SUBCMD_SET_SAR_LIMITS. 2354 */ 2355 enum qca_vendor_attr_sar_limits { 2356 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_INVALID = 0, 2357 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SAR_ENABLE = 1, 2358 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_NUM_SPECS = 2, 2359 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC = 3, 2360 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_BAND = 4, 2361 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_CHAIN = 5, 2362 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_MODULATION = 6, 2363 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_SPEC_POWER_LIMIT = 7, 2364 2365 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_AFTER_LAST, 2366 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_MAX = 2367 QCA_WLAN_VENDOR_ATTR_SAR_LIMITS_AFTER_LAST - 1 2368 }; 2369 2370 /** 2371 * enum qca_wlan_vendor_attr_get_wifi_info: Attributes for data used by 2372 * QCA_NL80211_VENDOR_SUBCMD_GET_WIFI_INFO sub command. 2373 */ 2374 enum qca_wlan_vendor_attr_get_wifi_info { 2375 QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_INVALID = 0, 2376 QCA_WLAN_VENDOR_ATTR_WIFI_INFO_DRIVER_VERSION = 1, 2377 QCA_WLAN_VENDOR_ATTR_WIFI_INFO_FIRMWARE_VERSION = 2, 2378 2379 /* keep last */ 2380 QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST, 2381 QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_MAX = 2382 QCA_WLAN_VENDOR_ATTR_WIFI_INFO_GET_AFTER_LAST - 1, 2383 }; 2384 2385 /* 2386 * enum qca_wlan_vendor_attr_wifi_logger_start: Attributes for data used by 2387 * QCA_NL80211_VENDOR_SUBCMD_WIFI_LOGGER_START sub command. 2388 */ 2389 enum qca_wlan_vendor_attr_wifi_logger_start { 2390 QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_INVALID = 0, 2391 QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_RING_ID = 1, 2392 QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_VERBOSE_LEVEL = 2, 2393 QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_FLAGS = 3, 2394 2395 /* keep last */ 2396 QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST, 2397 QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_GET_MAX = 2398 QCA_WLAN_VENDOR_ATTR_WIFI_LOGGER_START_AFTER_LAST - 1, 2399 }; 2400 2401 enum qca_wlan_vendor_attr_logger_results { 2402 QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_INVALID = 0, 2403 2404 /* Unsigned 32-bit value; must match the request Id supplied by 2405 * Wi-Fi HAL in the corresponding subcmd NL msg. 2406 */ 2407 QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_REQUEST_ID = 1, 2408 2409 /* Unsigned 32-bit value; used to indicate the size of memory 2410 * dump to be allocated. 2411 */ 2412 QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_MEMDUMP_SIZE = 2, 2413 2414 /* keep last */ 2415 QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_AFTER_LAST, 2416 QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_MAX = 2417 QCA_WLAN_VENDOR_ATTR_LOGGER_RESULTS_AFTER_LAST - 1, 2418 }; 2419 2420 enum qca_wlan_vendor_attr_roaming_config_params { 2421 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_INVALID = 0, 2422 2423 QCA_WLAN_VENDOR_ATTR_ROAMING_SUBCMD = 1, 2424 QCA_WLAN_VENDOR_ATTR_ROAMING_REQ_ID = 2, 2425 2426 /* Attributes for wifi_set_ssid_white_list */ 2427 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_NUM_NETWORKS = 3, 2428 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID_LIST = 4, 2429 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_WHITE_LIST_SSID = 5, 2430 2431 /* Attributes for set_roam_params */ 2432 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_THRESHOLD = 6, 2433 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_THRESHOLD = 7, 2434 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_BOOST_FACTOR = 8, 2435 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_PENALTY_FACTOR = 9, 2436 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_A_BAND_MAX_BOOST = 10, 2437 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_LAZY_ROAM_HISTERESYS = 11, 2438 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_ALERT_ROAM_RSSI_TRIGGER = 12, 2439 2440 /* Attribute for set_lazy_roam */ 2441 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_ENABLE = 13, 2442 2443 /* Attribute for set_lazy_roam with preferences */ 2444 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PREFS = 14, 2445 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_NUM_BSSID = 15, 2446 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_BSSID = 16, 2447 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_LAZY_ROAM_RSSI_MODIFIER = 17, 2448 2449 /* Attribute for set_blacklist bssid params */ 2450 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS = 18, 2451 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_NUM_BSSID = 19, 2452 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_SET_BSSID_PARAMS_BSSID = 20, 2453 2454 /* keep last */ 2455 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST, 2456 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_MAX = 2457 QCA_WLAN_VENDOR_ATTR_ROAMING_PARAM_AFTER_LAST - 1, 2458 }; 2459 2460 /* 2461 * enum qca_wlan_vendor_attr_roam_subcmd: Attributes for data used by 2462 * QCA_NL80211_VENDOR_SUBCMD_ROAM sub command. 2463 */ 2464 enum qca_wlan_vendor_attr_roam_subcmd { 2465 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_INVALID = 0, 2466 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SSID_WHITE_LIST = 1, 2467 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_GSCAN_ROAM_PARAMS = 2, 2468 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_LAZY_ROAM = 3, 2469 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PREFS = 4, 2470 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BSSID_PARAMS = 5, 2471 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_SET_BLACKLIST_BSSID = 6, 2472 2473 /* keep last */ 2474 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_AFTER_LAST, 2475 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_MAX = 2476 QCA_WLAN_VENDOR_ATTR_ROAM_SUBCMD_AFTER_LAST - 1, 2477 }; 2478 2479 enum qca_wlan_vendor_attr_gscan_config_params { 2480 QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_INVALID = 0, 2481 2482 /* Unsigned 32-bit value */ 2483 QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_REQUEST_ID = 1, 2484 2485 /* Attributes for data used by 2486 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_VALID_CHANNELS sub command. 2487 */ 2488 /* Unsigned 32-bit value */ 2489 QCA_WLAN_VENDOR_ATTR_GSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_WIFI_BAND 2490 = 2, 2491 /* Unsigned 32-bit value */ 2492 QCA_WLAN_VENDOR_ATTR_GSCAN_GET_VALID_CHANNELS_CONFIG_PARAM_MAX_CHANNELS 2493 = 3, 2494 2495 /* Attributes for input params used by 2496 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_START sub command. 2497 */ 2498 2499 /* Unsigned 32-bit value; channel frequency */ 2500 QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_CHANNEL = 4, 2501 /* Unsigned 32-bit value; dwell time in ms. */ 2502 QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_DWELL_TIME = 5, 2503 /* Unsigned 8-bit value; 0: active; 1: passive; N/A for DFS */ 2504 QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_PASSIVE = 6, 2505 /* Unsigned 8-bit value; channel class */ 2506 QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_CLASS = 7, 2507 2508 /* Unsigned 8-bit value; bucket index, 0 based */ 2509 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_INDEX = 8, 2510 /* Unsigned 8-bit value; band. */ 2511 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_BAND = 9, 2512 /* Unsigned 32-bit value; desired period, in ms. */ 2513 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_PERIOD = 10, 2514 /* Unsigned 8-bit value; report events semantics. */ 2515 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_REPORT_EVENTS = 11, 2516 /* Unsigned 32-bit value. Followed by a nested array of 2517 * GSCAN_CHANNEL_SPEC_* attributes. 2518 */ 2519 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS = 12, 2520 2521 /* Array of QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC_* attributes. 2522 * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS 2523 */ 2524 QCA_WLAN_VENDOR_ATTR_GSCAN_CHANNEL_SPEC = 13, 2525 2526 /* Unsigned 32-bit value; base timer period in ms. */ 2527 QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_BASE_PERIOD = 14, 2528 /* Unsigned 32-bit value; number of APs to store in each scan in the 2529 * BSSID/RSSI history buffer (keep the highest RSSI APs). 2530 */ 2531 QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_MAX_AP_PER_SCAN = 15, 2532 /* Unsigned 8-bit value; in %, when scan buffer is this much full, wake 2533 * up AP. 2534 */ 2535 QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_PERCENT 2536 = 16, 2537 2538 /* Unsigned 8-bit value; number of scan bucket specs; followed by a 2539 * nested array of_GSCAN_BUCKET_SPEC_* attributes and values. The size 2540 * of the array is determined by NUM_BUCKETS. 2541 */ 2542 QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_NUM_BUCKETS = 17, 2543 2544 /* Array of QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_* attributes. 2545 * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_NUM_BUCKETS 2546 */ 2547 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC = 18, 2548 2549 /* Unsigned 8-bit value */ 2550 QCA_WLAN_VENDOR_ATTR_GSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_FLUSH 2551 = 19, 2552 /* Unsigned 32-bit value; maximum number of results to be returned. */ 2553 QCA_WLAN_VENDOR_ATTR_GSCAN_GET_CACHED_SCAN_RESULTS_CONFIG_PARAM_MAX 2554 = 20, 2555 2556 /* An array of 6 x unsigned 8-bit value */ 2557 QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_BSSID = 21, 2558 /* Signed 32-bit value */ 2559 QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_RSSI_LOW = 22, 2560 /* Signed 32-bit value */ 2561 QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_RSSI_HIGH = 23, 2562 /* Unsigned 32-bit value */ 2563 QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_CHANNEL = 24, 2564 2565 /* Number of hotlist APs as unsigned 32-bit value, followed by a nested 2566 * array of AP_THRESHOLD_PARAM attributes and values. The size of the 2567 * array is determined by NUM_AP. 2568 */ 2569 QCA_WLAN_VENDOR_ATTR_GSCAN_BSSID_HOTLIST_PARAMS_NUM_AP = 25, 2570 2571 /* Array of QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM_* attributes. 2572 * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_NUM_CHANNEL_SPECS 2573 */ 2574 QCA_WLAN_VENDOR_ATTR_GSCAN_AP_THRESHOLD_PARAM = 26, 2575 2576 /* Unsigned 32-bit value; number of samples for averaging RSSI. */ 2577 QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_RSSI_SAMPLE_SIZE 2578 = 27, 2579 /* Unsigned 32-bit value; number of samples to confirm AP loss. */ 2580 QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_LOST_AP_SAMPLE_SIZE 2581 = 28, 2582 /* Unsigned 32-bit value; number of APs breaching threshold. */ 2583 QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_MIN_BREACHING = 29, 2584 /* Unsigned 32-bit value; number of APs. Followed by an array of 2585 * AP_THRESHOLD_PARAM attributes. Size of the array is NUM_AP. 2586 */ 2587 QCA_WLAN_VENDOR_ATTR_GSCAN_SIGNIFICANT_CHANGE_PARAMS_NUM_AP = 30, 2588 /* Unsigned 32-bit value; number of samples to confirm AP loss. */ 2589 QCA_WLAN_VENDOR_ATTR_GSCAN_BSSID_HOTLIST_PARAMS_LOST_AP_SAMPLE_SIZE 2590 = 31, 2591 /* Unsigned 32-bit value. If max_period is non zero or different than 2592 * period, then this bucket is an exponential backoff bucket. 2593 */ 2594 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_MAX_PERIOD = 32, 2595 /* Unsigned 32-bit value. */ 2596 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_BASE = 33, 2597 /* Unsigned 32-bit value. For exponential back off bucket, number of 2598 * scans to perform for a given period. 2599 */ 2600 QCA_WLAN_VENDOR_ATTR_GSCAN_BUCKET_SPEC_STEP_COUNT = 34, 2601 /* Unsigned 8-bit value; in number of scans, wake up AP after these 2602 * many scans. 2603 */ 2604 QCA_WLAN_VENDOR_ATTR_GSCAN_SCAN_CMD_PARAMS_REPORT_THRESHOLD_NUM_SCANS 2605 = 35, 2606 2607 /* Attributes for data used by 2608 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_SET_SSID_HOTLIST sub command. 2609 */ 2610 /* Unsigned 3-2bit value; number of samples to confirm SSID loss. */ 2611 QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_HOTLIST_PARAMS_LOST_SSID_SAMPLE_SIZE 2612 = 36, 2613 /* Number of hotlist SSIDs as unsigned 32-bit value, followed by a 2614 * nested array of SSID_THRESHOLD_PARAM_* attributes and values. The 2615 * size of the array is determined by NUM_SSID. 2616 */ 2617 QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_HOTLIST_PARAMS_NUM_SSID = 37, 2618 /* Array of QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_* 2619 * attributes. 2620 * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_HOTLIST_PARAMS_NUM_SSID 2621 */ 2622 QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM = 38, 2623 2624 /* An array of 33 x unsigned 8-bit value; NULL terminated SSID */ 2625 QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_SSID = 39, 2626 /* Unsigned 8-bit value */ 2627 QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_BAND = 40, 2628 /* Signed 32-bit value */ 2629 QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_RSSI_LOW = 41, 2630 /* Signed 32-bit value */ 2631 QCA_WLAN_VENDOR_ATTR_GSCAN_SSID_THRESHOLD_PARAM_RSSI_HIGH = 42, 2632 /* Unsigned 32-bit value; a bitmask with additional gscan config flag. 2633 */ 2634 QCA_WLAN_VENDOR_ATTR_GSCAN_CONFIGURATION_FLAGS = 43, 2635 2636 /* keep last */ 2637 QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST, 2638 QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_MAX = 2639 QCA_WLAN_VENDOR_ATTR_GSCAN_SUBCMD_CONFIG_PARAM_AFTER_LAST - 1, 2640 }; 2641 2642 enum qca_wlan_vendor_attr_gscan_results { 2643 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_INVALID = 0, 2644 2645 /* Unsigned 32-bit value; must match the request Id supplied by 2646 * Wi-Fi HAL in the corresponding subcmd NL msg. 2647 */ 2648 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_REQUEST_ID = 1, 2649 2650 /* Unsigned 32-bit value; used to indicate the status response from 2651 * firmware/driver for the vendor sub-command. 2652 */ 2653 QCA_WLAN_VENDOR_ATTR_GSCAN_STATUS = 2, 2654 2655 /* GSCAN Valid Channels attributes */ 2656 /* Unsigned 32bit value; followed by a nested array of CHANNELS. */ 2657 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_CHANNELS = 3, 2658 /* An array of NUM_CHANNELS x unsigned 32-bit value integers 2659 * representing channel numbers. 2660 */ 2661 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CHANNELS = 4, 2662 2663 /* GSCAN Capabilities attributes */ 2664 /* Unsigned 32-bit value */ 2665 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_CACHE_SIZE = 5, 2666 /* Unsigned 32-bit value */ 2667 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_BUCKETS = 6, 2668 /* Unsigned 32-bit value */ 2669 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_AP_CACHE_PER_SCAN 2670 = 7, 2671 /* Unsigned 32-bit value */ 2672 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_RSSI_SAMPLE_SIZE 2673 = 8, 2674 /* Signed 32-bit value */ 2675 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SCAN_REPORTING_THRESHOLD 2676 = 9, 2677 /* Unsigned 32-bit value */ 2678 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_BSSIDS = 10, 2679 /* Unsigned 32-bit value */ 2680 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_SIGNIFICANT_WIFI_CHANGE_APS 2681 = 11, 2682 /* Unsigned 32-bit value */ 2683 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_BSSID_HISTORY_ENTRIES 2684 = 12, 2685 2686 /* GSCAN Attributes used with 2687 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_RESULTS_AVAILABLE sub-command. 2688 */ 2689 2690 /* Unsigned 32-bit value */ 2691 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE = 13, 2692 2693 /* GSCAN attributes used with 2694 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_FULL_SCAN_RESULT sub-command. 2695 */ 2696 2697 /* An array of NUM_RESULTS_AVAILABLE x 2698 * QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_* 2699 */ 2700 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST = 14, 2701 2702 /* Unsigned 64-bit value; age of sample at the time of retrieval */ 2703 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_TIME_STAMP = 15, 2704 /* 33 x unsigned 8-bit value; NULL terminated SSID */ 2705 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_SSID = 16, 2706 /* An array of 6 x unsigned 8-bit value */ 2707 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_BSSID = 17, 2708 /* Unsigned 32-bit value; channel frequency in MHz */ 2709 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_CHANNEL = 18, 2710 /* Signed 32-bit value */ 2711 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RSSI = 19, 2712 /* Unsigned 32-bit value */ 2713 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RTT = 20, 2714 /* Unsigned 32-bit value */ 2715 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_RTT_SD = 21, 2716 /* Unsigned 16-bit value */ 2717 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_BEACON_PERIOD = 22, 2718 /* Unsigned 16-bit value */ 2719 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_CAPABILITY = 23, 2720 /* Unsigned 32-bit value; size of the IE DATA blob */ 2721 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_IE_LENGTH = 24, 2722 /* An array of IE_LENGTH x unsigned 8-bit value; blob of all the 2723 * information elements found in the beacon; this data should be a 2724 * packed list of wifi_information_element objects, one after the 2725 * other. 2726 */ 2727 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_IE_DATA = 25, 2728 2729 /* Unsigned 8-bit value; set by driver to indicate more scan results are 2730 * available. 2731 */ 2732 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_RESULT_MORE_DATA = 26, 2733 2734 /* GSCAN attributes for 2735 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_SCAN_EVENT sub-command. 2736 */ 2737 /* Unsigned 8-bit value */ 2738 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_EVENT_TYPE = 27, 2739 /* Unsigned 32-bit value */ 2740 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SCAN_EVENT_STATUS = 28, 2741 2742 /* GSCAN attributes for 2743 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_HOTLIST_AP_FOUND sub-command. 2744 */ 2745 /* Use attr QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE 2746 * to indicate number of results. 2747 * Also, use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST to indicate the 2748 * list of results. 2749 */ 2750 2751 /* GSCAN attributes for 2752 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_SIGNIFICANT_CHANGE sub-command. 2753 */ 2754 /* An array of 6 x unsigned 8-bit value */ 2755 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_BSSID = 29, 2756 /* Unsigned 32-bit value */ 2757 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_CHANNEL 2758 = 30, 2759 /* Unsigned 32-bit value. */ 2760 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_NUM_RSSI 2761 = 31, 2762 /* A nested array of signed 32-bit RSSI values. Size of the array is 2763 * determined by (NUM_RSSI of SIGNIFICANT_CHANGE_RESULT_NUM_RSSI. 2764 */ 2765 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_SIGNIFICANT_CHANGE_RESULT_RSSI_LIST 2766 = 32, 2767 2768 /* GSCAN attributes used with 2769 * QCA_NL80211_VENDOR_SUBCMD_GSCAN_GET_CACHED_RESULTS sub-command. 2770 */ 2771 /* Use attr QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE 2772 * to indicate number of gscan cached results returned. 2773 * Also, use QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_LIST to indicate 2774 * the list of gscan cached results. 2775 */ 2776 2777 /* An array of NUM_RESULTS_AVAILABLE x 2778 * QCA_NL80211_VENDOR_ATTR_GSCAN_CACHED_RESULTS_* 2779 */ 2780 QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_LIST = 33, 2781 /* Unsigned 32-bit value; a unique identifier for the scan unit. */ 2782 QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_SCAN_ID = 34, 2783 /* Unsigned 32-bit value; a bitmask w/additional information about scan. 2784 */ 2785 QCA_WLAN_VENDOR_ATTR_GSCAN_CACHED_RESULTS_FLAGS = 35, 2786 /* Use attr QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE 2787 * to indicate number of wifi scan results/bssids retrieved by the scan. 2788 * Also, use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST to indicate the 2789 * list of wifi scan results returned for each cached result block. 2790 */ 2791 2792 /* GSCAN attributes for 2793 * QCA_NL80211_VENDOR_SUBCMD_PNO_NETWORK_FOUND sub-command. 2794 */ 2795 /* Use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE for 2796 * number of results. 2797 * Use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST to indicate the nested 2798 * list of wifi scan results returned for each 2799 * wifi_passpoint_match_result block. 2800 * Array size: QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_NUM_RESULTS_AVAILABLE. 2801 */ 2802 2803 /* GSCAN attributes for 2804 * QCA_NL80211_VENDOR_SUBCMD_PNO_PASSPOINT_NETWORK_FOUND sub-command. 2805 */ 2806 /* Unsigned 32-bit value */ 2807 QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_NETWORK_FOUND_NUM_MATCHES 2808 = 36, 2809 /* A nested array of 2810 * QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_* 2811 * attributes. Array size = 2812 * *_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_NETWORK_FOUND_NUM_MATCHES. 2813 */ 2814 QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_RESULT_LIST = 37, 2815 2816 /* Unsigned 32-bit value; network block id for the matched network */ 2817 QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ID = 38, 2818 /* Use QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_LIST to indicate the nested 2819 * list of wifi scan results returned for each 2820 * wifi_passpoint_match_result block. 2821 */ 2822 /* Unsigned 32-bit value */ 2823 QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP_LEN = 39, 2824 /* An array size of PASSPOINT_MATCH_ANQP_LEN of unsigned 8-bit values; 2825 * ANQP data in the information_element format. 2826 */ 2827 QCA_WLAN_VENDOR_ATTR_GSCAN_PNO_RESULTS_PASSPOINT_MATCH_ANQP = 40, 2828 2829 /* Unsigned 32-bit value; a GSCAN Capabilities attribute. */ 2830 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_HOTLIST_SSIDS = 41, 2831 /* Unsigned 32-bit value; a GSCAN Capabilities attribute. */ 2832 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS = 42, 2833 /* Unsigned 32-bit value; a GSCAN Capabilities attribute. */ 2834 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_EPNO_NETS_BY_SSID 2835 = 43, 2836 /* Unsigned 32-bit value; a GSCAN Capabilities attribute. */ 2837 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_CAPABILITIES_MAX_NUM_WHITELISTED_SSID 2838 = 44, 2839 2840 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_BUCKETS_SCANNED = 45, 2841 /* Unsigned 32bit value; a GSCAN Capabilities attribute. */ 2842 QCA_WLAN_VENDOR_ATTR_CAPABILITIES_MAX_NUM_BLACKLISTED_BSSID = 46, 2843 2844 /* keep last */ 2845 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_AFTER_LAST, 2846 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_MAX = 2847 QCA_WLAN_VENDOR_ATTR_GSCAN_RESULTS_AFTER_LAST - 1, 2848 }; 2849 2850 enum qca_wlan_vendor_attr_pno_config_params { 2851 QCA_WLAN_VENDOR_ATTR_PNO_INVALID = 0, 2852 /* Attributes for data used by 2853 * QCA_NL80211_VENDOR_SUBCMD_PNO_SET_PASSPOINT_LIST sub command. 2854 */ 2855 /* Unsigned 32-bit value */ 2856 QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NUM = 1, 2857 /* Array of nested QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_* 2858 * attributes. Array size = 2859 * QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NUM. 2860 */ 2861 QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_LIST_PARAM_NETWORK_ARRAY = 2, 2862 2863 /* Unsigned 32-bit value */ 2864 QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ID = 3, 2865 /* An array of 256 x unsigned 8-bit value; NULL terminated UTF-8 encoded 2866 * realm, 0 if unspecified. 2867 */ 2868 QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_REALM = 4, 2869 /* An array of 16 x unsigned 32-bit value; roaming consortium ids to 2870 * match, 0 if unspecified. 2871 */ 2872 QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_CNSRTM_ID = 5, 2873 /* An array of 6 x unsigned 8-bit value; MCC/MNC combination, 0s if 2874 * unspecified. 2875 */ 2876 QCA_WLAN_VENDOR_ATTR_PNO_PASSPOINT_NETWORK_PARAM_ROAM_PLMN = 6, 2877 2878 /* Attributes for data used by 2879 * QCA_NL80211_VENDOR_SUBCMD_PNO_SET_LIST sub command. 2880 */ 2881 /* Unsigned 32-bit value */ 2882 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_NUM_NETWORKS = 7, 2883 /* Array of nested 2884 * QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_* 2885 * attributes. Array size = 2886 * QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_NUM_NETWORKS. 2887 */ 2888 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORKS_LIST = 8, 2889 /* An array of 33 x unsigned 8-bit value; NULL terminated SSID */ 2890 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_SSID = 9, 2891 /* Signed 8-bit value; threshold for considering this SSID as found, 2892 * required granularity for this threshold is 4 dBm to 8 dBm. 2893 */ 2894 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_RSSI_THRESHOLD 2895 = 10, 2896 /* Unsigned 8-bit value; WIFI_PNO_FLAG_XXX */ 2897 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_FLAGS = 11, 2898 /* Unsigned 8-bit value; auth bit field for matching WPA IE */ 2899 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_NETWORK_AUTH_BIT = 12, 2900 /* Unsigned 8-bit to indicate ePNO type; 2901 * It takes values from qca_wlan_epno_type 2902 */ 2903 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_TYPE = 13, 2904 2905 /* Nested attribute to send the channel list */ 2906 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_CHANNEL_LIST = 14, 2907 2908 /* Unsigned 32-bit value; indicates the interval between PNO scan 2909 * cycles in msec. 2910 */ 2911 QCA_WLAN_VENDOR_ATTR_PNO_SET_LIST_PARAM_EPNO_SCAN_INTERVAL = 15, 2912 QCA_WLAN_VENDOR_ATTR_EPNO_MIN5GHZ_RSSI = 16, 2913 QCA_WLAN_VENDOR_ATTR_EPNO_MIN24GHZ_RSSI = 17, 2914 QCA_WLAN_VENDOR_ATTR_EPNO_INITIAL_SCORE_MAX = 18, 2915 QCA_WLAN_VENDOR_ATTR_EPNO_CURRENT_CONNECTION_BONUS = 19, 2916 QCA_WLAN_VENDOR_ATTR_EPNO_SAME_NETWORK_BONUS = 20, 2917 QCA_WLAN_VENDOR_ATTR_EPNO_SECURE_BONUS = 21, 2918 QCA_WLAN_VENDOR_ATTR_EPNO_BAND5GHZ_BONUS = 22, 2919 2920 /* keep last */ 2921 QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST, 2922 QCA_WLAN_VENDOR_ATTR_PNO_MAX = 2923 QCA_WLAN_VENDOR_ATTR_PNO_AFTER_LAST - 1, 2924 }; 2925 2926 /** 2927 * qca_wlan_vendor_attr_nud_stats_set: attribute to vendor subcmd 2928 * QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_SET. This carry the requisite 2929 * information to start / stop the NUD stats collection. 2930 */ 2931 enum qca_attr_nud_stats_set { 2932 QCA_ATTR_NUD_STATS_SET_INVALID = 0, 2933 2934 /* Flag to Start / Stop the NUD stats collection 2935 * Start - If included , Stop - If not included 2936 */ 2937 QCA_ATTR_NUD_STATS_SET_START = 1, 2938 /* IPv4 address of Default Gateway (in network byte order) */ 2939 QCA_ATTR_NUD_STATS_GW_IPV4 = 2, 2940 2941 /* keep last */ 2942 QCA_ATTR_NUD_STATS_SET_LAST, 2943 QCA_ATTR_NUD_STATS_SET_MAX = 2944 QCA_ATTR_NUD_STATS_SET_LAST - 1, 2945 }; 2946 2947 /** 2948 * qca_attr_nud_stats_get: attribute to vendor subcmd 2949 * QCA_NL80211_VENDOR_SUBCMD_NUD_STATS_GET. This carry the requisite 2950 * NUD stats collected when queried. 2951 */ 2952 enum qca_attr_nud_stats_get { 2953 QCA_ATTR_NUD_STATS_GET_INVALID = 0, 2954 /* ARP Request Count from net dev */ 2955 QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_FROM_NETDEV = 1, 2956 /* ARP Request Count sent to lower MAC from upper MAC */ 2957 QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_TO_LOWER_MAC = 2, 2958 /* ARP Request Count received by lower MAC from upper MAC */ 2959 QCA_ATTR_NUD_STATS_ARP_REQ_RX_COUNT_BY_LOWER_MAC = 3, 2960 /* ARP Request Count successfully transmitted by the device */ 2961 QCA_ATTR_NUD_STATS_ARP_REQ_COUNT_TX_SUCCESS = 4, 2962 /* ARP Response Count received by lower MAC */ 2963 QCA_ATTR_NUD_STATS_ARP_RSP_RX_COUNT_BY_LOWER_MAC = 5, 2964 /* ARP Response Count received by upper MAC */ 2965 QCA_ATTR_NUD_STATS_ARP_RSP_RX_COUNT_BY_UPPER_MAC = 6, 2966 /* ARP Response Count delivered to netdev */ 2967 QCA_ATTR_NUD_STATS_ARP_RSP_COUNT_TO_NETDEV = 7, 2968 /* ARP Response Count delivered to netdev */ 2969 QCA_ATTR_NUD_STATS_ARP_RSP_COUNT_OUT_OF_ORDER_DROP = 8, 2970 /* Flag indicating if the Stations Link to AP is active. 2971 * Active Link - If exists, Inactive link - If not included 2972 */ 2973 QCA_ATTR_NUD_STATS_AP_LINK_ACTIVE= 9, 2974 /* Flag indicating if there is any Duplicate Address Detected(DAD). 2975 * Yes - If Detected, No - If not detected. 2976 */ 2977 QCA_ATTR_NUD_STATS_IS_DAD = 10, 2978 2979 /* keep last */ 2980 QCA_ATTR_NUD_STATS_GET_LAST, 2981 QCA_ATTR_NUD_STATS_GET_MAX = 2982 QCA_ATTR_NUD_STATS_GET_LAST - 1, 2983 }; 2984 #endif /* QCA_VENDOR_H */ 2985