hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#ifndef _MAC_TXCCXRPT_H_
#define _MAC_TXCCXRPT_H_
 
/* dword0 */
#define TXCCXRPT_RPT_SEL_SH        0
#define TXCCXRPT_RPT_SEL_MSK        0x1f
#define TXCCXRPT_POLLUTED        BIT(5)
#define TXCCXRPT_TX_STATE_SH        6
#define TXCCXRPT_TX_STATE_MSK        0x3
#define TXCCXRPT_SW_DEFINE_SH        8
#define TXCCXRPT_SW_DEFINE_MSK        0xf
#define TXCCXRPT_TRY_RATE        BIT(14)
#define TXCCXRPT_FIXRATE        BIT(15)
#define TXCCXRPT_MACID_SH        16
#define TXCCXRPT_MACID_MSK        0x7f
#define TXCCXRPT_QSEL_SH        24
#define TXCCXRPT_QSEL_MSK        0x3f
#define TXCCXRPT_TXOP_START        BIT(31)
 
/* dword1 */
#define TXCCXRPT_QUEUE_TIME_SH        0
#define TXCCXRPT_QUEUE_TIME_MSK        0xffff
#define TXCCXRPT_ACCTXTIME_SH        16
#define TXCCXRPT_ACCTXTIME_MSK        0xff
#define TXCCXRPT_BMC        BIT(29)
#define TXCCXRPT_BITMAP_SHORT_SH        30
#define TXCCXRPT_BITMAP_SHORT_MSK        0x3
 
/* dword2 */
#define TXCCXRPT_FINAL_RATE_SH        0
#define TXCCXRPT_FINAL_RATE_MSK        0x1ff
#define TXCCXRPT_FINAL_GI_LTF_SH        9
#define TXCCXRPT_FINAL_GI_LTF_MSK        0x7
#define TXCCXRPT_DATA_BW_SH        12
#define TXCCXRPT_DATA_BW_MSK        0x3
#define TXCCXRPT_MU2SU        BIT(14)
#define TXCCXRPT_MU_LMT        BIT(15)
#define TXCCXRPT_FINAL_RTS_RATE_SH        16
#define TXCCXRPT_FINAL_RTS_RATE_MSK        0x1ff
#define TXCCXRPT_FINAL_RTS_GI_LTF_SH        25
#define TXCCXRPT_FINAL_RTS_GI_LTF_MSK        0x7
#define TXCCXRPT_RTS_TX_STATE_SH        28
#define TXCCXRPT_RTS_TX_STATE_MSK        0x3
#define TXCCXRPT_COLLISION_HEAD        BIT(30)
#define TXCCXRPT_COLLISION_TAIL        BIT(31)
 
/* dword3 */
#define TXCCXRPT_TOTAL_PKT_NUM_SH        0
#define TXCCXRPT_TOTAL_PKT_NUM_MSK        0xff
#define TXCCXRPT_DATA_TX_CNT_SH        8
#define TXCCXRPT_DATA_TX_CNT_MSK        0x3f
#define TXCCXRPT_BPRI        BIT(14)
#define TXCCXRPT_BBAR        BIT(15)
#define TXCCXRPT_PKT_OK_NUM_SH        16
#define TXCCXRPT_PKT_OK_NUM_MSK        0xff
#define TXCCXRPT_RTS_TX_COUNT_SH        24
#define TXCCXRPT_RTS_TX_COUNT_MSK        0x3f
 
/* dword4 */
#define TXCCXRPT_INIT_RATE_SH        0
#define TXCCXRPT_INIT_RATE_MSK        0x1ff
#define TXCCXRPT_INIT_GI_LTF_SH        9
#define TXCCXRPT_INIT_GI_LTF_MSK        0x7
#define TXCCXRPT_PPDU_TYPE_SH        12
#define TXCCXRPT_PPDU_TYPE_MSK        0x3
#define TXCCXRPT_HE_TB_PPDU_FLAG        BIT(14)
#define TXCCXRPT_PPDU_FST_RPT        BIT(15)
#define TXCCXRPT_SU_TXPWR_SH        16
#define TXCCXRPT_SU_TXPWR_MSK        0x3f
#define TXCCXRPT_DIFF_PKT_NUM_SH        24
#define TXCCXRPT_DIFF_PKT_NUM_MSK        0xf
#define TXCCXRPT_USER_DEFINE_EXT_L_SH        28
#define TXCCXRPT_USER_DEFINE_EXT_L_MSK        0xf
 
/* dword5 */
#define TXCCXRPT_USER_DEFINE_SH        0
#define TXCCXRPT_USER_DEFINE_MSK        0xff
#define TXCCXRPT_FW_DEFINE_SH        8
#define TXCCXRPT_FW_DEFINE_MSK        0xff
#define TXCCXRPT_TXPWR_PD_SH        16
#define TXCCXRPT_TXPWR_PD_MSK        0x1f
#define TXCCXRPT_BSR        BIT(21)
#define TXCCXRPT_SR_RX_COUNT_SH        24
#define TXCCXRPT_SR_RX_COUNT_MSK        0xf
#define TXCCXRPT_USER_DEFINE_EXT_H_SH        28
#define TXCCXRPT_USER_DEFINE_EXT_H_MSK        0xf
 
struct mac_ccxrpt {
   /* dword 0 */
   u32 rpt_sel:5;
   u32 polluted:1;
   u32 tx_state:2;
   u32 sw_define:4;
   u32 rsvd0:2;
   u32 try_rate:1;
   u32 fixrate:1;
   u32 macid:7;
   u32 rsvd1:1;
   u32 qsel:6;
   u32 rsvd2:1;
   u32 txop_start:1;
   /* dword 1 */
   u32 queue_time:16;
   u32 acctxtime:8;
   u32 rsvd3:5;
   u32 bmc:1;
   u32 bitmap_short:2;
   /* dword 2 */
   u32 final_rate:9;
   u32 final_gi_ltf:3;
   u32 data_bw:2;
   u32 mu2su:1;
   u32 mu_lmt:1;
   u32 final_rts_rate:9;
   u32 final_rts_gi_ltf:3;
   u32 rts_tx_state:2;
   u32 collision_head:1;
   u32 collision_tail:1;
   /* dword 3 */
   u32 total_pkt_num:8;
   u32 data_tx_cnt:6;
   u32 bpri:1;
   u32 bbar:1;
   u32 pkt_ok_num:8;
   u32 rts_tx_count:6;
   u32 rsvd4:2;
   /* dword 4 */
   u32 init_rate:9;
   u32 init_gi_ltf:3;
   u32 ppdu_type:2;
   u32 he_tb_ppdu_flag:1;
   u32 ppdu_fst_rpt:1;
   u32 su_txpwr:6;
   u32 rsvd5:2;
   u32 diff_pkt_num:4;
   u32 user_define_ext_l:4;
   /* dword 5 */
   u32 user_define:8;
   u32 fw_define:8;
   u32 txpwr_pd:5;
   u32 bsr:1;
   u32 rsvd6:2;
   u32 sr_rx_count:4;
   u32 user_define_ext_h:4;
};
#endif