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

Commit ad19db4e authored by spuligil's avatar spuligil
Browse files

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

WMI, HTT stats: add UL OFDMA trigger specs + stats

Change-Id: I783619550c9ecbf3587556e5194cd2f2457cd409
CRs-Fixed: 2262693
parent d0579677
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -782,6 +782,7 @@ typedef enum {
    HTT_STATS_TX_PDEV_MLO_ABORT_TAG                = 177, /* htt_tx_pdev_stats_mlo_abort_tlv_v */
    HTT_STATS_TX_PDEV_MLO_TXOP_ABORT_TAG           = 178, /* htt_tx_pdev_stats_mlo_txop_abort_tlv_v */
    HTT_STATS_UMAC_SSR_TAG                         = 179, /* htt_umac_ssr_stats_tlv */
    HTT_STATS_PEER_BE_OFDMA_STATS_TAG              = 180, /* htt_peer_be_ofdma_stats_tlv */
    HTT_STATS_MAX_TAG,
@@ -19009,9 +19010,11 @@ struct htt_ul_ofdma_user_info_v0 {
};
#define HTT_UL_OFDMA_USER_INFO_V0_BITMAP_W0 \
    A_UINT32 w0_fw_rsvd:30; \
    A_UINT32 w0_fw_rsvd:29; \
    A_UINT32 w0_manual_ulofdma_trig:1; \
    A_UINT32 w0_valid:1; \
    A_UINT32 w0_version:1;
struct htt_ul_ofdma_user_info_v0_bitmap_w0 {
    HTT_UL_OFDMA_USER_INFO_V0_BITMAP_W0
};
@@ -19101,6 +19104,9 @@ enum HTT_UL_OFDMA_TRIG_TYPE {
#define HTT_UL_OFDMA_USER_INFO_V0_W0_FW_INTERNAL_M  0x0000ffff
#define HTT_UL_OFDMA_USER_INFO_V0_W0_FW_INTERNAL_S  0
#define HTT_UL_OFDMA_USER_INFO_V0_W0_MANUAL_ULOFDMA_TRIG_M 0x20000000
#define HTT_UL_OFDMA_USER_INFO_V0_W0_MANUAL_ULOFDMA_TRIG_S 29
#define HTT_UL_OFDMA_USER_INFO_V0_W0_VALID_M 0x40000000
#define HTT_UL_OFDMA_USER_INFO_V0_W0_VALID_S 30
+5 −0
Original line number Diff line number Diff line
@@ -876,6 +876,11 @@ typedef struct {
                     reserved3:     31;
        };
    };
    /* is_manual_ulofdma_trigger:
     * Flag to indicate if a given UL OFDMA trigger is manually triggered
     * from the Host
     */
    A_UINT32 is_manual_ulofdma_trigger;
} htt_ppdu_stats_common_tlv;

#define HTT_PPDU_STATS_USER_COMMON_TLV_TID_NUM_M     0x000000ff
+31 −0
Original line number Diff line number Diff line
@@ -148,6 +148,7 @@ enum htt_dbg_ext_stats_type {
     *           6 bit htt_msdu_flow_stats_tlv
     *           7 bit htt_peer_sched_stats_tlv
     *           8 bit htt_peer_ax_ofdma_stats_tlv
     *           9 bit htt_peer_be_ofdma_stats_tlv
     *   - config_param2: [Bit31 : Bit0] mac_addr31to0
     *   - config_param3: [Bit15 : Bit0] mac_addr47to32
     *                    [Bit 16] If this bit is set, reset per peer stats
@@ -1866,6 +1867,7 @@ typedef enum {
    HTT_MSDU_FLOW_STATS_TLV     = 6,
    HTT_PEER_SCHED_STATS_TLV    = 7,
    HTT_PEER_AX_OFDMA_STATS_TLV = 8,
    HTT_PEER_BE_OFDMA_STATS_TLV = 9,

    HTT_PEER_STATS_MAX_TLV      = 31,
} htt_peer_stats_tlv_enum;
@@ -1909,8 +1911,20 @@ typedef struct {
    /* Last updated value of DL and UL queue depths for each peer per AC */
    A_UINT32 last_updated_dl_qdepth[HTT_NUM_AC_WMM];
    A_UINT32 last_updated_ul_qdepth[HTT_NUM_AC_WMM];
    /* Per peer Manual 11ax UL OFDMA trigger and trigger error counts */
    A_UINT32 ax_manual_ulofdma_trig_count;
    A_UINT32 ax_manual_ulofdma_trig_err_count;
} htt_peer_ax_ofdma_stats_tlv;

typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    A_UINT32 peer_id;
    /* Per peer Manual 11be UL OFDMA trigger and trigger error counts */
    A_UINT32 be_manual_ulofdma_trig_count;
    A_UINT32 be_manual_ulofdma_trig_err_count;
} htt_peer_be_ofdma_stats_tlv;


/* config_param0 */

#define HTT_DBG_EXT_PEER_CTRL_PATH_TXRX_STATS_IS_MAC_ADDR_M 0x00000001
@@ -2000,6 +2014,7 @@ typedef struct _htt_peer_stats {
    htt_tx_tid_stats_v1_tlv    tx_tid_stats_v1[1];
    htt_peer_sched_stats_tlv   peer_sched_stats;
    htt_peer_ax_ofdma_stats_tlv ax_ofdma_stats;
    htt_peer_be_ofdma_stats_tlv be_ofdma_stats;
} htt_peer_stats_t;

/* =========== ACTIVE PEER LIST ========== */
@@ -2518,6 +2533,14 @@ typedef struct {
    A_UINT32 standalone_ax_bsr_trigger_tried[HTT_NUM_AC_WMM];
    /** 11AX HE MU Standalone Freq. BSRP Trigger completed with error(s) */
    A_UINT32 standalone_ax_bsr_trigger_err[HTT_NUM_AC_WMM];
    /** 11AX HE Manual Single-User UL OFDMA Trigger frame sent over the air */
    A_UINT32 manual_ax_su_ulofdma_basic_trigger[HTT_NUM_AC_WMM];
    /** 11AX HE Manual Single-User UL OFDMA Trigger completed with error(s) */
    A_UINT32 manual_ax_su_ulofdma_basic_trigger_err[HTT_NUM_AC_WMM];
    /** 11AX HE Manual Multi-User UL OFDMA Trigger frame sent over the air */
    A_UINT32 manual_ax_mu_ulofdma_basic_trigger[HTT_NUM_AC_WMM];
    /** 11AX HE Manual Multi-User UL OFDMA Trigger completed with error(s) */
    A_UINT32 manual_ax_mu_ulofdma_basic_trigger_err[HTT_NUM_AC_WMM];
} htt_tx_selfgen_ax_stats_tlv;

typedef struct {
@@ -2565,6 +2588,14 @@ typedef struct {
    A_UINT32 standalone_be_bsr_trigger_tried[HTT_NUM_AC_WMM];
    /** 11BE EHT MU Standalone Freq. BSRP Trigger completed with error(s) */
    A_UINT32 standalone_be_bsr_trigger_err[HTT_NUM_AC_WMM];
    /** 11BE EHT Manual Single-User UL OFDMA Trigger frame sent over the air */
    A_UINT32 manual_be_su_ulofdma_basic_trigger[HTT_NUM_AC_WMM];
    /** 11BE EHT Manual Single-User UL OFDMA Trigger completed with error(s) */
    A_UINT32 manual_be_su_ulofdma_basic_trigger_err[HTT_NUM_AC_WMM];
    /** 11BE EHT Manual Multi-User UL OFDMA Trigger frame sent over the air */
    A_UINT32 manual_be_mu_ulofdma_basic_trigger[HTT_NUM_AC_WMM];
    /** 11BE EHT Manual Multi-User UL OFDMA Trigger completed with error(s) */
    A_UINT32 manual_be_mu_ulofdma_basic_trigger_err[HTT_NUM_AC_WMM];
} htt_tx_selfgen_be_stats_tlv;

typedef struct { /* DEPRECATED */
+1 −0
Original line number Diff line number Diff line
@@ -618,6 +618,7 @@ typedef enum {
    WMI_SERVICE_PEER_METADATA_V1A_V1B_SUPPORT = 365, /* Support rx peer meta data v1a and v1b */
    WMI_SERVICE_CFR_CAPTURE_PDEV_ID_SOC = 366, /* Host can send PDEV_ID_SOC with CFR capture request and FW can derive pdev_id from TA address */
    WMI_SERVICE_11BE_MLO_TDLS_SUPPORT = 367, /* Indicates FW supports 11be MLO TDLS. Host should enable 11be on TDLS only when FW indicates the support. */
    WMI_SERVICE_MANUAL_ULOFDMA_TRIGGER_SUPPORT = 368, /* Support for Host triggered Manual UL OFDMA trigger frame feature */

    WMI_MAX_EXT2_SERVICE

+24 −0
Original line number Diff line number Diff line
@@ -1346,6 +1346,9 @@ typedef enum {
    WMITLV_TAG_STRUC_wmi_mlo_vdev_get_link_info_cmd_fixed_param,
    WMITLV_TAG_STRUC_wmi_mlo_vdev_link_info_event_fixed_param,
    WMITLV_TAG_STRUC_wmi_mlo_vdev_link_info,
    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_ID;

/*
@@ -1867,6 +1870,8 @@ typedef enum {
    OP(WMI_PDEV_SET_TGTR2P_TABLE_CMDID) \
    OP(WMI_PEER_BULK_SET_CMDID) \
    OP(WMI_MLO_VDEV_GET_LINK_INFO_CMDID) \
    OP(WMI_VDEV_SET_ULOFDMA_MANUAL_SU_TRIG_CMDID) \
    OP(WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID) \
    /* add new CMD_LIST elements above this line */


@@ -2169,6 +2174,7 @@ typedef enum {
    OP(WMI_PDEV_SET_TGTR2P_TABLE_EVENTID) \
    OP(WMI_CSA_IE_RECEIVED_EVENTID) \
    OP(WMI_MLO_VDEV_LINK_INFO_EVENTID) \
    OP(WMI_MANUAL_UL_OFDMA_TRIG_FEEDBACK_EVENTID) \
    /* add new EVT_LIST elements above this line */


@@ -5304,6 +5310,17 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_TGTR2P_TABLE_CMDID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_vdev_get_link_info_cmd_fixed_param, wmi_mlo_vdev_get_link_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_VDEV_GET_LINK_INFO_CMDID);

/* WMI command to set Manual SU UL OFDMA Trigger params */
#define WMITLV_TABLE_WMI_VDEV_SET_ULOFDMA_MANUAL_SU_TRIG_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_set_manual_su_trig_cmd_fixed_param, wmi_vdev_set_manual_su_trig_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_ULOFDMA_MANUAL_SU_TRIG_CMDID);

/* WMI command to set Manual MU UL OFDMA Trigger params */
#define WMITLV_TABLE_WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID(id,op,buf,len) \
    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_vdev_set_manual_mu_trig_cmd_fixed_param, wmi_vdev_set_manual_mu_trig_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, peer_macaddr, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID);



/************************** TLV definitions of WMI events *******************************/
@@ -7198,6 +7215,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_CSA_IE_RECEIVED_EVENTID);
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_vdev_link_info, mlo_vdev_link_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_VDEV_LINK_INFO_EVENTID);

/* Manual UL OFDMA Trigger Feedback Event */
#define WMITLV_TABLE_WMI_MANUAL_UL_OFDMA_TRIG_FEEDBACK_EVENTID(id,op,buf,len) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_manual_ul_ofdma_trig_feedback_evt_fixed_param, wmi_manual_ul_ofdma_trig_feedback_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
    WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, peer_macaddr, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MANUAL_UL_OFDMA_TRIG_FEEDBACK_EVENTID);



#ifdef __cplusplus
}
Loading