提交 b5aeff16 编写于 作者: D Dedy Lansky 提交者: Kalle Valo

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: NDedy Lansky <dlansky@codeaurora.org>
Signed-off-by: NMaya Erez <merez@codeaurora.org>
Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
上级 1c0dd5f5
...@@ -53,6 +53,17 @@ ...@@ -53,6 +53,17 @@
* must always be kept equal to (WMI_RF_RX2TX_LENGTH+1) * must always be kept equal to (WMI_RF_RX2TX_LENGTH+1)
*/ */
#define WMI_RF_RX2TX_CONF_LENGTH (4) #define WMI_RF_RX2TX_CONF_LENGTH (4)
/* Qos configuration */
#define WMI_QOS_NUM_OF_PRIORITY (4)
#define WMI_QOS_MIN_DEFAULT_WEIGHT (10)
#define WMI_QOS_VRING_SLOT_MIN_MS (2)
#define WMI_QOS_VRING_SLOT_MAX_MS (10)
/* (WMI_QOS_MIN_DEFAULT_WEIGHT * WMI_QOS_VRING_SLOT_MAX_MS /
* WMI_QOS_VRING_SLOT_MIN_MS)
*/
#define WMI_QOS_MAX_WEIGHT 50
#define WMI_QOS_SET_VIF_PRIORITY (0xFF)
#define WMI_QOS_DEFAULT_PRIORITY (WMI_QOS_NUM_OF_PRIORITY)
/* Mailbox interface /* Mailbox interface
* used for commands and events * used for commands and events
...@@ -86,6 +97,8 @@ enum wmi_fw_capability { ...@@ -86,6 +97,8 @@ enum wmi_fw_capability {
WMI_FW_CAPABILITY_PNO = 15, WMI_FW_CAPABILITY_PNO = 15,
WMI_FW_CAPABILITY_REF_CLOCK_CONTROL = 18, WMI_FW_CAPABILITY_REF_CLOCK_CONTROL = 18,
WMI_FW_CAPABILITY_AP_SME_OFFLOAD_NONE = 19, WMI_FW_CAPABILITY_AP_SME_OFFLOAD_NONE = 19,
WMI_FW_CAPABILITY_MULTI_VIFS = 20,
WMI_FW_CAPABILITY_FT_ROAMING = 21,
WMI_FW_CAPABILITY_AMSDU = 23, WMI_FW_CAPABILITY_AMSDU = 23,
WMI_FW_CAPABILITY_MAX, WMI_FW_CAPABILITY_MAX,
}; };
...@@ -110,6 +123,9 @@ enum wmi_command_id { ...@@ -110,6 +123,9 @@ enum wmi_command_id {
WMI_SET_PROBED_SSID_CMDID = 0x0A, WMI_SET_PROBED_SSID_CMDID = 0x0A,
/* deprecated */ /* deprecated */
WMI_SET_LISTEN_INT_CMDID = 0x0B, WMI_SET_LISTEN_INT_CMDID = 0x0B,
WMI_FT_AUTH_CMDID = 0x0C,
WMI_FT_REASSOC_CMDID = 0x0D,
WMI_UPDATE_FT_IES_CMDID = 0x0E,
WMI_BCON_CTRL_CMDID = 0x0F, WMI_BCON_CTRL_CMDID = 0x0F,
WMI_ADD_CIPHER_KEY_CMDID = 0x16, WMI_ADD_CIPHER_KEY_CMDID = 0x16,
WMI_DELETE_CIPHER_KEY_CMDID = 0x17, WMI_DELETE_CIPHER_KEY_CMDID = 0x17,
...@@ -207,7 +223,12 @@ enum wmi_command_id { ...@@ -207,7 +223,12 @@ enum wmi_command_id {
WMI_GET_PCP_FACTOR_CMDID = 0x91B, WMI_GET_PCP_FACTOR_CMDID = 0x91B,
/* Power Save Configuration Commands */ /* Power Save Configuration Commands */
WMI_PS_DEV_PROFILE_CFG_CMDID = 0x91C, WMI_PS_DEV_PROFILE_CFG_CMDID = 0x91C,
WMI_RS_ENABLE_CMDID = 0x91E,
WMI_RS_CFG_EX_CMDID = 0x91F,
WMI_GET_DETAILED_RS_RES_EX_CMDID = 0x920,
/* deprecated */
WMI_RS_CFG_CMDID = 0x921, WMI_RS_CFG_CMDID = 0x921,
/* deprecated */
WMI_GET_DETAILED_RS_RES_CMDID = 0x922, WMI_GET_DETAILED_RS_RES_CMDID = 0x922,
WMI_AOA_MEAS_CMDID = 0x923, WMI_AOA_MEAS_CMDID = 0x923,
WMI_BRP_SET_ANT_LIMIT_CMDID = 0x924, WMI_BRP_SET_ANT_LIMIT_CMDID = 0x924,
...@@ -236,7 +257,9 @@ enum wmi_command_id { ...@@ -236,7 +257,9 @@ enum wmi_command_id {
WMI_PRIO_TX_SECTORS_ORDER_CMDID = 0x9A5, WMI_PRIO_TX_SECTORS_ORDER_CMDID = 0x9A5,
WMI_PRIO_TX_SECTORS_NUMBER_CMDID = 0x9A6, WMI_PRIO_TX_SECTORS_NUMBER_CMDID = 0x9A6,
WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_CMDID = 0x9A7, WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_CMDID = 0x9A7,
/* deprecated */
WMI_BF_CONTROL_CMDID = 0x9AA, WMI_BF_CONTROL_CMDID = 0x9AA,
WMI_BF_CONTROL_EX_CMDID = 0x9AB,
WMI_TX_STATUS_RING_ADD_CMDID = 0x9C0, WMI_TX_STATUS_RING_ADD_CMDID = 0x9C0,
WMI_RX_STATUS_RING_ADD_CMDID = 0x9C1, WMI_RX_STATUS_RING_ADD_CMDID = 0x9C1,
WMI_TX_DESC_RING_ADD_CMDID = 0x9C2, WMI_TX_DESC_RING_ADD_CMDID = 0x9C2,
...@@ -252,6 +275,11 @@ enum wmi_command_id { ...@@ -252,6 +275,11 @@ enum wmi_command_id {
WMI_GET_CCA_INDICATIONS_CMDID = 0xA07, WMI_GET_CCA_INDICATIONS_CMDID = 0xA07,
WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08, WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08,
WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B, WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B,
WMI_LINK_STATS_CMDID = 0xA0C,
WMI_SET_GRANT_MCS_CMDID = 0xA0E,
WMI_SET_AP_SLOT_SIZE_CMDID = 0xA0F,
WMI_SET_VRING_PRIORITY_WEIGHT_CMDID = 0xA10,
WMI_SET_VRING_PRIORITY_CMDID = 0xA11,
WMI_SET_MAC_ADDRESS_CMDID = 0xF003, WMI_SET_MAC_ADDRESS_CMDID = 0xF003,
WMI_ABORT_SCAN_CMDID = 0xF007, WMI_ABORT_SCAN_CMDID = 0xF007,
WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041, WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041,
...@@ -450,6 +478,30 @@ struct wmi_start_sched_scan_cmd { ...@@ -450,6 +478,30 @@ struct wmi_start_sched_scan_cmd {
struct wmi_sched_scan_plan scan_plans[WMI_MAX_PLANS_NUM]; struct wmi_sched_scan_plan scan_plans[WMI_MAX_PLANS_NUM];
} __packed; } __packed;
/* WMI_FT_AUTH_CMDID */
struct wmi_ft_auth_cmd {
u8 bssid[WMI_MAC_LEN];
/* enum wmi_channel */
u8 channel;
/* enum wmi_channel */
u8 edmg_channel;
u8 reserved[4];
} __packed;
/* WMI_FT_REASSOC_CMDID */
struct wmi_ft_reassoc_cmd {
u8 bssid[WMI_MAC_LEN];
u8 reserved[2];
} __packed;
/* WMI_UPDATE_FT_IES_CMDID */
struct wmi_update_ft_ies_cmd {
/* Length of the FT IEs */
__le16 ie_len;
u8 reserved[2];
u8 ie_info[0];
} __packed;
/* WMI_SET_PROBED_SSID_CMDID */ /* WMI_SET_PROBED_SSID_CMDID */
#define MAX_PROBED_SSID_INDEX (3) #define MAX_PROBED_SSID_INDEX (3)
...@@ -744,7 +796,11 @@ struct wmi_vring_cfg { ...@@ -744,7 +796,11 @@ struct wmi_vring_cfg {
u8 cid; u8 cid;
/* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */ /* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */
u8 tid; u8 tid;
u8 reserved[2]; /* Update the vring's priority for Qos purpose. Set to
* WMI_QOS_DEFAULT_PRIORITY to use MID's QoS priority
*/
u8 qos_priority;
u8 reserved;
} __packed; } __packed;
enum wmi_vring_cfg_cmd_action { enum wmi_vring_cfg_cmd_action {
...@@ -775,20 +831,6 @@ struct wmi_bcast_vring_cfg_cmd { ...@@ -775,20 +831,6 @@ struct wmi_bcast_vring_cfg_cmd {
struct wmi_bcast_vring_cfg vring_cfg; struct wmi_bcast_vring_cfg vring_cfg;
} __packed; } __packed;
/* WMI_LO_POWER_CALIB_FROM_OTP_CMDID */
struct wmi_lo_power_calib_from_otp_cmd {
/* index to read from OTP. zero based */
u8 index;
u8 reserved[3];
} __packed;
/* WMI_LO_POWER_CALIB_FROM_OTP_EVENTID */
struct wmi_lo_power_calib_from_otp_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
struct wmi_edma_ring_cfg { struct wmi_edma_ring_cfg {
__le64 ring_mem_base; __le64 ring_mem_base;
/* size in number of items */ /* size in number of items */
...@@ -861,6 +903,20 @@ struct wmi_bcast_desc_ring_add_cmd { ...@@ -861,6 +903,20 @@ struct wmi_bcast_desc_ring_add_cmd {
u8 reserved[4]; u8 reserved[4];
} __packed; } __packed;
/* WMI_LO_POWER_CALIB_FROM_OTP_CMDID */
struct wmi_lo_power_calib_from_otp_cmd {
/* index to read from OTP. zero based */
u8 index;
u8 reserved[3];
} __packed;
/* WMI_LO_POWER_CALIB_FROM_OTP_EVENTID */
struct wmi_lo_power_calib_from_otp_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_RING_BA_EN_CMDID */ /* WMI_RING_BA_EN_CMDID */
struct wmi_ring_ba_en_cmd { struct wmi_ring_ba_en_cmd {
u8 ring_id; u8 ring_id;
...@@ -1419,6 +1475,10 @@ struct wmi_fixed_scheduling_config_complete_event { ...@@ -1419,6 +1475,10 @@ struct wmi_fixed_scheduling_config_complete_event {
u8 reserved[3]; u8 reserved[3];
} __packed; } __packed;
/* This value exists for backwards compatibility only.
* Do not use it in new commands.
* Use dynamic arrays where possible.
*/
#define WMI_NUM_MCS (13) #define WMI_NUM_MCS (13)
/* WMI_FIXED_SCHEDULING_CONFIG_CMDID */ /* WMI_FIXED_SCHEDULING_CONFIG_CMDID */
...@@ -1478,12 +1538,12 @@ struct wmi_set_long_range_config_complete_event { ...@@ -1478,12 +1538,12 @@ struct wmi_set_long_range_config_complete_event {
u8 reserved[3]; u8 reserved[3];
} __packed; } __packed;
/* payload max size is 236 bytes: max event buffer size (256) - WMI headers /* payload max size is 1024 bytes: max event buffer size (1044) - WMI headers
* (16) - prev struct field size (4) * (16) - prev struct field size (4)
*/ */
#define WMI_MAX_IOCTL_PAYLOAD_SIZE (236) #define WMI_MAX_IOCTL_PAYLOAD_SIZE (1024)
#define WMI_MAX_IOCTL_REPLY_PAYLOAD_SIZE (236) #define WMI_MAX_IOCTL_REPLY_PAYLOAD_SIZE (1024)
#define WMI_MAX_INTERNAL_EVENT_PAYLOAD_SIZE (236) #define WMI_MAX_INTERNAL_EVENT_PAYLOAD_SIZE (1024)
enum wmi_internal_fw_ioctl_code { enum wmi_internal_fw_ioctl_code {
WMI_INTERNAL_FW_CODE_NONE = 0x0, WMI_INTERNAL_FW_CODE_NONE = 0x0,
...@@ -1523,7 +1583,37 @@ struct wmi_internal_fw_event_event { ...@@ -1523,7 +1583,37 @@ struct wmi_internal_fw_event_event {
__le32 payload[0]; __le32 payload[0];
} __packed; } __packed;
/* WMI_BF_CONTROL_CMDID */ /* WMI_SET_VRING_PRIORITY_WEIGHT_CMDID */
struct wmi_set_vring_priority_weight_cmd {
/* Array of weights. Valid values are
* WMI_QOS_MIN_DEFAULT_WEIGHT...WMI_QOS_MAX_WEIGHT. Weight #0 is
* hard-coded WMI_QOS_MIN_WEIGHT. This array provide the weights
* #1..#3
*/
u8 weight[3];
u8 reserved;
} __packed;
/* WMI_SET_VRING_PRIORITY_CMDID */
struct wmi_vring_priority {
u8 vring_idx;
/* Weight index. Valid value is 0-3 */
u8 priority;
u8 reserved[2];
} __packed;
/* WMI_SET_VRING_PRIORITY_CMDID */
struct wmi_set_vring_priority_cmd {
/* number of entries in vring_priority. Set to
* WMI_QOS_SET_VIF_PRIORITY to update the VIF's priority, and there
* will be only one entry in vring_priority
*/
u8 num_of_vrings;
u8 reserved[3];
struct wmi_vring_priority vring_priority[0];
} __packed;
/* WMI_BF_CONTROL_CMDID - deprecated */
struct wmi_bf_control_cmd { struct wmi_bf_control_cmd {
/* wmi_bf_triggers */ /* wmi_bf_triggers */
__le32 triggers; __le32 triggers;
...@@ -1565,6 +1655,97 @@ struct wmi_bf_control_cmd { ...@@ -1565,6 +1655,97 @@ struct wmi_bf_control_cmd {
u8 reserved2[2]; u8 reserved2[2];
} __packed; } __packed;
/* BF configuration for each MCS */
struct wmi_bf_control_ex_mcs {
/* Long term throughput threshold [Mbps] */
u8 long_term_mbps_th_tbl;
u8 reserved;
/* Long term timeout threshold table [msec] */
__le16 long_term_trig_timeout_per_mcs;
} __packed;
/* WMI_BF_CONTROL_EX_CMDID */
struct wmi_bf_control_ex_cmd {
/* wmi_bf_triggers */
__le32 triggers;
/* enum wmi_edmg_tx_mode */
u8 tx_mode;
/* 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;
u8 each_mcs_cfg_size;
u8 reserved1;
/* Configuration for each MCS */
struct wmi_bf_control_ex_mcs each_mcs_cfg[0];
} __packed;
/* WMI_LINK_STATS_CMD */
enum wmi_link_stats_action {
WMI_LINK_STATS_SNAPSHOT = 0x00,
WMI_LINK_STATS_PERIODIC = 0x01,
WMI_LINK_STATS_STOP_PERIODIC = 0x02,
};
/* WMI_LINK_STATS_EVENT record identifiers */
enum wmi_link_stats_record_type {
WMI_LINK_STATS_TYPE_BASIC = 0x01,
WMI_LINK_STATS_TYPE_MAC = 0x02,
WMI_LINK_STATS_TYPE_PHY = 0x04,
WMI_LINK_STATS_TYPE_OTA = 0x08,
};
/* WMI_LINK_STATS_CMDID */
struct wmi_link_stats_cmd {
/* bitmask of required record types
* (wmi_link_stats_record_type_e)
*/
__le32 record_type_mask;
/* 0xff for all cids */
u8 cid;
/* wmi_link_stats_action_e */
u8 action;
u8 reserved[6];
/* for WMI_LINK_STATS_PERIODIC */
__le32 interval_msec;
} __packed;
/* WMI_SET_GRANT_MCS_CMDID */
struct wmi_set_grant_mcs_cmd {
u8 mcs;
u8 reserved[3];
} __packed;
/* WMI_SET_AP_SLOT_SIZE_CMDID */
struct wmi_set_ap_slot_size_cmd {
__le32 slot_size;
} __packed;
/* WMI Events /* WMI Events
* List of Events (target to host) * List of Events (target to host)
*/ */
...@@ -1577,6 +1758,8 @@ enum wmi_event_id { ...@@ -1577,6 +1758,8 @@ enum wmi_event_id {
WMI_SCHED_SCAN_RESULT_EVENTID = 0x1007, WMI_SCHED_SCAN_RESULT_EVENTID = 0x1007,
WMI_SCAN_COMPLETE_EVENTID = 0x100A, WMI_SCAN_COMPLETE_EVENTID = 0x100A,
WMI_REPORT_STATISTICS_EVENTID = 0x100B, WMI_REPORT_STATISTICS_EVENTID = 0x100B,
WMI_FT_AUTH_STATUS_EVENTID = 0x100C,
WMI_FT_REASSOC_STATUS_EVENTID = 0x100D,
WMI_RD_MEM_RSP_EVENTID = 0x1800, WMI_RD_MEM_RSP_EVENTID = 0x1800,
WMI_FW_READY_EVENTID = 0x1801, WMI_FW_READY_EVENTID = 0x1801,
WMI_EXIT_FAST_MEM_ACC_MODE_EVENTID = 0x200, WMI_EXIT_FAST_MEM_ACC_MODE_EVENTID = 0x200,
...@@ -1653,7 +1836,12 @@ enum wmi_event_id { ...@@ -1653,7 +1836,12 @@ enum wmi_event_id {
WMI_PCP_FACTOR_EVENTID = 0x191A, WMI_PCP_FACTOR_EVENTID = 0x191A,
/* Power Save Configuration Events */ /* Power Save Configuration Events */
WMI_PS_DEV_PROFILE_CFG_EVENTID = 0x191C, WMI_PS_DEV_PROFILE_CFG_EVENTID = 0x191C,
WMI_RS_ENABLE_EVENTID = 0x191E,
WMI_RS_CFG_EX_EVENTID = 0x191F,
WMI_GET_DETAILED_RS_RES_EX_EVENTID = 0x1920,
/* deprecated */
WMI_RS_CFG_DONE_EVENTID = 0x1921, WMI_RS_CFG_DONE_EVENTID = 0x1921,
/* deprecated */
WMI_GET_DETAILED_RS_RES_EVENTID = 0x1922, WMI_GET_DETAILED_RS_RES_EVENTID = 0x1922,
WMI_AOA_MEAS_EVENTID = 0x1923, WMI_AOA_MEAS_EVENTID = 0x1923,
WMI_BRP_SET_ANT_LIMIT_EVENTID = 0x1924, WMI_BRP_SET_ANT_LIMIT_EVENTID = 0x1924,
...@@ -1681,7 +1869,9 @@ enum wmi_event_id { ...@@ -1681,7 +1869,9 @@ enum wmi_event_id {
WMI_PRIO_TX_SECTORS_ORDER_EVENTID = 0x19A5, WMI_PRIO_TX_SECTORS_ORDER_EVENTID = 0x19A5,
WMI_PRIO_TX_SECTORS_NUMBER_EVENTID = 0x19A6, WMI_PRIO_TX_SECTORS_NUMBER_EVENTID = 0x19A6,
WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_EVENTID = 0x19A7, WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_EVENTID = 0x19A7,
/* deprecated */
WMI_BF_CONTROL_EVENTID = 0x19AA, WMI_BF_CONTROL_EVENTID = 0x19AA,
WMI_BF_CONTROL_EX_EVENTID = 0x19AB,
WMI_TX_STATUS_RING_CFG_DONE_EVENTID = 0x19C0, WMI_TX_STATUS_RING_CFG_DONE_EVENTID = 0x19C0,
WMI_RX_STATUS_RING_CFG_DONE_EVENTID = 0x19C1, WMI_RX_STATUS_RING_CFG_DONE_EVENTID = 0x19C1,
WMI_TX_DESC_RING_CFG_DONE_EVENTID = 0x19C2, WMI_TX_DESC_RING_CFG_DONE_EVENTID = 0x19C2,
...@@ -1697,6 +1887,12 @@ enum wmi_event_id { ...@@ -1697,6 +1887,12 @@ enum wmi_event_id {
WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_EVENTID = 0x1A08, WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_EVENTID = 0x1A08,
WMI_INTERNAL_FW_EVENT_EVENTID = 0x1A0A, WMI_INTERNAL_FW_EVENT_EVENTID = 0x1A0A,
WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B, WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B,
WMI_LINK_STATS_CONFIG_DONE_EVENTID = 0x1A0C,
WMI_LINK_STATS_EVENTID = 0x1A0D,
WMI_SET_GRANT_MCS_EVENTID = 0x1A0E,
WMI_SET_AP_SLOT_SIZE_EVENTID = 0x1A0F,
WMI_SET_VRING_PRIORITY_WEIGHT_EVENTID = 0x1A10,
WMI_SET_VRING_PRIORITY_EVENTID = 0x1A11,
WMI_SET_CHANNEL_EVENTID = 0x9000, WMI_SET_CHANNEL_EVENTID = 0x9000,
WMI_ASSOC_REQ_EVENTID = 0x9001, WMI_ASSOC_REQ_EVENTID = 0x9001,
WMI_EAPOL_RX_EVENTID = 0x9002, WMI_EAPOL_RX_EVENTID = 0x9002,
...@@ -1961,6 +2157,33 @@ struct wmi_scan_complete_event { ...@@ -1961,6 +2157,33 @@ struct wmi_scan_complete_event {
__le32 status; __le32 status;
} __packed; } __packed;
/* WMI_FT_AUTH_STATUS_EVENTID */
struct wmi_ft_auth_status_event {
/* enum wmi_fw_status */
u8 status;
u8 reserved[3];
u8 mac_addr[WMI_MAC_LEN];
__le16 ie_len;
u8 ie_info[0];
} __packed;
/* WMI_FT_REASSOC_STATUS_EVENTID */
struct wmi_ft_reassoc_status_event {
/* enum wmi_fw_status */
u8 status;
/* association id received from new AP */
u8 aid;
/* enum wmi_channel */
u8 channel;
/* enum wmi_channel */
u8 edmg_channel;
u8 mac_addr[WMI_MAC_LEN];
__le16 beacon_ie_len;
__le16 reassoc_req_ie_len;
__le16 reassoc_resp_ie_len;
u8 ie_info[0];
} __packed;
/* wmi_rx_mgmt_info */ /* wmi_rx_mgmt_info */
struct wmi_rx_mgmt_info { struct wmi_rx_mgmt_info {
u8 mcs; u8 mcs;
...@@ -2455,6 +2678,81 @@ struct wmi_rs_cfg { ...@@ -2455,6 +2678,81 @@ struct wmi_rs_cfg {
__le32 mcs_en_vec; __le32 mcs_en_vec;
} __packed; } __packed;
enum wmi_edmg_tx_mode {
WMI_TX_MODE_DMG = 0x0,
WMI_TX_MODE_EDMG_CB1 = 0x1,
WMI_TX_MODE_EDMG_CB2 = 0x2,
WMI_TX_MODE_EDMG_CB1_LONG_LDPC = 0x3,
WMI_TX_MODE_EDMG_CB2_LONG_LDPC = 0x4,
WMI_TX_MODE_MAX,
};
/* Rate search parameters common configuration */
struct wmi_rs_cfg_ex_common {
/* enum wmi_edmg_tx_mode */
u8 mode;
/* stop threshold [0-100] */
u8 stop_th;
/* MCS1 stop threshold [0-100] */
u8 mcs1_fail_th;
u8 max_back_failure_th;
/* Debug feature for disabling internal RS trigger (which is
* currently triggered by BF Done)
*/
u8 dbg_disable_internal_trigger;
u8 reserved[3];
__le32 back_failure_mask;
} __packed;
/* Rate search parameters configuration per MCS */
struct wmi_rs_cfg_ex_mcs {
/* The maximal allowed PER for each MCS
* MCS will be considered as failed if PER during RS is higher
*/
u8 per_threshold;
/* Number of MPDUs for each MCS
* this is the minimal statistic required to make an educated
* decision
*/
u8 min_frame_cnt;
u8 reserved[2];
} __packed;
/* WMI_RS_CFG_EX_CMDID */
struct wmi_rs_cfg_ex_cmd {
/* Configuration for all MCSs */
struct wmi_rs_cfg_ex_common common_cfg;
u8 each_mcs_cfg_size;
u8 reserved[3];
/* Configuration for each MCS */
struct wmi_rs_cfg_ex_mcs each_mcs_cfg[0];
} __packed;
/* WMI_RS_CFG_EX_EVENTID */
struct wmi_rs_cfg_ex_event {
/* enum wmi_edmg_tx_mode */
u8 mode;
/* enum wmi_fw_status */
u8 status;
u8 reserved[2];
} __packed;
/* WMI_RS_ENABLE_CMDID */
struct wmi_rs_enable_cmd {
u8 cid;
/* enable or disable rate search */
u8 rs_enable;
u8 reserved[2];
__le32 mcs_en_vec;
} __packed;
/* WMI_RS_ENABLE_EVENTID */
struct wmi_rs_enable_event {
/* enum wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* Slot types */ /* Slot types */
enum wmi_sched_scheme_slot_type { enum wmi_sched_scheme_slot_type {
WMI_SCHED_SLOT_SP = 0x0, WMI_SCHED_SLOT_SP = 0x0,
...@@ -2547,7 +2845,7 @@ struct wmi_scheduling_scheme_event { ...@@ -2547,7 +2845,7 @@ struct wmi_scheduling_scheme_event {
u8 reserved[1]; u8 reserved[1];
} __packed; } __packed;
/* WMI_RS_CFG_CMDID */ /* WMI_RS_CFG_CMDID - deprecated */
struct wmi_rs_cfg_cmd { struct wmi_rs_cfg_cmd {
/* connection id */ /* connection id */
u8 cid; u8 cid;
...@@ -2557,7 +2855,7 @@ struct wmi_rs_cfg_cmd { ...@@ -2557,7 +2855,7 @@ struct wmi_rs_cfg_cmd {
struct wmi_rs_cfg rs_cfg; struct wmi_rs_cfg rs_cfg;
} __packed; } __packed;
/* WMI_RS_CFG_DONE_EVENTID */ /* WMI_RS_CFG_DONE_EVENTID - deprecated */
struct wmi_rs_cfg_done_event { struct wmi_rs_cfg_done_event {
u8 cid; u8 cid;
/* enum wmi_fw_status */ /* enum wmi_fw_status */
...@@ -2565,7 +2863,7 @@ struct wmi_rs_cfg_done_event { ...@@ -2565,7 +2863,7 @@ struct wmi_rs_cfg_done_event {
u8 reserved[2]; u8 reserved[2];
} __packed; } __packed;
/* WMI_GET_DETAILED_RS_RES_CMDID */ /* WMI_GET_DETAILED_RS_RES_CMDID - deprecated */
struct wmi_get_detailed_rs_res_cmd { struct wmi_get_detailed_rs_res_cmd {
/* connection id */ /* connection id */
u8 cid; u8 cid;
...@@ -2590,7 +2888,7 @@ struct wmi_rs_results { ...@@ -2590,7 +2888,7 @@ struct wmi_rs_results {
u8 mcs; u8 mcs;
} __packed; } __packed;
/* WMI_GET_DETAILED_RS_RES_EVENTID */ /* WMI_GET_DETAILED_RS_RES_EVENTID - deprecated */
struct wmi_get_detailed_rs_res_event { struct wmi_get_detailed_rs_res_event {
u8 cid; u8 cid;
/* enum wmi_rs_results_status */ /* enum wmi_rs_results_status */
...@@ -2600,6 +2898,45 @@ struct wmi_get_detailed_rs_res_event { ...@@ -2600,6 +2898,45 @@ struct wmi_get_detailed_rs_res_event {
u8 reserved[3]; u8 reserved[3];
} __packed; } __packed;
/* WMI_GET_DETAILED_RS_RES_EX_CMDID */
struct wmi_get_detailed_rs_res_ex_cmd {
u8 cid;
u8 reserved[3];
} __packed;
/* Rate search results */
struct wmi_rs_results_ex_common {
/* RS timestamp */
__le32 tsf;
/* RS selected MCS */
u8 mcs;
/* enum wmi_edmg_tx_mode */
u8 mode;
u8 reserved[2];
} __packed;
/* Rate search results */
struct wmi_rs_results_ex_mcs {
/* number of sent MPDUs */
u8 num_of_tx_pkt;
/* number of non-acked MPDUs */
u8 num_of_non_acked_pkt;
u8 reserved[2];
} __packed;
/* WMI_GET_DETAILED_RS_RES_EX_EVENTID */
struct wmi_get_detailed_rs_res_ex_event {
u8 cid;
/* enum wmi_rs_results_status */
u8 status;
u8 reserved0[2];
struct wmi_rs_results_ex_common common_rs_results;
u8 each_mcs_results_size;
u8 reserved1[3];
/* Results for each MCS */
struct wmi_rs_results_ex_mcs each_mcs_results[0];
} __packed;
/* BRP antenna limit mode */ /* BRP antenna limit mode */
enum wmi_brp_ant_limit_mode { enum wmi_brp_ant_limit_mode {
/* Disable BRP force antenna limit */ /* Disable BRP force antenna limit */
...@@ -3350,13 +3687,20 @@ struct wmi_get_assoc_list_res_event { ...@@ -3350,13 +3687,20 @@ struct wmi_get_assoc_list_res_event {
u8 reserved[3]; u8 reserved[3];
} __packed; } __packed;
/* WMI_BF_CONTROL_EVENTID */ /* WMI_BF_CONTROL_EVENTID - deprecated */
struct wmi_bf_control_event { struct wmi_bf_control_event {
/* wmi_fw_status */ /* wmi_fw_status */
u8 status; u8 status;
u8 reserved[3]; u8 reserved[3];
} __packed; } __packed;
/* WMI_BF_CONTROL_EX_EVENTID */
struct wmi_bf_control_ex_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_COMMAND_NOT_SUPPORTED_EVENTID */ /* WMI_COMMAND_NOT_SUPPORTED_EVENTID */
struct wmi_command_not_supported_event { struct wmi_command_not_supported_event {
/* device id */ /* device id */
...@@ -3426,4 +3770,69 @@ struct wmi_internal_fw_set_channel_event { ...@@ -3426,4 +3770,69 @@ struct wmi_internal_fw_set_channel_event {
u8 reserved[3]; u8 reserved[3];
} __packed; } __packed;
/* WMI_LINK_STATS_CONFIG_DONE_EVENTID */
struct wmi_link_stats_config_done_event {
/* wmi_fw_status_e */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_LINK_STATS_EVENTID */
struct wmi_link_stats_event {
__le16 payload_size;
u8 has_next;
u8 reserved[5];
/* a stream of records, e.g. wmi_link_stats_basic_s */
u8 payload[0];
} __packed;
/* WMI_LINK_STATS_EVENT record struct */
struct wmi_link_stats_basic {
/* WMI_LINK_STATS_TYPE_BASIC */
u8 record_type_id;
u8 cid;
/* 0: fail; 1: OK; 2: retrying */
u8 bf_status;
s8 rssi;
u8 sqi;
u8 selected_rfc;
__le16 bf_mcs;
__le32 tx_tpt;
__le32 tx_goodput;
__le32 rx_goodput;
__le16 my_rx_sector;
__le16 my_tx_sector;
__le16 other_rx_sector;
__le16 other_tx_sector;
__le32 reserved[2];
} __packed;
/* WMI_SET_GRANT_MCS_EVENTID */
struct wmi_set_grant_mcs_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_SET_AP_SLOT_SIZE_EVENTID */
struct wmi_set_ap_slot_size_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_SET_VRING_PRIORITY_WEIGHT_EVENTID */
struct wmi_set_vring_priority_weight_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
/* WMI_SET_VRING_PRIORITY_EVENTID */
struct wmi_set_vring_priority_event {
/* wmi_fw_status */
u8 status;
u8 reserved[3];
} __packed;
#endif /* __WILOCITY_WMI_H__ */ #endif /* __WILOCITY_WMI_H__ */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册