0001
0002
0003
0004 #ifndef __MT7921_MAC_H
0005 #define __MT7921_MAC_H
0006
0007 #include "../mt76_connac2_mac.h"
0008
0009 #define MT_CT_PARSE_LEN 72
0010 #define MT_CT_DMA_BUF_NUM 2
0011
0012 #define MT_RXD0_LENGTH GENMASK(15, 0)
0013 #define MT_RXD0_PKT_FLAG GENMASK(19, 16)
0014 #define MT_RXD0_PKT_TYPE GENMASK(31, 27)
0015
0016 #define MT_RXD0_NORMAL_ETH_TYPE_OFS GENMASK(22, 16)
0017 #define MT_RXD0_NORMAL_IP_SUM BIT(23)
0018 #define MT_RXD0_NORMAL_UDP_TCP_SUM BIT(24)
0019
0020 enum rx_pkt_type {
0021 PKT_TYPE_TXS,
0022 PKT_TYPE_TXRXV,
0023 PKT_TYPE_NORMAL,
0024 PKT_TYPE_RX_DUP_RFB,
0025 PKT_TYPE_RX_TMR,
0026 PKT_TYPE_RETRIEVE,
0027 PKT_TYPE_TXRX_NOTIFY,
0028 PKT_TYPE_RX_EVENT,
0029 PKT_TYPE_NORMAL_MCU,
0030 };
0031
0032 #define MT_TX_FREE_MSDU_CNT GENMASK(9, 0)
0033 #define MT_TX_FREE_WLAN_ID GENMASK(23, 14)
0034 #define MT_TX_FREE_LATENCY GENMASK(12, 0)
0035
0036 #define MT_TX_FREE_STATUS GENMASK(14, 13)
0037 #define MT_TX_FREE_MSDU_ID GENMASK(30, 16)
0038 #define MT_TX_FREE_PAIR BIT(31)
0039
0040 #define MT_TX_FREE_RATE GENMASK(13, 0)
0041
0042 #define MT_WTBL_TXRX_CAP_RATE_OFFSET 7
0043 #define MT_WTBL_TXRX_RATE_G2_HE 24
0044 #define MT_WTBL_TXRX_RATE_G2 12
0045
0046 #define MT_WTBL_AC0_CTT_OFFSET 20
0047
0048 static inline u32 mt7921_mac_wtbl_lmac_addr(int idx, u8 offset)
0049 {
0050 return MT_WTBL_LMAC_OFFS(idx, 0) + offset * 4;
0051 }
0052
0053 #endif