#ifndef ATH11K_WMI_H
#define ATH11K_WMI_H
#include <net/mac80211.h>
#include "htc.h"
struct ath11k_base;
struct ath11k;
struct ath11k_fw_stats;
struct ath11k_fw_dbglog;
struct ath11k_vif;
struct ath11k_reg_tpc_power_info;
#define PSOC_HOST_MAX_NUM_SS …
#define MAX_HE_NSS …
#define MAX_HE_MODULATION …
#define MAX_HE_RU …
#define HE_MODULATION_NONE …
#define HE_PET_0_USEC …
#define HE_PET_8_USEC …
#define HE_PET_16_USEC …
#define WMI_MAX_CHAINS …
#define WMI_MAX_NUM_SS …
#define WMI_MAX_NUM_RU …
#define WMI_TLV_CMD(grp_id) …
#define WMI_TLV_EV(grp_id) …
#define WMI_TLV_CMD_UNSUPPORTED …
#define WMI_TLV_PDEV_PARAM_UNSUPPORTED …
#define WMI_TLV_VDEV_PARAM_UNSUPPORTED …
struct wmi_cmd_hdr { … } __packed;
struct wmi_tlv { … } __packed;
#define WMI_TLV_LEN …
#define WMI_TLV_TAG …
#define TLV_HDR_SIZE …
#define WMI_CMD_HDR_CMD_ID …
#define WMI_MAX_MEM_REQS …
#define ATH11K_MAX_HW_LISTEN_INTERVAL …
#define WLAN_SCAN_MAX_HINT_S_SSID …
#define WLAN_SCAN_MAX_HINT_BSSID …
#define MAX_RNR_BSS …
#define WLAN_SCAN_PARAMS_MAX_SSID …
#define WLAN_SCAN_PARAMS_MAX_BSSID …
#define WLAN_SCAN_PARAMS_MAX_IE_LEN …
#define WMI_APPEND_TO_EXISTING_CHAN_LIST_FLAG …
#define MAX_WMI_UTF_LEN …
#define WMI_BA_MODE_BUFFER_SIZE_256 …
enum wmi_host_hw_mode_config_type { … };
enum wmi_host_hw_mode_priority { … };
enum WMI_HOST_WLAN_BAND { … };
enum { … };
enum { … };
enum wmi_cmd_group { … };
#define WMI_CMD_GRP(grp_id) …
#define WMI_EVT_GRP_START_ID(grp_id) …
#define WMI_CMD_UNSUPPORTED …
enum wmi_tlv_cmd_id { … };
enum wmi_tlv_event_id { … };
enum wmi_tlv_pdev_param { … };
enum wmi_tlv_vdev_param { … };
enum wmi_tlv_peer_flags { … };
enum wmi_tlv_tag { … };
enum wmi_tlv_service { … };
enum { … };
#define WMI_TPC_CHAINMASK_CONFIG_BAND_2G …
#define WMI_TPC_CHAINMASK_CONFIG_BAND_5G …
#define WMI_NUM_SUPPORTED_BAND_MAX …
#define WMI_PEER_MIMO_PS_STATE …
#define WMI_PEER_AMPDU …
#define WMI_PEER_AUTHORIZE …
#define WMI_PEER_CHWIDTH …
#define WMI_PEER_NSS …
#define WMI_PEER_USE_4ADDR …
#define WMI_PEER_MEMBERSHIP …
#define WMI_PEER_USERPOS …
#define WMI_PEER_CRIT_PROTO_HINT_ENABLED …
#define WMI_PEER_TX_FAIL_CNT_THR …
#define WMI_PEER_SET_HW_RETRY_CTS2S …
#define WMI_PEER_IBSS_ATIM_WINDOW_LENGTH …
#define WMI_PEER_PHYMODE …
#define WMI_PEER_USE_FIXED_PWR …
#define WMI_PEER_PARAM_FIXED_RATE …
#define WMI_PEER_SET_MU_WHITELIST …
#define WMI_PEER_SET_MAX_TX_RATE …
#define WMI_PEER_SET_MIN_TX_RATE …
#define WMI_PEER_SET_DEFAULT_ROUTING …
#define WMI_VDEV_SLOT_TIME_LONG …
#define WMI_VDEV_SLOT_TIME_SHORT …
#define WMI_VDEV_PREAMBLE_LONG …
#define WMI_VDEV_PREAMBLE_SHORT …
enum wmi_peer_smps_state { … };
enum wmi_peer_chwidth { … };
enum wmi_beacon_gen_mode { … };
enum wmi_direct_buffer_module { … };
enum wmi_nss_ratio { … };
enum wmi_dtim_policy { … };
struct wmi_host_pdev_band_to_mac { … };
struct ath11k_ppe_threshold { … };
struct ath11k_service_ext_param { … };
struct ath11k_hw_mode_caps { … };
#define PSOC_HOST_MAX_PHY_SIZE …
#define ATH11K_11B_SUPPORT …
#define ATH11K_11G_SUPPORT …
#define ATH11K_11A_SUPPORT …
#define ATH11K_11N_SUPPORT …
#define ATH11K_11AC_SUPPORT …
#define ATH11K_11AX_SUPPORT …
struct ath11k_hal_reg_capabilities_ext { … };
#define WMI_HOST_MAX_PDEV …
struct wlan_host_mem_chunk { … } __packed;
struct wmi_host_mem_chunk { … };
struct wmi_init_cmd_param { … };
struct wmi_pdev_band_to_mac { … } __packed;
struct wmi_pdev_set_hw_mode_cmd_param { … } __packed;
struct wmi_ppe_threshold { … } __packed;
#define HW_BD_INFO_SIZE …
struct wmi_abi_version { … } __packed;
struct wmi_init_cmd { … } __packed;
#define WMI_RSRC_CFG_FLAG1_BSS_CHANNEL_INFO_64 …
#define WMI_RSRC_CFG_FLAG2_CALC_NEXT_DTIM_COUNT_SET …
#define WMI_RSRC_CFG_FLAG1_ACK_RSSI …
#define WMI_CFG_HOST_SERVICE_FLAG_REG_CC_EXT …
struct wmi_resource_config { … } __packed;
struct wmi_service_ready_event { … } __packed;
#define WMI_SERVICE_BM_SIZE …
#define WMI_SERVICE_SEGMENT_BM_SIZE32 …
#define WMI_SERVICE_EXT_BM_SIZE …
#define WMI_AVAIL_SERVICE_BITS_IN_SIZE32 …
#define WMI_SERVICE_BITS_IN_SIZE32 …
struct wmi_service_ready_ext_event { … } __packed;
struct wmi_soc_mac_phy_hw_mode_caps { … } __packed;
struct wmi_hw_mode_capabilities { … } __packed;
#define WMI_MAX_HECAP_PHY_SIZE …
#define WMI_NSS_RATIO_ENABLE_DISABLE_BITPOS …
#define WMI_NSS_RATIO_ENABLE_DISABLE_GET(_val) …
#define WMI_NSS_RATIO_INFO_BITPOS …
#define WMI_NSS_RATIO_INFO_GET(_val) …
struct wmi_mac_phy_capabilities { … } __packed;
struct wmi_hal_reg_capabilities_ext { … } __packed;
struct wmi_soc_hal_reg_capabilities { … } __packed;
struct wmi_mac_addr { … } __packed;
struct wmi_dma_ring_capabilities { … } __packed;
struct wmi_ready_event_min { … } __packed;
struct wmi_ready_event { … } __packed;
struct wmi_service_available_event { … } __packed;
struct ath11k_pdev_wmi { … };
struct vdev_create_params { … };
struct wmi_vdev_create_cmd { … } __packed;
struct wmi_vdev_txrx_streams { … } __packed;
struct wmi_vdev_delete_cmd { … } __packed;
struct wmi_vdev_up_cmd { … } __packed;
struct wmi_vdev_stop_cmd { … } __packed;
struct wmi_vdev_down_cmd { … } __packed;
#define WMI_VDEV_START_HIDDEN_SSID …
#define WMI_VDEV_START_PMF_ENABLED …
#define WMI_VDEV_START_LDPC_RX_ENABLED …
#define WMI_VDEV_START_HW_ENCRYPTION_DISABLED …
struct wmi_ssid { … } __packed;
#define ATH11K_VDEV_SETUP_TIMEOUT_HZ …
struct wmi_vdev_start_request_cmd { … } __packed;
#define MGMT_TX_DL_FRM_LEN …
#define WMI_MAC_MAX_SSID_LENGTH …
struct mac_ssid { … } __packed;
struct wmi_p2p_noa_descriptor { … };
struct channel_param { … } __packed;
enum wmi_phy_mode { … };
static inline const char *ath11k_wmi_phymode_str(enum wmi_phy_mode mode)
{ … }
struct wmi_channel_arg { … };
struct wmi_vdev_start_req_arg { … };
struct peer_create_params { … };
struct peer_delete_params { … };
struct peer_flush_params { … };
struct pdev_set_regdomain_params { … };
struct rx_reorder_queue_remove_params { … };
#define WMI_HOST_PDEV_ID_SOC …
#define WMI_HOST_PDEV_ID_0 …
#define WMI_HOST_PDEV_ID_1 …
#define WMI_HOST_PDEV_ID_2 …
#define WMI_PDEV_ID_SOC …
#define WMI_PDEV_ID_1ST …
#define WMI_PDEV_ID_2ND …
#define WMI_PDEV_ID_3RD …
#define REG_RULE_START_FREQ …
#define REG_RULE_END_FREQ …
#define REG_RULE_FLAGS …
#define REG_RULE_MAX_BW …
#define REG_RULE_REG_PWR …
#define REG_RULE_ANT_GAIN …
#define REG_RULE_PSD_INFO …
#define REG_RULE_PSD_EIRP …
#define WMI_VDEV_PARAM_TXBF_SU_TX_BFEE …
#define WMI_VDEV_PARAM_TXBF_MU_TX_BFEE …
#define WMI_VDEV_PARAM_TXBF_SU_TX_BFER …
#define WMI_VDEV_PARAM_TXBF_MU_TX_BFER …
#define HE_PHYCAP_BYTE_0 …
#define HE_PHYCAP_BYTE_1 …
#define HE_PHYCAP_BYTE_2 …
#define HE_PHYCAP_BYTE_3 …
#define HE_PHYCAP_BYTE_4 …
#define HECAP_PHY_SU_BFER …
#define HECAP_PHY_SU_BFEE …
#define HECAP_PHY_MU_BFER …
#define HECAP_PHY_UL_MUMIMO …
#define HECAP_PHY_UL_MUOFDMA …
#define HECAP_PHY_SUBFMR_GET(hecap_phy) …
#define HECAP_PHY_SUBFME_GET(hecap_phy) …
#define HECAP_PHY_MUBFMR_GET(hecap_phy) …
#define HECAP_PHY_ULMUMIMO_GET(hecap_phy) …
#define HECAP_PHY_ULOFDMA_GET(hecap_phy) …
#define HE_MODE_SU_TX_BFEE …
#define HE_MODE_SU_TX_BFER …
#define HE_MODE_MU_TX_BFEE …
#define HE_MODE_MU_TX_BFER …
#define HE_MODE_DL_OFDMA …
#define HE_MODE_UL_OFDMA …
#define HE_MODE_UL_MUMIMO …
#define HE_DL_MUOFDMA_ENABLE …
#define HE_UL_MUOFDMA_ENABLE …
#define HE_DL_MUMIMO_ENABLE …
#define HE_UL_MUMIMO_ENABLE …
#define HE_MU_BFEE_ENABLE …
#define HE_SU_BFEE_ENABLE …
#define HE_MU_BFER_ENABLE …
#define HE_SU_BFER_ENABLE …
#define HE_VHT_SOUNDING_MODE_ENABLE …
#define HE_SU_MU_SOUNDING_MODE_ENABLE …
#define HE_TRIG_NONTRIG_SOUNDING_MODE_ENABLE …
#define HE_VHT_SOUNDING_MODE …
#define HE_SU_MU_SOUNDING_MODE …
#define HE_TRIG_NONTRIG_SOUNDING_MODE …
#define WMI_TXBF_STS_CAP_OFFSET_LSB …
#define WMI_TXBF_STS_CAP_OFFSET_MASK …
#define WMI_BF_SOUND_DIM_OFFSET_LSB …
#define WMI_BF_SOUND_DIM_OFFSET_MASK …
struct pdev_params { … };
enum wmi_peer_type { … };
struct wmi_peer_create_cmd { … } __packed;
struct wmi_peer_delete_cmd { … } __packed;
struct wmi_peer_reorder_queue_setup_cmd { … } __packed;
struct wmi_peer_reorder_queue_remove_cmd { … } __packed;
struct gpio_config_params { … };
enum wmi_gpio_type { … };
enum wmi_gpio_intr_type { … };
enum wmi_bss_chan_info_req_type { … };
struct wmi_gpio_config_cmd_param { … };
struct gpio_output_params { … };
struct wmi_gpio_output_cmd_param { … };
struct set_fwtest_params { … };
struct wmi_fwtest_set_param_cmd_param { … };
struct wmi_pdev_set_param_cmd { … } __packed;
struct wmi_pdev_set_ps_mode_cmd { … } __packed;
struct wmi_pdev_suspend_cmd { … } __packed;
struct wmi_pdev_resume_cmd { … } __packed;
struct wmi_pdev_bss_chan_info_req_cmd { … } __packed;
struct wmi_ap_ps_peer_cmd { … } __packed;
struct wmi_sta_powersave_param_cmd { … } __packed;
struct wmi_pdev_set_regdomain_cmd { … } __packed;
struct wmi_peer_set_param_cmd { … } __packed;
struct wmi_peer_flush_tids_cmd { … } __packed;
struct wmi_dfs_phyerr_offload_cmd { … } __packed;
struct wmi_bcn_offload_ctrl_cmd { … } __packed;
enum scan_dwelltime_adaptive_mode { … };
#define WLAN_SSID_MAX_LEN …
struct element_info { … };
struct wlan_ssid { … };
struct wmi_vdev_ch_power_info { … } __packed;
struct wmi_vdev_set_tpc_power_cmd { … } __packed;
#define WMI_IE_BITMAP_SIZE …
#define WMI_HOST_SCAN_REQUESTOR_ID_PREFIX …
#define WMI_HOST_SCAN_REQ_ID_PREFIX …
#define WMI_SCAN_CHAN_MIN_TIME_MSEC …
enum wmi_scan_priority { … };
enum wmi_scan_event_type { … };
enum wmi_scan_completion_reason { … };
struct wmi_start_scan_cmd { … } __packed;
#define WMI_SCAN_FLAG_PASSIVE …
#define WMI_SCAN_ADD_BCAST_PROBE_REQ …
#define WMI_SCAN_ADD_CCK_RATES …
#define WMI_SCAN_ADD_OFDM_RATES …
#define WMI_SCAN_CHAN_STAT_EVENT …
#define WMI_SCAN_FILTER_PROBE_REQ …
#define WMI_SCAN_BYPASS_DFS_CHN …
#define WMI_SCAN_CONTINUE_ON_ERROR …
#define WMI_SCAN_FILTER_PROMISCUOS …
#define WMI_SCAN_FLAG_FORCE_ACTIVE_ON_DFS …
#define WMI_SCAN_ADD_TPC_IE_IN_PROBE_REQ …
#define WMI_SCAN_ADD_DS_IE_IN_PROBE_REQ …
#define WMI_SCAN_ADD_SPOOF_MAC_IN_PROBE_REQ …
#define WMI_SCAN_OFFCHAN_MGMT_TX …
#define WMI_SCAN_OFFCHAN_DATA_TX …
#define WMI_SCAN_CAPTURE_PHY_ERROR …
#define WMI_SCAN_FLAG_STRICT_PASSIVE_ON_PCHN …
#define WMI_SCAN_FLAG_HALF_RATE_SUPPORT …
#define WMI_SCAN_FLAG_QUARTER_RATE_SUPPORT …
#define WMI_SCAN_RANDOM_SEQ_NO_IN_PROBE_REQ …
#define WMI_SCAN_ENABLE_IE_WHTELIST_IN_PROBE_REQ …
#define WMI_SCAN_DWELL_MODE_MASK …
#define WMI_SCAN_DWELL_MODE_SHIFT …
#define WMI_SCAN_FLAG_EXT_PASSIVE_SCAN_START_TIME_ENHANCE …
#define WMI_SCAN_CONFIG_PER_CHANNEL_MASK …
#define WMI_SCAN_CH_FLAG_SCAN_ONLY_IF_RNR_FOUND …
enum { … };
#define WMI_SCAN_SET_DWELL_MODE(flag, mode) …
struct hint_short_ssid { … };
struct hint_bssid { … };
struct scan_req_params { … };
struct wmi_ssid_arg { … };
struct wmi_bssid_arg { … };
#define WMI_SCAN_STOP_ONE …
#define WMI_SCN_STOP_VAP_ALL …
#define WMI_SCAN_STOP_ALL …
#define ATH11K_SCAN_ID …
enum scan_cancel_req_type { … };
struct scan_cancel_param { … };
struct wmi_bcn_send_from_host_cmd { … };
#define WMI_CHAN_INFO_MODE …
#define WMI_CHAN_INFO_HT40_PLUS …
#define WMI_CHAN_INFO_PASSIVE …
#define WMI_CHAN_INFO_ADHOC_ALLOWED …
#define WMI_CHAN_INFO_AP_DISABLED …
#define WMI_CHAN_INFO_DFS …
#define WMI_CHAN_INFO_ALLOW_HT …
#define WMI_CHAN_INFO_ALLOW_VHT …
#define WMI_CHAN_INFO_CHAN_CHANGE_CAUSE_CSA …
#define WMI_CHAN_INFO_HALF_RATE …
#define WMI_CHAN_INFO_QUARTER_RATE …
#define WMI_CHAN_INFO_DFS_FREQ2 …
#define WMI_CHAN_INFO_ALLOW_HE …
#define WMI_CHAN_INFO_PSC …
#define WMI_CHAN_REG_INFO1_MIN_PWR …
#define WMI_CHAN_REG_INFO1_MAX_PWR …
#define WMI_CHAN_REG_INFO1_MAX_REG_PWR …
#define WMI_CHAN_REG_INFO1_REG_CLS …
#define WMI_CHAN_REG_INFO2_ANT_MAX …
#define WMI_CHAN_REG_INFO2_MAX_TX_PWR …
struct wmi_channel { … } __packed;
struct wmi_mgmt_params { … };
enum wmi_sta_ps_mode { … };
#define WMI_SMPS_MASK_LOWER_16BITS …
#define WMI_SMPS_MASK_UPPER_3BITS …
#define WMI_SMPS_PARAM_VALUE_SHIFT …
#define ATH11K_WMI_FW_HANG_ASSERT_TYPE …
#define ATH11K_WMI_FW_HANG_DELAY …
struct wmi_force_fw_hang_cmd { … };
struct wmi_vdev_set_param_cmd { … } __packed;
enum wmi_stats_id { … };
struct wmi_request_stats_cmd { … } __packed;
struct wmi_get_pdev_temperature_cmd { … } __packed;
struct wmi_ftm_seg_hdr { … } __packed;
struct wmi_ftm_cmd { … } __packed;
struct wmi_ftm_event_msg { … } __packed;
#define WMI_P2P_MAX_NOA_DESCRIPTORS …
struct wmi_p2p_noa_event { … } __packed;
struct ath11k_wmi_p2p_noa_descriptor { … } __packed;
#define WMI_P2P_NOA_INFO_CHANGED_FLAG …
#define WMI_P2P_NOA_INFO_INDEX …
#define WMI_P2P_NOA_INFO_OPP_PS …
#define WMI_P2P_NOA_INFO_CTWIN_TU …
#define WMI_P2P_NOA_INFO_DESC_NUM …
struct ath11k_wmi_p2p_noa_info { … } __packed;
#define WMI_BEACON_TX_BUFFER_SIZE …
#define WMI_EMA_TMPL_IDX_SHIFT …
#define WMI_EMA_FIRST_TMPL_SHIFT …
#define WMI_EMA_LAST_TMPL_SHIFT …
struct wmi_bcn_tmpl_cmd { … } __packed;
struct wmi_p2p_go_set_beacon_ie_cmd { … } __packed;
struct wmi_key_seq_counter { … } __packed;
struct wmi_vdev_install_key_cmd { … } __packed;
struct wmi_vdev_install_key_arg { … };
#define WMI_MAX_SUPPORTED_RATES …
#define WMI_HOST_MAX_HECAP_PHY_SIZE …
#define WMI_HOST_MAX_HE_RATE_SET …
#define WMI_HECAP_TXRX_MCS_NSS_IDX_80 …
#define WMI_HECAP_TXRX_MCS_NSS_IDX_160 …
#define WMI_HECAP_TXRX_MCS_NSS_IDX_80_80 …
struct wmi_rate_set_arg { … };
struct peer_assoc_params { … };
struct wmi_peer_assoc_complete_cmd { … } __packed;
struct wmi_stop_scan_cmd { … };
struct scan_chan_list_params { … };
struct wmi_scan_chan_list_cmd { … } __packed;
struct wmi_scan_prob_req_oui_cmd { … } __packed;
#define WMI_MGMT_SEND_DOWNLD_LEN …
#define WMI_TX_PARAMS_DWORD0_POWER …
#define WMI_TX_PARAMS_DWORD0_MCS_MASK …
#define WMI_TX_PARAMS_DWORD0_NSS_MASK …
#define WMI_TX_PARAMS_DWORD0_RETRY_LIMIT …
#define WMI_TX_PARAMS_DWORD1_CHAIN_MASK …
#define WMI_TX_PARAMS_DWORD1_BW_MASK …
#define WMI_TX_PARAMS_DWORD1_PREAMBLE_TYPE …
#define WMI_TX_PARAMS_DWORD1_FRAME_TYPE …
#define WMI_TX_PARAMS_DWORD1_RSVD …
struct wmi_mgmt_send_params { … };
struct wmi_mgmt_send_cmd { … } __packed;
struct wmi_sta_powersave_mode_cmd { … };
struct wmi_sta_smps_force_mode_cmd { … };
struct wmi_sta_smps_param_cmd { … };
struct wmi_bcn_prb_info { … } __packed;
enum { … };
struct green_ap_ps_params { … };
struct wmi_pdev_green_ap_ps_enable_cmd_param { … };
struct ap_ps_params { … };
struct vdev_set_params { … };
struct stats_request_params { … };
struct wmi_set_current_country_params { … };
struct wmi_set_current_country_cmd { … } __packed;
enum set_init_cc_type { … };
enum set_init_cc_flags { … };
struct wmi_init_country_params { … };
struct wmi_init_country_cmd { … } __packed;
struct wmi_11d_scan_start_params { … };
struct wmi_11d_scan_start_cmd { … } __packed;
struct wmi_11d_scan_stop_cmd { … } __packed;
struct wmi_11d_new_cc_ev { … } __packed;
#define THERMAL_LEVELS …
struct tt_level_config { … };
struct thermal_mitigation_params { … };
struct wmi_therm_throt_config_request_cmd { … } __packed;
struct wmi_therm_throt_level_config_info { … } __packed;
struct wmi_delba_send_cmd { … } __packed;
struct wmi_addba_setresponse_cmd { … } __packed;
struct wmi_addba_send_cmd { … } __packed;
struct wmi_addba_clear_resp_cmd { … } __packed;
struct wmi_pdev_pktlog_filter_info { … } __packed;
struct wmi_pdev_pktlog_filter_cmd { … } __packed;
enum ath11k_wmi_pktlog_enable { … };
struct wmi_pktlog_enable_cmd { … } __packed;
struct wmi_pktlog_disable_cmd { … } __packed;
#define DFS_PHYERR_UNIT_TEST_CMD …
#define DFS_UNIT_TEST_MODULE …
#define DFS_UNIT_TEST_TOKEN …
enum dfs_test_args_idx { … };
struct wmi_dfs_unit_test_arg { … };
struct wmi_unit_test_cmd { … } __packed;
#define MAX_SUPPORTED_RATES …
struct beacon_tmpl_params { … };
struct wmi_rate_set { … };
struct wmi_vht_rate_set { … } __packed;
struct wmi_he_rate_set { … } __packed;
#define MAX_REG_RULES …
#define REG_ALPHA2_LEN …
#define MAX_6GHZ_REG_RULES …
enum wmi_start_event_param { … };
struct wmi_vdev_start_resp_event { … } __packed;
enum wmi_vdev_start_resp_status_code { … };
#define REGULATORY_CHAN_DISABLED …
#define REGULATORY_CHAN_NO_IR …
#define REGULATORY_CHAN_RADAR …
#define REGULATORY_CHAN_NO_OFDM …
#define REGULATORY_CHAN_INDOOR_ONLY …
#define REGULATORY_CHAN_NO_HT40 …
#define REGULATORY_CHAN_NO_80MHZ …
#define REGULATORY_CHAN_NO_160MHZ …
#define REGULATORY_CHAN_NO_20MHZ …
#define REGULATORY_CHAN_NO_10MHZ …
enum wmi_reg_chan_list_cmd_type { … };
enum wmi_reg_cc_setting_code { … };
enum cc_setting_code { … };
static inline enum cc_setting_code
ath11k_wmi_cc_setting_code_to_reg(enum wmi_reg_cc_setting_code status_code)
{ … }
static inline const char *ath11k_cc_status_to_str(enum cc_setting_code code)
{ … }
enum wmi_reg_6ghz_ap_type { … };
static inline const char *
ath11k_6ghz_ap_type_to_str(enum wmi_reg_6ghz_ap_type type)
{ … }
enum wmi_reg_6ghz_client_type { … };
static inline const char *
ath11k_6ghz_client_type_to_str(enum wmi_reg_6ghz_client_type type)
{ … }
enum reg_subdomains_6ghz { … };
static inline const char *
ath11k_sub_reg_6ghz_to_str(enum reg_subdomains_6ghz sub_id)
{ … }
enum reg_super_domain_6ghz { … };
static inline const char *
ath11k_super_reg_6ghz_to_str(enum reg_super_domain_6ghz domain_id)
{ … }
struct cur_reg_rule { … };
struct cur_regulatory_info { … };
struct wmi_reg_chan_list_cc_event { … } __packed;
struct wmi_regulatory_rule_struct { … };
#define WMI_REG_CLIENT_MAX …
struct wmi_reg_chan_list_cc_ext_event { … } __packed;
struct wmi_regulatory_ext_rule { … } __packed;
struct wmi_vdev_delete_resp_event { … } __packed;
struct wmi_peer_delete_resp_event { … } __packed;
struct wmi_bcn_tx_status_event { … } __packed;
struct wmi_vdev_stopped_event { … } __packed;
struct wmi_pdev_bss_chan_info_event { … } __packed;
#define WMI_VDEV_INSTALL_KEY_COMPL_STATUS_SUCCESS …
struct wmi_vdev_install_key_compl_event { … } __packed;
struct wmi_vdev_install_key_complete_arg { … };
struct wmi_peer_assoc_conf_event { … } __packed;
struct wmi_peer_assoc_conf_arg { … };
struct wmi_fils_discovery_event { … } __packed;
struct wmi_probe_resp_tx_status_event { … } __packed;
struct wmi_pdev_stats_base { … } __packed;
struct wmi_pdev_stats_extra { … } __packed;
struct wmi_pdev_stats_tx { … } __packed;
struct wmi_pdev_stats_rx { … } __packed;
struct wmi_pdev_stats { … } __packed;
#define WLAN_MAX_AC …
#define MAX_TX_RATE_VALUES …
#define MAX_TX_RATE_VALUES …
struct wmi_vdev_stats { … } __packed;
struct wmi_bcn_stats { … } __packed;
struct wmi_stats_event { … } __packed;
struct wmi_rssi_stats { … } __packed;
struct wmi_per_chain_rssi_stats { … } __packed;
struct wmi_pdev_ctl_failsafe_chk_event { … } __packed;
struct wmi_pdev_csa_switch_ev { … } __packed;
struct wmi_pdev_radar_ev { … } __packed;
struct wmi_pdev_temperature_event { … } __packed;
#define WMI_RX_STATUS_OK …
#define WMI_RX_STATUS_ERR_CRC …
#define WMI_RX_STATUS_ERR_DECRYPT …
#define WMI_RX_STATUS_ERR_MIC …
#define WMI_RX_STATUS_ERR_KEY_CACHE_MISS …
#define WLAN_MGMT_TXRX_HOST_MAX_ANTENNA …
struct mgmt_rx_event_params { … };
#define ATH_MAX_ANTENNA …
struct wmi_mgmt_rx_hdr { … } __packed;
#define MAX_ANTENNA_EIGHT …
struct wmi_rssi_ctl_ext { … };
struct wmi_mgmt_tx_compl_event { … } __packed;
struct wmi_scan_event { … } __packed;
struct wmi_peer_sta_kickout_arg { … };
struct wmi_peer_sta_kickout_event { … } __packed;
enum wmi_roam_reason { … };
struct wmi_roam_event { … } __packed;
#define WMI_CHAN_INFO_START_RESP …
#define WMI_CHAN_INFO_END_RESP …
struct wmi_chan_info_event { … } __packed;
struct ath11k_targ_cap { … };
enum wmi_vdev_type { … };
enum wmi_vdev_subtype { … };
enum wmi_sta_powersave_param { … };
#define WMI_UAPSD_AC_TYPE_DELI …
#define WMI_UAPSD_AC_TYPE_TRIG …
#define WMI_UAPSD_AC_BIT_MASK(ac, type) …
enum wmi_sta_ps_param_uapsd { … };
#define WMI_STA_UAPSD_MAX_INTERVAL_MSEC …
struct wmi_sta_uapsd_auto_trig_param { … };
struct wmi_sta_uapsd_auto_trig_cmd_fixed_param { … };
struct wmi_sta_uapsd_auto_trig_arg { … };
enum wmi_sta_ps_param_tx_wake_threshold { … };
enum wmi_sta_ps_param_pspoll_count { … };
enum wmi_ap_ps_param_uapsd { … };
enum wmi_ap_ps_peer_param_max_sp { … };
enum wmi_ap_ps_peer_param { … };
#define DISABLE_SIFS_RESPONSE_TRIGGER …
#define WMI_MAX_KEY_INDEX …
#define WMI_MAX_KEY_LEN …
#define WMI_KEY_PAIRWISE …
#define WMI_KEY_GROUP …
#define WMI_CIPHER_NONE …
#define WMI_CIPHER_WEP …
#define WMI_CIPHER_TKIP …
#define WMI_CIPHER_AES_OCB …
#define WMI_CIPHER_AES_CCM …
#define WMI_CIPHER_WAPI …
#define WMI_CIPHER_CKIP …
#define WMI_CIPHER_AES_CMAC …
#define WMI_CIPHER_ANY …
#define WMI_CIPHER_AES_GCM …
#define WMI_CIPHER_AES_GMAC …
#define WMI_FIXED_RATE_NONE …
#define ATH11K_RC_VERSION_OFFSET …
#define ATH11K_RC_PREAMBLE_OFFSET …
#define ATH11K_RC_NSS_OFFSET …
#define ATH11K_HW_RATE_CODE(rate, nss, preamble) …
enum wmi_rate_preamble { … };
enum wmi_rtscts_prot_mode { … };
enum wmi_rtscts_profile { … };
struct ath11k_hal_reg_cap { … };
struct ath11k_mem_chunk { … };
#define WMI_SKB_HEADROOM …
enum wmi_sta_ps_param_rx_wake_policy { … };
enum ath11k_hw_txrx_mode { … };
struct wmi_wmm_params { … } __packed;
struct wmi_wmm_params_arg { … };
struct wmi_vdev_set_wmm_params_cmd { … } __packed;
struct wmi_wmm_params_all_arg { … };
#define ATH11K_TWT_DEF_STA_CONG_TIMER_MS …
#define ATH11K_TWT_DEF_DEFAULT_SLOT_SIZE …
#define ATH11K_TWT_DEF_CONGESTION_THRESH_SETUP …
#define ATH11K_TWT_DEF_CONGESTION_THRESH_TEARDOWN …
#define ATH11K_TWT_DEF_CONGESTION_THRESH_CRITICAL …
#define ATH11K_TWT_DEF_INTERFERENCE_THRESH_TEARDOWN …
#define ATH11K_TWT_DEF_INTERFERENCE_THRESH_SETUP …
#define ATH11K_TWT_DEF_MIN_NO_STA_SETUP …
#define ATH11K_TWT_DEF_MIN_NO_STA_TEARDOWN …
#define ATH11K_TWT_DEF_NO_OF_BCAST_MCAST_SLOTS …
#define ATH11K_TWT_DEF_MIN_NO_TWT_SLOTS …
#define ATH11K_TWT_DEF_MAX_NO_STA_TWT …
#define ATH11K_TWT_DEF_MODE_CHECK_INTERVAL …
#define ATH11K_TWT_DEF_ADD_STA_SLOT_INTERVAL …
#define ATH11K_TWT_DEF_REMOVE_STA_SLOT_INTERVAL …
struct wmi_twt_enable_params { … };
struct wmi_twt_enable_params_cmd { … } __packed;
struct wmi_twt_disable_params_cmd { … } __packed;
enum WMI_HOST_TWT_COMMAND { … };
#define WMI_TWT_ADD_DIALOG_FLAG_BCAST …
#define WMI_TWT_ADD_DIALOG_FLAG_TRIGGER …
#define WMI_TWT_ADD_DIALOG_FLAG_FLOW_TYPE …
#define WMI_TWT_ADD_DIALOG_FLAG_PROTECTION …
struct wmi_twt_add_dialog_params_cmd { … } __packed;
struct wmi_twt_add_dialog_params { … } __packed;
enum wmi_twt_add_dialog_status { … };
struct wmi_twt_add_dialog_event { … } __packed;
struct wmi_twt_del_dialog_params { … } __packed;
struct wmi_twt_del_dialog_params_cmd { … } __packed;
struct wmi_twt_pause_dialog_params { … } __packed;
struct wmi_twt_pause_dialog_params_cmd { … } __packed;
struct wmi_twt_resume_dialog_params { … } __packed;
struct wmi_twt_resume_dialog_params_cmd { … } __packed;
struct wmi_obss_spatial_reuse_params_cmd { … } __packed;
struct wmi_pdev_obss_pd_bitmap_cmd { … } __packed;
#define ATH11K_BSS_COLOR_COLLISION_SCAN_PERIOD_MS …
#define ATH11K_OBSS_COLOR_COLLISION_DETECTION_DISABLE …
#define ATH11K_OBSS_COLOR_COLLISION_DETECTION …
#define ATH11K_BSS_COLOR_COLLISION_DETECTION_STA_PERIOD_MS …
#define ATH11K_BSS_COLOR_COLLISION_DETECTION_AP_PERIOD_MS …
enum wmi_bss_color_collision { … };
struct wmi_obss_color_collision_cfg_params_cmd { … } __packed;
struct wmi_bss_color_change_enable_params_cmd { … } __packed;
struct wmi_obss_color_collision_event { … } __packed;
#define ATH11K_IPV4_TH_SEED_SIZE …
#define ATH11K_IPV6_TH_SEED_SIZE …
struct ath11k_wmi_pdev_lro_config_cmd { … } __packed;
#define ATH11K_WMI_SPECTRAL_COUNT_DEFAULT …
#define ATH11K_WMI_SPECTRAL_PERIOD_DEFAULT …
#define ATH11K_WMI_SPECTRAL_PRIORITY_DEFAULT …
#define ATH11K_WMI_SPECTRAL_FFT_SIZE_DEFAULT …
#define ATH11K_WMI_SPECTRAL_GC_ENA_DEFAULT …
#define ATH11K_WMI_SPECTRAL_RESTART_ENA_DEFAULT …
#define ATH11K_WMI_SPECTRAL_NOISE_FLOOR_REF_DEFAULT …
#define ATH11K_WMI_SPECTRAL_INIT_DELAY_DEFAULT …
#define ATH11K_WMI_SPECTRAL_NB_TONE_THR_DEFAULT …
#define ATH11K_WMI_SPECTRAL_STR_BIN_THR_DEFAULT …
#define ATH11K_WMI_SPECTRAL_WB_RPT_MODE_DEFAULT …
#define ATH11K_WMI_SPECTRAL_RSSI_RPT_MODE_DEFAULT …
#define ATH11K_WMI_SPECTRAL_RSSI_THR_DEFAULT …
#define ATH11K_WMI_SPECTRAL_PWR_FORMAT_DEFAULT …
#define ATH11K_WMI_SPECTRAL_RPT_MODE_DEFAULT …
#define ATH11K_WMI_SPECTRAL_BIN_SCALE_DEFAULT …
#define ATH11K_WMI_SPECTRAL_DBM_ADJ_DEFAULT …
#define ATH11K_WMI_SPECTRAL_CHN_MASK_DEFAULT …
struct ath11k_wmi_vdev_spectral_conf_param { … } __packed;
struct ath11k_wmi_vdev_spectral_conf_cmd { … } __packed;
#define ATH11K_WMI_SPECTRAL_TRIGGER_CMD_TRIGGER …
#define ATH11K_WMI_SPECTRAL_TRIGGER_CMD_CLEAR …
#define ATH11K_WMI_SPECTRAL_ENABLE_CMD_ENABLE …
#define ATH11K_WMI_SPECTRAL_ENABLE_CMD_DISABLE …
struct ath11k_wmi_vdev_spectral_enable_cmd { … } __packed;
struct ath11k_wmi_pdev_dma_ring_cfg_req_cmd { … } __packed;
struct ath11k_wmi_dma_buf_release_fixed_param { … } __packed;
struct wmi_dma_buf_release_entry { … } __packed;
#define WMI_SPECTRAL_META_INFO1_FREQ1 …
#define WMI_SPECTRAL_META_INFO1_FREQ2 …
#define WMI_SPECTRAL_META_INFO2_CHN_WIDTH …
struct wmi_dma_buf_release_meta_data { … } __packed;
enum wmi_fils_discovery_cmd_type { … };
struct wmi_fils_discovery_cmd { … } __packed;
struct wmi_fils_discovery_tmpl_cmd { … } __packed;
struct wmi_probe_tmpl_cmd { … } __packed;
struct target_resource_config { … };
enum wmi_debug_log_param { … };
struct wmi_debug_log_config_cmd_fixed_param { … } __packed;
#define MAX_RADIOS …
#define WMI_SERVICE_READY_TIMEOUT_HZ …
#define WMI_SEND_TIMEOUT_HZ …
enum ath11k_wmi_peer_ps_state { … };
enum wmi_peer_ps_supported_bitmap { … };
struct wmi_peer_sta_ps_state_chg_event { … } __packed;
struct ath11k_wmi_base { … };
enum hw_data_filter_type { … };
struct wmi_hw_data_filter_cmd { … } __packed;
enum wmi_wow_wakeup_event { … };
enum wmi_wow_interface_cfg { … };
#define C2S …
static inline const char *wow_wakeup_event(enum wmi_wow_wakeup_event ev)
{ … }
enum wmi_wow_wake_reason { … };
static inline const char *wow_reason(enum wmi_wow_wake_reason reason)
{ … }
#undef C2S
struct wmi_wow_ev_arg { … };
enum wmi_tlv_pattern_type { … };
#define WOW_DEFAULT_BITMAP_PATTERN_SIZE …
#define WOW_DEFAULT_BITMASK_SIZE …
#define WOW_MIN_PATTERN_SIZE …
#define WOW_MAX_PATTERN_SIZE …
#define WOW_MAX_PKT_OFFSET …
#define WOW_HDR_LEN …
#define WOW_MAX_REDUCE …
struct wmi_wow_add_del_event_cmd { … } __packed;
struct wmi_wow_enable_cmd { … } __packed;
struct wmi_wow_host_wakeup_ind { … } __packed;
struct wmi_tlv_wow_event_info { … } __packed;
struct wmi_wow_bitmap_pattern { … } __packed;
struct wmi_wow_add_pattern_cmd { … } __packed;
struct wmi_wow_del_pattern_cmd { … } __packed;
#define WMI_PNO_MAX_SCHED_SCAN_PLANS …
#define WMI_PNO_MAX_SCHED_SCAN_PLAN_INT …
#define WMI_PNO_MAX_SCHED_SCAN_PLAN_ITRNS …
#define WMI_PNO_MAX_NETW_CHANNELS …
#define WMI_PNO_MAX_NETW_CHANNELS_EX …
#define WMI_PNO_MAX_SUPP_NETWORKS …
#define WMI_PNO_MAX_IE_LENGTH …
#define WMI_PNO_MAX_PB_REQ_SIZE …
#define WMI_PNO_24G_DEFAULT_CH …
#define WMI_PNO_5G_DEFAULT_CH …
#define WMI_ACTIVE_MAX_CHANNEL_TIME …
#define WMI_PASSIVE_MAX_CHANNEL_TIME …
enum wmi_ssid_bcast_type { … };
#define WMI_NLO_MAX_SSIDS …
#define WMI_NLO_MAX_CHAN …
#define WMI_NLO_CONFIG_STOP …
#define WMI_NLO_CONFIG_START …
#define WMI_NLO_CONFIG_RESET …
#define WMI_NLO_CONFIG_SLOW_SCAN …
#define WMI_NLO_CONFIG_FAST_SCAN …
#define WMI_NLO_CONFIG_SSID_HIDE_EN …
#define WMI_NLO_CONFIG_ENLO …
#define WMI_NLO_CONFIG_SCAN_PASSIVE …
#define WMI_NLO_CONFIG_ENLO_RESET …
#define WMI_NLO_CONFIG_SPOOFED_MAC_IN_PROBE_REQ …
#define WMI_NLO_CONFIG_RANDOM_SEQ_NO_IN_PROBE_REQ …
#define WMI_NLO_CONFIG_ENABLE_IE_WHITELIST_IN_PROBE_REQ …
#define WMI_NLO_CONFIG_ENABLE_CNLO_RSSI_CONFIG …
struct wmi_nlo_ssid_param { … } __packed;
struct wmi_nlo_enc_param { … } __packed;
struct wmi_nlo_auth_param { … } __packed;
struct wmi_nlo_bcast_nw_param { … } __packed;
struct wmi_nlo_rssi_param { … } __packed;
struct nlo_configured_parameters { … } __packed;
struct wmi_network_type { … };
struct wmi_pno_scan_req { … };
struct wmi_wow_nlo_config_cmd { … } __packed;
#define WMI_MAX_NS_OFFLOADS …
#define WMI_MAX_ARP_OFFLOADS …
#define WMI_ARPOL_FLAGS_VALID …
#define WMI_ARPOL_FLAGS_MAC_VALID …
#define WMI_ARPOL_FLAGS_REMOTE_IP_VALID …
struct wmi_arp_offload_tuple { … } __packed;
#define WMI_NSOL_FLAGS_VALID …
#define WMI_NSOL_FLAGS_MAC_VALID …
#define WMI_NSOL_FLAGS_REMOTE_IP_VALID …
#define WMI_NSOL_FLAGS_IS_IPV6_ANYCAST …
#define WMI_NSOL_MAX_TARGET_IPS …
struct wmi_ns_offload_tuple { … } __packed;
struct wmi_set_arp_ns_offload_cmd { … } __packed;
#define GTK_OFFLOAD_OPCODE_MASK …
#define GTK_OFFLOAD_ENABLE_OPCODE …
#define GTK_OFFLOAD_DISABLE_OPCODE …
#define GTK_OFFLOAD_REQUEST_STATUS_OPCODE …
#define GTK_OFFLOAD_KEK_BYTES …
#define GTK_OFFLOAD_KCK_BYTES …
#define GTK_REPLAY_COUNTER_BYTES …
#define WMI_MAX_KEY_LEN …
#define IGTK_PN_SIZE …
struct wmi_replayc_cnt { … } __packed;
struct wmi_gtk_offload_status_event { … } __packed;
struct wmi_gtk_rekey_offload_cmd { … } __packed;
#define BIOS_SAR_TABLE_LEN …
#define BIOS_SAR_RSVD1_LEN …
#define BIOS_SAR_RSVD2_LEN …
struct wmi_pdev_set_sar_table_cmd { … } __packed;
struct wmi_pdev_set_geo_table_cmd { … } __packed;
struct wmi_sta_keepalive_cmd { … } __packed;
struct wmi_sta_keepalive_arp_resp { … } __packed;
struct wmi_sta_keepalive_arg { … };
enum wmi_sta_keepalive_method { … };
#define WMI_STA_KEEPALIVE_INTERVAL_DEFAULT …
#define WMI_STA_KEEPALIVE_INTERVAL_DISABLE …
const void **ath11k_wmi_tlv_parse_alloc(struct ath11k_base *ab,
struct sk_buff *skb, gfp_t gfp);
int ath11k_wmi_cmd_send(struct ath11k_pdev_wmi *wmi, struct sk_buff *skb,
u32 cmd_id);
struct sk_buff *ath11k_wmi_alloc_skb(struct ath11k_wmi_base *wmi_sc, u32 len);
int ath11k_wmi_mgmt_send(struct ath11k *ar, u32 vdev_id, u32 buf_id,
struct sk_buff *frame);
int ath11k_wmi_p2p_go_bcn_ie(struct ath11k *ar, u32 vdev_id,
const u8 *p2p_ie);
int ath11k_wmi_bcn_tmpl(struct ath11k *ar, u32 vdev_id,
struct ieee80211_mutable_offsets *offs,
struct sk_buff *bcn, u32 ema_param);
int ath11k_wmi_vdev_down(struct ath11k *ar, u8 vdev_id);
int ath11k_wmi_vdev_up(struct ath11k *ar, u32 vdev_id, u32 aid,
const u8 *bssid, u8 *tx_bssid, u32 nontx_profile_idx,
u32 nontx_profile_cnt);
int ath11k_wmi_vdev_stop(struct ath11k *ar, u8 vdev_id);
int ath11k_wmi_vdev_start(struct ath11k *ar, struct wmi_vdev_start_req_arg *arg,
bool restart);
int ath11k_wmi_set_peer_param(struct ath11k *ar, const u8 *peer_addr,
u32 vdev_id, u32 param_id, u32 param_val);
int ath11k_wmi_pdev_set_param(struct ath11k *ar, u32 param_id,
u32 param_value, u8 pdev_id);
int ath11k_wmi_pdev_set_ps_mode(struct ath11k *ar, int vdev_id,
enum wmi_sta_ps_mode psmode);
int ath11k_wmi_wait_for_unified_ready(struct ath11k_base *ab);
int ath11k_wmi_cmd_init(struct ath11k_base *ab);
int ath11k_wmi_wait_for_service_ready(struct ath11k_base *ab);
int ath11k_wmi_connect(struct ath11k_base *ab);
int ath11k_wmi_pdev_attach(struct ath11k_base *ab,
u8 pdev_id);
int ath11k_wmi_attach(struct ath11k_base *ab);
void ath11k_wmi_detach(struct ath11k_base *ab);
int ath11k_wmi_vdev_create(struct ath11k *ar, u8 *macaddr,
struct vdev_create_params *param);
int ath11k_wmi_peer_rx_reorder_queue_setup(struct ath11k *ar, int vdev_id,
const u8 *addr, dma_addr_t paddr,
u8 tid, u8 ba_window_size_valid,
u32 ba_window_size);
int ath11k_wmi_send_peer_create_cmd(struct ath11k *ar,
struct peer_create_params *param);
int ath11k_wmi_vdev_set_param_cmd(struct ath11k *ar, u32 vdev_id,
u32 param_id, u32 param_value);
int ath11k_wmi_set_sta_ps_param(struct ath11k *ar, u32 vdev_id,
u32 param, u32 param_value);
int ath11k_wmi_force_fw_hang_cmd(struct ath11k *ar, u32 type, u32 delay_time_ms);
int ath11k_wmi_send_peer_delete_cmd(struct ath11k *ar,
const u8 *peer_addr, u8 vdev_id);
int ath11k_wmi_vdev_delete(struct ath11k *ar, u8 vdev_id);
void ath11k_wmi_start_scan_init(struct ath11k *ar, struct scan_req_params *arg);
int ath11k_wmi_send_scan_start_cmd(struct ath11k *ar,
struct scan_req_params *params);
int ath11k_wmi_send_scan_stop_cmd(struct ath11k *ar,
struct scan_cancel_param *param);
int ath11k_wmi_send_wmm_update_cmd_tlv(struct ath11k *ar, u32 vdev_id,
struct wmi_wmm_params_all_arg *param);
int ath11k_wmi_pdev_suspend(struct ath11k *ar, u32 suspend_opt,
u32 pdev_id);
int ath11k_wmi_pdev_resume(struct ath11k *ar, u32 pdev_id);
int ath11k_wmi_send_peer_assoc_cmd(struct ath11k *ar,
struct peer_assoc_params *param);
int ath11k_wmi_vdev_install_key(struct ath11k *ar,
struct wmi_vdev_install_key_arg *arg);
int ath11k_wmi_pdev_bss_chan_info_request(struct ath11k *ar,
enum wmi_bss_chan_info_req_type type);
int ath11k_wmi_send_stats_request_cmd(struct ath11k *ar,
struct stats_request_params *param);
int ath11k_wmi_send_pdev_temperature_cmd(struct ath11k *ar);
int ath11k_wmi_send_peer_flush_tids_cmd(struct ath11k *ar,
u8 peer_addr[ETH_ALEN],
struct peer_flush_params *param);
int ath11k_wmi_send_set_ap_ps_param_cmd(struct ath11k *ar, u8 *peer_addr,
struct ap_ps_params *param);
int ath11k_wmi_send_scan_chan_list_cmd(struct ath11k *ar,
struct scan_chan_list_params *chan_list);
int ath11k_wmi_send_dfs_phyerr_offload_enable_cmd(struct ath11k *ar,
u32 pdev_id);
int ath11k_wmi_addba_clear_resp(struct ath11k *ar, u32 vdev_id, const u8 *mac);
int ath11k_wmi_addba_send(struct ath11k *ar, u32 vdev_id, const u8 *mac,
u32 tid, u32 buf_size);
int ath11k_wmi_addba_set_resp(struct ath11k *ar, u32 vdev_id, const u8 *mac,
u32 tid, u32 status);
int ath11k_wmi_delba_send(struct ath11k *ar, u32 vdev_id, const u8 *mac,
u32 tid, u32 initiator, u32 reason);
int ath11k_wmi_send_bcn_offload_control_cmd(struct ath11k *ar,
u32 vdev_id, u32 bcn_ctrl_op);
int ath11k_wmi_send_set_current_country_cmd(struct ath11k *ar,
struct wmi_set_current_country_params *param);
int
ath11k_wmi_send_init_country_cmd(struct ath11k *ar,
struct wmi_init_country_params init_cc_param);
int ath11k_wmi_send_11d_scan_start_cmd(struct ath11k *ar,
struct wmi_11d_scan_start_params *param);
int ath11k_wmi_send_11d_scan_stop_cmd(struct ath11k *ar, u32 vdev_id);
int
ath11k_wmi_send_thermal_mitigation_param_cmd(struct ath11k *ar,
struct thermal_mitigation_params *param);
int ath11k_wmi_pdev_pktlog_enable(struct ath11k *ar, u32 pktlog_filter);
int ath11k_wmi_pdev_pktlog_disable(struct ath11k *ar);
int ath11k_wmi_pdev_peer_pktlog_filter(struct ath11k *ar, u8 *addr, u8 enable);
int
ath11k_wmi_rx_reord_queue_remove(struct ath11k *ar,
struct rx_reorder_queue_remove_params *param);
int ath11k_wmi_send_pdev_set_regdomain(struct ath11k *ar,
struct pdev_set_regdomain_params *param);
int ath11k_wmi_pull_fw_stats(struct ath11k_base *ab, struct sk_buff *skb,
struct ath11k_fw_stats *stats);
void ath11k_wmi_fw_stats_fill(struct ath11k *ar,
struct ath11k_fw_stats *fw_stats, u32 stats_id,
char *buf);
int ath11k_wmi_simulate_radar(struct ath11k *ar);
void ath11k_wmi_fill_default_twt_params(struct wmi_twt_enable_params *twt_params);
int ath11k_wmi_send_twt_enable_cmd(struct ath11k *ar, u32 pdev_id,
struct wmi_twt_enable_params *params);
int ath11k_wmi_send_twt_disable_cmd(struct ath11k *ar, u32 pdev_id);
int ath11k_wmi_send_twt_add_dialog_cmd(struct ath11k *ar,
struct wmi_twt_add_dialog_params *params);
int ath11k_wmi_send_twt_del_dialog_cmd(struct ath11k *ar,
struct wmi_twt_del_dialog_params *params);
int ath11k_wmi_send_twt_pause_dialog_cmd(struct ath11k *ar,
struct wmi_twt_pause_dialog_params *params);
int ath11k_wmi_send_twt_resume_dialog_cmd(struct ath11k *ar,
struct wmi_twt_resume_dialog_params *params);
int ath11k_wmi_send_obss_spr_cmd(struct ath11k *ar, u32 vdev_id,
struct ieee80211_he_obss_pd *he_obss_pd);
int ath11k_wmi_pdev_set_srg_bss_color_bitmap(struct ath11k *ar, u32 *bitmap);
int ath11k_wmi_pdev_set_srg_patial_bssid_bitmap(struct ath11k *ar, u32 *bitmap);
int ath11k_wmi_pdev_srg_obss_color_enable_bitmap(struct ath11k *ar,
u32 *bitmap);
int ath11k_wmi_pdev_srg_obss_bssid_enable_bitmap(struct ath11k *ar,
u32 *bitmap);
int ath11k_wmi_pdev_non_srg_obss_color_enable_bitmap(struct ath11k *ar,
u32 *bitmap);
int ath11k_wmi_pdev_non_srg_obss_bssid_enable_bitmap(struct ath11k *ar,
u32 *bitmap);
int ath11k_wmi_send_obss_color_collision_cfg_cmd(struct ath11k *ar, u32 vdev_id,
u8 bss_color, u32 period,
bool enable);
int ath11k_wmi_send_bss_color_change_enable_cmd(struct ath11k *ar, u32 vdev_id,
bool enable);
int ath11k_wmi_pdev_lro_cfg(struct ath11k *ar, int pdev_id);
int ath11k_wmi_pdev_dma_ring_cfg(struct ath11k *ar,
struct ath11k_wmi_pdev_dma_ring_cfg_req_cmd *param);
int ath11k_wmi_vdev_spectral_enable(struct ath11k *ar, u32 vdev_id,
u32 trigger, u32 enable);
int ath11k_wmi_vdev_spectral_conf(struct ath11k *ar,
struct ath11k_wmi_vdev_spectral_conf_param *param);
int ath11k_wmi_fils_discovery_tmpl(struct ath11k *ar, u32 vdev_id,
struct sk_buff *tmpl);
int ath11k_wmi_fils_discovery(struct ath11k *ar, u32 vdev_id, u32 interval,
bool unsol_bcast_probe_resp_enabled);
int ath11k_wmi_probe_resp_tmpl(struct ath11k *ar, u32 vdev_id,
struct sk_buff *tmpl);
int ath11k_wmi_set_hw_mode(struct ath11k_base *ab,
enum wmi_host_hw_mode_config_type mode);
int ath11k_wmi_wow_host_wakeup_ind(struct ath11k *ar);
int ath11k_wmi_wow_enable(struct ath11k *ar);
int ath11k_wmi_scan_prob_req_oui(struct ath11k *ar,
const u8 mac_addr[ETH_ALEN]);
int ath11k_wmi_fw_dbglog_cfg(struct ath11k *ar, u32 *module_id_bitmap,
struct ath11k_fw_dbglog *dbglog);
int ath11k_wmi_wow_config_pno(struct ath11k *ar, u32 vdev_id,
struct wmi_pno_scan_req *pno_scan);
int ath11k_wmi_wow_del_pattern(struct ath11k *ar, u32 vdev_id, u32 pattern_id);
int ath11k_wmi_wow_add_pattern(struct ath11k *ar, u32 vdev_id, u32 pattern_id,
const u8 *pattern, const u8 *mask,
int pattern_len, int pattern_offset);
int ath11k_wmi_wow_add_wakeup_event(struct ath11k *ar, u32 vdev_id,
enum wmi_wow_wakeup_event event,
u32 enable);
int ath11k_wmi_hw_data_filter_cmd(struct ath11k *ar, u32 vdev_id,
u32 filter_bitmap, bool enable);
int ath11k_wmi_arp_ns_offload(struct ath11k *ar,
struct ath11k_vif *arvif, bool enable);
int ath11k_wmi_gtk_rekey_offload(struct ath11k *ar,
struct ath11k_vif *arvif, bool enable);
int ath11k_wmi_gtk_rekey_getinfo(struct ath11k *ar,
struct ath11k_vif *arvif);
int ath11k_wmi_pdev_set_bios_sar_table_param(struct ath11k *ar, const u8 *sar_val);
int ath11k_wmi_pdev_set_bios_geo_table_param(struct ath11k *ar);
int ath11k_wmi_sta_keepalive(struct ath11k *ar,
const struct wmi_sta_keepalive_arg *arg);
bool ath11k_wmi_supports_6ghz_cc_ext(struct ath11k *ar);
int ath11k_wmi_send_vdev_set_tpc_power(struct ath11k *ar,
u32 vdev_id,
struct ath11k_reg_tpc_power_info *param);
#endif