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

Commit 311c7a33 authored by spuligil's avatar spuligil
Browse files

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

UL_MU_MIMO_wlanfw_cmn.cnss.1.0.0
Add UL trigger stats shown through wifistats

Change-Id: Ic52988eb15253947f3ef868f8aeb890c58ac434e
CRs-Fixed: 2262693
parent 4aa02b3f
Loading
Loading
Loading
Loading
+968 −980
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@
 *    Max supported stats :- 256.
 */
enum htt_dbg_ext_stats_type {

    /* HTT_DBG_EXT_STATS_RESET
     * PARAM:
     *   - config_param0 : start_offset (stats type)
@@ -268,7 +267,6 @@ enum htt_dbg_ext_stats_type {
     */
    HTT_DBG_EXT_STATS_PDEV_OBSS_PD_STATS = 23,


    /* keep this last */
    HTT_DBG_NUM_EXT_STATS = 256,
};
@@ -367,7 +365,6 @@ typedef enum {
    HTT_STATS_MAX_TAG,
} htt_tlv_tag_t;


#define HTT_STATS_TLV_TAG_M 0x00000fff
#define HTT_STATS_TLV_TAG_S 0
#define HTT_STATS_TLV_LENGTH_M 0x00fff000
@@ -446,7 +443,6 @@ typedef struct {
    A_UINT32      data[1]; /* Can be variable length */
} htt_stats_string_tlv;


#define HTT_TX_PDEV_STATS_CMN_MAC_ID_M 0x000000ff
#define HTT_TX_PDEV_STATS_CMN_MAC_ID_S 0

@@ -460,7 +456,6 @@ typedef struct {
        ((_var) |= ((_val) << HTT_TX_PDEV_STATS_CMN_MAC_ID_S)); \
    } while (0)


/* == TX PDEV STATS == */
typedef struct {
    htt_tlv_hdr_t tlv_hdr;
@@ -689,7 +684,6 @@ typedef struct {
    A_UINT32 count;
} htt_hw_stats_wd_timeout_tlv;


#define HTT_HW_STATS_PDEV_ERRS_MAC_ID_M 0x000000ff
#define HTT_HW_STATS_PDEV_ERRS_MAC_ID_S 0

@@ -703,7 +697,6 @@ typedef struct {
        ((_var) |= ((_val) << HTT_HW_STATS_PDEV_ERRS_MAC_ID_S)); \
    } while (0)


typedef struct {
    htt_tlv_hdr_t tlv_hdr;

@@ -816,6 +809,7 @@ typedef struct _htt_pdev_err_stats {

typedef struct _htt_msdu_flow_stats_tlv {
    htt_tlv_hdr_t tlv_hdr;

    A_UINT32 last_update_timestamp;
    A_UINT32 last_add_timestamp;
    A_UINT32 last_remove_timestamp;
@@ -855,7 +849,6 @@ typedef struct _htt_msdu_flow_stats_tlv {
        ((_var) |= ((_val) << HTT_TX_TID_STATS_SW_PEER_ID_S)); \
    } while (0)


#define HTT_TX_TID_STATS_TID_NUM_GET(_var) \
    (((_var) & HTT_TX_TID_STATS_TID_NUM_M) >> \
     HTT_TX_TID_STATS_TID_NUM_S)
@@ -882,7 +875,6 @@ typedef struct _htt_msdu_flow_stats_tlv {
        ((_var) |= ((_val) << HTT_TX_TID_STATS_NUM_SCHED_PENDING_S)); \
    } while (0)


#define HTT_TX_TID_STATS_NUM_PPDU_IN_HWQ_GET(_var) \
    (((_var) & HTT_TX_TID_STATS_NUM_PPDU_IN_HWQ_M) >> \
     HTT_TX_TID_STATS_NUM_PPDU_IN_HWQ_S)
@@ -893,10 +885,10 @@ typedef struct _htt_msdu_flow_stats_tlv {
        ((_var) |= ((_val) << HTT_TX_TID_STATS_NUM_PPDU_IN_HWQ_S)); \
    } while (0)


/* Tidq stats */
typedef struct _htt_tx_tid_stats_tlv {
    htt_tlv_hdr_t tlv_hdr;

    /* Stored as little endian */
    A_UINT8 tid_name[MAX_HTT_TID_NAME];
    /* BIT [15 :  0]   :- sw_peer_id
@@ -978,7 +970,6 @@ typedef struct _htt_tx_tid_stats_v1_tlv {
        ((_var) |= ((_val) << HTT_RX_TID_STATS_SW_PEER_ID_S)); \
    } while (0)


#define HTT_RX_TID_STATS_TID_NUM_GET(_var) \
    (((_var) & HTT_RX_TID_STATS_TID_NUM_M) >> \
     HTT_RX_TID_STATS_TID_NUM_S)
@@ -991,6 +982,7 @@ typedef struct _htt_tx_tid_stats_v1_tlv {

typedef struct _htt_rx_tid_stats_tlv {
    htt_tlv_hdr_t tlv_hdr;

    /* BIT [15 : 0] : sw_peer_id
     * BIT [31 : 16] : tid_num
     */
@@ -1016,7 +1008,6 @@ typedef struct {
    A_UINT32 count;
} htt_counter_tlv;


typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    /* Number of rx ppdu. */
@@ -1115,7 +1106,6 @@ typedef struct _htt_tx_peer_rate_stats_tlv {

    /* Counters to track packets in dcm mcs (MCS 0, 1, 3, 4) */
    A_UINT32 tx_dcm[HTT_TX_PEER_STATS_NUM_DCM_COUNTERS];

} htt_tx_peer_rate_stats_tlv;

#define HTT_RX_PEER_STATS_NUM_MCS_COUNTERS 12
@@ -1203,7 +1193,6 @@ typedef enum {
    (((_var) & HTT_DBG_EXT_STATS_PEER_INFO_IS_MAC_ADDR_M) >> \
     HTT_DBG_EXT_STATS_PEER_INFO_IS_MAC_ADDR_S)


#define HTT_DBG_EXT_STATS_PEER_REQ_MODE_GET(_var) \
    (((_var) & HTT_DBG_EXT_STATS_PEER_REQ_MODE_M) >> \
     HTT_DBG_EXT_STATS_PEER_REQ_MODE_S)
@@ -1239,6 +1228,7 @@ typedef enum {
 */
typedef struct _htt_peer_stats {
    htt_peer_stats_cmn_tlv cmn_tlv;

    htt_peer_details_tlv peer_details;
    /* from g_rate_info_stats */
    htt_tx_peer_rate_stats_tlv tx_rate;
@@ -1263,7 +1253,6 @@ typedef struct {
    htt_peer_details_tlv peer_details[1];
} htt_active_peer_details_list_t;


/* =========== MUMIMO HWQ stats =========== */

/* MU MIMO stats per hwQ */
@@ -1313,6 +1302,7 @@ typedef struct {

typedef struct {
    htt_tlv_hdr_t tlv_hdr;

    /* BIT [ 7 :  0]   :- mac_id
     * BIT [15 :  8]   :- hwq_id
     * BIT [31 : 16]   :- reserved
@@ -1361,6 +1351,7 @@ typedef struct {

typedef struct {
    htt_tlv_hdr_t tlv_hdr;

    /* BIT [ 7 :  0]   :- mac_id
     * BIT [15 :  8]   :- hwq_id
     * BIT [31 : 16]   :- reserved
@@ -1567,6 +1558,7 @@ typedef struct {
    A_UINT32 ax_bsr_trigger;
    A_UINT32 ax_mu_bar_trigger;
    A_UINT32 ax_mu_rts_trigger;
    A_UINT32 ax_ulmumimo_trigger;
} htt_tx_selfgen_ax_stats_tlv;

typedef struct {
@@ -1599,6 +1591,7 @@ typedef struct {
    A_UINT32 ax_bsr_trigger_err;
    A_UINT32 ax_mu_bar_trigger_err;
    A_UINT32 ax_mu_rts_trigger_err;
    A_UINT32 ax_ulmumimo_trigger_err;
} htt_tx_selfgen_ax_err_stats_tlv;

/* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SELFGEN_INFO
@@ -1874,6 +1867,7 @@ typedef struct {

typedef struct {
    htt_tlv_hdr_t tlv_hdr;

    /* BIT [ 7 :  0]   :- mac_id
     * BIT [31 :  8]   :- reserved
     */
@@ -1906,7 +1900,6 @@ typedef struct {
    } txq[1];
} htt_stats_tx_sched_t;


/* == TQM STATS == */

#define HTT_TX_TQM_MAX_GEN_MPDU_END_REASON 16
@@ -2242,6 +2235,7 @@ typedef struct {
 */
typedef struct {
    htt_tlv_hdr_t tlv_hdr;

    A_UINT32 fw2wbm_ring_full_hist[1];
} htt_tx_de_fw2wbm_ring_full_hist_tlv;

@@ -2398,12 +2392,12 @@ typedef struct {
        ((_var) |= ((_val) << HTT_RING_IF_STATS_HWM_THRESHOLD_S)); \
    } while (0)


#define HTT_STATS_LOW_WM_BINS 5
#define HTT_STATS_HIGH_WM_BINS 5

typedef struct {
    A_UINT32 base_addr; /* DWORD aligned base memory address of the ring */

    A_UINT32 elem_size; /* size of each ring element */

    /* BIT [15 :  0]   :- num_elems
@@ -2715,7 +2709,6 @@ typedef struct {
        ((_var) |= ((_val) << HTT_SRING_STATS_INTERNAL_TP_S)); \
    } while (0)


typedef struct {
    htt_tlv_hdr_t tlv_hdr;

@@ -2780,7 +2773,6 @@ typedef struct {
    } r[1];
} htt_sring_stats_t;


/* == PDEV TX RATE CTRL STATS == */

#define HTT_TX_PDEV_STATS_NUM_MCS_COUNTERS 12
@@ -2899,7 +2891,6 @@ typedef struct {
    htt_tx_pdev_rate_stats_tlv rate_tlv;
} htt_tx_pdev_rate_stats_t;


/* == PDEV RX RATE CTRL STATS == */

#define HTT_RX_PDEV_STATS_NUM_LEGACY_CCK_STATS 4
@@ -2927,9 +2918,9 @@ typedef struct {
        ((_var) |= ((_val) << HTT_RX_PDEV_RATE_STATS_MAC_ID_S)); \
    } while (0)


typedef struct {
    htt_tlv_hdr_t tlv_hdr;

    /* BIT [ 7 :  0]   :- mac_id
     * BIT [31 :  8]   :- reserved
     */
@@ -3010,7 +3001,6 @@ typedef struct {
    A_UINT32 rx_11ax_dl_ofdma_ru[HTT_RX_PDEV_STATS_NUM_RU_SIZE_COUNTERS];
} htt_rx_pdev_rate_stats_tlv;


/* STATS_TYPE : HTT_DBG_EXT_STATS_PDEV_RX_RATE
 * TLV_TAGS:
 *      - HTT_STATS_RX_PDEV_RATE_STATS_TAG
@@ -3023,7 +3013,6 @@ typedef struct {
    htt_rx_pdev_rate_stats_tlv rate_tlv;
} htt_rx_pdev_rate_stats_t;


/* == RX PDEV/SOC STATS == */

typedef struct {
@@ -3064,7 +3053,6 @@ typedef struct {
    A_UINT32 refill_ring_empty_cnt[1]; /* HTT_RX_STATS_REFILL_MAX_RING */
} htt_rx_soc_fw_refill_ring_empty_tlv_v;


#define HTT_RX_SOC_FW_REFILL_RING_EMPTY_TLV_SZ(_num_elems) (sizeof(A_UINT32) * (_num_elems))

/* NOTE: Variable length TLV, use length spec to infer array size */