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#ifndef __T4_HW_H
36#define __T4_HW_H
37
38#include <linux/types.h>
39
40enum {
41 NCHAN = 4,
42 MAX_MTU = 9600,
43 EEPROMSIZE = 17408,
44 EEPROMVSIZE = 32768,
45 EEPROMPFSIZE = 1024,
46 RSS_NENTRIES = 2048,
47 TCB_SIZE = 128,
48 NMTUS = 16,
49 NCCTRL_WIN = 32,
50 L2T_SIZE = 4096,
51 MBOX_LEN = 64,
52 TRACE_LEN = 112,
53 FILTER_OPT_LEN = 36,
54 NWOL_PAT = 8,
55 WOL_PAT_LEN = 128,
56};
57
58enum {
59 SF_PAGE_SIZE = 256,
60 SF_SEC_SIZE = 64 * 1024,
61};
62
63enum { RSP_TYPE_FLBUF, RSP_TYPE_CPL, RSP_TYPE_INTR };
64
65enum { MBOX_OWNER_NONE, MBOX_OWNER_FW, MBOX_OWNER_DRV };
66
67enum {
68 SGE_MAX_WR_LEN = 512,
69 SGE_NTIMERS = 6,
70 SGE_NCOUNTERS = 4,
71
72 SGE_TIMER_RSTRT_CNTR = 6,
73 SGE_TIMER_UPD_CIDX = 7,
74
75 SGE_EQ_IDXSIZE = 64,
76
77 SGE_INTRDST_PCI = 0,
78 SGE_INTRDST_IQ = 1,
79
80 SGE_UPDATEDEL_NONE = 0,
81 SGE_UPDATEDEL_INTR = 1,
82 SGE_UPDATEDEL_STPG = 2,
83 SGE_UPDATEDEL_BOTH = 3,
84
85 SGE_HOSTFCMODE_NONE = 0,
86 SGE_HOSTFCMODE_IQ = 1,
87 SGE_HOSTFCMODE_STPG = 2,
88 SGE_HOSTFCMODE_BOTH = 3,
89
90 SGE_FETCHBURSTMIN_16B = 0,
91 SGE_FETCHBURSTMIN_32B = 1,
92 SGE_FETCHBURSTMIN_64B = 2,
93 SGE_FETCHBURSTMIN_128B = 3,
94
95 SGE_FETCHBURSTMAX_64B = 0,
96 SGE_FETCHBURSTMAX_128B = 1,
97 SGE_FETCHBURSTMAX_256B = 2,
98 SGE_FETCHBURSTMAX_512B = 3,
99
100 SGE_CIDXFLUSHTHRESH_1 = 0,
101 SGE_CIDXFLUSHTHRESH_2 = 1,
102 SGE_CIDXFLUSHTHRESH_4 = 2,
103 SGE_CIDXFLUSHTHRESH_8 = 3,
104 SGE_CIDXFLUSHTHRESH_16 = 4,
105 SGE_CIDXFLUSHTHRESH_32 = 5,
106 SGE_CIDXFLUSHTHRESH_64 = 6,
107 SGE_CIDXFLUSHTHRESH_128 = 7,
108
109 SGE_INGPADBOUNDARY_SHIFT = 5,
110};
111
112struct sge_qstat {
113 __be32 qid;
114 __be16 cidx;
115 __be16 pidx;
116};
117
118
119
120
121struct rsp_ctrl {
122 __be32 hdrbuflen_pidx;
123 __be32 pldbuflen_qid;
124 union {
125 u8 type_gen;
126 __be64 last_flit;
127 };
128};
129
130#define RSPD_NEWBUF 0x80000000U
131#define RSPD_LEN(x) (((x) >> 0) & 0x7fffffffU)
132#define RSPD_QID(x) RSPD_LEN(x)
133
134#define RSPD_GEN(x) ((x) >> 7)
135#define RSPD_TYPE(x) (((x) >> 4) & 3)
136
137#define QINTR_CNT_EN 0x1
138#define QINTR_TIMER_IDX(x) ((x) << 1)
139#define QINTR_TIMER_IDX_GET(x) (((x) >> 1) & 0x7)
140
141
142
143
144#define FLASH_START(start) ((start) * SF_SEC_SIZE)
145#define FLASH_MAX_SIZE(nsecs) ((nsecs) * SF_SEC_SIZE)
146
147enum {
148
149
150
151 FLASH_EXP_ROM_START_SEC = 0,
152 FLASH_EXP_ROM_NSECS = 6,
153 FLASH_EXP_ROM_START = FLASH_START(FLASH_EXP_ROM_START_SEC),
154 FLASH_EXP_ROM_MAX_SIZE = FLASH_MAX_SIZE(FLASH_EXP_ROM_NSECS),
155
156
157
158
159
160 FLASH_IBFT_START_SEC = 6,
161 FLASH_IBFT_NSECS = 1,
162 FLASH_IBFT_START = FLASH_START(FLASH_IBFT_START_SEC),
163 FLASH_IBFT_MAX_SIZE = FLASH_MAX_SIZE(FLASH_IBFT_NSECS),
164
165
166
167
168 FLASH_BOOTCFG_START_SEC = 7,
169 FLASH_BOOTCFG_NSECS = 1,
170 FLASH_BOOTCFG_START = FLASH_START(FLASH_BOOTCFG_START_SEC),
171 FLASH_BOOTCFG_MAX_SIZE = FLASH_MAX_SIZE(FLASH_BOOTCFG_NSECS),
172
173
174
175
176 FLASH_FW_START_SEC = 8,
177 FLASH_FW_NSECS = 8,
178 FLASH_FW_START = FLASH_START(FLASH_FW_START_SEC),
179 FLASH_FW_MAX_SIZE = FLASH_MAX_SIZE(FLASH_FW_NSECS),
180
181
182
183
184 FLASH_ISCSI_CRASH_START_SEC = 29,
185 FLASH_ISCSI_CRASH_NSECS = 1,
186 FLASH_ISCSI_CRASH_START = FLASH_START(FLASH_ISCSI_CRASH_START_SEC),
187 FLASH_ISCSI_CRASH_MAX_SIZE = FLASH_MAX_SIZE(FLASH_ISCSI_CRASH_NSECS),
188
189
190
191
192 FLASH_FCOE_CRASH_START_SEC = 30,
193 FLASH_FCOE_CRASH_NSECS = 1,
194 FLASH_FCOE_CRASH_START = FLASH_START(FLASH_FCOE_CRASH_START_SEC),
195 FLASH_FCOE_CRASH_MAX_SIZE = FLASH_MAX_SIZE(FLASH_FCOE_CRASH_NSECS),
196
197
198
199
200
201
202
203 FLASH_CFG_START_SEC = 31,
204 FLASH_CFG_NSECS = 1,
205 FLASH_CFG_START = FLASH_START(FLASH_CFG_START_SEC),
206 FLASH_CFG_MAX_SIZE = FLASH_MAX_SIZE(FLASH_CFG_NSECS),
207
208 FLASH_FPGA_CFG_START_SEC = 15,
209 FLASH_FPGA_CFG_START = FLASH_START(FLASH_FPGA_CFG_START_SEC),
210
211
212
213
214};
215
216#undef FLASH_START
217#undef FLASH_MAX_SIZE
218
219#endif
220