Loading fw/htt.h +62 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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) \ Loading Loading @@ -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 Loading @@ -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 Loading @@ -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) \ Loading Loading @@ -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, Loading Loading @@ -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 Loading @@ -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) \ Loading Loading @@ -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 Loading Loading
fw/htt.h +62 −5 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading @@ -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) \ Loading Loading @@ -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 Loading @@ -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 Loading @@ -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) \ Loading Loading @@ -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, Loading Loading @@ -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 Loading @@ -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) \ Loading Loading @@ -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 Loading