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

Commit b04cb1a5 authored by spuligil's avatar spuligil
Browse files

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

Change-Id: I0dc3f03fdf14253fb37efa7cc13be40e4e42425e
WMI: add mlo_peer_link_control_param in MLO_PEER_TID_TO_LINK_MAP_CMD msg
CRs-Fixed: 2262693
parent 09e326d5
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1349,6 +1349,7 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_vdev_set_manual_su_trig_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_vdev_set_manual_mu_trig_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_manual_ul_ofdma_trig_feedback_evt_fixed_param,
    WMITLV_TAG_STRUC_wmi_mlo_peer_link_control_param,
} WMITLV_TAG_ID;

/*
@@ -5095,7 +5096,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_TEARDOWN_CMDID);
#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_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_preferred_link_map, peer_preferred_link_map, WMITLV_SIZE_VAR)
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_preferred_link_map, peer_preferred_link_map, WMITLV_SIZE_VAR) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_peer_link_control_param, mlo_peer_link_control_param, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID);

/** WMI cmd used to setup Tid to Link Mapping for a vdev */
+62 −0
Original line number Diff line number Diff line
@@ -40742,6 +40742,10 @@ typedef struct {
#define WMI_MAX_NUM_PREFERRED_LINKS 4
/* NOTE:
 * wmi_peer_preferred_link_map will be deprecated and replaced
 * by wmi_mlo_peer_link_control_param.
 */
typedef struct {
    /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_preferred_link_map */
    A_UINT32 tlv_header;
@@ -40765,6 +40769,62 @@ typedef struct {
    A_UINT32 expected_max_latency_ms[WLAN_MAX_AC];
} wmi_peer_preferred_link_map;
#define WMI_MLO_PEER_LINK_CONTROL_PARAM_SET_TX_LINK_TUPLE_CONFIG(comp, value) \
    WMI_SET_BITS(comp, 0, 1, value)
#define WMI_MLO_PEER_LINK_CONTROL_PARAM_GET_TX_LINK_TUPLE_CONFIG(comp) \
    WMI_GET_BITS(comp, 0, 1)
#define WMI_MLO_PEER_LINK_CONTROL_PARAM_SET_PREFERRED_LINK_CONFIG(comp, value) \
    WMI_SET_BITS(comp, 1, 1, value)
#define WMI_MLO_PEER_LINK_CONTROL_PARAM_GET_PREFERRED_LINK_CONFIG(comp) \
    WMI_GET_BITS(comp, 1, 1)
#define WMI_MAX_NUM_MLO_LINKS 5
typedef struct {
    /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_preferred_link_map */
    A_UINT32 tlv_header;
    /** flags:
     * Bit0    : tx_link_tuple enable/disable.
     *           When enabled, f/w picks the links in tx_link_tuple_bitmap
     *           for TX scheduling.
     * Bit1    : preferred_link enable/disable.
     *           When enabled, f/w schedules the data on preferred link first.
     *           If it fails to deliver within a timeout, it additionally
     *           starts attempting TX on non-preferred links.
     * Bit2-31 : reserved
     */
     A_UINT32 flags;
    /* num_links: number of links present in link_priority_order array below.
     * 0        - we dont have sorted list of link priority
     * non zero - this should be the max number of links that the peer supports.
     */
    A_UINT32 num_links;
    /* link_priority_order:
     * [0] - ID of highest priority link,
     * [1] - ID of 2nd highest priority link, etc.
     */
    A_UINT32 link_priority_order[WMI_MAX_NUM_MLO_LINKS];
    /* tx_link_tuple_bitmap:
     * bitmap of indices within link_priority_order array that needs to be
     * selected in the TX link tuple.
     * FW will not attempt scheduling on a link if it is not part of the
     * tx_link_tuple.
     */
    A_UINT32 tx_link_tuple_bitmap;
    /* max_timeout_ms: applicable only when preferred_link is enabled
     * 0     - max_timeout_ms to be estimated in Firmware
     * Non 0 - value beyond which, firmware should additionally start
     *         scheduling on non preferred links
     */
    A_UINT32 max_timeout_ms[WLAN_MAX_AC];
} wmi_mlo_peer_link_control_param;
typedef struct {
    /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_tid_to_link_map_fixed_param */
    A_UINT32 tlv_header;
@@ -40780,6 +40840,8 @@ typedef struct {
     *   - struct wmi_peer_preferred_link_map peer_preferred_link_map[];
     *     Note - TLV array of peer_preferred_link_map has either 0 or 1
     *     entries, not multiple entries.
     *   - struct wmi_mlo_peer_link_control_param[];
     *     Note: can have 0 or 1 entry.
     */
} wmi_peer_tid_to_link_map_fixed_param;
+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_ 1293
#define __WMI_REVISION_ 1294

/** The Version Namespace should not be normally changed. Only
 *  host and firmware of the same WMI namespace will work