xref: /OK3568_Linux_fs/kernel/drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * DO NOT EDIT - This file is automatically generated
3*4882a593Smuzhiyun *		 from the following source files:
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.seq#58 $
6*4882a593Smuzhiyun * $Id: //depot/aic7xxx/aic7xxx/aic7xxx.reg#40 $
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun#include "aic7xxx_osm.h"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCSISEQ_parse_table[] = {
12*4882a593Smuzhiyun	{ "SCSIRSTO",		0x01, 0x01 },
13*4882a593Smuzhiyun	{ "ENAUTOATNP",		0x02, 0x02 },
14*4882a593Smuzhiyun	{ "ENAUTOATNI",		0x04, 0x04 },
15*4882a593Smuzhiyun	{ "ENAUTOATNO",		0x08, 0x08 },
16*4882a593Smuzhiyun	{ "ENRSELI",		0x10, 0x10 },
17*4882a593Smuzhiyun	{ "ENSELI",		0x20, 0x20 },
18*4882a593Smuzhiyun	{ "ENSELO",		0x40, 0x40 },
19*4882a593Smuzhiyun	{ "TEMODE",		0x80, 0x80 }
20*4882a593Smuzhiyun};
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunint
23*4882a593Smuzhiyunahc_scsiseq_print(u_int regvalue, u_int *cur_col, u_int wrap)
24*4882a593Smuzhiyun{
25*4882a593Smuzhiyun	return (ahc_print_register(SCSISEQ_parse_table, 8, "SCSISEQ",
26*4882a593Smuzhiyun	    0x00, regvalue, cur_col, wrap));
27*4882a593Smuzhiyun}
28*4882a593Smuzhiyun
29*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SXFRCTL0_parse_table[] = {
30*4882a593Smuzhiyun	{ "CLRCHN",		0x02, 0x02 },
31*4882a593Smuzhiyun	{ "SCAMEN",		0x04, 0x04 },
32*4882a593Smuzhiyun	{ "SPIOEN",		0x08, 0x08 },
33*4882a593Smuzhiyun	{ "CLRSTCNT",		0x10, 0x10 },
34*4882a593Smuzhiyun	{ "FAST20",		0x20, 0x20 },
35*4882a593Smuzhiyun	{ "DFPEXP",		0x40, 0x40 },
36*4882a593Smuzhiyun	{ "DFON",		0x80, 0x80 }
37*4882a593Smuzhiyun};
38*4882a593Smuzhiyun
39*4882a593Smuzhiyunint
40*4882a593Smuzhiyunahc_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
41*4882a593Smuzhiyun{
42*4882a593Smuzhiyun	return (ahc_print_register(SXFRCTL0_parse_table, 7, "SXFRCTL0",
43*4882a593Smuzhiyun	    0x01, regvalue, cur_col, wrap));
44*4882a593Smuzhiyun}
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCSISIGI_parse_table[] = {
47*4882a593Smuzhiyun	{ "ACKI",		0x01, 0x01 },
48*4882a593Smuzhiyun	{ "REQI",		0x02, 0x02 },
49*4882a593Smuzhiyun	{ "BSYI",		0x04, 0x04 },
50*4882a593Smuzhiyun	{ "SELI",		0x08, 0x08 },
51*4882a593Smuzhiyun	{ "ATNI",		0x10, 0x10 },
52*4882a593Smuzhiyun	{ "MSGI",		0x20, 0x20 },
53*4882a593Smuzhiyun	{ "IOI",		0x40, 0x40 },
54*4882a593Smuzhiyun	{ "CDI",		0x80, 0x80 },
55*4882a593Smuzhiyun	{ "P_DATAOUT",		0x00, 0x00 },
56*4882a593Smuzhiyun	{ "P_DATAOUT_DT",	0x20, 0x20 },
57*4882a593Smuzhiyun	{ "P_DATAIN",		0x40, 0x40 },
58*4882a593Smuzhiyun	{ "P_DATAIN_DT",	0x60, 0x60 },
59*4882a593Smuzhiyun	{ "P_COMMAND",		0x80, 0x80 },
60*4882a593Smuzhiyun	{ "P_MESGOUT",		0xa0, 0xa0 },
61*4882a593Smuzhiyun	{ "P_STATUS",		0xc0, 0xc0 },
62*4882a593Smuzhiyun	{ "PHASE_MASK",		0xe0, 0xe0 },
63*4882a593Smuzhiyun	{ "P_MESGIN",		0xe0, 0xe0 }
64*4882a593Smuzhiyun};
65*4882a593Smuzhiyun
66*4882a593Smuzhiyunint
67*4882a593Smuzhiyunahc_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
68*4882a593Smuzhiyun{
69*4882a593Smuzhiyun	return (ahc_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
70*4882a593Smuzhiyun	    0x03, regvalue, cur_col, wrap));
71*4882a593Smuzhiyun}
72*4882a593Smuzhiyun
73*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCSIRATE_parse_table[] = {
74*4882a593Smuzhiyun	{ "SINGLE_EDGE",	0x10, 0x10 },
75*4882a593Smuzhiyun	{ "ENABLE_CRC",		0x40, 0x40 },
76*4882a593Smuzhiyun	{ "WIDEXFER",		0x80, 0x80 },
77*4882a593Smuzhiyun	{ "SXFR_ULTRA2",	0x0f, 0x0f },
78*4882a593Smuzhiyun	{ "SOFS",		0x0f, 0x0f },
79*4882a593Smuzhiyun	{ "SXFR",		0x70, 0x70 }
80*4882a593Smuzhiyun};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyunint
83*4882a593Smuzhiyunahc_scsirate_print(u_int regvalue, u_int *cur_col, u_int wrap)
84*4882a593Smuzhiyun{
85*4882a593Smuzhiyun	return (ahc_print_register(SCSIRATE_parse_table, 6, "SCSIRATE",
86*4882a593Smuzhiyun	    0x04, regvalue, cur_col, wrap));
87*4882a593Smuzhiyun}
88*4882a593Smuzhiyun
89*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SSTAT0_parse_table[] = {
90*4882a593Smuzhiyun	{ "DMADONE",		0x01, 0x01 },
91*4882a593Smuzhiyun	{ "SPIORDY",		0x02, 0x02 },
92*4882a593Smuzhiyun	{ "SDONE",		0x04, 0x04 },
93*4882a593Smuzhiyun	{ "SWRAP",		0x08, 0x08 },
94*4882a593Smuzhiyun	{ "IOERR",		0x08, 0x08 },
95*4882a593Smuzhiyun	{ "SELINGO",		0x10, 0x10 },
96*4882a593Smuzhiyun	{ "SELDI",		0x20, 0x20 },
97*4882a593Smuzhiyun	{ "SELDO",		0x40, 0x40 },
98*4882a593Smuzhiyun	{ "TARGET",		0x80, 0x80 }
99*4882a593Smuzhiyun};
100*4882a593Smuzhiyun
101*4882a593Smuzhiyunint
102*4882a593Smuzhiyunahc_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
103*4882a593Smuzhiyun{
104*4882a593Smuzhiyun	return (ahc_print_register(SSTAT0_parse_table, 9, "SSTAT0",
105*4882a593Smuzhiyun	    0x0b, regvalue, cur_col, wrap));
106*4882a593Smuzhiyun}
107*4882a593Smuzhiyun
108*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SSTAT1_parse_table[] = {
109*4882a593Smuzhiyun	{ "REQINIT",		0x01, 0x01 },
110*4882a593Smuzhiyun	{ "PHASECHG",		0x02, 0x02 },
111*4882a593Smuzhiyun	{ "SCSIPERR",		0x04, 0x04 },
112*4882a593Smuzhiyun	{ "BUSFREE",		0x08, 0x08 },
113*4882a593Smuzhiyun	{ "PHASEMIS",		0x10, 0x10 },
114*4882a593Smuzhiyun	{ "SCSIRSTI",		0x20, 0x20 },
115*4882a593Smuzhiyun	{ "ATNTARG",		0x40, 0x40 },
116*4882a593Smuzhiyun	{ "SELTO",		0x80, 0x80 }
117*4882a593Smuzhiyun};
118*4882a593Smuzhiyun
119*4882a593Smuzhiyunint
120*4882a593Smuzhiyunahc_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
121*4882a593Smuzhiyun{
122*4882a593Smuzhiyun	return (ahc_print_register(SSTAT1_parse_table, 8, "SSTAT1",
123*4882a593Smuzhiyun	    0x0c, regvalue, cur_col, wrap));
124*4882a593Smuzhiyun}
125*4882a593Smuzhiyun
126*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SSTAT2_parse_table[] = {
127*4882a593Smuzhiyun	{ "DUAL_EDGE_ERR",	0x01, 0x01 },
128*4882a593Smuzhiyun	{ "CRCREQERR",		0x02, 0x02 },
129*4882a593Smuzhiyun	{ "CRCENDERR",		0x04, 0x04 },
130*4882a593Smuzhiyun	{ "CRCVALERR",		0x08, 0x08 },
131*4882a593Smuzhiyun	{ "EXP_ACTIVE",		0x10, 0x10 },
132*4882a593Smuzhiyun	{ "SHVALID",		0x40, 0x40 },
133*4882a593Smuzhiyun	{ "OVERRUN",		0x80, 0x80 },
134*4882a593Smuzhiyun	{ "SFCNT",		0x1f, 0x1f }
135*4882a593Smuzhiyun};
136*4882a593Smuzhiyun
137*4882a593Smuzhiyunint
138*4882a593Smuzhiyunahc_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
139*4882a593Smuzhiyun{
140*4882a593Smuzhiyun	return (ahc_print_register(SSTAT2_parse_table, 8, "SSTAT2",
141*4882a593Smuzhiyun	    0x0d, regvalue, cur_col, wrap));
142*4882a593Smuzhiyun}
143*4882a593Smuzhiyun
144*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SSTAT3_parse_table[] = {
145*4882a593Smuzhiyun	{ "OFFCNT",		0x0f, 0x0f },
146*4882a593Smuzhiyun	{ "U2OFFCNT",		0x7f, 0x7f },
147*4882a593Smuzhiyun	{ "SCSICNT",		0xf0, 0xf0 }
148*4882a593Smuzhiyun};
149*4882a593Smuzhiyun
150*4882a593Smuzhiyunint
151*4882a593Smuzhiyunahc_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
152*4882a593Smuzhiyun{
153*4882a593Smuzhiyun	return (ahc_print_register(SSTAT3_parse_table, 3, "SSTAT3",
154*4882a593Smuzhiyun	    0x0e, regvalue, cur_col, wrap));
155*4882a593Smuzhiyun}
156*4882a593Smuzhiyun
157*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SIMODE0_parse_table[] = {
158*4882a593Smuzhiyun	{ "ENDMADONE",		0x01, 0x01 },
159*4882a593Smuzhiyun	{ "ENSPIORDY",		0x02, 0x02 },
160*4882a593Smuzhiyun	{ "ENSDONE",		0x04, 0x04 },
161*4882a593Smuzhiyun	{ "ENSWRAP",		0x08, 0x08 },
162*4882a593Smuzhiyun	{ "ENIOERR",		0x08, 0x08 },
163*4882a593Smuzhiyun	{ "ENSELINGO",		0x10, 0x10 },
164*4882a593Smuzhiyun	{ "ENSELDI",		0x20, 0x20 },
165*4882a593Smuzhiyun	{ "ENSELDO",		0x40, 0x40 }
166*4882a593Smuzhiyun};
167*4882a593Smuzhiyun
168*4882a593Smuzhiyunint
169*4882a593Smuzhiyunahc_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
170*4882a593Smuzhiyun{
171*4882a593Smuzhiyun	return (ahc_print_register(SIMODE0_parse_table, 8, "SIMODE0",
172*4882a593Smuzhiyun	    0x10, regvalue, cur_col, wrap));
173*4882a593Smuzhiyun}
174*4882a593Smuzhiyun
175*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SIMODE1_parse_table[] = {
176*4882a593Smuzhiyun	{ "ENREQINIT",		0x01, 0x01 },
177*4882a593Smuzhiyun	{ "ENPHASECHG",		0x02, 0x02 },
178*4882a593Smuzhiyun	{ "ENSCSIPERR",		0x04, 0x04 },
179*4882a593Smuzhiyun	{ "ENBUSFREE",		0x08, 0x08 },
180*4882a593Smuzhiyun	{ "ENPHASEMIS",		0x10, 0x10 },
181*4882a593Smuzhiyun	{ "ENSCSIRST",		0x20, 0x20 },
182*4882a593Smuzhiyun	{ "ENATNTARG",		0x40, 0x40 },
183*4882a593Smuzhiyun	{ "ENSELTIMO",		0x80, 0x80 }
184*4882a593Smuzhiyun};
185*4882a593Smuzhiyun
186*4882a593Smuzhiyunint
187*4882a593Smuzhiyunahc_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
188*4882a593Smuzhiyun{
189*4882a593Smuzhiyun	return (ahc_print_register(SIMODE1_parse_table, 8, "SIMODE1",
190*4882a593Smuzhiyun	    0x11, regvalue, cur_col, wrap));
191*4882a593Smuzhiyun}
192*4882a593Smuzhiyun
193*4882a593Smuzhiyunint
194*4882a593Smuzhiyunahc_scsibusl_print(u_int regvalue, u_int *cur_col, u_int wrap)
195*4882a593Smuzhiyun{
196*4882a593Smuzhiyun	return (ahc_print_register(NULL, 0, "SCSIBUSL",
197*4882a593Smuzhiyun	    0x12, regvalue, cur_col, wrap));
198*4882a593Smuzhiyun}
199*4882a593Smuzhiyun
200*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SBLKCTL_parse_table[] = {
201*4882a593Smuzhiyun	{ "XCVR",		0x01, 0x01 },
202*4882a593Smuzhiyun	{ "SELWIDE",		0x02, 0x02 },
203*4882a593Smuzhiyun	{ "ENAB20",		0x04, 0x04 },
204*4882a593Smuzhiyun	{ "SELBUSB",		0x08, 0x08 },
205*4882a593Smuzhiyun	{ "ENAB40",		0x08, 0x08 },
206*4882a593Smuzhiyun	{ "AUTOFLUSHDIS",	0x20, 0x20 },
207*4882a593Smuzhiyun	{ "DIAGLEDON",		0x40, 0x40 },
208*4882a593Smuzhiyun	{ "DIAGLEDEN",		0x80, 0x80 }
209*4882a593Smuzhiyun};
210*4882a593Smuzhiyun
211*4882a593Smuzhiyunint
212*4882a593Smuzhiyunahc_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
213*4882a593Smuzhiyun{
214*4882a593Smuzhiyun	return (ahc_print_register(SBLKCTL_parse_table, 8, "SBLKCTL",
215*4882a593Smuzhiyun	    0x1f, regvalue, cur_col, wrap));
216*4882a593Smuzhiyun}
217*4882a593Smuzhiyun
218*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
219*4882a593Smuzhiyun	{ "NO_DISCONNECT",	0x01, 0x01 },
220*4882a593Smuzhiyun	{ "SPHASE_PENDING",	0x02, 0x02 },
221*4882a593Smuzhiyun	{ "DPHASE_PENDING",	0x04, 0x04 },
222*4882a593Smuzhiyun	{ "CMDPHASE_PENDING",	0x08, 0x08 },
223*4882a593Smuzhiyun	{ "TARG_CMD_PENDING",	0x10, 0x10 },
224*4882a593Smuzhiyun	{ "DPHASE",		0x20, 0x20 },
225*4882a593Smuzhiyun	{ "NO_CDB_SENT",	0x40, 0x40 },
226*4882a593Smuzhiyun	{ "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
227*4882a593Smuzhiyun	{ "NOT_IDENTIFIED",	0x80, 0x80 }
228*4882a593Smuzhiyun};
229*4882a593Smuzhiyun
230*4882a593Smuzhiyunint
231*4882a593Smuzhiyunahc_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
232*4882a593Smuzhiyun{
233*4882a593Smuzhiyun	return (ahc_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
234*4882a593Smuzhiyun	    0x3c, regvalue, cur_col, wrap));
235*4882a593Smuzhiyun}
236*4882a593Smuzhiyun
237*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t LASTPHASE_parse_table[] = {
238*4882a593Smuzhiyun	{ "MSGI",		0x20, 0x20 },
239*4882a593Smuzhiyun	{ "IOI",		0x40, 0x40 },
240*4882a593Smuzhiyun	{ "CDI",		0x80, 0x80 },
241*4882a593Smuzhiyun	{ "P_DATAOUT",		0x00, 0x00 },
242*4882a593Smuzhiyun	{ "P_BUSFREE",		0x01, 0x01 },
243*4882a593Smuzhiyun	{ "P_DATAIN",		0x40, 0x40 },
244*4882a593Smuzhiyun	{ "P_COMMAND",		0x80, 0x80 },
245*4882a593Smuzhiyun	{ "P_MESGOUT",		0xa0, 0xa0 },
246*4882a593Smuzhiyun	{ "P_STATUS",		0xc0, 0xc0 },
247*4882a593Smuzhiyun	{ "PHASE_MASK",		0xe0, 0xe0 },
248*4882a593Smuzhiyun	{ "P_MESGIN",		0xe0, 0xe0 }
249*4882a593Smuzhiyun};
250*4882a593Smuzhiyun
251*4882a593Smuzhiyunint
252*4882a593Smuzhiyunahc_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
253*4882a593Smuzhiyun{
254*4882a593Smuzhiyun	return (ahc_print_register(LASTPHASE_parse_table, 11, "LASTPHASE",
255*4882a593Smuzhiyun	    0x3f, regvalue, cur_col, wrap));
256*4882a593Smuzhiyun}
257*4882a593Smuzhiyun
258*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SEQCTL_parse_table[] = {
259*4882a593Smuzhiyun	{ "LOADRAM",		0x01, 0x01 },
260*4882a593Smuzhiyun	{ "SEQRESET",		0x02, 0x02 },
261*4882a593Smuzhiyun	{ "STEP",		0x04, 0x04 },
262*4882a593Smuzhiyun	{ "BRKADRINTEN",	0x08, 0x08 },
263*4882a593Smuzhiyun	{ "FASTMODE",		0x10, 0x10 },
264*4882a593Smuzhiyun	{ "FAILDIS",		0x20, 0x20 },
265*4882a593Smuzhiyun	{ "PAUSEDIS",		0x40, 0x40 },
266*4882a593Smuzhiyun	{ "PERRORDIS",		0x80, 0x80 }
267*4882a593Smuzhiyun};
268*4882a593Smuzhiyun
269*4882a593Smuzhiyunint
270*4882a593Smuzhiyunahc_seqctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
271*4882a593Smuzhiyun{
272*4882a593Smuzhiyun	return (ahc_print_register(SEQCTL_parse_table, 8, "SEQCTL",
273*4882a593Smuzhiyun	    0x60, regvalue, cur_col, wrap));
274*4882a593Smuzhiyun}
275*4882a593Smuzhiyun
276*4882a593Smuzhiyunint
277*4882a593Smuzhiyunahc_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
278*4882a593Smuzhiyun{
279*4882a593Smuzhiyun	return (ahc_print_register(NULL, 0, "SRAM_BASE",
280*4882a593Smuzhiyun	    0x70, regvalue, cur_col, wrap));
281*4882a593Smuzhiyun}
282*4882a593Smuzhiyun
283*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t ERROR_parse_table[] = {
284*4882a593Smuzhiyun	{ "ILLHADDR",		0x01, 0x01 },
285*4882a593Smuzhiyun	{ "ILLSADDR",		0x02, 0x02 },
286*4882a593Smuzhiyun	{ "ILLOPCODE",		0x04, 0x04 },
287*4882a593Smuzhiyun	{ "SQPARERR",		0x08, 0x08 },
288*4882a593Smuzhiyun	{ "DPARERR",		0x10, 0x10 },
289*4882a593Smuzhiyun	{ "MPARERR",		0x20, 0x20 },
290*4882a593Smuzhiyun	{ "PCIERRSTAT",		0x40, 0x40 },
291*4882a593Smuzhiyun	{ "CIOPARERR",		0x80, 0x80 }
292*4882a593Smuzhiyun};
293*4882a593Smuzhiyun
294*4882a593Smuzhiyunint
295*4882a593Smuzhiyunahc_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
296*4882a593Smuzhiyun{
297*4882a593Smuzhiyun	return (ahc_print_register(ERROR_parse_table, 8, "ERROR",
298*4882a593Smuzhiyun	    0x92, regvalue, cur_col, wrap));
299*4882a593Smuzhiyun}
300*4882a593Smuzhiyun
301*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t DFCNTRL_parse_table[] = {
302*4882a593Smuzhiyun	{ "FIFORESET",		0x01, 0x01 },
303*4882a593Smuzhiyun	{ "FIFOFLUSH",		0x02, 0x02 },
304*4882a593Smuzhiyun	{ "DIRECTION",		0x04, 0x04 },
305*4882a593Smuzhiyun	{ "HDMAEN",		0x08, 0x08 },
306*4882a593Smuzhiyun	{ "HDMAENACK",		0x08, 0x08 },
307*4882a593Smuzhiyun	{ "SDMAEN",		0x10, 0x10 },
308*4882a593Smuzhiyun	{ "SDMAENACK",		0x10, 0x10 },
309*4882a593Smuzhiyun	{ "SCSIEN",		0x20, 0x20 },
310*4882a593Smuzhiyun	{ "WIDEODD",		0x40, 0x40 },
311*4882a593Smuzhiyun	{ "PRELOADEN",		0x80, 0x80 }
312*4882a593Smuzhiyun};
313*4882a593Smuzhiyun
314*4882a593Smuzhiyunint
315*4882a593Smuzhiyunahc_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
316*4882a593Smuzhiyun{
317*4882a593Smuzhiyun	return (ahc_print_register(DFCNTRL_parse_table, 10, "DFCNTRL",
318*4882a593Smuzhiyun	    0x93, regvalue, cur_col, wrap));
319*4882a593Smuzhiyun}
320*4882a593Smuzhiyun
321*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t DFSTATUS_parse_table[] = {
322*4882a593Smuzhiyun	{ "FIFOEMP",		0x01, 0x01 },
323*4882a593Smuzhiyun	{ "FIFOFULL",		0x02, 0x02 },
324*4882a593Smuzhiyun	{ "DFTHRESH",		0x04, 0x04 },
325*4882a593Smuzhiyun	{ "HDONE",		0x08, 0x08 },
326*4882a593Smuzhiyun	{ "MREQPEND",		0x10, 0x10 },
327*4882a593Smuzhiyun	{ "FIFOQWDEMP",		0x20, 0x20 },
328*4882a593Smuzhiyun	{ "DFCACHETH",		0x40, 0x40 },
329*4882a593Smuzhiyun	{ "PRELOAD_AVAIL",	0x80, 0x80 }
330*4882a593Smuzhiyun};
331*4882a593Smuzhiyun
332*4882a593Smuzhiyunint
333*4882a593Smuzhiyunahc_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
334*4882a593Smuzhiyun{
335*4882a593Smuzhiyun	return (ahc_print_register(DFSTATUS_parse_table, 8, "DFSTATUS",
336*4882a593Smuzhiyun	    0x94, regvalue, cur_col, wrap));
337*4882a593Smuzhiyun}
338*4882a593Smuzhiyun
339*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCSIPHASE_parse_table[] = {
340*4882a593Smuzhiyun	{ "DATA_OUT_PHASE",	0x01, 0x01 },
341*4882a593Smuzhiyun	{ "DATA_IN_PHASE",	0x02, 0x02 },
342*4882a593Smuzhiyun	{ "MSG_OUT_PHASE",	0x04, 0x04 },
343*4882a593Smuzhiyun	{ "MSG_IN_PHASE",	0x08, 0x08 },
344*4882a593Smuzhiyun	{ "COMMAND_PHASE",	0x10, 0x10 },
345*4882a593Smuzhiyun	{ "STATUS_PHASE",	0x20, 0x20 },
346*4882a593Smuzhiyun	{ "DATA_PHASE_MASK",	0x03, 0x03 }
347*4882a593Smuzhiyun};
348*4882a593Smuzhiyun
349*4882a593Smuzhiyunint
350*4882a593Smuzhiyunahc_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
351*4882a593Smuzhiyun{
352*4882a593Smuzhiyun	return (ahc_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
353*4882a593Smuzhiyun	    0x9e, regvalue, cur_col, wrap));
354*4882a593Smuzhiyun}
355*4882a593Smuzhiyun
356*4882a593Smuzhiyunint
357*4882a593Smuzhiyunahc_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
358*4882a593Smuzhiyun{
359*4882a593Smuzhiyun	return (ahc_print_register(NULL, 0, "SCB_BASE",
360*4882a593Smuzhiyun	    0xa0, regvalue, cur_col, wrap));
361*4882a593Smuzhiyun}
362*4882a593Smuzhiyun
363*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
364*4882a593Smuzhiyun	{ "DISCONNECTED",	0x04, 0x04 },
365*4882a593Smuzhiyun	{ "ULTRAENB",		0x08, 0x08 },
366*4882a593Smuzhiyun	{ "MK_MESSAGE",		0x10, 0x10 },
367*4882a593Smuzhiyun	{ "TAG_ENB",		0x20, 0x20 },
368*4882a593Smuzhiyun	{ "DISCENB",		0x40, 0x40 },
369*4882a593Smuzhiyun	{ "TARGET_SCB",		0x80, 0x80 },
370*4882a593Smuzhiyun	{ "STATUS_RCVD",	0x80, 0x80 },
371*4882a593Smuzhiyun	{ "SCB_TAG_TYPE",	0x03, 0x03 }
372*4882a593Smuzhiyun};
373*4882a593Smuzhiyun
374*4882a593Smuzhiyunint
375*4882a593Smuzhiyunahc_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
376*4882a593Smuzhiyun{
377*4882a593Smuzhiyun	return (ahc_print_register(SCB_CONTROL_parse_table, 8, "SCB_CONTROL",
378*4882a593Smuzhiyun	    0xb8, regvalue, cur_col, wrap));
379*4882a593Smuzhiyun}
380*4882a593Smuzhiyun
381*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
382*4882a593Smuzhiyun	{ "TWIN_CHNLB",		0x80, 0x80 },
383*4882a593Smuzhiyun	{ "OID",		0x0f, 0x0f },
384*4882a593Smuzhiyun	{ "TWIN_TID",		0x70, 0x70 },
385*4882a593Smuzhiyun	{ "TID",		0xf0, 0xf0 }
386*4882a593Smuzhiyun};
387*4882a593Smuzhiyun
388*4882a593Smuzhiyunint
389*4882a593Smuzhiyunahc_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
390*4882a593Smuzhiyun{
391*4882a593Smuzhiyun	return (ahc_print_register(SCB_SCSIID_parse_table, 4, "SCB_SCSIID",
392*4882a593Smuzhiyun	    0xb9, regvalue, cur_col, wrap));
393*4882a593Smuzhiyun}
394*4882a593Smuzhiyun
395*4882a593Smuzhiyunstatic const ahc_reg_parse_entry_t SCB_LUN_parse_table[] = {
396*4882a593Smuzhiyun	{ "SCB_XFERLEN_ODD",	0x80, 0x80 },
397*4882a593Smuzhiyun	{ "LID",		0x3f, 0x3f }
398*4882a593Smuzhiyun};
399*4882a593Smuzhiyun
400*4882a593Smuzhiyunint
401*4882a593Smuzhiyunahc_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
402*4882a593Smuzhiyun{
403*4882a593Smuzhiyun	return (ahc_print_register(SCB_LUN_parse_table, 2, "SCB_LUN",
404*4882a593Smuzhiyun	    0xba, regvalue, cur_col, wrap));
405*4882a593Smuzhiyun}
406*4882a593Smuzhiyun
407*4882a593Smuzhiyunint
408*4882a593Smuzhiyunahc_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
409*4882a593Smuzhiyun{
410*4882a593Smuzhiyun	return (ahc_print_register(NULL, 0, "SCB_TAG",
411*4882a593Smuzhiyun	    0xbb, regvalue, cur_col, wrap));
412*4882a593Smuzhiyun}
413*4882a593Smuzhiyun
414