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, 2024-2026 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 * @LOCATION_GROUP: location group, uses command IDs from 26 * &enum iwl_location_subcmd_ids 27 * @BT_COEX_GROUP: bt coex group, uses command IDs from 28 * &enum iwl_bt_coex_subcmd_ids 29 * @PROT_OFFLOAD_GROUP: protocol offload group, uses command IDs from 30 * &enum iwl_prot_offload_subcmd_ids 31 * @REGULATORY_AND_NVM_GROUP: regulatory/NVM group, uses command IDs from 32 * &enum iwl_regulatory_and_nvm_subcmd_ids 33 * @DEBUG_GROUP: Debug group, uses command IDs from &enum iwl_debug_cmds 34 * @STATISTICS_GROUP: Statistics group, uses command IDs from 35 * &enum iwl_statistics_subcmd_ids 36 */ 37 enum iwl_mvm_command_groups { 38 LEGACY_GROUP = 0x0, 39 LONG_GROUP = 0x1, 40 SYSTEM_GROUP = 0x2, 41 MAC_CONF_GROUP = 0x3, 42 PHY_OPS_GROUP = 0x4, 43 DATA_PATH_GROUP = 0x5, 44 SCAN_GROUP = 0x6, 45 LOCATION_GROUP = 0x8, 46 BT_COEX_GROUP = 0x9, 47 PROT_OFFLOAD_GROUP = 0xb, 48 REGULATORY_AND_NVM_GROUP = 0xc, 49 DEBUG_GROUP = 0xf, 50 STATISTICS_GROUP = 0x10, 51 }; 52 53 /** 54 * enum iwl_legacy_cmds - legacy group command IDs 55 */ 56 enum iwl_legacy_cmds { 57 /** 58 * @UCODE_ALIVE_NTFY: 59 * Alive data from the firmware, as described in 60 * &struct iwl_alive_ntf_v3 or &struct iwl_alive_ntf_v7. 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_v6 or &struct iwl_tx_cmd_v9 or 146 * &struct iwl_tx_cmd, 147 * response in &struct iwl_tx_resp or 148 * &struct iwl_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 * @SCAN_START_NOTIFICATION_UMAC: uses &struct iwl_umac_scan_start 298 */ 299 SCAN_START_NOTIFICATION_UMAC = 0xb2, 300 301 /** 302 * @MATCH_FOUND_NOTIFICATION: scan match found 303 */ 304 MATCH_FOUND_NOTIFICATION = 0xd9, 305 306 /** 307 * @SCAN_ITERATION_COMPLETE: 308 * uses &struct iwl_lmac_scan_complete_notif 309 */ 310 SCAN_ITERATION_COMPLETE = 0xe7, 311 312 /* Phy */ 313 /** 314 * @PHY_CONFIGURATION_CMD: &struct iwl_phy_cfg_cmd_v1 or &struct iwl_phy_cfg_cmd_v3 315 */ 316 PHY_CONFIGURATION_CMD = 0x6a, 317 318 /** 319 * @CALIB_RES_NOTIF_PHY_DB: &struct iwl_calib_res_notif_phy_db 320 */ 321 CALIB_RES_NOTIF_PHY_DB = 0x6b, 322 323 /** 324 * @PHY_DB_CMD: &struct iwl_phy_db_cmd 325 */ 326 PHY_DB_CMD = 0x6c, 327 328 /** 329 * @POWER_TABLE_CMD: &struct iwl_device_power_cmd 330 */ 331 POWER_TABLE_CMD = 0x77, 332 333 /** 334 * @PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION: 335 * &struct iwl_uapsd_misbehaving_ap_notif 336 */ 337 PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION = 0x78, 338 339 /** 340 * @LTR_CONFIG: &struct iwl_ltr_config_cmd 341 */ 342 LTR_CONFIG = 0xee, 343 344 /** 345 * @REPLY_THERMAL_MNG_BACKOFF: 346 * Thermal throttling command 347 */ 348 REPLY_THERMAL_MNG_BACKOFF = 0x7e, 349 350 /** 351 * @NVM_ACCESS_CMD: using &struct iwl_nvm_access_cmd 352 */ 353 NVM_ACCESS_CMD = 0x88, 354 355 /** 356 * @BEACON_NOTIFICATION: &struct iwl_extended_beacon_notif 357 */ 358 BEACON_NOTIFICATION = 0x90, 359 360 /** 361 * @BEACON_TEMPLATE_CMD: 362 * Uses one of &struct iwl_mac_beacon_cmd_v6, 363 * &struct iwl_mac_beacon_cmd_v7 or &struct iwl_mac_beacon_cmd 364 * depending on the device version. 365 */ 366 BEACON_TEMPLATE_CMD = 0x91, 367 /** 368 * @TX_ANT_CONFIGURATION_CMD: &struct iwl_tx_ant_cfg_cmd 369 */ 370 TX_ANT_CONFIGURATION_CMD = 0x98, 371 372 /** 373 * @STATISTICS_CMD: 374 * one of &struct iwl_statistics_cmd, 375 * &struct iwl_notif_statistics_v11, 376 * &struct iwl_notif_statistics_v10, 377 * &struct iwl_notif_statistics, 378 * &struct iwl_statistics_operational_ntfy_ver_14 379 */ 380 STATISTICS_CMD = 0x9c, 381 382 /** 383 * @STATISTICS_NOTIFICATION: 384 * one of &struct iwl_notif_statistics_v10, 385 * &struct iwl_notif_statistics_v11, 386 * &struct iwl_notif_statistics, 387 * &struct iwl_statistics_operational_ntfy_ver_14 388 * &struct iwl_statistics_operational_ntfy 389 */ 390 STATISTICS_NOTIFICATION = 0x9d, 391 392 /** 393 * @EOSP_NOTIFICATION: 394 * Notify that a service period ended, 395 * &struct iwl_mvm_eosp_notification 396 */ 397 EOSP_NOTIFICATION = 0x9e, 398 399 /** 400 * @REDUCE_TX_POWER_CMD: 401 * &struct iwl_dev_tx_power_cmd 402 */ 403 REDUCE_TX_POWER_CMD = 0x9f, 404 405 /** 406 * @MISSED_BEACONS_NOTIFICATION: &struct iwl_missed_beacons_notif_v4 407 */ 408 MISSED_BEACONS_NOTIFICATION = 0xa2, 409 410 /** 411 * @MAC_PM_POWER_TABLE: using &struct iwl_mac_power_cmd 412 */ 413 MAC_PM_POWER_TABLE = 0xa9, 414 415 /** 416 * @MFUART_LOAD_NOTIFICATION: &struct iwl_mfuart_load_notif 417 */ 418 MFUART_LOAD_NOTIFICATION = 0xb1, 419 420 /** 421 * @RSS_CONFIG_CMD: &struct iwl_rss_config_cmd 422 */ 423 RSS_CONFIG_CMD = 0xb3, 424 425 /** 426 * @REPLY_RX_PHY_CMD: &struct iwl_rx_phy_info 427 */ 428 REPLY_RX_PHY_CMD = 0xc0, 429 430 /** 431 * @REPLY_RX_MPDU_CMD: 432 * &struct iwl_rx_mpdu_res_start or &struct iwl_rx_mpdu_desc 433 */ 434 REPLY_RX_MPDU_CMD = 0xc1, 435 436 /** 437 * @BAR_FRAME_RELEASE: Frame release from BAR notification, used for 438 * multi-TID BAR (previously, the BAR frame itself was reported 439 * instead). Uses &struct iwl_bar_frame_release. 440 */ 441 BAR_FRAME_RELEASE = 0xc2, 442 443 /** 444 * @FRAME_RELEASE: 445 * Frame release (reorder helper) notification, uses 446 * &struct iwl_frame_release 447 */ 448 FRAME_RELEASE = 0xc3, 449 450 /** 451 * @BA_NOTIF: 452 * BlockAck notification, uses &struct iwl_compressed_ba_notif 453 * or &struct iwl_mvm_ba_notif depending on the HW 454 */ 455 BA_NOTIF = 0xc5, 456 457 /* Location Aware Regulatory */ 458 /** 459 * @MCC_UPDATE_CMD: using &struct iwl_mcc_update_cmd 460 */ 461 MCC_UPDATE_CMD = 0xc8, 462 463 /** 464 * @MCC_CHUB_UPDATE_CMD: using &struct iwl_mcc_chub_notif 465 */ 466 MCC_CHUB_UPDATE_CMD = 0xc9, 467 468 /** 469 * @MARKER_CMD: trace marker command, uses &struct iwl_marker 470 * with &struct iwl_marker_rsp 471 */ 472 MARKER_CMD = 0xcb, 473 474 /** 475 * @BT_PROFILE_NOTIFICATION: &struct iwl_bt_coex_prof_old_notif 476 */ 477 BT_PROFILE_NOTIFICATION = 0xce, 478 479 /** 480 * @BT_CONFIG: &struct iwl_bt_coex_cmd 481 */ 482 BT_CONFIG = 0x9b, 483 484 /** 485 * @BT_COEX_UPDATE_REDUCED_TXP: 486 * &struct iwl_bt_coex_reduced_txp_update_cmd 487 */ 488 BT_COEX_UPDATE_REDUCED_TXP = 0x5c, 489 490 /** 491 * @BT_COEX_CI: &struct iwl_bt_coex_ci_cmd 492 */ 493 BT_COEX_CI = 0x5d, 494 495 /** 496 * @REPLY_SF_CFG_CMD: &struct iwl_sf_cfg_cmd 497 */ 498 REPLY_SF_CFG_CMD = 0xd1, 499 /** 500 * @REPLY_BEACON_FILTERING_CMD: &struct iwl_beacon_filter_cmd 501 */ 502 REPLY_BEACON_FILTERING_CMD = 0xd2, 503 504 /** 505 * @DTS_MEASUREMENT_NOTIFICATION: 506 * &struct iwl_dts_measurement_notif_v1 or 507 * &struct iwl_dts_measurement_notif 508 */ 509 DTS_MEASUREMENT_NOTIFICATION = 0xdd, 510 511 /** 512 * @DEBUG_HOST_COMMAND: &struct iwl_dhc_cmd 513 */ 514 DEBUG_HOST_COMMAND = 0xf1, 515 516 /** 517 * @LDBG_CONFIG_CMD: configure continuous trace recording 518 */ 519 LDBG_CONFIG_CMD = 0xf6, 520 521 /** 522 * @DEBUG_LOG_MSG: Debugging log data from firmware 523 */ 524 DEBUG_LOG_MSG = 0xf7, 525 526 /** 527 * @MCAST_FILTER_CMD: &struct iwl_mcast_filter_cmd 528 */ 529 MCAST_FILTER_CMD = 0xd0, 530 531 /** 532 * @D3_CONFIG_CMD: &struct iwl_d3_manager_config 533 */ 534 D3_CONFIG_CMD = 0xd3, 535 536 /** 537 * @PROT_OFFLOAD_CONFIG_CMD: Depending on firmware, uses one of 538 * &struct iwl_proto_offload_cmd_v1, &struct iwl_proto_offload_cmd_v2, 539 * &struct iwl_proto_offload_cmd_v3_small, 540 * &struct iwl_proto_offload_cmd_v3_large 541 */ 542 PROT_OFFLOAD_CONFIG_CMD = 0xd4, 543 544 /** 545 * @D0I3_END_CMD: End D0i3/D3 state, no command data 546 */ 547 D0I3_END_CMD = 0xed, 548 549 /** 550 * @WOWLAN_PATTERNS: &struct iwl_wowlan_patterns_cmd 551 */ 552 WOWLAN_PATTERNS = 0xe0, 553 554 /** 555 * @WOWLAN_CONFIGURATION: &struct iwl_wowlan_config_cmd 556 */ 557 WOWLAN_CONFIGURATION = 0xe1, 558 559 /** 560 * @WOWLAN_TSC_RSC_PARAM: &struct iwl_wowlan_rsc_tsc_params_cmd_ver_2, 561 * &struct iwl_wowlan_rsc_tsc_params_cmd 562 */ 563 WOWLAN_TSC_RSC_PARAM = 0xe2, 564 565 /** 566 * @WOWLAN_TKIP_PARAM: &struct iwl_wowlan_tkip_params_cmd 567 */ 568 WOWLAN_TKIP_PARAM = 0xe3, 569 570 /** 571 * @WOWLAN_KEK_KCK_MATERIAL: &struct iwl_wowlan_kek_kck_material_cmd_v2, 572 * &struct iwl_wowlan_kek_kck_material_cmd_v3 or 573 * &struct iwl_wowlan_kek_kck_material_cmd_v4 574 */ 575 WOWLAN_KEK_KCK_MATERIAL = 0xe4, 576 577 /** 578 * @WOWLAN_GET_STATUSES: response in &struct iwl_wowlan_status_v6 or 579 * &struct iwl_wowlan_status_v7 580 */ 581 WOWLAN_GET_STATUSES = 0xe5, 582 583 /** 584 * @SCAN_OFFLOAD_PROFILES_QUERY_CMD: No command data, response is 585 * &struct iwl_scan_offload_profiles_query_v1 586 */ 587 SCAN_OFFLOAD_PROFILES_QUERY_CMD = 0x56, 588 }; 589 590 /** 591 * enum iwl_system_subcmd_ids - system group command IDs 592 */ 593 enum iwl_system_subcmd_ids { 594 /** 595 * @SHARED_MEM_CFG_CMD: 596 * response in &struct iwl_shared_mem_cfg or 597 * &struct iwl_shared_mem_cfg_v2 598 */ 599 SHARED_MEM_CFG_CMD = 0x0, 600 601 /** 602 * @SOC_CONFIGURATION_CMD: &struct iwl_soc_configuration_cmd 603 */ 604 SOC_CONFIGURATION_CMD = 0x01, 605 606 /** 607 * @INIT_EXTENDED_CFG_CMD: &struct iwl_init_extended_cfg_cmd 608 */ 609 INIT_EXTENDED_CFG_CMD = 0x03, 610 611 /** 612 * @FW_ERROR_RECOVERY_CMD: &struct iwl_fw_error_recovery_cmd 613 */ 614 FW_ERROR_RECOVERY_CMD = 0x7, 615 616 /** 617 * @RFI_CONFIG_CMD: &struct iwl_rfi_config_cmd 618 */ 619 RFI_CONFIG_CMD = 0xb, 620 621 /** 622 * @RFI_GET_FREQ_TABLE_CMD: &struct iwl_rfi_config_cmd 623 */ 624 RFI_GET_FREQ_TABLE_CMD = 0xc, 625 626 /** 627 * @SYSTEM_FEATURES_CONTROL_CMD: &struct iwl_system_features_control_cmd 628 */ 629 SYSTEM_FEATURES_CONTROL_CMD = 0xd, 630 631 /** 632 * @SYSTEM_STATISTICS_CMD: &struct iwl_system_statistics_cmd 633 */ 634 SYSTEM_STATISTICS_CMD = 0xf, 635 636 /** 637 * @SYSTEM_STATISTICS_END_NOTIF: &struct iwl_system_statistics_end_notif 638 */ 639 SYSTEM_STATISTICS_END_NOTIF = 0xfd, 640 641 /** 642 * @RFI_DEACTIVATE_NOTIF: &struct iwl_rfi_deactivate_notif 643 */ 644 RFI_DEACTIVATE_NOTIF = 0xff, 645 }; 646 647 /** 648 * enum iwl_statistics_subcmd_ids - Statistics group command IDs 649 */ 650 enum iwl_statistics_subcmd_ids { 651 /** 652 * @STATISTICS_OPER_NOTIF: Notification about operational 653 * statistics &struct iwl_system_statistics_notif_oper_v3 654 */ 655 STATISTICS_OPER_NOTIF = 0x0, 656 657 /** 658 * @STATISTICS_OPER_PART1_NOTIF: Notification about operational part1 659 * statistics &struct iwl_system_statistics_part1_notif_oper 660 */ 661 STATISTICS_OPER_PART1_NOTIF = 0x1, 662 }; 663 664 #endif /* __iwl_fw_api_commands_h__ */ 665