wil6210: align to latest auto generated wmi.h

Align to latest version of the auto generated wmi file
describing the interface with FW

Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Ahmad Masri 2018-05-09 13:06:53 +03:00 committed by Kalle Valo
parent 777b4690fc
commit 8a4fa21438
2 changed files with 371 additions and 22 deletions

View File

@ -1554,7 +1554,9 @@ int wmi_pcp_start(struct wil6210_vif *vif,
.pcp_max_assoc_sta = max_assoc_sta,
.hidden_ssid = hidden_ssid,
.is_go = is_go,
.disable_ap_sme = disable_ap_sme,
.ap_sme_offload_mode = disable_ap_sme ?
WMI_AP_SME_OFFLOAD_PARTIAL :
WMI_AP_SME_OFFLOAD_FULL,
.abft_len = wil->abft_len,
};
struct {
@ -1574,7 +1576,7 @@ int wmi_pcp_start(struct wil6210_vif *vif,
}
if (disable_ap_sme &&
!test_bit(WMI_FW_CAPABILITY_DISABLE_AP_SME,
!test_bit(WMI_FW_CAPABILITY_AP_SME_OFFLOAD_PARTIAL,
wil->fw_capabilities)) {
wil_err(wil, "disable_ap_sme not supported by FW\n");
return -EOPNOTSUPP;

View File

@ -1,4 +1,5 @@
/*
* Copyright (c) 2018, The Linux Foundation. All rights reserved.
* Copyright (c) 2012-2017 Qualcomm Atheros, Inc.
* Copyright (c) 2006-2012 Wilocity
*
@ -29,8 +30,6 @@
#ifndef __WILOCITY_WMI_H__
#define __WILOCITY_WMI_H__
/* General */
#define WMI_MAX_ASSOC_STA (8)
#define WMI_DEFAULT_ASSOC_STA (1)
#define WMI_MAC_LEN (6)
#define WMI_PROX_RANGE_NUM (3)
@ -41,6 +40,19 @@
#define WMI_RF_ETYPE_LENGTH (3)
#define WMI_RF_RX2TX_LENGTH (3)
#define WMI_RF_ETYPE_VAL_PER_RANGE (5)
/* DTYPE configuration array size
* must always be kept equal to (WMI_RF_DTYPE_LENGTH+1)
*/
#define WMI_RF_DTYPE_CONF_LENGTH (4)
/* ETYPE configuration array size
* must always be kept equal to
* (WMI_RF_ETYPE_LENGTH+WMI_RF_ETYPE_VAL_PER_RANGE)
*/
#define WMI_RF_ETYPE_CONF_LENGTH (8)
/* RX2TX configuration array size
* must always be kept equal to (WMI_RF_RX2TX_LENGTH+1)
*/
#define WMI_RF_RX2TX_CONF_LENGTH (4)
/* Mailbox interface
* used for commands and events
@ -61,7 +73,7 @@ enum wmi_fw_capability {
WMI_FW_CAPABILITY_PS_CONFIG = 1,
WMI_FW_CAPABILITY_RF_SECTORS = 2,
WMI_FW_CAPABILITY_MGMT_RETRY_LIMIT = 3,
WMI_FW_CAPABILITY_DISABLE_AP_SME = 4,
WMI_FW_CAPABILITY_AP_SME_OFFLOAD_PARTIAL = 4,
WMI_FW_CAPABILITY_WMI_ONLY = 5,
WMI_FW_CAPABILITY_THERMAL_THROTTLING = 7,
WMI_FW_CAPABILITY_D3_SUSPEND = 8,
@ -73,6 +85,7 @@ enum wmi_fw_capability {
WMI_FW_CAPABILITY_LO_POWER_CALIB_FROM_OTP = 14,
WMI_FW_CAPABILITY_PNO = 15,
WMI_FW_CAPABILITY_REF_CLOCK_CONTROL = 18,
WMI_FW_CAPABILITY_AP_SME_OFFLOAD_NONE = 19,
WMI_FW_CAPABILITY_MAX,
};
@ -164,12 +177,14 @@ enum wmi_command_id {
WMI_SET_ACTIVE_SILENT_RSSI_TABLE_CMDID = 0x85C,
WMI_RF_PWR_ON_DELAY_CMDID = 0x85D,
WMI_SET_HIGH_POWER_TABLE_PARAMS_CMDID = 0x85E,
WMI_FIXED_SCHEDULING_UL_CONFIG_CMDID = 0x85F,
/* Performance monitoring commands */
WMI_BF_CTRL_CMDID = 0x862,
WMI_NOTIFY_REQ_CMDID = 0x863,
WMI_GET_STATUS_CMDID = 0x864,
WMI_GET_RF_STATUS_CMDID = 0x866,
WMI_GET_BASEBAND_TYPE_CMDID = 0x867,
WMI_VRING_SWITCH_TIMING_CONFIG_CMDID = 0x868,
WMI_UNIT_TEST_CMDID = 0x900,
WMI_FLASH_READ_CMDID = 0x902,
WMI_FLASH_WRITE_CMDID = 0x903,
@ -202,6 +217,7 @@ enum wmi_command_id {
WMI_GET_THERMAL_THROTTLING_CFG_CMDID = 0x941,
/* Read Power Save profile type */
WMI_PS_DEV_PROFILE_CFG_READ_CMDID = 0x942,
WMI_TSF_SYNC_CMDID = 0x973,
WMI_TOF_SESSION_START_CMDID = 0x991,
WMI_TOF_GET_CAPABILITIES_CMDID = 0x992,
WMI_TOF_SET_LCR_CMDID = 0x993,
@ -218,11 +234,16 @@ enum wmi_command_id {
WMI_PRIO_TX_SECTORS_ORDER_CMDID = 0x9A5,
WMI_PRIO_TX_SECTORS_NUMBER_CMDID = 0x9A6,
WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_CMDID = 0x9A7,
WMI_BF_CONTROL_CMDID = 0x9AA,
WMI_SCHEDULING_SCHEME_CMDID = 0xA01,
WMI_FIXED_SCHEDULING_CONFIG_CMDID = 0xA02,
WMI_ENABLE_FIXED_SCHEDULING_CMDID = 0xA03,
WMI_SET_MULTI_DIRECTED_OMNIS_CONFIG_CMDID = 0xA04,
WMI_SET_LONG_RANGE_CONFIG_CMDID = 0xA05,
WMI_GET_ASSOC_LIST_CMDID = 0xA06,
WMI_GET_CCA_INDICATIONS_CMDID = 0xA07,
WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08,
WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B,
WMI_SET_MAC_ADDRESS_CMDID = 0xF003,
WMI_ABORT_SCAN_CMDID = 0xF007,
WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041,
@ -484,6 +505,18 @@ enum wmi_rf_mgmt_type {
WMI_RF_MGMT_GET_STATUS = 0x02,
};
/* WMI_BF_CONTROL_CMDID */
enum wmi_bf_triggers {
WMI_BF_TRIGGER_RS_MCS1_TH_FAILURE = 0x01,
WMI_BF_TRIGGER_RS_MCS1_NO_BACK_FAILURE = 0x02,
WMI_BF_TRIGGER_MAX_CTS_FAILURE_IN_TXOP = 0x04,
WMI_BF_TRIGGER_MAX_BACK_FAILURE = 0x08,
WMI_BF_TRIGGER_FW = 0x10,
WMI_BF_TRIGGER_MAX_CTS_FAILURE_IN_KEEP_ALIVE = 0x20,
WMI_BF_TRIGGER_AOA = 0x40,
WMI_BF_TRIGGER_MAX_CTS_FAILURE_IN_UPM = 0x80,
};
/* WMI_RF_MGMT_CMDID */
struct wmi_rf_mgmt_cmd {
__le32 rf_mgmt_type;
@ -519,7 +552,9 @@ struct wmi_bcon_ctrl_cmd {
u8 disable_sec;
u8 hidden_ssid;
u8 is_go;
u8 reserved[2];
/* A-BFT length override if non-0 */
u8 abft_len;
u8 reserved;
} __packed;
/* WMI_PORT_ALLOCATE_CMDID */
@ -584,6 +619,16 @@ struct wmi_power_mgmt_cfg_cmd {
u8 reserved[3];
} __packed;
/* WMI_PCP_START_CMDID */
enum wmi_ap_sme_offload_mode {
/* Full AP SME in FW */
WMI_AP_SME_OFFLOAD_FULL = 0x00,
/* Probe AP SME in FW */
WMI_AP_SME_OFFLOAD_PARTIAL = 0x01,
/* AP SME in host */
WMI_AP_SME_OFFLOAD_NONE = 0x02,
};
/* WMI_PCP_START_CMDID */
struct wmi_pcp_start_cmd {
__le16 bcon_interval;
@ -593,7 +638,8 @@ struct wmi_pcp_start_cmd {
u8 reserved0[5];
/* A-BFT length override if non-0 */
u8 abft_len;
u8 disable_ap_sme;
/* enum wmi_ap_sme_offload_mode_e */
u8 ap_sme_offload_mode;
u8 network_type;
u8 channel;
u8 disable_sec_offload;
@ -607,6 +653,17 @@ struct wmi_sw_tx_req_cmd {
u8 payload[0];
} __packed;
/* WMI_VRING_SWITCH_TIMING_CONFIG_CMDID */
struct wmi_vring_switch_timing_config_cmd {
/* Set vring timing configuration:
*
* defined interval for vring switch
*/
__le32 interval_usec;
/* vring inactivity threshold */
__le32 idle_th_usec;
} __packed;
struct wmi_sw_ring_cfg {
__le64 ring_mem_base;
__le16 ring_size;
@ -642,6 +699,7 @@ enum wmi_vring_cfg_schd_params_priority {
WMI_SCH_PRIO_HIGH = 0x01,
};
#define CIDXTID_EXTENDED_CID_TID (0xFF)
#define CIDXTID_CID_POS (0)
#define CIDXTID_CID_LEN (4)
#define CIDXTID_CID_MSK (0xF)
@ -662,6 +720,9 @@ struct wmi_vring_cfg {
struct wmi_sw_ring_cfg tx_sw_ring;
/* 0-23 vrings */
u8 ringid;
/* Used for cid less than 8. For higher cid set
* CIDXTID_EXTENDED_CID_TID here and use cid and tid members instead
*/
u8 cidxtid;
u8 encap_trans_type;
/* 802.3 DS cfg */
@ -671,6 +732,11 @@ struct wmi_vring_cfg {
u8 to_resolution;
u8 agg_max_wsize;
struct wmi_vring_cfg_schd schd_params;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 cid;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 tid;
u8 reserved[2];
} __packed;
enum wmi_vring_cfg_cmd_action {
@ -868,23 +934,42 @@ struct wmi_cfg_rx_chain_cmd {
/* WMI_RCP_ADDBA_RESP_CMDID */
struct wmi_rcp_addba_resp_cmd {
/* Used for cid less than 8. For higher cid set
* CIDXTID_EXTENDED_CID_TID here and use cid and tid members instead
*/
u8 cidxtid;
u8 dialog_token;
__le16 status_code;
/* ieee80211_ba_parameterset field to send */
__le16 ba_param_set;
__le16 ba_timeout;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 cid;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 tid;
u8 reserved[2];
} __packed;
/* WMI_RCP_DELBA_CMDID */
struct wmi_rcp_delba_cmd {
/* Used for cid less than 8. For higher cid set
* CIDXTID_EXTENDED_CID_TID here and use cid and tid members instead
*/
u8 cidxtid;
u8 reserved;
__le16 reason;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 cid;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 tid;
u8 reserved2[2];
} __packed;
/* WMI_RCP_ADDBA_REQ_CMDID */
struct wmi_rcp_addba_req_cmd {
/* Used for cid less than 8. For higher cid set
* CIDXTID_EXTENDED_CID_TID here and use cid and tid members instead
*/
u8 cidxtid;
u8 dialog_token;
/* ieee80211_ba_parameterset field as it received */
@ -892,6 +977,11 @@ struct wmi_rcp_addba_req_cmd {
__le16 ba_timeout;
/* ieee80211_ba_seqstrl field as it received */
__le16 ba_seq_ctrl;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 cid;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 tid;
u8 reserved[2];
} __packed;
/* WMI_SET_MAC_ADDRESS_CMDID */
@ -902,15 +992,20 @@ struct wmi_set_mac_address_cmd {
/* WMI_ECHO_CMDID
* Check FW is alive
* WMI_DEEP_ECHO_CMDID
* Check FW and ucode are alive
* Returned event: WMI_ECHO_RSP_EVENTID
* same event for both commands
*/
struct wmi_echo_cmd {
__le32 value;
} __packed;
/* WMI_DEEP_ECHO_CMDID
* Check FW and ucode are alive
* Returned event: WMI_ECHO_RSP_EVENTID
*/
struct wmi_deep_echo_cmd {
__le32 value;
} __packed;
/* WMI_RF_PWR_ON_DELAY_CMDID
* set FW time parameters used through RF resetting
* RF reset consists of bringing its power down for a period of time, then
@ -928,7 +1023,7 @@ struct wmi_rf_pwr_on_delay_cmd {
__le16 up_delay_usec;
} __packed;
/* \WMI_SET_HIGH_POWER_TABLE_PARAMS_CMDID
/* WMI_SET_HIGH_POWER_TABLE_PARAMS_CMDID
* This API controls the Tx and Rx gain over temperature.
* It controls the Tx D-type, Rx D-type and Rx E-type amplifiers.
* It also controls the Tx gain index, by controlling the Rx to Tx gain index
@ -942,25 +1037,46 @@ struct wmi_set_high_power_table_params_cmd {
u8 tx_dtype_temp[WMI_RF_DTYPE_LENGTH];
u8 reserved0;
/* Tx D-type values to be used for each temperature range */
__le32 tx_dtype_conf[WMI_RF_DTYPE_LENGTH + 1];
__le32 tx_dtype_conf[WMI_RF_DTYPE_CONF_LENGTH];
/* Temperature range for Tx E-type parameters */
u8 tx_etype_temp[WMI_RF_ETYPE_LENGTH];
u8 reserved1;
/* Tx E-type values to be used for each temperature range.
* The last 4 values of any range are the first 4 values of the next
* range and so on
*/
__le32 tx_etype_conf[WMI_RF_ETYPE_CONF_LENGTH];
/* Temperature range for Rx D-type parameters */
u8 rx_dtype_temp[WMI_RF_DTYPE_LENGTH];
u8 reserved1;
u8 reserved2;
/* Rx D-type values to be used for each temperature range */
__le32 rx_dtype_conf[WMI_RF_DTYPE_LENGTH + 1];
__le32 rx_dtype_conf[WMI_RF_DTYPE_CONF_LENGTH];
/* Temperature range for Rx E-type parameters */
u8 rx_etype_temp[WMI_RF_ETYPE_LENGTH];
u8 reserved2;
u8 reserved3;
/* Rx E-type values to be used for each temperature range.
* The last 4 values of any range are the first 4 values of the next
* range and so on
*/
__le32 rx_etype_conf[WMI_RF_ETYPE_VAL_PER_RANGE + WMI_RF_ETYPE_LENGTH];
__le32 rx_etype_conf[WMI_RF_ETYPE_CONF_LENGTH];
/* Temperature range for rx_2_tx_offs parameters */
u8 rx_2_tx_temp[WMI_RF_RX2TX_LENGTH];
u8 reserved3;
u8 reserved4;
/* Rx to Tx gain index offset */
s8 rx_2_tx_offs[WMI_RF_RX2TX_LENGTH + 1];
s8 rx_2_tx_offs[WMI_RF_RX2TX_CONF_LENGTH];
} __packed;
/* WMI_FIXED_SCHEDULING_UL_CONFIG_CMDID
* This API sets rd parameter per mcs.
* Relevant only in Fixed Scheduling mode.
* Returned event: WMI_FIXED_SCHEDULING_UL_CONFIG_EVENTID
*/
struct wmi_fixed_scheduling_ul_config_cmd {
/* Use mcs -1 to set for every mcs */
s8 mcs;
/* Number of frames with rd bit set in a single virtual slot */
u8 rd_count_per_slot;
u8 reserved[2];
} __packed;
/* CMD: WMI_RF_XPM_READ_CMDID */
@ -1267,6 +1383,93 @@ struct wmi_set_long_range_config_complete_event {
u8 reserved[3];
} __packed;
/* payload max size is 236 bytes: max event buffer size (256) - WMI headers
* (16) - prev struct field size (4)
*/
#define WMI_MAX_IOCTL_PAYLOAD_SIZE (236)
#define WMI_MAX_IOCTL_REPLY_PAYLOAD_SIZE (236)
#define WMI_MAX_INTERNAL_EVENT_PAYLOAD_SIZE (236)
enum wmi_internal_fw_ioctl_code {
WMI_INTERNAL_FW_CODE_NONE = 0x0,
WMI_INTERNAL_FW_CODE_QCOM = 0x1,
};
/* WMI_INTERNAL_FW_IOCTL_CMDID */
struct wmi_internal_fw_ioctl_cmd {
/* enum wmi_internal_fw_ioctl_code */
__le16 code;
__le16 length;
/* payload max size is WMI_MAX_IOCTL_PAYLOAD_SIZE
* Must be the last member of the struct
*/
__le32 payload[0];
} __packed;
/* WMI_INTERNAL_FW_IOCTL_EVENTID */
struct wmi_internal_fw_ioctl_event {
/* wmi_fw_status */
u8 status;
u8 reserved;
__le16 length;
/* payload max size is WMI_MAX_IOCTL_REPLY_PAYLOAD_SIZE
* Must be the last member of the struct
*/
__le32 payload[0];
} __packed;
/* WMI_INTERNAL_FW_EVENT_EVENTID */
struct wmi_internal_fw_event_event {
__le16 id;
__le16 length;
/* payload max size is WMI_MAX_INTERNAL_EVENT_PAYLOAD_SIZE
* Must be the last member of the struct
*/
__le32 payload[0];
} __packed;
/* WMI_BF_CONTROL_CMDID */
struct wmi_bf_control_cmd {
/* wmi_bf_triggers */
__le32 triggers;
u8 cid;
/* DISABLED = 0, ENABLED = 1 , DRY_RUN = 2 */
u8 txss_mode;
/* DISABLED = 0, ENABLED = 1, DRY_RUN = 2 */
u8 brp_mode;
/* Max cts threshold (correspond to
* WMI_BF_TRIGGER_MAX_CTS_FAILURE_IN_TXOP)
*/
u8 bf_trigger_max_cts_failure_thr;
/* Max cts threshold in dense (correspond to
* WMI_BF_TRIGGER_MAX_CTS_FAILURE_IN_TXOP)
*/
u8 bf_trigger_max_cts_failure_dense_thr;
/* Max b-ack threshold (correspond to
* WMI_BF_TRIGGER_MAX_BACK_FAILURE)
*/
u8 bf_trigger_max_back_failure_thr;
/* Max b-ack threshold in dense (correspond to
* WMI_BF_TRIGGER_MAX_BACK_FAILURE)
*/
u8 bf_trigger_max_back_failure_dense_thr;
u8 reserved0;
/* Wrong sectors threshold */
__le32 wrong_sector_bis_thr;
/* BOOL to enable/disable long term trigger */
u8 long_term_enable;
/* 1 = Update long term thresholds from the long_term_mbps_th_tbl and
* long_term_trig_timeout_per_mcs arrays, 0 = Ignore
*/
u8 long_term_update_thr;
/* Long term throughput threshold [Mbps] */
u8 long_term_mbps_th_tbl[WMI_NUM_MCS];
u8 reserved1;
/* Long term timeout threshold table [msec] */
__le16 long_term_trig_timeout_per_mcs[WMI_NUM_MCS];
u8 reserved2[2];
} __packed;
/* WMI Events
* List of Events (target to host)
*/
@ -1325,6 +1528,7 @@ enum wmi_event_id {
WMI_SET_SILENT_RSSI_TABLE_DONE_EVENTID = 0x185C,
WMI_RF_PWR_ON_DELAY_RSP_EVENTID = 0x185D,
WMI_SET_HIGH_POWER_TABLE_PARAMS_EVENTID = 0x185E,
WMI_FIXED_SCHEDULING_UL_CONFIG_EVENTID = 0x185F,
/* Performance monitoring events */
WMI_DATA_PORT_OPEN_EVENTID = 0x1860,
WMI_WBE_LINK_DOWN_EVENTID = 0x1861,
@ -1334,6 +1538,7 @@ enum wmi_event_id {
WMI_VRING_EN_EVENTID = 0x1865,
WMI_GET_RF_STATUS_EVENTID = 0x1866,
WMI_GET_BASEBAND_TYPE_EVENTID = 0x1867,
WMI_VRING_SWITCH_TIMING_CONFIG_EVENTID = 0x1868,
WMI_UNIT_TEST_EVENTID = 0x1900,
WMI_FLASH_READ_DONE_EVENTID = 0x1902,
WMI_FLASH_WRITE_DONE_EVENTID = 0x1903,
@ -1363,6 +1568,7 @@ enum wmi_event_id {
WMI_GET_THERMAL_THROTTLING_CFG_EVENTID = 0x1941,
/* return the Power Save profile */
WMI_PS_DEV_PROFILE_CFG_READ_EVENTID = 0x1942,
WMI_TSF_SYNC_STATUS_EVENTID = 0x1973,
WMI_TOF_SESSION_END_EVENTID = 0x1991,
WMI_TOF_GET_CAPABILITIES_EVENTID = 0x1992,
WMI_TOF_SET_LCR_EVENTID = 0x1993,
@ -1380,17 +1586,24 @@ enum wmi_event_id {
WMI_PRIO_TX_SECTORS_ORDER_EVENTID = 0x19A5,
WMI_PRIO_TX_SECTORS_NUMBER_EVENTID = 0x19A6,
WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_EVENTID = 0x19A7,
WMI_BF_CONTROL_EVENTID = 0x19AA,
WMI_SCHEDULING_SCHEME_EVENTID = 0x1A01,
WMI_FIXED_SCHEDULING_CONFIG_COMPLETE_EVENTID = 0x1A02,
WMI_ENABLE_FIXED_SCHEDULING_COMPLETE_EVENTID = 0x1A03,
WMI_SET_MULTI_DIRECTED_OMNIS_CONFIG_EVENTID = 0x1A04,
WMI_SET_LONG_RANGE_CONFIG_COMPLETE_EVENTID = 0x1A05,
WMI_GET_ASSOC_LIST_RES_EVENTID = 0x1A06,
WMI_GET_CCA_INDICATIONS_EVENTID = 0x1A07,
WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_EVENTID = 0x1A08,
WMI_INTERNAL_FW_EVENT_EVENTID = 0x1A0A,
WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B,
WMI_SET_CHANNEL_EVENTID = 0x9000,
WMI_ASSOC_REQ_EVENTID = 0x9001,
WMI_EAPOL_RX_EVENTID = 0x9002,
WMI_MAC_ADDR_RESP_EVENTID = 0x9003,
WMI_FW_VER_EVENTID = 0x9004,
WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005,
WMI_INTERNAL_FW_SET_CHANNEL = 0x9006,
WMI_COMMAND_NOT_SUPPORTED_EVENTID = 0xFFFF,
};
@ -1462,12 +1675,16 @@ enum rf_type {
RF_UNKNOWN = 0x00,
RF_MARLON = 0x01,
RF_SPARROW = 0x02,
RF_TALYNA1 = 0x03,
RF_TALYNA2 = 0x04,
};
/* WMI_GET_RF_STATUS_EVENTID */
enum board_file_rf_type {
BF_RF_MARLON = 0x00,
BF_RF_SPARROW = 0x01,
BF_RF_TALYNA1 = 0x02,
BF_RF_TALYNA2 = 0x03,
};
/* WMI_GET_RF_STATUS_EVENTID */
@ -1507,6 +1724,7 @@ enum baseband_type {
BASEBAND_SPARROW_M_C0 = 0x06,
BASEBAND_SPARROW_M_D0 = 0x07,
BASEBAND_TALYN_M_A0 = 0x08,
BASEBAND_TALYN_M_B0 = 0x09,
};
/* WMI_GET_BASEBAND_TYPE_EVENTID */
@ -1551,7 +1769,11 @@ struct wmi_ready_event {
u8 numof_additional_mids;
/* rfc read calibration result. 5..15 */
u8 rfc_read_calib_result;
u8 reserved[3];
/* Max associated STAs supported by FW in AP mode (default 0 means 8
* STA)
*/
u8 max_assoc_sta;
u8 reserved[2];
} __packed;
/* WMI_NOTIFY_REQ_DONE_EVENTID */
@ -1666,13 +1888,13 @@ enum wmi_pno_result {
};
struct wmi_start_sched_scan_event {
/* pno_result */
/* wmi_pno_result */
u8 result;
u8 reserved[3];
} __packed;
struct wmi_stop_sched_scan_event {
/* pno_result */
/* wmi_pno_result */
u8 result;
u8 reserved[3];
} __packed;
@ -1739,9 +1961,17 @@ struct wmi_ba_status_event {
/* WMI_DELBA_EVENTID */
struct wmi_delba_event {
/* Used for cid less than 8. For higher cid set
* CIDXTID_EXTENDED_CID_TID here and use cid and tid members instead
*/
u8 cidxtid;
u8 from_initiator;
__le16 reason;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 cid;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 tid;
u8 reserved[2];
} __packed;
/* WMI_VRING_CFG_DONE_EVENTID */
@ -1754,13 +1984,24 @@ struct wmi_vring_cfg_done_event {
/* WMI_RCP_ADDBA_RESP_SENT_EVENTID */
struct wmi_rcp_addba_resp_sent_event {
/* Used for cid less than 8. For higher cid set
* CIDXTID_EXTENDED_CID_TID here and use cid and tid members instead
*/
u8 cidxtid;
u8 reserved;
__le16 status;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 cid;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 tid;
u8 reserved2[2];
} __packed;
/* WMI_RCP_ADDBA_REQ_EVENTID */
struct wmi_rcp_addba_req_event {
/* Used for cid less than 8. For higher cid set
* CIDXTID_EXTENDED_CID_TID here and use cid and tid members instead
*/
u8 cidxtid;
u8 dialog_token;
/* ieee80211_ba_parameterset as it received */
@ -1768,6 +2009,11 @@ struct wmi_rcp_addba_req_event {
__le16 ba_timeout;
/* ieee80211_ba_seqstrl field as it received */
__le16 ba_seq_ctrl;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 cid;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 tid;
u8 reserved[2];
} __packed;
/* WMI_CFG_RX_CHAIN_DONE_EVENTID */
@ -1942,6 +2188,13 @@ struct wmi_set_high_power_table_params_event {
u8 reserved[3];
} __packed;
/* WMI_FIXED_SCHEDULING_UL_CONFIG_EVENTID */
struct wmi_fixed_scheduling_ul_config_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_TEMP_SENSE_DONE_EVENTID
*
* Measure MAC and radio temperatures
@ -2290,6 +2543,8 @@ struct wmi_link_maintain_cfg {
__le32 bad_beacons_num_threshold;
/* SNR limit for bad_beacons_detector */
__le32 bad_beacons_snr_threshold_db;
/* timeout for disassoc response frame in uSec */
__le32 disconnect_timeout;
} __packed;
/* WMI_LINK_MAINTAIN_CFG_WRITE_CMDID */
@ -2519,6 +2774,7 @@ enum wmi_tof_session_end_status {
WMI_TOF_SESSION_END_FAIL = 0x01,
WMI_TOF_SESSION_END_PARAMS_ERROR = 0x02,
WMI_TOF_SESSION_END_ABORTED = 0x03,
WMI_TOF_SESSION_END_BUSY = 0x04,
};
/* WMI_TOF_SESSION_END_EVENTID */
@ -2925,7 +3181,40 @@ struct wmi_set_silent_rssi_table_done_event {
__le32 table;
} __packed;
/* \WMI_COMMAND_NOT_SUPPORTED_EVENTID */
/* WMI_VRING_SWITCH_TIMING_CONFIG_EVENTID */
struct wmi_vring_switch_timing_config_event {
/* enum wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_GET_ASSOC_LIST_RES_EVENTID */
struct wmi_assoc_sta_info {
u8 mac[WMI_MAC_LEN];
u8 omni_index_address;
u8 reserved;
} __packed;
#define WMI_GET_ASSOC_LIST_SIZE (8)
/* WMI_GET_ASSOC_LIST_RES_EVENTID
* Returns up to MAX_ASSOC_STA_LIST_SIZE associated STAs
*/
struct wmi_get_assoc_list_res_event {
struct wmi_assoc_sta_info assoc_sta_list[WMI_GET_ASSOC_LIST_SIZE];
/* STA count */
u8 count;
u8 reserved[3];
} __packed;
/* WMI_BF_CONTROL_EVENTID */
struct wmi_bf_control_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_COMMAND_NOT_SUPPORTED_EVENTID */
struct wmi_command_not_supported_event {
/* device id */
u8 mid;
@ -2936,4 +3225,62 @@ struct wmi_command_not_supported_event {
__le16 reserved1;
} __packed;
/* WMI_TSF_SYNC_CMDID */
struct wmi_tsf_sync_cmd {
/* The time interval to send announce frame in one BI */
u8 interval_ms;
/* The mcs to send announce frame */
u8 mcs;
u8 reserved[6];
} __packed;
/* WMI_TSF_SYNC_STATUS_EVENTID */
enum wmi_tsf_sync_status {
WMI_TSF_SYNC_SUCCESS = 0x00,
WMI_TSF_SYNC_FAILED = 0x01,
WMI_TSF_SYNC_REJECTED = 0x02,
};
/* WMI_TSF_SYNC_STATUS_EVENTID */
struct wmi_tsf_sync_status_event {
/* enum wmi_tsf_sync_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_GET_CCA_INDICATIONS_EVENTID */
struct wmi_get_cca_indications_event {
/* wmi_fw_status */
u8 status;
/* CCA-Energy Detect in percentage over last BI (0..100) */
u8 cca_ed_percent;
/* Averaged CCA-Energy Detect in percent over number of BIs (0..100) */
u8 cca_ed_avg_percent;
/* NAV percent over last BI (0..100) */
u8 nav_percent;
/* Averaged NAV percent over number of BIs (0..100) */
u8 nav_avg_percent;
u8 reserved[3];
} __packed;
/* WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID */
struct wmi_set_cca_indications_bi_avg_num_cmd {
/* set the number of bis to average cca_ed (0..255) */
u8 bi_number;
u8 reserved[3];
} __packed;
/* WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_EVENTID */
struct wmi_set_cca_indications_bi_avg_num_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_INTERNAL_FW_SET_CHANNEL */
struct wmi_internal_fw_set_channel_event {
u8 channel_num;
u8 reserved[3];
} __packed;
#endif /* __WILOCITY_WMI_H__ */