fw-api: CL 21737959 - update fw common interface files
WMI, HTT stats: add UL OFDMA trigger specs + stats Change-Id: I783619550c9ecbf3587556e5194cd2f2457cd409 CRs-Fixed: 2262693
This commit is contained in:
8
fw/htt.h
8
fw/htt.h
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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 */
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
}
|
||||
|
@@ -316,6 +316,7 @@ typedef enum {
|
||||
WMI_GRP_QUIET_OFL, /* 0x4a Quiet offloads */
|
||||
WMI_GRP_ODD, /* 0x4b ODD */
|
||||
WMI_GRP_TDMA, /* 0x4c TDMA */
|
||||
WMI_GRP_MANUAL_UL_TRIG /* 0x4d Manual UL OFDMA Trigger */
|
||||
} WMI_GRP_ID;
|
||||
|
||||
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
|
||||
@@ -1563,6 +1564,13 @@ typedef enum {
|
||||
|
||||
/* WMI commands specific to TDMA */
|
||||
WMI_TDMA_SCHEDULE_REQUEST_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_TDMA),
|
||||
|
||||
/* WMI commands specific to manually-triggered UL */
|
||||
/** WMI Command to set Manual SU UL OFDMA trigger parameters */
|
||||
WMI_VDEV_SET_ULOFDMA_MANUAL_SU_TRIG_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_MANUAL_UL_TRIG),
|
||||
|
||||
/** WMI Command to set Manual MU UL OFDMA trigger parameters */
|
||||
WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID,
|
||||
} WMI_CMD_ID;
|
||||
|
||||
typedef enum {
|
||||
@@ -2375,6 +2383,12 @@ typedef enum {
|
||||
|
||||
/* ODD events */
|
||||
WMI_ODD_LIVEDUMP_RESPONSE_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_ODD),
|
||||
|
||||
/** WMI events specific to manually-triggered UL */
|
||||
/**
|
||||
* WMI Event to send Manual UL OFDMA Trigger frame status feedback to Host
|
||||
*/
|
||||
WMI_MANUAL_UL_OFDMA_TRIG_FEEDBACK_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_MANUAL_UL_TRIG),
|
||||
} WMI_EVT_ID;
|
||||
|
||||
/* defines for OEM message sub-types */
|
||||
@@ -33415,6 +33429,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
||||
WMI_RETURN_STRING(WMI_HPA_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PDEV_SET_TGTR2P_TABLE_CMDID); /* To set target rate to power table */
|
||||
WMI_RETURN_STRING(WMI_MLO_VDEV_GET_LINK_INFO_CMDID);
|
||||
WMI_RETURN_STRING(WMI_VDEV_SET_ULOFDMA_MANUAL_SU_TRIG_CMDID);
|
||||
WMI_RETURN_STRING(WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID);
|
||||
}
|
||||
|
||||
return (A_UINT8 *) "Invalid WMI cmd";
|
||||
@@ -41991,6 +42007,80 @@ typedef struct {
|
||||
A_UINT32 chan_freq; /* Channel frequency in MHz */
|
||||
} wmi_mlo_vdev_link_info;
|
||||
|
||||
/* Manual UL OFDMA trigger frame data structures */
|
||||
|
||||
typedef enum {
|
||||
WMI_UL_OFDMA_MANUAL_TRIG_TXERR_NONE,
|
||||
WMI_UL_OFDMA_MANUAL_TRIG_TXERR_RESP, /* response timeout, mismatch,
|
||||
* BW mismatch, mimo ctrl mismatch,
|
||||
* CRC error.. */
|
||||
WMI_UL_OFDMA_MANUAL_TRIG_TXERR_FILT, /* blocked by tx filtering */
|
||||
WMI_UL_OFDMA_MANUAL_TRIG_TXERR_FIFO, /* fifo, misc errors in HW */
|
||||
WMI_UL_OFDMA_MANUAL_TRIG_TXERR_SWABORT, /* software initiated abort
|
||||
* (TX_ABORT) */
|
||||
|
||||
WMI_UL_OFDMA_MANUAL_TRIG_TXERR_MAX = 0xff,
|
||||
WMI_UL_OFDMA_MANUAL_TRIG_TXERR_INVALID =
|
||||
WMI_UL_OFDMA_MANUAL_TRIG_TXERR_MAX
|
||||
} wmi_ul_ofdma_manual_trig_txerr_t;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_manual_ul_ofdma_trig_feedback_evt_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
|
||||
/* VDEV identifier */
|
||||
A_UINT32 vdev_id;
|
||||
|
||||
/* To indicate whether feedback event is for SU (0) or MU trigger (1) */
|
||||
A_UINT32 feedback_trig_type;
|
||||
|
||||
/* Feedback Params */
|
||||
A_UINT32 curr_su_manual_trig_count;
|
||||
A_UINT32 remaining_su_manual_trig;
|
||||
A_UINT32 remaining_mu_trig_peers;
|
||||
A_UINT32 manual_trig_status; /* holds a wmi_ul_ofdma_manual_trig_txerr_t */
|
||||
|
||||
/**
|
||||
* This TLV is followed by TLVs below:
|
||||
* wmi_mac_addr peer_macaddr[];
|
||||
* Array length corresponds to the number of triggered peers
|
||||
*/
|
||||
} wmi_manual_ul_ofdma_trig_feedback_evt_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_set_manual_mu_trig_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
|
||||
/* VDEV identifier */
|
||||
A_UINT32 vdev_id;
|
||||
|
||||
/* Configurable Parameters for manual UL OFDMA Multi-User Trigger frame */
|
||||
A_UINT32 manual_trig_preferred_ac;
|
||||
/**
|
||||
* This TLV is followed by TLVs below:
|
||||
* wmi_mac_addr peer_macaddr[];
|
||||
* The array has one element for each peer to be included in the
|
||||
* manually-triggered UL MU transmission.
|
||||
*/
|
||||
} wmi_vdev_set_manual_mu_trig_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_set_manual_su_trig_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
|
||||
/* VDEV identifier */
|
||||
A_UINT32 vdev_id;
|
||||
|
||||
/* Configurable Parameters for manual UL OFDMA Single-User Trigger frame */
|
||||
wmi_mac_addr peer_macaddr;
|
||||
A_UINT32 manual_trig_preferred_ac;
|
||||
A_UINT32 num_su_manual_trig;
|
||||
A_UINT32 manual_trig_length;
|
||||
A_UINT32 manual_trig_mcs;
|
||||
A_UINT32 manual_trig_nss;
|
||||
A_INT32 manual_trig_target_rssi; /* units = dBm */
|
||||
} wmi_vdev_set_manual_su_trig_cmd_fixed_param;
|
||||
|
||||
|
||||
|
||||
/* ADD NEW DEFS HERE */
|
||||
|
@@ -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_ 1291
|
||||
#define __WMI_REVISION_ 1292
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
Referens i nytt ärende
Block a user