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

Commit daf205b1 authored by Linux Build Service Account's avatar Linux Build Service Account
Browse files

Merge 6b7badbd on remote branch

Change-Id: I7ec320cf230d5553717d09ef5553ff844acbef71
parents f2823215 6b7badbd
Loading
Loading
Loading
Loading
+140 −4
Original line number Original line Diff line number Diff line
@@ -249,9 +249,12 @@
 * 3.121 Add HTT_T2H_MSG_TYPE_PEER_AST_OVERRIDE_INDEX_IND def.
 * 3.121 Add HTT_T2H_MSG_TYPE_PEER_AST_OVERRIDE_INDEX_IND def.
 * 3.122 Add is_umac_hang flag in H2T UMAC_HANG_RECOVERY_SOC_START_PRE_RESET msg
 * 3.122 Add is_umac_hang flag in H2T UMAC_HANG_RECOVERY_SOC_START_PRE_RESET msg
 * 3.123 Add HTT_OPTION_TLV_TCL_METADATA_V21 def.
 * 3.123 Add HTT_OPTION_TLV_TCL_METADATA_V21 def.
 * 3.124 Add HTT_T2H_MSG_TYPE_PEER_EXTENDED_EVENT def.
 * 3.125 Expand fisa_aggr_limit bits in fisa_control_bits_v2.
 * 3.126 Add HTT_RXDATA_ERR_INVALID_PEER def.
 */
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 123
#define HTT_CURRENT_VERSION_MINOR 126
#define HTT_NUM_TX_FRAG_DESC  1024
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -8620,8 +8623,8 @@ PREPACK struct htt_h2t_msg_type_fisa_config_t {
         } fisa_control_bits;
         } fisa_control_bits;
         struct {
         struct {
             A_UINT32 fisa_enable:                1,
             A_UINT32 fisa_enable:                1,
                      fisa_aggr_limit:            4,
                      fisa_aggr_limit:            6,
                      reserved:                   27;
                      reserved:                   25;
         } fisa_control_bits_v2;
         } fisa_control_bits_v2;
         A_UINT32 fisa_control_value;
         A_UINT32 fisa_control_value;
@@ -8841,7 +8844,7 @@ PREPACK struct htt_h2t_msg_type_fisa_config_t {
        } while (0)
        } while (0)
/* Dword 1: fisa_control_value fisa_aggr_limit */
/* Dword 1: fisa_control_value fisa_aggr_limit */
#define HTT_RX_FISA_CONFIG_FISA_V2_AGGR_LIMIT_M        0x0000001e
#define HTT_RX_FISA_CONFIG_FISA_V2_AGGR_LIMIT_M        0x0000007e
#define HTT_RX_FISA_CONFIG_FISA_V2_AGGR_LIMIT_S        1
#define HTT_RX_FISA_CONFIG_FISA_V2_AGGR_LIMIT_S        1
#define HTT_RX_FISA_CONFIG_FISA_V2_AGGR_LIMIT_GET(_var) \
#define HTT_RX_FISA_CONFIG_FISA_V2_AGGR_LIMIT_GET(_var) \
        (((_var) & HTT_RX_FISA_CONFIG_FISA_V2_AGGR_LIMIT_M) >> \
        (((_var) & HTT_RX_FISA_CONFIG_FISA_V2_AGGR_LIMIT_M) >> \
@@ -10781,6 +10784,7 @@ enum htt_t2h_msg_type {
    HTT_T2H_MSG_TYPE_SOFT_UMAC_TX_COMPL_IND        = 0x36,
    HTT_T2H_MSG_TYPE_SOFT_UMAC_TX_COMPL_IND        = 0x36,
    HTT_T2H_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_IND = 0x37,
    HTT_T2H_MSG_TYPE_PRIMARY_LINK_PEER_MIGRATE_IND = 0x37,
    HTT_T2H_MSG_TYPE_PEER_AST_OVERRIDE_INDEX_IND   = 0x38,
    HTT_T2H_MSG_TYPE_PEER_AST_OVERRIDE_INDEX_IND   = 0x38,
    HTT_T2H_MSG_TYPE_PEER_EXTENDED_EVENT           = 0x39,
    HTT_T2H_MSG_TYPE_TEST,
    HTT_T2H_MSG_TYPE_TEST,
@@ -14044,6 +14048,132 @@ typedef enum {
#define HTT_RX_MLO_PEER_UNMAP_MLO_PEER_ID_SET    HTT_RX_MLO_PEER_MAP_MLO_PEER_ID_SET
#define HTT_RX_MLO_PEER_UNMAP_MLO_PEER_ID_SET    HTT_RX_MLO_PEER_MAP_MLO_PEER_ID_SET
#define HTT_RX_MLO_PEER_UNMAP_MLO_PEER_ID_GET    HTT_RX_MLO_PEER_MAP_MLO_PEER_ID_GET
#define HTT_RX_MLO_PEER_UNMAP_MLO_PEER_ID_GET    HTT_RX_MLO_PEER_MAP_MLO_PEER_ID_GET
/**
 * @brief target -> host peer extended event for additional information
 *
 * MSG_TYPE => HTT_T2H_MSG_TYPE_PEER_EXTENDED_EVENT
 *
 * @details
 * The following diagram shows the format of the peer extended message sent
 * from the target to the host. This layout assumes the target operates
 * as little-endian.
 *
 * This message always contains a SW peer ID.  The main purpose of the
 * SW peer ID is to tell the host what peer ID logical link id will be tagged
 * with, so that the host can use that peer ID to determine which link
 * transmitted the rx/tx frame.
 *
 * This message also contains MLO logical link id assigned to peer
 * with sw_peer_id if it is valid ML link peer.
 *
 *
 * |31    28|27    24|23   20|19|18     16|15               8|7               0|
 * |---------------------------------------------------------------------------|
 * |     VDEV_ID     |              SW peer ID               |     msg type    |
 * |---------------------------------------------------------------------------|
 * |    MAC addr 3   |    MAC addr 2      |    MAC addr 1    |    MAC addr 0   |
 * |---------------------------------------------------------------------------|
 * |          Reserved       |V | LINK ID |    MAC addr 5    |    MAC addr 4   |
 * |---------------------------------------------------------------------------|
 * |                                  Reserved                                 |
 * |---------------------------------------------------------------------------|
 * |                                  Reserved                                 |
 * |---------------------------------------------------------------------------|
 *
 * Where:
 *      LINK_ID (LOGICAL)     - 3 Bits Bit16,17,18 of 3rd byte
 *      V (valid)             - 1 Bit  Bit19 of 3rd byte
 *
 * The following field definitions describe the format of the rx peer extended
 * event messages sent from the target to the host.
 *     MSG_TYPE
 *     Bits 7:0
 *     Purpose: identifies this as an rx MLO peer extended information message
 *     Value: 0x39 (HTT_T2H_MSG_TYPE_PEER_EXTENDED_EVENT)
 *   - PEER_ID (a.k.a. SW_PEER_ID)
 *     Bits 8:23
 *     Purpose: The peer ID (index) that WAL has allocated
 *     Value: (rx) peer ID
 *   - VDEV_ID
 *     Bits 24:31
 *     Purpose: Gives the vdev id of peer with peer_id as above.
 *     Value: VDEV ID of wal_peer
 *
 *   - MAC_ADDR_L32
 *     Bits 31:0
 *     Purpose: Identifies which peer node the peer ID is for.
 *     Value: lower 4 bytes of peer node's MAC address
 *
 *   - MAC_ADDR_U16
 *     Bits 15:0
 *     Purpose: Identifies which peer node the peer ID is for.
 *     Value: upper 2 bytes of peer node's MAC address
 *     Rest all bits are reserved for future expansion
 *   - LOGICAL_LINK_ID
 *     Bits 18:16
 *     Purpose: Gives the logical link id of peer with peer_id as above. This
 *         field should be taken alongwith LOGICAL_LINK_ID_VALID
 *     Value: Logical link id used by wal_peer
 *   - LOGICAL_LINK_ID_VALID
 *     Bit 19
 *     Purpose: Clarifies whether the logical link id of peer with peer_id as
 *         is valid or not
 *     Value: 0/1 indicating LOGICAL_LINK_ID is valid or not
 */
#define HTT_RX_PEER_EXTENDED_PEER_ID_M                0x00ffff00
#define HTT_RX_PEER_EXTENDED_PEER_ID_S                8
#define HTT_RX_PEER_EXTENDED_VDEV_ID_M                0xff000000
#define HTT_RX_PEER_EXTENDED_VDEV_ID_S                24
#define HTT_RX_PEER_EXTENDED_MAC_ADDR_L32_M           0xffffffff
#define HTT_RX_PEER_EXTENDED_MAC_ADDR_L32_S           0
#define HTT_RX_PEER_EXTENDED_MAC_ADDR_U16_M           0x0000ffff
#define HTT_RX_PEER_EXTENDED_MAC_ADDR_U16_S           0
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_M        0x00070000
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_S        16
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_M  0x00080000
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_S  19
#define HTT_RX_PEER_EXTENDED_PEER_ID_SET(word, value)                        \
    do {                                                                \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_PEER_ID, value);              \
        (word) |= (value)  << HTT_RX_PEER_EXTENDED_PEER_ID_S;                \
    } while (0)
#define HTT_RX_PEER_EXTENDED_PEER_ID_GET(word) \
    (((word) & HTT_RX_PEER_EXTENDED_PEER_ID_M) >> HTT_RX_PEER_EXTENDED_PEER_ID_S)
#define HTT_RX_PEER_EXTENDED_VDEV_ID_SET(word, value)                         \
    do {                                                                \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_EXTENDED_VDEV_ID, value);               \
        (word) |= (value)  << HTT_RX_PEER_EXTENDED_VDEV_ID_S;                 \
    } while (0)
#define HTT_RX_PEER_EXTENDED_VDEV_ID_GET(word) \
    (((word) & HTT_RX_PEER_EXTENDED_VDEV_ID_M) >> HTT_RX_PEER_EXTENDED_VDEV_ID_S)
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_SET(word, value)                         \
    do {                                                                \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID, value);               \
        (word) |= (value)  << HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_S;                 \
    } while (0)
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_GET(word) \
    (((word) & HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_M) >> HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_S)
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_SET(word, value)                         \
    do {                                                                \
        HTT_CHECK_SET_VAL(HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID, value);               \
        (word) |= (value)  << HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_S;                 \
    } while (0)
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_GET(word) \
    (((word) & HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_M) >> HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_S)
#define HTT_RX_PEER_EXTENDED_MAC_ADDR_OFFSET                4 /* bytes */
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_OFFSET         8  /* bytes */
#define HTT_RX_PEER_EXTENDED_LOGICAL_LINK_ID_VALID_OFFSET   8  /* bytes */
#define HTT_RX_PEER_EXTENDED_EVENT_BYTES 20 /* bytes */
/**
/**
 * @brief target -> host message specifying security parameters
 * @brief target -> host message specifying security parameters
 *
 *
@@ -21254,6 +21384,12 @@ typedef enum htt_t2h_rx_data_msdu_err {
     */
     */
    HTT_RXDATA_ERR_ZERO_LEN_MSDU    = 7,
    HTT_RXDATA_ERR_ZERO_LEN_MSDU    = 7,
    /* ERR_INVALID_PEER:
     * FW sets this error flag when MSDU is recived from invalid PEER
     * HOST decides to send DEAUTH or not, recyles buffer.
     */
    HTT_RXDATA_ERR_INVALID_PEER     = 8,
    /* add new error codes here */
    /* add new error codes here */
    HTT_RXDATA_ERR_MAX              = 32
    HTT_RXDATA_ERR_MAX              = 32
+42 −4
Original line number Original line Diff line number Diff line
@@ -1057,6 +1057,20 @@ typedef struct {
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_COMMON_TLV_CHAIN_ENABLE_BITS_S)); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_COMMON_TLV_CHAIN_ENABLE_BITS_S)); \
     } while (0)
     } while (0)


#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_M  0x00010000
#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S          16

#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_M) >> \
    HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S)

#define HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_COMMON_TLV_IS_SMART_ULOFDMA_BASIC_TRIG_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_CHAINS_PER_U32 4
#define HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_CHAINS_PER_U32 4
#define HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_MASK 0x000000ff
#define HTT_PPDU_STATS_USER_COMMON_TLV_TX_PWR_MASK 0x000000ff


@@ -1194,10 +1208,15 @@ typedef struct {
     * Default value: 1
     * Default value: 1
     * tx_pwr[0] value is used for all chains if chain_enable_bits field
     * tx_pwr[0] value is used for all chains if chain_enable_bits field
     * is set to 1.
     * is set to 1.
     *
     * is_smart_ulofdma_basic_trig:
     * To check if user grouped in UL OFDMA Basic Trigger Frame is
     * due to Smart Basic Trigger.
     */
     */
    A_UINT32 tx_pwr_multiplier          :  8,
    A_UINT32 tx_pwr_multiplier          :  8,
             chain_enable_bits          :  8,
             chain_enable_bits          :  8,
             reserved2          : 16;
             is_smart_ulofdma_basic_trig:  1,
             reserved2                  : 15;


    /*
    /*
     * Transmit powers (signed values packed into unsigned bitfields)
     * Transmit powers (signed values packed into unsigned bitfields)
@@ -1819,6 +1838,19 @@ typedef enum HTT_PPDU_STATS_RESP_PPDU_TYPE HTT_PPDU_STATS_RESP_PPDU_TYPE;
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_S)); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_EXTRA_EHT_LTF_S)); \
    } while (0)
    } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_M  0x00020000
#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S          17

#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_SET (_var , _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE, _val); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_IS_MIN_RATE_S)); \
    } while (0)

typedef enum HTT_PPDU_STATS_RU_SIZE {
typedef enum HTT_PPDU_STATS_RU_SIZE {
    HTT_PPDU_STATS_RU_26,
    HTT_PPDU_STATS_RU_26,
    HTT_PPDU_STATS_RU_52,
    HTT_PPDU_STATS_RU_52,
@@ -2009,7 +2041,8 @@ typedef struct {
     */
     */
    A_UINT32 punc_pattern_bitmap: 16,
    A_UINT32 punc_pattern_bitmap: 16,
             extra_eht_ltf:       1,
             extra_eht_ltf:       1,
             reserved4:           15;
             is_min_rate:         1,
             reserved4:           14;
} htt_ppdu_stats_user_rate_tlv;
} htt_ppdu_stats_user_rate_tlv;


#define HTT_PPDU_STATS_USR_RATE_VALID_M     0x80000000
#define HTT_PPDU_STATS_USR_RATE_VALID_M     0x80000000
@@ -2479,6 +2512,11 @@ typedef struct {
     * for BW supported by Smart Antenna - 320 MHZ
     * for BW supported by Smart Antenna - 320 MHZ
     */
     */
    A_UINT32 max_rates_ext;
    A_UINT32 max_rates_ext;

    /* hw_prot_dur_us:
     * hw protection frame's FES duration in micro seconds.
     */
    A_UINT32 hw_prot_dur_us;
} htt_ppdu_stats_user_cmpltn_common_tlv;
} htt_ppdu_stats_user_cmpltn_common_tlv;


#define HTT_PPDU_STATS_USER_CMPLTN_BA_BITMAP_TLV_TID_NUM_M     0x000000ff
#define HTT_PPDU_STATS_USER_CMPLTN_BA_BITMAP_TLV_TID_NUM_M     0x000000ff
+120 −4
Original line number Original line Diff line number Diff line
@@ -555,6 +555,34 @@ enum htt_dbg_ext_stats_type {
     */
     */
    HTT_DBG_CODEL_STATS = 58,
    HTT_DBG_CODEL_STATS = 58,


    /** HTT_DBG_ODD_PDEV_BE_TX_MU_OFDMA_STATS
     * PARAMS:
     *   - No Params
     * RESP MSG:
     *   - htt_tx_pdev_mpdu_stats_tlv
     */
    HTT_DBG_ODD_PDEV_BE_TX_MU_OFDMA_STATS = 59,

    /** HTT_DBG_EXT_STATS_PDEV_UL_TRIGGER
     * PARAMS:
     *   - No Params
     * RESP MSG:
     *   - htt_rx_pdev_be_ul_ofdma_user_stats_tlv
     */
    HTT_DBG_ODD_UL_BE_OFDMA_STATS = 60,

    /** HTT_DBG_ODD_BE_TXBF_OFDMA_STATS
     */
    HTT_DBG_ODD_BE_TXBF_OFDMA_STATS = 61,

    /** HTT_DBG_ODD_STATS_PDEV_BE_UL_MUMIMO_TRIG_STATS
     * PARAMS:
     *   - No Params
     * RESP MSG:
     *   - htt_rx_pdev_be_ul_ofdma_user_stats_tlv
     */
    HTT_DBG_ODD_STATS_PDEV_BE_UL_MUMIMO_TRIG_STATS = 62,



    /* keep this last */
    /* keep this last */
    HTT_DBG_NUM_EXT_STATS = 256,
    HTT_DBG_NUM_EXT_STATS = 256,
@@ -1636,6 +1664,13 @@ typedef struct {
#define HTT_PEER_DETAILS_ML_PEER_ID_S         1
#define HTT_PEER_DETAILS_ML_PEER_ID_S         1
#define HTT_PEER_DETAILS_LINK_IDX_M           0x001fe000
#define HTT_PEER_DETAILS_LINK_IDX_M           0x001fe000
#define HTT_PEER_DETAILS_LINK_IDX_S           13
#define HTT_PEER_DETAILS_LINK_IDX_S           13
#define HTT_PEER_DETAILS_USE_PPE_M            0x00200000
#define HTT_PEER_DETAILS_USE_PPE_S            21


#define HTT_PEER_DETAILS_SRC_INFO_M           0x00000fff
#define HTT_PEER_DETAILS_SRC_INFO_S           0



#define HTT_PEER_DETAILS_SET(word, httsym, val)  \
#define HTT_PEER_DETAILS_SET(word, httsym, val)  \
    do {                                         \
    do {                                         \
@@ -1664,7 +1699,11 @@ typedef struct {
    A_UINT32     ml_peer_id_valid  : 1,   /* [0:0] */
    A_UINT32     ml_peer_id_valid  : 1,   /* [0:0] */
                 ml_peer_id        : 12,  /* [12:1] */
                 ml_peer_id        : 12,  /* [12:1] */
                 link_idx          : 8,   /* [20:13] */
                 link_idx          : 8,   /* [20:13] */
                 rsvd              : 11;  /* [31:21] */
                 use_ppe           : 1,   /* [21:21] */
                 rsvd0             : 10;  /* [31:22] */
    /* Dword 9 */
    A_UINT32     src_info          : 12,  /* [11:0] */
                 rsvd1             : 20;  /* [31:12] */
} htt_peer_details_tlv;
} htt_peer_details_tlv;


typedef struct {
typedef struct {
@@ -2417,6 +2456,8 @@ typedef enum {
#define HTT_TX_NUM_MUMIMO_GRP_INVALID_WORDS \
#define HTT_TX_NUM_MUMIMO_GRP_INVALID_WORDS \
    (HTT_STATS_MAX_MUMIMO_GRP_SZ * HTT_STATS_MAX_INVALID_REASON_CODE)
    (HTT_STATS_MAX_MUMIMO_GRP_SZ * HTT_STATS_MAX_INVALID_REASON_CODE)


#define HTT_MAX_NUM_SBT_INTR 4

typedef struct {
typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    htt_tlv_hdr_t tlv_hdr;


@@ -2469,6 +2510,19 @@ typedef struct {
    /** 11AX HE MU Standalone Freq. BSRP Trigger completed with error(s) */
    /** 11AX HE MU Standalone Freq. BSRP Trigger completed with error(s) */
    A_UINT32 standalone_ax_bsr_trigger_err[HTT_NUM_AC_WMM];
    A_UINT32 standalone_ax_bsr_trigger_err[HTT_NUM_AC_WMM];
/* END DEPRECATED FIELDS */
/* END DEPRECATED FIELDS */
    /** smart_basic_trig_sch_histogram:
     * Count how many times the interval between predictive basic triggers
     * sent to a given STA based on analysis of that STA's traffic patterns
     * is within a given range:
     *
     * smart_basic_trig_sch_histogram[0]: SBT interval <= 10 ms
     * smart_basic_trig_sch_histogram[1]: 10 ms < SBT interval <= 20 ms
     * smart_basic_trig_sch_histogram[2]: 20 ms < SBT interval <= 30 ms
     * smart_basic_trig_sch_histogram[3]: 30 ms < SBT interval <= 40 ms
     *
     * (Smart basic triggers are only used with intervals <= 40 ms.)
     */
    A_UINT32 smart_basic_trig_sch_histogram[HTT_MAX_NUM_SBT_INTR];
} htt_tx_selfgen_cmn_stats_tlv;
} htt_tx_selfgen_cmn_stats_tlv;


typedef struct {
typedef struct {
@@ -6500,8 +6554,11 @@ typedef enum {
    HTT_TX_AX_SOUNDING_MODE  = 1,
    HTT_TX_AX_SOUNDING_MODE  = 1,
    HTT_TX_BE_SOUNDING_MODE  = 2,
    HTT_TX_BE_SOUNDING_MODE  = 2,
    HTT_TX_CMN_SOUNDING_MODE = 3,
    HTT_TX_CMN_SOUNDING_MODE = 3,
    HTT_TX_CV_CORR_MODE      = 4,
} htt_stats_sounding_tx_mode;
} htt_stats_sounding_tx_mode;


#define HTT_TX_CV_CORR_MAX_NUM_COLUMNS 8

typedef struct {
typedef struct {
    htt_tlv_hdr_t tlv_hdr;
    htt_tlv_hdr_t tlv_hdr;
    A_UINT32      tx_sounding_mode; /* HTT_TX_XX_SOUNDING_MODE */
    A_UINT32      tx_sounding_mode; /* HTT_TX_XX_SOUNDING_MODE */
@@ -6614,6 +6671,65 @@ typedef struct {
    A_UINT32 adaptive_snd_kicked_in;
    A_UINT32 adaptive_snd_kicked_in;
    /** Total number of times we switched back to normal sounding interval */
    /** Total number of times we switched back to normal sounding interval */
    A_UINT32 adaptive_snd_back_to_default;
    A_UINT32 adaptive_snd_back_to_default;

    /**
     * Below are CV correlation feature related stats.
     * This feature is used for DL MU MIMO, but is not available
     * from certain legacy targets.
     */

    /** number of CV Correlation triggers for online mode */
    A_UINT32 cv_corr_trigger_online_mode;
    /** number of CV Correlation triggers for offline mode */
    A_UINT32 cv_corr_trigger_offline_mode;
    /** number of CV Correlation triggers for hybrid mode */
    A_UINT32 cv_corr_trigger_hybrid_mode;
    /** number of CV Correlation triggers with computation level 0 */
    A_UINT32 cv_corr_trigger_computation_level_0;
    /** number of CV Correlation triggers with computation level 1 */
    A_UINT32 cv_corr_trigger_computation_level_1;
    /** number of CV Correlation triggers with computation level 2 */
    A_UINT32 cv_corr_trigger_computation_level_2;
    /** number of users for which CV Correlation was triggered */
    A_UINT32 cv_corr_trigger_num_users[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
    /** number of streams for which CV Correlation was triggered */
    A_UINT32 cv_corr_trigger_num_streams[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
    /** number of CV Correlation buffers received through IPC tickle */
    A_UINT32 cv_corr_upload_total_buf_received;
    /** number of CV Correlation buffers fed back to the IPC ring */
    A_UINT32 cv_corr_upload_total_buf_fed_back;
    /** number of CV Correlation buffers for which processing failed */
    A_UINT32 cv_corr_upload_total_processing_failed;
    /**
     * number of CV Correlation buffers for which processing failed,
     * due to no users being present in parsed buffer
     */
    A_UINT32 cv_corr_upload_failed_total_users_zero;
    /**
     * number of CV Correlation buffers for which processing failed,
     * due to number of users present in parsed buffer exceeded
     * CV_CORR_MAX_NUM_COLUMNS
     */
    A_UINT32 cv_corr_upload_failed_total_users_exceeded;
    /**
     * number of CV Correlation buffers for which processing failed,
     * due to peer pointer for parsed peer not available
     */
    A_UINT32 cv_corr_upload_failed_peer_not_found;
    /**
     * number of CV Correlation buffers for which processing encountered,
     * Nss of peer exceeding SCHED_ALGO_MAX_SUPPORTED_MUMIMO_NSS
     */
    A_UINT32 cv_corr_upload_user_nss_exceeded;
    /**
     * number of CV Correlation buffers for which processing encountered,
     * invalid reverse look up index for fetching CV correlation results
     */
    A_UINT32 cv_corr_upload_invalid_lookup_index;
    /** number of users present in uploaded CV Correlation results buffer */
    A_UINT32 cv_corr_upload_total_num_users[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
    /** number of streams present in uploaded CV Correlation results buffer */
    A_UINT32 cv_corr_upload_total_num_streams[HTT_TX_CV_CORR_MAX_NUM_COLUMNS];
} htt_tx_sounding_stats_tlv;
} htt_tx_sounding_stats_tlv;


/* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SOUNDING_INFO
/* STATS_TYPE : HTT_DBG_EXT_STATS_TX_SOUNDING_INFO
+8 −0
Original line number Original line Diff line number Diff line
@@ -632,6 +632,14 @@ typedef enum {
    WMI_SERVICE_MLO_TID_TO_LINK_MAPPING_SUPPORT = 379, /* Indicates FW supports TID-TO-LINK mapping */
    WMI_SERVICE_MLO_TID_TO_LINK_MAPPING_SUPPORT = 379, /* Indicates FW supports TID-TO-LINK mapping */
    WMI_SERVICE_PER_LINK_STATS_SUPPORT = 380, /* Indicates FW supports per link stats for MLO */
    WMI_SERVICE_PER_LINK_STATS_SUPPORT = 380, /* Indicates FW supports per link stats for MLO */
    WMI_SERVICE_N_LINK_MLO_SUPPORT = 381,  /* Indicate FW supports N MLO link & vdev re-purpose between links */
    WMI_SERVICE_N_LINK_MLO_SUPPORT = 381,  /* Indicate FW supports N MLO link & vdev re-purpose between links */
    WMI_SERVICE_ATF_MAX_CLIENT_512_SUPPORT = 382, /* Indicates FW supports maximum of 512 clients when ATF is enabled */
    WMI_SERVICE_FISA_DYNAMIC_MSDU_AGGR_SIZE_SUPPORT = 383, /* Indicates FW support for FISA aggregation size up to 64 instead of only 16 */
    WMI_SERVICE_BRIDGE_VDEV_SUPPORT = 384, /* Indicated FW supports Bridge VDEV */
    WMI_SERVICE_MLO_MODE1_RECOVERY_SUPPORTED = 385, /* Indicate fw support for mlo mode1 recovery */
    WMI_SERVICE_TX_PWR_PER_PPDU_STATS_SUPPORT = 386, /* FW support to check tx power stats per PPDU */
    WMI_SERVICE_DISABLE_WDS_PEER_MAP_UNMAP_EVENT_SUPPORT = 387, /* Indicate FW support to disable wds peer map/unmap events */
    WMI_SERVICE_PDEV_WSI_STATS_INFO_SUPPORT = 388, /* Support for WSI Stats Info. */
    WMI_SERVICE_MULTIPLE_RF_PATH_SOC_SUPPORT = 389, /* Indicates FW supports Multiple RF Path on SOC Level */


    WMI_MAX_EXT2_SERVICE
    WMI_MAX_EXT2_SERVICE


+89 −6

File changed.

Preview size limit exceeded, changes collapsed.

Loading