1 /****************************************************************************** 2 * 3 * This file is provided under a dual BSD/GPLv2 license. When using or 4 * redistributing this file, you may do so under either license. 5 * 6 * GPL LICENSE SUMMARY 7 * 8 * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. 9 * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH 10 * Copyright(c) 2016 - 2017 Intel Deutschland GmbH 11 * 12 * This program is free software; you can redistribute it and/or modify 13 * it under the terms of version 2 of the GNU General Public License as 14 * published by the Free Software Foundation. 15 * 16 * This program is distributed in the hope that it will be useful, but 17 * WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 * General Public License for more details. 20 * 21 * The full GNU General Public License is included in this distribution 22 * in the file called COPYING. 23 * 24 * Contact Information: 25 * Intel Linux Wireless <linuxwifi@intel.com> 26 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 27 * 28 * BSD LICENSE 29 * 30 * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. 31 * Copyright(c) 2013 - 2015 Intel Mobile Communications GmbH 32 * Copyright(c) 2016 - 2017 Intel Deutschland GmbH 33 * All rights reserved. 34 * 35 * Redistribution and use in source and binary forms, with or without 36 * modification, are permitted provided that the following conditions 37 * are met: 38 * 39 * * Redistributions of source code must retain the above copyright 40 * notice, this list of conditions and the following disclaimer. 41 * * Redistributions in binary form must reproduce the above copyright 42 * notice, this list of conditions and the following disclaimer in 43 * the documentation and/or other materials provided with the 44 * distribution. 45 * * Neither the name Intel Corporation nor the names of its 46 * contributors may be used to endorse or promote products derived 47 * from this software without specific prior written permission. 48 * 49 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 50 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 51 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 52 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 53 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 54 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 55 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 57 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 58 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 59 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 60 * 61 *****************************************************************************/ 62 63 #ifndef __iwl_fw_api_commands_h__ 64 #define __iwl_fw_api_commands_h__ 65 66 /** 67 * enum iwl_mvm_command_groups - command groups for the firmware 68 * @LEGACY_GROUP: legacy group, uses command IDs from &enum iwl_legacy_cmds 69 * @LONG_GROUP: legacy group with long header, also uses command IDs 70 * from &enum iwl_legacy_cmds 71 * @SYSTEM_GROUP: system group, uses command IDs from 72 * &enum iwl_system_subcmd_ids 73 * @MAC_CONF_GROUP: MAC configuration group, uses command IDs from 74 * &enum iwl_mac_conf_subcmd_ids 75 * @PHY_OPS_GROUP: PHY operations group, uses command IDs from 76 * &enum iwl_phy_ops_subcmd_ids 77 * @DATA_PATH_GROUP: data path group, uses command IDs from 78 * &enum iwl_data_path_subcmd_ids 79 * @NAN_GROUP: NAN group, uses command IDs from &enum iwl_nan_subcmd_ids 80 * @LOCATION_GROUP: location group, uses command IDs from 81 * &enum iwl_location_subcmd_ids 82 * @PROT_OFFLOAD_GROUP: protocol offload group, uses command IDs from 83 * &enum iwl_prot_offload_subcmd_ids 84 * @REGULATORY_AND_NVM_GROUP: regulatory/NVM group, uses command IDs from 85 * &enum iwl_regulatory_and_nvm_subcmd_ids 86 * @DEBUG_GROUP: Debug group, uses command IDs from &enum iwl_debug_cmds 87 */ 88 enum iwl_mvm_command_groups { 89 LEGACY_GROUP = 0x0, 90 LONG_GROUP = 0x1, 91 SYSTEM_GROUP = 0x2, 92 MAC_CONF_GROUP = 0x3, 93 PHY_OPS_GROUP = 0x4, 94 DATA_PATH_GROUP = 0x5, 95 NAN_GROUP = 0x7, 96 LOCATION_GROUP = 0x8, 97 PROT_OFFLOAD_GROUP = 0xb, 98 REGULATORY_AND_NVM_GROUP = 0xc, 99 DEBUG_GROUP = 0xf, 100 }; 101 102 /** 103 * enum iwl_legacy_cmds - legacy group command IDs 104 */ 105 enum iwl_legacy_cmds { 106 /** 107 * @MVM_ALIVE: 108 * Alive data from the firmware, as described in 109 * &struct mvm_alive_resp_v3 or &struct mvm_alive_resp. 110 */ 111 MVM_ALIVE = 0x1, 112 113 /** 114 * @REPLY_ERROR: Cause an error in the firmware, for testing purposes. 115 */ 116 REPLY_ERROR = 0x2, 117 118 /** 119 * @ECHO_CMD: Send data to the device to have it returned immediately. 120 */ 121 ECHO_CMD = 0x3, 122 123 /** 124 * @INIT_COMPLETE_NOTIF: Notification that initialization is complete. 125 */ 126 INIT_COMPLETE_NOTIF = 0x4, 127 128 /** 129 * @PHY_CONTEXT_CMD: 130 * Add/modify/remove a PHY context, using &struct iwl_phy_context_cmd. 131 */ 132 PHY_CONTEXT_CMD = 0x8, 133 134 /** 135 * @DBG_CFG: Debug configuration command. 136 */ 137 DBG_CFG = 0x9, 138 139 /** 140 * @SCAN_ITERATION_COMPLETE_UMAC: 141 * Firmware indicates a scan iteration completed, using 142 * &struct iwl_umac_scan_iter_complete_notif. 143 */ 144 SCAN_ITERATION_COMPLETE_UMAC = 0xb5, 145 146 /** 147 * @SCAN_CFG_CMD: 148 * uses &struct iwl_scan_config_v1 or &struct iwl_scan_config 149 */ 150 SCAN_CFG_CMD = 0xc, 151 152 /** 153 * @SCAN_REQ_UMAC: uses &struct iwl_scan_req_umac 154 */ 155 SCAN_REQ_UMAC = 0xd, 156 157 /** 158 * @SCAN_ABORT_UMAC: uses &struct iwl_umac_scan_abort 159 */ 160 SCAN_ABORT_UMAC = 0xe, 161 162 /** 163 * @SCAN_COMPLETE_UMAC: uses &struct iwl_umac_scan_complete 164 */ 165 SCAN_COMPLETE_UMAC = 0xf, 166 167 /** 168 * @BA_WINDOW_STATUS_NOTIFICATION_ID: 169 * uses &struct iwl_ba_window_status_notif 170 */ 171 BA_WINDOW_STATUS_NOTIFICATION_ID = 0x13, 172 173 /** 174 * @ADD_STA_KEY: 175 * &struct iwl_mvm_add_sta_key_cmd_v1 or 176 * &struct iwl_mvm_add_sta_key_cmd. 177 */ 178 ADD_STA_KEY = 0x17, 179 180 /** 181 * @ADD_STA: 182 * &struct iwl_mvm_add_sta_cmd or &struct iwl_mvm_add_sta_cmd_v7. 183 */ 184 ADD_STA = 0x18, 185 186 /** 187 * @REMOVE_STA: &struct iwl_mvm_rm_sta_cmd 188 */ 189 REMOVE_STA = 0x19, 190 191 /** 192 * @FW_GET_ITEM_CMD: uses &struct iwl_fw_get_item_cmd 193 */ 194 FW_GET_ITEM_CMD = 0x1a, 195 196 /** 197 * @TX_CMD: uses &struct iwl_tx_cmd or &struct iwl_tx_cmd_gen2 or 198 * &struct iwl_tx_cmd_gen3, 199 * response in &struct iwl_mvm_tx_resp or 200 * &struct iwl_mvm_tx_resp_v3 201 */ 202 TX_CMD = 0x1c, 203 204 /** 205 * @TXPATH_FLUSH: &struct iwl_tx_path_flush_cmd 206 */ 207 TXPATH_FLUSH = 0x1e, 208 209 /** 210 * @MGMT_MCAST_KEY: 211 * &struct iwl_mvm_mgmt_mcast_key_cmd or 212 * &struct iwl_mvm_mgmt_mcast_key_cmd_v1 213 */ 214 MGMT_MCAST_KEY = 0x1f, 215 216 /* scheduler config */ 217 /** 218 * @SCD_QUEUE_CFG: &struct iwl_scd_txq_cfg_cmd for older hardware, 219 * &struct iwl_tx_queue_cfg_cmd with &struct iwl_tx_queue_cfg_rsp 220 * for newer (22000) hardware. 221 */ 222 SCD_QUEUE_CFG = 0x1d, 223 224 /** 225 * @WEP_KEY: uses &struct iwl_mvm_wep_key_cmd 226 */ 227 WEP_KEY = 0x20, 228 229 /** 230 * @SHARED_MEM_CFG: 231 * retrieve shared memory configuration - response in 232 * &struct iwl_shared_mem_cfg 233 */ 234 SHARED_MEM_CFG = 0x25, 235 236 /** 237 * @TDLS_CHANNEL_SWITCH_CMD: uses &struct iwl_tdls_channel_switch_cmd 238 */ 239 TDLS_CHANNEL_SWITCH_CMD = 0x27, 240 241 /** 242 * @TDLS_CHANNEL_SWITCH_NOTIFICATION: 243 * uses &struct iwl_tdls_channel_switch_notif 244 */ 245 TDLS_CHANNEL_SWITCH_NOTIFICATION = 0xaa, 246 247 /** 248 * @TDLS_CONFIG_CMD: 249 * &struct iwl_tdls_config_cmd, response in &struct iwl_tdls_config_res 250 */ 251 TDLS_CONFIG_CMD = 0xa7, 252 253 /** 254 * @MAC_CONTEXT_CMD: &struct iwl_mac_ctx_cmd 255 */ 256 MAC_CONTEXT_CMD = 0x28, 257 258 /** 259 * @TIME_EVENT_CMD: 260 * &struct iwl_time_event_cmd, response in &struct iwl_time_event_resp 261 */ 262 TIME_EVENT_CMD = 0x29, /* both CMD and response */ 263 264 /** 265 * @TIME_EVENT_NOTIFICATION: &struct iwl_time_event_notif 266 */ 267 TIME_EVENT_NOTIFICATION = 0x2a, 268 269 /** 270 * @BINDING_CONTEXT_CMD: 271 * &struct iwl_binding_cmd or &struct iwl_binding_cmd_v1 272 */ 273 BINDING_CONTEXT_CMD = 0x2b, 274 275 /** 276 * @TIME_QUOTA_CMD: &struct iwl_time_quota_cmd 277 */ 278 TIME_QUOTA_CMD = 0x2c, 279 280 /** 281 * @NON_QOS_TX_COUNTER_CMD: 282 * command is &struct iwl_nonqos_seq_query_cmd 283 */ 284 NON_QOS_TX_COUNTER_CMD = 0x2d, 285 286 /** 287 * @LEDS_CMD: command is &struct iwl_led_cmd 288 */ 289 LEDS_CMD = 0x48, 290 291 /** 292 * @LQ_CMD: using &struct iwl_lq_cmd 293 */ 294 LQ_CMD = 0x4e, 295 296 /** 297 * @FW_PAGING_BLOCK_CMD: 298 * &struct iwl_fw_paging_cmd 299 */ 300 FW_PAGING_BLOCK_CMD = 0x4f, 301 302 /** 303 * @SCAN_OFFLOAD_REQUEST_CMD: uses &struct iwl_scan_req_lmac 304 */ 305 SCAN_OFFLOAD_REQUEST_CMD = 0x51, 306 307 /** 308 * @SCAN_OFFLOAD_ABORT_CMD: abort the scan - no further contents 309 */ 310 SCAN_OFFLOAD_ABORT_CMD = 0x52, 311 312 /** 313 * @HOT_SPOT_CMD: uses &struct iwl_hs20_roc_req 314 */ 315 HOT_SPOT_CMD = 0x53, 316 317 /** 318 * @SCAN_OFFLOAD_COMPLETE: 319 * notification, &struct iwl_periodic_scan_complete 320 */ 321 SCAN_OFFLOAD_COMPLETE = 0x6D, 322 323 /** 324 * @SCAN_OFFLOAD_UPDATE_PROFILES_CMD: 325 * update scan offload (scheduled scan) profiles/blacklist/etc. 326 */ 327 SCAN_OFFLOAD_UPDATE_PROFILES_CMD = 0x6E, 328 329 /** 330 * @MATCH_FOUND_NOTIFICATION: scan match found 331 */ 332 MATCH_FOUND_NOTIFICATION = 0xd9, 333 334 /** 335 * @SCAN_ITERATION_COMPLETE: 336 * uses &struct iwl_lmac_scan_complete_notif 337 */ 338 SCAN_ITERATION_COMPLETE = 0xe7, 339 340 /* Phy */ 341 /** 342 * @PHY_CONFIGURATION_CMD: &struct iwl_phy_cfg_cmd 343 */ 344 PHY_CONFIGURATION_CMD = 0x6a, 345 346 /** 347 * @CALIB_RES_NOTIF_PHY_DB: &struct iwl_calib_res_notif_phy_db 348 */ 349 CALIB_RES_NOTIF_PHY_DB = 0x6b, 350 351 /** 352 * @PHY_DB_CMD: &struct iwl_phy_db_cmd 353 */ 354 PHY_DB_CMD = 0x6c, 355 356 /** 357 * @POWER_TABLE_CMD: &struct iwl_device_power_cmd 358 */ 359 POWER_TABLE_CMD = 0x77, 360 361 /** 362 * @PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION: 363 * &struct iwl_uapsd_misbehaving_ap_notif 364 */ 365 PSM_UAPSD_AP_MISBEHAVING_NOTIFICATION = 0x78, 366 367 /** 368 * @LTR_CONFIG: &struct iwl_ltr_config_cmd 369 */ 370 LTR_CONFIG = 0xee, 371 372 /** 373 * @REPLY_THERMAL_MNG_BACKOFF: 374 * Thermal throttling command 375 */ 376 REPLY_THERMAL_MNG_BACKOFF = 0x7e, 377 378 /** 379 * @DC2DC_CONFIG_CMD: 380 * Set/Get DC2DC frequency tune 381 * Command is &struct iwl_dc2dc_config_cmd, 382 * response is &struct iwl_dc2dc_config_resp 383 */ 384 DC2DC_CONFIG_CMD = 0x83, 385 386 /** 387 * @NVM_ACCESS_CMD: using &struct iwl_nvm_access_cmd 388 */ 389 NVM_ACCESS_CMD = 0x88, 390 391 /** 392 * @BEACON_NOTIFICATION: &struct iwl_extended_beacon_notif 393 */ 394 BEACON_NOTIFICATION = 0x90, 395 396 /** 397 * @BEACON_TEMPLATE_CMD: 398 * Uses one of &struct iwl_mac_beacon_cmd_v6, 399 * &struct iwl_mac_beacon_cmd_v7 or &struct iwl_mac_beacon_cmd 400 * depending on the device version. 401 */ 402 BEACON_TEMPLATE_CMD = 0x91, 403 /** 404 * @TX_ANT_CONFIGURATION_CMD: &struct iwl_tx_ant_cfg_cmd 405 */ 406 TX_ANT_CONFIGURATION_CMD = 0x98, 407 408 /** 409 * @STATISTICS_CMD: 410 * one of &struct iwl_statistics_cmd, 411 * &struct iwl_notif_statistics_v11, 412 * &struct iwl_notif_statistics_v10, 413 * &struct iwl_notif_statistics 414 */ 415 STATISTICS_CMD = 0x9c, 416 417 /** 418 * @STATISTICS_NOTIFICATION: 419 * one of &struct iwl_notif_statistics_v10, 420 * &struct iwl_notif_statistics_v11, 421 * &struct iwl_notif_statistics 422 */ 423 STATISTICS_NOTIFICATION = 0x9d, 424 425 /** 426 * @EOSP_NOTIFICATION: 427 * Notify that a service period ended, 428 * &struct iwl_mvm_eosp_notification 429 */ 430 EOSP_NOTIFICATION = 0x9e, 431 432 /** 433 * @REDUCE_TX_POWER_CMD: 434 * &struct iwl_dev_tx_power_cmd_v3 or &struct iwl_dev_tx_power_cmd_v4 435 * or &struct iwl_dev_tx_power_cmd 436 */ 437 REDUCE_TX_POWER_CMD = 0x9f, 438 439 /** 440 * @CARD_STATE_NOTIFICATION: 441 * Card state (RF/CT kill) notification, 442 * uses &struct iwl_card_state_notif 443 */ 444 CARD_STATE_NOTIFICATION = 0xa1, 445 446 /** 447 * @MISSED_BEACONS_NOTIFICATION: &struct iwl_missed_beacons_notif 448 */ 449 MISSED_BEACONS_NOTIFICATION = 0xa2, 450 451 /** 452 * @MAC_PM_POWER_TABLE: using &struct iwl_mac_power_cmd 453 */ 454 MAC_PM_POWER_TABLE = 0xa9, 455 456 /** 457 * @MFUART_LOAD_NOTIFICATION: &struct iwl_mfuart_load_notif 458 */ 459 MFUART_LOAD_NOTIFICATION = 0xb1, 460 461 /** 462 * @RSS_CONFIG_CMD: &struct iwl_rss_config_cmd 463 */ 464 RSS_CONFIG_CMD = 0xb3, 465 466 /** 467 * @REPLY_RX_PHY_CMD: &struct iwl_rx_phy_info 468 */ 469 REPLY_RX_PHY_CMD = 0xc0, 470 471 /** 472 * @REPLY_RX_MPDU_CMD: 473 * &struct iwl_rx_mpdu_res_start or &struct iwl_rx_mpdu_desc 474 */ 475 REPLY_RX_MPDU_CMD = 0xc1, 476 477 /** 478 * @FRAME_RELEASE: 479 * Frame release (reorder helper) notification, uses 480 * &struct iwl_frame_release 481 */ 482 FRAME_RELEASE = 0xc3, 483 484 /** 485 * @BA_NOTIF: 486 * BlockAck notification, uses &struct iwl_mvm_compressed_ba_notif 487 * or &struct iwl_mvm_ba_notif depending on the HW 488 */ 489 BA_NOTIF = 0xc5, 490 491 /* Location Aware Regulatory */ 492 /** 493 * @MCC_UPDATE_CMD: using &struct iwl_mcc_update_cmd 494 */ 495 MCC_UPDATE_CMD = 0xc8, 496 497 /** 498 * @MCC_CHUB_UPDATE_CMD: using &struct iwl_mcc_chub_notif 499 */ 500 MCC_CHUB_UPDATE_CMD = 0xc9, 501 502 /** 503 * @MARKER_CMD: trace marker command, uses &struct iwl_mvm_marker 504 * with &struct iwl_mvm_marker_rsp 505 */ 506 MARKER_CMD = 0xcb, 507 508 /** 509 * @BT_PROFILE_NOTIFICATION: &struct iwl_bt_coex_profile_notif 510 */ 511 BT_PROFILE_NOTIFICATION = 0xce, 512 513 /** 514 * @BT_CONFIG: &struct iwl_bt_coex_cmd 515 */ 516 BT_CONFIG = 0x9b, 517 518 /** 519 * @BT_COEX_UPDATE_REDUCED_TXP: 520 * &struct iwl_bt_coex_reduced_txp_update_cmd 521 */ 522 BT_COEX_UPDATE_REDUCED_TXP = 0x5c, 523 524 /** 525 * @BT_COEX_CI: &struct iwl_bt_coex_ci_cmd 526 */ 527 BT_COEX_CI = 0x5d, 528 529 /** 530 * @REPLY_SF_CFG_CMD: &struct iwl_sf_cfg_cmd 531 */ 532 REPLY_SF_CFG_CMD = 0xd1, 533 /** 534 * @REPLY_BEACON_FILTERING_CMD: &struct iwl_beacon_filter_cmd 535 */ 536 REPLY_BEACON_FILTERING_CMD = 0xd2, 537 538 /** 539 * @DTS_MEASUREMENT_NOTIFICATION: 540 * &struct iwl_dts_measurement_notif_v1 or 541 * &struct iwl_dts_measurement_notif_v2 542 */ 543 DTS_MEASUREMENT_NOTIFICATION = 0xdd, 544 545 /** 546 * @LDBG_CONFIG_CMD: configure continuous trace recording 547 */ 548 LDBG_CONFIG_CMD = 0xf6, 549 550 /** 551 * @DEBUG_LOG_MSG: Debugging log data from firmware 552 */ 553 DEBUG_LOG_MSG = 0xf7, 554 555 /** 556 * @BCAST_FILTER_CMD: &struct iwl_bcast_filter_cmd 557 */ 558 BCAST_FILTER_CMD = 0xcf, 559 560 /** 561 * @MCAST_FILTER_CMD: &struct iwl_mcast_filter_cmd 562 */ 563 MCAST_FILTER_CMD = 0xd0, 564 565 /** 566 * @D3_CONFIG_CMD: &struct iwl_d3_manager_config 567 */ 568 D3_CONFIG_CMD = 0xd3, 569 570 /** 571 * @PROT_OFFLOAD_CONFIG_CMD: Depending on firmware, uses one of 572 * &struct iwl_proto_offload_cmd_v1, &struct iwl_proto_offload_cmd_v2, 573 * &struct iwl_proto_offload_cmd_v3_small, 574 * &struct iwl_proto_offload_cmd_v3_large 575 */ 576 PROT_OFFLOAD_CONFIG_CMD = 0xd4, 577 578 /** 579 * @OFFLOADS_QUERY_CMD: 580 * No data in command, response in &struct iwl_wowlan_status 581 */ 582 OFFLOADS_QUERY_CMD = 0xd5, 583 584 /** 585 * @REMOTE_WAKE_CONFIG_CMD: &struct iwl_wowlan_remote_wake_config 586 */ 587 REMOTE_WAKE_CONFIG_CMD = 0xd6, 588 589 /** 590 * @D0I3_END_CMD: End D0i3/D3 state, no command data 591 */ 592 D0I3_END_CMD = 0xed, 593 594 /** 595 * @WOWLAN_PATTERNS: &struct iwl_wowlan_patterns_cmd 596 */ 597 WOWLAN_PATTERNS = 0xe0, 598 599 /** 600 * @WOWLAN_CONFIGURATION: &struct iwl_wowlan_config_cmd 601 */ 602 WOWLAN_CONFIGURATION = 0xe1, 603 604 /** 605 * @WOWLAN_TSC_RSC_PARAM: &struct iwl_wowlan_rsc_tsc_params_cmd 606 */ 607 WOWLAN_TSC_RSC_PARAM = 0xe2, 608 609 /** 610 * @WOWLAN_TKIP_PARAM: &struct iwl_wowlan_tkip_params_cmd 611 */ 612 WOWLAN_TKIP_PARAM = 0xe3, 613 614 /** 615 * @WOWLAN_KEK_KCK_MATERIAL: &struct iwl_wowlan_kek_kck_material_cmd 616 */ 617 WOWLAN_KEK_KCK_MATERIAL = 0xe4, 618 619 /** 620 * @WOWLAN_GET_STATUSES: response in &struct iwl_wowlan_status 621 */ 622 WOWLAN_GET_STATUSES = 0xe5, 623 624 /** 625 * @SCAN_OFFLOAD_PROFILES_QUERY_CMD: 626 * No command data, response is &struct iwl_scan_offload_profiles_query 627 */ 628 SCAN_OFFLOAD_PROFILES_QUERY_CMD = 0x56, 629 }; 630 631 /** 632 * enum iwl_system_subcmd_ids - system group command IDs 633 */ 634 enum iwl_system_subcmd_ids { 635 /** 636 * @SHARED_MEM_CFG_CMD: 637 * response in &struct iwl_shared_mem_cfg or 638 * &struct iwl_shared_mem_cfg_v2 639 */ 640 SHARED_MEM_CFG_CMD = 0x0, 641 642 /** 643 * @INIT_EXTENDED_CFG_CMD: &struct iwl_init_extended_cfg_cmd 644 */ 645 INIT_EXTENDED_CFG_CMD = 0x03, 646 647 /** 648 * @FW_ERROR_RECOVERY_CMD: &struct iwl_fw_error_recovery_cmd 649 */ 650 FW_ERROR_RECOVERY_CMD = 0x7, 651 }; 652 653 #endif /* __iwl_fw_api_commands_h__ */ 654