Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: ISC */
0002 /* Copyright (C) 2020 MediaTek Inc. */
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 /* 0: success, others: dropped */
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 /* will support this field in further revision */
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