drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped
Source file repositories/reference/linux-study-clean/drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/aic7xxx/aic7xxx_reg_print.c_shipped- Extension
.c_shipped- Size
- 10818 bytes
- Lines
- 414
- 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.
- 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
aic7xxx_osm.h
Detected Declarations
function ahc_scsiseq_printfunction ahc_sxfrctl0_printfunction ahc_scsisigi_printfunction ahc_scsirate_printfunction ahc_sstat0_printfunction ahc_sstat1_printfunction ahc_sstat2_printfunction ahc_sstat3_printfunction ahc_simode0_printfunction ahc_simode1_printfunction ahc_scsibusl_printfunction ahc_sblkctl_printfunction ahc_seq_flags_printfunction ahc_lastphase_printfunction ahc_seqctl_printfunction ahc_sram_base_printfunction ahc_error_printfunction ahc_dfcntrl_printfunction ahc_dfstatus_printfunction ahc_scsiphase_printfunction ahc_scb_base_printfunction ahc_scb_control_printfunction ahc_scb_scsiid_printfunction ahc_scb_lun_printfunction ahc_scb_tag_print
Annotated Snippet
#include "aic7xxx_osm.h"
static const ahc_reg_parse_entry_t SCSISEQ_parse_table[] = {
{ "SCSIRSTO", 0x01, 0x01 },
{ "ENAUTOATNP", 0x02, 0x02 },
{ "ENAUTOATNI", 0x04, 0x04 },
{ "ENAUTOATNO", 0x08, 0x08 },
{ "ENRSELI", 0x10, 0x10 },
{ "ENSELI", 0x20, 0x20 },
{ "ENSELO", 0x40, 0x40 },
{ "TEMODE", 0x80, 0x80 }
};
int
ahc_scsiseq_print(u_int regvalue, u_int *cur_col, u_int wrap)
{
return (ahc_print_register(SCSISEQ_parse_table, 8, "SCSISEQ",
0x00, regvalue, cur_col, wrap));
}
static const ahc_reg_parse_entry_t SXFRCTL0_parse_table[] = {
{ "CLRCHN", 0x02, 0x02 },
{ "SCAMEN", 0x04, 0x04 },
{ "SPIOEN", 0x08, 0x08 },
{ "CLRSTCNT", 0x10, 0x10 },
{ "FAST20", 0x20, 0x20 },
{ "DFPEXP", 0x40, 0x40 },
{ "DFON", 0x80, 0x80 }
};
int
ahc_sxfrctl0_print(u_int regvalue, u_int *cur_col, u_int wrap)
{
return (ahc_print_register(SXFRCTL0_parse_table, 7, "SXFRCTL0",
0x01, regvalue, cur_col, wrap));
}
static const ahc_reg_parse_entry_t SCSISIGI_parse_table[] = {
{ "ACKI", 0x01, 0x01 },
{ "REQI", 0x02, 0x02 },
{ "BSYI", 0x04, 0x04 },
{ "SELI", 0x08, 0x08 },
{ "ATNI", 0x10, 0x10 },
{ "MSGI", 0x20, 0x20 },
{ "IOI", 0x40, 0x40 },
{ "CDI", 0x80, 0x80 },
{ "P_DATAOUT", 0x00, 0x00 },
{ "P_DATAOUT_DT", 0x20, 0x20 },
{ "P_DATAIN", 0x40, 0x40 },
{ "P_DATAIN_DT", 0x60, 0x60 },
{ "P_COMMAND", 0x80, 0x80 },
{ "P_MESGOUT", 0xa0, 0xa0 },
{ "P_STATUS", 0xc0, 0xc0 },
{ "PHASE_MASK", 0xe0, 0xe0 },
{ "P_MESGIN", 0xe0, 0xe0 }
};
int
ahc_scsisigi_print(u_int regvalue, u_int *cur_col, u_int wrap)
{
return (ahc_print_register(SCSISIGI_parse_table, 17, "SCSISIGI",
0x03, regvalue, cur_col, wrap));
}
static const ahc_reg_parse_entry_t SCSIRATE_parse_table[] = {
{ "SINGLE_EDGE", 0x10, 0x10 },
{ "ENABLE_CRC", 0x40, 0x40 },
{ "WIDEXFER", 0x80, 0x80 },
{ "SXFR_ULTRA2", 0x0f, 0x0f },
{ "SOFS", 0x0f, 0x0f },
Annotation
- Immediate include surface: `aic7xxx_osm.h`.
- Detected declarations: `function ahc_scsiseq_print`, `function ahc_sxfrctl0_print`, `function ahc_scsisigi_print`, `function ahc_scsirate_print`, `function ahc_sstat0_print`, `function ahc_sstat1_print`, `function ahc_sstat2_print`, `function ahc_sstat3_print`, `function ahc_simode0_print`, `function ahc_simode1_print`.
- Atlas domain: Driver Families / drivers/scsi.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.