mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 23:30:53 +07:00
d10c2e4627
Update the precompiled sequencer code to match the latest aicasm changes. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2469 lines
62 KiB
Plaintext
2469 lines
62 KiB
Plaintext
/*
|
|
* DO NOT EDIT - This file is automatically generated
|
|
* from the following source files:
|
|
*
|
|
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#120 $
|
|
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#77 $
|
|
*/
|
|
|
|
#include "aic79xx_osm.h"
|
|
|
|
static const ahd_reg_parse_entry_t MODE_PTR_parse_table[] = {
|
|
{ "SRC_MODE", 0x07, 0x07 },
|
|
{ "DST_MODE", 0x70, 0x70 }
|
|
};
|
|
|
|
int
|
|
ahd_mode_ptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(MODE_PTR_parse_table, 2, "MODE_PTR",
|
|
0x00, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t INTSTAT_parse_table[] = {
|
|
{ "SPLTINT", 0x01, 0x01 },
|
|
{ "CMDCMPLT", 0x02, 0x02 },
|
|
{ "SEQINT", 0x04, 0x04 },
|
|
{ "SCSIINT", 0x08, 0x08 },
|
|
{ "PCIINT", 0x10, 0x10 },
|
|
{ "SWTMINT", 0x20, 0x20 },
|
|
{ "BRKADRINT", 0x40, 0x40 },
|
|
{ "HWERRINT", 0x80, 0x80 },
|
|
{ "INT_PEND", 0xff, 0xff }
|
|
};
|
|
|
|
int
|
|
ahd_intstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(INTSTAT_parse_table, 9, "INTSTAT",
|
|
0x01, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEQINTCODE_parse_table[] = {
|
|
{ "NO_SEQINT", 0x00, 0xff },
|
|
{ "BAD_PHASE", 0x01, 0xff },
|
|
{ "SEND_REJECT", 0x02, 0xff },
|
|
{ "PROTO_VIOLATION", 0x03, 0xff },
|
|
{ "NO_MATCH", 0x04, 0xff },
|
|
{ "IGN_WIDE_RES", 0x05, 0xff },
|
|
{ "PDATA_REINIT", 0x06, 0xff },
|
|
{ "HOST_MSG_LOOP", 0x07, 0xff },
|
|
{ "BAD_STATUS", 0x08, 0xff },
|
|
{ "DATA_OVERRUN", 0x09, 0xff },
|
|
{ "MKMSG_FAILED", 0x0a, 0xff },
|
|
{ "MISSED_BUSFREE", 0x0b, 0xff },
|
|
{ "DUMP_CARD_STATE", 0x0c, 0xff },
|
|
{ "ILLEGAL_PHASE", 0x0d, 0xff },
|
|
{ "INVALID_SEQINT", 0x0e, 0xff },
|
|
{ "CFG4ISTAT_INTR", 0x0f, 0xff },
|
|
{ "STATUS_OVERRUN", 0x10, 0xff },
|
|
{ "CFG4OVERRUN", 0x11, 0xff },
|
|
{ "ENTERING_NONPACK", 0x12, 0xff },
|
|
{ "TASKMGMT_FUNC_COMPLETE",0x13, 0xff },
|
|
{ "TASKMGMT_CMD_CMPLT_OKAY",0x14, 0xff },
|
|
{ "TRACEPOINT0", 0x15, 0xff },
|
|
{ "TRACEPOINT1", 0x16, 0xff },
|
|
{ "TRACEPOINT2", 0x17, 0xff },
|
|
{ "TRACEPOINT3", 0x18, 0xff },
|
|
{ "SAW_HWERR", 0x19, 0xff },
|
|
{ "BAD_SCB_STATUS", 0x1a, 0xff }
|
|
};
|
|
|
|
int
|
|
ahd_seqintcode_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEQINTCODE_parse_table, 27, "SEQINTCODE",
|
|
0x02, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRINT_parse_table[] = {
|
|
{ "CLRSPLTINT", 0x01, 0x01 },
|
|
{ "CLRCMDINT", 0x02, 0x02 },
|
|
{ "CLRSEQINT", 0x04, 0x04 },
|
|
{ "CLRSCSIINT", 0x08, 0x08 },
|
|
{ "CLRPCIINT", 0x10, 0x10 },
|
|
{ "CLRSWTMINT", 0x20, 0x20 },
|
|
{ "CLRBRKADRINT", 0x40, 0x40 },
|
|
{ "CLRHWERRINT", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_clrint_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRINT_parse_table, 8, "CLRINT",
|
|
0x03, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t ERROR_parse_table[] = {
|
|
{ "DSCTMOUT", 0x02, 0x02 },
|
|
{ "ILLOPCODE", 0x04, 0x04 },
|
|
{ "SQPARERR", 0x08, 0x08 },
|
|
{ "DPARERR", 0x10, 0x10 },
|
|
{ "MPARERR", 0x20, 0x20 },
|
|
{ "CIOACCESFAIL", 0x40, 0x40 },
|
|
{ "CIOPARERR", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_error_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(ERROR_parse_table, 7, "ERROR",
|
|
0x04, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t HCNTRL_parse_table[] = {
|
|
{ "CHIPRST", 0x01, 0x01 },
|
|
{ "CHIPRSTACK", 0x01, 0x01 },
|
|
{ "INTEN", 0x02, 0x02 },
|
|
{ "PAUSE", 0x04, 0x04 },
|
|
{ "SWTIMER_START_B", 0x08, 0x08 },
|
|
{ "SWINT", 0x10, 0x10 },
|
|
{ "POWRDN", 0x40, 0x40 },
|
|
{ "SEQ_RESET", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_hcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(HCNTRL_parse_table, 8, "HCNTRL",
|
|
0x05, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_hnscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "HNSCB_QOFF",
|
|
0x06, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_hescb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "HESCB_QOFF",
|
|
0x08, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t HS_MAILBOX_parse_table[] = {
|
|
{ "ENINT_COALESCE", 0x40, 0x40 },
|
|
{ "HOST_TQINPOS", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(HS_MAILBOX_parse_table, 2, "HS_MAILBOX",
|
|
0x0b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEQINTSTAT_parse_table[] = {
|
|
{ "SEQ_SPLTINT", 0x01, 0x01 },
|
|
{ "SEQ_PCIINT", 0x02, 0x02 },
|
|
{ "SEQ_SCSIINT", 0x04, 0x04 },
|
|
{ "SEQ_SEQINT", 0x08, 0x08 },
|
|
{ "SEQ_SWTMRTO", 0x10, 0x10 }
|
|
};
|
|
|
|
int
|
|
ahd_seqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEQINTSTAT_parse_table, 5, "SEQINTSTAT",
|
|
0x0c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRSEQINTSTAT_parse_table[] = {
|
|
{ "CLRSEQ_SPLTINT", 0x01, 0x01 },
|
|
{ "CLRSEQ_PCIINT", 0x02, 0x02 },
|
|
{ "CLRSEQ_SCSIINT", 0x04, 0x04 },
|
|
{ "CLRSEQ_SEQINT", 0x08, 0x08 },
|
|
{ "CLRSEQ_SWTMRTO", 0x10, 0x10 }
|
|
};
|
|
|
|
int
|
|
ahd_clrseqintstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRSEQINTSTAT_parse_table, 5, "CLRSEQINTSTAT",
|
|
0x0c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_swtimer_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SWTIMER",
|
|
0x0e, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_snscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SNSCB_QOFF",
|
|
0x10, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_sescb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SESCB_QOFF",
|
|
0x12, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_sdscb_qoff_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SDSCB_QOFF",
|
|
0x14, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t QOFF_CTLSTA_parse_table[] = {
|
|
{ "SCB_QSIZE_4", 0x00, 0x0f },
|
|
{ "SCB_QSIZE_8", 0x01, 0x0f },
|
|
{ "SCB_QSIZE_16", 0x02, 0x0f },
|
|
{ "SCB_QSIZE_32", 0x03, 0x0f },
|
|
{ "SCB_QSIZE_64", 0x04, 0x0f },
|
|
{ "SCB_QSIZE_128", 0x05, 0x0f },
|
|
{ "SCB_QSIZE_256", 0x06, 0x0f },
|
|
{ "SCB_QSIZE_512", 0x07, 0x0f },
|
|
{ "SCB_QSIZE_1024", 0x08, 0x0f },
|
|
{ "SCB_QSIZE_2048", 0x09, 0x0f },
|
|
{ "SCB_QSIZE_4096", 0x0a, 0x0f },
|
|
{ "SCB_QSIZE_8192", 0x0b, 0x0f },
|
|
{ "SCB_QSIZE_16384", 0x0c, 0x0f },
|
|
{ "SCB_QSIZE", 0x0f, 0x0f },
|
|
{ "HS_MAILBOX_ACT", 0x10, 0x10 },
|
|
{ "SDSCB_ROLLOVR", 0x20, 0x20 },
|
|
{ "NEW_SCB_AVAIL", 0x40, 0x40 },
|
|
{ "EMPTY_SCB_AVAIL", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_qoff_ctlsta_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(QOFF_CTLSTA_parse_table, 18, "QOFF_CTLSTA",
|
|
0x16, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t INTCTL_parse_table[] = {
|
|
{ "SPLTINTEN", 0x01, 0x01 },
|
|
{ "SEQINTEN", 0x02, 0x02 },
|
|
{ "SCSIINTEN", 0x04, 0x04 },
|
|
{ "PCIINTEN", 0x08, 0x08 },
|
|
{ "AUTOCLRCMDINT", 0x10, 0x10 },
|
|
{ "SWTIMER_START", 0x20, 0x20 },
|
|
{ "SWTMINTEN", 0x40, 0x40 },
|
|
{ "SWTMINTMASK", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_intctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(INTCTL_parse_table, 8, "INTCTL",
|
|
0x18, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DFCNTRL_parse_table[] = {
|
|
{ "DIRECTIONEN", 0x01, 0x01 },
|
|
{ "FIFOFLUSH", 0x02, 0x02 },
|
|
{ "FIFOFLUSHACK", 0x02, 0x02 },
|
|
{ "DIRECTION", 0x04, 0x04 },
|
|
{ "DIRECTIONACK", 0x04, 0x04 },
|
|
{ "HDMAEN", 0x08, 0x08 },
|
|
{ "HDMAENACK", 0x08, 0x08 },
|
|
{ "SCSIEN", 0x20, 0x20 },
|
|
{ "SCSIENACK", 0x20, 0x20 },
|
|
{ "SCSIENWRDIS", 0x40, 0x40 },
|
|
{ "PRELOADEN", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_dfcntrl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DFCNTRL_parse_table, 11, "DFCNTRL",
|
|
0x19, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DSCOMMAND0_parse_table[] = {
|
|
{ "CIOPARCKEN", 0x01, 0x01 },
|
|
{ "DISABLE_TWATE", 0x02, 0x02 },
|
|
{ "EXTREQLCK", 0x10, 0x10 },
|
|
{ "MPARCKEN", 0x20, 0x20 },
|
|
{ "DPARCKEN", 0x40, 0x40 },
|
|
{ "CACHETHEN", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_dscommand0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DSCOMMAND0_parse_table, 6, "DSCOMMAND0",
|
|
0x19, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DFSTATUS_parse_table[] = {
|
|
{ "FIFOEMP", 0x01, 0x01 },
|
|
{ "FIFOFULL", 0x02, 0x02 },
|
|
{ "DFTHRESH", 0x04, 0x04 },
|
|
{ "HDONE", 0x08, 0x08 },
|
|
{ "MREQPEND", 0x10, 0x10 },
|
|
{ "PKT_PRELOAD_AVAIL", 0x40, 0x40 },
|
|
{ "PRELOAD_AVAIL", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_dfstatus_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DFSTATUS_parse_table, 7, "DFSTATUS",
|
|
0x1a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SG_CACHE_SHADOW_parse_table[] = {
|
|
{ "LAST_SEG_DONE", 0x01, 0x01 },
|
|
{ "LAST_SEG", 0x02, 0x02 },
|
|
{ "ODD_SEG", 0x04, 0x04 },
|
|
{ "SG_ADDR_MASK", 0xf8, 0xf8 }
|
|
};
|
|
|
|
int
|
|
ahd_sg_cache_shadow_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SG_CACHE_SHADOW_parse_table, 4, "SG_CACHE_SHADOW",
|
|
0x1b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SG_CACHE_PRE_parse_table[] = {
|
|
{ "LAST_SEG", 0x02, 0x02 },
|
|
{ "ODD_SEG", 0x04, 0x04 },
|
|
{ "SG_ADDR_MASK", 0xf8, 0xf8 }
|
|
};
|
|
|
|
int
|
|
ahd_sg_cache_pre_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SG_CACHE_PRE_parse_table, 3, "SG_CACHE_PRE",
|
|
0x1b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_lqin_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "LQIN",
|
|
0x20, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_lunptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "LUNPTR",
|
|
0x22, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_cmdlenptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CMDLENPTR",
|
|
0x25, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_attrptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ATTRPTR",
|
|
0x26, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_flagptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "FLAGPTR",
|
|
0x27, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_cmdptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CMDPTR",
|
|
0x28, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_qnextptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "QNEXTPTR",
|
|
0x29, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_abrtbyteptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ABRTBYTEPTR",
|
|
0x2b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_abrtbitptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ABRTBITPTR",
|
|
0x2c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LUNLEN_parse_table[] = {
|
|
{ "ILUNLEN", 0x0f, 0x0f },
|
|
{ "TLUNLEN", 0xf0, 0xf0 }
|
|
};
|
|
|
|
int
|
|
ahd_lunlen_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LUNLEN_parse_table, 2, "LUNLEN",
|
|
0x30, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_cdblimit_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CDBLIMIT",
|
|
0x31, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_maxcmd_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "MAXCMD",
|
|
0x32, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_maxcmdcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "MAXCMDCNT",
|
|
0x33, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQCTL1_parse_table[] = {
|
|
{ "ABORTPENDING", 0x01, 0x01 },
|
|
{ "SINGLECMD", 0x02, 0x02 },
|
|
{ "PCI2PCI", 0x04, 0x04 }
|
|
};
|
|
|
|
int
|
|
ahd_lqctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQCTL1_parse_table, 3, "LQCTL1",
|
|
0x38, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQCTL2_parse_table[] = {
|
|
{ "LQOPAUSE", 0x01, 0x01 },
|
|
{ "LQOTOIDLE", 0x02, 0x02 },
|
|
{ "LQOCONTINUE", 0x04, 0x04 },
|
|
{ "LQORETRY", 0x08, 0x08 },
|
|
{ "LQIPAUSE", 0x10, 0x10 },
|
|
{ "LQITOIDLE", 0x20, 0x20 },
|
|
{ "LQICONTINUE", 0x40, 0x40 },
|
|
{ "LQIRETRY", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_lqctl2_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQCTL2_parse_table, 8, "LQCTL2",
|
|
0x39, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCSISEQ0_parse_table[] = {
|
|
{ "SCSIRSTO", 0x01, 0x01 },
|
|
{ "FORCEBUSFREE", 0x10, 0x10 },
|
|
{ "ENARBO", 0x20, 0x20 },
|
|
{ "ENSELO", 0x40, 0x40 },
|
|
{ "TEMODEO", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_scsiseq0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCSISEQ0_parse_table, 5, "SCSISEQ0",
|
|
0x3a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCSISEQ1_parse_table[] = {
|
|
{ "ALTSTIM", 0x01, 0x01 },
|
|
{ "ENAUTOATNP", 0x02, 0x02 },
|
|
{ "MANUALP", 0x0c, 0x0c },
|
|
{ "ENRSELI", 0x10, 0x10 },
|
|
{ "ENSELI", 0x20, 0x20 },
|
|
{ "MANUALCTL", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_scsiseq1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCSISEQ1_parse_table, 6, "SCSISEQ1",
|
|
0x3b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SXFRCTL0_parse_table[] = {
|
|
{ "SPIOEN", 0x08, 0x08 },
|
|
{ "BIOSCANCELEN", 0x10, 0x10 },
|
|
{ "DFPEXP", 0x40, 0x40 },
|
|
{ "DFON", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SXFRCTL0_parse_table, 4, "SXFRCTL0",
|
|
0x3c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SXFRCTL1_parse_table[] = {
|
|
{ "STPWEN", 0x01, 0x01 },
|
|
{ "ACTNEGEN", 0x02, 0x02 },
|
|
{ "ENSTIMER", 0x04, 0x04 },
|
|
{ "STIMESEL", 0x18, 0x18 },
|
|
{ "ENSPCHK", 0x20, 0x20 },
|
|
{ "ENSACHK", 0x40, 0x40 },
|
|
{ "BITBUCKET", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_sxfrctl1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SXFRCTL1_parse_table, 7, "SXFRCTL1",
|
|
0x3d, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DFFSTAT_parse_table[] = {
|
|
{ "CURRFIFO_0", 0x00, 0x03 },
|
|
{ "CURRFIFO_1", 0x01, 0x03 },
|
|
{ "CURRFIFO_NONE", 0x03, 0x03 },
|
|
{ "FIFO0FREE", 0x10, 0x10 },
|
|
{ "FIFO1FREE", 0x20, 0x20 },
|
|
{ "CURRFIFO", 0x03, 0x03 }
|
|
};
|
|
|
|
int
|
|
ahd_dffstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DFFSTAT_parse_table, 6, "DFFSTAT",
|
|
0x3f, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_multargid_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "MULTARGID",
|
|
0x40, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCSISIGO_parse_table[] = {
|
|
{ "P_DATAOUT", 0x00, 0xe0 },
|
|
{ "P_DATAOUT_DT", 0x20, 0xe0 },
|
|
{ "P_DATAIN", 0x40, 0xe0 },
|
|
{ "P_DATAIN_DT", 0x60, 0xe0 },
|
|
{ "P_COMMAND", 0x80, 0xe0 },
|
|
{ "P_MESGOUT", 0xa0, 0xe0 },
|
|
{ "P_STATUS", 0xc0, 0xe0 },
|
|
{ "P_MESGIN", 0xe0, 0xe0 },
|
|
{ "ACKO", 0x01, 0x01 },
|
|
{ "REQO", 0x02, 0x02 },
|
|
{ "BSYO", 0x04, 0x04 },
|
|
{ "SELO", 0x08, 0x08 },
|
|
{ "ATNO", 0x10, 0x10 },
|
|
{ "MSGO", 0x20, 0x20 },
|
|
{ "IOO", 0x40, 0x40 },
|
|
{ "CDO", 0x80, 0x80 },
|
|
{ "PHASE_MASK", 0xe0, 0xe0 }
|
|
};
|
|
|
|
int
|
|
ahd_scsisigo_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCSISIGO_parse_table, 17, "SCSISIGO",
|
|
0x40, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCSISIGI_parse_table[] = {
|
|
{ "P_DATAOUT", 0x00, 0xe0 },
|
|
{ "P_DATAOUT_DT", 0x20, 0xe0 },
|
|
{ "P_DATAIN", 0x40, 0xe0 },
|
|
{ "P_DATAIN_DT", 0x60, 0xe0 },
|
|
{ "P_COMMAND", 0x80, 0xe0 },
|
|
{ "P_MESGOUT", 0xa0, 0xe0 },
|
|
{ "P_STATUS", 0xc0, 0xe0 },
|
|
{ "P_MESGIN", 0xe0, 0xe0 },
|
|
{ "ACKI", 0x01, 0x01 },
|
|
{ "REQI", 0x02, 0x02 },
|
|
{ "BSYI", 0x04, 0x04 },
|
|
{ "SELI", 0x08, 0x08 },
|
|
{ "ATNI", 0x10, 0x10 },
|
|
{ "MSGI", 0x20, 0x20 },
|
|
{ "IOI", 0x40, 0x40 },
|
|
{ "CDI", 0x80, 0x80 },
|
|
{ "PHASE_MASK", 0xe0, 0xe0 }
|
|
};
|
|
|
|
int
|
|
ahd_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
|
|
0x41, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCSIPHASE_parse_table[] = {
|
|
{ "DATA_OUT_PHASE", 0x01, 0x03 },
|
|
{ "DATA_IN_PHASE", 0x02, 0x03 },
|
|
{ "DATA_PHASE_MASK", 0x03, 0x03 },
|
|
{ "MSG_OUT_PHASE", 0x04, 0x04 },
|
|
{ "MSG_IN_PHASE", 0x08, 0x08 },
|
|
{ "COMMAND_PHASE", 0x10, 0x10 },
|
|
{ "STATUS_PHASE", 0x20, 0x20 }
|
|
};
|
|
|
|
int
|
|
ahd_scsiphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCSIPHASE_parse_table, 7, "SCSIPHASE",
|
|
0x42, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scsidat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCSIDAT",
|
|
0x44, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scsibus_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCSIBUS",
|
|
0x46, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t TARGIDIN_parse_table[] = {
|
|
{ "TARGID", 0x0f, 0x0f },
|
|
{ "CLKOUT", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_targidin_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(TARGIDIN_parse_table, 2, "TARGIDIN",
|
|
0x48, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SELID_parse_table[] = {
|
|
{ "ONEBIT", 0x08, 0x08 },
|
|
{ "SELID_MASK", 0xf0, 0xf0 }
|
|
};
|
|
|
|
int
|
|
ahd_selid_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SELID_parse_table, 2, "SELID",
|
|
0x49, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t OPTIONMODE_parse_table[] = {
|
|
{ "AUTO_MSGOUT_DE", 0x02, 0x02 },
|
|
{ "ENDGFORMCHK", 0x04, 0x04 },
|
|
{ "BUSFREEREV", 0x10, 0x10 },
|
|
{ "BIASCANCTL", 0x20, 0x20 },
|
|
{ "AUTOACKEN", 0x40, 0x40 },
|
|
{ "BIOSCANCTL", 0x80, 0x80 },
|
|
{ "OPTIONMODE_DEFAULTS",0x02, 0x02 }
|
|
};
|
|
|
|
int
|
|
ahd_optionmode_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(OPTIONMODE_parse_table, 7, "OPTIONMODE",
|
|
0x4a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SBLKCTL_parse_table[] = {
|
|
{ "SELWIDE", 0x02, 0x02 },
|
|
{ "ENAB20", 0x04, 0x04 },
|
|
{ "ENAB40", 0x08, 0x08 },
|
|
{ "DIAGLEDON", 0x40, 0x40 },
|
|
{ "DIAGLEDEN", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_sblkctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SBLKCTL_parse_table, 5, "SBLKCTL",
|
|
0x4a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SSTAT0_parse_table[] = {
|
|
{ "ARBDO", 0x01, 0x01 },
|
|
{ "SPIORDY", 0x02, 0x02 },
|
|
{ "OVERRUN", 0x04, 0x04 },
|
|
{ "IOERR", 0x08, 0x08 },
|
|
{ "SELINGO", 0x10, 0x10 },
|
|
{ "SELDI", 0x20, 0x20 },
|
|
{ "SELDO", 0x40, 0x40 },
|
|
{ "TARGET", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_sstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SSTAT0_parse_table, 8, "SSTAT0",
|
|
0x4b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SIMODE0_parse_table[] = {
|
|
{ "ENARBDO", 0x01, 0x01 },
|
|
{ "ENSPIORDY", 0x02, 0x02 },
|
|
{ "ENOVERRUN", 0x04, 0x04 },
|
|
{ "ENIOERR", 0x08, 0x08 },
|
|
{ "ENSELINGO", 0x10, 0x10 },
|
|
{ "ENSELDI", 0x20, 0x20 },
|
|
{ "ENSELDO", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_simode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SIMODE0_parse_table, 7, "SIMODE0",
|
|
0x4b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRSINT0_parse_table[] = {
|
|
{ "CLRARBDO", 0x01, 0x01 },
|
|
{ "CLRSPIORDY", 0x02, 0x02 },
|
|
{ "CLROVERRUN", 0x04, 0x04 },
|
|
{ "CLRIOERR", 0x08, 0x08 },
|
|
{ "CLRSELINGO", 0x10, 0x10 },
|
|
{ "CLRSELDI", 0x20, 0x20 },
|
|
{ "CLRSELDO", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_clrsint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRSINT0_parse_table, 7, "CLRSINT0",
|
|
0x4b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SSTAT1_parse_table[] = {
|
|
{ "REQINIT", 0x01, 0x01 },
|
|
{ "STRB2FAST", 0x02, 0x02 },
|
|
{ "SCSIPERR", 0x04, 0x04 },
|
|
{ "BUSFREE", 0x08, 0x08 },
|
|
{ "PHASEMIS", 0x10, 0x10 },
|
|
{ "SCSIRSTI", 0x20, 0x20 },
|
|
{ "ATNTARG", 0x40, 0x40 },
|
|
{ "SELTO", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_sstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SSTAT1_parse_table, 8, "SSTAT1",
|
|
0x4c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRSINT1_parse_table[] = {
|
|
{ "CLRREQINIT", 0x01, 0x01 },
|
|
{ "CLRSTRB2FAST", 0x02, 0x02 },
|
|
{ "CLRSCSIPERR", 0x04, 0x04 },
|
|
{ "CLRBUSFREE", 0x08, 0x08 },
|
|
{ "CLRSCSIRSTI", 0x20, 0x20 },
|
|
{ "CLRATNO", 0x40, 0x40 },
|
|
{ "CLRSELTIMEO", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_clrsint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRSINT1_parse_table, 7, "CLRSINT1",
|
|
0x4c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SSTAT2_parse_table[] = {
|
|
{ "BUSFREE_LQO", 0x40, 0xc0 },
|
|
{ "BUSFREE_DFF0", 0x80, 0xc0 },
|
|
{ "BUSFREE_DFF1", 0xc0, 0xc0 },
|
|
{ "DMADONE", 0x01, 0x01 },
|
|
{ "SDONE", 0x02, 0x02 },
|
|
{ "WIDE_RES", 0x04, 0x04 },
|
|
{ "BSYX", 0x08, 0x08 },
|
|
{ "EXP_ACTIVE", 0x10, 0x10 },
|
|
{ "NONPACKREQ", 0x20, 0x20 },
|
|
{ "BUSFREETIME", 0xc0, 0xc0 }
|
|
};
|
|
|
|
int
|
|
ahd_sstat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SSTAT2_parse_table, 10, "SSTAT2",
|
|
0x4d, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRSINT2_parse_table[] = {
|
|
{ "CLRDMADONE", 0x01, 0x01 },
|
|
{ "CLRSDONE", 0x02, 0x02 },
|
|
{ "CLRWIDE_RES", 0x04, 0x04 },
|
|
{ "CLRNONPACKREQ", 0x20, 0x20 }
|
|
};
|
|
|
|
int
|
|
ahd_clrsint2_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRSINT2_parse_table, 4, "CLRSINT2",
|
|
0x4d, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t PERRDIAG_parse_table[] = {
|
|
{ "DTERR", 0x01, 0x01 },
|
|
{ "DGFORMERR", 0x02, 0x02 },
|
|
{ "CRCERR", 0x04, 0x04 },
|
|
{ "AIPERR", 0x08, 0x08 },
|
|
{ "PARITYERR", 0x10, 0x10 },
|
|
{ "PREVPHASE", 0x20, 0x20 },
|
|
{ "HIPERR", 0x40, 0x40 },
|
|
{ "HIZERO", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_perrdiag_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(PERRDIAG_parse_table, 8, "PERRDIAG",
|
|
0x4e, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_lqistate_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "LQISTATE",
|
|
0x4e, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_soffcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SOFFCNT",
|
|
0x4f, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_lqostate_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "LQOSTATE",
|
|
0x4f, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQISTAT0_parse_table[] = {
|
|
{ "LQIATNCMD", 0x01, 0x01 },
|
|
{ "LQIATNLQ", 0x02, 0x02 },
|
|
{ "LQIBADLQT", 0x04, 0x04 },
|
|
{ "LQICRCT2", 0x08, 0x08 },
|
|
{ "LQICRCT1", 0x10, 0x10 },
|
|
{ "LQIATNQAS", 0x20, 0x20 }
|
|
};
|
|
|
|
int
|
|
ahd_lqistat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQISTAT0_parse_table, 6, "LQISTAT0",
|
|
0x50, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQIMODE0_parse_table[] = {
|
|
{ "ENLQIATNCMD", 0x01, 0x01 },
|
|
{ "ENLQIATNLQ", 0x02, 0x02 },
|
|
{ "ENLQIBADLQT", 0x04, 0x04 },
|
|
{ "ENLQICRCT2", 0x08, 0x08 },
|
|
{ "ENLQICRCT1", 0x10, 0x10 },
|
|
{ "ENLQIATNQASK", 0x20, 0x20 }
|
|
};
|
|
|
|
int
|
|
ahd_lqimode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQIMODE0_parse_table, 6, "LQIMODE0",
|
|
0x50, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRLQIINT0_parse_table[] = {
|
|
{ "CLRLQIATNCMD", 0x01, 0x01 },
|
|
{ "CLRLQIATNLQ", 0x02, 0x02 },
|
|
{ "CLRLQIBADLQT", 0x04, 0x04 },
|
|
{ "CLRLQICRCT2", 0x08, 0x08 },
|
|
{ "CLRLQICRCT1", 0x10, 0x10 },
|
|
{ "CLRLQIATNQAS", 0x20, 0x20 }
|
|
};
|
|
|
|
int
|
|
ahd_clrlqiint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRLQIINT0_parse_table, 6, "CLRLQIINT0",
|
|
0x50, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQIMODE1_parse_table[] = {
|
|
{ "ENLQIOVERI_NLQ", 0x01, 0x01 },
|
|
{ "ENLQIOVERI_LQ", 0x02, 0x02 },
|
|
{ "ENLQIBADLQI", 0x04, 0x04 },
|
|
{ "ENLQICRCI_NLQ", 0x08, 0x08 },
|
|
{ "ENLQICRCI_LQ", 0x10, 0x10 },
|
|
{ "ENLIQABORT", 0x20, 0x20 },
|
|
{ "ENLQIPHASE_NLQ", 0x40, 0x40 },
|
|
{ "ENLQIPHASE_LQ", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_lqimode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQIMODE1_parse_table, 8, "LQIMODE1",
|
|
0x51, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQISTAT1_parse_table[] = {
|
|
{ "LQIOVERI_NLQ", 0x01, 0x01 },
|
|
{ "LQIOVERI_LQ", 0x02, 0x02 },
|
|
{ "LQIBADLQI", 0x04, 0x04 },
|
|
{ "LQICRCI_NLQ", 0x08, 0x08 },
|
|
{ "LQICRCI_LQ", 0x10, 0x10 },
|
|
{ "LQIABORT", 0x20, 0x20 },
|
|
{ "LQIPHASE_NLQ", 0x40, 0x40 },
|
|
{ "LQIPHASE_LQ", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_lqistat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQISTAT1_parse_table, 8, "LQISTAT1",
|
|
0x51, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRLQIINT1_parse_table[] = {
|
|
{ "CLRLQIOVERI_NLQ", 0x01, 0x01 },
|
|
{ "CLRLQIOVERI_LQ", 0x02, 0x02 },
|
|
{ "CLRLQIBADLQI", 0x04, 0x04 },
|
|
{ "CLRLQICRCI_NLQ", 0x08, 0x08 },
|
|
{ "CLRLQICRCI_LQ", 0x10, 0x10 },
|
|
{ "CLRLIQABORT", 0x20, 0x20 },
|
|
{ "CLRLQIPHASE_NLQ", 0x40, 0x40 },
|
|
{ "CLRLQIPHASE_LQ", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_clrlqiint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRLQIINT1_parse_table, 8, "CLRLQIINT1",
|
|
0x51, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQISTAT2_parse_table[] = {
|
|
{ "LQIGSAVAIL", 0x01, 0x01 },
|
|
{ "LQISTOPCMD", 0x02, 0x02 },
|
|
{ "LQISTOPLQ", 0x04, 0x04 },
|
|
{ "LQISTOPPKT", 0x08, 0x08 },
|
|
{ "LQIWAITFIFO", 0x10, 0x10 },
|
|
{ "LQIWORKONLQ", 0x20, 0x20 },
|
|
{ "LQIPHASE_OUTPKT", 0x40, 0x40 },
|
|
{ "PACKETIZED", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_lqistat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQISTAT2_parse_table, 8, "LQISTAT2",
|
|
0x52, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SSTAT3_parse_table[] = {
|
|
{ "OSRAMPERR", 0x01, 0x01 },
|
|
{ "NTRAMPERR", 0x02, 0x02 }
|
|
};
|
|
|
|
int
|
|
ahd_sstat3_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SSTAT3_parse_table, 2, "SSTAT3",
|
|
0x53, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SIMODE3_parse_table[] = {
|
|
{ "ENOSRAMPERR", 0x01, 0x01 },
|
|
{ "ENNTRAMPERR", 0x02, 0x02 }
|
|
};
|
|
|
|
int
|
|
ahd_simode3_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SIMODE3_parse_table, 2, "SIMODE3",
|
|
0x53, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRSINT3_parse_table[] = {
|
|
{ "CLROSRAMPERR", 0x01, 0x01 },
|
|
{ "CLRNTRAMPERR", 0x02, 0x02 }
|
|
};
|
|
|
|
int
|
|
ahd_clrsint3_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRSINT3_parse_table, 2, "CLRSINT3",
|
|
0x53, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQOSTAT0_parse_table[] = {
|
|
{ "LQOTCRC", 0x01, 0x01 },
|
|
{ "LQOATNPKT", 0x02, 0x02 },
|
|
{ "LQOATNLQ", 0x04, 0x04 },
|
|
{ "LQOSTOPT2", 0x08, 0x08 },
|
|
{ "LQOTARGSCBPERR", 0x10, 0x10 }
|
|
};
|
|
|
|
int
|
|
ahd_lqostat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQOSTAT0_parse_table, 5, "LQOSTAT0",
|
|
0x54, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRLQOINT0_parse_table[] = {
|
|
{ "CLRLQOTCRC", 0x01, 0x01 },
|
|
{ "CLRLQOATNPKT", 0x02, 0x02 },
|
|
{ "CLRLQOATNLQ", 0x04, 0x04 },
|
|
{ "CLRLQOSTOPT2", 0x08, 0x08 },
|
|
{ "CLRLQOTARGSCBPERR", 0x10, 0x10 }
|
|
};
|
|
|
|
int
|
|
ahd_clrlqoint0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRLQOINT0_parse_table, 5, "CLRLQOINT0",
|
|
0x54, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQOMODE0_parse_table[] = {
|
|
{ "ENLQOTCRC", 0x01, 0x01 },
|
|
{ "ENLQOATNPKT", 0x02, 0x02 },
|
|
{ "ENLQOATNLQ", 0x04, 0x04 },
|
|
{ "ENLQOSTOPT2", 0x08, 0x08 },
|
|
{ "ENLQOTARGSCBPERR", 0x10, 0x10 }
|
|
};
|
|
|
|
int
|
|
ahd_lqomode0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQOMODE0_parse_table, 5, "LQOMODE0",
|
|
0x54, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQOMODE1_parse_table[] = {
|
|
{ "ENLQOPHACHGINPKT", 0x01, 0x01 },
|
|
{ "ENLQOBUSFREE", 0x02, 0x02 },
|
|
{ "ENLQOBADQAS", 0x04, 0x04 },
|
|
{ "ENLQOSTOPI2", 0x08, 0x08 },
|
|
{ "ENLQOINITSCBPERR", 0x10, 0x10 }
|
|
};
|
|
|
|
int
|
|
ahd_lqomode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQOMODE1_parse_table, 5, "LQOMODE1",
|
|
0x55, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQOSTAT1_parse_table[] = {
|
|
{ "LQOPHACHGINPKT", 0x01, 0x01 },
|
|
{ "LQOBUSFREE", 0x02, 0x02 },
|
|
{ "LQOBADQAS", 0x04, 0x04 },
|
|
{ "LQOSTOPI2", 0x08, 0x08 },
|
|
{ "LQOINITSCBPERR", 0x10, 0x10 }
|
|
};
|
|
|
|
int
|
|
ahd_lqostat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQOSTAT1_parse_table, 5, "LQOSTAT1",
|
|
0x55, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRLQOINT1_parse_table[] = {
|
|
{ "CLRLQOPHACHGINPKT", 0x01, 0x01 },
|
|
{ "CLRLQOBUSFREE", 0x02, 0x02 },
|
|
{ "CLRLQOBADQAS", 0x04, 0x04 },
|
|
{ "CLRLQOSTOPI2", 0x08, 0x08 },
|
|
{ "CLRLQOINITSCBPERR", 0x10, 0x10 }
|
|
};
|
|
|
|
int
|
|
ahd_clrlqoint1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRLQOINT1_parse_table, 5, "CLRLQOINT1",
|
|
0x55, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQOSTAT2_parse_table[] = {
|
|
{ "LQOSTOP0", 0x01, 0x01 },
|
|
{ "LQOPHACHGOUTPKT", 0x02, 0x02 },
|
|
{ "LQOWAITFIFO", 0x10, 0x10 },
|
|
{ "LQOPKT", 0xe0, 0xe0 }
|
|
};
|
|
|
|
int
|
|
ahd_lqostat2_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQOSTAT2_parse_table, 4, "LQOSTAT2",
|
|
0x56, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_os_space_cnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "OS_SPACE_CNT",
|
|
0x56, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SIMODE1_parse_table[] = {
|
|
{ "ENREQINIT", 0x01, 0x01 },
|
|
{ "ENSTRB2FAST", 0x02, 0x02 },
|
|
{ "ENSCSIPERR", 0x04, 0x04 },
|
|
{ "ENBUSFREE", 0x08, 0x08 },
|
|
{ "ENPHASEMIS", 0x10, 0x10 },
|
|
{ "ENSCSIRST", 0x20, 0x20 },
|
|
{ "ENATNTARG", 0x40, 0x40 },
|
|
{ "ENSELTIMO", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_simode1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SIMODE1_parse_table, 8, "SIMODE1",
|
|
0x57, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_gsfifo_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "GSFIFO",
|
|
0x58, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DFFSXFRCTL_parse_table[] = {
|
|
{ "RSTCHN", 0x01, 0x01 },
|
|
{ "CLRCHN", 0x02, 0x02 },
|
|
{ "CLRSHCNT", 0x04, 0x04 },
|
|
{ "DFFBITBUCKET", 0x08, 0x08 }
|
|
};
|
|
|
|
int
|
|
ahd_dffsxfrctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DFFSXFRCTL_parse_table, 4, "DFFSXFRCTL",
|
|
0x5a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LQOSCSCTL_parse_table[] = {
|
|
{ "LQONOCHKOVER", 0x01, 0x01 },
|
|
{ "LQONOHOLDLACK", 0x02, 0x02 },
|
|
{ "LQOBUSETDLY", 0x40, 0x40 },
|
|
{ "LQOH2A_VERSION", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_lqoscsctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LQOSCSCTL_parse_table, 4, "LQOSCSCTL",
|
|
0x5a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_nextscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "NEXTSCB",
|
|
0x5a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CLRSEQINTSRC_parse_table[] = {
|
|
{ "CLRCFG4TCMD", 0x01, 0x01 },
|
|
{ "CLRCFG4ICMD", 0x02, 0x02 },
|
|
{ "CLRCFG4TSTAT", 0x04, 0x04 },
|
|
{ "CLRCFG4ISTAT", 0x08, 0x08 },
|
|
{ "CLRCFG4DATA", 0x10, 0x10 },
|
|
{ "CLRSAVEPTRS", 0x20, 0x20 },
|
|
{ "CLRCTXTDONE", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_clrseqintsrc_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CLRSEQINTSRC_parse_table, 7, "CLRSEQINTSRC",
|
|
0x5b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEQINTSRC_parse_table[] = {
|
|
{ "CFG4TCMD", 0x01, 0x01 },
|
|
{ "CFG4ICMD", 0x02, 0x02 },
|
|
{ "CFG4TSTAT", 0x04, 0x04 },
|
|
{ "CFG4ISTAT", 0x08, 0x08 },
|
|
{ "CFG4DATA", 0x10, 0x10 },
|
|
{ "SAVEPTRS", 0x20, 0x20 },
|
|
{ "CTXTDONE", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_seqintsrc_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEQINTSRC_parse_table, 7, "SEQINTSRC",
|
|
0x5b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEQIMODE_parse_table[] = {
|
|
{ "ENCFG4TCMD", 0x01, 0x01 },
|
|
{ "ENCFG4ICMD", 0x02, 0x02 },
|
|
{ "ENCFG4TSTAT", 0x04, 0x04 },
|
|
{ "ENCFG4ISTAT", 0x08, 0x08 },
|
|
{ "ENCFG4DATA", 0x10, 0x10 },
|
|
{ "ENSAVEPTRS", 0x20, 0x20 },
|
|
{ "ENCTXTDONE", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_seqimode_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEQIMODE_parse_table, 7, "SEQIMODE",
|
|
0x5c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_currscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CURRSCB",
|
|
0x5c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t MDFFSTAT_parse_table[] = {
|
|
{ "FIFOFREE", 0x01, 0x01 },
|
|
{ "DATAINFIFO", 0x02, 0x02 },
|
|
{ "DLZERO", 0x04, 0x04 },
|
|
{ "SHVALID", 0x08, 0x08 },
|
|
{ "LASTSDONE", 0x10, 0x10 },
|
|
{ "SHCNTMINUS1", 0x20, 0x20 },
|
|
{ "SHCNTNEGATIVE", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_mdffstat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(MDFFSTAT_parse_table, 7, "MDFFSTAT",
|
|
0x5d, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_lastscb_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "LASTSCB",
|
|
0x5e, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_shaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SHADDR",
|
|
0x60, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_negoaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "NEGOADDR",
|
|
0x60, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_negperiod_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "NEGPERIOD",
|
|
0x61, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_negoffset_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "NEGOFFSET",
|
|
0x62, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t NEGPPROPTS_parse_table[] = {
|
|
{ "PPROPT_IUT", 0x01, 0x01 },
|
|
{ "PPROPT_DT", 0x02, 0x02 },
|
|
{ "PPROPT_QAS", 0x04, 0x04 },
|
|
{ "PPROPT_PACE", 0x08, 0x08 }
|
|
};
|
|
|
|
int
|
|
ahd_negppropts_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NEGPPROPTS_parse_table, 4, "NEGPPROPTS",
|
|
0x63, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t NEGCONOPTS_parse_table[] = {
|
|
{ "WIDEXFER", 0x01, 0x01 },
|
|
{ "ENAUTOATNO", 0x02, 0x02 },
|
|
{ "ENAUTOATNI", 0x04, 0x04 },
|
|
{ "ENSLOWCRC", 0x08, 0x08 },
|
|
{ "RTI_OVRDTRN", 0x10, 0x10 },
|
|
{ "RTI_WRTDIS", 0x20, 0x20 },
|
|
{ "ENSNAPSHOT", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_negconopts_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NEGCONOPTS_parse_table, 7, "NEGCONOPTS",
|
|
0x64, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_annexcol_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ANNEXCOL",
|
|
0x65, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_annexdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ANNEXDAT",
|
|
0x66, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCSCHKN_parse_table[] = {
|
|
{ "LSTSGCLRDIS", 0x01, 0x01 },
|
|
{ "SHVALIDSTDIS", 0x02, 0x02 },
|
|
{ "DFFACTCLR", 0x04, 0x04 },
|
|
{ "SDONEMSKDIS", 0x08, 0x08 },
|
|
{ "WIDERESEN", 0x10, 0x10 },
|
|
{ "CURRFIFODEF", 0x20, 0x20 },
|
|
{ "STSELSKIDDIS", 0x40, 0x40 },
|
|
{ "BIDICHKDIS", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_scschkn_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCSCHKN_parse_table, 8, "SCSCHKN",
|
|
0x66, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_iownid_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "IOWNID",
|
|
0x67, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_shcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SHCNT",
|
|
0x68, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_townid_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "TOWNID",
|
|
0x69, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_seloid_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SELOID",
|
|
0x6b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_haddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "HADDR",
|
|
0x70, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_hcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "HCNT",
|
|
0x78, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_sghaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SGHADDR",
|
|
0x7c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scbhaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCBHADDR",
|
|
0x7c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_sghcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SGHCNT",
|
|
0x84, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scbhcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCBHCNT",
|
|
0x84, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DFF_THRSH_parse_table[] = {
|
|
{ "WR_DFTHRSH_MIN", 0x00, 0x70 },
|
|
{ "RD_DFTHRSH_MIN", 0x00, 0x07 },
|
|
{ "RD_DFTHRSH_25", 0x01, 0x07 },
|
|
{ "RD_DFTHRSH_50", 0x02, 0x07 },
|
|
{ "RD_DFTHRSH_63", 0x03, 0x07 },
|
|
{ "RD_DFTHRSH_75", 0x04, 0x07 },
|
|
{ "RD_DFTHRSH_85", 0x05, 0x07 },
|
|
{ "RD_DFTHRSH_90", 0x06, 0x07 },
|
|
{ "RD_DFTHRSH_MAX", 0x07, 0x07 },
|
|
{ "WR_DFTHRSH_25", 0x10, 0x70 },
|
|
{ "WR_DFTHRSH_50", 0x20, 0x70 },
|
|
{ "WR_DFTHRSH_63", 0x30, 0x70 },
|
|
{ "WR_DFTHRSH_75", 0x40, 0x70 },
|
|
{ "WR_DFTHRSH_85", 0x50, 0x70 },
|
|
{ "WR_DFTHRSH_90", 0x60, 0x70 },
|
|
{ "WR_DFTHRSH_MAX", 0x70, 0x70 },
|
|
{ "RD_DFTHRSH", 0x07, 0x07 },
|
|
{ "WR_DFTHRSH", 0x70, 0x70 }
|
|
};
|
|
|
|
int
|
|
ahd_dff_thrsh_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DFF_THRSH_parse_table, 18, "DFF_THRSH",
|
|
0x88, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t PCIXCTL_parse_table[] = {
|
|
{ "CMPABCDIS", 0x01, 0x01 },
|
|
{ "TSCSERREN", 0x02, 0x02 },
|
|
{ "SRSPDPEEN", 0x04, 0x04 },
|
|
{ "SPLTSTADIS", 0x08, 0x08 },
|
|
{ "SPLTSMADIS", 0x10, 0x10 },
|
|
{ "UNEXPSCIEN", 0x20, 0x20 },
|
|
{ "SERRPULSE", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_pcixctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(PCIXCTL_parse_table, 7, "PCIXCTL",
|
|
0x93, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DCHSPLTSTAT0_parse_table[] = {
|
|
{ "RXSPLTRSP", 0x01, 0x01 },
|
|
{ "RXSCEMSG", 0x02, 0x02 },
|
|
{ "RXOVRUN", 0x04, 0x04 },
|
|
{ "CNTNOTCMPLT", 0x08, 0x08 },
|
|
{ "SCDATBUCKET", 0x10, 0x10 },
|
|
{ "SCADERR", 0x20, 0x20 },
|
|
{ "SCBCERR", 0x40, 0x40 },
|
|
{ "STAETERM", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_dchspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DCHSPLTSTAT0_parse_table, 8, "DCHSPLTSTAT0",
|
|
0x96, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DCHSPLTSTAT1_parse_table[] = {
|
|
{ "RXDATABUCKET", 0x01, 0x01 }
|
|
};
|
|
|
|
int
|
|
ahd_dchspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DCHSPLTSTAT1_parse_table, 1, "DCHSPLTSTAT1",
|
|
0x97, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SGSPLTSTAT0_parse_table[] = {
|
|
{ "RXSPLTRSP", 0x01, 0x01 },
|
|
{ "RXSCEMSG", 0x02, 0x02 },
|
|
{ "RXOVRUN", 0x04, 0x04 },
|
|
{ "CNTNOTCMPLT", 0x08, 0x08 },
|
|
{ "SCDATBUCKET", 0x10, 0x10 },
|
|
{ "SCADERR", 0x20, 0x20 },
|
|
{ "SCBCERR", 0x40, 0x40 },
|
|
{ "STAETERM", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_sgspltstat0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SGSPLTSTAT0_parse_table, 8, "SGSPLTSTAT0",
|
|
0x9e, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SGSPLTSTAT1_parse_table[] = {
|
|
{ "RXDATABUCKET", 0x01, 0x01 }
|
|
};
|
|
|
|
int
|
|
ahd_sgspltstat1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SGSPLTSTAT1_parse_table, 1, "SGSPLTSTAT1",
|
|
0x9f, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DF0PCISTAT_parse_table[] = {
|
|
{ "DPR", 0x01, 0x01 },
|
|
{ "TWATERR", 0x02, 0x02 },
|
|
{ "RDPERR", 0x04, 0x04 },
|
|
{ "SCAAPERR", 0x08, 0x08 },
|
|
{ "RTA", 0x10, 0x10 },
|
|
{ "RMA", 0x20, 0x20 },
|
|
{ "SSE", 0x40, 0x40 },
|
|
{ "DPE", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_df0pcistat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DF0PCISTAT_parse_table, 8, "DF0PCISTAT",
|
|
0xa0, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_reg0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "REG0",
|
|
0xa0, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_reg_isr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "REG_ISR",
|
|
0xa4, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SG_STATE_parse_table[] = {
|
|
{ "SEGS_AVAIL", 0x01, 0x01 },
|
|
{ "LOADING_NEEDED", 0x02, 0x02 },
|
|
{ "FETCH_INPROG", 0x04, 0x04 }
|
|
};
|
|
|
|
int
|
|
ahd_sg_state_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SG_STATE_parse_table, 3, "SG_STATE",
|
|
0xa6, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t TARGPCISTAT_parse_table[] = {
|
|
{ "TWATERR", 0x02, 0x02 },
|
|
{ "STA", 0x08, 0x08 },
|
|
{ "SSE", 0x40, 0x40 },
|
|
{ "DPE", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_targpcistat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(TARGPCISTAT_parse_table, 4, "TARGPCISTAT",
|
|
0xa7, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCBPTR",
|
|
0xa8, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCBAUTOPTR_parse_table[] = {
|
|
{ "SCBPTR_OFF", 0x07, 0x07 },
|
|
{ "SCBPTR_ADDR", 0x38, 0x38 },
|
|
{ "AUSCBPTR_EN", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_scbautoptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCBAUTOPTR_parse_table, 3, "SCBAUTOPTR",
|
|
0xab, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_ccsgaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CCSGADDR",
|
|
0xac, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_ccscbaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CCSCBADDR",
|
|
0xac, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CCSCBCTL_parse_table[] = {
|
|
{ "CCSCBRESET", 0x01, 0x01 },
|
|
{ "CCSCBDIR", 0x04, 0x04 },
|
|
{ "CCSCBEN", 0x08, 0x08 },
|
|
{ "CCARREN", 0x10, 0x10 },
|
|
{ "ARRDONE", 0x40, 0x40 },
|
|
{ "CCSCBDONE", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_ccscbctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CCSCBCTL_parse_table, 6, "CCSCBCTL",
|
|
0xad, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t CCSGCTL_parse_table[] = {
|
|
{ "CCSGRESET", 0x01, 0x01 },
|
|
{ "SG_FETCH_REQ", 0x02, 0x02 },
|
|
{ "CCSGENACK", 0x08, 0x08 },
|
|
{ "SG_CACHE_AVAIL", 0x10, 0x10 },
|
|
{ "CCSGDONE", 0x80, 0x80 },
|
|
{ "CCSGEN", 0x0c, 0x0c }
|
|
};
|
|
|
|
int
|
|
ahd_ccsgctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(CCSGCTL_parse_table, 6, "CCSGCTL",
|
|
0xad, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_ccsgram_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CCSGRAM",
|
|
0xb0, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_ccscbram_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CCSCBRAM",
|
|
0xb0, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_brddat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "BRDDAT",
|
|
0xb8, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t BRDCTL_parse_table[] = {
|
|
{ "BRDSTB", 0x01, 0x01 },
|
|
{ "BRDRW", 0x02, 0x02 },
|
|
{ "BRDEN", 0x04, 0x04 },
|
|
{ "BRDADDR", 0x38, 0x38 },
|
|
{ "FLXARBREQ", 0x40, 0x40 },
|
|
{ "FLXARBACK", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_brdctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(BRDCTL_parse_table, 6, "BRDCTL",
|
|
0xb9, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_seeadr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SEEADR",
|
|
0xba, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_seedat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SEEDAT",
|
|
0xbc, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEECTL_parse_table[] = {
|
|
{ "SEEOP_ERAL", 0x40, 0x70 },
|
|
{ "SEEOP_WRITE", 0x50, 0x70 },
|
|
{ "SEEOP_READ", 0x60, 0x70 },
|
|
{ "SEEOP_ERASE", 0x70, 0x70 },
|
|
{ "SEESTART", 0x01, 0x01 },
|
|
{ "SEERST", 0x02, 0x02 },
|
|
{ "SEEOPCODE", 0x70, 0x70 },
|
|
{ "SEEOP_EWEN", 0x40, 0x40 },
|
|
{ "SEEOP_WALL", 0x40, 0x40 },
|
|
{ "SEEOP_EWDS", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_seectl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEECTL_parse_table, 10, "SEECTL",
|
|
0xbe, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEESTAT_parse_table[] = {
|
|
{ "SEESTART", 0x01, 0x01 },
|
|
{ "SEEBUSY", 0x02, 0x02 },
|
|
{ "SEEARBACK", 0x04, 0x04 },
|
|
{ "LDALTID_L", 0x08, 0x08 },
|
|
{ "SEEOPCODE", 0x70, 0x70 },
|
|
{ "INIT_DONE", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_seestat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEESTAT_parse_table, 6, "SEESTAT",
|
|
0xbe, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DSPDATACTL_parse_table[] = {
|
|
{ "XMITOFFSTDIS", 0x02, 0x02 },
|
|
{ "RCVROFFSTDIS", 0x04, 0x04 },
|
|
{ "DESQDIS", 0x10, 0x10 },
|
|
{ "BYPASSENAB", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_dspdatactl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DSPDATACTL_parse_table, 4, "DSPDATACTL",
|
|
0xc1, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_dfdat_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "DFDAT",
|
|
0xc4, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DSPSELECT_parse_table[] = {
|
|
{ "DSPSEL", 0x1f, 0x1f },
|
|
{ "AUTOINCEN", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_dspselect_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DSPSELECT_parse_table, 2, "DSPSELECT",
|
|
0xc4, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t WRTBIASCTL_parse_table[] = {
|
|
{ "XMITMANVAL", 0x3f, 0x3f },
|
|
{ "AUTOXBCDIS", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_wrtbiasctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(WRTBIASCTL_parse_table, 2, "WRTBIASCTL",
|
|
0xc5, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEQCTL0_parse_table[] = {
|
|
{ "LOADRAM", 0x01, 0x01 },
|
|
{ "SEQRESET", 0x02, 0x02 },
|
|
{ "STEP", 0x04, 0x04 },
|
|
{ "BRKADRINTEN", 0x08, 0x08 },
|
|
{ "FASTMODE", 0x10, 0x10 },
|
|
{ "FAILDIS", 0x20, 0x20 },
|
|
{ "PAUSEDIS", 0x40, 0x40 },
|
|
{ "PERRORDIS", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_seqctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEQCTL0_parse_table, 8, "SEQCTL0",
|
|
0xd6, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t FLAGS_parse_table[] = {
|
|
{ "CARRY", 0x01, 0x01 },
|
|
{ "ZERO", 0x02, 0x02 }
|
|
};
|
|
|
|
int
|
|
ahd_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(FLAGS_parse_table, 2, "FLAGS",
|
|
0xd8, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEQINTCTL_parse_table[] = {
|
|
{ "IRET", 0x01, 0x01 },
|
|
{ "INTMASK1", 0x02, 0x02 },
|
|
{ "INTMASK2", 0x04, 0x04 },
|
|
{ "SCS_SEQ_INT1M0", 0x08, 0x08 },
|
|
{ "SCS_SEQ_INT1M1", 0x10, 0x10 },
|
|
{ "INT1_CONTEXT", 0x20, 0x20 },
|
|
{ "INTVEC1DSL", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_seqintctl_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEQINTCTL_parse_table, 7, "SEQINTCTL",
|
|
0xd9, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_seqram_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SEQRAM",
|
|
0xda, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_prgmcnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "PRGMCNT",
|
|
0xde, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_accum_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ACCUM",
|
|
0xe0, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_sindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SINDEX",
|
|
0xe2, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_dindex_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "DINDEX",
|
|
0xe4, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_allones_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ALLONES",
|
|
0xe8, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_allzeros_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ALLZEROS",
|
|
0xea, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_none_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "NONE",
|
|
0xea, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_sindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SINDIR",
|
|
0xec, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_dindir_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "DINDIR",
|
|
0xed, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_stack_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "STACK",
|
|
0xf2, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_intvec1_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "INTVEC1_ADDR",
|
|
0xf4, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_curaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CURADDR",
|
|
0xf4, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_intvec2_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "INTVEC2_ADDR",
|
|
0xf6, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_longjmp_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "LONGJMP_ADDR",
|
|
0xf8, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_accum_save_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ACCUM_SAVE",
|
|
0xfa, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_sram_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SRAM_BASE",
|
|
0x100, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_waiting_scb_tails_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "WAITING_SCB_TAILS",
|
|
0x100, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_waiting_tid_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "WAITING_TID_HEAD",
|
|
0x120, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_waiting_tid_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "WAITING_TID_TAIL",
|
|
0x122, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_next_queued_scb_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "NEXT_QUEUED_SCB_ADDR",
|
|
0x124, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_complete_scb_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "COMPLETE_SCB_HEAD",
|
|
0x128, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_complete_scb_dmainprog_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "COMPLETE_SCB_DMAINPROG_HEAD",
|
|
0x12a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_complete_dma_scb_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "COMPLETE_DMA_SCB_HEAD",
|
|
0x12c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_complete_dma_scb_tail_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "COMPLETE_DMA_SCB_TAIL",
|
|
0x12e, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_complete_on_qfreeze_head_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "COMPLETE_ON_QFREEZE_HEAD",
|
|
0x130, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "QFREEZE_COUNT",
|
|
0x132, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_kernel_qfreeze_count_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "KERNEL_QFREEZE_COUNT",
|
|
0x134, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_saved_mode_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SAVED_MODE",
|
|
0x136, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_msg_out_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "MSG_OUT",
|
|
0x137, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t DMAPARAMS_parse_table[] = {
|
|
{ "FIFORESET", 0x01, 0x01 },
|
|
{ "FIFOFLUSH", 0x02, 0x02 },
|
|
{ "DIRECTION", 0x04, 0x04 },
|
|
{ "HDMAEN", 0x08, 0x08 },
|
|
{ "HDMAENACK", 0x08, 0x08 },
|
|
{ "SDMAEN", 0x10, 0x10 },
|
|
{ "SDMAENACK", 0x10, 0x10 },
|
|
{ "SCSIEN", 0x20, 0x20 },
|
|
{ "WIDEODD", 0x40, 0x40 },
|
|
{ "PRELOADEN", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_dmaparams_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(DMAPARAMS_parse_table, 10, "DMAPARAMS",
|
|
0x138, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEQ_FLAGS_parse_table[] = {
|
|
{ "NO_DISCONNECT", 0x01, 0x01 },
|
|
{ "SPHASE_PENDING", 0x02, 0x02 },
|
|
{ "DPHASE_PENDING", 0x04, 0x04 },
|
|
{ "CMDPHASE_PENDING", 0x08, 0x08 },
|
|
{ "TARG_CMD_PENDING", 0x10, 0x10 },
|
|
{ "DPHASE", 0x20, 0x20 },
|
|
{ "NO_CDB_SENT", 0x40, 0x40 },
|
|
{ "TARGET_CMD_IS_TAGGED",0x40, 0x40 },
|
|
{ "NOT_IDENTIFIED", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_seq_flags_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEQ_FLAGS_parse_table, 9, "SEQ_FLAGS",
|
|
0x139, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_saved_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SAVED_SCSIID",
|
|
0x13a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_saved_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SAVED_LUN",
|
|
0x13b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t LASTPHASE_parse_table[] = {
|
|
{ "P_DATAOUT", 0x00, 0xe0 },
|
|
{ "P_DATAOUT_DT", 0x20, 0xe0 },
|
|
{ "P_DATAIN", 0x40, 0xe0 },
|
|
{ "P_DATAIN_DT", 0x60, 0xe0 },
|
|
{ "P_COMMAND", 0x80, 0xe0 },
|
|
{ "P_MESGOUT", 0xa0, 0xe0 },
|
|
{ "P_STATUS", 0xc0, 0xe0 },
|
|
{ "P_MESGIN", 0xe0, 0xe0 },
|
|
{ "P_BUSFREE", 0x01, 0x01 },
|
|
{ "MSGI", 0x20, 0x20 },
|
|
{ "IOI", 0x40, 0x40 },
|
|
{ "CDI", 0x80, 0x80 },
|
|
{ "PHASE_MASK", 0xe0, 0xe0 }
|
|
};
|
|
|
|
int
|
|
ahd_lastphase_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(LASTPHASE_parse_table, 13, "LASTPHASE",
|
|
0x13c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_qoutfifo_entry_valid_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "QOUTFIFO_ENTRY_VALID_TAG",
|
|
0x13d, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_kernel_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "KERNEL_TQINPOS",
|
|
0x13e, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_tqinpos_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "TQINPOS",
|
|
0x13f, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_shared_data_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SHARED_DATA_ADDR",
|
|
0x140, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_qoutfifo_next_addr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "QOUTFIFO_NEXT_ADDR",
|
|
0x144, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t ARG_1_parse_table[] = {
|
|
{ "CONT_MSG_LOOP_TARG", 0x02, 0x02 },
|
|
{ "CONT_MSG_LOOP_READ", 0x03, 0x03 },
|
|
{ "CONT_MSG_LOOP_WRITE",0x04, 0x04 },
|
|
{ "EXIT_MSG_LOOP", 0x08, 0x08 },
|
|
{ "MSGOUT_PHASEMIS", 0x10, 0x10 },
|
|
{ "SEND_REJ", 0x20, 0x20 },
|
|
{ "SEND_SENSE", 0x40, 0x40 },
|
|
{ "SEND_MSG", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_arg_1_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(ARG_1_parse_table, 8, "ARG_1",
|
|
0x148, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_arg_2_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ARG_2",
|
|
0x149, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_last_msg_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "LAST_MSG",
|
|
0x14a, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCSISEQ_TEMPLATE_parse_table[] = {
|
|
{ "ALTSTIM", 0x01, 0x01 },
|
|
{ "ENAUTOATNP", 0x02, 0x02 },
|
|
{ "MANUALP", 0x0c, 0x0c },
|
|
{ "ENRSELI", 0x10, 0x10 },
|
|
{ "ENSELI", 0x20, 0x20 },
|
|
{ "MANUALCTL", 0x40, 0x40 }
|
|
};
|
|
|
|
int
|
|
ahd_scsiseq_template_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCSISEQ_TEMPLATE_parse_table, 6, "SCSISEQ_TEMPLATE",
|
|
0x14b, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_initiator_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "INITIATOR_TAG",
|
|
0x14c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SEQ_FLAGS2_parse_table[] = {
|
|
{ "PENDING_MK_MESSAGE", 0x01, 0x01 },
|
|
{ "TARGET_MSG_PENDING", 0x02, 0x02 },
|
|
{ "SELECTOUT_QFROZEN", 0x04, 0x04 }
|
|
};
|
|
|
|
int
|
|
ahd_seq_flags2_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SEQ_FLAGS2_parse_table, 3, "SEQ_FLAGS2",
|
|
0x14d, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_allocfifo_scbptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "ALLOCFIFO_SCBPTR",
|
|
0x14e, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_int_coalescing_timer_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "INT_COALESCING_TIMER",
|
|
0x150, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_int_coalescing_maxcmds_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "INT_COALESCING_MAXCMDS",
|
|
0x152, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_int_coalescing_mincmds_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "INT_COALESCING_MINCMDS",
|
|
0x153, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_cmds_pending_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CMDS_PENDING",
|
|
0x154, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_int_coalescing_cmdcount_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "INT_COALESCING_CMDCOUNT",
|
|
0x156, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_local_hs_mailbox_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "LOCAL_HS_MAILBOX",
|
|
0x157, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_cmdsize_table_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "CMDSIZE_TABLE",
|
|
0x158, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_mk_message_scb_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCB",
|
|
0x160, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_mk_message_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "MK_MESSAGE_SCSIID",
|
|
0x162, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_residual_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_RESIDUAL_DATACNT",
|
|
0x180, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_base_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_BASE",
|
|
0x180, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCB_RESIDUAL_SGPTR_parse_table[] = {
|
|
{ "SG_LIST_NULL", 0x01, 0x01 },
|
|
{ "SG_OVERRUN_RESID", 0x02, 0x02 },
|
|
{ "SG_ADDR_MASK", 0xf8, 0xf8 }
|
|
};
|
|
|
|
int
|
|
ahd_scb_residual_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCB_RESIDUAL_SGPTR_parse_table, 3, "SCB_RESIDUAL_SGPTR",
|
|
0x184, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_scsi_status_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_SCSI_STATUS",
|
|
0x188, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_sense_busaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_SENSE_BUSADDR",
|
|
0x18c, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_tag_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_TAG",
|
|
0x190, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCB_CONTROL_parse_table[] = {
|
|
{ "SCB_TAG_TYPE", 0x03, 0x03 },
|
|
{ "DISCONNECTED", 0x04, 0x04 },
|
|
{ "STATUS_RCVD", 0x08, 0x08 },
|
|
{ "MK_MESSAGE", 0x10, 0x10 },
|
|
{ "TAG_ENB", 0x20, 0x20 },
|
|
{ "DISCENB", 0x40, 0x40 },
|
|
{ "TARGET_SCB", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_scb_control_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCB_CONTROL_parse_table, 7, "SCB_CONTROL",
|
|
0x192, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCB_SCSIID_parse_table[] = {
|
|
{ "OID", 0x0f, 0x0f },
|
|
{ "TID", 0xf0, 0xf0 }
|
|
};
|
|
|
|
int
|
|
ahd_scb_scsiid_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCB_SCSIID_parse_table, 2, "SCB_SCSIID",
|
|
0x193, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCB_LUN_parse_table[] = {
|
|
{ "LID", 0xff, 0xff }
|
|
};
|
|
|
|
int
|
|
ahd_scb_lun_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCB_LUN_parse_table, 1, "SCB_LUN",
|
|
0x194, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCB_TASK_ATTRIBUTE_parse_table[] = {
|
|
{ "SCB_XFERLEN_ODD", 0x01, 0x01 }
|
|
};
|
|
|
|
int
|
|
ahd_scb_task_attribute_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCB_TASK_ATTRIBUTE_parse_table, 1, "SCB_TASK_ATTRIBUTE",
|
|
0x195, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCB_CDB_LEN_parse_table[] = {
|
|
{ "SCB_CDB_LEN_PTR", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_scb_cdb_len_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCB_CDB_LEN_parse_table, 1, "SCB_CDB_LEN",
|
|
0x196, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_task_management_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_TASK_MANAGEMENT",
|
|
0x197, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_dataptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_DATAPTR",
|
|
0x198, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCB_DATACNT_parse_table[] = {
|
|
{ "SG_HIGH_ADDR_BITS", 0x7f, 0x7f },
|
|
{ "SG_LAST_SEG", 0x80, 0x80 }
|
|
};
|
|
|
|
int
|
|
ahd_scb_datacnt_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCB_DATACNT_parse_table, 2, "SCB_DATACNT",
|
|
0x1a0, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
static const ahd_reg_parse_entry_t SCB_SGPTR_parse_table[] = {
|
|
{ "SG_LIST_NULL", 0x01, 0x01 },
|
|
{ "SG_FULL_RESID", 0x02, 0x02 },
|
|
{ "SG_STATUS_VALID", 0x04, 0x04 }
|
|
};
|
|
|
|
int
|
|
ahd_scb_sgptr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(SCB_SGPTR_parse_table, 3, "SCB_SGPTR",
|
|
0x1a4, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_busaddr_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_BUSADDR",
|
|
0x1a8, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_next_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_NEXT",
|
|
0x1ac, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_next2_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_NEXT2",
|
|
0x1ae, regvalue, cur_col, wrap));
|
|
}
|
|
|
|
int
|
|
ahd_scb_disconnected_lists_print(u_int regvalue, u_int *cur_col, u_int wrap)
|
|
{
|
|
return (ahd_print_register(NULL, 0, "SCB_DISCONNECTED_LISTS",
|
|
0x1b8, regvalue, cur_col, wrap));
|
|
}
|
|
|