Bladeren bron

fw-api: CL 23507997 - update fw common interface files

Change-Id: If80971d7e3744a28e3b9c6c68e9f858ec14de49b
WMI: add MLO_LINK_RECOMMENDATION_CMD msg def
CRs-Fixed: 2262693
spuligil 1 jaar geleden
bovenliggende
commit
957cbcfad8
3 gewijzigde bestanden met toevoegingen van 34 en 1 verwijderingen
  1. 9 0
      fw/wmi_tlv_defs.h
  2. 24 0
      fw/wmi_unified.h
  3. 1 1
      fw/wmi_version.h

+ 9 - 0
fw/wmi_tlv_defs.h

@@ -1387,6 +1387,8 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_mlo_primary_link_peer_migration_status,
     WMITLV_TAG_STRUC_wmi_mlo_primary_link_peer_migration_status,
     WMITLV_TAG_STRUC_wmi_atf_group_info_v2,
     WMITLV_TAG_STRUC_wmi_atf_group_info_v2,
     WMITLV_TAG_STRUC_wmi_atf_peer_info_v2,
     WMITLV_TAG_STRUC_wmi_atf_peer_info_v2,
+    WMITLV_TAG_STRUC_wmi_mlo_link_recommendation_fixed_param,
+    WMITLV_TAG_STRUC_wmi_mlo_peer_recommended_links,
 } WMITLV_TAG_ID;
 } WMITLV_TAG_ID;
 /*
 /*
  * IMPORTANT: Please add _ALL_ WMI Commands Here.
  * IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -1917,6 +1919,7 @@ typedef enum {
     OP(WMI_VENDOR_VDEV_CMDID) \
     OP(WMI_VENDOR_VDEV_CMDID) \
     OP(WMI_VENDOR_PEER_CMDID) \
     OP(WMI_VENDOR_PEER_CMDID) \
     OP(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID) \
     OP(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID) \
+    OP(WMI_MLO_LINK_RECOMMENDATION_CMDID) \
     /* add new CMD_LIST elements above this line */
     /* add new CMD_LIST elements above this line */
 
 
 
 
@@ -5170,6 +5173,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID);
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_ap_vdev_tid_to_link_map_ie_info, mlo_vdev_tid_to_link_map_ie_info, WMITLV_SIZE_VAR)
     WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_ap_vdev_tid_to_link_map_ie_info, mlo_vdev_tid_to_link_map_ie_info, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_MLO_AP_VDEV_TID_TO_LINK_MAP_CMDID);
 WMITLV_CREATE_PARAM_STRUC(WMI_MLO_AP_VDEV_TID_TO_LINK_MAP_CMDID);
 
 
+/** WMI cmd used to set up Tid to Link Mapping for a vdev */
+#define WMITLV_TABLE_WMI_MLO_LINK_RECOMMENDATION_CMDID(id,op,buf,len) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_recommendation_fixed_param, wmi_mlo_link_recommendation_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
+    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_peer_recommended_links, mlo_peer_recommended_links, WMITLV_SIZE_VAR)
+WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECOMMENDATION_CMDID);
+
 /* Mcast ipv4 address filter list cmd */
 /* Mcast ipv4 address filter list cmd */
 #define WMITLV_TABLE_WMI_VDEV_IGMP_OFFLOAD_CMDID(id,op,buf,len) \
 #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) \
     WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_igmp_offload_fixed_param, wmi_igmp_offload_fixed_param, fixed_param, WMITLV_SIZE_FIX) \

+ 24 - 0
fw/wmi_unified.h

@@ -1561,6 +1561,8 @@ typedef enum {
     WMI_MLO_LINK_SWITCH_CONF_CMDID,
     WMI_MLO_LINK_SWITCH_CONF_CMDID,
     /** WMI cmd to migrate the primary link peer */
     /** WMI cmd to migrate the primary link peer */
     WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID,
     WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID,
+    /** WMI cmd to recommand preferred link */
+    WMI_MLO_LINK_RECOMMENDATION_CMDID,
 
 
     /** WMI commands specific to Service Aware WiFi (SAWF) */
     /** WMI commands specific to Service Aware WiFi (SAWF) */
     /** configure or reconfigure the parameters for a service class */
     /** configure or reconfigure the parameters for a service class */
@@ -36647,6 +36649,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
         WMI_RETURN_STRING(WMI_VDEV_PAUSE_CMDID);
         WMI_RETURN_STRING(WMI_VDEV_PAUSE_CMDID);
         WMI_RETURN_STRING(WMI_GPIO_STATE_REQ_CMDID);
         WMI_RETURN_STRING(WMI_GPIO_STATE_REQ_CMDID);
         WMI_RETURN_STRING(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID);
         WMI_RETURN_STRING(WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID);
+        WMI_RETURN_STRING(WMI_MLO_LINK_RECOMMENDATION_CMDID);
     }
     }
 
 
     return (A_UINT8 *) "Invalid WMI cmd";
     return (A_UINT8 *) "Invalid WMI cmd";
@@ -44097,6 +44100,27 @@ typedef struct {
     A_UINT32 status;
     A_UINT32 status;
 } wmi_mlo_teardown_complete_fixed_param;
 } wmi_mlo_teardown_complete_fixed_param;
 
 
+typedef struct {
+    /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_peer_recommended_links; */
+    A_UINT32 tlv_header;
+    /** AID (association id) of this station */
+    A_UINT32 assoc_id;
+    /** Request link id set to disable */
+    A_UINT32 linkid_bitmap;
+} wmi_mlo_peer_recommended_links;
+
+typedef struct {
+    /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_recommendation_fixed_param */
+    A_UINT32 tlv_header;
+    /* unique id identifying the VDEV, generated by the caller */
+    A_UINT32 vdev_id;
+    /* DTIM specified in units of num beacon intervals */
+    A_UINT32 dtim_period;
+    /* The TLVs follows this structure:
+     * wmi_mlo_peer_recommended_links recommended_links[];
+     */
+} wmi_mlo_link_recommendation_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_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_TID_NUM_SET(_var, _val)         WMI_SET_BITS(_var, 0, 5, _val)
 
 

+ 1 - 1
fw/wmi_version.h

@@ -37,7 +37,7 @@
 #define __WMI_VER_MINOR_    0
 #define __WMI_VER_MINOR_    0
 /** WMI revision number has to be incremented when there is a
 /** WMI revision number has to be incremented when there is a
  *  change that may or may not break compatibility. */
  *  change that may or may not break compatibility. */
-#define __WMI_REVISION_ 1349
+#define __WMI_REVISION_ 1350
 
 
 /** The Version Namespace should not be normally changed. Only
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work
  *  host and firmware of the same WMI namespace will work