aic79xx_reg_print.c revision 260401
1/* 2 * DO NOT EDIT - This file is automatically generated 3 * from the following source files: 4 * 5 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#119 $ 6 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#76 $ 7 */ 8 9#include <sys/cdefs.h> 10__FBSDID("$FreeBSD: head/sys/dev/aic7xxx/aic79xx_reg_print.c 260401 2014-01-07 19:33:17Z scottl $"); 11#include <dev/aic7xxx/aic79xx_osm.h> 12 13static ahd_reg_parse_entry_t MODE_PTR_parse_table[] = { 14 { "SRC_MODE", 0x07, 0x07 }, 15 { "DST_MODE", 0x70, 0x70 } 16}; 17 18int 19ahd_mode_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 20{ 21 return (ahd_print_register(MODE_PTR_parse_table, 2, "MODE_PTR", 22 0x00, regvalue, cur_col, wrap)); 23} 24 25static ahd_reg_parse_entry_t INTSTAT_parse_table[] = { 26 { "SPLTINT", 0x01, 0x01 }, 27 { "CMDCMPLT", 0x02, 0x02 }, 28 { "SEQINT", 0x04, 0x04 }, 29 { "SCSIINT", 0x08, 0x08 }, 30 { "PCIINT", 0x10, 0x10 }, 31 { "SWTMINT", 0x20, 0x20 }, 32 { "BRKADRINT", 0x40, 0x40 }, 33 { "HWERRINT", 0x80, 0x80 }, 34 { "INT_PEND", 0xff, 0xff } 35}; 36 37int 38ahd_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap) 39{ 40 return (ahd_print_register(INTSTAT_parse_table, 9, "INTSTAT", 41 0x01, regvalue, cur_col, wrap)); 42} 43 44static ahd_reg_parse_entry_t SEQINTCODE_parse_table[] = { 45 { "NO_SEQINT", 0x00, 0xff }, 46 { "BAD_PHASE", 0x01, 0xff }, 47 { "SEND_REJECT", 0x02, 0xff }, 48 { "PROTO_VIOLATION", 0x03, 0xff }, 49 { "NO_MATCH", 0x04, 0xff }, 50 { "IGN_WIDE_RES", 0x05, 0xff }, 51 { "PDATA_REINIT", 0x06, 0xff }, 52 { "HOST_MSG_LOOP", 0x07, 0xff }, 53 { "BAD_STATUS", 0x08, 0xff }, 54 { "DATA_OVERRUN", 0x09, 0xff }, 55 { "MKMSG_FAILED", 0x0a, 0xff }, 56 { "MISSED_BUSFREE", 0x0b, 0xff }, 57 { "DUMP_CARD_STATE", 0x0c, 0xff }, 58 { "ILLEGAL_PHASE", 0x0d, 0xff }, 59 { "INVALID_SEQINT", 0x0e, 0xff }, 60 { "CFG4ISTAT_INTR", 0x0f, 0xff }, 61 { "STATUS_OVERRUN", 0x10, 0xff }, 62 { "CFG4OVERRUN", 0x11, 0xff }, 63 { "ENTERING_NONPACK", 0x12, 0xff }, 64 { "TASKMGMT_FUNC_COMPLETE",0x13, 0xff }, 65 { "TASKMGMT_CMD_CMPLT_OKAY",0x14, 0xff }, 66 { "TRACEPOINT0", 0x15, 0xff }, 67 { "TRACEPOINT1", 0x16, 0xff }, 68 { "TRACEPOINT2", 0x17, 0xff }, 69 { "TRACEPOINT3", 0x18, 0xff }, 70 { "SAW_HWERR", 0x19, 0xff }, 71 { "BAD_SCB_STATUS", 0x1a, 0xff } 72}; 73 74int 75ahd_seqintcode_print(u_int regvalue, u_int *cur_col, u_int wrap) 76{ 77 return (ahd_print_register(SEQINTCODE_parse_table, 27, "SEQINTCODE", 78 0x02, regvalue, cur_col, wrap)); 79} 80 81static ahd_reg_parse_entry_t CLRINT_parse_table[] = { 82 { "CLRSPLTINT", 0x01, 0x01 }, 83 { "CLRCMDINT", 0x02, 0x02 }, 84 { "CLRSEQINT", 0x04, 0x04 }, 85 { "CLRSCSIINT", 0x08, 0x08 }, 86 { "CLRPCIINT", 0x10, 0x10 }, 87 { "CLRSWTMINT", 0x20, 0x20 }, 88 { "CLRBRKADRINT", 0x40, 0x40 }, 89 { "CLRHWERRINT", 0x80, 0x80 } 90}; 91 92int 93ahd_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap) 94{ 95 return (ahd_print_register(CLRINT_parse_table, 8, "CLRINT", 96 0x03, regvalue, cur_col, wrap)); 97} 98 99static ahd_reg_parse_entry_t ERROR_parse_table[] = { 100 { "DSCTMOUT", 0x02, 0x02 }, 101 { "ILLOPCODE", 0x04, 0x04 }, 102 { "SQPARERR", 0x08, 0x08 }, 103 { "DPARERR", 0x10, 0x10 }, 104 { "MPARERR", 0x20, 0x20 }, 105 { "CIOACCESFAIL", 0x40, 0x40 }, 106 { "CIOPARERR", 0x80, 0x80 } 107}; 108 109int 110ahd_error_print(u_int regvalue, u_int *cur_col, u_int wrap) 111{ 112 return (ahd_print_register(ERROR_parse_table, 7, "ERROR", 113 0x04, regvalue, cur_col, wrap)); 114} 115 116static ahd_reg_parse_entry_t CLRERR_parse_table[] = { 117 { "CLRDSCTMOUT", 0x02, 0x02 }, 118 { "CLRILLOPCODE", 0x04, 0x04 }, 119 { "CLRSQPARERR", 0x08, 0x08 }, 120 { "CLRDPARERR", 0x10, 0x10 }, 121 { "CLRMPARERR", 0x20, 0x20 }, 122 { "CLRCIOACCESFAIL", 0x40, 0x40 }, 123 { "CLRCIOPARERR", 0x80, 0x80 } 124}; 125 126int 127ahd_clrerr_print(u_int regvalue, u_int *cur_col, u_int wrap) 128{ 129 return (ahd_print_register(CLRERR_parse_table, 7, "CLRERR", 130 0x04, regvalue, cur_col, wrap)); 131} 132 133static ahd_reg_parse_entry_t HCNTRL_parse_table[] = { 134 { "CHIPRST", 0x01, 0x01 }, 135 { "CHIPRSTACK", 0x01, 0x01 }, 136 { "INTEN", 0x02, 0x02 }, 137 { "PAUSE", 0x04, 0x04 }, 138 { "SWTIMER_START_B", 0x08, 0x08 }, 139 { "SWINT", 0x10, 0x10 }, 140 { "POWRDN", 0x40, 0x40 }, 141 { "SEQ_RESET", 0x80, 0x80 } 142}; 143 144int 145ahd_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap) 146{ 147 return (ahd_print_register(HCNTRL_parse_table, 8, "HCNTRL", 148 0x05, regvalue, cur_col, wrap)); 149} 150 151int 152ahd_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap) 153{ 154 return (ahd_print_register(NULL, 0, "HNSCB_QOFF", 155 0x06, regvalue, cur_col, wrap)); 156} 157 158int 159ahd_hescb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap) 160{ 161 return (ahd_print_register(NULL, 0, "HESCB_QOFF", 162 0x08, regvalue, cur_col, wrap)); 163} 164 165static ahd_reg_parse_entry_t HS_MAILBOX_parse_table[] = { 166 { "ENINT_COALESCE", 0x40, 0x40 }, 167 { "HOST_TQINPOS", 0x80, 0x80 } 168}; 169 170int 171ahd_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap) 172{ 173 return (ahd_print_register(HS_MAILBOX_parse_table, 2, "HS_MAILBOX", 174 0x0b, regvalue, cur_col, wrap)); 175} 176 177static ahd_reg_parse_entry_t SEQINTSTAT_parse_table[] = { 178 { "SEQ_SPLTINT", 0x01, 0x01 }, 179 { "SEQ_PCIINT", 0x02, 0x02 }, 180 { "SEQ_SCSIINT", 0x04, 0x04 }, 181 { "SEQ_SEQINT", 0x08, 0x08 }, 182 { "SEQ_SWTMRTO", 0x10, 0x10 } 183}; 184 185int 186ahd_seqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap) 187{ 188 return (ahd_print_register(SEQINTSTAT_parse_table, 5, "SEQINTSTAT", 189 0x0c, regvalue, cur_col, wrap)); 190} 191 192static ahd_reg_parse_entry_t CLRSEQINTSTAT_parse_table[] = { 193 { "CLRSEQ_SPLTINT", 0x01, 0x01 }, 194 { "CLRSEQ_PCIINT", 0x02, 0x02 }, 195 { "CLRSEQ_SCSIINT", 0x04, 0x04 }, 196 { "CLRSEQ_SEQINT", 0x08, 0x08 }, 197 { "CLRSEQ_SWTMRTO", 0x10, 0x10 } 198}; 199 200int 201ahd_clrseqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap) 202{ 203 return (ahd_print_register(CLRSEQINTSTAT_parse_table, 5, "CLRSEQINTSTAT", 204 0x0c, regvalue, cur_col, wrap)); 205} 206 207int 208ahd_swtimer_print(u_int regvalue, u_int *cur_col, u_int wrap) 209{ 210 return (ahd_print_register(NULL, 0, "SWTIMER", 211 0x0e, regvalue, cur_col, wrap)); 212} 213 214int 215ahd_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap) 216{ 217 return (ahd_print_register(NULL, 0, "SNSCB_QOFF", 218 0x10, regvalue, cur_col, wrap)); 219} 220 221int 222ahd_sescb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap) 223{ 224 return (ahd_print_register(NULL, 0, "SESCB_QOFF", 225 0x12, regvalue, cur_col, wrap)); 226} 227 228int 229ahd_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap) 230{ 231 return (ahd_print_register(NULL, 0, "SDSCB_QOFF", 232 0x14, regvalue, cur_col, wrap)); 233} 234 235static ahd_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = { 236 { "SCB_QSIZE_4", 0x00, 0x0f }, 237 { "SCB_QSIZE_8", 0x01, 0x0f }, 238 { "SCB_QSIZE_16", 0x02, 0x0f }, 239 { "SCB_QSIZE_32", 0x03, 0x0f }, 240 { "SCB_QSIZE_64", 0x04, 0x0f }, 241 { "SCB_QSIZE_128", 0x05, 0x0f }, 242 { "SCB_QSIZE_256", 0x06, 0x0f }, 243 { "SCB_QSIZE_512", 0x07, 0x0f }, 244 { "SCB_QSIZE_1024", 0x08, 0x0f }, 245 { "SCB_QSIZE_2048", 0x09, 0x0f }, 246 { "SCB_QSIZE_4096", 0x0a, 0x0f }, 247 { "SCB_QSIZE_8192", 0x0b, 0x0f }, 248 { "SCB_QSIZE_16384", 0x0c, 0x0f }, 249 { "SCB_QSIZE", 0x0f, 0x0f }, 250 { "HS_MAILBOX_ACT", 0x10, 0x10 }, 251 { "SDSCB_ROLLOVR", 0x20, 0x20 }, 252 { "NEW_SCB_AVAIL", 0x40, 0x40 }, 253 { "EMPTY_SCB_AVAIL", 0x80, 0x80 } 254}; 255 256int 257ahd_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap) 258{ 259 return (ahd_print_register(QOFF_CTLSTA_parse_table, 18, "QOFF_CTLSTA", 260 0x16, regvalue, cur_col, wrap)); 261} 262 263static ahd_reg_parse_entry_t INTCTL_parse_table[] = { 264 { "SPLTINTEN", 0x01, 0x01 }, 265 { "SEQINTEN", 0x02, 0x02 }, 266 { "SCSIINTEN", 0x04, 0x04 }, 267 { "PCIINTEN", 0x08, 0x08 }, 268 { "AUTOCLRCMDINT", 0x10, 0x10 }, 269 { "SWTIMER_START", 0x20, 0x20 }, 270 { "SWTMINTEN", 0x40, 0x40 }, 271 { "SWTMINTMASK", 0x80, 0x80 } 272}; 273 274int 275ahd_intctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 276{ 277 return (ahd_print_register(INTCTL_parse_table, 8, "INTCTL", 278 0x18, regvalue, cur_col, wrap)); 279} 280 281static ahd_reg_parse_entry_t DFCNTRL_parse_table[] = { 282 { "DIRECTIONEN", 0x01, 0x01 }, 283 { "FIFOFLUSH", 0x02, 0x02 }, 284 { "FIFOFLUSHACK", 0x02, 0x02 }, 285 { "DIRECTION", 0x04, 0x04 }, 286 { "DIRECTIONACK", 0x04, 0x04 }, 287 { "HDMAEN", 0x08, 0x08 }, 288 { "HDMAENACK", 0x08, 0x08 }, 289 { "SCSIEN", 0x20, 0x20 }, 290 { "SCSIENACK", 0x20, 0x20 }, 291 { "SCSIENWRDIS", 0x40, 0x40 }, 292 { "PRELOADEN", 0x80, 0x80 } 293}; 294 295int 296ahd_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap) 297{ 298 return (ahd_print_register(DFCNTRL_parse_table, 11, "DFCNTRL", 299 0x19, regvalue, cur_col, wrap)); 300} 301 302static ahd_reg_parse_entry_t DSCOMMAND0_parse_table[] = { 303 { "CIOPARCKEN", 0x01, 0x01 }, 304 { "DISABLE_TWATE", 0x02, 0x02 }, 305 { "EXTREQLCK", 0x10, 0x10 }, 306 { "MPARCKEN", 0x20, 0x20 }, 307 { "DPARCKEN", 0x40, 0x40 }, 308 { "CACHETHEN", 0x80, 0x80 } 309}; 310 311int 312ahd_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap) 313{ 314 return (ahd_print_register(DSCOMMAND0_parse_table, 6, "DSCOMMAND0", 315 0x19, regvalue, cur_col, wrap)); 316} 317 318static ahd_reg_parse_entry_t DFSTATUS_parse_table[] = { 319 { "FIFOEMP", 0x01, 0x01 }, 320 { "FIFOFULL", 0x02, 0x02 }, 321 { "DFTHRESH", 0x04, 0x04 }, 322 { "HDONE", 0x08, 0x08 }, 323 { "MREQPEND", 0x10, 0x10 }, 324 { "PKT_PRELOAD_AVAIL", 0x40, 0x40 }, 325 { "PRELOAD_AVAIL", 0x80, 0x80 } 326}; 327 328int 329ahd_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap) 330{ 331 return (ahd_print_register(DFSTATUS_parse_table, 7, "DFSTATUS", 332 0x1a, regvalue, cur_col, wrap)); 333} 334 335static ahd_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = { 336 { "LAST_SEG_DONE", 0x01, 0x01 }, 337 { "LAST_SEG", 0x02, 0x02 }, 338 { "ODD_SEG", 0x04, 0x04 }, 339 { "SG_ADDR_MASK", 0xf8, 0xf8 } 340}; 341 342int 343ahd_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap) 344{ 345 return (ahd_print_register(SG_CACHE_SHADOW_parse_table, 4, "SG_CACHE_SHADOW", 346 0x1b, regvalue, cur_col, wrap)); 347} 348 349static ahd_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = { 350 { "LAST_SEG", 0x02, 0x02 }, 351 { "ODD_SEG", 0x04, 0x04 }, 352 { "SG_ADDR_MASK", 0xf8, 0xf8 } 353}; 354 355int 356ahd_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap) 357{ 358 return (ahd_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE", 359 0x1b, regvalue, cur_col, wrap)); 360} 361 362static ahd_reg_parse_entry_t ARBCTL_parse_table[] = { 363 { "USE_TIME", 0x07, 0x07 }, 364 { "RETRY_SWEN", 0x08, 0x08 }, 365 { "RESET_HARB", 0x80, 0x80 } 366}; 367 368int 369ahd_arbctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 370{ 371 return (ahd_print_register(ARBCTL_parse_table, 3, "ARBCTL", 372 0x1b, regvalue, cur_col, wrap)); 373} 374 375int 376ahd_lqin_print(u_int regvalue, u_int *cur_col, u_int wrap) 377{ 378 return (ahd_print_register(NULL, 0, "LQIN", 379 0x20, regvalue, cur_col, wrap)); 380} 381 382int 383ahd_typeptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 384{ 385 return (ahd_print_register(NULL, 0, "TYPEPTR", 386 0x20, regvalue, cur_col, wrap)); 387} 388 389int 390ahd_tagptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 391{ 392 return (ahd_print_register(NULL, 0, "TAGPTR", 393 0x21, regvalue, cur_col, wrap)); 394} 395 396int 397ahd_lunptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 398{ 399 return (ahd_print_register(NULL, 0, "LUNPTR", 400 0x22, regvalue, cur_col, wrap)); 401} 402 403int 404ahd_datalenptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 405{ 406 return (ahd_print_register(NULL, 0, "DATALENPTR", 407 0x23, regvalue, cur_col, wrap)); 408} 409 410int 411ahd_statlenptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 412{ 413 return (ahd_print_register(NULL, 0, "STATLENPTR", 414 0x24, regvalue, cur_col, wrap)); 415} 416 417int 418ahd_cmdlenptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 419{ 420 return (ahd_print_register(NULL, 0, "CMDLENPTR", 421 0x25, regvalue, cur_col, wrap)); 422} 423 424int 425ahd_attrptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 426{ 427 return (ahd_print_register(NULL, 0, "ATTRPTR", 428 0x26, regvalue, cur_col, wrap)); 429} 430 431int 432ahd_flagptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 433{ 434 return (ahd_print_register(NULL, 0, "FLAGPTR", 435 0x27, regvalue, cur_col, wrap)); 436} 437 438int 439ahd_cmdptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 440{ 441 return (ahd_print_register(NULL, 0, "CMDPTR", 442 0x28, regvalue, cur_col, wrap)); 443} 444 445int 446ahd_qnextptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 447{ 448 return (ahd_print_register(NULL, 0, "QNEXTPTR", 449 0x29, regvalue, cur_col, wrap)); 450} 451 452int 453ahd_idptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 454{ 455 return (ahd_print_register(NULL, 0, "IDPTR", 456 0x2a, regvalue, cur_col, wrap)); 457} 458 459int 460ahd_abrtbyteptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 461{ 462 return (ahd_print_register(NULL, 0, "ABRTBYTEPTR", 463 0x2b, regvalue, cur_col, wrap)); 464} 465 466int 467ahd_abrtbitptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 468{ 469 return (ahd_print_register(NULL, 0, "ABRTBITPTR", 470 0x2c, regvalue, cur_col, wrap)); 471} 472 473int 474ahd_maxcmdbytes_print(u_int regvalue, u_int *cur_col, u_int wrap) 475{ 476 return (ahd_print_register(NULL, 0, "MAXCMDBYTES", 477 0x2d, regvalue, cur_col, wrap)); 478} 479 480int 481ahd_maxcmd2rcv_print(u_int regvalue, u_int *cur_col, u_int wrap) 482{ 483 return (ahd_print_register(NULL, 0, "MAXCMD2RCV", 484 0x2e, regvalue, cur_col, wrap)); 485} 486 487int 488ahd_shortthresh_print(u_int regvalue, u_int *cur_col, u_int wrap) 489{ 490 return (ahd_print_register(NULL, 0, "SHORTTHRESH", 491 0x2f, regvalue, cur_col, wrap)); 492} 493 494static ahd_reg_parse_entry_t LUNLEN_parse_table[] = { 495 { "ILUNLEN", 0x0f, 0x0f }, 496 { "TLUNLEN", 0xf0, 0xf0 } 497}; 498 499int 500ahd_lunlen_print(u_int regvalue, u_int *cur_col, u_int wrap) 501{ 502 return (ahd_print_register(LUNLEN_parse_table, 2, "LUNLEN", 503 0x30, regvalue, cur_col, wrap)); 504} 505 506int 507ahd_cdblimit_print(u_int regvalue, u_int *cur_col, u_int wrap) 508{ 509 return (ahd_print_register(NULL, 0, "CDBLIMIT", 510 0x31, regvalue, cur_col, wrap)); 511} 512 513int 514ahd_maxcmd_print(u_int regvalue, u_int *cur_col, u_int wrap) 515{ 516 return (ahd_print_register(NULL, 0, "MAXCMD", 517 0x32, regvalue, cur_col, wrap)); 518} 519 520int 521ahd_maxcmdcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 522{ 523 return (ahd_print_register(NULL, 0, "MAXCMDCNT", 524 0x33, regvalue, cur_col, wrap)); 525} 526 527int 528ahd_lqrsvd01_print(u_int regvalue, u_int *cur_col, u_int wrap) 529{ 530 return (ahd_print_register(NULL, 0, "LQRSVD01", 531 0x34, regvalue, cur_col, wrap)); 532} 533 534int 535ahd_lqrsvd16_print(u_int regvalue, u_int *cur_col, u_int wrap) 536{ 537 return (ahd_print_register(NULL, 0, "LQRSVD16", 538 0x35, regvalue, cur_col, wrap)); 539} 540 541int 542ahd_lqrsvd17_print(u_int regvalue, u_int *cur_col, u_int wrap) 543{ 544 return (ahd_print_register(NULL, 0, "LQRSVD17", 545 0x36, regvalue, cur_col, wrap)); 546} 547 548int 549ahd_cmdrsvd0_print(u_int regvalue, u_int *cur_col, u_int wrap) 550{ 551 return (ahd_print_register(NULL, 0, "CMDRSVD0", 552 0x37, regvalue, cur_col, wrap)); 553} 554 555static ahd_reg_parse_entry_t LQCTL0_parse_table[] = { 556 { "LQ0INITGCLT", 0x03, 0x03 }, 557 { "LQ0TARGCLT", 0x0c, 0x0c }, 558 { "LQIINITGCLT", 0x30, 0x30 }, 559 { "LQITARGCLT", 0xc0, 0xc0 } 560}; 561 562int 563ahd_lqctl0_print(u_int regvalue, u_int *cur_col, u_int wrap) 564{ 565 return (ahd_print_register(LQCTL0_parse_table, 4, "LQCTL0", 566 0x38, regvalue, cur_col, wrap)); 567} 568 569static ahd_reg_parse_entry_t LQCTL1_parse_table[] = { 570 { "ABORTPENDING", 0x01, 0x01 }, 571 { "SINGLECMD", 0x02, 0x02 }, 572 { "PCI2PCI", 0x04, 0x04 } 573}; 574 575int 576ahd_lqctl1_print(u_int regvalue, u_int *cur_col, u_int wrap) 577{ 578 return (ahd_print_register(LQCTL1_parse_table, 3, "LQCTL1", 579 0x38, regvalue, cur_col, wrap)); 580} 581 582static ahd_reg_parse_entry_t LQCTL2_parse_table[] = { 583 { "LQOPAUSE", 0x01, 0x01 }, 584 { "LQOTOIDLE", 0x02, 0x02 }, 585 { "LQOCONTINUE", 0x04, 0x04 }, 586 { "LQORETRY", 0x08, 0x08 }, 587 { "LQIPAUSE", 0x10, 0x10 }, 588 { "LQITOIDLE", 0x20, 0x20 }, 589 { "LQICONTINUE", 0x40, 0x40 }, 590 { "LQIRETRY", 0x80, 0x80 } 591}; 592 593int 594ahd_lqctl2_print(u_int regvalue, u_int *cur_col, u_int wrap) 595{ 596 return (ahd_print_register(LQCTL2_parse_table, 8, "LQCTL2", 597 0x39, regvalue, cur_col, wrap)); 598} 599 600static ahd_reg_parse_entry_t SCSBIST0_parse_table[] = { 601 { "OSBISTRUN", 0x01, 0x01 }, 602 { "OSBISTDONE", 0x02, 0x02 }, 603 { "OSBISTERR", 0x04, 0x04 }, 604 { "GSBISTRUN", 0x10, 0x10 }, 605 { "GSBISTDONE", 0x20, 0x20 }, 606 { "GSBISTERR", 0x40, 0x40 } 607}; 608 609int 610ahd_scsbist0_print(u_int regvalue, u_int *cur_col, u_int wrap) 611{ 612 return (ahd_print_register(SCSBIST0_parse_table, 6, "SCSBIST0", 613 0x39, regvalue, cur_col, wrap)); 614} 615 616static ahd_reg_parse_entry_t SCSISEQ0_parse_table[] = { 617 { "SCSIRSTO", 0x01, 0x01 }, 618 { "FORCEBUSFREE", 0x10, 0x10 }, 619 { "ENARBO", 0x20, 0x20 }, 620 { "ENSELO", 0x40, 0x40 }, 621 { "TEMODEO", 0x80, 0x80 } 622}; 623 624int 625ahd_scsiseq0_print(u_int regvalue, u_int *cur_col, u_int wrap) 626{ 627 return (ahd_print_register(SCSISEQ0_parse_table, 5, "SCSISEQ0", 628 0x3a, regvalue, cur_col, wrap)); 629} 630 631static ahd_reg_parse_entry_t SCSBIST1_parse_table[] = { 632 { "NTBISTRUN", 0x01, 0x01 }, 633 { "NTBISTDONE", 0x02, 0x02 }, 634 { "NTBISTERR", 0x04, 0x04 } 635}; 636 637int 638ahd_scsbist1_print(u_int regvalue, u_int *cur_col, u_int wrap) 639{ 640 return (ahd_print_register(SCSBIST1_parse_table, 3, "SCSBIST1", 641 0x3a, regvalue, cur_col, wrap)); 642} 643 644static ahd_reg_parse_entry_t SCSISEQ1_parse_table[] = { 645 { "ALTSTIM", 0x01, 0x01 }, 646 { "ENAUTOATNP", 0x02, 0x02 }, 647 { "MANUALP", 0x0c, 0x0c }, 648 { "ENRSELI", 0x10, 0x10 }, 649 { "ENSELI", 0x20, 0x20 }, 650 { "MANUALCTL", 0x40, 0x40 } 651}; 652 653int 654ahd_scsiseq1_print(u_int regvalue, u_int *cur_col, u_int wrap) 655{ 656 return (ahd_print_register(SCSISEQ1_parse_table, 6, "SCSISEQ1", 657 0x3b, regvalue, cur_col, wrap)); 658} 659 660int 661ahd_businitid_print(u_int regvalue, u_int *cur_col, u_int wrap) 662{ 663 return (ahd_print_register(NULL, 0, "BUSINITID", 664 0x3c, regvalue, cur_col, wrap)); 665} 666 667static ahd_reg_parse_entry_t SXFRCTL0_parse_table[] = { 668 { "SPIOEN", 0x08, 0x08 }, 669 { "BIOSCANCELEN", 0x10, 0x10 }, 670 { "DFPEXP", 0x40, 0x40 }, 671 { "DFON", 0x80, 0x80 } 672}; 673 674int 675ahd_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap) 676{ 677 return (ahd_print_register(SXFRCTL0_parse_table, 4, "SXFRCTL0", 678 0x3c, regvalue, cur_col, wrap)); 679} 680 681int 682ahd_dlcount_print(u_int regvalue, u_int *cur_col, u_int wrap) 683{ 684 return (ahd_print_register(NULL, 0, "DLCOUNT", 685 0x3c, regvalue, cur_col, wrap)); 686} 687 688static ahd_reg_parse_entry_t SXFRCTL1_parse_table[] = { 689 { "STPWEN", 0x01, 0x01 }, 690 { "ACTNEGEN", 0x02, 0x02 }, 691 { "ENSTIMER", 0x04, 0x04 }, 692 { "STIMESEL", 0x18, 0x18 }, 693 { "ENSPCHK", 0x20, 0x20 }, 694 { "ENSACHK", 0x40, 0x40 }, 695 { "BITBUCKET", 0x80, 0x80 } 696}; 697 698int 699ahd_sxfrctl1_print(u_int regvalue, u_int *cur_col, u_int wrap) 700{ 701 return (ahd_print_register(SXFRCTL1_parse_table, 7, "SXFRCTL1", 702 0x3d, regvalue, cur_col, wrap)); 703} 704 705int 706ahd_bustargid_print(u_int regvalue, u_int *cur_col, u_int wrap) 707{ 708 return (ahd_print_register(NULL, 0, "BUSTARGID", 709 0x3e, regvalue, cur_col, wrap)); 710} 711 712static ahd_reg_parse_entry_t SXFRCTL2_parse_table[] = { 713 { "ASU", 0x07, 0x07 }, 714 { "CMDDMAEN", 0x08, 0x08 }, 715 { "AUTORSTDIS", 0x10, 0x10 } 716}; 717 718int 719ahd_sxfrctl2_print(u_int regvalue, u_int *cur_col, u_int wrap) 720{ 721 return (ahd_print_register(SXFRCTL2_parse_table, 3, "SXFRCTL2", 722 0x3e, regvalue, cur_col, wrap)); 723} 724 725static ahd_reg_parse_entry_t DFFSTAT_parse_table[] = { 726 { "CURRFIFO_0", 0x00, 0x03 }, 727 { "CURRFIFO_1", 0x01, 0x03 }, 728 { "CURRFIFO_NONE", 0x03, 0x03 }, 729 { "FIFO0FREE", 0x10, 0x10 }, 730 { "FIFO1FREE", 0x20, 0x20 }, 731 { "CURRFIFO", 0x03, 0x03 } 732}; 733 734int 735ahd_dffstat_print(u_int regvalue, u_int *cur_col, u_int wrap) 736{ 737 return (ahd_print_register(DFFSTAT_parse_table, 6, "DFFSTAT", 738 0x3f, regvalue, cur_col, wrap)); 739} 740 741static ahd_reg_parse_entry_t SCSISIGO_parse_table[] = { 742 { "P_DATAOUT", 0x00, 0xe0 }, 743 { "P_DATAOUT_DT", 0x20, 0xe0 }, 744 { "P_DATAIN", 0x40, 0xe0 }, 745 { "P_DATAIN_DT", 0x60, 0xe0 }, 746 { "P_COMMAND", 0x80, 0xe0 }, 747 { "P_MESGOUT", 0xa0, 0xe0 }, 748 { "P_STATUS", 0xc0, 0xe0 }, 749 { "P_MESGIN", 0xe0, 0xe0 }, 750 { "ACKO", 0x01, 0x01 }, 751 { "REQO", 0x02, 0x02 }, 752 { "BSYO", 0x04, 0x04 }, 753 { "SELO", 0x08, 0x08 }, 754 { "ATNO", 0x10, 0x10 }, 755 { "MSGO", 0x20, 0x20 }, 756 { "IOO", 0x40, 0x40 }, 757 { "CDO", 0x80, 0x80 }, 758 { "PHASE_MASK", 0xe0, 0xe0 } 759}; 760 761int 762ahd_scsisigo_print(u_int regvalue, u_int *cur_col, u_int wrap) 763{ 764 return (ahd_print_register(SCSISIGO_parse_table, 17, "SCSISIGO", 765 0x40, regvalue, cur_col, wrap)); 766} 767 768int 769ahd_multargid_print(u_int regvalue, u_int *cur_col, u_int wrap) 770{ 771 return (ahd_print_register(NULL, 0, "MULTARGID", 772 0x40, regvalue, cur_col, wrap)); 773} 774 775static ahd_reg_parse_entry_t SCSISIGI_parse_table[] = { 776 { "P_DATAOUT", 0x00, 0xe0 }, 777 { "P_DATAOUT_DT", 0x20, 0xe0 }, 778 { "P_DATAIN", 0x40, 0xe0 }, 779 { "P_DATAIN_DT", 0x60, 0xe0 }, 780 { "P_COMMAND", 0x80, 0xe0 }, 781 { "P_MESGOUT", 0xa0, 0xe0 }, 782 { "P_STATUS", 0xc0, 0xe0 }, 783 { "P_MESGIN", 0xe0, 0xe0 }, 784 { "ACKI", 0x01, 0x01 }, 785 { "REQI", 0x02, 0x02 }, 786 { "BSYI", 0x04, 0x04 }, 787 { "SELI", 0x08, 0x08 }, 788 { "ATNI", 0x10, 0x10 }, 789 { "MSGI", 0x20, 0x20 }, 790 { "IOI", 0x40, 0x40 }, 791 { "CDI", 0x80, 0x80 }, 792 { "PHASE_MASK", 0xe0, 0xe0 } 793}; 794 795int 796ahd_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap) 797{ 798 return (ahd_print_register(SCSISIGI_parse_table, 17, "SCSISIGI", 799 0x41, regvalue, cur_col, wrap)); 800} 801 802static ahd_reg_parse_entry_t SCSIPHASE_parse_table[] = { 803 { "DATA_OUT_PHASE", 0x01, 0x03 }, 804 { "DATA_IN_PHASE", 0x02, 0x03 }, 805 { "DATA_PHASE_MASK", 0x03, 0x03 }, 806 { "MSG_OUT_PHASE", 0x04, 0x04 }, 807 { "MSG_IN_PHASE", 0x08, 0x08 }, 808 { "COMMAND_PHASE", 0x10, 0x10 }, 809 { "STATUS_PHASE", 0x20, 0x20 } 810}; 811 812int 813ahd_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap) 814{ 815 return (ahd_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE", 816 0x42, regvalue, cur_col, wrap)); 817} 818 819int 820ahd_scsidat0_img_print(u_int regvalue, u_int *cur_col, u_int wrap) 821{ 822 return (ahd_print_register(NULL, 0, "SCSIDAT0_IMG", 823 0x43, regvalue, cur_col, wrap)); 824} 825 826int 827ahd_scsidat_print(u_int regvalue, u_int *cur_col, u_int wrap) 828{ 829 return (ahd_print_register(NULL, 0, "SCSIDAT", 830 0x44, regvalue, cur_col, wrap)); 831} 832 833int 834ahd_scsibus_print(u_int regvalue, u_int *cur_col, u_int wrap) 835{ 836 return (ahd_print_register(NULL, 0, "SCSIBUS", 837 0x46, regvalue, cur_col, wrap)); 838} 839 840static ahd_reg_parse_entry_t TARGIDIN_parse_table[] = { 841 { "TARGID", 0x0f, 0x0f }, 842 { "CLKOUT", 0x80, 0x80 } 843}; 844 845int 846ahd_targidin_print(u_int regvalue, u_int *cur_col, u_int wrap) 847{ 848 return (ahd_print_register(TARGIDIN_parse_table, 2, "TARGIDIN", 849 0x48, regvalue, cur_col, wrap)); 850} 851 852static ahd_reg_parse_entry_t SELID_parse_table[] = { 853 { "ONEBIT", 0x08, 0x08 }, 854 { "SELID_MASK", 0xf0, 0xf0 } 855}; 856 857int 858ahd_selid_print(u_int regvalue, u_int *cur_col, u_int wrap) 859{ 860 return (ahd_print_register(SELID_parse_table, 2, "SELID", 861 0x49, regvalue, cur_col, wrap)); 862} 863 864static ahd_reg_parse_entry_t OPTIONMODE_parse_table[] = { 865 { "AUTO_MSGOUT_DE", 0x02, 0x02 }, 866 { "ENDGFORMCHK", 0x04, 0x04 }, 867 { "BUSFREEREV", 0x10, 0x10 }, 868 { "BIASCANCTL", 0x20, 0x20 }, 869 { "AUTOACKEN", 0x40, 0x40 }, 870 { "BIOSCANCTL", 0x80, 0x80 }, 871 { "OPTIONMODE_DEFAULTS",0x02, 0x02 } 872}; 873 874int 875ahd_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap) 876{ 877 return (ahd_print_register(OPTIONMODE_parse_table, 7, "OPTIONMODE", 878 0x4a, regvalue, cur_col, wrap)); 879} 880 881static ahd_reg_parse_entry_t SBLKCTL_parse_table[] = { 882 { "SELWIDE", 0x02, 0x02 }, 883 { "ENAB20", 0x04, 0x04 }, 884 { "ENAB40", 0x08, 0x08 }, 885 { "DIAGLEDON", 0x40, 0x40 }, 886 { "DIAGLEDEN", 0x80, 0x80 } 887}; 888 889int 890ahd_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 891{ 892 return (ahd_print_register(SBLKCTL_parse_table, 5, "SBLKCTL", 893 0x4a, regvalue, cur_col, wrap)); 894} 895 896static ahd_reg_parse_entry_t SIMODE0_parse_table[] = { 897 { "ENARBDO", 0x01, 0x01 }, 898 { "ENSPIORDY", 0x02, 0x02 }, 899 { "ENOVERRUN", 0x04, 0x04 }, 900 { "ENIOERR", 0x08, 0x08 }, 901 { "ENSELINGO", 0x10, 0x10 }, 902 { "ENSELDI", 0x20, 0x20 }, 903 { "ENSELDO", 0x40, 0x40 } 904}; 905 906int 907ahd_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap) 908{ 909 return (ahd_print_register(SIMODE0_parse_table, 7, "SIMODE0", 910 0x4b, regvalue, cur_col, wrap)); 911} 912 913static ahd_reg_parse_entry_t SSTAT0_parse_table[] = { 914 { "ARBDO", 0x01, 0x01 }, 915 { "SPIORDY", 0x02, 0x02 }, 916 { "OVERRUN", 0x04, 0x04 }, 917 { "IOERR", 0x08, 0x08 }, 918 { "SELINGO", 0x10, 0x10 }, 919 { "SELDI", 0x20, 0x20 }, 920 { "SELDO", 0x40, 0x40 }, 921 { "TARGET", 0x80, 0x80 } 922}; 923 924int 925ahd_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap) 926{ 927 return (ahd_print_register(SSTAT0_parse_table, 8, "SSTAT0", 928 0x4b, regvalue, cur_col, wrap)); 929} 930 931static ahd_reg_parse_entry_t CLRSINT0_parse_table[] = { 932 { "CLRARBDO", 0x01, 0x01 }, 933 { "CLRSPIORDY", 0x02, 0x02 }, 934 { "CLROVERRUN", 0x04, 0x04 }, 935 { "CLRIOERR", 0x08, 0x08 }, 936 { "CLRSELINGO", 0x10, 0x10 }, 937 { "CLRSELDI", 0x20, 0x20 }, 938 { "CLRSELDO", 0x40, 0x40 } 939}; 940 941int 942ahd_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap) 943{ 944 return (ahd_print_register(CLRSINT0_parse_table, 7, "CLRSINT0", 945 0x4b, regvalue, cur_col, wrap)); 946} 947 948static ahd_reg_parse_entry_t SSTAT1_parse_table[] = { 949 { "REQINIT", 0x01, 0x01 }, 950 { "STRB2FAST", 0x02, 0x02 }, 951 { "SCSIPERR", 0x04, 0x04 }, 952 { "BUSFREE", 0x08, 0x08 }, 953 { "PHASEMIS", 0x10, 0x10 }, 954 { "SCSIRSTI", 0x20, 0x20 }, 955 { "ATNTARG", 0x40, 0x40 }, 956 { "SELTO", 0x80, 0x80 } 957}; 958 959int 960ahd_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap) 961{ 962 return (ahd_print_register(SSTAT1_parse_table, 8, "SSTAT1", 963 0x4c, regvalue, cur_col, wrap)); 964} 965 966static ahd_reg_parse_entry_t CLRSINT1_parse_table[] = { 967 { "CLRREQINIT", 0x01, 0x01 }, 968 { "CLRSTRB2FAST", 0x02, 0x02 }, 969 { "CLRSCSIPERR", 0x04, 0x04 }, 970 { "CLRBUSFREE", 0x08, 0x08 }, 971 { "CLRSCSIRSTI", 0x20, 0x20 }, 972 { "CLRATNO", 0x40, 0x40 }, 973 { "CLRSELTIMEO", 0x80, 0x80 } 974}; 975 976int 977ahd_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap) 978{ 979 return (ahd_print_register(CLRSINT1_parse_table, 7, "CLRSINT1", 980 0x4c, regvalue, cur_col, wrap)); 981} 982 983static ahd_reg_parse_entry_t SSTAT2_parse_table[] = { 984 { "BUSFREE_LQO", 0x40, 0xc0 }, 985 { "BUSFREE_DFF0", 0x80, 0xc0 }, 986 { "BUSFREE_DFF1", 0xc0, 0xc0 }, 987 { "DMADONE", 0x01, 0x01 }, 988 { "SDONE", 0x02, 0x02 }, 989 { "WIDE_RES", 0x04, 0x04 }, 990 { "BSYX", 0x08, 0x08 }, 991 { "EXP_ACTIVE", 0x10, 0x10 }, 992 { "NONPACKREQ", 0x20, 0x20 }, 993 { "BUSFREETIME", 0xc0, 0xc0 } 994}; 995 996int 997ahd_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap) 998{ 999 return (ahd_print_register(SSTAT2_parse_table, 10, "SSTAT2", 1000 0x4d, regvalue, cur_col, wrap)); 1001} 1002 1003static ahd_reg_parse_entry_t CLRSINT2_parse_table[] = { 1004 { "CLRDMADONE", 0x01, 0x01 }, 1005 { "CLRSDONE", 0x02, 0x02 }, 1006 { "CLRWIDE_RES", 0x04, 0x04 }, 1007 { "CLRNONPACKREQ", 0x20, 0x20 } 1008}; 1009 1010int 1011ahd_clrsint2_print(u_int regvalue, u_int *cur_col, u_int wrap) 1012{ 1013 return (ahd_print_register(CLRSINT2_parse_table, 4, "CLRSINT2", 1014 0x4d, regvalue, cur_col, wrap)); 1015} 1016 1017static ahd_reg_parse_entry_t SIMODE2_parse_table[] = { 1018 { "ENDMADONE", 0x01, 0x01 }, 1019 { "ENSDONE", 0x02, 0x02 }, 1020 { "ENWIDE_RES", 0x04, 0x04 } 1021}; 1022 1023int 1024ahd_simode2_print(u_int regvalue, u_int *cur_col, u_int wrap) 1025{ 1026 return (ahd_print_register(SIMODE2_parse_table, 3, "SIMODE2", 1027 0x4d, regvalue, cur_col, wrap)); 1028} 1029 1030static ahd_reg_parse_entry_t PERRDIAG_parse_table[] = { 1031 { "DTERR", 0x01, 0x01 }, 1032 { "DGFORMERR", 0x02, 0x02 }, 1033 { "CRCERR", 0x04, 0x04 }, 1034 { "AIPERR", 0x08, 0x08 }, 1035 { "PARITYERR", 0x10, 0x10 }, 1036 { "PREVPHASE", 0x20, 0x20 }, 1037 { "HIPERR", 0x40, 0x40 }, 1038 { "HIZERO", 0x80, 0x80 } 1039}; 1040 1041int 1042ahd_perrdiag_print(u_int regvalue, u_int *cur_col, u_int wrap) 1043{ 1044 return (ahd_print_register(PERRDIAG_parse_table, 8, "PERRDIAG", 1045 0x4e, regvalue, cur_col, wrap)); 1046} 1047 1048int 1049ahd_lqistate_print(u_int regvalue, u_int *cur_col, u_int wrap) 1050{ 1051 return (ahd_print_register(NULL, 0, "LQISTATE", 1052 0x4e, regvalue, cur_col, wrap)); 1053} 1054 1055int 1056ahd_soffcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 1057{ 1058 return (ahd_print_register(NULL, 0, "SOFFCNT", 1059 0x4f, regvalue, cur_col, wrap)); 1060} 1061 1062int 1063ahd_lqostate_print(u_int regvalue, u_int *cur_col, u_int wrap) 1064{ 1065 return (ahd_print_register(NULL, 0, "LQOSTATE", 1066 0x4f, regvalue, cur_col, wrap)); 1067} 1068 1069static ahd_reg_parse_entry_t LQISTAT0_parse_table[] = { 1070 { "LQIATNCMD", 0x01, 0x01 }, 1071 { "LQIATNLQ", 0x02, 0x02 }, 1072 { "LQIBADLQT", 0x04, 0x04 }, 1073 { "LQICRCT2", 0x08, 0x08 }, 1074 { "LQICRCT1", 0x10, 0x10 }, 1075 { "LQIATNQAS", 0x20, 0x20 } 1076}; 1077 1078int 1079ahd_lqistat0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1080{ 1081 return (ahd_print_register(LQISTAT0_parse_table, 6, "LQISTAT0", 1082 0x50, regvalue, cur_col, wrap)); 1083} 1084 1085static ahd_reg_parse_entry_t CLRLQIINT0_parse_table[] = { 1086 { "CLRLQIATNCMD", 0x01, 0x01 }, 1087 { "CLRLQIATNLQ", 0x02, 0x02 }, 1088 { "CLRLQIBADLQT", 0x04, 0x04 }, 1089 { "CLRLQICRCT2", 0x08, 0x08 }, 1090 { "CLRLQICRCT1", 0x10, 0x10 }, 1091 { "CLRLQIATNQAS", 0x20, 0x20 } 1092}; 1093 1094int 1095ahd_clrlqiint0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1096{ 1097 return (ahd_print_register(CLRLQIINT0_parse_table, 6, "CLRLQIINT0", 1098 0x50, regvalue, cur_col, wrap)); 1099} 1100 1101static ahd_reg_parse_entry_t LQIMODE0_parse_table[] = { 1102 { "ENLQIATNCMD", 0x01, 0x01 }, 1103 { "ENLQIATNLQ", 0x02, 0x02 }, 1104 { "ENLQIBADLQT", 0x04, 0x04 }, 1105 { "ENLQICRCT2", 0x08, 0x08 }, 1106 { "ENLQICRCT1", 0x10, 0x10 }, 1107 { "ENLQIATNQASK", 0x20, 0x20 } 1108}; 1109 1110int 1111ahd_lqimode0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1112{ 1113 return (ahd_print_register(LQIMODE0_parse_table, 6, "LQIMODE0", 1114 0x50, regvalue, cur_col, wrap)); 1115} 1116 1117static ahd_reg_parse_entry_t LQISTAT1_parse_table[] = { 1118 { "LQIOVERI_NLQ", 0x01, 0x01 }, 1119 { "LQIOVERI_LQ", 0x02, 0x02 }, 1120 { "LQIBADLQI", 0x04, 0x04 }, 1121 { "LQICRCI_NLQ", 0x08, 0x08 }, 1122 { "LQICRCI_LQ", 0x10, 0x10 }, 1123 { "LQIABORT", 0x20, 0x20 }, 1124 { "LQIPHASE_NLQ", 0x40, 0x40 }, 1125 { "LQIPHASE_LQ", 0x80, 0x80 } 1126}; 1127 1128int 1129ahd_lqistat1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1130{ 1131 return (ahd_print_register(LQISTAT1_parse_table, 8, "LQISTAT1", 1132 0x51, regvalue, cur_col, wrap)); 1133} 1134 1135static ahd_reg_parse_entry_t CLRLQIINT1_parse_table[] = { 1136 { "CLRLQIOVERI_NLQ", 0x01, 0x01 }, 1137 { "CLRLQIOVERI_LQ", 0x02, 0x02 }, 1138 { "CLRLQIBADLQI", 0x04, 0x04 }, 1139 { "CLRLQICRCI_NLQ", 0x08, 0x08 }, 1140 { "CLRLQICRCI_LQ", 0x10, 0x10 }, 1141 { "CLRLIQABORT", 0x20, 0x20 }, 1142 { "CLRLQIPHASE_NLQ", 0x40, 0x40 }, 1143 { "CLRLQIPHASE_LQ", 0x80, 0x80 } 1144}; 1145 1146int 1147ahd_clrlqiint1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1148{ 1149 return (ahd_print_register(CLRLQIINT1_parse_table, 8, "CLRLQIINT1", 1150 0x51, regvalue, cur_col, wrap)); 1151} 1152 1153static ahd_reg_parse_entry_t LQIMODE1_parse_table[] = { 1154 { "ENLQIOVERI_NLQ", 0x01, 0x01 }, 1155 { "ENLQIOVERI_LQ", 0x02, 0x02 }, 1156 { "ENLQIBADLQI", 0x04, 0x04 }, 1157 { "ENLQICRCI_NLQ", 0x08, 0x08 }, 1158 { "ENLQICRCI_LQ", 0x10, 0x10 }, 1159 { "ENLIQABORT", 0x20, 0x20 }, 1160 { "ENLQIPHASE_NLQ", 0x40, 0x40 }, 1161 { "ENLQIPHASE_LQ", 0x80, 0x80 } 1162}; 1163 1164int 1165ahd_lqimode1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1166{ 1167 return (ahd_print_register(LQIMODE1_parse_table, 8, "LQIMODE1", 1168 0x51, regvalue, cur_col, wrap)); 1169} 1170 1171static ahd_reg_parse_entry_t LQISTAT2_parse_table[] = { 1172 { "LQIGSAVAIL", 0x01, 0x01 }, 1173 { "LQISTOPCMD", 0x02, 0x02 }, 1174 { "LQISTOPLQ", 0x04, 0x04 }, 1175 { "LQISTOPPKT", 0x08, 0x08 }, 1176 { "LQIWAITFIFO", 0x10, 0x10 }, 1177 { "LQIWORKONLQ", 0x20, 0x20 }, 1178 { "LQIPHASE_OUTPKT", 0x40, 0x40 }, 1179 { "PACKETIZED", 0x80, 0x80 } 1180}; 1181 1182int 1183ahd_lqistat2_print(u_int regvalue, u_int *cur_col, u_int wrap) 1184{ 1185 return (ahd_print_register(LQISTAT2_parse_table, 8, "LQISTAT2", 1186 0x52, regvalue, cur_col, wrap)); 1187} 1188 1189static ahd_reg_parse_entry_t SSTAT3_parse_table[] = { 1190 { "OSRAMPERR", 0x01, 0x01 }, 1191 { "NTRAMPERR", 0x02, 0x02 } 1192}; 1193 1194int 1195ahd_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap) 1196{ 1197 return (ahd_print_register(SSTAT3_parse_table, 2, "SSTAT3", 1198 0x53, regvalue, cur_col, wrap)); 1199} 1200 1201static ahd_reg_parse_entry_t CLRSINT3_parse_table[] = { 1202 { "CLROSRAMPERR", 0x01, 0x01 }, 1203 { "CLRNTRAMPERR", 0x02, 0x02 } 1204}; 1205 1206int 1207ahd_clrsint3_print(u_int regvalue, u_int *cur_col, u_int wrap) 1208{ 1209 return (ahd_print_register(CLRSINT3_parse_table, 2, "CLRSINT3", 1210 0x53, regvalue, cur_col, wrap)); 1211} 1212 1213static ahd_reg_parse_entry_t SIMODE3_parse_table[] = { 1214 { "ENOSRAMPERR", 0x01, 0x01 }, 1215 { "ENNTRAMPERR", 0x02, 0x02 } 1216}; 1217 1218int 1219ahd_simode3_print(u_int regvalue, u_int *cur_col, u_int wrap) 1220{ 1221 return (ahd_print_register(SIMODE3_parse_table, 2, "SIMODE3", 1222 0x53, regvalue, cur_col, wrap)); 1223} 1224 1225static ahd_reg_parse_entry_t LQOMODE0_parse_table[] = { 1226 { "ENLQOTCRC", 0x01, 0x01 }, 1227 { "ENLQOATNPKT", 0x02, 0x02 }, 1228 { "ENLQOATNLQ", 0x04, 0x04 }, 1229 { "ENLQOSTOPT2", 0x08, 0x08 }, 1230 { "ENLQOTARGSCBPERR", 0x10, 0x10 } 1231}; 1232 1233int 1234ahd_lqomode0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1235{ 1236 return (ahd_print_register(LQOMODE0_parse_table, 5, "LQOMODE0", 1237 0x54, regvalue, cur_col, wrap)); 1238} 1239 1240static ahd_reg_parse_entry_t LQOSTAT0_parse_table[] = { 1241 { "LQOTCRC", 0x01, 0x01 }, 1242 { "LQOATNPKT", 0x02, 0x02 }, 1243 { "LQOATNLQ", 0x04, 0x04 }, 1244 { "LQOSTOPT2", 0x08, 0x08 }, 1245 { "LQOTARGSCBPERR", 0x10, 0x10 } 1246}; 1247 1248int 1249ahd_lqostat0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1250{ 1251 return (ahd_print_register(LQOSTAT0_parse_table, 5, "LQOSTAT0", 1252 0x54, regvalue, cur_col, wrap)); 1253} 1254 1255static ahd_reg_parse_entry_t CLRLQOINT0_parse_table[] = { 1256 { "CLRLQOTCRC", 0x01, 0x01 }, 1257 { "CLRLQOATNPKT", 0x02, 0x02 }, 1258 { "CLRLQOATNLQ", 0x04, 0x04 }, 1259 { "CLRLQOSTOPT2", 0x08, 0x08 }, 1260 { "CLRLQOTARGSCBPERR", 0x10, 0x10 } 1261}; 1262 1263int 1264ahd_clrlqoint0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1265{ 1266 return (ahd_print_register(CLRLQOINT0_parse_table, 5, "CLRLQOINT0", 1267 0x54, regvalue, cur_col, wrap)); 1268} 1269 1270static ahd_reg_parse_entry_t LQOMODE1_parse_table[] = { 1271 { "ENLQOPHACHGINPKT", 0x01, 0x01 }, 1272 { "ENLQOBUSFREE", 0x02, 0x02 }, 1273 { "ENLQOBADQAS", 0x04, 0x04 }, 1274 { "ENLQOSTOPI2", 0x08, 0x08 }, 1275 { "ENLQOINITSCBPERR", 0x10, 0x10 } 1276}; 1277 1278int 1279ahd_lqomode1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1280{ 1281 return (ahd_print_register(LQOMODE1_parse_table, 5, "LQOMODE1", 1282 0x55, regvalue, cur_col, wrap)); 1283} 1284 1285static ahd_reg_parse_entry_t LQOSTAT1_parse_table[] = { 1286 { "LQOPHACHGINPKT", 0x01, 0x01 }, 1287 { "LQOBUSFREE", 0x02, 0x02 }, 1288 { "LQOBADQAS", 0x04, 0x04 }, 1289 { "LQOSTOPI2", 0x08, 0x08 }, 1290 { "LQOINITSCBPERR", 0x10, 0x10 } 1291}; 1292 1293int 1294ahd_lqostat1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1295{ 1296 return (ahd_print_register(LQOSTAT1_parse_table, 5, "LQOSTAT1", 1297 0x55, regvalue, cur_col, wrap)); 1298} 1299 1300static ahd_reg_parse_entry_t CLRLQOINT1_parse_table[] = { 1301 { "CLRLQOPHACHGINPKT", 0x01, 0x01 }, 1302 { "CLRLQOBUSFREE", 0x02, 0x02 }, 1303 { "CLRLQOBADQAS", 0x04, 0x04 }, 1304 { "CLRLQOSTOPI2", 0x08, 0x08 }, 1305 { "CLRLQOINITSCBPERR", 0x10, 0x10 } 1306}; 1307 1308int 1309ahd_clrlqoint1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1310{ 1311 return (ahd_print_register(CLRLQOINT1_parse_table, 5, "CLRLQOINT1", 1312 0x55, regvalue, cur_col, wrap)); 1313} 1314 1315int 1316ahd_os_space_cnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 1317{ 1318 return (ahd_print_register(NULL, 0, "OS_SPACE_CNT", 1319 0x56, regvalue, cur_col, wrap)); 1320} 1321 1322static ahd_reg_parse_entry_t LQOSTAT2_parse_table[] = { 1323 { "LQOSTOP0", 0x01, 0x01 }, 1324 { "LQOPHACHGOUTPKT", 0x02, 0x02 }, 1325 { "LQOWAITFIFO", 0x10, 0x10 }, 1326 { "LQOPKT", 0xe0, 0xe0 } 1327}; 1328 1329int 1330ahd_lqostat2_print(u_int regvalue, u_int *cur_col, u_int wrap) 1331{ 1332 return (ahd_print_register(LQOSTAT2_parse_table, 4, "LQOSTAT2", 1333 0x56, regvalue, cur_col, wrap)); 1334} 1335 1336static ahd_reg_parse_entry_t SIMODE1_parse_table[] = { 1337 { "ENREQINIT", 0x01, 0x01 }, 1338 { "ENSTRB2FAST", 0x02, 0x02 }, 1339 { "ENSCSIPERR", 0x04, 0x04 }, 1340 { "ENBUSFREE", 0x08, 0x08 }, 1341 { "ENPHASEMIS", 0x10, 0x10 }, 1342 { "ENSCSIRST", 0x20, 0x20 }, 1343 { "ENATNTARG", 0x40, 0x40 }, 1344 { "ENSELTIMO", 0x80, 0x80 } 1345}; 1346 1347int 1348ahd_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1349{ 1350 return (ahd_print_register(SIMODE1_parse_table, 8, "SIMODE1", 1351 0x57, regvalue, cur_col, wrap)); 1352} 1353 1354int 1355ahd_gsfifo_print(u_int regvalue, u_int *cur_col, u_int wrap) 1356{ 1357 return (ahd_print_register(NULL, 0, "GSFIFO", 1358 0x58, regvalue, cur_col, wrap)); 1359} 1360 1361static ahd_reg_parse_entry_t DFFSXFRCTL_parse_table[] = { 1362 { "RSTCHN", 0x01, 0x01 }, 1363 { "CLRCHN", 0x02, 0x02 }, 1364 { "CLRSHCNT", 0x04, 0x04 }, 1365 { "DFFBITBUCKET", 0x08, 0x08 } 1366}; 1367 1368int 1369ahd_dffsxfrctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 1370{ 1371 return (ahd_print_register(DFFSXFRCTL_parse_table, 4, "DFFSXFRCTL", 1372 0x5a, regvalue, cur_col, wrap)); 1373} 1374 1375int 1376ahd_nextscb_print(u_int regvalue, u_int *cur_col, u_int wrap) 1377{ 1378 return (ahd_print_register(NULL, 0, "NEXTSCB", 1379 0x5a, regvalue, cur_col, wrap)); 1380} 1381 1382static ahd_reg_parse_entry_t LQOSCSCTL_parse_table[] = { 1383 { "LQONOCHKOVER", 0x01, 0x01 }, 1384 { "LQOH2A_VERSION", 0x80, 0x80 } 1385}; 1386 1387int 1388ahd_lqoscsctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 1389{ 1390 return (ahd_print_register(LQOSCSCTL_parse_table, 2, "LQOSCSCTL", 1391 0x5a, regvalue, cur_col, wrap)); 1392} 1393 1394static ahd_reg_parse_entry_t SEQINTSRC_parse_table[] = { 1395 { "CFG4TCMD", 0x01, 0x01 }, 1396 { "CFG4ICMD", 0x02, 0x02 }, 1397 { "CFG4TSTAT", 0x04, 0x04 }, 1398 { "CFG4ISTAT", 0x08, 0x08 }, 1399 { "CFG4DATA", 0x10, 0x10 }, 1400 { "SAVEPTRS", 0x20, 0x20 }, 1401 { "CTXTDONE", 0x40, 0x40 } 1402}; 1403 1404int 1405ahd_seqintsrc_print(u_int regvalue, u_int *cur_col, u_int wrap) 1406{ 1407 return (ahd_print_register(SEQINTSRC_parse_table, 7, "SEQINTSRC", 1408 0x5b, regvalue, cur_col, wrap)); 1409} 1410 1411static ahd_reg_parse_entry_t CLRSEQINTSRC_parse_table[] = { 1412 { "CLRCFG4TCMD", 0x01, 0x01 }, 1413 { "CLRCFG4ICMD", 0x02, 0x02 }, 1414 { "CLRCFG4TSTAT", 0x04, 0x04 }, 1415 { "CLRCFG4ISTAT", 0x08, 0x08 }, 1416 { "CLRCFG4DATA", 0x10, 0x10 }, 1417 { "CLRSAVEPTRS", 0x20, 0x20 }, 1418 { "CLRCTXTDONE", 0x40, 0x40 } 1419}; 1420 1421int 1422ahd_clrseqintsrc_print(u_int regvalue, u_int *cur_col, u_int wrap) 1423{ 1424 return (ahd_print_register(CLRSEQINTSRC_parse_table, 7, "CLRSEQINTSRC", 1425 0x5b, regvalue, cur_col, wrap)); 1426} 1427 1428int 1429ahd_currscb_print(u_int regvalue, u_int *cur_col, u_int wrap) 1430{ 1431 return (ahd_print_register(NULL, 0, "CURRSCB", 1432 0x5c, regvalue, cur_col, wrap)); 1433} 1434 1435static ahd_reg_parse_entry_t SEQIMODE_parse_table[] = { 1436 { "ENCFG4TCMD", 0x01, 0x01 }, 1437 { "ENCFG4ICMD", 0x02, 0x02 }, 1438 { "ENCFG4TSTAT", 0x04, 0x04 }, 1439 { "ENCFG4ISTAT", 0x08, 0x08 }, 1440 { "ENCFG4DATA", 0x10, 0x10 }, 1441 { "ENSAVEPTRS", 0x20, 0x20 }, 1442 { "ENCTXTDONE", 0x40, 0x40 } 1443}; 1444 1445int 1446ahd_seqimode_print(u_int regvalue, u_int *cur_col, u_int wrap) 1447{ 1448 return (ahd_print_register(SEQIMODE_parse_table, 7, "SEQIMODE", 1449 0x5c, regvalue, cur_col, wrap)); 1450} 1451 1452static ahd_reg_parse_entry_t MDFFSTAT_parse_table[] = { 1453 { "FIFOFREE", 0x01, 0x01 }, 1454 { "DATAINFIFO", 0x02, 0x02 }, 1455 { "DLZERO", 0x04, 0x04 }, 1456 { "SHVALID", 0x08, 0x08 }, 1457 { "LASTSDONE", 0x10, 0x10 }, 1458 { "SHCNTMINUS1", 0x20, 0x20 }, 1459 { "SHCNTNEGATIVE", 0x40, 0x40 } 1460}; 1461 1462int 1463ahd_mdffstat_print(u_int regvalue, u_int *cur_col, u_int wrap) 1464{ 1465 return (ahd_print_register(MDFFSTAT_parse_table, 7, "MDFFSTAT", 1466 0x5d, regvalue, cur_col, wrap)); 1467} 1468 1469static ahd_reg_parse_entry_t CRCCONTROL_parse_table[] = { 1470 { "CRCVALCHKEN", 0x40, 0x40 } 1471}; 1472 1473int 1474ahd_crccontrol_print(u_int regvalue, u_int *cur_col, u_int wrap) 1475{ 1476 return (ahd_print_register(CRCCONTROL_parse_table, 1, "CRCCONTROL", 1477 0x5d, regvalue, cur_col, wrap)); 1478} 1479 1480static ahd_reg_parse_entry_t SCSITEST_parse_table[] = { 1481 { "SEL_TXPLL_DEBUG", 0x04, 0x04 }, 1482 { "CNTRTEST", 0x08, 0x08 } 1483}; 1484 1485int 1486ahd_scsitest_print(u_int regvalue, u_int *cur_col, u_int wrap) 1487{ 1488 return (ahd_print_register(SCSITEST_parse_table, 2, "SCSITEST", 1489 0x5e, regvalue, cur_col, wrap)); 1490} 1491 1492int 1493ahd_dfftag_print(u_int regvalue, u_int *cur_col, u_int wrap) 1494{ 1495 return (ahd_print_register(NULL, 0, "DFFTAG", 1496 0x5e, regvalue, cur_col, wrap)); 1497} 1498 1499int 1500ahd_lastscb_print(u_int regvalue, u_int *cur_col, u_int wrap) 1501{ 1502 return (ahd_print_register(NULL, 0, "LASTSCB", 1503 0x5e, regvalue, cur_col, wrap)); 1504} 1505 1506static ahd_reg_parse_entry_t IOPDNCTL_parse_table[] = { 1507 { "PDN_DIFFSENSE", 0x01, 0x01 }, 1508 { "PDN_IDIST", 0x04, 0x04 }, 1509 { "DISABLE_OE", 0x80, 0x80 } 1510}; 1511 1512int 1513ahd_iopdnctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 1514{ 1515 return (ahd_print_register(IOPDNCTL_parse_table, 3, "IOPDNCTL", 1516 0x5f, regvalue, cur_col, wrap)); 1517} 1518 1519int 1520ahd_negoaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 1521{ 1522 return (ahd_print_register(NULL, 0, "NEGOADDR", 1523 0x60, regvalue, cur_col, wrap)); 1524} 1525 1526int 1527ahd_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 1528{ 1529 return (ahd_print_register(NULL, 0, "SHADDR", 1530 0x60, regvalue, cur_col, wrap)); 1531} 1532 1533int 1534ahd_dgrpcrci_print(u_int regvalue, u_int *cur_col, u_int wrap) 1535{ 1536 return (ahd_print_register(NULL, 0, "DGRPCRCI", 1537 0x60, regvalue, cur_col, wrap)); 1538} 1539 1540int 1541ahd_negperiod_print(u_int regvalue, u_int *cur_col, u_int wrap) 1542{ 1543 return (ahd_print_register(NULL, 0, "NEGPERIOD", 1544 0x61, regvalue, cur_col, wrap)); 1545} 1546 1547int 1548ahd_packcrci_print(u_int regvalue, u_int *cur_col, u_int wrap) 1549{ 1550 return (ahd_print_register(NULL, 0, "PACKCRCI", 1551 0x62, regvalue, cur_col, wrap)); 1552} 1553 1554int 1555ahd_negoffset_print(u_int regvalue, u_int *cur_col, u_int wrap) 1556{ 1557 return (ahd_print_register(NULL, 0, "NEGOFFSET", 1558 0x62, regvalue, cur_col, wrap)); 1559} 1560 1561static ahd_reg_parse_entry_t NEGPPROPTS_parse_table[] = { 1562 { "PPROPT_IUT", 0x01, 0x01 }, 1563 { "PPROPT_DT", 0x02, 0x02 }, 1564 { "PPROPT_QAS", 0x04, 0x04 }, 1565 { "PPROPT_PACE", 0x08, 0x08 } 1566}; 1567 1568int 1569ahd_negppropts_print(u_int regvalue, u_int *cur_col, u_int wrap) 1570{ 1571 return (ahd_print_register(NEGPPROPTS_parse_table, 4, "NEGPPROPTS", 1572 0x63, regvalue, cur_col, wrap)); 1573} 1574 1575static ahd_reg_parse_entry_t NEGCONOPTS_parse_table[] = { 1576 { "WIDEXFER", 0x01, 0x01 }, 1577 { "ENAUTOATNO", 0x02, 0x02 }, 1578 { "ENAUTOATNI", 0x04, 0x04 }, 1579 { "ENSLOWCRC", 0x08, 0x08 }, 1580 { "RTI_OVRDTRN", 0x10, 0x10 }, 1581 { "RTI_WRTDIS", 0x20, 0x20 }, 1582 { "ENSNAPSHOT", 0x40, 0x40 } 1583}; 1584 1585int 1586ahd_negconopts_print(u_int regvalue, u_int *cur_col, u_int wrap) 1587{ 1588 return (ahd_print_register(NEGCONOPTS_parse_table, 7, "NEGCONOPTS", 1589 0x64, regvalue, cur_col, wrap)); 1590} 1591 1592int 1593ahd_annexcol_print(u_int regvalue, u_int *cur_col, u_int wrap) 1594{ 1595 return (ahd_print_register(NULL, 0, "ANNEXCOL", 1596 0x65, regvalue, cur_col, wrap)); 1597} 1598 1599int 1600ahd_annexdat_print(u_int regvalue, u_int *cur_col, u_int wrap) 1601{ 1602 return (ahd_print_register(NULL, 0, "ANNEXDAT", 1603 0x66, regvalue, cur_col, wrap)); 1604} 1605 1606static ahd_reg_parse_entry_t SCSCHKN_parse_table[] = { 1607 { "LSTSGCLRDIS", 0x01, 0x01 }, 1608 { "SHVALIDSTDIS", 0x02, 0x02 }, 1609 { "DFFACTCLR", 0x04, 0x04 }, 1610 { "SDONEMSKDIS", 0x08, 0x08 }, 1611 { "WIDERESEN", 0x10, 0x10 }, 1612 { "CURRFIFODEF", 0x20, 0x20 }, 1613 { "STSELSKIDDIS", 0x40, 0x40 } 1614}; 1615 1616int 1617ahd_scschkn_print(u_int regvalue, u_int *cur_col, u_int wrap) 1618{ 1619 return (ahd_print_register(SCSCHKN_parse_table, 7, "SCSCHKN", 1620 0x66, regvalue, cur_col, wrap)); 1621} 1622 1623int 1624ahd_iownid_print(u_int regvalue, u_int *cur_col, u_int wrap) 1625{ 1626 return (ahd_print_register(NULL, 0, "IOWNID", 1627 0x67, regvalue, cur_col, wrap)); 1628} 1629 1630int 1631ahd_shcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 1632{ 1633 return (ahd_print_register(NULL, 0, "SHCNT", 1634 0x68, regvalue, cur_col, wrap)); 1635} 1636 1637static ahd_reg_parse_entry_t PLL960CTL0_parse_table[] = { 1638 { "PLL_ENFBM", 0x01, 0x01 }, 1639 { "PLL_DLPF", 0x02, 0x02 }, 1640 { "PLL_ENLPF", 0x04, 0x04 }, 1641 { "PLL_ENLUD", 0x08, 0x08 }, 1642 { "PLL_NS", 0x30, 0x30 }, 1643 { "PLL_PWDN", 0x40, 0x40 }, 1644 { "PLL_VCOSEL", 0x80, 0x80 } 1645}; 1646 1647int 1648ahd_pll960ctl0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1649{ 1650 return (ahd_print_register(PLL960CTL0_parse_table, 7, "PLL960CTL0", 1651 0x68, regvalue, cur_col, wrap)); 1652} 1653 1654static ahd_reg_parse_entry_t PLL960CTL1_parse_table[] = { 1655 { "PLL_RST", 0x01, 0x01 }, 1656 { "PLL_CNTCLR", 0x40, 0x40 }, 1657 { "PLL_CNTEN", 0x80, 0x80 } 1658}; 1659 1660int 1661ahd_pll960ctl1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1662{ 1663 return (ahd_print_register(PLL960CTL1_parse_table, 3, "PLL960CTL1", 1664 0x69, regvalue, cur_col, wrap)); 1665} 1666 1667int 1668ahd_townid_print(u_int regvalue, u_int *cur_col, u_int wrap) 1669{ 1670 return (ahd_print_register(NULL, 0, "TOWNID", 1671 0x69, regvalue, cur_col, wrap)); 1672} 1673 1674int 1675ahd_xsig_print(u_int regvalue, u_int *cur_col, u_int wrap) 1676{ 1677 return (ahd_print_register(NULL, 0, "XSIG", 1678 0x6a, regvalue, cur_col, wrap)); 1679} 1680 1681int 1682ahd_pll960cnt0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1683{ 1684 return (ahd_print_register(NULL, 0, "PLL960CNT0", 1685 0x6a, regvalue, cur_col, wrap)); 1686} 1687 1688int 1689ahd_seloid_print(u_int regvalue, u_int *cur_col, u_int wrap) 1690{ 1691 return (ahd_print_register(NULL, 0, "SELOID", 1692 0x6b, regvalue, cur_col, wrap)); 1693} 1694 1695int 1696ahd_fairness_print(u_int regvalue, u_int *cur_col, u_int wrap) 1697{ 1698 return (ahd_print_register(NULL, 0, "FAIRNESS", 1699 0x6c, regvalue, cur_col, wrap)); 1700} 1701 1702static ahd_reg_parse_entry_t PLL400CTL0_parse_table[] = { 1703 { "PLL_ENFBM", 0x01, 0x01 }, 1704 { "PLL_DLPF", 0x02, 0x02 }, 1705 { "PLL_ENLPF", 0x04, 0x04 }, 1706 { "PLL_ENLUD", 0x08, 0x08 }, 1707 { "PLL_NS", 0x30, 0x30 }, 1708 { "PLL_PWDN", 0x40, 0x40 }, 1709 { "PLL_VCOSEL", 0x80, 0x80 } 1710}; 1711 1712int 1713ahd_pll400ctl0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1714{ 1715 return (ahd_print_register(PLL400CTL0_parse_table, 7, "PLL400CTL0", 1716 0x6c, regvalue, cur_col, wrap)); 1717} 1718 1719static ahd_reg_parse_entry_t PLL400CTL1_parse_table[] = { 1720 { "PLL_RST", 0x01, 0x01 }, 1721 { "PLL_CNTCLR", 0x40, 0x40 }, 1722 { "PLL_CNTEN", 0x80, 0x80 } 1723}; 1724 1725int 1726ahd_pll400ctl1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1727{ 1728 return (ahd_print_register(PLL400CTL1_parse_table, 3, "PLL400CTL1", 1729 0x6d, regvalue, cur_col, wrap)); 1730} 1731 1732int 1733ahd_pll400cnt0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1734{ 1735 return (ahd_print_register(NULL, 0, "PLL400CNT0", 1736 0x6e, regvalue, cur_col, wrap)); 1737} 1738 1739int 1740ahd_unfairness_print(u_int regvalue, u_int *cur_col, u_int wrap) 1741{ 1742 return (ahd_print_register(NULL, 0, "UNFAIRNESS", 1743 0x6e, regvalue, cur_col, wrap)); 1744} 1745 1746int 1747ahd_hodmaadr_print(u_int regvalue, u_int *cur_col, u_int wrap) 1748{ 1749 return (ahd_print_register(NULL, 0, "HODMAADR", 1750 0x70, regvalue, cur_col, wrap)); 1751} 1752 1753int 1754ahd_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 1755{ 1756 return (ahd_print_register(NULL, 0, "HADDR", 1757 0x70, regvalue, cur_col, wrap)); 1758} 1759 1760static ahd_reg_parse_entry_t PLLDELAY_parse_table[] = { 1761 { "SPLIT_DROP_REQ", 0x80, 0x80 } 1762}; 1763 1764int 1765ahd_plldelay_print(u_int regvalue, u_int *cur_col, u_int wrap) 1766{ 1767 return (ahd_print_register(PLLDELAY_parse_table, 1, "PLLDELAY", 1768 0x70, regvalue, cur_col, wrap)); 1769} 1770 1771int 1772ahd_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 1773{ 1774 return (ahd_print_register(NULL, 0, "HCNT", 1775 0x78, regvalue, cur_col, wrap)); 1776} 1777 1778int 1779ahd_hodmacnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 1780{ 1781 return (ahd_print_register(NULL, 0, "HODMACNT", 1782 0x78, regvalue, cur_col, wrap)); 1783} 1784 1785int 1786ahd_hodmaen_print(u_int regvalue, u_int *cur_col, u_int wrap) 1787{ 1788 return (ahd_print_register(NULL, 0, "HODMAEN", 1789 0x7a, regvalue, cur_col, wrap)); 1790} 1791 1792int 1793ahd_scbhaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 1794{ 1795 return (ahd_print_register(NULL, 0, "SCBHADDR", 1796 0x7c, regvalue, cur_col, wrap)); 1797} 1798 1799int 1800ahd_sghaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 1801{ 1802 return (ahd_print_register(NULL, 0, "SGHADDR", 1803 0x7c, regvalue, cur_col, wrap)); 1804} 1805 1806int 1807ahd_scbhcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 1808{ 1809 return (ahd_print_register(NULL, 0, "SCBHCNT", 1810 0x84, regvalue, cur_col, wrap)); 1811} 1812 1813int 1814ahd_sghcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 1815{ 1816 return (ahd_print_register(NULL, 0, "SGHCNT", 1817 0x84, regvalue, cur_col, wrap)); 1818} 1819 1820static ahd_reg_parse_entry_t DFF_THRSH_parse_table[] = { 1821 { "WR_DFTHRSH_MIN", 0x00, 0x70 }, 1822 { "RD_DFTHRSH_MIN", 0x00, 0x07 }, 1823 { "RD_DFTHRSH_25", 0x01, 0x07 }, 1824 { "RD_DFTHRSH_50", 0x02, 0x07 }, 1825 { "RD_DFTHRSH_63", 0x03, 0x07 }, 1826 { "RD_DFTHRSH_75", 0x04, 0x07 }, 1827 { "RD_DFTHRSH_85", 0x05, 0x07 }, 1828 { "RD_DFTHRSH_90", 0x06, 0x07 }, 1829 { "RD_DFTHRSH_MAX", 0x07, 0x07 }, 1830 { "WR_DFTHRSH_25", 0x10, 0x70 }, 1831 { "WR_DFTHRSH_50", 0x20, 0x70 }, 1832 { "WR_DFTHRSH_63", 0x30, 0x70 }, 1833 { "WR_DFTHRSH_75", 0x40, 0x70 }, 1834 { "WR_DFTHRSH_85", 0x50, 0x70 }, 1835 { "WR_DFTHRSH_90", 0x60, 0x70 }, 1836 { "WR_DFTHRSH_MAX", 0x70, 0x70 }, 1837 { "RD_DFTHRSH", 0x07, 0x07 }, 1838 { "WR_DFTHRSH", 0x70, 0x70 } 1839}; 1840 1841int 1842ahd_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap) 1843{ 1844 return (ahd_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH", 1845 0x88, regvalue, cur_col, wrap)); 1846} 1847 1848int 1849ahd_romaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 1850{ 1851 return (ahd_print_register(NULL, 0, "ROMADDR", 1852 0x8a, regvalue, cur_col, wrap)); 1853} 1854 1855static ahd_reg_parse_entry_t ROMCNTRL_parse_table[] = { 1856 { "RDY", 0x01, 0x01 }, 1857 { "REPEAT", 0x02, 0x02 }, 1858 { "ROMSPD", 0x18, 0x18 }, 1859 { "ROMOP", 0xe0, 0xe0 } 1860}; 1861 1862int 1863ahd_romcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap) 1864{ 1865 return (ahd_print_register(ROMCNTRL_parse_table, 4, "ROMCNTRL", 1866 0x8d, regvalue, cur_col, wrap)); 1867} 1868 1869int 1870ahd_romdata_print(u_int regvalue, u_int *cur_col, u_int wrap) 1871{ 1872 return (ahd_print_register(NULL, 0, "ROMDATA", 1873 0x8e, regvalue, cur_col, wrap)); 1874} 1875 1876static ahd_reg_parse_entry_t DCHRXMSG0_parse_table[] = { 1877 { "CFNUM", 0x07, 0x07 }, 1878 { "CDNUM", 0xf8, 0xf8 } 1879}; 1880 1881int 1882ahd_dchrxmsg0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1883{ 1884 return (ahd_print_register(DCHRXMSG0_parse_table, 2, "DCHRXMSG0", 1885 0x90, regvalue, cur_col, wrap)); 1886} 1887 1888static ahd_reg_parse_entry_t OVLYRXMSG0_parse_table[] = { 1889 { "CFNUM", 0x07, 0x07 }, 1890 { "CDNUM", 0xf8, 0xf8 } 1891}; 1892 1893int 1894ahd_ovlyrxmsg0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1895{ 1896 return (ahd_print_register(OVLYRXMSG0_parse_table, 2, "OVLYRXMSG0", 1897 0x90, regvalue, cur_col, wrap)); 1898} 1899 1900static ahd_reg_parse_entry_t CMCRXMSG0_parse_table[] = { 1901 { "CFNUM", 0x07, 0x07 }, 1902 { "CDNUM", 0xf8, 0xf8 } 1903}; 1904 1905int 1906ahd_cmcrxmsg0_print(u_int regvalue, u_int *cur_col, u_int wrap) 1907{ 1908 return (ahd_print_register(CMCRXMSG0_parse_table, 2, "CMCRXMSG0", 1909 0x90, regvalue, cur_col, wrap)); 1910} 1911 1912static ahd_reg_parse_entry_t ROENABLE_parse_table[] = { 1913 { "DCH0ROEN", 0x01, 0x01 }, 1914 { "DCH1ROEN", 0x02, 0x02 }, 1915 { "SGROEN", 0x04, 0x04 }, 1916 { "CMCROEN", 0x08, 0x08 }, 1917 { "OVLYROEN", 0x10, 0x10 }, 1918 { "MSIROEN", 0x20, 0x20 } 1919}; 1920 1921int 1922ahd_roenable_print(u_int regvalue, u_int *cur_col, u_int wrap) 1923{ 1924 return (ahd_print_register(ROENABLE_parse_table, 6, "ROENABLE", 1925 0x90, regvalue, cur_col, wrap)); 1926} 1927 1928static ahd_reg_parse_entry_t DCHRXMSG1_parse_table[] = { 1929 { "CBNUM", 0xff, 0xff } 1930}; 1931 1932int 1933ahd_dchrxmsg1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1934{ 1935 return (ahd_print_register(DCHRXMSG1_parse_table, 1, "DCHRXMSG1", 1936 0x91, regvalue, cur_col, wrap)); 1937} 1938 1939static ahd_reg_parse_entry_t OVLYRXMSG1_parse_table[] = { 1940 { "CBNUM", 0xff, 0xff } 1941}; 1942 1943int 1944ahd_ovlyrxmsg1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1945{ 1946 return (ahd_print_register(OVLYRXMSG1_parse_table, 1, "OVLYRXMSG1", 1947 0x91, regvalue, cur_col, wrap)); 1948} 1949 1950static ahd_reg_parse_entry_t CMCRXMSG1_parse_table[] = { 1951 { "CBNUM", 0xff, 0xff } 1952}; 1953 1954int 1955ahd_cmcrxmsg1_print(u_int regvalue, u_int *cur_col, u_int wrap) 1956{ 1957 return (ahd_print_register(CMCRXMSG1_parse_table, 1, "CMCRXMSG1", 1958 0x91, regvalue, cur_col, wrap)); 1959} 1960 1961static ahd_reg_parse_entry_t NSENABLE_parse_table[] = { 1962 { "DCH0NSEN", 0x01, 0x01 }, 1963 { "DCH1NSEN", 0x02, 0x02 }, 1964 { "SGNSEN", 0x04, 0x04 }, 1965 { "CMCNSEN", 0x08, 0x08 }, 1966 { "OVLYNSEN", 0x10, 0x10 }, 1967 { "MSINSEN", 0x20, 0x20 } 1968}; 1969 1970int 1971ahd_nsenable_print(u_int regvalue, u_int *cur_col, u_int wrap) 1972{ 1973 return (ahd_print_register(NSENABLE_parse_table, 6, "NSENABLE", 1974 0x91, regvalue, cur_col, wrap)); 1975} 1976 1977static ahd_reg_parse_entry_t DCHRXMSG2_parse_table[] = { 1978 { "MINDEX", 0xff, 0xff } 1979}; 1980 1981int 1982ahd_dchrxmsg2_print(u_int regvalue, u_int *cur_col, u_int wrap) 1983{ 1984 return (ahd_print_register(DCHRXMSG2_parse_table, 1, "DCHRXMSG2", 1985 0x92, regvalue, cur_col, wrap)); 1986} 1987 1988static ahd_reg_parse_entry_t OVLYRXMSG2_parse_table[] = { 1989 { "MINDEX", 0xff, 0xff } 1990}; 1991 1992int 1993ahd_ovlyrxmsg2_print(u_int regvalue, u_int *cur_col, u_int wrap) 1994{ 1995 return (ahd_print_register(OVLYRXMSG2_parse_table, 1, "OVLYRXMSG2", 1996 0x92, regvalue, cur_col, wrap)); 1997} 1998 1999static ahd_reg_parse_entry_t CMCRXMSG2_parse_table[] = { 2000 { "MINDEX", 0xff, 0xff } 2001}; 2002 2003int 2004ahd_cmcrxmsg2_print(u_int regvalue, u_int *cur_col, u_int wrap) 2005{ 2006 return (ahd_print_register(CMCRXMSG2_parse_table, 1, "CMCRXMSG2", 2007 0x92, regvalue, cur_col, wrap)); 2008} 2009 2010int 2011ahd_ost_print(u_int regvalue, u_int *cur_col, u_int wrap) 2012{ 2013 return (ahd_print_register(NULL, 0, "OST", 2014 0x92, regvalue, cur_col, wrap)); 2015} 2016 2017static ahd_reg_parse_entry_t DCHRXMSG3_parse_table[] = { 2018 { "MCLASS", 0x0f, 0x0f } 2019}; 2020 2021int 2022ahd_dchrxmsg3_print(u_int regvalue, u_int *cur_col, u_int wrap) 2023{ 2024 return (ahd_print_register(DCHRXMSG3_parse_table, 1, "DCHRXMSG3", 2025 0x93, regvalue, cur_col, wrap)); 2026} 2027 2028static ahd_reg_parse_entry_t OVLYRXMSG3_parse_table[] = { 2029 { "MCLASS", 0x0f, 0x0f } 2030}; 2031 2032int 2033ahd_ovlyrxmsg3_print(u_int regvalue, u_int *cur_col, u_int wrap) 2034{ 2035 return (ahd_print_register(OVLYRXMSG3_parse_table, 1, "OVLYRXMSG3", 2036 0x93, regvalue, cur_col, wrap)); 2037} 2038 2039static ahd_reg_parse_entry_t CMCRXMSG3_parse_table[] = { 2040 { "MCLASS", 0x0f, 0x0f } 2041}; 2042 2043int 2044ahd_cmcrxmsg3_print(u_int regvalue, u_int *cur_col, u_int wrap) 2045{ 2046 return (ahd_print_register(CMCRXMSG3_parse_table, 1, "CMCRXMSG3", 2047 0x93, regvalue, cur_col, wrap)); 2048} 2049 2050static ahd_reg_parse_entry_t PCIXCTL_parse_table[] = { 2051 { "CMPABCDIS", 0x01, 0x01 }, 2052 { "TSCSERREN", 0x02, 0x02 }, 2053 { "SRSPDPEEN", 0x04, 0x04 }, 2054 { "SPLTSTADIS", 0x08, 0x08 }, 2055 { "SPLTSMADIS", 0x10, 0x10 }, 2056 { "UNEXPSCIEN", 0x20, 0x20 }, 2057 { "SERRPULSE", 0x80, 0x80 } 2058}; 2059 2060int 2061ahd_pcixctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2062{ 2063 return (ahd_print_register(PCIXCTL_parse_table, 7, "PCIXCTL", 2064 0x93, regvalue, cur_col, wrap)); 2065} 2066 2067int 2068ahd_cmcseqbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2069{ 2070 return (ahd_print_register(NULL, 0, "CMCSEQBCNT", 2071 0x94, regvalue, cur_col, wrap)); 2072} 2073 2074int 2075ahd_dchseqbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2076{ 2077 return (ahd_print_register(NULL, 0, "DCHSEQBCNT", 2078 0x94, regvalue, cur_col, wrap)); 2079} 2080 2081int 2082ahd_ovlyseqbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2083{ 2084 return (ahd_print_register(NULL, 0, "OVLYSEQBCNT", 2085 0x94, regvalue, cur_col, wrap)); 2086} 2087 2088static ahd_reg_parse_entry_t CMCSPLTSTAT0_parse_table[] = { 2089 { "RXSPLTRSP", 0x01, 0x01 }, 2090 { "RXSCEMSG", 0x02, 0x02 }, 2091 { "RXOVRUN", 0x04, 0x04 }, 2092 { "CNTNOTCMPLT", 0x08, 0x08 }, 2093 { "SCDATBUCKET", 0x10, 0x10 }, 2094 { "SCADERR", 0x20, 0x20 }, 2095 { "SCBCERR", 0x40, 0x40 }, 2096 { "STAETERM", 0x80, 0x80 } 2097}; 2098 2099int 2100ahd_cmcspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2101{ 2102 return (ahd_print_register(CMCSPLTSTAT0_parse_table, 8, "CMCSPLTSTAT0", 2103 0x96, regvalue, cur_col, wrap)); 2104} 2105 2106static ahd_reg_parse_entry_t DCHSPLTSTAT0_parse_table[] = { 2107 { "RXSPLTRSP", 0x01, 0x01 }, 2108 { "RXSCEMSG", 0x02, 0x02 }, 2109 { "RXOVRUN", 0x04, 0x04 }, 2110 { "CNTNOTCMPLT", 0x08, 0x08 }, 2111 { "SCDATBUCKET", 0x10, 0x10 }, 2112 { "SCADERR", 0x20, 0x20 }, 2113 { "SCBCERR", 0x40, 0x40 }, 2114 { "STAETERM", 0x80, 0x80 } 2115}; 2116 2117int 2118ahd_dchspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2119{ 2120 return (ahd_print_register(DCHSPLTSTAT0_parse_table, 8, "DCHSPLTSTAT0", 2121 0x96, regvalue, cur_col, wrap)); 2122} 2123 2124static ahd_reg_parse_entry_t OVLYSPLTSTAT0_parse_table[] = { 2125 { "RXSPLTRSP", 0x01, 0x01 }, 2126 { "RXSCEMSG", 0x02, 0x02 }, 2127 { "RXOVRUN", 0x04, 0x04 }, 2128 { "CNTNOTCMPLT", 0x08, 0x08 }, 2129 { "SCDATBUCKET", 0x10, 0x10 }, 2130 { "SCADERR", 0x20, 0x20 }, 2131 { "SCBCERR", 0x40, 0x40 }, 2132 { "STAETERM", 0x80, 0x80 } 2133}; 2134 2135int 2136ahd_ovlyspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2137{ 2138 return (ahd_print_register(OVLYSPLTSTAT0_parse_table, 8, "OVLYSPLTSTAT0", 2139 0x96, regvalue, cur_col, wrap)); 2140} 2141 2142static ahd_reg_parse_entry_t CMCSPLTSTAT1_parse_table[] = { 2143 { "RXDATABUCKET", 0x01, 0x01 } 2144}; 2145 2146int 2147ahd_cmcspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2148{ 2149 return (ahd_print_register(CMCSPLTSTAT1_parse_table, 1, "CMCSPLTSTAT1", 2150 0x97, regvalue, cur_col, wrap)); 2151} 2152 2153static ahd_reg_parse_entry_t DCHSPLTSTAT1_parse_table[] = { 2154 { "RXDATABUCKET", 0x01, 0x01 } 2155}; 2156 2157int 2158ahd_dchspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2159{ 2160 return (ahd_print_register(DCHSPLTSTAT1_parse_table, 1, "DCHSPLTSTAT1", 2161 0x97, regvalue, cur_col, wrap)); 2162} 2163 2164static ahd_reg_parse_entry_t OVLYSPLTSTAT1_parse_table[] = { 2165 { "RXDATABUCKET", 0x01, 0x01 } 2166}; 2167 2168int 2169ahd_ovlyspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2170{ 2171 return (ahd_print_register(OVLYSPLTSTAT1_parse_table, 1, "OVLYSPLTSTAT1", 2172 0x97, regvalue, cur_col, wrap)); 2173} 2174 2175static ahd_reg_parse_entry_t SGRXMSG0_parse_table[] = { 2176 { "CFNUM", 0x07, 0x07 }, 2177 { "CDNUM", 0xf8, 0xf8 } 2178}; 2179 2180int 2181ahd_sgrxmsg0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2182{ 2183 return (ahd_print_register(SGRXMSG0_parse_table, 2, "SGRXMSG0", 2184 0x98, regvalue, cur_col, wrap)); 2185} 2186 2187static ahd_reg_parse_entry_t SLVSPLTOUTADR0_parse_table[] = { 2188 { "LOWER_ADDR", 0x7f, 0x7f } 2189}; 2190 2191int 2192ahd_slvspltoutadr0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2193{ 2194 return (ahd_print_register(SLVSPLTOUTADR0_parse_table, 1, "SLVSPLTOUTADR0", 2195 0x98, regvalue, cur_col, wrap)); 2196} 2197 2198static ahd_reg_parse_entry_t SGRXMSG1_parse_table[] = { 2199 { "CBNUM", 0xff, 0xff } 2200}; 2201 2202int 2203ahd_sgrxmsg1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2204{ 2205 return (ahd_print_register(SGRXMSG1_parse_table, 1, "SGRXMSG1", 2206 0x99, regvalue, cur_col, wrap)); 2207} 2208 2209static ahd_reg_parse_entry_t SLVSPLTOUTADR1_parse_table[] = { 2210 { "REQ_FNUM", 0x07, 0x07 }, 2211 { "REQ_DNUM", 0xf8, 0xf8 } 2212}; 2213 2214int 2215ahd_slvspltoutadr1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2216{ 2217 return (ahd_print_register(SLVSPLTOUTADR1_parse_table, 2, "SLVSPLTOUTADR1", 2218 0x99, regvalue, cur_col, wrap)); 2219} 2220 2221static ahd_reg_parse_entry_t SGRXMSG2_parse_table[] = { 2222 { "MINDEX", 0xff, 0xff } 2223}; 2224 2225int 2226ahd_sgrxmsg2_print(u_int regvalue, u_int *cur_col, u_int wrap) 2227{ 2228 return (ahd_print_register(SGRXMSG2_parse_table, 1, "SGRXMSG2", 2229 0x9a, regvalue, cur_col, wrap)); 2230} 2231 2232static ahd_reg_parse_entry_t SLVSPLTOUTADR2_parse_table[] = { 2233 { "REQ_BNUM", 0xff, 0xff } 2234}; 2235 2236int 2237ahd_slvspltoutadr2_print(u_int regvalue, u_int *cur_col, u_int wrap) 2238{ 2239 return (ahd_print_register(SLVSPLTOUTADR2_parse_table, 1, "SLVSPLTOUTADR2", 2240 0x9a, regvalue, cur_col, wrap)); 2241} 2242 2243static ahd_reg_parse_entry_t SGRXMSG3_parse_table[] = { 2244 { "MCLASS", 0x0f, 0x0f } 2245}; 2246 2247int 2248ahd_sgrxmsg3_print(u_int regvalue, u_int *cur_col, u_int wrap) 2249{ 2250 return (ahd_print_register(SGRXMSG3_parse_table, 1, "SGRXMSG3", 2251 0x9b, regvalue, cur_col, wrap)); 2252} 2253 2254static ahd_reg_parse_entry_t SLVSPLTOUTADR3_parse_table[] = { 2255 { "RLXORD", 0x10, 0x10 }, 2256 { "TAG_NUM", 0x1f, 0x1f } 2257}; 2258 2259int 2260ahd_slvspltoutadr3_print(u_int regvalue, u_int *cur_col, u_int wrap) 2261{ 2262 return (ahd_print_register(SLVSPLTOUTADR3_parse_table, 2, "SLVSPLTOUTADR3", 2263 0x9b, regvalue, cur_col, wrap)); 2264} 2265 2266static ahd_reg_parse_entry_t SLVSPLTOUTATTR0_parse_table[] = { 2267 { "LOWER_BCNT", 0xff, 0xff } 2268}; 2269 2270int 2271ahd_slvspltoutattr0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2272{ 2273 return (ahd_print_register(SLVSPLTOUTATTR0_parse_table, 1, "SLVSPLTOUTATTR0", 2274 0x9c, regvalue, cur_col, wrap)); 2275} 2276 2277int 2278ahd_sgseqbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2279{ 2280 return (ahd_print_register(NULL, 0, "SGSEQBCNT", 2281 0x9c, regvalue, cur_col, wrap)); 2282} 2283 2284static ahd_reg_parse_entry_t SLVSPLTOUTATTR1_parse_table[] = { 2285 { "CMPLT_FNUM", 0x07, 0x07 }, 2286 { "CMPLT_DNUM", 0xf8, 0xf8 } 2287}; 2288 2289int 2290ahd_slvspltoutattr1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2291{ 2292 return (ahd_print_register(SLVSPLTOUTATTR1_parse_table, 2, "SLVSPLTOUTATTR1", 2293 0x9d, regvalue, cur_col, wrap)); 2294} 2295 2296static ahd_reg_parse_entry_t SLVSPLTOUTATTR2_parse_table[] = { 2297 { "CMPLT_BNUM", 0xff, 0xff } 2298}; 2299 2300int 2301ahd_slvspltoutattr2_print(u_int regvalue, u_int *cur_col, u_int wrap) 2302{ 2303 return (ahd_print_register(SLVSPLTOUTATTR2_parse_table, 1, "SLVSPLTOUTATTR2", 2304 0x9e, regvalue, cur_col, wrap)); 2305} 2306 2307static ahd_reg_parse_entry_t SGSPLTSTAT0_parse_table[] = { 2308 { "RXSPLTRSP", 0x01, 0x01 }, 2309 { "RXSCEMSG", 0x02, 0x02 }, 2310 { "RXOVRUN", 0x04, 0x04 }, 2311 { "CNTNOTCMPLT", 0x08, 0x08 }, 2312 { "SCDATBUCKET", 0x10, 0x10 }, 2313 { "SCADERR", 0x20, 0x20 }, 2314 { "SCBCERR", 0x40, 0x40 }, 2315 { "STAETERM", 0x80, 0x80 } 2316}; 2317 2318int 2319ahd_sgspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2320{ 2321 return (ahd_print_register(SGSPLTSTAT0_parse_table, 8, "SGSPLTSTAT0", 2322 0x9e, regvalue, cur_col, wrap)); 2323} 2324 2325static ahd_reg_parse_entry_t SFUNCT_parse_table[] = { 2326 { "TEST_NUM", 0x0f, 0x0f }, 2327 { "TEST_GROUP", 0xf0, 0xf0 } 2328}; 2329 2330int 2331ahd_sfunct_print(u_int regvalue, u_int *cur_col, u_int wrap) 2332{ 2333 return (ahd_print_register(SFUNCT_parse_table, 2, "SFUNCT", 2334 0x9f, regvalue, cur_col, wrap)); 2335} 2336 2337static ahd_reg_parse_entry_t SGSPLTSTAT1_parse_table[] = { 2338 { "RXDATABUCKET", 0x01, 0x01 } 2339}; 2340 2341int 2342ahd_sgspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2343{ 2344 return (ahd_print_register(SGSPLTSTAT1_parse_table, 1, "SGSPLTSTAT1", 2345 0x9f, regvalue, cur_col, wrap)); 2346} 2347 2348static ahd_reg_parse_entry_t DF0PCISTAT_parse_table[] = { 2349 { "DPR", 0x01, 0x01 }, 2350 { "TWATERR", 0x02, 0x02 }, 2351 { "RDPERR", 0x04, 0x04 }, 2352 { "SCAAPERR", 0x08, 0x08 }, 2353 { "RTA", 0x10, 0x10 }, 2354 { "RMA", 0x20, 0x20 }, 2355 { "SSE", 0x40, 0x40 }, 2356 { "DPE", 0x80, 0x80 } 2357}; 2358 2359int 2360ahd_df0pcistat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2361{ 2362 return (ahd_print_register(DF0PCISTAT_parse_table, 8, "DF0PCISTAT", 2363 0xa0, regvalue, cur_col, wrap)); 2364} 2365 2366int 2367ahd_reg0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2368{ 2369 return (ahd_print_register(NULL, 0, "REG0", 2370 0xa0, regvalue, cur_col, wrap)); 2371} 2372 2373static ahd_reg_parse_entry_t DF1PCISTAT_parse_table[] = { 2374 { "DPR", 0x01, 0x01 }, 2375 { "TWATERR", 0x02, 0x02 }, 2376 { "RDPERR", 0x04, 0x04 }, 2377 { "SCAAPERR", 0x08, 0x08 }, 2378 { "RTA", 0x10, 0x10 }, 2379 { "RMA", 0x20, 0x20 }, 2380 { "SSE", 0x40, 0x40 }, 2381 { "DPE", 0x80, 0x80 } 2382}; 2383 2384int 2385ahd_df1pcistat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2386{ 2387 return (ahd_print_register(DF1PCISTAT_parse_table, 8, "DF1PCISTAT", 2388 0xa1, regvalue, cur_col, wrap)); 2389} 2390 2391static ahd_reg_parse_entry_t SGPCISTAT_parse_table[] = { 2392 { "DPR", 0x01, 0x01 }, 2393 { "RDPERR", 0x04, 0x04 }, 2394 { "SCAAPERR", 0x08, 0x08 }, 2395 { "RTA", 0x10, 0x10 }, 2396 { "RMA", 0x20, 0x20 }, 2397 { "SSE", 0x40, 0x40 }, 2398 { "DPE", 0x80, 0x80 } 2399}; 2400 2401int 2402ahd_sgpcistat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2403{ 2404 return (ahd_print_register(SGPCISTAT_parse_table, 7, "SGPCISTAT", 2405 0xa2, regvalue, cur_col, wrap)); 2406} 2407 2408int 2409ahd_reg1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2410{ 2411 return (ahd_print_register(NULL, 0, "REG1", 2412 0xa2, regvalue, cur_col, wrap)); 2413} 2414 2415static ahd_reg_parse_entry_t CMCPCISTAT_parse_table[] = { 2416 { "DPR", 0x01, 0x01 }, 2417 { "TWATERR", 0x02, 0x02 }, 2418 { "RDPERR", 0x04, 0x04 }, 2419 { "SCAAPERR", 0x08, 0x08 }, 2420 { "RTA", 0x10, 0x10 }, 2421 { "RMA", 0x20, 0x20 }, 2422 { "SSE", 0x40, 0x40 }, 2423 { "DPE", 0x80, 0x80 } 2424}; 2425 2426int 2427ahd_cmcpcistat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2428{ 2429 return (ahd_print_register(CMCPCISTAT_parse_table, 8, "CMCPCISTAT", 2430 0xa3, regvalue, cur_col, wrap)); 2431} 2432 2433static ahd_reg_parse_entry_t OVLYPCISTAT_parse_table[] = { 2434 { "DPR", 0x01, 0x01 }, 2435 { "RDPERR", 0x04, 0x04 }, 2436 { "SCAAPERR", 0x08, 0x08 }, 2437 { "RTA", 0x10, 0x10 }, 2438 { "RMA", 0x20, 0x20 }, 2439 { "SSE", 0x40, 0x40 }, 2440 { "DPE", 0x80, 0x80 } 2441}; 2442 2443int 2444ahd_ovlypcistat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2445{ 2446 return (ahd_print_register(OVLYPCISTAT_parse_table, 7, "OVLYPCISTAT", 2447 0xa4, regvalue, cur_col, wrap)); 2448} 2449 2450int 2451ahd_reg_isr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2452{ 2453 return (ahd_print_register(NULL, 0, "REG_ISR", 2454 0xa4, regvalue, cur_col, wrap)); 2455} 2456 2457static ahd_reg_parse_entry_t MSIPCISTAT_parse_table[] = { 2458 { "DPR", 0x01, 0x01 }, 2459 { "TWATERR", 0x02, 0x02 }, 2460 { "CLRPENDMSI", 0x08, 0x08 }, 2461 { "RTA", 0x10, 0x10 }, 2462 { "RMA", 0x20, 0x20 }, 2463 { "SSE", 0x40, 0x40 } 2464}; 2465 2466int 2467ahd_msipcistat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2468{ 2469 return (ahd_print_register(MSIPCISTAT_parse_table, 6, "MSIPCISTAT", 2470 0xa6, regvalue, cur_col, wrap)); 2471} 2472 2473static ahd_reg_parse_entry_t SG_STATE_parse_table[] = { 2474 { "SEGS_AVAIL", 0x01, 0x01 }, 2475 { "LOADING_NEEDED", 0x02, 0x02 }, 2476 { "FETCH_INPROG", 0x04, 0x04 } 2477}; 2478 2479int 2480ahd_sg_state_print(u_int regvalue, u_int *cur_col, u_int wrap) 2481{ 2482 return (ahd_print_register(SG_STATE_parse_table, 3, "SG_STATE", 2483 0xa6, regvalue, cur_col, wrap)); 2484} 2485 2486static ahd_reg_parse_entry_t TARGPCISTAT_parse_table[] = { 2487 { "TWATERR", 0x02, 0x02 }, 2488 { "STA", 0x08, 0x08 }, 2489 { "SSE", 0x40, 0x40 }, 2490 { "DPE", 0x80, 0x80 } 2491}; 2492 2493int 2494ahd_targpcistat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2495{ 2496 return (ahd_print_register(TARGPCISTAT_parse_table, 4, "TARGPCISTAT", 2497 0xa7, regvalue, cur_col, wrap)); 2498} 2499 2500int 2501ahd_data_count_odd_print(u_int regvalue, u_int *cur_col, u_int wrap) 2502{ 2503 return (ahd_print_register(NULL, 0, "DATA_COUNT_ODD", 2504 0xa7, regvalue, cur_col, wrap)); 2505} 2506 2507int 2508ahd_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2509{ 2510 return (ahd_print_register(NULL, 0, "SCBPTR", 2511 0xa8, regvalue, cur_col, wrap)); 2512} 2513 2514int 2515ahd_ccscbacnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2516{ 2517 return (ahd_print_register(NULL, 0, "CCSCBACNT", 2518 0xab, regvalue, cur_col, wrap)); 2519} 2520 2521static ahd_reg_parse_entry_t SCBAUTOPTR_parse_table[] = { 2522 { "SCBPTR_OFF", 0x07, 0x07 }, 2523 { "SCBPTR_ADDR", 0x38, 0x38 }, 2524 { "AUSCBPTR_EN", 0x80, 0x80 } 2525}; 2526 2527int 2528ahd_scbautoptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2529{ 2530 return (ahd_print_register(SCBAUTOPTR_parse_table, 3, "SCBAUTOPTR", 2531 0xab, regvalue, cur_col, wrap)); 2532} 2533 2534int 2535ahd_ccscbadr_bk_print(u_int regvalue, u_int *cur_col, u_int wrap) 2536{ 2537 return (ahd_print_register(NULL, 0, "CCSCBADR_BK", 2538 0xac, regvalue, cur_col, wrap)); 2539} 2540 2541int 2542ahd_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2543{ 2544 return (ahd_print_register(NULL, 0, "CCSGADDR", 2545 0xac, regvalue, cur_col, wrap)); 2546} 2547 2548int 2549ahd_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2550{ 2551 return (ahd_print_register(NULL, 0, "CCSCBADDR", 2552 0xac, regvalue, cur_col, wrap)); 2553} 2554 2555static ahd_reg_parse_entry_t CCSCBCTL_parse_table[] = { 2556 { "CCSCBRESET", 0x01, 0x01 }, 2557 { "CCSCBDIR", 0x04, 0x04 }, 2558 { "CCSCBEN", 0x08, 0x08 }, 2559 { "CCARREN", 0x10, 0x10 }, 2560 { "ARRDONE", 0x40, 0x40 }, 2561 { "CCSCBDONE", 0x80, 0x80 } 2562}; 2563 2564int 2565ahd_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2566{ 2567 return (ahd_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL", 2568 0xad, regvalue, cur_col, wrap)); 2569} 2570 2571static ahd_reg_parse_entry_t CCSGCTL_parse_table[] = { 2572 { "CCSGRESET", 0x01, 0x01 }, 2573 { "SG_FETCH_REQ", 0x02, 0x02 }, 2574 { "CCSGENACK", 0x08, 0x08 }, 2575 { "SG_CACHE_AVAIL", 0x10, 0x10 }, 2576 { "CCSGDONE", 0x80, 0x80 }, 2577 { "CCSGEN", 0x0c, 0x0c } 2578}; 2579 2580int 2581ahd_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2582{ 2583 return (ahd_print_register(CCSGCTL_parse_table, 6, "CCSGCTL", 2584 0xad, regvalue, cur_col, wrap)); 2585} 2586 2587static ahd_reg_parse_entry_t CMC_RAMBIST_parse_table[] = { 2588 { "CMC_BUFFER_BIST_EN", 0x01, 0x01 }, 2589 { "CMC_BUFFER_BIST_FAIL",0x02, 0x02 }, 2590 { "SG_BIST_EN", 0x10, 0x10 }, 2591 { "SG_BIST_FAIL", 0x20, 0x20 }, 2592 { "SCBRAMBIST_FAIL", 0x40, 0x40 }, 2593 { "SG_ELEMENT_SIZE", 0x80, 0x80 } 2594}; 2595 2596int 2597ahd_cmc_rambist_print(u_int regvalue, u_int *cur_col, u_int wrap) 2598{ 2599 return (ahd_print_register(CMC_RAMBIST_parse_table, 6, "CMC_RAMBIST", 2600 0xad, regvalue, cur_col, wrap)); 2601} 2602 2603int 2604ahd_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap) 2605{ 2606 return (ahd_print_register(NULL, 0, "CCSGRAM", 2607 0xb0, regvalue, cur_col, wrap)); 2608} 2609 2610int 2611ahd_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap) 2612{ 2613 return (ahd_print_register(NULL, 0, "CCSCBRAM", 2614 0xb0, regvalue, cur_col, wrap)); 2615} 2616 2617int 2618ahd_flexadr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2619{ 2620 return (ahd_print_register(NULL, 0, "FLEXADR", 2621 0xb0, regvalue, cur_col, wrap)); 2622} 2623 2624int 2625ahd_flexcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2626{ 2627 return (ahd_print_register(NULL, 0, "FLEXCNT", 2628 0xb3, regvalue, cur_col, wrap)); 2629} 2630 2631static ahd_reg_parse_entry_t FLEXDMASTAT_parse_table[] = { 2632 { "FLEXDMADONE", 0x01, 0x01 }, 2633 { "FLEXDMAERR", 0x02, 0x02 } 2634}; 2635 2636int 2637ahd_flexdmastat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2638{ 2639 return (ahd_print_register(FLEXDMASTAT_parse_table, 2, "FLEXDMASTAT", 2640 0xb5, regvalue, cur_col, wrap)); 2641} 2642 2643int 2644ahd_flexdata_print(u_int regvalue, u_int *cur_col, u_int wrap) 2645{ 2646 return (ahd_print_register(NULL, 0, "FLEXDATA", 2647 0xb6, regvalue, cur_col, wrap)); 2648} 2649 2650int 2651ahd_brddat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2652{ 2653 return (ahd_print_register(NULL, 0, "BRDDAT", 2654 0xb8, regvalue, cur_col, wrap)); 2655} 2656 2657static ahd_reg_parse_entry_t BRDCTL_parse_table[] = { 2658 { "BRDSTB", 0x01, 0x01 }, 2659 { "BRDRW", 0x02, 0x02 }, 2660 { "BRDEN", 0x04, 0x04 }, 2661 { "BRDADDR", 0x38, 0x38 }, 2662 { "FLXARBREQ", 0x40, 0x40 }, 2663 { "FLXARBACK", 0x80, 0x80 } 2664}; 2665 2666int 2667ahd_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2668{ 2669 return (ahd_print_register(BRDCTL_parse_table, 6, "BRDCTL", 2670 0xb9, regvalue, cur_col, wrap)); 2671} 2672 2673int 2674ahd_seeadr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2675{ 2676 return (ahd_print_register(NULL, 0, "SEEADR", 2677 0xba, regvalue, cur_col, wrap)); 2678} 2679 2680int 2681ahd_seedat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2682{ 2683 return (ahd_print_register(NULL, 0, "SEEDAT", 2684 0xbc, regvalue, cur_col, wrap)); 2685} 2686 2687static ahd_reg_parse_entry_t SEECTL_parse_table[] = { 2688 { "SEEOP_ERAL", 0x40, 0x70 }, 2689 { "SEEOP_WRITE", 0x50, 0x70 }, 2690 { "SEEOP_READ", 0x60, 0x70 }, 2691 { "SEEOP_ERASE", 0x70, 0x70 }, 2692 { "SEESTART", 0x01, 0x01 }, 2693 { "SEERST", 0x02, 0x02 }, 2694 { "SEEOPCODE", 0x70, 0x70 }, 2695 { "SEEOP_EWEN", 0x40, 0x40 }, 2696 { "SEEOP_WALL", 0x40, 0x40 }, 2697 { "SEEOP_EWDS", 0x40, 0x40 } 2698}; 2699 2700int 2701ahd_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2702{ 2703 return (ahd_print_register(SEECTL_parse_table, 10, "SEECTL", 2704 0xbe, regvalue, cur_col, wrap)); 2705} 2706 2707static ahd_reg_parse_entry_t SEESTAT_parse_table[] = { 2708 { "SEESTART", 0x01, 0x01 }, 2709 { "SEEBUSY", 0x02, 0x02 }, 2710 { "SEEARBACK", 0x04, 0x04 }, 2711 { "LDALTID_L", 0x08, 0x08 }, 2712 { "SEEOPCODE", 0x70, 0x70 }, 2713 { "INIT_DONE", 0x80, 0x80 } 2714}; 2715 2716int 2717ahd_seestat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2718{ 2719 return (ahd_print_register(SEESTAT_parse_table, 6, "SEESTAT", 2720 0xbe, regvalue, cur_col, wrap)); 2721} 2722 2723int 2724ahd_scbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2725{ 2726 return (ahd_print_register(NULL, 0, "SCBCNT", 2727 0xbf, regvalue, cur_col, wrap)); 2728} 2729 2730static ahd_reg_parse_entry_t DSPFLTRCTL_parse_table[] = { 2731 { "DSPFCNTSEL", 0x0f, 0x0f }, 2732 { "EDGESENSE", 0x10, 0x10 }, 2733 { "FLTRDISABLE", 0x20, 0x20 } 2734}; 2735 2736int 2737ahd_dspfltrctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2738{ 2739 return (ahd_print_register(DSPFLTRCTL_parse_table, 3, "DSPFLTRCTL", 2740 0xc0, regvalue, cur_col, wrap)); 2741} 2742 2743int 2744ahd_dfwaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2745{ 2746 return (ahd_print_register(NULL, 0, "DFWADDR", 2747 0xc0, regvalue, cur_col, wrap)); 2748} 2749 2750static ahd_reg_parse_entry_t DSPDATACTL_parse_table[] = { 2751 { "XMITOFFSTDIS", 0x02, 0x02 }, 2752 { "RCVROFFSTDIS", 0x04, 0x04 }, 2753 { "DESQDIS", 0x10, 0x10 }, 2754 { "BYPASSENAB", 0x80, 0x80 } 2755}; 2756 2757int 2758ahd_dspdatactl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2759{ 2760 return (ahd_print_register(DSPDATACTL_parse_table, 4, "DSPDATACTL", 2761 0xc1, regvalue, cur_col, wrap)); 2762} 2763 2764static ahd_reg_parse_entry_t DSPREQCTL_parse_table[] = { 2765 { "MANREQDLY", 0x3f, 0x3f }, 2766 { "MANREQCTL", 0xc0, 0xc0 } 2767}; 2768 2769int 2770ahd_dspreqctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2771{ 2772 return (ahd_print_register(DSPREQCTL_parse_table, 2, "DSPREQCTL", 2773 0xc2, regvalue, cur_col, wrap)); 2774} 2775 2776int 2777ahd_dfraddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2778{ 2779 return (ahd_print_register(NULL, 0, "DFRADDR", 2780 0xc2, regvalue, cur_col, wrap)); 2781} 2782 2783static ahd_reg_parse_entry_t DSPACKCTL_parse_table[] = { 2784 { "MANACKDLY", 0x3f, 0x3f }, 2785 { "MANACKCTL", 0xc0, 0xc0 } 2786}; 2787 2788int 2789ahd_dspackctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2790{ 2791 return (ahd_print_register(DSPACKCTL_parse_table, 2, "DSPACKCTL", 2792 0xc3, regvalue, cur_col, wrap)); 2793} 2794 2795int 2796ahd_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap) 2797{ 2798 return (ahd_print_register(NULL, 0, "DFDAT", 2799 0xc4, regvalue, cur_col, wrap)); 2800} 2801 2802static ahd_reg_parse_entry_t DSPSELECT_parse_table[] = { 2803 { "DSPSEL", 0x1f, 0x1f }, 2804 { "AUTOINCEN", 0x80, 0x80 } 2805}; 2806 2807int 2808ahd_dspselect_print(u_int regvalue, u_int *cur_col, u_int wrap) 2809{ 2810 return (ahd_print_register(DSPSELECT_parse_table, 2, "DSPSELECT", 2811 0xc4, regvalue, cur_col, wrap)); 2812} 2813 2814static ahd_reg_parse_entry_t WRTBIASCTL_parse_table[] = { 2815 { "XMITMANVAL", 0x3f, 0x3f }, 2816 { "AUTOXBCDIS", 0x80, 0x80 } 2817}; 2818 2819int 2820ahd_wrtbiasctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2821{ 2822 return (ahd_print_register(WRTBIASCTL_parse_table, 2, "WRTBIASCTL", 2823 0xc5, regvalue, cur_col, wrap)); 2824} 2825 2826static ahd_reg_parse_entry_t RCVRBIOSCTL_parse_table[] = { 2827 { "RCVRMANVAL", 0x3f, 0x3f }, 2828 { "AUTORBCDIS", 0x80, 0x80 } 2829}; 2830 2831int 2832ahd_rcvrbiosctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2833{ 2834 return (ahd_print_register(RCVRBIOSCTL_parse_table, 2, "RCVRBIOSCTL", 2835 0xc6, regvalue, cur_col, wrap)); 2836} 2837 2838int 2839ahd_wrtbiascalc_print(u_int regvalue, u_int *cur_col, u_int wrap) 2840{ 2841 return (ahd_print_register(NULL, 0, "WRTBIASCALC", 2842 0xc7, regvalue, cur_col, wrap)); 2843} 2844 2845int 2846ahd_dfptrs_print(u_int regvalue, u_int *cur_col, u_int wrap) 2847{ 2848 return (ahd_print_register(NULL, 0, "DFPTRS", 2849 0xc8, regvalue, cur_col, wrap)); 2850} 2851 2852int 2853ahd_rcvrbiascalc_print(u_int regvalue, u_int *cur_col, u_int wrap) 2854{ 2855 return (ahd_print_register(NULL, 0, "RCVRBIASCALC", 2856 0xc8, regvalue, cur_col, wrap)); 2857} 2858 2859int 2860ahd_dfbkptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2861{ 2862 return (ahd_print_register(NULL, 0, "DFBKPTR", 2863 0xc9, regvalue, cur_col, wrap)); 2864} 2865 2866int 2867ahd_skewcalc_print(u_int regvalue, u_int *cur_col, u_int wrap) 2868{ 2869 return (ahd_print_register(NULL, 0, "SKEWCALC", 2870 0xc9, regvalue, cur_col, wrap)); 2871} 2872 2873static ahd_reg_parse_entry_t DFDBCTL_parse_table[] = { 2874 { "DFF_RAMBIST_EN", 0x01, 0x01 }, 2875 { "DFF_RAMBIST_DONE", 0x02, 0x02 }, 2876 { "DFF_RAMBIST_FAIL", 0x04, 0x04 }, 2877 { "DFF_DIR_ERR", 0x08, 0x08 }, 2878 { "DFF_CIO_RD_RDY", 0x10, 0x10 }, 2879 { "DFF_CIO_WR_RDY", 0x20, 0x20 } 2880}; 2881 2882int 2883ahd_dfdbctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2884{ 2885 return (ahd_print_register(DFDBCTL_parse_table, 6, "DFDBCTL", 2886 0xcb, regvalue, cur_col, wrap)); 2887} 2888 2889int 2890ahd_dfscnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2891{ 2892 return (ahd_print_register(NULL, 0, "DFSCNT", 2893 0xcc, regvalue, cur_col, wrap)); 2894} 2895 2896int 2897ahd_dfbcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2898{ 2899 return (ahd_print_register(NULL, 0, "DFBCNT", 2900 0xce, regvalue, cur_col, wrap)); 2901} 2902 2903int 2904ahd_ovlyaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 2905{ 2906 return (ahd_print_register(NULL, 0, "OVLYADDR", 2907 0xd4, regvalue, cur_col, wrap)); 2908} 2909 2910static ahd_reg_parse_entry_t SEQCTL0_parse_table[] = { 2911 { "LOADRAM", 0x01, 0x01 }, 2912 { "SEQRESET", 0x02, 0x02 }, 2913 { "STEP", 0x04, 0x04 }, 2914 { "BRKADRINTEN", 0x08, 0x08 }, 2915 { "FASTMODE", 0x10, 0x10 }, 2916 { "FAILDIS", 0x20, 0x20 }, 2917 { "PAUSEDIS", 0x40, 0x40 }, 2918 { "PERRORDIS", 0x80, 0x80 } 2919}; 2920 2921int 2922ahd_seqctl0_print(u_int regvalue, u_int *cur_col, u_int wrap) 2923{ 2924 return (ahd_print_register(SEQCTL0_parse_table, 8, "SEQCTL0", 2925 0xd6, regvalue, cur_col, wrap)); 2926} 2927 2928static ahd_reg_parse_entry_t SEQCTL1_parse_table[] = { 2929 { "RAMBIST_EN", 0x01, 0x01 }, 2930 { "RAMBIST_FAIL", 0x02, 0x02 }, 2931 { "RAMBIST_DONE", 0x04, 0x04 }, 2932 { "OVRLAY_DATA_CHK", 0x08, 0x08 } 2933}; 2934 2935int 2936ahd_seqctl1_print(u_int regvalue, u_int *cur_col, u_int wrap) 2937{ 2938 return (ahd_print_register(SEQCTL1_parse_table, 4, "SEQCTL1", 2939 0xd7, regvalue, cur_col, wrap)); 2940} 2941 2942static ahd_reg_parse_entry_t FLAGS_parse_table[] = { 2943 { "CARRY", 0x01, 0x01 }, 2944 { "ZERO", 0x02, 0x02 } 2945}; 2946 2947int 2948ahd_flags_print(u_int regvalue, u_int *cur_col, u_int wrap) 2949{ 2950 return (ahd_print_register(FLAGS_parse_table, 2, "FLAGS", 2951 0xd8, regvalue, cur_col, wrap)); 2952} 2953 2954static ahd_reg_parse_entry_t SEQINTCTL_parse_table[] = { 2955 { "IRET", 0x01, 0x01 }, 2956 { "INTMASK1", 0x02, 0x02 }, 2957 { "INTMASK2", 0x04, 0x04 }, 2958 { "SCS_SEQ_INT1M0", 0x08, 0x08 }, 2959 { "SCS_SEQ_INT1M1", 0x10, 0x10 }, 2960 { "INT1_CONTEXT", 0x20, 0x20 }, 2961 { "INTVEC1DSL", 0x80, 0x80 } 2962}; 2963 2964int 2965ahd_seqintctl_print(u_int regvalue, u_int *cur_col, u_int wrap) 2966{ 2967 return (ahd_print_register(SEQINTCTL_parse_table, 7, "SEQINTCTL", 2968 0xd9, regvalue, cur_col, wrap)); 2969} 2970 2971int 2972ahd_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap) 2973{ 2974 return (ahd_print_register(NULL, 0, "SEQRAM", 2975 0xda, regvalue, cur_col, wrap)); 2976} 2977 2978int 2979ahd_prgmcnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 2980{ 2981 return (ahd_print_register(NULL, 0, "PRGMCNT", 2982 0xde, regvalue, cur_col, wrap)); 2983} 2984 2985int 2986ahd_accum_print(u_int regvalue, u_int *cur_col, u_int wrap) 2987{ 2988 return (ahd_print_register(NULL, 0, "ACCUM", 2989 0xe0, regvalue, cur_col, wrap)); 2990} 2991 2992int 2993ahd_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap) 2994{ 2995 return (ahd_print_register(NULL, 0, "SINDEX", 2996 0xe2, regvalue, cur_col, wrap)); 2997} 2998 2999int 3000ahd_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap) 3001{ 3002 return (ahd_print_register(NULL, 0, "DINDEX", 3003 0xe4, regvalue, cur_col, wrap)); 3004} 3005 3006static ahd_reg_parse_entry_t BRKADDR1_parse_table[] = { 3007 { "BRKDIS", 0x80, 0x80 } 3008}; 3009 3010int 3011ahd_brkaddr1_print(u_int regvalue, u_int *cur_col, u_int wrap) 3012{ 3013 return (ahd_print_register(BRKADDR1_parse_table, 1, "BRKADDR1", 3014 0xe6, regvalue, cur_col, wrap)); 3015} 3016 3017int 3018ahd_brkaddr0_print(u_int regvalue, u_int *cur_col, u_int wrap) 3019{ 3020 return (ahd_print_register(NULL, 0, "BRKADDR0", 3021 0xe6, regvalue, cur_col, wrap)); 3022} 3023 3024int 3025ahd_allones_print(u_int regvalue, u_int *cur_col, u_int wrap) 3026{ 3027 return (ahd_print_register(NULL, 0, "ALLONES", 3028 0xe8, regvalue, cur_col, wrap)); 3029} 3030 3031int 3032ahd_none_print(u_int regvalue, u_int *cur_col, u_int wrap) 3033{ 3034 return (ahd_print_register(NULL, 0, "NONE", 3035 0xea, regvalue, cur_col, wrap)); 3036} 3037 3038int 3039ahd_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap) 3040{ 3041 return (ahd_print_register(NULL, 0, "ALLZEROS", 3042 0xea, regvalue, cur_col, wrap)); 3043} 3044 3045int 3046ahd_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap) 3047{ 3048 return (ahd_print_register(NULL, 0, "SINDIR", 3049 0xec, regvalue, cur_col, wrap)); 3050} 3051 3052int 3053ahd_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap) 3054{ 3055 return (ahd_print_register(NULL, 0, "DINDIR", 3056 0xed, regvalue, cur_col, wrap)); 3057} 3058 3059int 3060ahd_function1_print(u_int regvalue, u_int *cur_col, u_int wrap) 3061{ 3062 return (ahd_print_register(NULL, 0, "FUNCTION1", 3063 0xf0, regvalue, cur_col, wrap)); 3064} 3065 3066int 3067ahd_stack_print(u_int regvalue, u_int *cur_col, u_int wrap) 3068{ 3069 return (ahd_print_register(NULL, 0, "STACK", 3070 0xf2, regvalue, cur_col, wrap)); 3071} 3072 3073int 3074ahd_intvec1_addr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3075{ 3076 return (ahd_print_register(NULL, 0, "INTVEC1_ADDR", 3077 0xf4, regvalue, cur_col, wrap)); 3078} 3079 3080int 3081ahd_curaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3082{ 3083 return (ahd_print_register(NULL, 0, "CURADDR", 3084 0xf4, regvalue, cur_col, wrap)); 3085} 3086 3087int 3088ahd_intvec2_addr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3089{ 3090 return (ahd_print_register(NULL, 0, "INTVEC2_ADDR", 3091 0xf6, regvalue, cur_col, wrap)); 3092} 3093 3094int 3095ahd_lastaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3096{ 3097 return (ahd_print_register(NULL, 0, "LASTADDR", 3098 0xf6, regvalue, cur_col, wrap)); 3099} 3100 3101int 3102ahd_longjmp_addr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3103{ 3104 return (ahd_print_register(NULL, 0, "LONGJMP_ADDR", 3105 0xf8, regvalue, cur_col, wrap)); 3106} 3107 3108int 3109ahd_accum_save_print(u_int regvalue, u_int *cur_col, u_int wrap) 3110{ 3111 return (ahd_print_register(NULL, 0, "ACCUM_SAVE", 3112 0xfa, regvalue, cur_col, wrap)); 3113} 3114 3115int 3116ahd_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap) 3117{ 3118 return (ahd_print_register(NULL, 0, "SRAM_BASE", 3119 0x100, regvalue, cur_col, wrap)); 3120} 3121 3122int 3123ahd_waiting_scb_tails_print(u_int regvalue, u_int *cur_col, u_int wrap) 3124{ 3125 return (ahd_print_register(NULL, 0, "WAITING_SCB_TAILS", 3126 0x100, regvalue, cur_col, wrap)); 3127} 3128 3129int 3130ahd_ahd_pci_config_base_print(u_int regvalue, u_int *cur_col, u_int wrap) 3131{ 3132 return (ahd_print_register(NULL, 0, "AHD_PCI_CONFIG_BASE", 3133 0x100, regvalue, cur_col, wrap)); 3134} 3135 3136int 3137ahd_waiting_tid_head_print(u_int regvalue, u_int *cur_col, u_int wrap) 3138{ 3139 return (ahd_print_register(NULL, 0, "WAITING_TID_HEAD", 3140 0x120, regvalue, cur_col, wrap)); 3141} 3142 3143int 3144ahd_waiting_tid_tail_print(u_int regvalue, u_int *cur_col, u_int wrap) 3145{ 3146 return (ahd_print_register(NULL, 0, "WAITING_TID_TAIL", 3147 0x122, regvalue, cur_col, wrap)); 3148} 3149 3150int 3151ahd_next_queued_scb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3152{ 3153 return (ahd_print_register(NULL, 0, "NEXT_QUEUED_SCB_ADDR", 3154 0x124, regvalue, cur_col, wrap)); 3155} 3156 3157int 3158ahd_complete_scb_head_print(u_int regvalue, u_int *cur_col, u_int wrap) 3159{ 3160 return (ahd_print_register(NULL, 0, "COMPLETE_SCB_HEAD", 3161 0x128, regvalue, cur_col, wrap)); 3162} 3163 3164int 3165ahd_complete_scb_dmainprog_head_print(u_int regvalue, u_int *cur_col, u_int wrap) 3166{ 3167 return (ahd_print_register(NULL, 0, "COMPLETE_SCB_DMAINPROG_HEAD", 3168 0x12a, regvalue, cur_col, wrap)); 3169} 3170 3171int 3172ahd_complete_dma_scb_head_print(u_int regvalue, u_int *cur_col, u_int wrap) 3173{ 3174 return (ahd_print_register(NULL, 0, "COMPLETE_DMA_SCB_HEAD", 3175 0x12c, regvalue, cur_col, wrap)); 3176} 3177 3178int 3179ahd_complete_dma_scb_tail_print(u_int regvalue, u_int *cur_col, u_int wrap) 3180{ 3181 return (ahd_print_register(NULL, 0, "COMPLETE_DMA_SCB_TAIL", 3182 0x12e, regvalue, cur_col, wrap)); 3183} 3184 3185int 3186ahd_complete_on_qfreeze_head_print(u_int regvalue, u_int *cur_col, u_int wrap) 3187{ 3188 return (ahd_print_register(NULL, 0, "COMPLETE_ON_QFREEZE_HEAD", 3189 0x130, regvalue, cur_col, wrap)); 3190} 3191 3192int 3193ahd_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap) 3194{ 3195 return (ahd_print_register(NULL, 0, "QFREEZE_COUNT", 3196 0x132, regvalue, cur_col, wrap)); 3197} 3198 3199int 3200ahd_kernel_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap) 3201{ 3202 return (ahd_print_register(NULL, 0, "KERNEL_QFREEZE_COUNT", 3203 0x134, regvalue, cur_col, wrap)); 3204} 3205 3206int 3207ahd_saved_mode_print(u_int regvalue, u_int *cur_col, u_int wrap) 3208{ 3209 return (ahd_print_register(NULL, 0, "SAVED_MODE", 3210 0x136, regvalue, cur_col, wrap)); 3211} 3212 3213int 3214ahd_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap) 3215{ 3216 return (ahd_print_register(NULL, 0, "MSG_OUT", 3217 0x137, regvalue, cur_col, wrap)); 3218} 3219 3220static ahd_reg_parse_entry_t DMAPARAMS_parse_table[] = { 3221 { "FIFORESET", 0x01, 0x01 }, 3222 { "FIFOFLUSH", 0x02, 0x02 }, 3223 { "DIRECTION", 0x04, 0x04 }, 3224 { "HDMAEN", 0x08, 0x08 }, 3225 { "HDMAENACK", 0x08, 0x08 }, 3226 { "SDMAEN", 0x10, 0x10 }, 3227 { "SDMAENACK", 0x10, 0x10 }, 3228 { "SCSIEN", 0x20, 0x20 }, 3229 { "WIDEODD", 0x40, 0x40 }, 3230 { "PRELOADEN", 0x80, 0x80 } 3231}; 3232 3233int 3234ahd_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap) 3235{ 3236 return (ahd_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS", 3237 0x138, regvalue, cur_col, wrap)); 3238} 3239 3240static ahd_reg_parse_entry_t SEQ_FLAGS_parse_table[] = { 3241 { "NO_DISCONNECT", 0x01, 0x01 }, 3242 { "SPHASE_PENDING", 0x02, 0x02 }, 3243 { "DPHASE_PENDING", 0x04, 0x04 }, 3244 { "CMDPHASE_PENDING", 0x08, 0x08 }, 3245 { "TARG_CMD_PENDING", 0x10, 0x10 }, 3246 { "DPHASE", 0x20, 0x20 }, 3247 { "NO_CDB_SENT", 0x40, 0x40 }, 3248 { "TARGET_CMD_IS_TAGGED",0x40, 0x40 }, 3249 { "NOT_IDENTIFIED", 0x80, 0x80 } 3250}; 3251 3252int 3253ahd_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap) 3254{ 3255 return (ahd_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS", 3256 0x139, regvalue, cur_col, wrap)); 3257} 3258 3259int 3260ahd_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap) 3261{ 3262 return (ahd_print_register(NULL, 0, "SAVED_SCSIID", 3263 0x13a, regvalue, cur_col, wrap)); 3264} 3265 3266int 3267ahd_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap) 3268{ 3269 return (ahd_print_register(NULL, 0, "SAVED_LUN", 3270 0x13b, regvalue, cur_col, wrap)); 3271} 3272 3273static ahd_reg_parse_entry_t LASTPHASE_parse_table[] = { 3274 { "P_DATAOUT", 0x00, 0xe0 }, 3275 { "P_DATAOUT_DT", 0x20, 0xe0 }, 3276 { "P_DATAIN", 0x40, 0xe0 }, 3277 { "P_DATAIN_DT", 0x60, 0xe0 }, 3278 { "P_COMMAND", 0x80, 0xe0 }, 3279 { "P_MESGOUT", 0xa0, 0xe0 }, 3280 { "P_STATUS", 0xc0, 0xe0 }, 3281 { "P_MESGIN", 0xe0, 0xe0 }, 3282 { "P_BUSFREE", 0x01, 0x01 }, 3283 { "MSGI", 0x20, 0x20 }, 3284 { "IOI", 0x40, 0x40 }, 3285 { "CDI", 0x80, 0x80 }, 3286 { "PHASE_MASK", 0xe0, 0xe0 } 3287}; 3288 3289int 3290ahd_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap) 3291{ 3292 return (ahd_print_register(LASTPHASE_parse_table, 13, "LASTPHASE", 3293 0x13c, regvalue, cur_col, wrap)); 3294} 3295 3296int 3297ahd_qoutfifo_entry_valid_tag_print(u_int regvalue, u_int *cur_col, u_int wrap) 3298{ 3299 return (ahd_print_register(NULL, 0, "QOUTFIFO_ENTRY_VALID_TAG", 3300 0x13d, regvalue, cur_col, wrap)); 3301} 3302 3303int 3304ahd_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap) 3305{ 3306 return (ahd_print_register(NULL, 0, "KERNEL_TQINPOS", 3307 0x13e, regvalue, cur_col, wrap)); 3308} 3309 3310int 3311ahd_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap) 3312{ 3313 return (ahd_print_register(NULL, 0, "TQINPOS", 3314 0x13f, regvalue, cur_col, wrap)); 3315} 3316 3317int 3318ahd_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3319{ 3320 return (ahd_print_register(NULL, 0, "SHARED_DATA_ADDR", 3321 0x140, regvalue, cur_col, wrap)); 3322} 3323 3324int 3325ahd_qoutfifo_next_addr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3326{ 3327 return (ahd_print_register(NULL, 0, "QOUTFIFO_NEXT_ADDR", 3328 0x144, regvalue, cur_col, wrap)); 3329} 3330 3331static ahd_reg_parse_entry_t ARG_1_parse_table[] = { 3332 { "CONT_MSG_LOOP_TARG", 0x02, 0x02 }, 3333 { "CONT_MSG_LOOP_READ", 0x03, 0x03 }, 3334 { "CONT_MSG_LOOP_WRITE",0x04, 0x04 }, 3335 { "EXIT_MSG_LOOP", 0x08, 0x08 }, 3336 { "MSGOUT_PHASEMIS", 0x10, 0x10 }, 3337 { "SEND_REJ", 0x20, 0x20 }, 3338 { "SEND_SENSE", 0x40, 0x40 }, 3339 { "SEND_MSG", 0x80, 0x80 } 3340}; 3341 3342int 3343ahd_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap) 3344{ 3345 return (ahd_print_register(ARG_1_parse_table, 8, "ARG_1", 3346 0x148, regvalue, cur_col, wrap)); 3347} 3348 3349int 3350ahd_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap) 3351{ 3352 return (ahd_print_register(NULL, 0, "ARG_2", 3353 0x149, regvalue, cur_col, wrap)); 3354} 3355 3356int 3357ahd_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap) 3358{ 3359 return (ahd_print_register(NULL, 0, "LAST_MSG", 3360 0x14a, regvalue, cur_col, wrap)); 3361} 3362 3363static ahd_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = { 3364 { "ALTSTIM", 0x01, 0x01 }, 3365 { "ENAUTOATNP", 0x02, 0x02 }, 3366 { "MANUALP", 0x0c, 0x0c }, 3367 { "ENRSELI", 0x10, 0x10 }, 3368 { "ENSELI", 0x20, 0x20 }, 3369 { "MANUALCTL", 0x40, 0x40 } 3370}; 3371 3372int 3373ahd_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap) 3374{ 3375 return (ahd_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE", 3376 0x14b, regvalue, cur_col, wrap)); 3377} 3378 3379int 3380ahd_initiator_tag_print(u_int regvalue, u_int *cur_col, u_int wrap) 3381{ 3382 return (ahd_print_register(NULL, 0, "INITIATOR_TAG", 3383 0x14c, regvalue, cur_col, wrap)); 3384} 3385 3386static ahd_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = { 3387 { "PENDING_MK_MESSAGE", 0x01, 0x01 }, 3388 { "TARGET_MSG_PENDING", 0x02, 0x02 }, 3389 { "SELECTOUT_QFROZEN", 0x04, 0x04 } 3390}; 3391 3392int 3393ahd_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap) 3394{ 3395 return (ahd_print_register(SEQ_FLAGS2_parse_table, 3, "SEQ_FLAGS2", 3396 0x14d, regvalue, cur_col, wrap)); 3397} 3398 3399int 3400ahd_allocfifo_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3401{ 3402 return (ahd_print_register(NULL, 0, "ALLOCFIFO_SCBPTR", 3403 0x14e, regvalue, cur_col, wrap)); 3404} 3405 3406int 3407ahd_int_coalescing_timer_print(u_int regvalue, u_int *cur_col, u_int wrap) 3408{ 3409 return (ahd_print_register(NULL, 0, "INT_COALESCING_TIMER", 3410 0x150, regvalue, cur_col, wrap)); 3411} 3412 3413int 3414ahd_int_coalescing_maxcmds_print(u_int regvalue, u_int *cur_col, u_int wrap) 3415{ 3416 return (ahd_print_register(NULL, 0, "INT_COALESCING_MAXCMDS", 3417 0x152, regvalue, cur_col, wrap)); 3418} 3419 3420int 3421ahd_int_coalescing_mincmds_print(u_int regvalue, u_int *cur_col, u_int wrap) 3422{ 3423 return (ahd_print_register(NULL, 0, "INT_COALESCING_MINCMDS", 3424 0x153, regvalue, cur_col, wrap)); 3425} 3426 3427int 3428ahd_cmds_pending_print(u_int regvalue, u_int *cur_col, u_int wrap) 3429{ 3430 return (ahd_print_register(NULL, 0, "CMDS_PENDING", 3431 0x154, regvalue, cur_col, wrap)); 3432} 3433 3434int 3435ahd_int_coalescing_cmdcount_print(u_int regvalue, u_int *cur_col, u_int wrap) 3436{ 3437 return (ahd_print_register(NULL, 0, "INT_COALESCING_CMDCOUNT", 3438 0x156, regvalue, cur_col, wrap)); 3439} 3440 3441int 3442ahd_local_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap) 3443{ 3444 return (ahd_print_register(NULL, 0, "LOCAL_HS_MAILBOX", 3445 0x157, regvalue, cur_col, wrap)); 3446} 3447 3448int 3449ahd_cmdsize_table_print(u_int regvalue, u_int *cur_col, u_int wrap) 3450{ 3451 return (ahd_print_register(NULL, 0, "CMDSIZE_TABLE", 3452 0x158, regvalue, cur_col, wrap)); 3453} 3454 3455int 3456ahd_mk_message_scb_print(u_int regvalue, u_int *cur_col, u_int wrap) 3457{ 3458 return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCB", 3459 0x160, regvalue, cur_col, wrap)); 3460} 3461 3462int 3463ahd_mk_message_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap) 3464{ 3465 return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCSIID", 3466 0x162, regvalue, cur_col, wrap)); 3467} 3468 3469int 3470ahd_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap) 3471{ 3472 return (ahd_print_register(NULL, 0, "SCB_BASE", 3473 0x180, regvalue, cur_col, wrap)); 3474} 3475 3476int 3477ahd_scb_residual_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 3478{ 3479 return (ahd_print_register(NULL, 0, "SCB_RESIDUAL_DATACNT", 3480 0x180, regvalue, cur_col, wrap)); 3481} 3482 3483static ahd_reg_parse_entry_t SCB_RESIDUAL_SGPTR_parse_table[] = { 3484 { "SG_LIST_NULL", 0x01, 0x01 }, 3485 { "SG_OVERRUN_RESID", 0x02, 0x02 }, 3486 { "SG_ADDR_BIT", 0x04, 0x04 }, 3487 { "SG_ADDR_MASK", 0xf8, 0xf8 } 3488}; 3489 3490int 3491ahd_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3492{ 3493 return (ahd_print_register(SCB_RESIDUAL_SGPTR_parse_table, 4, "SCB_RESIDUAL_SGPTR", 3494 0x184, regvalue, cur_col, wrap)); 3495} 3496 3497int 3498ahd_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap) 3499{ 3500 return (ahd_print_register(NULL, 0, "SCB_SCSI_STATUS", 3501 0x188, regvalue, cur_col, wrap)); 3502} 3503 3504int 3505ahd_scb_target_phases_print(u_int regvalue, u_int *cur_col, u_int wrap) 3506{ 3507 return (ahd_print_register(NULL, 0, "SCB_TARGET_PHASES", 3508 0x189, regvalue, cur_col, wrap)); 3509} 3510 3511int 3512ahd_scb_target_data_dir_print(u_int regvalue, u_int *cur_col, u_int wrap) 3513{ 3514 return (ahd_print_register(NULL, 0, "SCB_TARGET_DATA_DIR", 3515 0x18a, regvalue, cur_col, wrap)); 3516} 3517 3518int 3519ahd_scb_target_itag_print(u_int regvalue, u_int *cur_col, u_int wrap) 3520{ 3521 return (ahd_print_register(NULL, 0, "SCB_TARGET_ITAG", 3522 0x18b, regvalue, cur_col, wrap)); 3523} 3524 3525int 3526ahd_scb_sense_busaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3527{ 3528 return (ahd_print_register(NULL, 0, "SCB_SENSE_BUSADDR", 3529 0x18c, regvalue, cur_col, wrap)); 3530} 3531 3532int 3533ahd_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap) 3534{ 3535 return (ahd_print_register(NULL, 0, "SCB_TAG", 3536 0x190, regvalue, cur_col, wrap)); 3537} 3538 3539static ahd_reg_parse_entry_t SCB_CONTROL_parse_table[] = { 3540 { "SCB_TAG_TYPE", 0x03, 0x03 }, 3541 { "DISCONNECTED", 0x04, 0x04 }, 3542 { "STATUS_RCVD", 0x08, 0x08 }, 3543 { "MK_MESSAGE", 0x10, 0x10 }, 3544 { "TAG_ENB", 0x20, 0x20 }, 3545 { "DISCENB", 0x40, 0x40 }, 3546 { "TARGET_SCB", 0x80, 0x80 } 3547}; 3548 3549int 3550ahd_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap) 3551{ 3552 return (ahd_print_register(SCB_CONTROL_parse_table, 7, "SCB_CONTROL", 3553 0x192, regvalue, cur_col, wrap)); 3554} 3555 3556static ahd_reg_parse_entry_t SCB_SCSIID_parse_table[] = { 3557 { "OID", 0x0f, 0x0f }, 3558 { "TID", 0xf0, 0xf0 } 3559}; 3560 3561int 3562ahd_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap) 3563{ 3564 return (ahd_print_register(SCB_SCSIID_parse_table, 2, "SCB_SCSIID", 3565 0x193, regvalue, cur_col, wrap)); 3566} 3567 3568static ahd_reg_parse_entry_t SCB_LUN_parse_table[] = { 3569 { "LID", 0xff, 0xff } 3570}; 3571 3572int 3573ahd_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap) 3574{ 3575 return (ahd_print_register(SCB_LUN_parse_table, 1, "SCB_LUN", 3576 0x194, regvalue, cur_col, wrap)); 3577} 3578 3579static ahd_reg_parse_entry_t SCB_TASK_ATTRIBUTE_parse_table[] = { 3580 { "SCB_XFERLEN_ODD", 0x01, 0x01 } 3581}; 3582 3583int 3584ahd_scb_task_attribute_print(u_int regvalue, u_int *cur_col, u_int wrap) 3585{ 3586 return (ahd_print_register(SCB_TASK_ATTRIBUTE_parse_table, 1, "SCB_TASK_ATTRIBUTE", 3587 0x195, regvalue, cur_col, wrap)); 3588} 3589 3590static ahd_reg_parse_entry_t SCB_CDB_LEN_parse_table[] = { 3591 { "SCB_CDB_LEN_PTR", 0x80, 0x80 } 3592}; 3593 3594int 3595ahd_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap) 3596{ 3597 return (ahd_print_register(SCB_CDB_LEN_parse_table, 1, "SCB_CDB_LEN", 3598 0x196, regvalue, cur_col, wrap)); 3599} 3600 3601int 3602ahd_scb_task_management_print(u_int regvalue, u_int *cur_col, u_int wrap) 3603{ 3604 return (ahd_print_register(NULL, 0, "SCB_TASK_MANAGEMENT", 3605 0x197, regvalue, cur_col, wrap)); 3606} 3607 3608int 3609ahd_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3610{ 3611 return (ahd_print_register(NULL, 0, "SCB_DATAPTR", 3612 0x198, regvalue, cur_col, wrap)); 3613} 3614 3615static ahd_reg_parse_entry_t SCB_DATACNT_parse_table[] = { 3616 { "SG_HIGH_ADDR_BITS", 0x7f, 0x7f }, 3617 { "SG_LAST_SEG", 0x80, 0x80 } 3618}; 3619 3620int 3621ahd_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap) 3622{ 3623 return (ahd_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT", 3624 0x1a0, regvalue, cur_col, wrap)); 3625} 3626 3627static ahd_reg_parse_entry_t SCB_SGPTR_parse_table[] = { 3628 { "SG_LIST_NULL", 0x01, 0x01 }, 3629 { "SG_FULL_RESID", 0x02, 0x02 }, 3630 { "SG_STATUS_VALID", 0x04, 0x04 } 3631}; 3632 3633int 3634ahd_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3635{ 3636 return (ahd_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR", 3637 0x1a4, regvalue, cur_col, wrap)); 3638} 3639 3640int 3641ahd_scb_busaddr_print(u_int regvalue, u_int *cur_col, u_int wrap) 3642{ 3643 return (ahd_print_register(NULL, 0, "SCB_BUSADDR", 3644 0x1a8, regvalue, cur_col, wrap)); 3645} 3646 3647int 3648ahd_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap) 3649{ 3650 return (ahd_print_register(NULL, 0, "SCB_NEXT", 3651 0x1ac, regvalue, cur_col, wrap)); 3652} 3653 3654int 3655ahd_scb_next2_print(u_int regvalue, u_int *cur_col, u_int wrap) 3656{ 3657 return (ahd_print_register(NULL, 0, "SCB_NEXT2", 3658 0x1ae, regvalue, cur_col, wrap)); 3659} 3660 3661int 3662ahd_scb_spare_print(u_int regvalue, u_int *cur_col, u_int wrap) 3663{ 3664 return (ahd_print_register(NULL, 0, "SCB_SPARE", 3665 0x1b0, regvalue, cur_col, wrap)); 3666} 3667 3668int 3669ahd_scb_disconnected_lists_print(u_int regvalue, u_int *cur_col, u_int wrap) 3670{ 3671 return (ahd_print_register(NULL, 0, "SCB_DISCONNECTED_LISTS", 3672 0x1b8, regvalue, cur_col, wrap)); 3673} 3674 3675