1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* 3 * Copyright (C) 2013-2015 Intel Mobile Communications GmbH 4 * Copyright (C) 2016-2017 Intel Deutschland GmbH 5 * Copyright (C) 2018-2022 Intel Corporation 6 */ 7 #ifndef __iwl_fw_api_commands_h__ 8 #define __iwl_fw_api_commands_h__ 9 10 /** 11 * enum iwl_mvm_command_groups - command groups for the firmware 12 * @LEGACY_GROUP: legacy group, uses command IDs from &enum iwl_legacy_cmds 13 * @LONG_GROUP: legacy group with long header, also uses command IDs 14 * from &enum iwl_legacy_cmds 15 * @SYSTEM_GROUP: system group, uses command IDs from 16 * &enum iwl_system_subcmd_ids 17 * @MAC_CONF_GROUP: MAC configuration group, uses command IDs from 18 * &enum iwl_mac_conf_subcmd_ids 19 * @PHY_OPS_GROUP: PHY operations group, uses command IDs from 20 * &enum iwl_phy_ops_subcmd_ids 21 * @DATA_PATH_GROUP: data path group, uses command IDs from 22 * &enum iwl_data_path_subcmd_ids 23 * @SCAN_GROUP: scan group, uses command IDs from 24 * &enum iwl_scan_subcmd_ids 25 * @NAN_GROUP: NAN group, uses command IDs from &enum iwl_nan_subcmd_ids 26 * @LOCATION_GROUP: location group, uses command IDs from 27 * &enum iwl_location_subcmd_ids 28 * @PROT_OFFLOAD_GROUP: protocol offload group, uses command IDs from 29 * &enum iwl_prot_offload_subcmd_ids 30 * @REGULATORY_AND_NVM_GROUP: regulatory/NVM group, uses command IDs from 31 * &enum iwl_regulatory_and_nvm_subcmd_ids 32 * @DEBUG_GROUP: Debug group, uses command IDs from &enum iwl_debug_cmds 33 * @STATISTICS_GROUP: Statistics group, uses command IDs from 34 * &enum iwl_statistics_subcmd_ids 35 */ 36 enum iwl_mvm_command_groups { 37 LEGACY_GROUP = 0x0, 38 LONG_GROUP = 0x1, 39 SYSTEM_GROUP = 0x2, 40 MAC_CONF_GROUP = 0x3, 41 PHY_OPS_GROUP = 0x4, 42 DATA_PATH_GROUP = 0x5, 43 SCAN_GROUP = 0x6, 44 NAN_GROUP = 0x7, 45 LOCATION_GROUP = 0x8, 46 PROT_OFFLOAD_GROUP = 0xb, 47 REGULATORY_AND_NVM_GROUP = 0xc, 48 DEBUG_GROUP = 0xf, 49 STATISTICS_GROUP = 0x10, 50 }; 51 52 /** 53 * enum iwl_legacy_cmds - legacy group command IDs 54 */ 55 enum iwl_legacy_cmds { 56 /** 57 * @UCODE_ALIVE_NTFY: 58 * Alive data from the firmware, as described in 59 * &struct iwl_alive_ntf_v3 or &struct iwl_alive_ntf_v4 or 60 * &struct iwl_alive_ntf_v5 or &struct iwl_alive_ntf_v6. 61 */ 62 UCODE_ALIVE_NTFY = 0x1, 63 64 /** 65 * @REPLY_ERROR: Cause an error in the firmware, for testing purposes. 66 */ 67 REPLY_ERROR = 0x2, 68 69 /** 70 * @ECHO_CMD: Send data to the device to have it returned immediately. 71 */ 72 ECHO_CMD = 0x3, 73 74 /** 75 * @INIT_COMPLETE_NOTIF: Notification that initialization is complete. 76 */ 77 INIT_COMPLETE_NOTIF = 0x4, 78 79 /** 80 * @PHY_CONTEXT_CMD: 81 * Add/modify/remove a PHY context, using &struct iwl_phy_context_cmd 82 * or &struct iwl_phy_context_cmd_v1. 83 */ 84 PHY_CONTEXT_CMD = 0x8, 85 86 /** 87 * @DBG_CFG: Debug configuration command. 88 */ 89 DBG_CFG = 0x9, 90 91 /** 92 * @SCAN_ITERATION_COMPLETE_UMAC: 93 * Firmware indicates a scan iteration completed, using 94 * &struct iwl_umac_scan_iter_complete_notif. 95 */ 96 SCAN_ITERATION_COMPLETE_UMAC = 0xb5, 97 98 /** 99 * @SCAN_CFG_CMD: 100 * uses &struct iwl_scan_config_v1, &struct iwl_scan_config_v2 101 * or &struct iwl_scan_config 102 */ 103 SCAN_CFG_CMD = 0xc, 104 105 /** 106 * @SCAN_REQ_UMAC: uses &struct iwl_scan_req_umac 107 */ 108 SCAN_REQ_UMAC = 0xd, 109 110 /** 111 * @SCAN_ABORT_UMAC: uses &struct iwl_umac_scan_abort 112 */ 113 SCAN_ABORT_UMAC = 0xe, 114 115 /** 116 * @SCAN_COMPLETE_UMAC: uses &struct iwl_umac_scan_complete 117 */ 118 SCAN_COMPLETE_UMAC = 0xf, 119 120 /** 121 * @BA_WINDOW_STATUS_NOTIFICATION_ID: 122 * uses &struct iwl_ba_window_status_notif 123 */ 124 BA_WINDOW_STATUS_NOTIFICATION_ID = 0x13, 125 126 /** 127 * @ADD_STA_KEY: 128 * &struct iwl_mvm_add_sta_key_cmd_v1 or 129 * &struct iwl_mvm_add_sta_key_cmd. 130 */ 131 ADD_STA_KEY = 0x17, 132 133 /** 134 * @ADD_STA: 135 * &struct iwl_mvm_add_sta_cmd or &struct iwl_mvm_add_sta_cmd_v7. 136 */ 137 ADD_STA = 0x18, 138 139 /** 140 * @REMOVE_STA: &struct iwl_mvm_rm_sta_cmd 141 */ 142 REMOVE_STA = 0x19, 143 144 /** 145 * @TX_CMD: uses &struct iwl_tx_cmd or &struct iwl_tx_cmd_gen2 or 146 * &struct iwl_tx_cmd_gen3, 147 * response in &struct iwl_mvm_tx_resp or 148 * &struct iwl_mvm_tx_resp_v3 149 */ 150 TX_CMD = 0x1c, 151 152 /** 153 * @TXPATH_FLUSH: &struct iwl_tx_path_flush_cmd 154 * response in &struct iwl_tx_path_flush_cmd_rsp 155 */ 156 TXPATH_FLUSH = 0x1e, 157 158 /** 159 * @MGMT_MCAST_KEY: 160 * &struct iwl_mvm_mgmt_mcast_key_cmd or 161 * &struct iwl_mvm_mgmt_mcast_key_cmd_v1 162 */ 163 MGMT_MCAST_KEY = 0x1f, 164 165 /* scheduler config */ 166 /** 167 * @SCD_QUEUE_CFG: &struct iwl_scd_txq_cfg_cmd for older hardware, 168 * &struct iwl_tx_queue_cfg_cmd with &struct iwl_tx_queue_cfg_rsp 169 * for newer (22000) hardware. 170 */ 171 SCD_QUEUE_CFG = 0x1d, 172 173 /** 174 * @WEP_KEY: uses &struct iwl_mvm_wep_key_cmd 175 */ 176 WEP_KEY = 0x20, 177 178 /** 179 * @SHARED_MEM_CFG: 180 * retrieve shared memory configuration - response in 181 * &struct iwl_shared_mem_cfg 182 */ 183 SHARED_MEM_CFG = 0x25, 184 185 /** 186 * @TDLS_CHANNEL_SWITCH_CMD: uses &struct iwl_tdls_channel_switch_cmd 187 */ 188 TDLS_CHANNEL_SWITCH_CMD = 0x27, 189 190 /** 191 * @TDLS_CHANNEL_SWITCH_NOTIFICATION: 192 * uses &struct iwl_tdls_channel_switch_notif 193 */ 194 TDLS_CHANNEL_SWITCH_NOTIFICATION = 0xaa, 195 196 /** 197 * @TDLS_CONFIG_CMD: 198 * &struct iwl_tdls_config_cmd, response in &struct iwl_tdls_config_res 199 */ 200 TDLS_CONFIG_CMD = 0xa7, 201 202 /** 203 * @MAC_CONTEXT_CMD: &struct iwl_mac_ctx_cmd 204 */ 205 MAC_CONTEXT_CMD = 0x28, 206 207 /** 208 * @TIME_EVENT_CMD: 209 * &struct iwl_time_event_cmd, response in &struct iwl_time_event_resp 210 */ 211 TIME_EVENT_CMD = 0x29, /* both CMD and response */ 212 213 /** 214 * @TIME_EVENT_NOTIFICATION: &struct iwl_time_event_notif 215 */ 216 TIME_EVENT_NOTIFICATION = 0x2a, 217 218 /** 219 * @BINDING_CONTEXT_CMD: 220 * &struct iwl_binding_cmd or &struct iwl_binding_cmd_v1 221 */ 222 BINDING_CONTEXT_CMD = 0x2b, 223 224 /** 225 * @TIME_QUOTA_CMD: &struct iwl_time_quota_cmd 226 */ 227 TIME_QUOTA_CMD = 0x2c, 228 229 /** 230 * @NON_QOS_TX_COUNTER_CMD: 231 * command is &struct iwl_nonqos_seq_query_cmd 232 */ 233 NON_QOS_TX_COUNTER_CMD = 0x2d, 234 235 /** 236 * @LEDS_CMD: command is &struct iwl_led_cmd 237 */ 238 LEDS_CMD = 0x48, 239 240 /** 241 * @LQ_CMD: using &struct iwl_lq_cmd 242 */ 243 LQ_CMD = 0x4e, 244 245 /** 246 * @FW_PAGING_BLOCK_CMD: 247 * &struct iwl_fw_paging_cmd 248 */ 249 FW_PAGING_BLOCK_CMD = 0x4f, 250 251 /** 252 * @SCAN_OFFLOAD_REQUEST_CMD: uses &struct iwl_scan_req_lmac 253 */ 254 SCAN_OFFLOAD_REQUEST_CMD = 0x51, 255 256 /** 257 * @SCAN_OFFLOAD_ABORT_CMD: abort the scan - no further contents 258 */ 259 SCAN_OFFLOAD_ABORT_CMD = 0x52, 260 261 /** 262 * @HOT_SPOT_CMD: uses &struct iwl_hs20_roc_req 263 */ 264 HOT_SPOT_CMD = 0x53, 265 266 /** 267 * @WNM_80211V_TIMING_MEASUREMENT_NOTIFICATION: Time Sync 268 * measurement notification for TM/FTM. Sent on receipt of 269 * respective WNM action frame for TM protocol or public action 270 * frame for FTM protocol from peer device along with additional 271 * meta data specified in &struct iwl_time_msmt_notify 272 */ 273 WNM_80211V_TIMING_MEASUREMENT_NOTIFICATION = 0x67, 274 275 /** 276 * @WNM_80211V_TIMING_MEASUREMENT_CONFIRM_NOTIFICATION: Time Sync 277 * measurement confirmation notification for TM/FTM. Sent on 278 * receipt of Ack from peer for previously Tx'ed TM/FTM 279 * action frame along with additional meta data specified in 280 * &struct iwl_time_msmt_cfm_notify 281 */ 282 WNM_80211V_TIMING_MEASUREMENT_CONFIRM_NOTIFICATION = 0x68, 283 284 /** 285 * @SCAN_OFFLOAD_COMPLETE: 286 * notification, &struct iwl_periodic_scan_complete 287 */ 288 SCAN_OFFLOAD_COMPLETE = 0x6D, 289 290 /** 291 * @SCAN_OFFLOAD_UPDATE_PROFILES_CMD: 292 * update scan offload (scheduled scan) profiles/blocklist/etc. 293 */ 294 SCAN_OFFLOAD_UPDATE_PROFILES_CMD = 0x6E, 295 296 /** 297 * @MATCH_FOUND_NOTIFICATION: scan match found 298 */ 299 MATCH_FOUND_NOTIFICATION = 0xd9, 300 301 /** 302 * @SCAN_ITERATION_COMPLETE: 303 * uses &struct iwl_lmac_scan_complete_notif 304 */ 305 SCAN_ITERATION_COMPLETE = 0xe7, 306 307 /* Phy */ 308 /** 309 * @PHY_CONFIGURATION_CMD: &struct iwl_phy_cfg_cmd_v1 or &struct iwl_phy_cfg_cmd_v3 310 */ 311 PHY_CONFIGURATION_CMD = 0x6a, 312 313 /** 314 * @CALIB_RES_NOTIF_PHY_DB: &struct iwl_calib_res_notif_phy_db 315 */ 316 CALIB_RES_NOTIF_PHY_DB = 0x6b, 317 318 /** 319 * @PHY_DB_CMD: &struct iwl_phy_db_cmd 320 */ 321 PHY_DB_CMD = 0x6c, 322 323 /** 324 * @POWER_TABLE_CMD: &struct iwl_device_power_cmd 325 */ 326 POWER_TABLE_CMD = 0x77, 327 328 /** 329 * @PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION: 330 * &struct iwl_uapsd_misbehaving_ap_notif 331 */ 332 PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION = 0x78, 333 334 /** 335 * @LTR_CONFIG: &struct iwl_ltr_config_cmd 336 */ 337 LTR_CONFIG = 0xee, 338 339 /** 340 * @REPLY_THERMAL_MNG_BACKOFF: 341 * Thermal throttling command 342 */ 343 REPLY_THERMAL_MNG_BACKOFF = 0x7e, 344 345 /** 346 * @NVM_ACCESS_CMD: using &struct iwl_nvm_access_cmd 347 */ 348 NVM_ACCESS_CMD = 0x88, 349 350 /** 351 * @BEACON_NOTIFICATION: &struct iwl_extended_beacon_notif 352 */ 353 BEACON_NOTIFICATION = 0x90, 354 355 /** 356 * @BEACON_TEMPLATE_CMD: 357 * Uses one of &struct iwl_mac_beacon_cmd_v6, 358 * &struct iwl_mac_beacon_cmd_v7 or &struct iwl_mac_beacon_cmd 359 * depending on the device version. 360 */ 361 BEACON_TEMPLATE_CMD = 0x91, 362 /** 363 * @TX_ANT_CONFIGURATION_CMD: &struct iwl_tx_ant_cfg_cmd 364 */ 365 TX_ANT_CONFIGURATION_CMD = 0x98, 366 367 /** 368 * @STATISTICS_CMD: 369 * one of &struct iwl_statistics_cmd, 370 * &struct iwl_notif_statistics_v11, 371 * &struct iwl_notif_statistics_v10, 372 * &struct iwl_notif_statistics, 373 * &struct iwl_statistics_operational_ntfy_ver_14 374 */ 375 STATISTICS_CMD = 0x9c, 376 377 /** 378 * @STATISTICS_NOTIFICATION: 379 * one of &struct iwl_notif_statistics_v10, 380 * &struct iwl_notif_statistics_v11, 381 * &struct iwl_notif_statistic, 382 * &struct iwl_statistics_operational_ntfy_ver_14 383 * &struct iwl_statistics_operational_ntfy 384 */ 385 STATISTICS_NOTIFICATION = 0x9d, 386 387 /** 388 * @EOSP_NOTIFICATION: 389 * Notify that a service period ended, 390 * &struct iwl_mvm_eosp_notification 391 */ 392 EOSP_NOTIFICATION = 0x9e, 393 394 /** 395 * @REDUCE_TX_POWER_CMD: 396 * &struct iwl_dev_tx_power_cmd 397 */ 398 REDUCE_TX_POWER_CMD = 0x9f, 399 400 /** 401 * @MISSED_BEACONS_NOTIFICATION: &struct iwl_missed_beacons_notif 402 */ 403 MISSED_BEACONS_NOTIFICATION = 0xa2, 404 405 /** 406 * @MAC_PM_POWER_TABLE: using &struct iwl_mac_power_cmd 407 */ 408 MAC_PM_POWER_TABLE = 0xa9, 409 410 /** 411 * @MFUART_LOAD_NOTIFICATION: &struct iwl_mfuart_load_notif 412 */ 413 MFUART_LOAD_NOTIFICATION = 0xb1, 414 415 /** 416 * @RSS_CONFIG_CMD: &struct iwl_rss_config_cmd 417 */ 418 RSS_CONFIG_CMD = 0xb3, 419 420 /** 421 * @REPLY_RX_PHY_CMD: &struct iwl_rx_phy_info 422 */ 423 REPLY_RX_PHY_CMD = 0xc0, 424 425 /** 426 * @REPLY_RX_MPDU_CMD: 427 * &struct iwl_rx_mpdu_res_start or &struct iwl_rx_mpdu_desc 428 */ 429 REPLY_RX_MPDU_CMD = 0xc1, 430 431 /** 432 * @BAR_FRAME_RELEASE: Frame release from BAR notification, used for 433 * multi-TID BAR (previously, the BAR frame itself was reported 434 * instead). Uses &struct iwl_bar_frame_release. 435 */ 436 BAR_FRAME_RELEASE = 0xc2, 437 438 /** 439 * @FRAME_RELEASE: 440 * Frame release (reorder helper) notification, uses 441 * &struct iwl_frame_release 442 */ 443 FRAME_RELEASE = 0xc3, 444 445 /** 446 * @BA_NOTIF: 447 * BlockAck notification, uses &struct iwl_mvm_compressed_ba_notif 448 * or &struct iwl_mvm_ba_notif depending on the HW 449 */ 450 BA_NOTIF = 0xc5, 451 452 /* Location Aware Regulatory */ 453 /** 454 * @MCC_UPDATE_CMD: using &struct iwl_mcc_update_cmd 455 */ 456 MCC_UPDATE_CMD = 0xc8, 457 458 /** 459 * @MCC_CHUB_UPDATE_CMD: using &struct iwl_mcc_chub_notif 460 */ 461 MCC_CHUB_UPDATE_CMD = 0xc9, 462 463 /** 464 * @MARKER_CMD: trace marker command, uses &struct iwl_mvm_marker 465 * with &struct iwl_mvm_marker_rsp 466 */ 467 MARKER_CMD = 0xcb, 468 469 /** 470 * @BT_PROFILE_NOTIFICATION: &struct iwl_bt_coex_profile_notif 471 */ 472 BT_PROFILE_NOTIFICATION = 0xce, 473 474 /** 475 * @BT_CONFIG: &struct iwl_bt_coex_cmd 476 */ 477 BT_CONFIG = 0x9b, 478 479 /** 480 * @BT_COEX_UPDATE_REDUCED_TXP: 481 * &struct iwl_bt_coex_reduced_txp_update_cmd 482 */ 483 BT_COEX_UPDATE_REDUCED_TXP = 0x5c, 484 485 /** 486 * @BT_COEX_CI: &struct iwl_bt_coex_ci_cmd 487 */ 488 BT_COEX_CI = 0x5d, 489 490 /** 491 * @REPLY_SF_CFG_CMD: &struct iwl_sf_cfg_cmd 492 */ 493 REPLY_SF_CFG_CMD = 0xd1, 494 /** 495 * @REPLY_BEACON_FILTERING_CMD: &struct iwl_beacon_filter_cmd 496 */ 497 REPLY_BEACON_FILTERING_CMD = 0xd2, 498 499 /** 500 * @DTS_MEASUREMENT_NOTIFICATION: 501 * &struct iwl_dts_measurement_notif_v1 or 502 * &struct iwl_dts_measurement_notif_v2 503 */ 504 DTS_MEASUREMENT_NOTIFICATION = 0xdd, 505 506 /** 507 * @LDBG_CONFIG_CMD: configure continuous trace recording 508 */ 509 LDBG_CONFIG_CMD = 0xf6, 510 511 /** 512 * @DEBUG_LOG_MSG: Debugging log data from firmware 513 */ 514 DEBUG_LOG_MSG = 0xf7, 515 516 /** 517 * @MCAST_FILTER_CMD: &struct iwl_mcast_filter_cmd 518 */ 519 MCAST_FILTER_CMD = 0xd0, 520 521 /** 522 * @D3_CONFIG_CMD: &struct iwl_d3_manager_config 523 */ 524 D3_CONFIG_CMD = 0xd3, 525 526 /** 527 * @PROT_OFFLOAD_CONFIG_CMD: Depending on firmware, uses one of 528 * &struct iwl_proto_offload_cmd_v1, &struct iwl_proto_offload_cmd_v2, 529 * &struct iwl_proto_offload_cmd_v3_small, 530 * &struct iwl_proto_offload_cmd_v3_large 531 */ 532 PROT_OFFLOAD_CONFIG_CMD = 0xd4, 533 534 /** 535 * @D0I3_END_CMD: End D0i3/D3 state, no command data 536 */ 537 D0I3_END_CMD = 0xed, 538 539 /** 540 * @WOWLAN_PATTERNS: &struct iwl_wowlan_patterns_cmd 541 */ 542 WOWLAN_PATTERNS = 0xe0, 543 544 /** 545 * @WOWLAN_CONFIGURATION: &struct iwl_wowlan_config_cmd 546 */ 547 WOWLAN_CONFIGURATION = 0xe1, 548 549 /** 550 * @WOWLAN_TSC_RSC_PARAM: &struct iwl_wowlan_rsc_tsc_params_cmd_v4, 551 * &struct iwl_wowlan_rsc_tsc_params_cmd 552 */ 553 WOWLAN_TSC_RSC_PARAM = 0xe2, 554 555 /** 556 * @WOWLAN_TKIP_PARAM: &struct iwl_wowlan_tkip_params_cmd 557 */ 558 WOWLAN_TKIP_PARAM = 0xe3, 559 560 /** 561 * @WOWLAN_KEK_KCK_MATERIAL: &struct iwl_wowlan_kek_kck_material_cmd_v2, 562 * &struct iwl_wowlan_kek_kck_material_cmd_v3 or 563 * &struct iwl_wowlan_kek_kck_material_cmd_v4 564 */ 565 WOWLAN_KEK_KCK_MATERIAL = 0xe4, 566 567 /** 568 * @WOWLAN_GET_STATUSES: response in &struct iwl_wowlan_status_v6, 569 * &struct iwl_wowlan_status_v7, &struct iwl_wowlan_status_v9 or 570 * &struct iwl_wowlan_status_v12 571 */ 572 WOWLAN_GET_STATUSES = 0xe5, 573 574 /** 575 * @SCAN_OFFLOAD_PROFILES_QUERY_CMD: No command data, response is 576 * &struct iwl_scan_offload_profiles_query_v1 577 */ 578 SCAN_OFFLOAD_PROFILES_QUERY_CMD = 0x56, 579 }; 580 581 /** 582 * enum iwl_system_subcmd_ids - system group command IDs 583 */ 584 enum iwl_system_subcmd_ids { 585 /** 586 * @SHARED_MEM_CFG_CMD: 587 * response in &struct iwl_shared_mem_cfg or 588 * &struct iwl_shared_mem_cfg_v2 589 */ 590 SHARED_MEM_CFG_CMD = 0x0, 591 592 /** 593 * @SOC_CONFIGURATION_CMD: &struct iwl_soc_configuration_cmd 594 */ 595 SOC_CONFIGURATION_CMD = 0x01, 596 597 /** 598 * @INIT_EXTENDED_CFG_CMD: &struct iwl_init_extended_cfg_cmd 599 */ 600 INIT_EXTENDED_CFG_CMD = 0x03, 601 602 /** 603 * @FW_ERROR_RECOVERY_CMD: &struct iwl_fw_error_recovery_cmd 604 */ 605 FW_ERROR_RECOVERY_CMD = 0x7, 606 607 /** 608 * @RFI_CONFIG_CMD: &struct iwl_rfi_config_cmd 609 */ 610 RFI_CONFIG_CMD = 0xb, 611 612 /** 613 * @RFI_GET_FREQ_TABLE_CMD: &struct iwl_rfi_config_cmd 614 */ 615 RFI_GET_FREQ_TABLE_CMD = 0xc, 616 617 /** 618 * @SYSTEM_FEATURES_CONTROL_CMD: &struct iwl_system_features_control_cmd 619 */ 620 SYSTEM_FEATURES_CONTROL_CMD = 0xd, 621 622 /** 623 * @SYSTEM_STATISTICS_CMD: &struct iwl_system_statistics_cmd 624 */ 625 SYSTEM_STATISTICS_CMD = 0xf, 626 627 /** 628 * @SYSTEM_STATISTICS_END_NOTIF: &struct iwl_system_statistics_end_notif 629 */ 630 SYSTEM_STATISTICS_END_NOTIF = 0xfd, 631 632 /** 633 * @RFI_DEACTIVATE_NOTIF: &struct iwl_rfi_deactivate_notif 634 */ 635 RFI_DEACTIVATE_NOTIF = 0xff, 636 }; 637 638 /** 639 * enum iwl_statistics_subcmd_ids - Statistics group command IDs 640 */ 641 enum iwl_statistics_subcmd_ids { 642 /** 643 * @STATISTICS_OPER_NOTIF: Notification about operational 644 * statistics &struct iwl_system_statistics_notif_oper 645 */ 646 STATISTICS_OPER_NOTIF = 0x0, 647 648 /** 649 * @STATISTICS_OPER_PART1_NOTIF: Notification about operational part1 650 * statistics &struct iwl_system_statistics_part1_notif_oper 651 */ 652 STATISTICS_OPER_PART1_NOTIF = 0x1, 653 }; 654 655 #endif /* __iwl_fw_api_commands_h__ */ 656