drivers/net/wireless/intel/iwlwifi/mei/sap.h
Source file repositories/reference/linux-study-clean/drivers/net/wireless/intel/iwlwifi/mei/sap.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/wireless/intel/iwlwifi/mei/sap.h- Extension
.h- Size
- 24921 bytes
- Lines
- 785
- 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
mei/iwl-mei.h
Detected Declarations
struct iwl_sap_me_msg_hdrstruct iwl_sap_me_msg_startstruct iwl_sap_me_msg_start_okstruct iwl_sap_hdrstruct iwl_sap_msg_dwstruct iwl_sap_notif_connection_infostruct iwl_sap_notif_conn_statusstruct iwl_sap_notif_country_codestruct iwl_sap_notif_host_link_upstruct iwl_sap_notif_host_link_downstruct iwl_sap_notif_host_nic_infostruct iwl_sap_notif_dwstruct iwl_sap_notif_sar_limitsstruct iwl_sap_nvmstruct iwl_sap_eth_filterstruct iwl_sap_flex_filterstruct iwl_sap_ipv4_filterstruct iwl_sap_ipv6_filterstruct iwl_sap_oob_filtersstruct iwl_sap_csme_filtersstruct iwl_sap_cb_datastruct iwl_sap_pldr_datastruct iwl_sap_pldr_end_datastruct iwl_sap_pldr_ack_dataenum iwl_sap_me_msg_idenum iwl_sap_msgenum iwl_sap_nic_ownerenum iwl_sap_wifi_auth_typeenum iwl_sap_wifi_cipher_algenum iwl_sap_scan_requestenum iwl_sap_radio_state_bitmapenum iwl_sap_notif_host_suspends_bitmapenum iwl_sap_notif_link_down_typeenum iwl_sap_nvm_capsenum iwl_sap_eth_filter_flagsenum iwl_sap_flex_filter_flagsenum iwl_sap_ipv4_filter_flagsenum iwl_sap_ipv6_filter_flagsenum iwl_sap_icmpv6_filter_flagsenum iwl_sap_vlan_filter_flagsenum iwl_sap_pldr_status
Annotated Snippet
struct iwl_sap_me_msg_hdr {
__le32 type;
__le32 seq_num;
__le32 len;
} __packed;
/**
* struct iwl_sap_me_msg_start - used for the %SAP_ME_MSG_START message
* @hdr: See &struct iwl_sap_me_msg_hdr.
* @shared_mem: physical address of SAP shared memory area.
* @init_data_seq_num: seq_num of the first data packet HOST -> CSME.
* @init_notif_seq_num: seq_num of the first notification HOST -> CSME.
* @supported_versions: The host sends to the CSME a zero-terminated array
* of versions its supports.
*
* This message is sent by the host to CSME and will responded by the
* %SAP_ME_MSG_START_OK message.
*/
struct iwl_sap_me_msg_start {
struct iwl_sap_me_msg_hdr hdr;
__le64 shared_mem;
__le16 init_data_seq_num;
__le16 init_notif_seq_num;
u8 supported_versions[64];
} __packed;
/**
* struct iwl_sap_me_msg_start_ok - used for the %SAP_ME_MSG_START_OK
* @hdr: See &struct iwl_sap_me_msg_hdr
* @init_data_seq_num: Not used.
* @init_notif_seq_num: Not used
* @supported_version: The version that will be used.
* @reserved: For alignment.
*
* This message is sent by CSME to the host in response to the
* %SAP_ME_MSG_START message.
*/
struct iwl_sap_me_msg_start_ok {
struct iwl_sap_me_msg_hdr hdr;
__le16 init_data_seq_num;
__le16 init_notif_seq_num;
u8 supported_version;
u8 reserved[3];
} __packed;
/**
* enum iwl_sap_msg - SAP messages
* @SAP_MSG_NOTIF_BOTH_WAYS_MIN: Not used.
* @SAP_MSG_NOTIF_PING: No payload. Solicitate a response message (check-alive).
* @SAP_MSG_NOTIF_PONG: No payload. The response message.
* @SAP_MSG_NOTIF_BOTH_WAYS_MAX: Not used.
*
* @SAP_MSG_NOTIF_FROM_CSME_MIN: Not used.
* @SAP_MSG_NOTIF_CSME_FILTERS: TODO
* @SAP_MSG_NOTIF_AMT_STATE: Payload is a DW. Any non-zero value means
* that CSME is enabled.
* @SAP_MSG_NOTIF_CSME_REPLY_TO_HOST_OWNERSHIP_REQ: Payload is a DW. 0 means
* the host will not get ownership. Any other value means the host is
* the owner.
* @SAP_MSG_NOTIF_CSME_TAKING_OWNERSHIP: No payload.
* @SAP_MSG_NOTIF_TRIGGER_IP_REFRESH: No payload.
* @SAP_MSG_NOTIF_CSME_CAN_RELEASE_OWNERSHIP: No payload.
* @SAP_MSG_NOTIF_NIC_OWNER: Payload is a DW. See &enum iwl_sap_nic_owner.
* @SAP_MSG_NOTIF_CSME_CONN_STATUS: See &struct iwl_sap_notif_conn_status.
* @SAP_MSG_NOTIF_NVM: See &struct iwl_sap_nvm.
* @SAP_MSG_NOTIF_PLDR_ACK: See &struct iwl_sap_pldr_ack_data.
* @SAP_MSG_NOTIF_FROM_CSME_MAX: Not used.
*
* @SAP_MSG_NOTIF_FROM_HOST_MIN: Not used.
* @SAP_MSG_NOTIF_BAND_SELECTION: TODO
* @SAP_MSG_NOTIF_RADIO_STATE: Payload is a DW.
* See &enum iwl_sap_radio_state_bitmap.
* @SAP_MSG_NOTIF_NIC_INFO: See &struct iwl_sap_notif_host_nic_info.
* @SAP_MSG_NOTIF_HOST_ASKS_FOR_NIC_OWNERSHIP: No payload.
* @SAP_MSG_NOTIF_HOST_SUSPENDS: Payload is a DW. Bitmap described in
* &enum iwl_sap_notif_host_suspends_bitmap.
* @SAP_MSG_NOTIF_HOST_RESUMES: Payload is a DW. 0 or 1. 1 says that
* the CSME should re-initialize the init control block.
* @SAP_MSG_NOTIF_HOST_GOES_DOWN: No payload.
* @SAP_MSG_NOTIF_CSME_OWNERSHIP_CONFIRMED: No payload.
* @SAP_MSG_NOTIF_COUNTRY_CODE: See &struct iwl_sap_notif_country_code.
* @SAP_MSG_NOTIF_HOST_LINK_UP: See &struct iwl_sap_notif_host_link_up.
* @SAP_MSG_NOTIF_HOST_LINK_DOWN: See &struct iwl_sap_notif_host_link_down.
* @SAP_MSG_NOTIF_WHO_OWNS_NIC: No payload.
* @SAP_MSG_NOTIF_WIFIDR_DOWN: No payload.
* @SAP_MSG_NOTIF_WIFIDR_UP: No payload.
* @SAP_MSG_NOTIF_HOST_OWNERSHIP_CONFIRMED: No payload.
* @SAP_MSG_NOTIF_SAR_LIMITS: See &struct iwl_sap_notif_sar_limits.
* @SAP_MSG_NOTIF_GET_NVM: No payload. Triggers %SAP_MSG_NOTIF_NVM.
* @SAP_MSG_NOTIF_PLDR: See &struct iwl_sap_pldr_data.
Annotation
- Immediate include surface: `mei/iwl-mei.h`.
- Detected declarations: `struct iwl_sap_me_msg_hdr`, `struct iwl_sap_me_msg_start`, `struct iwl_sap_me_msg_start_ok`, `struct iwl_sap_hdr`, `struct iwl_sap_msg_dw`, `struct iwl_sap_notif_connection_info`, `struct iwl_sap_notif_conn_status`, `struct iwl_sap_notif_country_code`, `struct iwl_sap_notif_host_link_up`, `struct iwl_sap_notif_host_link_down`.
- 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.