drivers/net/wireless/ti/wl1251/acx.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ti/wl1251/acx.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ti/wl1251/acx.h- Extension
.h- Size
- 38758 bytes
- Lines
- 1485
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
wl1251.hcmd.h
Detected Declarations
struct acx_headerstruct acx_error_counterstruct acx_revisionstruct acx_sleep_authstruct acx_data_path_paramsstruct acx_data_path_params_respstruct acx_rx_msdu_lifetimestruct acx_rx_configstruct acx_tx_queue_qos_configstruct acx_packet_detectionstruct acx_slotstruct acx_dot11_grp_addr_tblstruct acx_rx_timeoutstruct acx_rts_thresholdstruct acx_low_rssistruct acx_beacon_filter_optionstruct acx_beacon_filter_ie_tablestruct acx_conn_monit_paramsstruct acx_bt_wlan_coexstruct acx_bt_wlan_coex_paramstruct acx_energy_detectionstruct acx_beacon_broadcaststruct acx_event_maskstruct acx_fw_gen_frame_ratesstruct acx_dot11_station_idstruct acx_feature_configstruct acx_current_tx_powerstruct acx_dot11_default_keystruct acx_tsf_infostruct acx_wake_up_conditionstruct acx_aidstruct acx_preamblestruct acx_ctsprotectstruct acx_tx_statisticsstruct acx_rx_statisticsstruct acx_dma_statisticsstruct acx_isr_statisticsstruct acx_wep_statisticsstruct acx_pwr_statisticsstruct acx_mic_statisticsstruct acx_aes_statisticsstruct acx_event_statisticsstruct acx_ps_statisticsstruct acx_rxpipe_statisticsstruct acx_statisticsstruct acx_rate_classstruct acx_rate_policystruct wl1251_acx_memory
Annotated Snippet
struct acx_header {
struct wl1251_cmd_header cmd;
/* acx (or information element) header */
u16 id;
/* payload length (not including headers */
u16 len;
} __packed;
struct acx_error_counter {
struct acx_header header;
/* The number of PLCP errors since the last time this */
/* information element was interrogated. This field is */
/* automatically cleared when it is interrogated.*/
u32 PLCP_error;
/* The number of FCS errors since the last time this */
/* information element was interrogated. This field is */
/* automatically cleared when it is interrogated.*/
u32 FCS_error;
/* The number of MPDUs without PLCP header errors received*/
/* since the last time this information element was interrogated. */
/* This field is automatically cleared when it is interrogated.*/
u32 valid_frame;
/* the number of missed sequence numbers in the squentially */
/* values of frames seq numbers */
u32 seq_num_miss;
} __packed;
struct acx_revision {
struct acx_header header;
/*
* The WiLink firmware version, an ASCII string x.x.x.x,
* that uniquely identifies the current firmware.
* The left most digit is incremented each time a
* significant change is made to the firmware, such as
* code redesign or new platform support.
* The second digit is incremented when major enhancements
* are added or major fixes are made.
* The third digit is incremented for each GA release.
* The fourth digit is incremented for each build.
* The first two digits identify a firmware release version,
* in other words, a unique set of features.
* The first three digits identify a GA release.
*/
char fw_version[20];
/*
* This 4 byte field specifies the WiLink hardware version.
* bits 0 - 15: Reserved.
* bits 16 - 23: Version ID - The WiLink version ID
* (1 = first spin, 2 = second spin, and so on).
* bits 24 - 31: Chip ID - The WiLink chip ID.
*/
u32 hw_version;
} __packed;
enum wl1251_psm_mode {
/* Active mode */
WL1251_PSM_CAM = 0,
/* Power save mode */
WL1251_PSM_PS = 1,
/* Extreme low power */
WL1251_PSM_ELP = 2,
};
struct acx_sleep_auth {
struct acx_header header;
/* The sleep level authorization of the device. */
/* 0 - Always active*/
/* 1 - Power down mode: light / fast sleep*/
/* 2 - ELP mode: Deep / Max sleep*/
u8 sleep_auth;
u8 padding[3];
} __packed;
enum {
HOSTIF_PCI_MASTER_HOST_INDIRECT,
HOSTIF_PCI_MASTER_HOST_DIRECT,
HOSTIF_SLAVE,
HOSTIF_PKT_RING,
HOSTIF_DONTCARE = 0xFF
Annotation
- Immediate include surface: `wl1251.h`, `cmd.h`.
- Detected declarations: `struct acx_header`, `struct acx_error_counter`, `struct acx_revision`, `struct acx_sleep_auth`, `struct acx_data_path_params`, `struct acx_data_path_params_resp`, `struct acx_rx_msdu_lifetime`, `struct acx_rx_config`, `struct acx_tx_queue_qos_config`, `struct acx_packet_detection`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.