MAINTAINERS: Remove Noralf Trønnes as driver maintainer
[drm/drm-misc.git] / drivers / net / wireless / mediatek / mt76 / mt7915 / mac.h
blob448b1b38019097e9ab7970096a271afc43d43b43
1 /* SPDX-License-Identifier: ISC */
2 /* Copyright (C) 2020 MediaTek Inc. */
4 #ifndef __MT7915_MAC_H
5 #define __MT7915_MAC_H
7 #include "../mt76_connac2_mac.h"
9 #define MT_TX_FREE_VER GENMASK(18, 16)
10 #define MT_TX_FREE_MSDU_CNT_V0 GENMASK(6, 0)
11 /* 0: success, others: dropped */
12 #define MT_TX_FREE_COUNT GENMASK(12, 0)
13 #define MT_TX_FREE_COUNT_V3 GENMASK(27, 24)
14 #define MT_TX_FREE_STAT GENMASK(14, 13)
15 #define MT_TX_FREE_STAT_V3 GENMASK(29, 28)
16 #define MT_TX_FREE_MPDU_HEADER BIT(15)
17 #define MT_TX_FREE_MPDU_HEADER_V3 BIT(30)
18 #define MT_TX_FREE_MSDU_ID_V3 GENMASK(14, 0)
20 #define MT_TXS5_F0_FINAL_MPDU BIT(31)
21 #define MT_TXS5_F0_QOS BIT(30)
22 #define MT_TXS5_F0_TX_COUNT GENMASK(29, 25)
23 #define MT_TXS5_F0_FRONT_TIME GENMASK(24, 0)
24 #define MT_TXS5_F1_MPDU_TX_COUNT GENMASK(31, 24)
25 #define MT_TXS5_F1_MPDU_TX_BYTES GENMASK(23, 0)
27 #define MT_TXS6_F0_NOISE_3 GENMASK(31, 24)
28 #define MT_TXS6_F0_NOISE_2 GENMASK(23, 16)
29 #define MT_TXS6_F0_NOISE_1 GENMASK(15, 8)
30 #define MT_TXS6_F0_NOISE_0 GENMASK(7, 0)
31 #define MT_TXS6_F1_MPDU_FAIL_COUNT GENMASK(31, 24)
32 #define MT_TXS6_F1_MPDU_FAIL_BYTES GENMASK(23, 0)
34 #define MT_TXS7_F0_RCPI_3 GENMASK(31, 24)
35 #define MT_TXS7_F0_RCPI_2 GENMASK(23, 16)
36 #define MT_TXS7_F0_RCPI_1 GENMASK(15, 8)
37 #define MT_TXS7_F0_RCPI_0 GENMASK(7, 0)
38 #define MT_TXS7_F1_MPDU_RETRY_COUNT GENMASK(31, 24)
39 #define MT_TXS7_F1_MPDU_RETRY_BYTES GENMASK(23, 0)
41 struct mt7915_dfs_pulse {
42 u32 max_width; /* us */
43 int max_pwr; /* dbm */
44 int min_pwr; /* dbm */
45 u32 min_stgr_pri; /* us */
46 u32 max_stgr_pri; /* us */
47 u32 min_cr_pri; /* us */
48 u32 max_cr_pri; /* us */
51 struct mt7915_dfs_pattern {
52 u8 enb;
53 u8 stgr;
54 u8 min_crpn;
55 u8 max_crpn;
56 u8 min_crpr;
57 u8 min_pw;
58 u32 min_pri;
59 u32 max_pri;
60 u8 max_pw;
61 u8 min_crbn;
62 u8 max_crbn;
63 u8 min_stgpn;
64 u8 max_stgpn;
65 u8 min_stgpr;
66 u8 rsv[2];
67 u32 min_stgpr_diff;
68 } __packed;
70 struct mt7915_dfs_radar_spec {
71 struct mt7915_dfs_pulse pulse_th;
72 struct mt7915_dfs_pattern radar_pattern[16];
75 #endif