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

Commit 222ac461 authored by spuligil's avatar spuligil Committed by Rahul Choudhary
Browse files

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

HTT: add transmit count field in tx_wbm_completion structs
Change-Id: Id32dbf9ea0c17a2c04b490dfa5b1a2173c47d6d3
CRs-Fixed: 2262693
parent d868e3af
Loading
Loading
Loading
Loading
+62 −5
Original line number Diff line number Diff line
@@ -252,9 +252,10 @@
 * 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.
 * 3.127 Add transmit_count fields in htt_tx_wbm_completion_vX structs.
 */
#define HTT_CURRENT_VERSION_MAJOR 3
#define HTT_CURRENT_VERSION_MINOR 126
#define HTT_CURRENT_VERSION_MINOR 127
#define HTT_NUM_TX_FRAG_DESC  1024
@@ -2878,7 +2879,8 @@ PREPACK struct htt_tx_wbm_completion_v2 {
        tx_status:              4, /* Takes enum values of htt_tx_fw2wbm_tx_status_t */
        reinject_reason:        4, /* Takes enum values of htt_tx_fw2wbm_reinject_reason_t */
        exception_frame:        1,
        rsvd0:                 12, /* For future use */
        transmit_count:         7, /* Refer to struct wbm_release_ring */
        rsvd0:                  5, /* For future use */
        used_by_hw4:            1, /* wbm_internal_error bit being used by HW */
        rsvd1:                  1; /* For future use */
    A_UINT32
@@ -2904,6 +2906,8 @@ PREPACK struct htt_tx_wbm_completion_v2 {
#define HTT_TX_WBM_COMPLETION_V2_REINJECT_REASON_S           13
#define HTT_TX_WBM_COMPLETION_V2_EXP_FRAME_M                 0x00020000
#define HTT_TX_WBM_COMPLETION_V2_EXP_FRAME_S                 17
#define HTT_TX_WBM_COMPLETION_V2_TRANSMIT_COUNT_M            0x01FC0000
#define HTT_TX_WBM_COMPLETION_V2_TRANSMIT_COUNT_S            18
/* DWORD 3 */
#define HTT_TX_WBM_COMPLETION_V2_TX_STATUS_GET(_var) \
@@ -2936,6 +2940,16 @@ PREPACK struct htt_tx_wbm_completion_v2 {
         ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_EXP_FRAME_S)); \
     } while (0)
#define HTT_TX_WBM_COMPLETION_V2_TRANSMIT_COUNT_GET(_var) \
     (((_var) & HTT_TX_WBM_COMPLETION_V2_TRANSMIT_COUNT_M) >> \
    HTT_TX_WBM_COMPLETION_V2_TRANSMIT_COUNT_S)
#define HTT_TX_WBM_COMPLETION_V2_TRANSMIT_COUNT_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_TX_WBM_COMPLETION_V2_TRANSMIT_COUNT, _val); \
         ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_TRANSMIT_COUNT_S)); \
     } while (0)
/**
 * @brief HTT TX WBM Completion from firmware to host (V3)
 * @details
@@ -2961,7 +2975,8 @@ PREPACK struct htt_tx_wbm_completion_v3 {
    A_UINT32
        reinject_reason:       4,  /* Takes enum values of htt_tx_fw2wbm_reinject_reason_t */
        exception_frame:       1,
        rsvd0:                 27; /* For future use */
        transmit_count:        7, /* Refer to struct wbm_release_ring */
        rsvd0:                 20; /* For future use */
    A_UINT32
        data0:                 32; /* data0,1 and 2 changes based on tx_status type
                                    * if HTT_TX_FW2WBM_TX_STATUS_OK or HTT_TX_FW2WBM_TX_STATUS_DROP
@@ -2978,13 +2993,17 @@ PREPACK struct htt_tx_wbm_completion_v3 {
        used_by_hw4:           12; /* Refer to struct wbm_release_ring */
} POSTPACK;
/* DWORD 3 */
#define HTT_TX_WBM_COMPLETION_V3_TX_STATUS_M                 0x0001E000
#define HTT_TX_WBM_COMPLETION_V3_TX_STATUS_S                 13
/* DWORD 4 */
#define HTT_TX_WBM_COMPLETION_V3_REINJECT_REASON_M           0x0000000F
#define HTT_TX_WBM_COMPLETION_V3_REINJECT_REASON_S           0
#define HTT_TX_WBM_COMPLETION_V3_EXP_FRAME_M                 0x00000010
#define HTT_TX_WBM_COMPLETION_V3_EXP_FRAME_S                 4
#define HTT_TX_WBM_COMPLETION_V3_TRANSMIT_COUNT_M            0x00000FE0
#define HTT_TX_WBM_COMPLETION_V3_TRANSMIT_COUNT_S            5
#define HTT_TX_WBM_COMPLETION_V3_TX_STATUS_GET(_var) \
@@ -3017,6 +3036,16 @@ PREPACK struct htt_tx_wbm_completion_v3 {
         ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V3_EXP_FRAME_S)); \
     } while (0)
#define HTT_TX_WBM_COMPLETION_V3_TRANSMIT_COUNT_GET(_var) \
    (((_var) & HTT_TX_WBM_COMPLETION_V3_TRANSMIT_COUNT_M) >> \
    HTT_TX_WBM_COMPLETION_V3_TRANSMIT_COUNT_S)
#define HTT_TX_WBM_COMPLETION_V3_TRANSMIT_COUNT_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_TX_WBM_COMPLETION_V3_TRANSMIT_COUNT, _val); \
         ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V3_TRANSMIT_COUNT_S)); \
     } while (0)
typedef enum {
    TX_FRAME_TYPE_UNDEFINED = 0,
@@ -3057,7 +3086,11 @@ PREPACK struct htt_tx_wbm_transmit_status {
                              * contains valid data.
                              */
       frame_type:       4,  /* holds htt_tx_wbm_status_frame_type value */
       reserved:         4;
       transmit_count_valid: 1, /* If this "transmit_count_valid" is set, the
                                 * transmit_count field in struct
                                 * htt_tx_wbm_completion_vx has valid data.
                                 */
       reserved:         3;
   A_UINT32
       ppdu_start_tsf:  32;  /* PPDU Start timestamp added for multicast
                              * packets in the wbm completion path
@@ -3081,6 +3114,10 @@ PREPACK struct htt_tx_wbm_transmit_status {
#define HTT_TX_WBM_COMPLETION_V2_MCAST_S               22
#define HTT_TX_WBM_COMPLETION_V2_MCAST_VALID_M         0x00800000
#define HTT_TX_WBM_COMPLETION_V2_MCAST_VALID_S         23
#define HTT_TX_WBM_COMPLETION_V2_FRAME_TYPE_M          0x0F000000
#define HTT_TX_WBM_COMPLETION_V2_FRAME_TYPE_S          24
#define HTT_TX_WBM_COMPLETION_V2_TRANSMIT_CNT_VALID_M  0x10000000
#define HTT_TX_WBM_COMPLETION_V2_TRANSMIT_CNT_VALID_S  28
/* DWORD 4 */
#define HTT_TX_WBM_COMPLETION_V2_SCH_CMD_ID_GET(_var) \
@@ -3154,6 +3191,26 @@ PREPACK struct htt_tx_wbm_transmit_status {
         ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_MCAST_VALID_S)); \
     } while (0)
#define HTT_TX_WBM_COMPLETION_V2_FRAME_TYPE_GET(_var) \
    (((_var) & HTT_TX_WBM_COMPLETION_V2_FRAME_TYPE_M) >> \
    HTT_TX_WBM_COMPLETION_V2_FRAME_TYPE_S)
#define HTT_TX_WBM_COMPLETION_V2_FRAME_TYPE_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_TX_WBM_COMPLETION_V2_FRAME_TYPE, _val); \
         ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_FRAME_TYPE_S)); \
#define HTT_TX_WBM_COMPLETION_V2_TRANSMIT_CNT_VALID_GET(_var) \
    (((_var) & HTT_TX_WBM_COMPLETION_V2_TRANSMIT_CNT_VALID_M) >> \
    HTT_TX_WBM_COMPLETION_V2_TRANSMIT_CNT_VALID_S)
#define HTT_TX_WBM_COMPLETION_V2_TRANSMIT_CNT_VALID_SET(_var, _val) \
     do { \
         HTT_CHECK_SET_VAL(HTT_TX_WBM_COMPLETION_V2_MCAST_VALID, _val); \
         ((_var) |= ((_val) << HTT_TX_WBM_COMPLETION_V2_TRANSMIT_CNT_VALID_S)); \
     } while (0)
/**
 * @brief HTT TX WBM reinject status from firmware to host
 * @details