|
@@ -208,9 +208,10 @@
|
|
|
* 3.84 Add fisa_control_bits_v2 def.
|
|
|
* 3.85 Add HTT_RX_PEER_META_DATA defs.
|
|
|
* 3.86 Add HTT_T2H_MSG_TYPE_FSE_CMEM_BASE_SEND def.
|
|
|
+ * 3.87 Add on-chip AST index field to PEER_MAP_V2 msg.
|
|
|
*/
|
|
|
#define HTT_CURRENT_VERSION_MAJOR 3
|
|
|
-#define HTT_CURRENT_VERSION_MINOR 86
|
|
|
+#define HTT_CURRENT_VERSION_MINOR 87
|
|
|
|
|
|
#define HTT_NUM_TX_FRAG_DESC 1024
|
|
|
|
|
@@ -9181,27 +9182,28 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|
|
* AST 3, check the AST_VALID_MASK(3) to see if the corresponding extension
|
|
|
* AST is valid.
|
|
|
*
|
|
|
- * |31 28|27 24|23 20|19 17|16|15 8|7 0|
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
- * | SW peer ID | VDEV ID | msg type |
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
- * | MAC addr 3 | MAC addr 2 | MAC addr 1 | MAC addr 0 |
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
- * | HW peer ID / AST index 0 | MAC addr 5 | MAC addr 4 |
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
- * | Reserved_20_31 |ASTVM|NH| AST Hash Value |
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
- * | ASTFM3 | ASTFM2 | ASTFM1 | ASTFM0 | AST index 1 |
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
- * |TID valid low pri| TID valid hi pri| AST index 2 |
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
- * | Reserved_1 | AST index 3 |
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
- * | Reserved_2 |
|
|
|
- * |-----------------------------------------------------------------------|
|
|
|
+ * |31 28|27 24|23 21|20|19 17|16|15 8|7 0|
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
+ * | SW peer ID | VDEV ID | msg type |
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
+ * | MAC addr 3 | MAC addr 2 | MAC addr 1 | MAC addr 0 |
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
+ * | HW peer ID / AST index 0 | MAC addr 5 | MAC addr 4 |
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
+ * | Reserved_21_31 |OA|ASTVM|NH| AST Hash Value |
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
+ * | ASTFM3 | ASTFM2 | ASTFM1 | ASTFM0 | AST index 1 |
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
+ * |TID valid low pri| TID valid hi pri | AST index 2 |
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
+ * | LMAC/PMAC_RXPCU AST index | AST index 3 |
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
+ * | Reserved_2 |
|
|
|
+ * |-------------------------------------------------------------------------|
|
|
|
* Where:
|
|
|
* NH = Next Hop
|
|
|
* ASTVM = AST valid mask
|
|
|
+ * OA = on-chip AST valid bit
|
|
|
* ASTFM = AST flow mask
|
|
|
*
|
|
|
* The following field definitions describe the format of the rx peer map v2
|
|
@@ -9244,6 +9246,10 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|
|
* - AST_VALID_MASK
|
|
|
* Bits 19:17
|
|
|
* Purpose: Indicate if the AST 1 through AST 3 are valid
|
|
|
+ * - ONCHIP_AST_VALID_FLAG
|
|
|
+ * Bit 20
|
|
|
+ * Purpose: Indicate if the on-chip AST index field (ONCHIP_AST_IDX)
|
|
|
+ * is valid.
|
|
|
* - AST_INDEX_1
|
|
|
* Bits 15:0
|
|
|
* Purpose: indicate the second AST index for this peer
|
|
@@ -9271,6 +9277,13 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|
|
* - AST_INDEX_3
|
|
|
* Bits 15:0
|
|
|
* Purpose: indicate the fourth AST index for this peer
|
|
|
+ * - ONCHIP_AST_IDX / RESERVED
|
|
|
+ * Bits 31:16
|
|
|
+ * Purpose: This field is valid only when split AST feature is enabled.
|
|
|
+ * The ONCHIP_AST_VALID_FLAG identifies whether this field is valid.
|
|
|
+ * If valid, identifies the HW peer ID corresponding to the peer MAC
|
|
|
+ * address, this ast_idx is used for LMAC modules for RXPCU.
|
|
|
+ * Value: ID used by the LMAC HW to identify the peer
|
|
|
*/
|
|
|
#define HTT_RX_PEER_MAP_V2_VDEV_ID_M 0xff00
|
|
|
#define HTT_RX_PEER_MAP_V2_VDEV_ID_S 8
|
|
@@ -9289,6 +9302,9 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_M 0x000e0000
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_S 17
|
|
|
|
|
|
+#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M 0x00100000
|
|
|
+#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S 20
|
|
|
+
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_M 0xffff
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_S 0
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_0_FLOW_MASK_M 0x000f0000
|
|
@@ -9310,6 +9326,9 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_3_M 0xffff
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_3_S 0
|
|
|
|
|
|
+#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M 0xffff0000
|
|
|
+#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S 16
|
|
|
+
|
|
|
#define HTT_RX_PEER_MAP_V2_VDEV_ID_SET(word, value) \
|
|
|
do { \
|
|
|
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_VDEV_ID, value); \
|
|
@@ -9342,6 +9361,14 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_GET(word) \
|
|
|
(((word) & HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_M) >> HTT_RX_PEER_MAP_V2_AST_HASH_VALUE_S)
|
|
|
|
|
|
+#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_SET(word, value) \
|
|
|
+ do { \
|
|
|
+ HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M, value); \
|
|
|
+ (word) |= (value) << HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S; \
|
|
|
+ } while (0)
|
|
|
+#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_GET(word) \
|
|
|
+ (((word) & HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_M) >> HTT_RX_PEER_MAP_V2_ONCHIP_AST_HASH_VALUE_S)
|
|
|
+
|
|
|
#define HTT_RX_PEER_MAP_V2_NEXT_HOP_SET(word, value) \
|
|
|
do { \
|
|
|
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_NEXT_HOP, value); \
|
|
@@ -9358,6 +9385,14 @@ PREPACK struct htt_tx_offload_deliver_ind_hdr_t
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_VALID_MASK_GET(word) \
|
|
|
(((word) & HTT_RX_PEER_MAP_V2_AST_VALID_MASK_M) >> HTT_RX_PEER_MAP_V2_AST_VALID_MASK_S)
|
|
|
|
|
|
+#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_SET(word, value) \
|
|
|
+ do { \
|
|
|
+ HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M, value); \
|
|
|
+ (word) |= (value) << HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S; \
|
|
|
+ } while (0)
|
|
|
+#define HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_MASK_GET(word) \
|
|
|
+ (((word) & HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_M) >> HTT_RX_PEER_MAP_V2_ONCHIP_AST_VALID_FLAG_S)
|
|
|
+
|
|
|
#define HTT_RX_PEER_MAP_V2_AST_INDEX_1_SET(word, value) \
|
|
|
do { \
|
|
|
HTT_CHECK_SET_VAL(HTT_RX_PEER_MAP_V2_AST_INDEX_1, value); \
|