1.\" 2.\" Copyright (c) 1995, 1996, 1997, 1998, 2000 3.\" Justin T. Gibbs. All rights reserved. 4.\" Copyright (c) 2002 5.\" Scott Long. All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 3. The name of the author may not be used to endorse or promote products 16.\" derived from this software without specific prior written permission. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 19.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 22.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28.\" 29.\" $FreeBSD$ 30.\" 31.Dd July 4, 2004 32.Dt AHD 4 33.Os 34.Sh NAME 35.Nm ahd 36.Nd Adaptec PCI/PCI-X Ultra320 SCSI host adapter driver 37.Sh SYNOPSIS 38To compile this driver into the kernel, 39place the following lines in your 40kernel configuration file: 41.Bd -ragged -offset indent 42.Cd "device pci" 43.Cd "device scbus" 44.Cd "device ahd" 45.Pp 46To compile in debugging code: 47.Cd options AHD_DEBUG 48.Cd options AHD_DEBUG_OPTS=<bitmask of options> 49.Cd options AHD_REG_PRETTY_PRINT 50.Pp 51To configure one or more controllers to assume the target role: 52.Cd options AHD_TMODE_ENABLE=<bitmask of units> 53.Ed 54.Pp 55Alternatively, to load the driver as a 56module at boot time, place the following line in 57.Xr loader.conf 5 : 58.Bd -literal -offset indent 59ahd_load="YES" 60.Ed 61.Sh DESCRIPTION 62This driver provides access to the 63.Tn SCSI 64bus(es) connected to Adaptec 65.Tn AIC79xx 66host adapter chips. 67.Pp 68Driver features include support for narrow and wide busses, 69fast, ultra, ultra2, ultra160, and ultra320 synchronous transfers, 70packetized transfers, tagged queueing, 512 SCB's, and target mode. 71.Pp 72The 73.Dv AHD_DEBUG_OPTS 74option is used to control which diagnostic messages are printed to the 75console when 76.Dv AHD_DEBUG 77is enabled. 78Logically OR the following bits together: 79.Bl -column -offset indent Value Function 80.Em "Value Function" 810x0001 Show miscellaneous information 820x0002 Show sense data 830x0004 Show Serial EEPROM contents 840x0008 Show bus termination settings 850x0010 Show host memory usage 860x0020 Show SCSI protocol messages 870x0040 Show mode pointer of the chip register window 880x0080 Show selection timeouts 890x0100 Show FIFO usage messages 900x0200 Show Queue Full status 910x0400 Show SCB queue status 920x0800 Show inbound packet information 930x1000 Show S/G list information 940x2000 Enable extra diagnostic code in the firmware 95.El 96.Pp 97The 98.Dv AHD_REG_PRETTY_PRINT 99option compiles in support for human-readable bit definitions for each register 100that is printed by the debugging code. 101However, it also bloats the compiled 102size of the driver by approximately 215KB. 103.Pp 104Individual controllers may be configured to operate in the target role 105through the 106.Dv AHD_TMODE_ENABLE 107configuration option. 108The value assigned to this option should be a bitmap 109of all units where target mode is desired. 110For example, a value of 0x25 would enable target mode on units 0, 2, and 5. 111Note that target mode is only supported for ultra160 speeds and below. 112.Pp 113Per target configuration performed in the 114.Tn SCSI-Select 115menu, accessible at boot, 116is honored by this driver. 117This includes synchronous/asynchronous transfers, 118maximum synchronous negotiation rate, 119wide transfers, 120disconnection, 121and the host adapter's 122.Tn SCSI 123ID. 124.Sh HARDWARE 125The 126.Nm 127driver supports the following: 128.Pp 129.Bl -bullet -compact 130.It 131Adaptec 132.Tn AIC7901 133host adapter chip 134.It 135Adaptec 136.Tn AIC7901A 137host adapter chip 138.It 139Adaptec 140.Tn AIC7902 141host adapter chip 142.It 143Adaptec 144.Tn 29320 145host adapter 146.It 147Adaptec 148.Tn 39320 149host adapter 150.It 151Many motherboards with on-board 152.Tn SCSI 153support 154.El 155.Sh SEE ALSO 156.Xr ahc 4 , 157.Xr cd 4 , 158.Xr da 4 , 159.Xr sa 4 , 160.Xr scsi 4 161.Sh HISTORY 162The 163.Nm 164driver first appeared in 165.Fx 4.7 . 166.Sh AUTHORS 167The 168.Nm 169driver, the 170.Tn AIC7xxx 171sequencer-code assembler, 172and the firmware running on the aic79xx chips was written by 173.An Justin T. Gibbs . 174This manual page is based on the 175.Xr ahc 4 176manual page. 177.Sh BUGS 178The current generation of 79xx chips do not support target mode in Ultra320 179mode. 180Target mode in general has not been well tested in this driver. 181