wmi.h (bf9b608e63dfd71ab225c9d4211eb6d8dc582a3b) | wmi.h (b5aeff16b20f65e6bb9ebafd06c1c96c2b503089) |
---|---|
1/* 2 * Copyright (c) 2018, The Linux Foundation. All rights reserved. 3 * Copyright (c) 2012-2017 Qualcomm Atheros, Inc. 4 * Copyright (c) 2006-2012 Wilocity 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. --- 39 unchanged lines hidden (view full) --- 48 * must always be kept equal to 49 * (WMI_RF_ETYPE_LENGTH+WMI_RF_ETYPE_VAL_PER_RANGE) 50 */ 51#define WMI_RF_ETYPE_CONF_LENGTH (8) 52/* RX2TX configuration array size 53 * must always be kept equal to (WMI_RF_RX2TX_LENGTH+1) 54 */ 55#define WMI_RF_RX2TX_CONF_LENGTH (4) | 1/* 2 * Copyright (c) 2018, The Linux Foundation. All rights reserved. 3 * Copyright (c) 2012-2017 Qualcomm Atheros, Inc. 4 * Copyright (c) 2006-2012 Wilocity 5 * 6 * Permission to use, copy, modify, and/or distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. --- 39 unchanged lines hidden (view full) --- 48 * must always be kept equal to 49 * (WMI_RF_ETYPE_LENGTH+WMI_RF_ETYPE_VAL_PER_RANGE) 50 */ 51#define WMI_RF_ETYPE_CONF_LENGTH (8) 52/* RX2TX configuration array size 53 * must always be kept equal to (WMI_RF_RX2TX_LENGTH+1) 54 */ 55#define WMI_RF_RX2TX_CONF_LENGTH (4) |
56/* Qos configuration */ 57#define WMI_QOS_NUM_OF_PRIORITY (4) 58#define WMI_QOS_MIN_DEFAULT_WEIGHT (10) 59#define WMI_QOS_VRING_SLOT_MIN_MS (2) 60#define WMI_QOS_VRING_SLOT_MAX_MS (10) 61/* (WMI_QOS_MIN_DEFAULT_WEIGHT * WMI_QOS_VRING_SLOT_MAX_MS / 62 * WMI_QOS_VRING_SLOT_MIN_MS) 63 */ 64#define WMI_QOS_MAX_WEIGHT 50 65#define WMI_QOS_SET_VIF_PRIORITY (0xFF) 66#define WMI_QOS_DEFAULT_PRIORITY (WMI_QOS_NUM_OF_PRIORITY) |
|
56 57/* Mailbox interface 58 * used for commands and events 59 */ 60enum wmi_mid { 61 MID_DEFAULT = 0x00, 62 FIRST_DBG_MID_ID = 0x10, 63 LAST_DBG_MID_ID = 0xFE, --- 17 unchanged lines hidden (view full) --- 81 WMI_FW_CAPABILITY_FIXED_SCHEDULING = 10, 82 WMI_FW_CAPABILITY_MULTI_DIRECTED_OMNIS = 11, 83 WMI_FW_CAPABILITY_RSSI_REPORTING = 12, 84 WMI_FW_CAPABILITY_SET_SILENT_RSSI_TABLE = 13, 85 WMI_FW_CAPABILITY_LO_POWER_CALIB_FROM_OTP = 14, 86 WMI_FW_CAPABILITY_PNO = 15, 87 WMI_FW_CAPABILITY_REF_CLOCK_CONTROL = 18, 88 WMI_FW_CAPABILITY_AP_SME_OFFLOAD_NONE = 19, | 67 68/* Mailbox interface 69 * used for commands and events 70 */ 71enum wmi_mid { 72 MID_DEFAULT = 0x00, 73 FIRST_DBG_MID_ID = 0x10, 74 LAST_DBG_MID_ID = 0xFE, --- 17 unchanged lines hidden (view full) --- 92 WMI_FW_CAPABILITY_FIXED_SCHEDULING = 10, 93 WMI_FW_CAPABILITY_MULTI_DIRECTED_OMNIS = 11, 94 WMI_FW_CAPABILITY_RSSI_REPORTING = 12, 95 WMI_FW_CAPABILITY_SET_SILENT_RSSI_TABLE = 13, 96 WMI_FW_CAPABILITY_LO_POWER_CALIB_FROM_OTP = 14, 97 WMI_FW_CAPABILITY_PNO = 15, 98 WMI_FW_CAPABILITY_REF_CLOCK_CONTROL = 18, 99 WMI_FW_CAPABILITY_AP_SME_OFFLOAD_NONE = 19, |
100 WMI_FW_CAPABILITY_MULTI_VIFS = 20, 101 WMI_FW_CAPABILITY_FT_ROAMING = 21, |
|
89 WMI_FW_CAPABILITY_AMSDU = 23, 90 WMI_FW_CAPABILITY_MAX, 91}; 92 93/* WMI_CMD_HDR */ 94struct wmi_cmd_hdr { 95 u8 mid; 96 u8 reserved; --- 8 unchanged lines hidden (view full) --- 105 WMI_DISCONNECT_STA_CMDID = 0x04, 106 WMI_START_SCHED_SCAN_CMDID = 0x05, 107 WMI_STOP_SCHED_SCAN_CMDID = 0x06, 108 WMI_START_SCAN_CMDID = 0x07, 109 WMI_SET_BSS_FILTER_CMDID = 0x09, 110 WMI_SET_PROBED_SSID_CMDID = 0x0A, 111 /* deprecated */ 112 WMI_SET_LISTEN_INT_CMDID = 0x0B, | 102 WMI_FW_CAPABILITY_AMSDU = 23, 103 WMI_FW_CAPABILITY_MAX, 104}; 105 106/* WMI_CMD_HDR */ 107struct wmi_cmd_hdr { 108 u8 mid; 109 u8 reserved; --- 8 unchanged lines hidden (view full) --- 118 WMI_DISCONNECT_STA_CMDID = 0x04, 119 WMI_START_SCHED_SCAN_CMDID = 0x05, 120 WMI_STOP_SCHED_SCAN_CMDID = 0x06, 121 WMI_START_SCAN_CMDID = 0x07, 122 WMI_SET_BSS_FILTER_CMDID = 0x09, 123 WMI_SET_PROBED_SSID_CMDID = 0x0A, 124 /* deprecated */ 125 WMI_SET_LISTEN_INT_CMDID = 0x0B, |
126 WMI_FT_AUTH_CMDID = 0x0C, 127 WMI_FT_REASSOC_CMDID = 0x0D, 128 WMI_UPDATE_FT_IES_CMDID = 0x0E, |
|
113 WMI_BCON_CTRL_CMDID = 0x0F, 114 WMI_ADD_CIPHER_KEY_CMDID = 0x16, 115 WMI_DELETE_CIPHER_KEY_CMDID = 0x17, 116 WMI_PCP_CONF_CMDID = 0x18, 117 WMI_SET_APPIE_CMDID = 0x3F, 118 WMI_SET_WSC_STATUS_CMDID = 0x41, 119 WMI_PXMT_RANGE_CFG_CMDID = 0x42, 120 WMI_PXMT_SNR2_RANGE_CFG_CMDID = 0x43, --- 81 unchanged lines hidden (view full) --- 202 WMI_START_SEARCH_CMDID = 0x915, 203 WMI_DISCOVERY_START_CMDID = 0x916, 204 WMI_DISCOVERY_STOP_CMDID = 0x917, 205 WMI_PCP_START_CMDID = 0x918, 206 WMI_PCP_STOP_CMDID = 0x919, 207 WMI_GET_PCP_FACTOR_CMDID = 0x91B, 208 /* Power Save Configuration Commands */ 209 WMI_PS_DEV_PROFILE_CFG_CMDID = 0x91C, | 129 WMI_BCON_CTRL_CMDID = 0x0F, 130 WMI_ADD_CIPHER_KEY_CMDID = 0x16, 131 WMI_DELETE_CIPHER_KEY_CMDID = 0x17, 132 WMI_PCP_CONF_CMDID = 0x18, 133 WMI_SET_APPIE_CMDID = 0x3F, 134 WMI_SET_WSC_STATUS_CMDID = 0x41, 135 WMI_PXMT_RANGE_CFG_CMDID = 0x42, 136 WMI_PXMT_SNR2_RANGE_CFG_CMDID = 0x43, --- 81 unchanged lines hidden (view full) --- 218 WMI_START_SEARCH_CMDID = 0x915, 219 WMI_DISCOVERY_START_CMDID = 0x916, 220 WMI_DISCOVERY_STOP_CMDID = 0x917, 221 WMI_PCP_START_CMDID = 0x918, 222 WMI_PCP_STOP_CMDID = 0x919, 223 WMI_GET_PCP_FACTOR_CMDID = 0x91B, 224 /* Power Save Configuration Commands */ 225 WMI_PS_DEV_PROFILE_CFG_CMDID = 0x91C, |
226 WMI_RS_ENABLE_CMDID = 0x91E, 227 WMI_RS_CFG_EX_CMDID = 0x91F, 228 WMI_GET_DETAILED_RS_RES_EX_CMDID = 0x920, 229 /* deprecated */ |
|
210 WMI_RS_CFG_CMDID = 0x921, | 230 WMI_RS_CFG_CMDID = 0x921, |
231 /* deprecated */ |
|
211 WMI_GET_DETAILED_RS_RES_CMDID = 0x922, 212 WMI_AOA_MEAS_CMDID = 0x923, 213 WMI_BRP_SET_ANT_LIMIT_CMDID = 0x924, 214 WMI_SET_MGMT_RETRY_LIMIT_CMDID = 0x930, 215 WMI_GET_MGMT_RETRY_LIMIT_CMDID = 0x931, 216 WMI_NEW_STA_CMDID = 0x935, 217 WMI_DEL_STA_CMDID = 0x936, 218 WMI_SET_THERMAL_THROTTLING_CFG_CMDID = 0x940, --- 12 unchanged lines hidden (view full) --- 231 WMI_GET_RF_SECTOR_PARAMS_CMDID = 0x9A0, 232 WMI_SET_RF_SECTOR_PARAMS_CMDID = 0x9A1, 233 WMI_GET_SELECTED_RF_SECTOR_INDEX_CMDID = 0x9A2, 234 WMI_SET_SELECTED_RF_SECTOR_INDEX_CMDID = 0x9A3, 235 WMI_SET_RF_SECTOR_ON_CMDID = 0x9A4, 236 WMI_PRIO_TX_SECTORS_ORDER_CMDID = 0x9A5, 237 WMI_PRIO_TX_SECTORS_NUMBER_CMDID = 0x9A6, 238 WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_CMDID = 0x9A7, | 232 WMI_GET_DETAILED_RS_RES_CMDID = 0x922, 233 WMI_AOA_MEAS_CMDID = 0x923, 234 WMI_BRP_SET_ANT_LIMIT_CMDID = 0x924, 235 WMI_SET_MGMT_RETRY_LIMIT_CMDID = 0x930, 236 WMI_GET_MGMT_RETRY_LIMIT_CMDID = 0x931, 237 WMI_NEW_STA_CMDID = 0x935, 238 WMI_DEL_STA_CMDID = 0x936, 239 WMI_SET_THERMAL_THROTTLING_CFG_CMDID = 0x940, --- 12 unchanged lines hidden (view full) --- 252 WMI_GET_RF_SECTOR_PARAMS_CMDID = 0x9A0, 253 WMI_SET_RF_SECTOR_PARAMS_CMDID = 0x9A1, 254 WMI_GET_SELECTED_RF_SECTOR_INDEX_CMDID = 0x9A2, 255 WMI_SET_SELECTED_RF_SECTOR_INDEX_CMDID = 0x9A3, 256 WMI_SET_RF_SECTOR_ON_CMDID = 0x9A4, 257 WMI_PRIO_TX_SECTORS_ORDER_CMDID = 0x9A5, 258 WMI_PRIO_TX_SECTORS_NUMBER_CMDID = 0x9A6, 259 WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_CMDID = 0x9A7, |
260 /* deprecated */ |
|
239 WMI_BF_CONTROL_CMDID = 0x9AA, | 261 WMI_BF_CONTROL_CMDID = 0x9AA, |
262 WMI_BF_CONTROL_EX_CMDID = 0x9AB, |
|
240 WMI_TX_STATUS_RING_ADD_CMDID = 0x9C0, 241 WMI_RX_STATUS_RING_ADD_CMDID = 0x9C1, 242 WMI_TX_DESC_RING_ADD_CMDID = 0x9C2, 243 WMI_RX_DESC_RING_ADD_CMDID = 0x9C3, 244 WMI_BCAST_DESC_RING_ADD_CMDID = 0x9C4, 245 WMI_CFG_DEF_RX_OFFLOAD_CMDID = 0x9C5, 246 WMI_SCHEDULING_SCHEME_CMDID = 0xA01, 247 WMI_FIXED_SCHEDULING_CONFIG_CMDID = 0xA02, 248 WMI_ENABLE_FIXED_SCHEDULING_CMDID = 0xA03, 249 WMI_SET_MULTI_DIRECTED_OMNIS_CONFIG_CMDID = 0xA04, 250 WMI_SET_LONG_RANGE_CONFIG_CMDID = 0xA05, 251 WMI_GET_ASSOC_LIST_CMDID = 0xA06, 252 WMI_GET_CCA_INDICATIONS_CMDID = 0xA07, 253 WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08, 254 WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B, | 263 WMI_TX_STATUS_RING_ADD_CMDID = 0x9C0, 264 WMI_RX_STATUS_RING_ADD_CMDID = 0x9C1, 265 WMI_TX_DESC_RING_ADD_CMDID = 0x9C2, 266 WMI_RX_DESC_RING_ADD_CMDID = 0x9C3, 267 WMI_BCAST_DESC_RING_ADD_CMDID = 0x9C4, 268 WMI_CFG_DEF_RX_OFFLOAD_CMDID = 0x9C5, 269 WMI_SCHEDULING_SCHEME_CMDID = 0xA01, 270 WMI_FIXED_SCHEDULING_CONFIG_CMDID = 0xA02, 271 WMI_ENABLE_FIXED_SCHEDULING_CMDID = 0xA03, 272 WMI_SET_MULTI_DIRECTED_OMNIS_CONFIG_CMDID = 0xA04, 273 WMI_SET_LONG_RANGE_CONFIG_CMDID = 0xA05, 274 WMI_GET_ASSOC_LIST_CMDID = 0xA06, 275 WMI_GET_CCA_INDICATIONS_CMDID = 0xA07, 276 WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_CMDID = 0xA08, 277 WMI_INTERNAL_FW_IOCTL_CMDID = 0xA0B, |
278 WMI_LINK_STATS_CMDID = 0xA0C, 279 WMI_SET_GRANT_MCS_CMDID = 0xA0E, 280 WMI_SET_AP_SLOT_SIZE_CMDID = 0xA0F, 281 WMI_SET_VRING_PRIORITY_WEIGHT_CMDID = 0xA10, 282 WMI_SET_VRING_PRIORITY_CMDID = 0xA11, |
|
255 WMI_SET_MAC_ADDRESS_CMDID = 0xF003, 256 WMI_ABORT_SCAN_CMDID = 0xF007, 257 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041, 258 /* deprecated */ 259 WMI_GET_PMK_CMDID = 0xF048, 260 WMI_SET_PASSPHRASE_CMDID = 0xF049, 261 /* deprecated */ 262 WMI_SEND_ASSOC_RES_CMDID = 0xF04A, --- 182 unchanged lines hidden (view full) --- 445 s8 min_rssi_threshold; 446 u8 channel_list[WMI_MAX_CHANNEL_NUM]; 447 u8 num_of_channels; 448 u8 reserved; 449 __le16 initial_delay_sec; 450 struct wmi_sched_scan_plan scan_plans[WMI_MAX_PLANS_NUM]; 451} __packed; 452 | 283 WMI_SET_MAC_ADDRESS_CMDID = 0xF003, 284 WMI_ABORT_SCAN_CMDID = 0xF007, 285 WMI_SET_PROMISCUOUS_MODE_CMDID = 0xF041, 286 /* deprecated */ 287 WMI_GET_PMK_CMDID = 0xF048, 288 WMI_SET_PASSPHRASE_CMDID = 0xF049, 289 /* deprecated */ 290 WMI_SEND_ASSOC_RES_CMDID = 0xF04A, --- 182 unchanged lines hidden (view full) --- 473 s8 min_rssi_threshold; 474 u8 channel_list[WMI_MAX_CHANNEL_NUM]; 475 u8 num_of_channels; 476 u8 reserved; 477 __le16 initial_delay_sec; 478 struct wmi_sched_scan_plan scan_plans[WMI_MAX_PLANS_NUM]; 479} __packed; 480 |
481/* WMI_FT_AUTH_CMDID */ 482struct wmi_ft_auth_cmd { 483 u8 bssid[WMI_MAC_LEN]; 484 /* enum wmi_channel */ 485 u8 channel; 486 /* enum wmi_channel */ 487 u8 edmg_channel; 488 u8 reserved[4]; 489} __packed; 490 491/* WMI_FT_REASSOC_CMDID */ 492struct wmi_ft_reassoc_cmd { 493 u8 bssid[WMI_MAC_LEN]; 494 u8 reserved[2]; 495} __packed; 496 497/* WMI_UPDATE_FT_IES_CMDID */ 498struct wmi_update_ft_ies_cmd { 499 /* Length of the FT IEs */ 500 __le16 ie_len; 501 u8 reserved[2]; 502 u8 ie_info[0]; 503} __packed; 504 |
|
453/* WMI_SET_PROBED_SSID_CMDID */ 454#define MAX_PROBED_SSID_INDEX (3) 455 456enum wmi_ssid_flag { 457 /* disables entry */ 458 WMI_SSID_FLAG_DISABLE = 0x00, 459 /* probes specified ssid */ 460 WMI_SSID_FLAG_SPECIFIC = 0x01, --- 278 unchanged lines hidden (view full) --- 739 u8 mac_ctrl; 740 u8 to_resolution; 741 u8 agg_max_wsize; 742 struct wmi_vring_cfg_schd schd_params; 743 /* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */ 744 u8 cid; 745 /* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */ 746 u8 tid; | 505/* WMI_SET_PROBED_SSID_CMDID */ 506#define MAX_PROBED_SSID_INDEX (3) 507 508enum wmi_ssid_flag { 509 /* disables entry */ 510 WMI_SSID_FLAG_DISABLE = 0x00, 511 /* probes specified ssid */ 512 WMI_SSID_FLAG_SPECIFIC = 0x01, --- 278 unchanged lines hidden (view full) --- 791 u8 mac_ctrl; 792 u8 to_resolution; 793 u8 agg_max_wsize; 794 struct wmi_vring_cfg_schd schd_params; 795 /* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */ 796 u8 cid; 797 /* Used when cidxtid = CIDXTID_EXTENDED_CID_TID */ 798 u8 tid; |
747 u8 reserved[2]; | 799 /* Update the vring's priority for Qos purpose. Set to 800 * WMI_QOS_DEFAULT_PRIORITY to use MID's QoS priority 801 */ 802 u8 qos_priority; 803 u8 reserved; |
748} __packed; 749 750enum wmi_vring_cfg_cmd_action { 751 WMI_VRING_CMD_ADD = 0x00, 752 WMI_VRING_CMD_MODIFY = 0x01, 753 WMI_VRING_CMD_DELETE = 0x02, 754}; 755 --- 14 unchanged lines hidden (view full) --- 770} __packed; 771 772/* WMI_BCAST_VRING_CFG_CMDID */ 773struct wmi_bcast_vring_cfg_cmd { 774 __le32 action; 775 struct wmi_bcast_vring_cfg vring_cfg; 776} __packed; 777 | 804} __packed; 805 806enum wmi_vring_cfg_cmd_action { 807 WMI_VRING_CMD_ADD = 0x00, 808 WMI_VRING_CMD_MODIFY = 0x01, 809 WMI_VRING_CMD_DELETE = 0x02, 810}; 811 --- 14 unchanged lines hidden (view full) --- 826} __packed; 827 828/* WMI_BCAST_VRING_CFG_CMDID */ 829struct wmi_bcast_vring_cfg_cmd { 830 __le32 action; 831 struct wmi_bcast_vring_cfg vring_cfg; 832} __packed; 833 |
778/* WMI_LO_POWER_CALIB_FROM_OTP_CMDID */ 779struct wmi_lo_power_calib_from_otp_cmd { 780 /* index to read from OTP. zero based */ 781 u8 index; 782 u8 reserved[3]; 783} __packed; 784 785/* WMI_LO_POWER_CALIB_FROM_OTP_EVENTID */ 786struct wmi_lo_power_calib_from_otp_event { 787 /* wmi_fw_status */ 788 u8 status; 789 u8 reserved[3]; 790} __packed; 791 | |
792struct wmi_edma_ring_cfg { 793 __le64 ring_mem_base; 794 /* size in number of items */ 795 __le16 ring_size; 796 u8 ring_id; 797 u8 reserved; 798} __packed; 799 --- 56 unchanged lines hidden (view full) --- 856 struct wmi_edma_ring_cfg ring_cfg; 857 __le16 max_msdu_size; 858 /* Correlated status ring (0-63) */ 859 u8 status_ring_id; 860 u8 encap_trans_type; 861 u8 reserved[4]; 862} __packed; 863 | 834struct wmi_edma_ring_cfg { 835 __le64 ring_mem_base; 836 /* size in number of items */ 837 __le16 ring_size; 838 u8 ring_id; 839 u8 reserved; 840} __packed; 841 --- 56 unchanged lines hidden (view full) --- 898 struct wmi_edma_ring_cfg ring_cfg; 899 __le16 max_msdu_size; 900 /* Correlated status ring (0-63) */ 901 u8 status_ring_id; 902 u8 encap_trans_type; 903 u8 reserved[4]; 904} __packed; 905 |
906/* WMI_LO_POWER_CALIB_FROM_OTP_CMDID */ 907struct wmi_lo_power_calib_from_otp_cmd { 908 /* index to read from OTP. zero based */ 909 u8 index; 910 u8 reserved[3]; 911} __packed; 912 913/* WMI_LO_POWER_CALIB_FROM_OTP_EVENTID */ 914struct wmi_lo_power_calib_from_otp_event { 915 /* wmi_fw_status */ 916 u8 status; 917 u8 reserved[3]; 918} __packed; 919 |
|
864/* WMI_RING_BA_EN_CMDID */ 865struct wmi_ring_ba_en_cmd { 866 u8 ring_id; 867 u8 agg_max_wsize; 868 __le16 ba_timeout; 869 u8 amsdu; 870 u8 reserved[3]; 871} __packed; --- 542 unchanged lines hidden (view full) --- 1414 1415/* WMI_FIXED_SCHEDULING_CONFIG_COMPLETE_EVENTID */ 1416struct wmi_fixed_scheduling_config_complete_event { 1417 /* wmi_fw_status */ 1418 u8 status; 1419 u8 reserved[3]; 1420} __packed; 1421 | 920/* WMI_RING_BA_EN_CMDID */ 921struct wmi_ring_ba_en_cmd { 922 u8 ring_id; 923 u8 agg_max_wsize; 924 __le16 ba_timeout; 925 u8 amsdu; 926 u8 reserved[3]; 927} __packed; --- 542 unchanged lines hidden (view full) --- 1470 1471/* WMI_FIXED_SCHEDULING_CONFIG_COMPLETE_EVENTID */ 1472struct wmi_fixed_scheduling_config_complete_event { 1473 /* wmi_fw_status */ 1474 u8 status; 1475 u8 reserved[3]; 1476} __packed; 1477 |
1478/* This value exists for backwards compatibility only. 1479 * Do not use it in new commands. 1480 * Use dynamic arrays where possible. 1481 */ |
|
1422#define WMI_NUM_MCS (13) 1423 1424/* WMI_FIXED_SCHEDULING_CONFIG_CMDID */ 1425struct wmi_fixed_scheduling_config_cmd { 1426 /* defaults in the SAS table */ 1427 struct wmi_map_mcs_to_schd_params mcs_to_schd_params_map[WMI_NUM_MCS]; 1428 /* default 150 uSec */ 1429 __le16 max_sta_rd_ppdu_duration_in_usec; --- 43 unchanged lines hidden (view full) --- 1473 1474/* WMI_SET_LONG_RANGE_CONFIG_COMPLETE_EVENTID */ 1475struct wmi_set_long_range_config_complete_event { 1476 /* wmi_fw_status */ 1477 u8 status; 1478 u8 reserved[3]; 1479} __packed; 1480 | 1482#define WMI_NUM_MCS (13) 1483 1484/* WMI_FIXED_SCHEDULING_CONFIG_CMDID */ 1485struct wmi_fixed_scheduling_config_cmd { 1486 /* defaults in the SAS table */ 1487 struct wmi_map_mcs_to_schd_params mcs_to_schd_params_map[WMI_NUM_MCS]; 1488 /* default 150 uSec */ 1489 __le16 max_sta_rd_ppdu_duration_in_usec; --- 43 unchanged lines hidden (view full) --- 1533 1534/* WMI_SET_LONG_RANGE_CONFIG_COMPLETE_EVENTID */ 1535struct wmi_set_long_range_config_complete_event { 1536 /* wmi_fw_status */ 1537 u8 status; 1538 u8 reserved[3]; 1539} __packed; 1540 |
1481/* payload max size is 236 bytes: max event buffer size (256) - WMI headers | 1541/* payload max size is 1024 bytes: max event buffer size (1044) - WMI headers |
1482 * (16) - prev struct field size (4) 1483 */ | 1542 * (16) - prev struct field size (4) 1543 */ |
1484#define WMI_MAX_IOCTL_PAYLOAD_SIZE (236) 1485#define WMI_MAX_IOCTL_REPLY_PAYLOAD_SIZE (236) 1486#define WMI_MAX_INTERNAL_EVENT_PAYLOAD_SIZE (236) | 1544#define WMI_MAX_IOCTL_PAYLOAD_SIZE (1024) 1545#define WMI_MAX_IOCTL_REPLY_PAYLOAD_SIZE (1024) 1546#define WMI_MAX_INTERNAL_EVENT_PAYLOAD_SIZE (1024) |
1487 1488enum wmi_internal_fw_ioctl_code { 1489 WMI_INTERNAL_FW_CODE_NONE = 0x0, 1490 WMI_INTERNAL_FW_CODE_QCOM = 0x1, 1491}; 1492 1493/* WMI_INTERNAL_FW_IOCTL_CMDID */ 1494struct wmi_internal_fw_ioctl_cmd { --- 23 unchanged lines hidden (view full) --- 1518 __le16 id; 1519 __le16 length; 1520 /* payload max size is WMI_MAX_INTERNAL_EVENT_PAYLOAD_SIZE 1521 * Must be the last member of the struct 1522 */ 1523 __le32 payload[0]; 1524} __packed; 1525 | 1547 1548enum wmi_internal_fw_ioctl_code { 1549 WMI_INTERNAL_FW_CODE_NONE = 0x0, 1550 WMI_INTERNAL_FW_CODE_QCOM = 0x1, 1551}; 1552 1553/* WMI_INTERNAL_FW_IOCTL_CMDID */ 1554struct wmi_internal_fw_ioctl_cmd { --- 23 unchanged lines hidden (view full) --- 1578 __le16 id; 1579 __le16 length; 1580 /* payload max size is WMI_MAX_INTERNAL_EVENT_PAYLOAD_SIZE 1581 * Must be the last member of the struct 1582 */ 1583 __le32 payload[0]; 1584} __packed; 1585 |
1526/* WMI_BF_CONTROL_CMDID */ | 1586/* WMI_SET_VRING_PRIORITY_WEIGHT_CMDID */ 1587struct wmi_set_vring_priority_weight_cmd { 1588 /* Array of weights. Valid values are 1589 * WMI_QOS_MIN_DEFAULT_WEIGHT...WMI_QOS_MAX_WEIGHT. Weight #0 is 1590 * hard-coded WMI_QOS_MIN_WEIGHT. This array provide the weights 1591 * #1..#3 1592 */ 1593 u8 weight[3]; 1594 u8 reserved; 1595} __packed; 1596 1597/* WMI_SET_VRING_PRIORITY_CMDID */ 1598struct wmi_vring_priority { 1599 u8 vring_idx; 1600 /* Weight index. Valid value is 0-3 */ 1601 u8 priority; 1602 u8 reserved[2]; 1603} __packed; 1604 1605/* WMI_SET_VRING_PRIORITY_CMDID */ 1606struct wmi_set_vring_priority_cmd { 1607 /* number of entries in vring_priority. Set to 1608 * WMI_QOS_SET_VIF_PRIORITY to update the VIF's priority, and there 1609 * will be only one entry in vring_priority 1610 */ 1611 u8 num_of_vrings; 1612 u8 reserved[3]; 1613 struct wmi_vring_priority vring_priority[0]; 1614} __packed; 1615 1616/* WMI_BF_CONTROL_CMDID - deprecated */ |
1527struct wmi_bf_control_cmd { 1528 /* wmi_bf_triggers */ 1529 __le32 triggers; 1530 u8 cid; 1531 /* DISABLED = 0, ENABLED = 1 , DRY_RUN = 2 */ 1532 u8 txss_mode; 1533 /* DISABLED = 0, ENABLED = 1, DRY_RUN = 2 */ 1534 u8 brp_mode; --- 25 unchanged lines hidden (view full) --- 1560 /* Long term throughput threshold [Mbps] */ 1561 u8 long_term_mbps_th_tbl[WMI_NUM_MCS]; 1562 u8 reserved1; 1563 /* Long term timeout threshold table [msec] */ 1564 __le16 long_term_trig_timeout_per_mcs[WMI_NUM_MCS]; 1565 u8 reserved2[2]; 1566} __packed; 1567 | 1617struct wmi_bf_control_cmd { 1618 /* wmi_bf_triggers */ 1619 __le32 triggers; 1620 u8 cid; 1621 /* DISABLED = 0, ENABLED = 1 , DRY_RUN = 2 */ 1622 u8 txss_mode; 1623 /* DISABLED = 0, ENABLED = 1, DRY_RUN = 2 */ 1624 u8 brp_mode; --- 25 unchanged lines hidden (view full) --- 1650 /* Long term throughput threshold [Mbps] */ 1651 u8 long_term_mbps_th_tbl[WMI_NUM_MCS]; 1652 u8 reserved1; 1653 /* Long term timeout threshold table [msec] */ 1654 __le16 long_term_trig_timeout_per_mcs[WMI_NUM_MCS]; 1655 u8 reserved2[2]; 1656} __packed; 1657 |
1658/* BF configuration for each MCS */ 1659struct wmi_bf_control_ex_mcs { 1660 /* Long term throughput threshold [Mbps] */ 1661 u8 long_term_mbps_th_tbl; 1662 u8 reserved; 1663 /* Long term timeout threshold table [msec] */ 1664 __le16 long_term_trig_timeout_per_mcs; 1665} __packed; 1666 1667/* WMI_BF_CONTROL_EX_CMDID */ 1668struct wmi_bf_control_ex_cmd { 1669 /* wmi_bf_triggers */ 1670 __le32 triggers; 1671 /* enum wmi_edmg_tx_mode */ 1672 u8 tx_mode; 1673 /* DISABLED = 0, ENABLED = 1 , DRY_RUN = 2 */ 1674 u8 txss_mode; 1675 /* DISABLED = 0, ENABLED = 1, DRY_RUN = 2 */ 1676 u8 brp_mode; 1677 /* Max cts threshold (correspond to 1678 * WMI_BF_TRIGGER_MAX_CTS_FAILURE_IN_TXOP) 1679 */ 1680 u8 bf_trigger_max_cts_failure_thr; 1681 /* Max cts threshold in dense (correspond to 1682 * WMI_BF_TRIGGER_MAX_CTS_FAILURE_IN_TXOP) 1683 */ 1684 u8 bf_trigger_max_cts_failure_dense_thr; 1685 /* Max b-ack threshold (correspond to 1686 * WMI_BF_TRIGGER_MAX_BACK_FAILURE) 1687 */ 1688 u8 bf_trigger_max_back_failure_thr; 1689 /* Max b-ack threshold in dense (correspond to 1690 * WMI_BF_TRIGGER_MAX_BACK_FAILURE) 1691 */ 1692 u8 bf_trigger_max_back_failure_dense_thr; 1693 u8 reserved0; 1694 /* Wrong sectors threshold */ 1695 __le32 wrong_sector_bis_thr; 1696 /* BOOL to enable/disable long term trigger */ 1697 u8 long_term_enable; 1698 /* 1 = Update long term thresholds from the long_term_mbps_th_tbl and 1699 * long_term_trig_timeout_per_mcs arrays, 0 = Ignore 1700 */ 1701 u8 long_term_update_thr; 1702 u8 each_mcs_cfg_size; 1703 u8 reserved1; 1704 /* Configuration for each MCS */ 1705 struct wmi_bf_control_ex_mcs each_mcs_cfg[0]; 1706} __packed; 1707 1708/* WMI_LINK_STATS_CMD */ 1709enum wmi_link_stats_action { 1710 WMI_LINK_STATS_SNAPSHOT = 0x00, 1711 WMI_LINK_STATS_PERIODIC = 0x01, 1712 WMI_LINK_STATS_STOP_PERIODIC = 0x02, 1713}; 1714 1715/* WMI_LINK_STATS_EVENT record identifiers */ 1716enum wmi_link_stats_record_type { 1717 WMI_LINK_STATS_TYPE_BASIC = 0x01, 1718 WMI_LINK_STATS_TYPE_MAC = 0x02, 1719 WMI_LINK_STATS_TYPE_PHY = 0x04, 1720 WMI_LINK_STATS_TYPE_OTA = 0x08, 1721}; 1722 1723/* WMI_LINK_STATS_CMDID */ 1724struct wmi_link_stats_cmd { 1725 /* bitmask of required record types 1726 * (wmi_link_stats_record_type_e) 1727 */ 1728 __le32 record_type_mask; 1729 /* 0xff for all cids */ 1730 u8 cid; 1731 /* wmi_link_stats_action_e */ 1732 u8 action; 1733 u8 reserved[6]; 1734 /* for WMI_LINK_STATS_PERIODIC */ 1735 __le32 interval_msec; 1736} __packed; 1737 1738/* WMI_SET_GRANT_MCS_CMDID */ 1739struct wmi_set_grant_mcs_cmd { 1740 u8 mcs; 1741 u8 reserved[3]; 1742} __packed; 1743 1744/* WMI_SET_AP_SLOT_SIZE_CMDID */ 1745struct wmi_set_ap_slot_size_cmd { 1746 __le32 slot_size; 1747} __packed; 1748 |
|
1568/* WMI Events 1569 * List of Events (target to host) 1570 */ 1571enum wmi_event_id { 1572 WMI_READY_EVENTID = 0x1001, 1573 WMI_CONNECT_EVENTID = 0x1002, 1574 WMI_DISCONNECT_EVENTID = 0x1003, 1575 WMI_START_SCHED_SCAN_EVENTID = 0x1005, 1576 WMI_STOP_SCHED_SCAN_EVENTID = 0x1006, 1577 WMI_SCHED_SCAN_RESULT_EVENTID = 0x1007, 1578 WMI_SCAN_COMPLETE_EVENTID = 0x100A, 1579 WMI_REPORT_STATISTICS_EVENTID = 0x100B, | 1749/* WMI Events 1750 * List of Events (target to host) 1751 */ 1752enum wmi_event_id { 1753 WMI_READY_EVENTID = 0x1001, 1754 WMI_CONNECT_EVENTID = 0x1002, 1755 WMI_DISCONNECT_EVENTID = 0x1003, 1756 WMI_START_SCHED_SCAN_EVENTID = 0x1005, 1757 WMI_STOP_SCHED_SCAN_EVENTID = 0x1006, 1758 WMI_SCHED_SCAN_RESULT_EVENTID = 0x1007, 1759 WMI_SCAN_COMPLETE_EVENTID = 0x100A, 1760 WMI_REPORT_STATISTICS_EVENTID = 0x100B, |
1761 WMI_FT_AUTH_STATUS_EVENTID = 0x100C, 1762 WMI_FT_REASSOC_STATUS_EVENTID = 0x100D, |
|
1580 WMI_RD_MEM_RSP_EVENTID = 0x1800, 1581 WMI_FW_READY_EVENTID = 0x1801, 1582 WMI_EXIT_FAST_MEM_ACC_MODE_EVENTID = 0x200, 1583 WMI_ECHO_RSP_EVENTID = 0x1803, 1584 /* deprecated */ 1585 WMI_FS_TUNE_DONE_EVENTID = 0x180A, 1586 /* deprecated */ 1587 WMI_CORR_MEASURE_EVENTID = 0x180B, --- 60 unchanged lines hidden (view full) --- 1648 WMI_SEARCH_STARTED_EVENTID = 0x1915, 1649 WMI_DISCOVERY_STARTED_EVENTID = 0x1916, 1650 WMI_DISCOVERY_STOPPED_EVENTID = 0x1917, 1651 WMI_PCP_STARTED_EVENTID = 0x1918, 1652 WMI_PCP_STOPPED_EVENTID = 0x1919, 1653 WMI_PCP_FACTOR_EVENTID = 0x191A, 1654 /* Power Save Configuration Events */ 1655 WMI_PS_DEV_PROFILE_CFG_EVENTID = 0x191C, | 1763 WMI_RD_MEM_RSP_EVENTID = 0x1800, 1764 WMI_FW_READY_EVENTID = 0x1801, 1765 WMI_EXIT_FAST_MEM_ACC_MODE_EVENTID = 0x200, 1766 WMI_ECHO_RSP_EVENTID = 0x1803, 1767 /* deprecated */ 1768 WMI_FS_TUNE_DONE_EVENTID = 0x180A, 1769 /* deprecated */ 1770 WMI_CORR_MEASURE_EVENTID = 0x180B, --- 60 unchanged lines hidden (view full) --- 1831 WMI_SEARCH_STARTED_EVENTID = 0x1915, 1832 WMI_DISCOVERY_STARTED_EVENTID = 0x1916, 1833 WMI_DISCOVERY_STOPPED_EVENTID = 0x1917, 1834 WMI_PCP_STARTED_EVENTID = 0x1918, 1835 WMI_PCP_STOPPED_EVENTID = 0x1919, 1836 WMI_PCP_FACTOR_EVENTID = 0x191A, 1837 /* Power Save Configuration Events */ 1838 WMI_PS_DEV_PROFILE_CFG_EVENTID = 0x191C, |
1839 WMI_RS_ENABLE_EVENTID = 0x191E, 1840 WMI_RS_CFG_EX_EVENTID = 0x191F, 1841 WMI_GET_DETAILED_RS_RES_EX_EVENTID = 0x1920, 1842 /* deprecated */ |
|
1656 WMI_RS_CFG_DONE_EVENTID = 0x1921, | 1843 WMI_RS_CFG_DONE_EVENTID = 0x1921, |
1844 /* deprecated */ |
|
1657 WMI_GET_DETAILED_RS_RES_EVENTID = 0x1922, 1658 WMI_AOA_MEAS_EVENTID = 0x1923, 1659 WMI_BRP_SET_ANT_LIMIT_EVENTID = 0x1924, 1660 WMI_SET_MGMT_RETRY_LIMIT_EVENTID = 0x1930, 1661 WMI_GET_MGMT_RETRY_LIMIT_EVENTID = 0x1931, 1662 WMI_SET_THERMAL_THROTTLING_CFG_EVENTID = 0x1940, 1663 WMI_GET_THERMAL_THROTTLING_CFG_EVENTID = 0x1941, 1664 /* return the Power Save profile */ --- 11 unchanged lines hidden (view full) --- 1676 WMI_GET_RF_SECTOR_PARAMS_DONE_EVENTID = 0x19A0, 1677 WMI_SET_RF_SECTOR_PARAMS_DONE_EVENTID = 0x19A1, 1678 WMI_GET_SELECTED_RF_SECTOR_INDEX_DONE_EVENTID = 0x19A2, 1679 WMI_SET_SELECTED_RF_SECTOR_INDEX_DONE_EVENTID = 0x19A3, 1680 WMI_SET_RF_SECTOR_ON_DONE_EVENTID = 0x19A4, 1681 WMI_PRIO_TX_SECTORS_ORDER_EVENTID = 0x19A5, 1682 WMI_PRIO_TX_SECTORS_NUMBER_EVENTID = 0x19A6, 1683 WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_EVENTID = 0x19A7, | 1845 WMI_GET_DETAILED_RS_RES_EVENTID = 0x1922, 1846 WMI_AOA_MEAS_EVENTID = 0x1923, 1847 WMI_BRP_SET_ANT_LIMIT_EVENTID = 0x1924, 1848 WMI_SET_MGMT_RETRY_LIMIT_EVENTID = 0x1930, 1849 WMI_GET_MGMT_RETRY_LIMIT_EVENTID = 0x1931, 1850 WMI_SET_THERMAL_THROTTLING_CFG_EVENTID = 0x1940, 1851 WMI_GET_THERMAL_THROTTLING_CFG_EVENTID = 0x1941, 1852 /* return the Power Save profile */ --- 11 unchanged lines hidden (view full) --- 1864 WMI_GET_RF_SECTOR_PARAMS_DONE_EVENTID = 0x19A0, 1865 WMI_SET_RF_SECTOR_PARAMS_DONE_EVENTID = 0x19A1, 1866 WMI_GET_SELECTED_RF_SECTOR_INDEX_DONE_EVENTID = 0x19A2, 1867 WMI_SET_SELECTED_RF_SECTOR_INDEX_DONE_EVENTID = 0x19A3, 1868 WMI_SET_RF_SECTOR_ON_DONE_EVENTID = 0x19A4, 1869 WMI_PRIO_TX_SECTORS_ORDER_EVENTID = 0x19A5, 1870 WMI_PRIO_TX_SECTORS_NUMBER_EVENTID = 0x19A6, 1871 WMI_PRIO_TX_SECTORS_SET_DEFAULT_CFG_EVENTID = 0x19A7, |
1872 /* deprecated */ |
|
1684 WMI_BF_CONTROL_EVENTID = 0x19AA, | 1873 WMI_BF_CONTROL_EVENTID = 0x19AA, |
1874 WMI_BF_CONTROL_EX_EVENTID = 0x19AB, |
|
1685 WMI_TX_STATUS_RING_CFG_DONE_EVENTID = 0x19C0, 1686 WMI_RX_STATUS_RING_CFG_DONE_EVENTID = 0x19C1, 1687 WMI_TX_DESC_RING_CFG_DONE_EVENTID = 0x19C2, 1688 WMI_RX_DESC_RING_CFG_DONE_EVENTID = 0x19C3, 1689 WMI_CFG_DEF_RX_OFFLOAD_DONE_EVENTID = 0x19C5, 1690 WMI_SCHEDULING_SCHEME_EVENTID = 0x1A01, 1691 WMI_FIXED_SCHEDULING_CONFIG_COMPLETE_EVENTID = 0x1A02, 1692 WMI_ENABLE_FIXED_SCHEDULING_COMPLETE_EVENTID = 0x1A03, 1693 WMI_SET_MULTI_DIRECTED_OMNIS_CONFIG_EVENTID = 0x1A04, 1694 WMI_SET_LONG_RANGE_CONFIG_COMPLETE_EVENTID = 0x1A05, 1695 WMI_GET_ASSOC_LIST_RES_EVENTID = 0x1A06, 1696 WMI_GET_CCA_INDICATIONS_EVENTID = 0x1A07, 1697 WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_EVENTID = 0x1A08, 1698 WMI_INTERNAL_FW_EVENT_EVENTID = 0x1A0A, 1699 WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B, | 1875 WMI_TX_STATUS_RING_CFG_DONE_EVENTID = 0x19C0, 1876 WMI_RX_STATUS_RING_CFG_DONE_EVENTID = 0x19C1, 1877 WMI_TX_DESC_RING_CFG_DONE_EVENTID = 0x19C2, 1878 WMI_RX_DESC_RING_CFG_DONE_EVENTID = 0x19C3, 1879 WMI_CFG_DEF_RX_OFFLOAD_DONE_EVENTID = 0x19C5, 1880 WMI_SCHEDULING_SCHEME_EVENTID = 0x1A01, 1881 WMI_FIXED_SCHEDULING_CONFIG_COMPLETE_EVENTID = 0x1A02, 1882 WMI_ENABLE_FIXED_SCHEDULING_COMPLETE_EVENTID = 0x1A03, 1883 WMI_SET_MULTI_DIRECTED_OMNIS_CONFIG_EVENTID = 0x1A04, 1884 WMI_SET_LONG_RANGE_CONFIG_COMPLETE_EVENTID = 0x1A05, 1885 WMI_GET_ASSOC_LIST_RES_EVENTID = 0x1A06, 1886 WMI_GET_CCA_INDICATIONS_EVENTID = 0x1A07, 1887 WMI_SET_CCA_INDICATIONS_BI_AVG_NUM_EVENTID = 0x1A08, 1888 WMI_INTERNAL_FW_EVENT_EVENTID = 0x1A0A, 1889 WMI_INTERNAL_FW_IOCTL_EVENTID = 0x1A0B, |
1890 WMI_LINK_STATS_CONFIG_DONE_EVENTID = 0x1A0C, 1891 WMI_LINK_STATS_EVENTID = 0x1A0D, 1892 WMI_SET_GRANT_MCS_EVENTID = 0x1A0E, 1893 WMI_SET_AP_SLOT_SIZE_EVENTID = 0x1A0F, 1894 WMI_SET_VRING_PRIORITY_WEIGHT_EVENTID = 0x1A10, 1895 WMI_SET_VRING_PRIORITY_EVENTID = 0x1A11, |
|
1700 WMI_SET_CHANNEL_EVENTID = 0x9000, 1701 WMI_ASSOC_REQ_EVENTID = 0x9001, 1702 WMI_EAPOL_RX_EVENTID = 0x9002, 1703 WMI_MAC_ADDR_RESP_EVENTID = 0x9003, 1704 WMI_FW_VER_EVENTID = 0x9004, 1705 WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005, 1706 WMI_INTERNAL_FW_SET_CHANNEL = 0x9006, 1707 WMI_COMMAND_NOT_SUPPORTED_EVENTID = 0xFFFF, --- 248 unchanged lines hidden (view full) --- 1956 WMI_SCAN_ABORT_REJECTED = 0x04, 1957}; 1958 1959struct wmi_scan_complete_event { 1960 /* enum scan_status */ 1961 __le32 status; 1962} __packed; 1963 | 1896 WMI_SET_CHANNEL_EVENTID = 0x9000, 1897 WMI_ASSOC_REQ_EVENTID = 0x9001, 1898 WMI_EAPOL_RX_EVENTID = 0x9002, 1899 WMI_MAC_ADDR_RESP_EVENTID = 0x9003, 1900 WMI_FW_VER_EVENTID = 0x9004, 1901 WMI_ACS_PASSIVE_SCAN_COMPLETE_EVENTID = 0x9005, 1902 WMI_INTERNAL_FW_SET_CHANNEL = 0x9006, 1903 WMI_COMMAND_NOT_SUPPORTED_EVENTID = 0xFFFF, --- 248 unchanged lines hidden (view full) --- 2152 WMI_SCAN_ABORT_REJECTED = 0x04, 2153}; 2154 2155struct wmi_scan_complete_event { 2156 /* enum scan_status */ 2157 __le32 status; 2158} __packed; 2159 |
2160/* WMI_FT_AUTH_STATUS_EVENTID */ 2161struct wmi_ft_auth_status_event { 2162 /* enum wmi_fw_status */ 2163 u8 status; 2164 u8 reserved[3]; 2165 u8 mac_addr[WMI_MAC_LEN]; 2166 __le16 ie_len; 2167 u8 ie_info[0]; 2168} __packed; 2169 2170/* WMI_FT_REASSOC_STATUS_EVENTID */ 2171struct wmi_ft_reassoc_status_event { 2172 /* enum wmi_fw_status */ 2173 u8 status; 2174 /* association id received from new AP */ 2175 u8 aid; 2176 /* enum wmi_channel */ 2177 u8 channel; 2178 /* enum wmi_channel */ 2179 u8 edmg_channel; 2180 u8 mac_addr[WMI_MAC_LEN]; 2181 __le16 beacon_ie_len; 2182 __le16 reassoc_req_ie_len; 2183 __le16 reassoc_resp_ie_len; 2184 u8 ie_info[0]; 2185} __packed; 2186 |
|
1964/* wmi_rx_mgmt_info */ 1965struct wmi_rx_mgmt_info { 1966 u8 mcs; 1967 s8 rssi; 1968 u8 range; 1969 u8 sqi; 1970 __le16 stype; 1971 __le16 status; --- 478 unchanged lines hidden (view full) --- 2450 /* Debug feature for disabling internal RS trigger (which is 2451 * currently triggered by BF Done) 2452 */ 2453 u8 dbg_disable_internal_trigger; 2454 __le32 back_failure_mask; 2455 __le32 mcs_en_vec; 2456} __packed; 2457 | 2187/* wmi_rx_mgmt_info */ 2188struct wmi_rx_mgmt_info { 2189 u8 mcs; 2190 s8 rssi; 2191 u8 range; 2192 u8 sqi; 2193 __le16 stype; 2194 __le16 status; --- 478 unchanged lines hidden (view full) --- 2673 /* Debug feature for disabling internal RS trigger (which is 2674 * currently triggered by BF Done) 2675 */ 2676 u8 dbg_disable_internal_trigger; 2677 __le32 back_failure_mask; 2678 __le32 mcs_en_vec; 2679} __packed; 2680 |
2681enum wmi_edmg_tx_mode { 2682 WMI_TX_MODE_DMG = 0x0, 2683 WMI_TX_MODE_EDMG_CB1 = 0x1, 2684 WMI_TX_MODE_EDMG_CB2 = 0x2, 2685 WMI_TX_MODE_EDMG_CB1_LONG_LDPC = 0x3, 2686 WMI_TX_MODE_EDMG_CB2_LONG_LDPC = 0x4, 2687 WMI_TX_MODE_MAX, 2688}; 2689 2690/* Rate search parameters common configuration */ 2691struct wmi_rs_cfg_ex_common { 2692 /* enum wmi_edmg_tx_mode */ 2693 u8 mode; 2694 /* stop threshold [0-100] */ 2695 u8 stop_th; 2696 /* MCS1 stop threshold [0-100] */ 2697 u8 mcs1_fail_th; 2698 u8 max_back_failure_th; 2699 /* Debug feature for disabling internal RS trigger (which is 2700 * currently triggered by BF Done) 2701 */ 2702 u8 dbg_disable_internal_trigger; 2703 u8 reserved[3]; 2704 __le32 back_failure_mask; 2705} __packed; 2706 2707/* Rate search parameters configuration per MCS */ 2708struct wmi_rs_cfg_ex_mcs { 2709 /* The maximal allowed PER for each MCS 2710 * MCS will be considered as failed if PER during RS is higher 2711 */ 2712 u8 per_threshold; 2713 /* Number of MPDUs for each MCS 2714 * this is the minimal statistic required to make an educated 2715 * decision 2716 */ 2717 u8 min_frame_cnt; 2718 u8 reserved[2]; 2719} __packed; 2720 2721/* WMI_RS_CFG_EX_CMDID */ 2722struct wmi_rs_cfg_ex_cmd { 2723 /* Configuration for all MCSs */ 2724 struct wmi_rs_cfg_ex_common common_cfg; 2725 u8 each_mcs_cfg_size; 2726 u8 reserved[3]; 2727 /* Configuration for each MCS */ 2728 struct wmi_rs_cfg_ex_mcs each_mcs_cfg[0]; 2729} __packed; 2730 2731/* WMI_RS_CFG_EX_EVENTID */ 2732struct wmi_rs_cfg_ex_event { 2733 /* enum wmi_edmg_tx_mode */ 2734 u8 mode; 2735 /* enum wmi_fw_status */ 2736 u8 status; 2737 u8 reserved[2]; 2738} __packed; 2739 2740/* WMI_RS_ENABLE_CMDID */ 2741struct wmi_rs_enable_cmd { 2742 u8 cid; 2743 /* enable or disable rate search */ 2744 u8 rs_enable; 2745 u8 reserved[2]; 2746 __le32 mcs_en_vec; 2747} __packed; 2748 2749/* WMI_RS_ENABLE_EVENTID */ 2750struct wmi_rs_enable_event { 2751 /* enum wmi_fw_status */ 2752 u8 status; 2753 u8 reserved[3]; 2754} __packed; 2755 |
|
2458/* Slot types */ 2459enum wmi_sched_scheme_slot_type { 2460 WMI_SCHED_SLOT_SP = 0x0, 2461 WMI_SCHED_SLOT_CBAP = 0x1, 2462 WMI_SCHED_SLOT_IDLE = 0x2, 2463 WMI_SCHED_SLOT_ANNOUNCE_NO_ACK = 0x3, 2464 WMI_SCHED_SLOT_DISCOVERY = 0x4, 2465}; --- 76 unchanged lines hidden (view full) --- 2542 /* serial number given in command */ 2543 u8 serial_num; 2544 /* wmi_sched_scheme_failure_type */ 2545 u8 failure_type; 2546 /* alignment to 32b */ 2547 u8 reserved[1]; 2548} __packed; 2549 | 2756/* Slot types */ 2757enum wmi_sched_scheme_slot_type { 2758 WMI_SCHED_SLOT_SP = 0x0, 2759 WMI_SCHED_SLOT_CBAP = 0x1, 2760 WMI_SCHED_SLOT_IDLE = 0x2, 2761 WMI_SCHED_SLOT_ANNOUNCE_NO_ACK = 0x3, 2762 WMI_SCHED_SLOT_DISCOVERY = 0x4, 2763}; --- 76 unchanged lines hidden (view full) --- 2840 /* serial number given in command */ 2841 u8 serial_num; 2842 /* wmi_sched_scheme_failure_type */ 2843 u8 failure_type; 2844 /* alignment to 32b */ 2845 u8 reserved[1]; 2846} __packed; 2847 |
2550/* WMI_RS_CFG_CMDID */ | 2848/* WMI_RS_CFG_CMDID - deprecated */ |
2551struct wmi_rs_cfg_cmd { 2552 /* connection id */ 2553 u8 cid; 2554 /* enable or disable rate search */ 2555 u8 rs_enable; 2556 /* rate search configuration */ 2557 struct wmi_rs_cfg rs_cfg; 2558} __packed; 2559 | 2849struct wmi_rs_cfg_cmd { 2850 /* connection id */ 2851 u8 cid; 2852 /* enable or disable rate search */ 2853 u8 rs_enable; 2854 /* rate search configuration */ 2855 struct wmi_rs_cfg rs_cfg; 2856} __packed; 2857 |
2560/* WMI_RS_CFG_DONE_EVENTID */ | 2858/* WMI_RS_CFG_DONE_EVENTID - deprecated */ |
2561struct wmi_rs_cfg_done_event { 2562 u8 cid; 2563 /* enum wmi_fw_status */ 2564 u8 status; 2565 u8 reserved[2]; 2566} __packed; 2567 | 2859struct wmi_rs_cfg_done_event { 2860 u8 cid; 2861 /* enum wmi_fw_status */ 2862 u8 status; 2863 u8 reserved[2]; 2864} __packed; 2865 |
2568/* WMI_GET_DETAILED_RS_RES_CMDID */ | 2866/* WMI_GET_DETAILED_RS_RES_CMDID - deprecated */ |
2569struct wmi_get_detailed_rs_res_cmd { 2570 /* connection id */ 2571 u8 cid; 2572 u8 reserved[3]; 2573} __packed; 2574 2575/* RS results status */ 2576enum wmi_rs_results_status { --- 8 unchanged lines hidden (view full) --- 2585 /* number of non-acked MPDUs */ 2586 u8 num_of_non_acked_pkt[WMI_NUM_MCS]; 2587 /* RS timestamp */ 2588 __le32 tsf; 2589 /* RS selected MCS */ 2590 u8 mcs; 2591} __packed; 2592 | 2867struct wmi_get_detailed_rs_res_cmd { 2868 /* connection id */ 2869 u8 cid; 2870 u8 reserved[3]; 2871} __packed; 2872 2873/* RS results status */ 2874enum wmi_rs_results_status { --- 8 unchanged lines hidden (view full) --- 2883 /* number of non-acked MPDUs */ 2884 u8 num_of_non_acked_pkt[WMI_NUM_MCS]; 2885 /* RS timestamp */ 2886 __le32 tsf; 2887 /* RS selected MCS */ 2888 u8 mcs; 2889} __packed; 2890 |
2593/* WMI_GET_DETAILED_RS_RES_EVENTID */ | 2891/* WMI_GET_DETAILED_RS_RES_EVENTID - deprecated */ |
2594struct wmi_get_detailed_rs_res_event { 2595 u8 cid; 2596 /* enum wmi_rs_results_status */ 2597 u8 status; 2598 /* detailed rs results */ 2599 struct wmi_rs_results rs_results; 2600 u8 reserved[3]; 2601} __packed; 2602 | 2892struct wmi_get_detailed_rs_res_event { 2893 u8 cid; 2894 /* enum wmi_rs_results_status */ 2895 u8 status; 2896 /* detailed rs results */ 2897 struct wmi_rs_results rs_results; 2898 u8 reserved[3]; 2899} __packed; 2900 |
2901/* WMI_GET_DETAILED_RS_RES_EX_CMDID */ 2902struct wmi_get_detailed_rs_res_ex_cmd { 2903 u8 cid; 2904 u8 reserved[3]; 2905} __packed; 2906 2907/* Rate search results */ 2908struct wmi_rs_results_ex_common { 2909 /* RS timestamp */ 2910 __le32 tsf; 2911 /* RS selected MCS */ 2912 u8 mcs; 2913 /* enum wmi_edmg_tx_mode */ 2914 u8 mode; 2915 u8 reserved[2]; 2916} __packed; 2917 2918/* Rate search results */ 2919struct wmi_rs_results_ex_mcs { 2920 /* number of sent MPDUs */ 2921 u8 num_of_tx_pkt; 2922 /* number of non-acked MPDUs */ 2923 u8 num_of_non_acked_pkt; 2924 u8 reserved[2]; 2925} __packed; 2926 2927/* WMI_GET_DETAILED_RS_RES_EX_EVENTID */ 2928struct wmi_get_detailed_rs_res_ex_event { 2929 u8 cid; 2930 /* enum wmi_rs_results_status */ 2931 u8 status; 2932 u8 reserved0[2]; 2933 struct wmi_rs_results_ex_common common_rs_results; 2934 u8 each_mcs_results_size; 2935 u8 reserved1[3]; 2936 /* Results for each MCS */ 2937 struct wmi_rs_results_ex_mcs each_mcs_results[0]; 2938} __packed; 2939 |
|
2603/* BRP antenna limit mode */ 2604enum wmi_brp_ant_limit_mode { 2605 /* Disable BRP force antenna limit */ 2606 WMI_BRP_ANT_LIMIT_MODE_DISABLE = 0x00, 2607 /* Define maximal antennas limit. Only effective antennas will be 2608 * actually used 2609 */ 2610 WMI_BRP_ANT_LIMIT_MODE_EFFECTIVE = 0x01, --- 734 unchanged lines hidden (view full) --- 3345 */ 3346struct wmi_get_assoc_list_res_event { 3347 struct wmi_assoc_sta_info assoc_sta_list[WMI_GET_ASSOC_LIST_SIZE]; 3348 /* STA count */ 3349 u8 count; 3350 u8 reserved[3]; 3351} __packed; 3352 | 2940/* BRP antenna limit mode */ 2941enum wmi_brp_ant_limit_mode { 2942 /* Disable BRP force antenna limit */ 2943 WMI_BRP_ANT_LIMIT_MODE_DISABLE = 0x00, 2944 /* Define maximal antennas limit. Only effective antennas will be 2945 * actually used 2946 */ 2947 WMI_BRP_ANT_LIMIT_MODE_EFFECTIVE = 0x01, --- 734 unchanged lines hidden (view full) --- 3682 */ 3683struct wmi_get_assoc_list_res_event { 3684 struct wmi_assoc_sta_info assoc_sta_list[WMI_GET_ASSOC_LIST_SIZE]; 3685 /* STA count */ 3686 u8 count; 3687 u8 reserved[3]; 3688} __packed; 3689 |
3353/* WMI_BF_CONTROL_EVENTID */ | 3690/* WMI_BF_CONTROL_EVENTID - deprecated */ |
3354struct wmi_bf_control_event { 3355 /* wmi_fw_status */ 3356 u8 status; 3357 u8 reserved[3]; 3358} __packed; 3359 | 3691struct wmi_bf_control_event { 3692 /* wmi_fw_status */ 3693 u8 status; 3694 u8 reserved[3]; 3695} __packed; 3696 |
3697/* WMI_BF_CONTROL_EX_EVENTID */ 3698struct wmi_bf_control_ex_event { 3699 /* wmi_fw_status */ 3700 u8 status; 3701 u8 reserved[3]; 3702} __packed; 3703 |
|
3360/* WMI_COMMAND_NOT_SUPPORTED_EVENTID */ 3361struct wmi_command_not_supported_event { 3362 /* device id */ 3363 u8 mid; 3364 u8 reserved0; 3365 __le16 command_id; 3366 /* for UT command only, otherwise reserved */ 3367 __le16 command_subtype; --- 53 unchanged lines hidden (view full) --- 3421} __packed; 3422 3423/* WMI_INTERNAL_FW_SET_CHANNEL */ 3424struct wmi_internal_fw_set_channel_event { 3425 u8 channel_num; 3426 u8 reserved[3]; 3427} __packed; 3428 | 3704/* WMI_COMMAND_NOT_SUPPORTED_EVENTID */ 3705struct wmi_command_not_supported_event { 3706 /* device id */ 3707 u8 mid; 3708 u8 reserved0; 3709 __le16 command_id; 3710 /* for UT command only, otherwise reserved */ 3711 __le16 command_subtype; --- 53 unchanged lines hidden (view full) --- 3765} __packed; 3766 3767/* WMI_INTERNAL_FW_SET_CHANNEL */ 3768struct wmi_internal_fw_set_channel_event { 3769 u8 channel_num; 3770 u8 reserved[3]; 3771} __packed; 3772 |
3773/* WMI_LINK_STATS_CONFIG_DONE_EVENTID */ 3774struct wmi_link_stats_config_done_event { 3775 /* wmi_fw_status_e */ 3776 u8 status; 3777 u8 reserved[3]; 3778} __packed; 3779 3780/* WMI_LINK_STATS_EVENTID */ 3781struct wmi_link_stats_event { 3782 __le16 payload_size; 3783 u8 has_next; 3784 u8 reserved[5]; 3785 /* a stream of records, e.g. wmi_link_stats_basic_s */ 3786 u8 payload[0]; 3787} __packed; 3788 3789/* WMI_LINK_STATS_EVENT record struct */ 3790struct wmi_link_stats_basic { 3791 /* WMI_LINK_STATS_TYPE_BASIC */ 3792 u8 record_type_id; 3793 u8 cid; 3794 /* 0: fail; 1: OK; 2: retrying */ 3795 u8 bf_status; 3796 s8 rssi; 3797 u8 sqi; 3798 u8 selected_rfc; 3799 __le16 bf_mcs; 3800 __le32 tx_tpt; 3801 __le32 tx_goodput; 3802 __le32 rx_goodput; 3803 __le16 my_rx_sector; 3804 __le16 my_tx_sector; 3805 __le16 other_rx_sector; 3806 __le16 other_tx_sector; 3807 __le32 reserved[2]; 3808} __packed; 3809 3810/* WMI_SET_GRANT_MCS_EVENTID */ 3811struct wmi_set_grant_mcs_event { 3812 /* wmi_fw_status */ 3813 u8 status; 3814 u8 reserved[3]; 3815} __packed; 3816 3817/* WMI_SET_AP_SLOT_SIZE_EVENTID */ 3818struct wmi_set_ap_slot_size_event { 3819 /* wmi_fw_status */ 3820 u8 status; 3821 u8 reserved[3]; 3822} __packed; 3823 3824/* WMI_SET_VRING_PRIORITY_WEIGHT_EVENTID */ 3825struct wmi_set_vring_priority_weight_event { 3826 /* wmi_fw_status */ 3827 u8 status; 3828 u8 reserved[3]; 3829} __packed; 3830 3831/* WMI_SET_VRING_PRIORITY_EVENTID */ 3832struct wmi_set_vring_priority_event { 3833 /* wmi_fw_status */ 3834 u8 status; 3835 u8 reserved[3]; 3836} __packed; 3837 |
|
3429#endif /* __WILOCITY_WMI_H__ */ | 3838#endif /* __WILOCITY_WMI_H__ */ |