drivers/net/wireless/silabs/wfx/hif_api_mib.h

Source file repositories/reference/linux-study-clean/drivers/net/wireless/silabs/wfx/hif_api_mib.h

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/silabs/wfx/hif_api_mib.h
Extension
.h
Size
9573 bytes
Lines
347
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 wfx_hif_mib_gl_operational_power_mode {
	u8     power_mode:4;
	u8     reserved1:3;
	u8     wup_ind_activation:1;
	u8     reserved2[3];
} __packed;

struct wfx_hif_mib_gl_set_multi_msg {
	u8     enable_multi_tx_conf:1;
	u8     reserved1:7;
	u8     reserved2[3];
} __packed;

enum wfx_hif_arp_ns_frame_treatment {
	HIF_ARP_NS_FILTERING_DISABLE = 0x0,
	HIF_ARP_NS_FILTERING_ENABLE  = 0x1,
	HIF_ARP_NS_REPLY_ENABLE      = 0x2
};

struct wfx_hif_mib_arp_ip_addr_table {
	u8     condition_idx;
	u8     arp_enable;
	u8     reserved[2];
	u8     ipv4_address[HIF_API_IPV4_ADDRESS_SIZE];
} __packed;

struct wfx_hif_mib_rx_filter {
	u8     reserved1:1;
	u8     bssid_filter:1;
	u8     reserved2:1;
	u8     fwd_probe_req:1;
	u8     keep_alive_filter:1;
	u8     reserved3:3;
	u8     reserved4[3];
} __packed;

struct wfx_hif_ie_table_entry {
	u8     ie_id;
	u8     has_changed:1;
	u8     no_longer:1;
	u8     has_appeared:1;
	u8     reserved:1;
	u8     num_match_data:4;
	u8     oui[3];
	u8     match_data[3];
} __packed;

struct wfx_hif_mib_bcn_filter_table {
	__le32 num_of_info_elmts;
	struct wfx_hif_ie_table_entry ie_table[];
} __packed;

enum wfx_hif_beacon_filter {
	HIF_BEACON_FILTER_DISABLE  = 0x0,
	HIF_BEACON_FILTER_ENABLE   = 0x1,
	HIF_BEACON_FILTER_AUTO_ERP = 0x2
};

struct wfx_hif_mib_bcn_filter_enable {
	__le32 enable;
	__le32 bcn_count;
} __packed;

struct wfx_hif_mib_extended_count_table {
	__le32 count_drop_plcp;
	__le32 count_drop_fcs;
	__le32 count_tx_frames;
	__le32 count_rx_frames;
	__le32 count_rx_frames_failed;
	__le32 count_drop_decryption;
	__le32 count_drop_tkip_mic;
	__le32 count_drop_no_key;
	__le32 count_tx_frames_multicast;
	__le32 count_tx_frames_success;
	__le32 count_tx_frames_failed;
	__le32 count_tx_frames_retried;
	__le32 count_tx_frames_multi_retried;
	__le32 count_drop_duplicate;
	__le32 count_rts_success;
	__le32 count_rts_failed;
	__le32 count_ack_failed;
	__le32 count_rx_frames_multicast;
	__le32 count_rx_frames_success;
	__le32 count_drop_cmac_icv;
	__le32 count_drop_cmac_replay;
	__le32 count_drop_ccmp_replay;
	__le32 count_drop_bip_mic;
	__le32 count_rx_bcn_success;
	__le32 count_rx_bcn_miss;
	__le32 count_rx_bcn_dtim;

Annotation

Implementation Notes