drivers/net/wireless/ti/wl18xx/acx.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ti/wl18xx/acx.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ti/wl18xx/acx.h- Extension
.h- Size
- 9554 bytes
- Lines
- 406
- 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
../wlcore/wlcore.h../wlcore/acx.h
Detected Declarations
struct wl18xx_acx_host_config_bitmapstruct wl18xx_acx_checksum_statestruct wl18xx_acx_error_statsstruct wl18xx_acx_tx_statsstruct wl18xx_acx_rx_statsstruct wl18xx_acx_isr_statsstruct wl18xx_acx_pwr_statsstruct wl18xx_acx_rx_filter_statsstruct wl18xx_acx_rx_rate_statsstruct wl18xx_acx_aggr_statsstruct wl18xx_acx_pipeline_statsstruct wl18xx_acx_diversity_statsstruct wl18xx_acx_thermal_statsstruct wl18xx_acx_calib_failure_statsstruct wl18xx_roaming_statsstruct wl18xx_dfs_statsstruct wl18xx_acx_statisticsstruct wl18xx_acx_clear_statisticsstruct wlcore_peer_ht_operation_modestruct wlcore_acx_peer_capstruct wl18xx_acx_interrupt_notifystruct wl18xx_acx_rx_ba_filterstruct acx_ap_sleep_cfgstruct acx_dynamic_fw_traces_cfgstruct acx_time_sync_cfgenum wlcore_bandwidth
Annotated Snippet
struct wl18xx_acx_host_config_bitmap {
struct acx_header header;
__le32 host_cfg_bitmap;
__le32 host_sdio_block_size;
/* extra mem blocks per frame in TX. */
__le32 extra_mem_blocks;
/*
* number of bits of the length field in the first TX word
* (up to 15 - for using the entire 16 bits).
*/
__le32 length_field_size;
} __packed;
enum {
CHECKSUM_OFFLOAD_DISABLED = 0,
CHECKSUM_OFFLOAD_ENABLED = 1,
CHECKSUM_OFFLOAD_FAKE_RX = 2,
CHECKSUM_OFFLOAD_INVALID = 0xFF
};
struct wl18xx_acx_checksum_state {
struct acx_header header;
/* enum acx_checksum_state */
u8 checksum_state;
u8 pad[3];
} __packed;
struct wl18xx_acx_error_stats {
u32 error_frame_non_ctrl;
u32 error_frame_ctrl;
u32 error_frame_during_protection;
u32 null_frame_tx_start;
u32 null_frame_cts_start;
u32 bar_retry;
u32 num_frame_cts_nul_flid;
u32 tx_abort_failure;
u32 tx_resume_failure;
u32 rx_cmplt_db_overflow_cnt;
u32 elp_while_rx_exch;
u32 elp_while_tx_exch;
u32 elp_while_tx;
u32 elp_while_nvic_pending;
u32 rx_excessive_frame_len;
u32 burst_mismatch;
u32 tbc_exch_mismatch;
} __packed;
#define NUM_OF_RATES_INDEXES 30
struct wl18xx_acx_tx_stats {
u32 tx_prepared_descs;
u32 tx_cmplt;
u32 tx_template_prepared;
u32 tx_data_prepared;
u32 tx_template_programmed;
u32 tx_data_programmed;
u32 tx_burst_programmed;
u32 tx_starts;
u32 tx_stop;
u32 tx_start_templates;
u32 tx_start_int_templates;
u32 tx_start_fw_gen;
u32 tx_start_data;
u32 tx_start_null_frame;
u32 tx_exch;
u32 tx_retry_template;
u32 tx_retry_data;
u32 tx_retry_per_rate[NUM_OF_RATES_INDEXES];
u32 tx_exch_pending;
u32 tx_exch_expiry;
u32 tx_done_template;
u32 tx_done_data;
u32 tx_done_int_template;
u32 tx_cfe1;
u32 tx_cfe2;
u32 frag_called;
u32 frag_mpdu_alloc_failed;
u32 frag_init_called;
u32 frag_in_process_called;
u32 frag_tkip_called;
u32 frag_key_not_found;
u32 frag_need_fragmentation;
u32 frag_bad_mblk_num;
u32 frag_failed;
Annotation
- Immediate include surface: `../wlcore/wlcore.h`, `../wlcore/acx.h`.
- Detected declarations: `struct wl18xx_acx_host_config_bitmap`, `struct wl18xx_acx_checksum_state`, `struct wl18xx_acx_error_stats`, `struct wl18xx_acx_tx_stats`, `struct wl18xx_acx_rx_stats`, `struct wl18xx_acx_isr_stats`, `struct wl18xx_acx_pwr_stats`, `struct wl18xx_acx_rx_filter_stats`, `struct wl18xx_acx_rx_rate_stats`, `struct wl18xx_acx_aggr_stats`.
- 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.