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

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

File Facts

System
Linux kernel
Corpus path
drivers/net/wireless/silabs/wfx/hif_api_cmd.h
Extension
.h
Size
13650 bytes
Lines
554
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_req_reset {
	u8     reset_stat:1;
	u8     reset_all_int:1;
	u8     reserved1:6;
	u8     reserved2[3];
} __packed;

struct wfx_hif_cnf_reset {
	__le32 status;
} __packed;

struct wfx_hif_req_read_mib {
	__le16 mib_id;
	__le16 reserved;
} __packed;

struct wfx_hif_cnf_read_mib {
	__le32 status;
	__le16 mib_id;
	__le16 length;
	u8     mib_data[];
} __packed;

struct wfx_hif_req_write_mib {
	__le16 mib_id;
	__le16 length;
	u8     mib_data[];
} __packed;

struct wfx_hif_cnf_write_mib {
	__le32 status;
} __packed;

struct wfx_hif_req_update_ie {
	u8     beacon:1;
	u8     probe_resp:1;
	u8     probe_req:1;
	u8     reserved1:5;
	u8     reserved2;
	__le16 num_ies;
	u8     ie[];
} __packed;

struct wfx_hif_cnf_update_ie {
	__le32 status;
} __packed;

struct wfx_hif_ssid_def {
	__le32 ssid_length;
	u8     ssid[IEEE80211_MAX_SSID_LEN];
} __packed;

#define HIF_API_MAX_NB_SSIDS                           2
#define HIF_API_MAX_NB_CHANNELS                       14

struct wfx_hif_req_start_scan_alt {
	u8     band;
	u8     maintain_current_bss:1;
	u8     periodic:1;
	u8     reserved1:6;
	u8     disallow_ps:1;
	u8     reserved2:1;
	u8     short_preamble:1;
	u8     reserved3:5;
	u8     max_transmit_rate;
	__le16 periodic_interval;
	u8     reserved4;
	s8     periodic_rssi_thr;
	u8     num_of_probe_requests;
	u8     probe_delay;
	u8     num_of_ssids;
	u8     num_of_channels;
	__le32 min_channel_time;
	__le32 max_channel_time;
	__le32 tx_power_level; /* signed value */
	struct wfx_hif_ssid_def ssid_def[HIF_API_MAX_NB_SSIDS];
	u8     channel_list[];
} __packed;

struct wfx_hif_cnf_start_scan {
	__le32 status;
} __packed;

struct wfx_hif_cnf_stop_scan {
	__le32 status;
} __packed;

enum wfx_hif_pm_mode_status {
	HIF_PM_MODE_ACTIVE                         = 0x0,
	HIF_PM_MODE_PS                             = 0x1,

Annotation

Implementation Notes