drivers/net/wireless/intel/iwlwifi/fw/api/commands.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/fw/api/commands.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/intel/iwlwifi/fw/api/commands.h
Extension
.h
Size
15244 bytes
Lines
665
Domain
Driver Families
Bucket
drivers/net
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __iwl_fw_api_commands_h__
#define __iwl_fw_api_commands_h__

/**
 * enum iwl_mvm_command_groups - command groups for the firmware
 * @LEGACY_GROUP: legacy group, uses command IDs from &enum iwl_legacy_cmds
 * @LONG_GROUP: legacy group with long header, also uses command IDs
 *	from &enum iwl_legacy_cmds
 * @SYSTEM_GROUP: system group, uses command IDs from
 *	&enum iwl_system_subcmd_ids
 * @MAC_CONF_GROUP: MAC configuration group, uses command IDs from
 *	&enum iwl_mac_conf_subcmd_ids
 * @PHY_OPS_GROUP: PHY operations group, uses command IDs from
 *	&enum iwl_phy_ops_subcmd_ids
 * @DATA_PATH_GROUP: data path group, uses command IDs from
 *	&enum iwl_data_path_subcmd_ids
 * @SCAN_GROUP: scan group, uses command IDs from
 *	&enum iwl_scan_subcmd_ids
 * @LOCATION_GROUP: location group, uses command IDs from
 *	&enum iwl_location_subcmd_ids
 * @BT_COEX_GROUP: bt coex group, uses command IDs from
 *	&enum iwl_bt_coex_subcmd_ids
 * @PROT_OFFLOAD_GROUP: protocol offload group, uses command IDs from
 *	&enum iwl_prot_offload_subcmd_ids
 * @REGULATORY_AND_NVM_GROUP: regulatory/NVM group, uses command IDs from
 *	&enum iwl_regulatory_and_nvm_subcmd_ids
 * @DEBUG_GROUP: Debug group, uses command IDs from &enum iwl_debug_cmds
 * @STATISTICS_GROUP: Statistics group, uses command IDs from
 *	&enum iwl_statistics_subcmd_ids
 */
enum iwl_mvm_command_groups {
	LEGACY_GROUP = 0x0,
	LONG_GROUP = 0x1,
	SYSTEM_GROUP = 0x2,
	MAC_CONF_GROUP = 0x3,
	PHY_OPS_GROUP = 0x4,
	DATA_PATH_GROUP = 0x5,
	SCAN_GROUP = 0x6,
	LOCATION_GROUP = 0x8,
	BT_COEX_GROUP = 0x9,
	PROT_OFFLOAD_GROUP = 0xb,
	REGULATORY_AND_NVM_GROUP = 0xc,
	DEBUG_GROUP = 0xf,
	STATISTICS_GROUP = 0x10,
};

/**
 * enum iwl_legacy_cmds - legacy group command IDs
 */
enum iwl_legacy_cmds {
	/**
	 * @UCODE_ALIVE_NTFY:
	 * Alive data from the firmware, as described in
	 * &struct iwl_alive_ntf_v3 or &struct iwl_alive_ntf_v7.
	 */
	UCODE_ALIVE_NTFY = 0x1,

	/**
	 * @REPLY_ERROR: Cause an error in the firmware, for testing purposes.
	 */
	REPLY_ERROR = 0x2,

	/**
	 * @ECHO_CMD: Send data to the device to have it returned immediately.
	 */
	ECHO_CMD = 0x3,

	/**
	 * @INIT_COMPLETE_NOTIF: Notification that initialization is complete.
	 */
	INIT_COMPLETE_NOTIF = 0x4,

	/**
	 * @PHY_CONTEXT_CMD:
	 * Add/modify/remove a PHY context, using &struct iwl_phy_context_cmd
	 *	or &struct iwl_phy_context_cmd_v1.
	 */
	PHY_CONTEXT_CMD = 0x8,

	/**
	 * @DBG_CFG: Debug configuration command.
	 */
	DBG_CFG = 0x9,

	/**
	 * @SCAN_ITERATION_COMPLETE_UMAC:
	 * Firmware indicates a scan iteration completed, using
	 * &struct iwl_umac_scan_iter_complete_notif.
	 */
	SCAN_ITERATION_COMPLETE_UMAC = 0xb5,

Annotation

Implementation Notes