drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped

Source file repositories/reference/linux-study-clean/drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped

File Facts

System
Linux kernel
Corpus path
drivers/scsi/aic7xxx/aic79xx_reg_print.c_shipped
Extension
.c_shipped
Size
19691 bytes
Lines
746
Domain
Driver Families
Bucket
drivers/scsi
Inferred role
Driver Families: drivers/scsi
Status
atlas-only

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#include "aic79xx_osm.h"

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 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 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 },

Annotation

Implementation Notes