diff --git a/target/inc/wmi_tlv_defs.h b/target/inc/wmi_tlv_defs.h index 49871296b8..a6bfac9a15 100644 --- a/target/inc/wmi_tlv_defs.h +++ b/target/inc/wmi_tlv_defs.h @@ -752,6 +752,9 @@ typedef enum { WMITLV_TAG_STRUC_wmi_rx_aggr_failure_info, WMITLV_TAG_STRUC_wmi_vdev_encrypt_decrypt_data_req_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_encrypt_decrypt_data_resp_event_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_band_to_mac, + WMITLV_TAG_STRUC_wmi_tbtt_offset_info, + WMITLV_TAG_STRUC_wmi_tbtt_offset_ext_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1217,6 +1220,7 @@ typedef enum { OP(WMI_REPORT_STATS_EVENTID) \ OP(WMI_REPORT_RX_AGGR_FAILURE_EVENTID) \ OP(WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID) \ + OP(WMI_TBTTOFFSET_EXT_UPDATE_EVENTID) \ /* add new EVT_LIST elements above this line */ /* TLV definitions of WMI commands */ @@ -1226,7 +1230,8 @@ typedef enum { WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_init_cmd_fixed_param, wmi_init_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_resource_config, wmi_resource_config, resource_config, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wlan_host_memory_chunk, host_mem_chunks, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_set_hw_mode_cmd_fixed_param, wmi_pdev_set_hw_mode_cmd_fixed_param, hw_mode, WMITLV_SIZE_FIX) + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_set_hw_mode_cmd_fixed_param, wmi_pdev_set_hw_mode_cmd_fixed_param, hw_mode, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_pdev_band_to_mac, wmi_pdev_band_to_mac, band_to_mac, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_INIT_CMDID); @@ -3193,6 +3198,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID); WMITLV_FXAR(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, tbttoffset_list, WMITLV_SIZE_FIX, WMI_MAX_AP_VDEV) WMITLV_CREATE_PARAM_STRUC(WMI_TBTTOFFSET_UPDATE_EVENTID); +/* TBTT EXT offset Event */ +#define WMITLV_TABLE_WMI_TBTTOFFSET_EXT_UPDATE_EVENTID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_tbtt_offset_ext_event_fixed_param, wmi_tbtt_offset_ext_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_STRUC, wmi_tbtt_offset_info, tbtt_offset_info, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_TBTTOFFSET_EXT_UPDATE_EVENTID); + /* TX DELBA Complete Event */ #define WMITLV_TABLE_WMI_TX_DELBA_COMPLETE_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_tx_delba_complete_event_fixed_param, wmi_tx_delba_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/target/inc/wmi_unified.h b/target/inc/wmi_unified.h index 56b6184317..427f7924b6 100644 --- a/target/inc/wmi_unified.h +++ b/target/inc/wmi_unified.h @@ -1176,7 +1176,10 @@ typedef enum { WMI_MGMT_TX_COMPLETION_EVENTID, /** Event for Mgmt TX bundle completion event */ WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID, - + /** vdev_map used in WMI_TBTTOFFSET_UPDATE_EVENTID supports max 32 vdevs + * Use this event if number of vdevs > 32. + */ + WMI_TBTTOFFSET_EXT_UPDATE_EVENTID, /*ADDBA Related WMI Events */ /** Indication the completion of the prior @@ -7187,13 +7190,17 @@ typedef struct { typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tim_info */ - /** TIM bitmap len (in bytes)*/ + /** TIM bitmap len (in bytes) */ A_UINT32 tim_len; /** TIM Partial Virtual Bitmap */ A_UINT32 tim_mcast; A_UINT32 tim_bitmap[WMI_TIM_BITMAP_ARRAY_SIZE]; A_UINT32 tim_changed; A_UINT32 tim_num_ps_pending; + /** Use the vdev_id only if vdev_id_valid is set */ + A_UINT32 vdev_id_valid; + /** unique id identifying the VDEV */ + A_UINT32 vdev_id; } wmi_tim_info; typedef struct { @@ -7224,6 +7231,10 @@ typedef struct { A_UINT32 noa_attributes; wmi_p2p_noa_descriptor noa_descriptors[WMI_P2P_MAX_NOA_DESCRIPTORS]; + /** Use the vdev_id only if vdev_id_valid is set */ + A_UINT32 vdev_id_valid; + /** unique id identifying the VDEV */ + A_UINT32 vdev_id; } wmi_p2p_noa_info; #define WMI_UNIFIED_NOA_ATTR_MODIFIED 0x1 @@ -7288,7 +7299,12 @@ typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_host_swba_event_fixed_param */ /** bitmap identifying the VDEVs, generated by the caller */ A_UINT32 vdev_map; - /* This TLV is followed by tim_info and p2p_noa_info for each vdev in vdevmap : + /** how many vdev's info is included in this message + * If this field is zero, then the number of vdevs is specified by + * the number of bits set in the vdev_map bitmap. + */ + A_UINT32 num_vdevs; + /* This TLV is followed by tim_info and p2p_noa_info for each vdev: * wmi_tim_info tim_info[]; * wmi_p2p_noa_info p2p_noa_info[]; * @@ -7307,6 +7323,29 @@ typedef struct { */ } wmi_tbtt_offset_event_fixed_param; +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tbtt_offset_info */ + A_UINT32 tlv_header; + /** unique id identifying the VDEV */ + A_UINT32 vdev_id; + /** tbttoffset in TUs */ + A_UINT32 tbttoffset; +} wmi_tbtt_offset_info; + +/** Use this event if number of vdevs > 32 */ +typedef struct { + /* + * TLV tag and len; + * tag equals WMITLV_TAG_STRUC_wmi_tbtt_offset_ext_event_fixed_param + */ + A_UINT32 tlv_header; + A_UINT32 num_vdevs; + /* + * The TLVs for tbttoffset will follow this TLV. + * Of size num_vdevs * wmi_tbtt_offset_info + */ +} wmi_tbtt_offset_ext_event_fixed_param; + /* Peer Specific commands and events */ typedef struct { @@ -15317,6 +15356,19 @@ typedef struct { A_UINT32 hw_mode_index; } wmi_soc_set_hw_mode_cmd_fixed_param; +typedef struct { + /* TLV tag and len tag equals WMITLV_TAG_STRUC_wmi_pdev_band_to_mac */ + A_UINT32 tlv_header; + /** pdev_id for identifying the MAC + * See macros starting with WMI_PDEV_ID_ for values. + */ + A_UINT32 pdev_id; + /* start frequency in MHz */ + A_UINT32 start_freq; + /* end frequency in MHz */ + A_UINT32 end_freq; +} wmi_pdev_band_to_mac; + typedef struct { /* TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_pdev_set_hw_mode_cmd_fixed_param @@ -15331,6 +15383,13 @@ typedef struct { /* Hardware Mode Index */ A_UINT32 hw_mode_index; + + /* Number of band to mac TLVs */ + A_UINT32 num_band_to_mac; + + /* Followed by TLVs of type + * num_band_to_mac * wmi_pdev_band_to_mac. + */ } wmi_pdev_set_hw_mode_cmd_fixed_param; /* DEPRECATED - use wmi_pdev_set_mac_config_cmd_fixed_param instead */ diff --git a/target/inc/wmi_version.h b/target/inc/wmi_version.h index f0d6a19430..fa010ff8ff 100644 --- a/target/inc/wmi_version.h +++ b/target/inc/wmi_version.h @@ -36,7 +36,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_ 300 +#define __WMI_REVISION_ 301 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work