diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 97e8e5cb089b..2ea898ac3a12 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1576,10 +1576,16 @@ typedef enum { WMITLV_TAG_STRUC_wmi_uhr_ap_mode_tup_enable_disable_update_param, WMITLV_TAG_STRUC_wmi_scan_suppress_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_get_scan_stats_cmd_fixed_param, - WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_soc_get_conc_info_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_get_scan_stats_resp_fixed_param, - WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_resp_fixed_param, + WMITLV_TAG_STRUC_wmi_soc_get_conc_info_resp_fixed_param, WMITLV_TAG_STRUC_wmi_conc_info, + WMITLV_TAG_STRUC_wmi_nan_local_schedule_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_nan_peer_schedule_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_nan_peer_params_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_nan_local_schedule_cnf_event_fixed_param, + WMITLV_TAG_STRUC_wmi_nan_peer_schedule_cnf_event_fixed_param, + WMITLV_TAG_STRUC_wmi_nan_peer_params_cnf_event_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -2175,7 +2181,10 @@ typedef enum { OP(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID) \ OP(WMI_SCAN_SUPPRESS_CMDID) \ OP(WMI_GET_SCAN_STATS_CMDID) \ - OP(WMI_PDEV_GET_CONC_INFO_CMDID) \ + OP(WMI_SOC_GET_CONC_INFO_CMDID) \ + OP(WMI_NAN_LOCAL_SCHEDULE_CMDID) \ + OP(WMI_NAN_PEER_SCHEDULE_CMDID) \ + OP(WMI_NAN_PEER_PARAMS_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -2531,7 +2540,10 @@ typedef enum { OP(WMI_SMD_ROAM_CONFIG_EVENTID) \ OP(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID) \ OP(WMI_GET_SCAN_STATS_RESP_EVENTID) \ - OP(WMI_PDEV_GET_CONC_INFO_RESP_EVENTID) \ + OP(WMI_SOC_GET_CONC_INFO_RESP_EVENTID) \ + OP(WMI_NAN_LOCAL_SCHEDULE_CNF_EVENTID) \ + OP(WMI_NAN_PEER_SCHEDULE_CNF_EVENTID) \ + OP(WMI_NAN_PEER_PARAMS_CNF_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -3971,9 +3983,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SCAN_PROB_REQ_OUI_CMDID); WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CONFIG_VENDOR_OUI_ACTION_CMDID); /* get concurrency info Cmd */ -#define WMITLV_TABLE_WMI_PDEV_GET_CONC_INFO_CMDID(id,op,buf,len) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_cmd_fixed_param, wmi_pdev_get_conc_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) -WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CONC_INFO_CMDID); +#define WMITLV_TABLE_WMI_SOC_GET_CONC_INFO_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_soc_get_conc_info_cmd_fixed_param, wmi_soc_get_conc_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_SOC_GET_CONC_INFO_CMDID); #define WMITLV_TABLE_WMI_CHATTER_ADD_COALESCING_FILTER_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len,WMITLV_TAG_STRUC_wmi_chatter_coalescing_add_filter_cmd_fixed_param, wmi_chatter_coalescing_add_filter_cmd_fixed_param, fixed_param,WMITLV_SIZE_FIX) \ @@ -4368,6 +4380,26 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NAN_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_disable_cmd_fixed_param, wmi_nan_disable_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_NAN_DISABLE_CMDID); +/* NAN local Schedule Command */ +#define WMITLV_TABLE_WMI_NAN_LOCAL_SCHEDULE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_local_schedule_cmd_fixed_param, wmi_nan_local_schedule_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, nan_schedule_chan_bitmap, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, committed_channel_list, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_NAN_LOCAL_SCHEDULE_CMDID); + +/* NAN Peer Schedule Command */ +#define WMITLV_TABLE_WMI_NAN_PEER_SCHEDULE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_peer_schedule_cmd_fixed_param, wmi_nan_peer_schedule_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, nan_schedule_chan_bitmap, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, committed_channel_list, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_NAN_PEER_SCHEDULE_CMDID); + +/* NAN Peer Params Command */ +#define WMITLV_TABLE_WMI_NAN_PEER_PARAMS_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_peer_params_cmd_fixed_param, wmi_nan_peer_params_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_caps_ie_data, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_NAN_PEER_PARAMS_CMDID); + /* NAN Data Get Capabilities Cmd */ #define WMITLV_TABLE_WMI_NDI_GET_CAP_REQ_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ndi_get_cap_req_fixed_param, wmi_ndi_get_cap_req_fixed_param_PROTOTYPE, fixed_param, WMITLV_SIZE_FIX) @@ -7255,6 +7287,21 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NAN_DISABLE_CNF_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_disable_ind_fixed_param, wmi_nan_disable_ind_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_NAN_DISABLE_IND_EVENTID); +/* NAN Local Schedule Confirm Event */ +#define WMITLV_TABLE_WMI_NAN_LOCAL_SCHEDULE_CNF_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_local_schedule_cnf_event_fixed_param, wmi_nan_local_schedule_cnf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_NAN_LOCAL_SCHEDULE_CNF_EVENTID); + +/* NAN Peer Schedule Confirm Event */ +#define WMITLV_TABLE_WMI_NAN_PEER_SCHEDULE_CNF_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_peer_schedule_cnf_event_fixed_param, wmi_nan_peer_schedule_cnf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_NAN_PEER_SCHEDULE_CNF_EVENTID); + +/* NAN Peer Params Confirm Event */ +#define WMITLV_TABLE_WMI_NAN_PEER_PARAMS_CNF_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_peer_params_cnf_event_fixed_param, wmi_nan_peer_params_cnf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_NAN_PEER_PARAMS_CNF_EVENTID); + /* Coex report antenna isolation event */ #define WMITLV_TABLE_WMI_COEX_REPORT_ANTENNA_ISOLATION_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_coex_report_isolation_event_fixed_param, wmi_coex_report_isolation_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) @@ -8263,10 +8310,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_CAPABILITY_REPORT_EVENTID); WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_TPC_STATS_EVENTID); /* Send concurrency info to host */ -#define WMITLV_TABLE_WMI_PDEV_GET_CONC_INFO_RESP_EVENTID(id,op,buf,len) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_resp_fixed_param, wmi_pdev_get_conc_info_resp_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ +#define WMITLV_TABLE_WMI_SOC_GET_CONC_INFO_RESP_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_soc_get_conc_info_resp_fixed_param, wmi_soc_get_conc_info_resp_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_conc_info, conc_info, WMITLV_SIZE_VAR) -WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CONC_INFO_RESP_EVENTID); +WMITLV_CREATE_PARAM_STRUC(WMI_SOC_GET_CONC_INFO_RESP_EVENTID); /* Send Bcn Latency ie related params to host */ #define WMITLV_TABLE_WMI_VDEV_BCN_LATENCY_EVENTID(id,op,buf,len) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 0b69486f2118..68c93205f158 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -630,8 +630,6 @@ typedef enum { WMI_PDEV_UHR_CU_CMDID, /** WMI cmd used to enable/disable and get power and data path stats */ WMI_PDEV_POWER_DATAPATH_STATS_CMDID, - /** WMI cmd to get the concurrency info for all vdevs within a pdev */ - WMI_PDEV_GET_CONC_INFO_CMDID, /* VDEV (virtual device) specific commands */ /** vdev create */ @@ -1546,6 +1544,22 @@ typedef enum { WMI_NAN_CONFIG_CMDID, /** Command to disable NAN mode */ WMI_NAN_DISABLE_CMDID, + /** + * Command to indicate our committed local discovery schedule + * (pre NAN datapath/ranging setup etc.) which FW needs to follow. + */ + WMI_NAN_LOCAL_SCHEDULE_CMDID, + /** + * Command to indicate negotiated committed schedule which FW + * has to follow with a given peer. + */ + WMI_NAN_PEER_SCHEDULE_CMDID, + /** + * Command to indicate negotiated rate control parameters with a + * given peer (during NAN datapath/ranging setup or schedule + * negotiation etc.). + */ + WMI_NAN_PEER_PARAMS_CMDID, /** Modem power state command */ @@ -1637,6 +1651,8 @@ typedef enum { * and specifiy packets of interest for classification. */ WMI_SOC_TX_PACKET_CUSTOM_CLASSIFY_CMDID, + /** WMI cmd to get the concurrency info for all vdevs within the target */ + WMI_SOC_GET_CONC_INFO_CMDID, /* packet filter commands */ WMI_PACKET_FILTER_CONFIG_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_PKT_FILTER), @@ -2048,9 +2064,6 @@ typedef enum { */ WMI_PDEV_POWER_DATAPATH_STATS_EVENTID, /* 54 */ - /* Event to share the concurrency info to HOST */ - WMI_PDEV_GET_CONC_INFO_RESP_EVENTID, /* 55 */ - /*** *** add new WMI_PDEV EVENTID defs directly above here, @@ -2633,6 +2646,12 @@ typedef enum { WMI_NAN_DISABLE_CNF_EVENTID, /** Event notifying FW triggered NAN disable indication */ WMI_NAN_DISABLE_IND_EVENTID, + /** Confirmation event to NAN local schedule command */ + WMI_NAN_LOCAL_SCHEDULE_CNF_EVENTID, + /** Confirmation event to NAN peer schedule command */ + WMI_NAN_PEER_SCHEDULE_CNF_EVENTID, + /* Confirmation event that FW has received WMI_NAN_PEER_PARAMS_CMDID */ + WMI_NAN_PEER_PARAMS_CNF_EVENTID, /* Coex Event */ WMI_COEX_REPORT_ANTENNA_ISOLATION_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_COEX), @@ -2681,6 +2700,8 @@ typedef enum { WMI_SOC_SET_HW_MODE_RESP_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_SOC), WMI_SOC_HW_MODE_TRANSITION_EVENTID, WMI_SOC_SET_DUAL_MAC_CONFIG_RESP_EVENTID, + /* Event to share the concurrency info to HOST */ + WMI_SOC_GET_CONC_INFO_RESP_EVENTID, /** Motion Aided WiFi Connectivity (MAWC) events */ WMI_MAWC_ENABLE_SENSOR_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MAWC), @@ -8425,10 +8446,8 @@ typedef struct { typedef struct { - A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_cmd_fixed_param */ - - A_UINT32 pdev_id; -} wmi_pdev_get_conc_info_cmd_fixed_param; + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_soc_get_conc_info_cmd_fixed_param */ +} wmi_soc_get_conc_info_cmd_fixed_param; typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_conc_info */ @@ -8455,14 +8474,13 @@ typedef enum { } WMI_VDEV_MODE; typedef struct { - A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_get_conc_info_resp_fixed_param */ + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_soc_get_conc_info_resp_fixed_param */ - A_UINT32 pdev_id; /* * Following this fixed_param TLV is a variable-length TLV array: * wmi_conc_info conc_info_list[]; */ -} wmi_pdev_get_conc_info_resp_fixed_param; +} wmi_soc_get_conc_info_resp_fixed_param; /* WMI support for setting ratemask in target */ @@ -30993,6 +31011,87 @@ typedef struct { A_UINT32 vdev_id; /* Virtual device ID used for NAN operations */ } wmi_nan_disable_cmd_fixed_param; +#define WMI_NAN_SCHED_NOT_AVAIL_SLOT 0xFF + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_local_schedule_cmd_fixed_param */ + + A_UINT32 vdev_id; /* Virtual device ID used for NAN operations (NMI vdev) */ + /** schedule_chan_bitmap_len: + * number of valid bytes (i.e. excluding final alignment-padding) + * in the TLV nan_schedule_chan_bitmap[] + */ + A_UINT32 schedule_chan_bitmap_len; +/* + * TLVs following this structure: + * + * A_UINT8 nan_schedule_chan_bitmap[]; + * A mapping of time slots to channel indexes in the schedule's + * committed_channel_list. Each slot lasts 16TUs. + * An unscheduled slot will be set to WMI_NAN_SCHED_NOT_AVAIL_SLOT. + * wmi_channel committed_channel_list[]; + */ +} wmi_nan_local_schedule_cmd_fixed_param; + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_peer_schedule_cmd_fixed_param */ + + A_UINT32 vdev_id; /* Virtual device ID used for NAN operations (NMI vdev) */ + wmi_mac_addr peer_nmi_addr; + /** schedule_chan_bitmap_len: + * number of valid bytes (i.e. excluding final alignment-padding) + * in the TLV nan_schedule_chan_bitmap[] + */ + A_UINT32 schedule_chan_bitmap_len; + A_UINT32 peer_committed_dw; + A_UINT32 peer_max_chan_switch; +/* + * TLVs following this structure: + * + * A_UINT8 nan_schedule_chan_bitmap[]: + * A mapping of time slots to channel indexes in the schedule's + * committed_channel_list. Each slot lasts 16TUs. + * An unscheduled slot will be set to WMI_NAN_SCHED_NOT_AVAIL_SLOT. + * wmi_channel committed_channel_list[]; + */ +} wmi_nan_peer_schedule_cmd_fixed_param; + +typedef enum { + WMI_NAN_PEER_FLAG_PMF = 0x01, + WMI_NAN_PEER_FLAG_AUTHENTICATED = 0x02, + WMI_NAN_PEER_FLAG_ASSOCIATED = 0x04, + WMI_NAN_PEER_FLAG_AUTHORIZED = 0x08, +} WMI_NAN_PEER_PARAMS_FLAGS; + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_peer_params_cmd_fixed_param */ + + /* Virtual device ID used for NAN operations (either NMI or NDI VDEV) */ + A_UINT32 vdev_id; + /** peer NMI MAC address */ + wmi_mac_addr peer_nmi_addr; + /** peer NDI MAC address */ + wmi_mac_addr peer_ndi_macaddr; + /** peer_flags: + * peer station flags, for indicating PMF is enabled, + * authorization is done etc.. + * Possible values are enum WMI_NAN_PEER_PARAMS_FLAGS. + */ + A_UINT32 peer_flags; + /** peer_caps_ie_len: + * number of valid bytes (i.e. excluding final alignment-padding) + * in the TLV peer_caps_ie_data[] + */ + A_UINT32 peer_caps_ie_len; +/* + * TLVs following this structure: + * + * A_UINT8 peer_caps_ie_data[]: + * HT/VHT/HE/EHT etc. capability IEs (along with header) + * are sent in stream of bytes (ieee80211 protocol order). + */ +} wmi_nan_peer_params_cmd_fixed_param; + #define WMI_NAN_GET_RANGING_INITIATOR_ROLE(flag) WMI_GET_BITS(flag, 0, 1) #define WMI_NAN_SET_RANGING_INITIATOR_ROLE(flag, val) WMI_SET_BITS(flag, 0, 1, val) #define WMI_NAN_GET_RANGING_RESPONDER_ROLE(flag) WMI_GET_BITS(flag, 1, 1) @@ -31141,6 +31240,38 @@ typedef struct { A_UINT32 vdev_id; /* Virtual device ID used for NAN operations */ } wmi_nan_disable_ind_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_local_schedule_cnf_event_fixed_param */ + + A_UINT32 vdev_id; /* Virtual device ID used for NAN operations (NMI VDEV) */ + /** Status code; 0 indicates NAN local schedule got applied successfully */ + A_UINT32 status; +} wmi_nan_local_schedule_cnf_event_fixed_param; + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_peer_schedule_cnf_event_fixed_param */ + + A_UINT32 vdev_id; /* Virtual device ID used for NAN operations (NMI VDEV) */ + /** Status code; 0 indicates NAN peer schedule got applied successfully */ + A_UINT32 status; +} wmi_nan_peer_schedule_cnf_event_fixed_param; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_nan_peer_params_cnf_event_fixed_param */ + + /** Virtual device ID used for NDP operations(either NMI or NDI VDEV) */ + A_UINT32 vdev_id; + /** peer NMI MAC address */ + wmi_mac_addr peer_nmi_addr; + /** peer NDI MAC address */ + wmi_mac_addr peer_ndi_macaddr; + /** status: + * 0 indicates NDP setup/schedule_negotiation peer params + * were applied successfully. + */ + A_UINT32 status; +} wmi_nan_peer_params_cnf_event_fixed_param; + typedef enum { WMI_NDP_BAND_CAP_2GHZ = 0x01, WMI_NDP_BAND_CAP_5GHZ = 0x02, @@ -31188,6 +31319,10 @@ typedef enum { WMI_GET_BITS(word32, 0, 16) #define WMI_DEVICE_CAPS_SET_MAX_CHAN_SWITCH_TIME(word32, val) \ WMI_SET_BITS(word32, 0, 16, val) +#define WMI_DEVICE_CAPS_GET_MAX_FAW_CHAN_PER_PEER(word32) \ + WMI_GET_BITS(word32, 16, 4) +#define WMI_DEVICE_CAPS_SET_MAX_FAW_CHAN_PER_PEER(word32, val) \ + WMI_SET_BITS(word32, 16, 4, val) typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUCT_wmi_nan_capabilities */ @@ -31217,9 +31352,12 @@ typedef struct { /* Second 32-bit word of device capabilities */ A_UINT32 device_caps_word1; struct { - A_UINT32 max_chan_switch_time:16, /* Max channel switch time, - * in microseconds */ - reserved2: 16; /* Reserved bits */ + A_UINT32 + /* Max channel switch time, in microseconds */ + max_chan_switch_time:16, + /* Max FAW channels to be allowed for a NDP peer */ + max_faw_chan_per_peer: 4, + reserved2: 12; /* Reserved bits */ }; }; } wmi_nan_capabilities; @@ -41485,6 +41623,9 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID); WMI_RETURN_STRING(WMI_VDEV_UNIFIED_CONNECT_CMDID); WMI_RETURN_STRING(WMI_VDEV_UNIFIED_DISCONNECT_CMDID); + WMI_RETURN_STRING(WMI_NAN_LOCAL_SCHEDULE_CMDID); + WMI_RETURN_STRING(WMI_NAN_PEER_SCHEDULE_CMDID); + WMI_RETURN_STRING(WMI_NAN_PEER_PARAMS_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 008f679eb91a..494adb36c3e1 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -37,7 +37,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 1713 +#define __WMI_REVISION_ 1714 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work