drivers/net/wireless/intel/iwlwifi/fw/api/stats.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/fw/api/stats.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/intel/iwlwifi/fw/api/stats.h- Extension
.h- Size
- 39434 bytes
- Lines
- 1166
- 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
mac.hmac-cfg.h
Detected Declarations
struct mvm_statistics_dbgstruct mvm_statistics_divstruct mvm_statistics_rx_non_phystruct mvm_statistics_rx_non_phy_v3struct mvm_statistics_rx_phystruct mvm_statistics_rx_phy_v2struct mvm_statistics_rx_ht_phy_v1struct mvm_statistics_rx_ht_phystruct mvm_statistics_tx_non_phy_v3struct mvm_statistics_tx_non_phystruct mvm_statistics_tx_non_phy_aggstruct mvm_statistics_tx_channel_widthstruct mvm_statistics_tx_v4struct mvm_statistics_txstruct mvm_statistics_bt_activitystruct mvm_statistics_general_common_v19struct mvm_statistics_general_commonstruct mvm_statistics_general_v8struct mvm_statistics_generalstruct mvm_statistics_loadstruct mvm_statistics_load_v1struct mvm_statistics_rxstruct mvm_statistics_rx_v3struct iwl_notif_statistics_v10struct iwl_notif_statistics_v11struct iwl_notif_statisticsstruct iwl_statistics_cmdstruct iwl_system_statistics_cmdstruct iwl_statistics_ntfy_hdrstruct iwl_stats_ntfy_per_linkstruct iwl_stats_ntfy_part1_per_linkstruct iwl_stats_ntfy_per_macstruct iwl_stats_ntfy_per_phy_v1struct iwl_stats_ntfy_coexstruct iwl_stats_ntfy_per_phystruct iwl_stats_ntfy_per_stastruct iwl_system_statistics_notif_oper_v3struct iwl_system_statistics_notif_operstruct iwl_system_statistics_part1_notif_operstruct iwl_system_statistics_end_notifstruct iwl_statistics_operational_ntfystruct iwl_statistics_operational_ntfy_ver_14struct iwl_statistics_phy_ntfystruct iwl_statistics_mac_ntfystruct iwl_statistics_rx_ntfystruct iwl_statistics_tx_ntfystruct iwl_statistics_duration_ntfystruct iwl_statistics_he_ntfy
Annotated Snippet
struct mvm_statistics_dbg {
__le32 burst_check;
__le32 burst_count;
__le32 wait_for_silence_timeout_cnt;
u8 reserved[12];
} __packed; /* STATISTICS_DEBUG_API_S_VER_2 */
struct mvm_statistics_div {
__le32 tx_on_a;
__le32 tx_on_b;
__le32 exec_time;
__le32 probe_time;
__le32 rssi_ant;
__le32 reserved2;
} __packed; /* STATISTICS_SLOW_DIV_API_S_VER_2 */
/**
* struct mvm_statistics_rx_non_phy - non-PHY RX statistics
* @bogus_cts: CTS received when not expecting CTS
* @bogus_ack: ACK received when not expecting ACK
* @non_channel_beacons: beacons with our bss id but not on our serving channel
* @channel_beacons: beacons with our bss id and in our serving channel
* @num_missed_bcon: number of missed beacons
* @adc_rx_saturation_time: count in 0.8us units the time the ADC was in
* saturation
* @ina_detection_search_time: total time (in 0.8us) searched for INA
* @beacon_silence_rssi_a: RSSI silence after beacon frame
* @beacon_silence_rssi_b: RSSI silence after beacon frame
* @beacon_silence_rssi_c: RSSI silence after beacon frame
* @interference_data_flag: flag for interference data availability. 1 when data
* is available.
* @channel_load: counts RX Enable time in uSec
* @beacon_rssi_a: beacon RSSI on antenna A
* @beacon_rssi_b: beacon RSSI on antenna B
* @beacon_rssi_c: beacon RSSI on antenna C
* @beacon_energy_a: beacon energy on antenna A
* @beacon_energy_b: beacon energy on antenna B
* @beacon_energy_c: beacon energy on antenna C
* @num_bt_kills: number of BT "kills" (frame TX aborts)
* @mac_id: mac ID
*/
struct mvm_statistics_rx_non_phy {
__le32 bogus_cts;
__le32 bogus_ack;
__le32 non_channel_beacons;
__le32 channel_beacons;
__le32 num_missed_bcon;
__le32 adc_rx_saturation_time;
__le32 ina_detection_search_time;
__le32 beacon_silence_rssi_a;
__le32 beacon_silence_rssi_b;
__le32 beacon_silence_rssi_c;
__le32 interference_data_flag;
__le32 channel_load;
__le32 beacon_rssi_a;
__le32 beacon_rssi_b;
__le32 beacon_rssi_c;
__le32 beacon_energy_a;
__le32 beacon_energy_b;
__le32 beacon_energy_c;
__le32 num_bt_kills;
__le32 mac_id;
} __packed; /* STATISTICS_RX_NON_PHY_API_S_VER_4 */
struct mvm_statistics_rx_non_phy_v3 {
__le32 bogus_cts; /* CTS received when not expecting CTS */
__le32 bogus_ack; /* ACK received when not expecting ACK */
__le32 non_bssid_frames; /* number of frames with BSSID that
* doesn't belong to the STA BSSID */
__le32 filtered_frames; /* count frames that were dumped in the
* filtering process */
__le32 non_channel_beacons; /* beacons with our bss id but not on
* our serving channel */
__le32 channel_beacons; /* beacons with our bss id and in our
* serving channel */
__le32 num_missed_bcon; /* number of missed beacons */
__le32 adc_rx_saturation_time; /* count in 0.8us units the time the
* ADC was in saturation */
__le32 ina_detection_search_time;/* total time (in 0.8us) searched
* for INA */
__le32 beacon_silence_rssi_a; /* RSSI silence after beacon frame */
__le32 beacon_silence_rssi_b; /* RSSI silence after beacon frame */
__le32 beacon_silence_rssi_c; /* RSSI silence after beacon frame */
__le32 interference_data_flag; /* flag for interference data
* availability. 1 when data is
* available. */
__le32 channel_load; /* counts RX Enable time in uSec */
__le32 dsp_false_alarms; /* DSP false alarm (both OFDM
* and CCK) counter */
__le32 beacon_rssi_a;
Annotation
- Immediate include surface: `mac.h`, `mac-cfg.h`.
- Detected declarations: `struct mvm_statistics_dbg`, `struct mvm_statistics_div`, `struct mvm_statistics_rx_non_phy`, `struct mvm_statistics_rx_non_phy_v3`, `struct mvm_statistics_rx_phy`, `struct mvm_statistics_rx_phy_v2`, `struct mvm_statistics_rx_ht_phy_v1`, `struct mvm_statistics_rx_ht_phy`, `struct mvm_statistics_tx_non_phy_v3`, `struct mvm_statistics_tx_non_phy`.
- 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.