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

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

Merge 914d2611 on remote branch

Change-Id: Iec604fc24db31a1d340a90e05b6eeb2bbcc1b912
parents b4d12c7e 914d2611
Loading
Loading
Loading
Loading
+190 −10
Original line number Diff line number Diff line
@@ -229,9 +229,10 @@
 * 3.102 Add HTT_H2T_MSG_TYPE_MSI_SETUP def.
 * 3.103 Add HTT_T2H_SAWF_MSDUQ_INFO_IND defs.
 * 3.104 Add mgmt/ctrl/data specs in rx ring cfg.
 * 3.105 Add HTT_H2T STREAMING_STATS_REQ + HTT_T2H STREAMING_STATS_IND defs.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 104
#define HTT_CURRENT_VERSION_MINOR 105
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -697,10 +698,10 @@ typedef enum {
    HTT_STATS_UNAVAILABLE_ERROR_STATS_TAG          = 110, /* htt_stats_error_tlv_v */
    HTT_STATS_TX_SELFGEN_AC_SCHED_STATUS_STATS_TAG = 111, /* htt_tx_selfgen_ac_sched_status_stats_tlv */
    HTT_STATS_TX_SELFGEN_AX_SCHED_STATUS_STATS_TAG = 112, /* htt_tx_selfgen_ax_sched_status_stats_tlv */
    HTT_STATS_TXBF_OFDMA_NDPA_STATS_TAG            = 113, /* htt_txbf_ofdma_ndpa_stats_tlv */
    HTT_STATS_TXBF_OFDMA_NDP_STATS_TAG             = 114, /* htt_txbf_ofdma_ndp_stats_tlv */
    HTT_STATS_TXBF_OFDMA_BRP_STATS_TAG             = 115, /* htt_txbf_ofdma_brp_stats_tlv */
    HTT_STATS_TXBF_OFDMA_STEER_STATS_TAG           = 116, /* htt_txbf_ofdma_steer_stats_tlv */
    HTT_STATS_TXBF_OFDMA_NDPA_STATS_TAG            = 113, /* htt_txbf_ofdma_ndpa_stats_tlv - DEPRECATED */
    HTT_STATS_TXBF_OFDMA_NDP_STATS_TAG             = 114, /* htt_txbf_ofdma_ndp_stats_tlv - DEPRECATED */
    HTT_STATS_TXBF_OFDMA_BRP_STATS_TAG             = 115, /* htt_txbf_ofdma_brp_stats_tlv - DEPRECATED */
    HTT_STATS_TXBF_OFDMA_STEER_STATS_TAG           = 116, /* htt_txbf_ofdma_steer_stats_tlv - DEPRECATED */
    HTT_STATS_STA_UL_OFDMA_STATS_TAG               = 117, /* htt_sta_ul_ofdma_stats_tlv */
    HTT_STATS_VDEV_RTT_RESP_STATS_TAG              = 118, /* htt_vdev_rtt_resp_stats_tlv */
    HTT_STATS_PKTLOG_AND_HTT_RING_STATS_TAG        = 119, /* htt_pktlog_and_htt_ring_stats_tlv */
@@ -729,6 +730,17 @@ typedef enum {
    HTT_STATS_RX_RING_STATS_TAG                    = 142, /* htt_rx_fw_ring_stats_tlv_v */
    HTT_STATS_RX_PDEV_BE_UL_TRIG_STATS_TAG         = 143, /* htt_rx_pdev_be_ul_trigger_stats_tlv */
    HTT_STATS_TX_PDEV_SAWF_RATE_STATS_TAG          = 144, /* htt_tx_pdev_rate_stats_sawf_tlv */
    HTT_STATS_STRM_GEN_MPDUS_TAG                   = 145, /* htt_stats_strm_gen_mpdus_tlv_t */
    HTT_STATS_STRM_GEN_MPDUS_DETAILS_TAG           = 146, /* htt_stats_strm_gen_mpdus_details_tlv_t */
    HTT_STATS_TXBF_OFDMA_AX_NDPA_STATS_TAG         = 147, /* htt_txbf_ofdma_ax_ndpa_stats_tlv */
    HTT_STATS_TXBF_OFDMA_AX_NDP_STATS_TAG          = 148, /* htt_txbf_ofdma_ax_ndp_stats_tlv */
    HTT_STATS_TXBF_OFDMA_AX_BRP_STATS_TAG          = 149, /* htt_txbf_ofdma_ax_brp_stats_tlv */
    HTT_STATS_TXBF_OFDMA_AX_STEER_STATS_TAG        = 150, /* htt_txbf_ofdma_ax_steer_stats_tlv */
    HTT_STATS_TXBF_OFDMA_BE_NDPA_STATS_TAG         = 151, /* htt_txbf_ofdma_be_ndpa_stats_tlv */
    HTT_STATS_TXBF_OFDMA_BE_NDP_STATS_TAG          = 152, /* htt_txbf_ofdma_be_ndp_stats_tlv */
    HTT_STATS_TXBF_OFDMA_BE_BRP_STATS_TAG          = 153, /* htt_txbf_ofdma_be_brp_stats_tlv */
    HTT_STATS_TXBF_OFDMA_BE_STEER_STATS_TAG        = 154, /* htt_txbf_ofdma_be_steer_stats_tlv */
    HTT_STATS_DMAC_RESET_STATS_TAG                 = 155, /* htt_dmac_reset_stats_tlv */
    HTT_STATS_MAX_TAG,
@@ -796,6 +808,7 @@ enum htt_h2t_msg_type {
    HTT_H2T_SAWF_DEF_QUEUES_UNMAP_REQ      = 0x1d,
    HTT_H2T_SAWF_DEF_QUEUES_MAP_REPORT_REQ = 0x1e,
    HTT_H2T_MSG_TYPE_MSI_SETUP             = 0x1f,
    HTT_H2T_MSG_TYPE_STREAMING_STATS_REQ   = 0x20,
    /* keep this last */
    HTT_H2T_NUM_MSGS
@@ -5572,7 +5585,15 @@ enum htt_srng_ring_id {
 *                    010 - 128bytes
 *                    100 - 256bytes
 *                    111 - Full mpdu bytes
 *          b'25:31 - rsvd2: Reserved for future use
 *          b'25:26 - rx_hdr_len:
 *                    Specifies the number of bytes of recvd packet to copy
 *                    into the rx_hdr tlv.
 *                    supported values for now by host:
 *                    01 - 64bytes
 *                    10 - 128bytes
 *                    11 - 256bytes
 *                    default - 128 bytes
 *          b'27:31 - rsvd2: Reserved for future use
 * dword2 - b'0:31  - packet_type_enable_flags_0:
 *                    Enable MGMT packet from 0b0000 to 0b1001
 *                    bits from low to high: FP, MD, MO - 3 bits
@@ -5710,7 +5731,8 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
             config_length_mgmt:3,
             config_length_ctrl:3,
             config_length_data:3,
             rsvd2:             7;
             rx_hdr_len:        2,
             rsvd2:             5;
    A_UINT32 packet_type_enable_flags_0;
    A_UINT32 packet_type_enable_flags_1;
    A_UINT32 packet_type_enable_flags_2;
@@ -5873,6 +5895,16 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_CONFIG_LENGTH_DATA_S)); \
            } while (0)
#define HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_M                 0x06000000
#define HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_S                 25
#define HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_GET(_var) \
                (((_var) & HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_M) >> \
                                      HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_S)
#define HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_SET(_var, _val) \
            do { \
                HTT_CHECK_SET_VAL( HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN, _val); \
                ((_var) |= ((_val) << HTT_RX_RING_SELECTION_CFG_RX_HDR_LEN_S));\
            } while(0)
#define HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE_FLAG_0_M     0xffffffff
#define HTT_RX_RING_SELECTION_CFG_PKT_TYPE_ENABLE_FLAG_0_S     0
@@ -6647,6 +6679,9 @@ PREPACK struct htt_rx_ring_selection_cfg_t {
#define HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_PPDU_END_STATUS_DONE_M     0x00001000
#define HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_PPDU_END_STATUS_DONE_S     12
#define HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_PPDU_START_USER_INFO_M      0x00002000
#define HTT_RX_RING_SELECTION_CFG_TLV_FILTER_IN_FLAG_RX_PPDU_START_USER_INFO_S      13
#define HTT_RX_RING_TLV_ENABLE_SET(word, httsym, enable) \
            do { \
                HTT_CHECK_SET_VAL(httsym, enable); \
@@ -7789,7 +7824,7 @@ PREPACK struct htt_tx_monitor_cfg_t {
/**
 * @brief host -> target FW extended statistics retrieve
 * @brief host -> target FW extended statistics request
 *
 * MSG_TYPE => HTT_H2T_MSG_TYPE_EXT_STATS_REQ
 *
@@ -7906,6 +7941,95 @@ PREPACK struct htt_tx_monitor_cfg_t {
        ((_var) |= ((_val) << HTT_H2T_EXT_STATS_REQ_CONFIG_PARAM_S)); \
    } while (0)
/**
 * @brief host -> target FW streaming statistics request
 *
 * MSG_TYPE => HTT_H2T_MSG_TYPE_STREAMING_STATS_REQ
 *
 * @details
 * The following field definitions describe the format of the HTT host
 * to target message that requests the target to start or stop producing
 * ongoing stats of the specified type.
 *
 * |31|30         |23          16|15           8|7            0|
 * |-----------------------------------------------------------|
 * |EN| reserved  | stats type   |    reserved  |   msg type   |
 * |-----------------------------------------------------------|
 * |                   config param [0]                        |
 * |-----------------------------------------------------------|
 * |                   config param [1]                        |
 * |-----------------------------------------------------------|
 * |                   config param [2]                        |
 * |-----------------------------------------------------------|
 * |                   config param [3]                        |
 * |-----------------------------------------------------------|
 * Where:
 *   - EN is an enable/disable flag
 * Header fields:
 *   - MSG_TYPE
 *     Bits 7:0
 *     Purpose: identifies this is a streaming stats upload request message
 *     Value: 0x20 (HTT_H2T_MSG_TYPE_STREAMING_STATS_REQ)
 *   - STATS_TYPE
 *     Bits 23:16
 *     Purpose: identifies which FW statistics to upload
 *     Value: Defined by htt_dbg_ext_stats_type (see htt_stats.h)
 *            Only the htt_dbg_ext_stats_type values identified as streaming
 *            stats are valid to specify in this STEAMING_STATS_REQ message.
 *   - ENABLE
 *     Bit 31
 *     Purpose: enable/disable the target's ongoing stats of the specified type
 *     Value:
 *         0 - disable ongoing production of the specified stats type
 *         1 - enable  ongoing production of the specified stats type
 *   - CONFIG_PARAM [0]
 *     Bits 31:0
 *     Purpose: give an opaque configuration value to the specified stats type
 *     Value: stats-type specific configuration value
 *            Refer to htt_stats.h for interpretation for each stats sub_type
 *   - CONFIG_PARAM [1]
 *     Bits 31:0
 *     Purpose: give an opaque configuration value to the specified stats type
 *     Value: stats-type specific configuration value
 *            Refer to htt_stats.h for interpretation for each stats sub_type
 *   - CONFIG_PARAM [2]
 *     Bits 31:0
 *     Purpose: give an opaque configuration value to the specified stats type
 *     Value: stats-type specific configuration value
 *            Refer to htt_stats.h for interpretation for each stats sub_type
 *   - CONFIG_PARAM [3]
 *     Bits 31:0
 *     Purpose: give an opaque configuration value to the specified stats type
 *     Value: stats-type specific configuration value
 *            Refer to htt_stats.h for interpretation for each stats sub_type
 */
#define HTT_H2T_STREAMING_STATS_REQ_MSG_SZ         20 /* bytes */
#define HTT_H2T_STREAMING_STATS_REQ_STATS_TYPE_M   0x00ff0000
#define HTT_H2T_STREAMING_STATS_REQ_STATS_TYPE_S   16
#define HTT_H2T_STREAMING_STATS_REQ_ENABLE_M       0x80000000
#define HTT_H2T_STREAMING_STATS_REQ_ENABLE_S       31
#define HTT_H2T_STREAMING_STATS_REQ_STATS_TYPE_GET(_var) \
    (((_var) & HTT_H2T_STREAMING_STATS_REQ_STATS_TYPE_M) >>  \
     HTT_H2T_STREAMING_STATS_REQ_STATS_TYPE_S)
#define HTT_H2T_STREAMING_STATS_REQ_STATS_TYPE_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_H2T_STREAMING_STATS_REQ_STATS_TYPE, _val); \
        ((_var) |= ((_val) << HTT_H2T_STREAMING_STATS_REQ_STATS_TYPE_S)); \
    } while (0)
#define HTT_H2T_STREAMING_STATS_REQ_ENABLE_GET(_var) \
    (((_var) & HTT_H2T_STREAMING_STATS_REQ_ENABLE_M) >>  \
     HTT_H2T_STREAMING_STATS_REQ_ENABLE_S)
#define HTT_H2T_STREAMING_STATS_REQ_ENABLE_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_H2T_STREAMING_STATS_REQ_ENABLE, _val); \
        ((_var) |= ((_val) << HTT_H2T_STREAMING_STATS_REQ_ENABLE_S)); \
    } while (0)
/**
 * @brief host -> target FW  PPDU_STATS request message
 *
@@ -9532,8 +9656,11 @@ enum htt_t2h_msg_type {
    HTT_T2H_MSG_TYPE_MLO_RX_PEER_UNMAP             = 0x2a,
    HTT_T2H_MSG_TYPE_PEER_MAP_V3                   = 0x2b,
    HTT_T2H_MSG_TYPE_VDEVS_TXRX_STATS_PERIODIC_IND = 0x2c,
    HTT_T2H_SAWF_DEF_QUEUES_MAP_REPORT_CONF        = 0x2d,
    HTT_T2H_SAWF_MSDUQ_INFO_IND                    = 0x2e,
    HTT_T2H_MSG_TYPE_SAWF_DEF_QUEUES_MAP_REPORT_CONF = 0x2d,
        HTT_T2H_SAWF_DEF_QUEUES_MAP_REPORT_CONF    = 0x2d, /* alias */
    HTT_T2H_MSG_TYPE_SAWF_MSDUQ_INFO_IND           = 0x2e,
        HTT_T2H_SAWF_MSDUQ_INFO_IND                = 0x2e, /* alias */
    HTT_T2H_MSG_TYPE_STREAMING_STATS_IND           = 0x2f,
    HTT_T2H_MSG_TYPE_TEST,
@@ -15919,6 +16046,40 @@ typedef struct {
    (((word) & HTT_T2H_EXT_STATS_CONF_TLV_LENGTH_M) >> \
    HTT_T2H_EXT_STATS_CONF_TLV_LENGTH_S)
/**
 * @brief target -> host streaming statistics upload
 *
 * MSG_TYPE => HTT_T2H_MSG_TYPE_STREAMING_STATS_IND
 *
 * @details
 * The following field definitions describe the format of the HTT target
 * to host streaming stats upload indication message.
 * The host can use a STREAMING_STATS_REQ message to enable the target to
 * produce an ongoing series of STREAMING_STATS_IND messages, and can also
 * use the STREAMING_STATS_REQ message to halt the target's production of
 * STREAMING_STATS_IND messages.
 * The STREAMING_STATS_IND message contains a payload of TLVs containing
 * the stats enabled by the host's STREAMING_STATS_REQ message.
 *
 * |31                                           8|7             0|
 * |--------------------------------------------------------------|
 * |                   reserved                   |    msg type   |
 * |--------------------------------------------------------------|
 * |                   type-specific stats info                   |
 * |                      (see htt_stats.h)                       |
 * |--------------------------------------------------------------|
 * Header fields:
 *  - MSG_TYPE
 *    Bits 7:0
 *    Purpose: Identifies this as a streaming statistics upload indication
 *             message.
 *    Value: 0x2f (HTT_T2H_MSG_TYPE_STREAMING_STATS_IND)
 */
#define HTT_T2H_STREAMING_STATS_IND_HDR_SIZE 4
typedef enum {
    HTT_PEER_TYPE_DEFAULT = 0,    /* Generic/Non-BSS/Self Peer */
    HTT_PEER_TYPE_BSS = 1,        /* Peer is BSS Peer entry */
@@ -17996,6 +18157,14 @@ typedef struct {
    /* discarded tx msdus byte cnt coz of time to live expiry */
    A_UINT32 tx_msdu_ttl_expire_drop_byte_cnt_lo;
    A_UINT32 tx_msdu_ttl_expire_drop_byte_cnt_hi;
    /* TQM bypass frame cnt */
    A_UINT32 tqm_bypass_frame_cnt_lo;
    A_UINT32 tqm_bypass_frame_cnt_hi;
    /* TQM bypass byte cnt */
    A_UINT32 tqm_bypass_byte_cnt_lo;
    A_UINT32 tqm_bypass_byte_cnt_hi;
} htt_t2h_vdev_txrx_stats_hw_stats_tlv;
/*
@@ -18231,5 +18400,16 @@ PREPACK struct htt_t2h_sawf_msduq_event {
        ((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_AST_LIST_IDX_S)); \
    } while (0)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_M              0x00FFFFFF
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_S                       0
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_GET(_var) \
    (((_var) & HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID) >> \
     HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_S)
#define HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_SET(_var, _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID, _val); \
        ((_var) |= ((_val) << HTT_T2H_SAWF_MSDUQ_INFO_HTT_TGT_OPAQUE_ID_S)); \
    } while (0)
#endif
+142 −3
Original line number Diff line number Diff line
@@ -1571,6 +1571,144 @@ typedef enum HTT_PPDU_STATS_RESP_PPDU_TYPE HTT_PPDU_STATS_RESP_PPDU_TYPE;
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_PPDU_TYPE_S)); \
     } while (0)

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_M        0x0000f000
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_S                12

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_FORMAT_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_RU_END_M           0x0000ffff
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_END_S                    0

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_END_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_END_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RU_END_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_END_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_END, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_END_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_RU_START_M         0xffff0000
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_START_S                 16

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_START_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_START_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RU_START_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_START_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_START, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_START_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_M         0x0000ffff
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_S                  0

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_INDEX_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_M          0xffff0000
#define HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_S                  16

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RU_SIZE_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_M      0x0000ffff
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_S               0

#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_END_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_M    0xffff0000
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_S            16

#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_START_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_M    0x0000ffff
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_S             0

#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_INDEX_S)); \
     } while (0)


#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_M     0xffff0000
#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_S             16

#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE, _val); \
         ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_RESP_RU_SIZE_S)); \
     } while (0)

#define HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_M  0x0000ffff
#define HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_S           0

#define HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_GET(_var) \
    (((_var) & HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_M) >> \
    HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_S)

#define HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_SET (_var , _val) \
    do { \
        HTT_CHECK_SET_VAL(HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP, _val); \
        ((_var) |= ((_val) << HTT_PPDU_STATS_USER_RATE_TLV_PUNC_PATTERN_BITMAP_S)); \
    } while (0)

typedef enum HTT_PPDU_STATS_RU_SIZE {
    HTT_PPDU_STATS_RU_26,
    HTT_PPDU_STATS_RU_52,
@@ -1754,10 +1892,11 @@ typedef struct {
    };

    /*
     * This is an unused word that can be safely renamed / used
     * by any future feature.
     * BIT [15:0]  :- Punctured BW bitmap pattern to indicate which BWs are
     *                punctured.
     */
    A_UINT32 reserved4;
    A_UINT32 punc_pattern_bitmap: 16,
             reserved4:           16;
} htt_ppdu_stats_user_rate_tlv;

#define HTT_PPDU_STATS_USR_RATE_VALID_M     0x80000000
+495 −21

File changed.

Preview size limit exceeded, changes collapsed.

+200 −2

File changed.

Preview size limit exceeded, changes collapsed.

+8 −0
Original line number Diff line number Diff line
@@ -579,6 +579,14 @@ typedef enum {
    WMI_SERVICE_BIOS_SAR_SUPPORT = 326, /* FW support for SAR parameter stored in BIOS */
    WMI_SERVICE_REO_QREF_SUPPORT = 327, /* FW supports REO QREF */
    WMI_SERVICE_DELETE_ALL_PEER_BITMAP_SUPPORT = 328, /* target supports cmd to delete all specific peer type within a vdev */
    WMI_SERVICE_PN_REPLAY_CHECK_SUPPORT = 329, /* FW support to check RX mgmt frames has invalid PN in packets */
    WMI_SERVICE_COMBINED_SET_PARAM_SUPPORT = 330, /* FW Supporting set param cmd combined for multiple params */
    WMI_SERVICE_PDEV_RSSI_DBM_CONV_EVENT_SUPPORT = 331, /* FW supports advertising RSSI dB to dBm conversion params to host via WMI_PDEV_RSSI_DBM_CONVERSION_PARAMS_INFO_EVENTID */
    WMI_SERVICE_PDEV_TELEMETRY_STATS_SUPPORT = 332,
    WMI_SERVICE_ROAM_STAT_PER_CANDIDATE_FRAME_INFO_SUPPORT = 333, /* FW supports to send frame info for each candidate in roam stat */
    WMI_SERVICE_HW_TX_POWER_CAPS_SIGNED_SUPPORT = 334, /* Indicates FW supports updating of Tx power capabilities as signed value */
    WMI_SERVICE_MULTI_CLIENT_LL_SUPPORT = 335, /* FW supports set param cmd combined for multiple params */
    WMI_SERVICE_AFC_PAYLOAD_CLEAR_SUPPORT = 336, /* FW supports clearing the AFC response payload in proxy mode */

    WMI_MAX_EXT2_SERVICE

Loading