Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1851893b authored by spuligil's avatar spuligil
Browse files

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

Change-Id: Ic5c2fd141717c51cec0740cbeecbee1e0765e326
WMI: add PEER_TID_TO_LINK_MAP_CMD msg def
CRs-Fixed: 2262693
parent 8fb8d70f
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -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;

/*
@@ -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 */


@@ -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);

@@ -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) \
+87 −0
Original line number Diff line number Diff line
@@ -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 */
@@ -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 */
@@ -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;
@@ -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";
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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