Loading fw/wmi_tlv_defs.h +12 −1 Original line number Diff line number Diff line Loading @@ -1265,6 +1265,9 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_telemetry_stats, WMITLV_TAG_STRUC_wmi_mgmt_ml_info, WMITLV_TAG_STRUC_wmi_vdev_latency_event_fixed_param, WMITLV_TAG_STRUC_wmi_tid_to_link_map, WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param, WMITLV_TAG_STRUC_wmi_peer_assoc_tid_to_link_map, } WMITLV_TAG_ID; /* Loading Loading @@ -1758,6 +1761,7 @@ typedef enum { OP(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID) \ OP(WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID) \ OP(WMI_PEER_TX_FILTER_CMDID) \ OP(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID) \ /* add new CMD_LIST elements above this line */ Loading Loading @@ -2530,7 +2534,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_he_rate_set, peer_he_rates, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_params, mlo_params, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_eht_rate_set, peer_eht_rates, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_tid_to_link_map, peer_tid_to_link_map, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID); Loading Loading @@ -4904,6 +4909,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_READY_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_teardown_fixed_param, wmi_mlo_teardown_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_TEARDOWN_CMDID); /** WMI cmd used to setup Tid to Link Mapping for a MLO Peer */ #define WMITLV_TABLE_WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param, wmi_peer_tid_to_link_map_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tid_to_link_map, tid_to_link_map, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID); /* Mcast ipv4 address filter list cmd */ #define WMITLV_TABLE_WMI_VDEV_IGMP_OFFLOAD_CMDID(id,op,buf,len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_igmp_offload_fixed_param, wmi_igmp_offload_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ Loading fw/wmi_unified.h +87 −0 Original line number Diff line number Diff line Loading @@ -1460,6 +1460,8 @@ typedef enum { WMI_MLO_READY_CMDID, /** WMI cmd used for tearing down a hw_link part of MLO */ WMI_MLO_TEARDOWN_CMDID, /** WMI cmd used to setup Tid to Link Mapping for a MLO Peer */ WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID, /** WMI commands specific to Service Aware WiFi (SAWF) */ /** configure or reconfigure the parameters for a service class */ Loading Loading @@ -16222,6 +16224,31 @@ typedef struct { A_UINT32 emlsr_trans_timeout_us; } wmi_peer_assoc_mlo_params; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_tid_to_link_map */ A_UINT32 tlv_header; /** * A_UINT32 * WMI_TID_TO_LINK_MAP_TID_NUM_GET / WMI_TID_TO_LINK_MAP_TID_NUM_SET * tid_num:5, * * WMI_TID_TO_LINK_MAP_DIR_GET / WMI_TID_TO_LINK_MAP_DIR_SET * dir:2, // 0 - DL, 1 - UL, 2 - BiDi * * WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET / * WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET * default_link_mapping:1, // If this is set to 1, ignore * // link_mapping_mask for the specific tid * * WMI_TID_TO_LINK_MAP_LINK_MASK_GET / WMI_TID_TO_LINK_MAP_LINK_MASK_SET * link_mapping_mask:16, * * rsvd:8; */ A_UINT32 tid_to_link_map_info; } wmi_peer_assoc_tid_to_link_map; typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param */ /** peer MAC address */ Loading Loading @@ -16363,6 +16390,7 @@ typedef struct { * For non-MLO peers the array length should be 0. * wmi_eht_rate_set_peer_eht_rates; <-- EHT capabilities of the peer * wmi_peer_assoc_mlo_partner_link_params link_info[] <-- partner link info * wmi_peer_assoc_tid_to_link_map[] <-- tid to link_map info */ } wmi_peer_assoc_complete_cmd_fixed_param; Loading Loading @@ -31318,6 +31346,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PEER_RX_PN_REQUEST_CMDID); WMI_RETURN_STRING(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID); WMI_RETURN_STRING(WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID); WMI_RETURN_STRING(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; Loading Loading @@ -37965,6 +37994,64 @@ typedef struct { A_UINT32 status; } wmi_mlo_teardown_complete_fixed_param; #define WMI_TID_TO_LINK_MAP_TID_NUM_GET(_var) WMI_GET_BITS(_var, 0, 5) #define WMI_TID_TO_LINK_MAP_TID_NUM_SET(_var, _val) WMI_SET_BITS(_var, 0, 5, _val) #define WMI_TID_TO_LINK_MAP_DIR_GET(_var) WMI_GET_BITS(_var, 5, 2) #define WMI_TID_TO_LINK_MAP_DIR_SET(_var, _val) WMI_SET_BITS(_var, 5, 2, _val) #define WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET(_var) WMI_GET_BITS(_var, 7, 1) #define WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET(_var, _val) WMI_SET_BITS(_var, 7, 1, _val) #define WMI_TID_TO_LINK_MAP_LINK_MASK_GET(_var) WMI_GET_BITS(_var, 8, 16) #define WMI_TID_TO_LINK_MAP_LINK_MASK_SET(_var, _val) WMI_SET_BITS(_var, 8, 16, _val) enum { WMI_TID_TO_LINK_MAP_DIR_DL, WMI_TID_TO_LINK_MAP_DIR_UL, WMI_TID_TO_LINK_MAP_DIR_BIDI, }; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tid_to_link_map */ A_UINT32 tlv_header; /** * A_UINT32 * WMI_TID_TO_LINK_MAP_TID_NUM_GET / WMI_TID_TO_LINK_MAP_TID_NUM_SET * tid_num:5, * * WMI_TID_TO_LINK_MAP_DIR_GET / WMI_TID_TO_LINK_MAP_DIR_SET * dir:2, // 0 - DL, 1 - UL, 2 - BiDi * * WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET / * WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET * default_link_mapping:1, // If this is set to 1, ignore * // link_mapping_mask for the specific tid * * WMI_TID_TO_LINK_MAP_LINK_MASK_GET / WMI_TID_TO_LINK_MAP_LINK_MASK_SET * link_mapping_mask:16, * * rsvd:8; */ A_UINT32 tid_to_link_map_info; } wmi_tid_to_link_map; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param */ A_UINT32 tlv_header; /** pdev_id for identifying the MAC, See macros starting with WMI_PDEV_ID_ for values. */ A_UINT32 pdev_id; /** MLO Peer's current link MAC address */ wmi_mac_addr link_macaddr; /** * Following this structure is the TLV: * struct wmi_tid_to_link_map tid_to_link_map[]; */ } wmi_peer_tid_to_link_map_fixed_param; #define WMI_IGMP_OFFLOAD_SUPPORT_DISABLE_BITMASK 0x0 #define WMI_IGMP_V1_OFFLOAD_SUPPORT_BITMASK 0x1 #define WMI_IGMP_V2_OFFLOAD_SUPPORT_BITMASK 0x2 fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 1145 #define __WMI_REVISION_ 1146 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading Loading
fw/wmi_tlv_defs.h +12 −1 Original line number Diff line number Diff line Loading @@ -1265,6 +1265,9 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_telemetry_stats, WMITLV_TAG_STRUC_wmi_mgmt_ml_info, WMITLV_TAG_STRUC_wmi_vdev_latency_event_fixed_param, WMITLV_TAG_STRUC_wmi_tid_to_link_map, WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param, WMITLV_TAG_STRUC_wmi_peer_assoc_tid_to_link_map, } WMITLV_TAG_ID; /* Loading Loading @@ -1758,6 +1761,7 @@ typedef enum { OP(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID) \ OP(WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID) \ OP(WMI_PEER_TX_FILTER_CMDID) \ OP(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID) \ /* add new CMD_LIST elements above this line */ Loading Loading @@ -2530,7 +2534,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_IPSEC_NATKEEPALIVE_FILTER_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_he_rate_set, peer_he_rates, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_params, mlo_params, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_eht_rate_set, peer_eht_rates, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_tid_to_link_map, peer_tid_to_link_map, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID); Loading Loading @@ -4904,6 +4909,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_READY_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_teardown_fixed_param, wmi_mlo_teardown_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_TEARDOWN_CMDID); /** WMI cmd used to setup Tid to Link Mapping for a MLO Peer */ #define WMITLV_TABLE_WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param, wmi_peer_tid_to_link_map_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_tid_to_link_map, tid_to_link_map, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID); /* Mcast ipv4 address filter list cmd */ #define WMITLV_TABLE_WMI_VDEV_IGMP_OFFLOAD_CMDID(id,op,buf,len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_igmp_offload_fixed_param, wmi_igmp_offload_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ Loading
fw/wmi_unified.h +87 −0 Original line number Diff line number Diff line Loading @@ -1460,6 +1460,8 @@ typedef enum { WMI_MLO_READY_CMDID, /** WMI cmd used for tearing down a hw_link part of MLO */ WMI_MLO_TEARDOWN_CMDID, /** WMI cmd used to setup Tid to Link Mapping for a MLO Peer */ WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID, /** WMI commands specific to Service Aware WiFi (SAWF) */ /** configure or reconfigure the parameters for a service class */ Loading Loading @@ -16222,6 +16224,31 @@ typedef struct { A_UINT32 emlsr_trans_timeout_us; } wmi_peer_assoc_mlo_params; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_tid_to_link_map */ A_UINT32 tlv_header; /** * A_UINT32 * WMI_TID_TO_LINK_MAP_TID_NUM_GET / WMI_TID_TO_LINK_MAP_TID_NUM_SET * tid_num:5, * * WMI_TID_TO_LINK_MAP_DIR_GET / WMI_TID_TO_LINK_MAP_DIR_SET * dir:2, // 0 - DL, 1 - UL, 2 - BiDi * * WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET / * WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET * default_link_mapping:1, // If this is set to 1, ignore * // link_mapping_mask for the specific tid * * WMI_TID_TO_LINK_MAP_LINK_MASK_GET / WMI_TID_TO_LINK_MAP_LINK_MASK_SET * link_mapping_mask:16, * * rsvd:8; */ A_UINT32 tid_to_link_map_info; } wmi_peer_assoc_tid_to_link_map; typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param */ /** peer MAC address */ Loading Loading @@ -16363,6 +16390,7 @@ typedef struct { * For non-MLO peers the array length should be 0. * wmi_eht_rate_set_peer_eht_rates; <-- EHT capabilities of the peer * wmi_peer_assoc_mlo_partner_link_params link_info[] <-- partner link info * wmi_peer_assoc_tid_to_link_map[] <-- tid to link_map info */ } wmi_peer_assoc_complete_cmd_fixed_param; Loading Loading @@ -31318,6 +31346,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PEER_RX_PN_REQUEST_CMDID); WMI_RETURN_STRING(WMI_SET_MULTIPLE_PDEV_VDEV_PARAM_CMDID); WMI_RETURN_STRING(WMI_PMM_SCRATCH_REG_ALLOCATION_CMDID); WMI_RETURN_STRING(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; Loading Loading @@ -37965,6 +37994,64 @@ typedef struct { A_UINT32 status; } wmi_mlo_teardown_complete_fixed_param; #define WMI_TID_TO_LINK_MAP_TID_NUM_GET(_var) WMI_GET_BITS(_var, 0, 5) #define WMI_TID_TO_LINK_MAP_TID_NUM_SET(_var, _val) WMI_SET_BITS(_var, 0, 5, _val) #define WMI_TID_TO_LINK_MAP_DIR_GET(_var) WMI_GET_BITS(_var, 5, 2) #define WMI_TID_TO_LINK_MAP_DIR_SET(_var, _val) WMI_SET_BITS(_var, 5, 2, _val) #define WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET(_var) WMI_GET_BITS(_var, 7, 1) #define WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET(_var, _val) WMI_SET_BITS(_var, 7, 1, _val) #define WMI_TID_TO_LINK_MAP_LINK_MASK_GET(_var) WMI_GET_BITS(_var, 8, 16) #define WMI_TID_TO_LINK_MAP_LINK_MASK_SET(_var, _val) WMI_SET_BITS(_var, 8, 16, _val) enum { WMI_TID_TO_LINK_MAP_DIR_DL, WMI_TID_TO_LINK_MAP_DIR_UL, WMI_TID_TO_LINK_MAP_DIR_BIDI, }; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tid_to_link_map */ A_UINT32 tlv_header; /** * A_UINT32 * WMI_TID_TO_LINK_MAP_TID_NUM_GET / WMI_TID_TO_LINK_MAP_TID_NUM_SET * tid_num:5, * * WMI_TID_TO_LINK_MAP_DIR_GET / WMI_TID_TO_LINK_MAP_DIR_SET * dir:2, // 0 - DL, 1 - UL, 2 - BiDi * * WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_GET / * WMI_TID_TO_LINK_MAP_DEFAULT_MAPPING_SET * default_link_mapping:1, // If this is set to 1, ignore * // link_mapping_mask for the specific tid * * WMI_TID_TO_LINK_MAP_LINK_MASK_GET / WMI_TID_TO_LINK_MAP_LINK_MASK_SET * link_mapping_mask:16, * * rsvd:8; */ A_UINT32 tid_to_link_map_info; } wmi_tid_to_link_map; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param */ A_UINT32 tlv_header; /** pdev_id for identifying the MAC, See macros starting with WMI_PDEV_ID_ for values. */ A_UINT32 pdev_id; /** MLO Peer's current link MAC address */ wmi_mac_addr link_macaddr; /** * Following this structure is the TLV: * struct wmi_tid_to_link_map tid_to_link_map[]; */ } wmi_peer_tid_to_link_map_fixed_param; #define WMI_IGMP_OFFLOAD_SUPPORT_DISABLE_BITMASK 0x0 #define WMI_IGMP_V1_OFFLOAD_SUPPORT_BITMASK 0x1 #define WMI_IGMP_V2_OFFLOAD_SUPPORT_BITMASK 0x2
fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 1145 #define __WMI_REVISION_ 1146 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading