AHD(4) | Device Drivers Manual | AHD(4)

# NAME

`ahd` —
Adaptec PCI/PCI-X Ultra320 SCSI host adapter driver

# SYNOPSIS

For one or more PCI/PCI-X cards:
`ahd* at pci? dev ? function ?`

To compile in debugging code:

`options AHD_DEBUG`
`options AHD_DEBUG_OPTS=<bitmask of options>`
`options AHD_REG_PRETTY_PRINT`

For SCSI busses:
`scsibus* at ahd?`

# DESCRIPTION

This driver provides access to the SCSI bus(ses) connected to Adaptec AIC79xx host adapter chips.

Driver features include support for narrow and wide busses, fast, ultra, ultra2, ultra160, and ultra320 synchronous transfers, packetized transfers, tagged queueing, and 512 SCBs.

The `AHD_DEBUG_OPTS` option is used to control which diagnostic messages are printed to the console when `AHD_DEBUG` is enabled. Logically OR the following bits together:

Value | Function
0x0001 | Show miscellaneous information
0x0002 | Show sense data
0x0004 | Show Serial EEPROM contents
0x0008 | Show bus termination settings
0x0010 | Show host memory usage
0x0020 | Show SCSI protocol messages
0x0040 | Show mode pointer of the chip register window
0x0080 | Show selection timeouts
0x0100 | Show FIFO usage messages
0x0200 | Show Queue Full status
0x0400 | Show SCB queue status
0x0800 | Show inbound packet information
0x1000 | Show S/G list information
0x2000 | Enable extra diagnostic code in the firmware

The `AHD_REG_PRETTY_PRINT` option compiles in support for human-readable bit definitions for each register that is printed by the debugging code. However, it also bloats the compiled size of the driver by approximately 215KB.

# HARDWARE

The `ahd` driver supports the following:

- Adaptec AIC7901 host adapter chip
- Adaptec AIC7901A host adapter chip
- Adaptec AIC7902 host adapter chip
- Adaptec 29320 host adapter
- Adaptec 39320 host adapter
- Many motherboards with on-board SCSI support

# SEE ALSO

ahc(4), cd(4), ch(4), intro(4), scsi(4), sd(4), ses(4), st(4)

# HISTORY

The `ahd` driver first appeared in FreeBSD 4.7 and NetBSD 2.0.

# AUTHORS

The `ahd` driver, the AIC7xxx sequencer-code assembler, and the firmware running on the aic79xx chips was written by Justin T. Gibbs. NetBSD porting is done by Pascal Renauld, Frank van der Linden, Jason Thorpe, and Allen Briggs. This manual page is based on the ahc(4) manual page.

May 16, 2009 | NetBSD 9.3