Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/contrib/dev/mediatek/mt76/mt7915/mac.h
48525 views
1
/* SPDX-License-Identifier: ISC */
2
/* Copyright (C) 2020 MediaTek Inc. */
3
4
#ifndef __MT7915_MAC_H
5
#define __MT7915_MAC_H
6
7
#include "../mt76_connac2_mac.h"
8
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)
19
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)
26
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)
33
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)
40
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 */
49
};
50
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;
69
70
struct mt7915_dfs_radar_spec {
71
struct mt7915_dfs_pulse pulse_th;
72
struct mt7915_dfs_pattern radar_pattern[16];
73
};
74
75
#endif
76
77