drivers/net/wireless/intel/iwlwifi/fw/api/location.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/fw/api/location.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/intel/iwlwifi/fw/api/location.h- Extension
.h- Size
- 75933 bytes
- Lines
- 1945
- 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
linux/ieee80211.hlinux/if_ether.hlinux/types.hlinux/bits.hrs.h
Detected Declarations
struct iwl_tof_config_cmdstruct iwl_tof_responder_config_cmd_v6struct iwl_tof_responder_config_cmd_v7struct iwl_tof_responder_config_cmd_v8struct iwl_tof_responder_config_cmd_v9struct iwl_tof_responder_config_cmdstruct iwl_tof_responder_dyn_config_cmd_v2struct iwl_tof_responder_dyn_config_cmdstruct iwl_tof_range_req_ext_cmdstruct iwl_tof_range_req_ap_entry_v2struct iwl_tof_range_req_ap_entry_v3struct iwl_tof_range_req_ap_entry_v4struct iwl_tof_range_req_ap_entry_v6struct iwl_tof_range_req_ap_entry_v7struct iwl_tof_range_req_ap_entry_v8struct iwl_tof_range_req_ap_entry_v9struct iwl_tof_range_req_ap_entrystruct iwl_tof_range_req_cmd_v5struct iwl_tof_range_req_cmd_v7struct iwl_tof_range_req_cmd_v8struct iwl_tof_range_req_cmd_v9struct iwl_tof_range_req_cmd_v11struct iwl_tof_range_req_cmd_v12struct iwl_tof_range_req_cmd_v13struct iwl_tof_range_req_cmdstruct iwl_tof_range_rsp_ap_entry_ntfy_v3struct iwl_tof_range_rsp_ap_entry_ntfy_v4struct iwl_tof_range_rsp_ap_entry_ntfy_v5struct iwl_tof_range_rsp_ap_entry_ntfy_v7struct iwl_tof_range_rsp_ap_entry_ntfystruct iwl_tof_range_rsp_ntfy_v5struct iwl_tof_range_rsp_ntfy_v6struct iwl_tof_range_rsp_ntfy_v7struct iwl_tof_range_rsp_ntfy_v9struct iwl_tof_range_rsp_ntfystruct iwl_tof_mcsi_notifstruct iwl_tof_range_abort_cmdstruct iwl_ftm_responder_statsstruct iwl_csi_chunk_notificationenum iwl_location_subcmd_idsenum iwl_location_frame_formatenum iwl_location_bwenum iwl_location_format_bwenum iwl_tof_bandwidthenum iwl_tof_algo_typeenum iwl_tof_mcsi_enableenum iwl_tof_responder_cmd_valid_fieldenum iwl_tof_responder_cfg_flags
Annotated Snippet
struct iwl_tof_config_cmd {
u8 tof_disabled;
u8 one_sided_disabled;
u8 is_debug_mode;
u8 is_buf_required;
} __packed;
/**
* enum iwl_tof_bandwidth - values for iwl_tof_range_req_ap_entry.bandwidth
* @IWL_TOF_BW_20_LEGACY: 20 MHz non-HT
* @IWL_TOF_BW_20_HT: 20 MHz HT
* @IWL_TOF_BW_40: 40 MHz
* @IWL_TOF_BW_80: 80 MHz
* @IWL_TOF_BW_160: 160 MHz
* @IWL_TOF_BW_NUM: number of tof bandwidths
*/
enum iwl_tof_bandwidth {
IWL_TOF_BW_20_LEGACY,
IWL_TOF_BW_20_HT,
IWL_TOF_BW_40,
IWL_TOF_BW_80,
IWL_TOF_BW_160,
IWL_TOF_BW_NUM,
}; /* LOCAT_BW_TYPE_E */
/*
* enum iwl_tof_algo_type - Algorithym type for range measurement request
*/
enum iwl_tof_algo_type {
IWL_TOF_ALGO_TYPE_MAX_LIKE = 0,
IWL_TOF_ALGO_TYPE_LINEAR_REG = 1,
IWL_TOF_ALGO_TYPE_FFT = 2,
/* Keep last */
IWL_TOF_ALGO_TYPE_INVALID,
}; /* ALGO_TYPE_E */
/*
* enum iwl_tof_mcsi_ntfy - Enable/Disable MCSI notifications
*/
enum iwl_tof_mcsi_enable {
IWL_TOF_MCSI_DISABLED = 0,
IWL_TOF_MCSI_ENABLED = 1,
}; /* MCSI_ENABLE_E */
/**
* enum iwl_tof_responder_cmd_valid_field - valid fields in the responder cfg
* @IWL_TOF_RESPONDER_CMD_VALID_CHAN_INFO: channel info is valid
* @IWL_TOF_RESPONDER_CMD_VALID_TOA_OFFSET: ToA offset is valid
* @IWL_TOF_RESPONDER_CMD_VALID_COMMON_CALIB: common calibration mode is valid
* @IWL_TOF_RESPONDER_CMD_VALID_SPECIFIC_CALIB: spefici calibration mode is
* valid
* @IWL_TOF_RESPONDER_CMD_VALID_BSSID: BSSID is valid
* @IWL_TOF_RESPONDER_CMD_VALID_TX_ANT: TX antenna is valid
* @IWL_TOF_RESPONDER_CMD_VALID_ALGO_TYPE: algorithm type is valid
* @IWL_TOF_RESPONDER_CMD_VALID_NON_ASAP_SUPPORT: non-ASAP support is valid
* @IWL_TOF_RESPONDER_CMD_VALID_STATISTICS_REPORT_SUPPORT: statistics report
* support is valid
* @IWL_TOF_RESPONDER_CMD_VALID_MCSI_NOTIF_SUPPORT: MCSI notification support
* is valid
* @IWL_TOF_RESPONDER_CMD_VALID_FAST_ALGO_SUPPORT: fast algorithm support
* is valid
* @IWL_TOF_RESPONDER_CMD_VALID_RETRY_ON_ALGO_FAIL: retry on algorithm failure
* is valid
* @IWL_TOF_RESPONDER_CMD_VALID_STA_ID: station ID is valid
* @IWL_TOF_RESPONDER_CMD_VALID_NDP_SUPPORT: enable/disable NDP ranging support
* is valid
* @IWL_TOF_RESPONDER_CMD_VALID_NDP_PARAMS: NDP parameters are valid
* @IWL_TOF_RESPONDER_CMD_VALID_LMR_FEEDBACK: LMR feedback support is valid
* @IWL_TOF_RESPONDER_CMD_VALID_SESSION_ID: session id flag is valid
* @IWL_TOF_RESPONDER_CMD_VALID_BSS_COLOR: the bss_color field is valid
* @IWL_TOF_RESPONDER_CMD_VALID_MIN_MAX_TIME_BETWEEN_MSR: the
* min_time_between_msr and max_time_between_msr fields are valid
*/
enum iwl_tof_responder_cmd_valid_field {
IWL_TOF_RESPONDER_CMD_VALID_CHAN_INFO = BIT(0),
IWL_TOF_RESPONDER_CMD_VALID_TOA_OFFSET = BIT(1),
IWL_TOF_RESPONDER_CMD_VALID_COMMON_CALIB = BIT(2),
IWL_TOF_RESPONDER_CMD_VALID_SPECIFIC_CALIB = BIT(3),
IWL_TOF_RESPONDER_CMD_VALID_BSSID = BIT(4),
IWL_TOF_RESPONDER_CMD_VALID_TX_ANT = BIT(5),
IWL_TOF_RESPONDER_CMD_VALID_ALGO_TYPE = BIT(6),
IWL_TOF_RESPONDER_CMD_VALID_NON_ASAP_SUPPORT = BIT(7),
IWL_TOF_RESPONDER_CMD_VALID_STATISTICS_REPORT_SUPPORT = BIT(8),
IWL_TOF_RESPONDER_CMD_VALID_MCSI_NOTIF_SUPPORT = BIT(9),
IWL_TOF_RESPONDER_CMD_VALID_FAST_ALGO_SUPPORT = BIT(10),
IWL_TOF_RESPONDER_CMD_VALID_RETRY_ON_ALGO_FAIL = BIT(11),
IWL_TOF_RESPONDER_CMD_VALID_STA_ID = BIT(12),
IWL_TOF_RESPONDER_CMD_VALID_NDP_SUPPORT = BIT(22),
IWL_TOF_RESPONDER_CMD_VALID_NDP_PARAMS = BIT(23),
Annotation
- Immediate include surface: `linux/ieee80211.h`, `linux/if_ether.h`, `linux/types.h`, `linux/bits.h`, `rs.h`.
- Detected declarations: `struct iwl_tof_config_cmd`, `struct iwl_tof_responder_config_cmd_v6`, `struct iwl_tof_responder_config_cmd_v7`, `struct iwl_tof_responder_config_cmd_v8`, `struct iwl_tof_responder_config_cmd_v9`, `struct iwl_tof_responder_config_cmd`, `struct iwl_tof_responder_dyn_config_cmd_v2`, `struct iwl_tof_responder_dyn_config_cmd`, `struct iwl_tof_range_req_ext_cmd`, `struct iwl_tof_range_req_ap_entry_v2`.
- 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.