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

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

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/intel/iwlwifi/fw/api/dhc.h
Extension
.h
Size
6821 bytes
Lines
227
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

struct iwl_dhc_cmd {
	__le32 length;
	__le32 index_and_mask;
	__le32 data[];
} __packed; /* DHC_CMD_API_S */

/**
 * struct iwl_dhc_payload_hdr - DHC payload header
 * @version: a version of a payload
 * @reserved: reserved for alignment
 */
struct iwl_dhc_payload_hdr {
	u8 version;
	u8 reserved[3];
} __packed; /* DHC_PAYLOAD_HDR_API_S_VER_1 */

/**
 * struct iwl_dhc_tas_status_per_radio - TAS status per radio
 * @band: &PHY_BAND_5 for high band, PHY_BAND_24 for low band and
 *	&PHY_BAND_6 for ultra high band.
 * @static_status: TAS statically enabled or disabled
 * @static_disable_reason: TAS static disable reason, uses
 *	&enum iwl_tas_statically_disabled_reason
 * @near_disconnection: is TAS currently near disconnection per radio
 * @dynamic_status_ant_a: Antenna A current TAS status.
 *	uses &enum iwl_tas_dyna_status
 * @dynamic_status_ant_b: Antenna B current TAS status.
 *	uses &enum iwl_tas_dyna_status
 * @max_reg_pwr_limit_ant_a: Antenna A regulatory power limits in dBm
 * @max_reg_pwr_limit_ant_b: Antenna B regulatory power limits in dBm
 * @sar_limit_ant_a: Antenna A SAR limit per radio in dBm
 * @sar_limit_ant_b: Antenna B SAR limit per radio in dBm
 * @reserved: reserved for alignment
 */
struct iwl_dhc_tas_status_per_radio {
	u8 band;
	u8 static_status;
	u8 static_disable_reason;
	u8 near_disconnection;
	u8 dynamic_status_ant_a;
	u8 dynamic_status_ant_b;
	__le16 max_reg_pwr_limit_ant_a;
	__le16 max_reg_pwr_limit_ant_b;
	__le16 sar_limit_ant_a;
	__le16 sar_limit_ant_b;
	u8 reserved[2];
} __packed; /* DHC_TAS_STATUS_PER_RADIO_S_VER_1 */

/**
 * struct iwl_dhc_tas_status_resp - Response to DHC_TOOLS_UMAC_GET_TAS_STATUS
 * @header: DHC payload header, uses &struct iwl_dhc_payload_hdr
 * @tas_config_info: see @struct bios_value_u32
 * @mcc_block_list: block listed country codes
 * @tas_status_radio: TAS status, uses &struct iwl_dhc_tas_status_per_radio
 * @curr_mcc: current mcc
 * @valid_radio_mask: represent entry in tas_status_per_radio is valid.
 * @reserved: reserved for alignment
 */
struct iwl_dhc_tas_status_resp {
	struct iwl_dhc_payload_hdr header;
	struct bios_value_u32 tas_config_info;
	__le16 mcc_block_list[IWL_WTAS_BLACK_LIST_MAX];
	struct iwl_dhc_tas_status_per_radio tas_status_radio[2];
	__le16 curr_mcc;
	u8 valid_radio_mask;
	u8 reserved;
} __packed; /* DHC_TAS_STATUS_RSP_API_S_VER_1 */

/**
 * struct iwl_dhc_cmd_resp_v1 - debug host command response
 * @status: status of the command
 * @data: the response data
 */
struct iwl_dhc_cmd_resp_v1 {
	__le32 status;
	__le32 data[];
} __packed; /* DHC_RESP_API_S_VER_1 */

/**
 * struct iwl_dhc_cmd_resp - debug host command response
 * @status: status of the command
 * @descriptor: command descriptor (index_and_mask) returned
 * @data: the response data
 */
struct iwl_dhc_cmd_resp {
	__le32 status;
	__le32 descriptor;
	__le32 data[];
} __packed; /* DHC_RESP_API_S_VER_2 and DHC_RESP_API_S_VER_3 */

Annotation

Implementation Notes