drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/ath/ath11k/debugfs_htt_stats.h- Extension
.h- Size
- 66438 bytes
- Lines
- 2046
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct htt_stats_string_tlvstruct htt_tx_pdev_stats_cmn_tlvstruct htt_tx_pdev_stats_urrn_tlv_vstruct htt_tx_pdev_stats_flush_tlv_vstruct htt_tx_pdev_stats_sifs_tlv_vstruct htt_tx_pdev_stats_phy_err_tlv_vstruct htt_tx_pdev_stats_sifs_hist_tlv_vstruct htt_tx_pdev_stats_tx_ppdu_stats_tlv_vstruct htt_tx_pdev_stats_tried_mpdu_cnt_hist_tlv_vstruct htt_hw_stats_intr_misc_tlvstruct htt_hw_stats_wd_timeout_tlvstruct htt_hw_stats_pdev_errs_tlvstruct htt_hw_stats_whal_tx_tlvstruct htt_msdu_flow_stats_tlvstruct htt_tx_tid_stats_tlvstruct htt_tx_tid_stats_v1_tlvstruct htt_rx_tid_stats_tlvstruct htt_counter_tlvstruct htt_peer_stats_cmn_tlvstruct htt_peer_details_tlvstruct htt_tx_peer_rate_stats_tlvstruct htt_rx_peer_rate_stats_tlvstruct htt_tx_hwq_mu_mimo_sch_stats_tlvstruct htt_tx_hwq_mu_mimo_mpdu_stats_tlvstruct htt_tx_hwq_mu_mimo_cmn_stats_tlvstruct htt_tx_hwq_stats_cmn_tlvstruct htt_tx_hwq_difs_latency_stats_tlv_vstruct htt_tx_hwq_cmd_result_stats_tlv_vstruct htt_tx_hwq_cmd_stall_stats_tlv_vstruct htt_tx_hwq_fes_result_stats_tlv_vstruct htt_tx_hwq_tried_mpdu_cnt_hist_tlv_vstruct htt_tx_hwq_txop_used_cnt_hist_tlv_vstruct htt_tx_selfgen_cmn_stats_tlvstruct htt_tx_selfgen_ac_stats_tlvstruct htt_tx_selfgen_ax_stats_tlvstruct htt_tx_selfgen_ac_err_stats_tlvstruct htt_tx_selfgen_ax_err_stats_tlvstruct htt_tx_pdev_mu_mimo_sch_stats_tlvstruct htt_tx_pdev_mu_mimo_mpdu_stats_tlvstruct htt_tx_pdev_mpdu_stats_tlvstruct htt_sched_txq_cmd_posted_tlv_vstruct htt_sched_txq_cmd_reaped_tlv_vstruct htt_sched_txq_sched_order_su_tlv_vstruct htt_sched_txq_sched_ineligibility_tlv_vstruct htt_tx_pdev_stats_sched_per_txq_tlvstruct htt_stats_tx_sched_cmn_tlvstruct htt_tx_tqm_gen_mpdu_stats_tlv_vstruct htt_tx_tqm_list_mpdu_stats_tlv_v
Annotated Snippet
struct htt_stats_string_tlv {
/* Can be variable length */
DECLARE_FLEX_ARRAY(u32, data);
} __packed;
#define HTT_STATS_MAC_ID GENMASK(7, 0)
/* == TX PDEV STATS == */
struct htt_tx_pdev_stats_cmn_tlv {
u32 mac_id__word;
u32 hw_queued;
u32 hw_reaped;
u32 underrun;
u32 hw_paused;
u32 hw_flush;
u32 hw_filt;
u32 tx_abort;
u32 mpdu_requeued;
u32 tx_xretry;
u32 data_rc;
u32 mpdu_dropped_xretry;
u32 illgl_rate_phy_err;
u32 cont_xretry;
u32 tx_timeout;
u32 pdev_resets;
u32 phy_underrun;
u32 txop_ovf;
u32 seq_posted;
u32 seq_failed_queueing;
u32 seq_completed;
u32 seq_restarted;
u32 mu_seq_posted;
u32 seq_switch_hw_paused;
u32 next_seq_posted_dsr;
u32 seq_posted_isr;
u32 seq_ctrl_cached;
u32 mpdu_count_tqm;
u32 msdu_count_tqm;
u32 mpdu_removed_tqm;
u32 msdu_removed_tqm;
u32 mpdus_sw_flush;
u32 mpdus_hw_filter;
u32 mpdus_truncated;
u32 mpdus_ack_failed;
u32 mpdus_expired;
u32 mpdus_seq_hw_retry;
u32 ack_tlv_proc;
u32 coex_abort_mpdu_cnt_valid;
u32 coex_abort_mpdu_cnt;
u32 num_total_ppdus_tried_ota;
u32 num_data_ppdus_tried_ota;
u32 local_ctrl_mgmt_enqued;
u32 local_ctrl_mgmt_freed;
u32 local_data_enqued;
u32 local_data_freed;
u32 mpdu_tried;
u32 isr_wait_seq_posted;
u32 tx_active_dur_us_low;
u32 tx_active_dur_us_high;
};
/* NOTE: Variable length TLV, use length spec to infer array size */
struct htt_tx_pdev_stats_urrn_tlv_v {
/* HTT_TX_PDEV_MAX_URRN_STATS */
DECLARE_FLEX_ARRAY(u32, urrn_stats);
};
/* NOTE: Variable length TLV, use length spec to infer array size */
struct htt_tx_pdev_stats_flush_tlv_v {
/* HTT_TX_PDEV_MAX_FLUSH_REASON_STATS */
DECLARE_FLEX_ARRAY(u32, flush_errs);
};
/* NOTE: Variable length TLV, use length spec to infer array size */
struct htt_tx_pdev_stats_sifs_tlv_v {
/* HTT_TX_PDEV_MAX_SIFS_BURST_STATS */
DECLARE_FLEX_ARRAY(u32, sifs_status);
};
/* NOTE: Variable length TLV, use length spec to infer array size */
struct htt_tx_pdev_stats_phy_err_tlv_v {
/* HTT_TX_PDEV_MAX_PHY_ERR_STATS */
DECLARE_FLEX_ARRAY(u32, phy_errs);
};
/* NOTE: Variable length TLV, use length spec to infer array size */
struct htt_tx_pdev_stats_sifs_hist_tlv_v {
/* HTT_TX_PDEV_SIFS_BURST_HIST_STATS */
DECLARE_FLEX_ARRAY(u32, sifs_hist_status);
Annotation
- Detected declarations: `struct htt_stats_string_tlv`, `struct htt_tx_pdev_stats_cmn_tlv`, `struct htt_tx_pdev_stats_urrn_tlv_v`, `struct htt_tx_pdev_stats_flush_tlv_v`, `struct htt_tx_pdev_stats_sifs_tlv_v`, `struct htt_tx_pdev_stats_phy_err_tlv_v`, `struct htt_tx_pdev_stats_sifs_hist_tlv_v`, `struct htt_tx_pdev_stats_tx_ppdu_stats_tlv_v`, `struct htt_tx_pdev_stats_tried_mpdu_cnt_hist_tlv_v`, `struct htt_hw_stats_intr_misc_tlv`.
- 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.