1 /*
2  * Copyright (c) 2021 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef _HAL_TX_HW_DEFINES_H_
20 #define _HAL_TX_HW_DEFINES_H_
21 
22 #define HAL_TX_MSDU_EXTENSION_TSO_ENABLE_OFFSET		0x00000000
23 #define HAL_TX_MSDU_EXTENSION_TSO_ENABLE_LSB		0
24 #define HAL_TX_MSDU_EXTENSION_TSO_ENABLE_MASK		0x00000001
25 
26 #define HAL_TX_MSDU_EXTENSION_TCP_FLAG_OFFSET		0x00000000
27 #define HAL_TX_MSDU_EXTENSION_TCP_FLAG_LSB		7
28 #define HAL_TX_MSDU_EXTENSION_TCP_FLAG_MASK		0x0000ff80
29 
30 #define HAL_TX_MSDU_EXTENSION_TCP_FLAG_MASK_OFFSET	0x00000000
31 #define HAL_TX_MSDU_EXTENSION_TCP_FLAG_MASK_LSB		16
32 #define HAL_TX_MSDU_EXTENSION_TCP_FLAG_MASK_MASK	0x01ff0000
33 
34 #define HAL_TX_MSDU_EXTENSION_L2_LENGTH_OFFSET		0x00000004
35 #define HAL_TX_MSDU_EXTENSION_L2_LENGTH_LSB		0
36 #define HAL_TX_MSDU_EXTENSION_L2_LENGTH_MASK		0x0000ffff
37 
38 #define HAL_TX_MSDU_EXTENSION_IP_LENGTH_OFFSET		0x00000004
39 #define HAL_TX_MSDU_EXTENSION_IP_LENGTH_LSB		16
40 #define HAL_TX_MSDU_EXTENSION_IP_LENGTH_MASK		0xffff0000
41 
42 #define HAL_TX_MSDU_EXTENSION_TCP_SEQ_NUMBER_OFFSET	0x00000008
43 #define HAL_TX_MSDU_EXTENSION_TCP_SEQ_NUMBER_LSB	0
44 #define HAL_TX_MSDU_EXTENSION_TCP_SEQ_NUMBER_MASK	0xffffffff
45 
46 #define HAL_TX_MSDU_EXTENSION_IP_IDENTIFICATION_OFFSET	0x0000000c
47 #define HAL_TX_MSDU_EXTENSION_IP_IDENTIFICATION_LSB	0
48 #define HAL_TX_MSDU_EXTENSION_IP_IDENTIFICATION_MASK	0x0000ffff
49 
50 #define HAL_TX_MSDU_EXTENSION_BUF0_PTR_31_0_OFFSET	0x00000018
51 #define HAL_TX_MSDU_EXTENSION_BUF0_PTR_31_0_LSB		0
52 #define HAL_TX_MSDU_EXTENSION_BUF0_PTR_31_0_MASK	0xffffffff
53 
54 #define HAL_TX_MSDU_EXTENSION_BUF0_PTR_39_32_OFFSET	0x0000001c
55 #define HAL_TX_MSDU_EXTENSION_BUF0_PTR_39_32_LSB	0
56 #define HAL_TX_MSDU_EXTENSION_BUF0_PTR_39_32_MASK	0x000000ff
57 
58 #define HAL_TX_MSDU_EXTENSION_BUF0_LEN_OFFSET		0x0000001c
59 #define HAL_TX_MSDU_EXTENSION_BUF0_LEN_LSB		16
60 #define HAL_TX_MSDU_EXTENSION_BUF0_LEN_MASK		0xffff0000
61 
62 #define HAL_TX_MSDU_EXTENSION_BUF1_PTR_31_0_OFFSET	0x00000020
63 #define HAL_TX_MSDU_EXTENSION_BUF1_PTR_31_0_LSB		0
64 #define HAL_TX_MSDU_EXTENSION_BUF1_PTR_31_0_MASK	0xffffffff
65 
66 #define HAL_TX_MSDU_EXTENSION_BUF1_PTR_39_32_OFFSET	0x00000024
67 #define HAL_TX_MSDU_EXTENSION_BUF1_PTR_39_32_LSB	0
68 #define HAL_TX_MSDU_EXTENSION_BUF1_PTR_39_32_MASK	0x000000ff
69 
70 #define HAL_TX_MSDU_EXTENSION_BUF1_LEN_OFFSET		0x00000024
71 #define HAL_TX_MSDU_EXTENSION_BUF1_LEN_LSB		16
72 #define HAL_TX_MSDU_EXTENSION_BUF1_LEN_MASK		0xffff0000
73 
74 #define HAL_TX_MSDU_EXTENSION_BUF2_PTR_31_0_OFFSET	0x00000028
75 #define HAL_TX_MSDU_EXTENSION_BUF2_PTR_31_0_LSB		0
76 #define HAL_TX_MSDU_EXTENSION_BUF2_PTR_31_0_MASK	0xffffffff
77 
78 #define HAL_TX_MSDU_EXTENSION_BUF2_PTR_39_32_OFFSET	0x0000002c
79 #define HAL_TX_MSDU_EXTENSION_BUF2_PTR_39_32_LSB	0
80 #define HAL_TX_MSDU_EXTENSION_BUF2_PTR_39_32_MASK	0x000000ff
81 
82 #define HAL_TX_MSDU_EXTENSION_BUF2_LEN_OFFSET		0x0000002c
83 #define HAL_TX_MSDU_EXTENSION_BUF2_LEN_LSB		16
84 #define HAL_TX_MSDU_EXTENSION_BUF2_LEN_MASK		0xffff0000
85 
86 #define HAL_TX_MSDU_EXTENSION_BUF3_PTR_31_0_OFFSET	0x00000030
87 #define HAL_TX_MSDU_EXTENSION_BUF3_PTR_31_0_LSB		0
88 #define HAL_TX_MSDU_EXTENSION_BUF3_PTR_31_0_MASK	0xffffffff
89 
90 #define HAL_TX_MSDU_EXTENSION_BUF3_PTR_39_32_OFFSET	0x00000034
91 #define HAL_TX_MSDU_EXTENSION_BUF3_PTR_39_32_LSB	0
92 #define HAL_TX_MSDU_EXTENSION_BUF3_PTR_39_32_MASK	0x000000ff
93 
94 #define HAL_TX_MSDU_EXTENSION_BUF3_LEN_OFFSET		0x00000034
95 #define HAL_TX_MSDU_EXTENSION_BUF3_LEN_LSB		16
96 #define HAL_TX_MSDU_EXTENSION_BUF3_LEN_MASK		0xffff0000
97 
98 #define HAL_TX_MSDU_EXTENSION_BUF4_PTR_31_0_OFFSET	0x00000038
99 #define HAL_TX_MSDU_EXTENSION_BUF4_PTR_31_0_LSB		0
100 #define HAL_TX_MSDU_EXTENSION_BUF4_PTR_31_0_MASK	0xffffffff
101 
102 #define HAL_TX_MSDU_EXTENSION_BUF4_PTR_39_32_OFFSET	0x0000003c
103 #define HAL_TX_MSDU_EXTENSION_BUF4_PTR_39_32_LSB	0
104 #define HAL_TX_MSDU_EXTENSION_BUF4_PTR_39_32_MASK	0x000000ff
105 
106 #define HAL_TX_MSDU_EXTENSION_BUF4_LEN_OFFSET		0x0000003c
107 #define HAL_TX_MSDU_EXTENSION_BUF4_LEN_LSB		16
108 #define HAL_TX_MSDU_EXTENSION_BUF4_LEN_MASK		0xffff0000
109 
110 #define HAL_TX_MSDU_EXTENSION_BUF5_PTR_31_0_OFFSET	0x00000040
111 #define HAL_TX_MSDU_EXTENSION_BUF5_PTR_31_0_LSB		0
112 #define HAL_TX_MSDU_EXTENSION_BUF5_PTR_31_0_MASK	0xffffffff
113 
114 #define HAL_TX_MSDU_EXTENSION_BUF5_PTR_39_32_OFFSET	0x00000044
115 #define HAL_TX_MSDU_EXTENSION_BUF5_PTR_39_32_LSB	0
116 #define HAL_TX_MSDU_EXTENSION_BUF5_PTR_39_32_MASK	0x000000ff
117 
118 #define HAL_TX_MSDU_EXTENSION_BUF5_LEN_OFFSET		0x00000044
119 #define HAL_TX_MSDU_EXTENSION_BUF5_LEN_LSB		16
120 #define HAL_TX_MSDU_EXTENSION_BUF5_LEN_MASK		0xffff0000
121 
122 /* TX completion ring MACROS */
123 #define HAL_TX_COMP_TX_RATE_STATS_OFFSET   0x00000014
124 #define HAL_TX_COMP_TX_RATE_STATS_LSB      0
125 #define HAL_TX_COMP_TX_RATE_STATS_MASK     0xffffffff
126 
127 #define HAL_TX_COMP_SW_PEER_ID_OFFSET			0x1c
128 #define HAL_TX_COMP_SW_PEER_ID_LSB			0
129 #define HAL_TX_COMP_SW_PEER_ID_MASK			0x0000ffff
130 
131 #define HAL_TX_COMP_BUFFER_OR_DESC_TYPE_OFFSET		0x8
132 #define HAL_TX_COMP_BUFFER_OR_DESC_TYPE_LSB		0x6
133 #define HAL_TX_COMP_BUFFER_OR_DESC_TYPE_MASK		0x000001c0
134 
135 #define HAL_TX_COMP_TQM_RELEASE_REASON_OFFSET		0x8
136 #define HAL_TX_COMP_TQM_RELEASE_REASON_LSB		13
137 #define HAL_TX_COMP_TQM_RELEASE_REASON_MASK		0x0001e000
138 
139 #define HAL_WBM2SW_RING_RELEASE_SOURCE_MODULE_OFFSET	0x8
140 #define HAL_WBM2SW_RING_RELEASE_SOURCE_MODULE_LSB	0
141 #define HAL_WBM2SW_RING_RELEASE_SOURCE_MODULE_MASK	0x00000007
142 
143 #endif /* _HAL_TX_HW_DEFINES_H_ */
144