Merge from vendor branch DIFFUTILS:
[dragonfly.git] / share / man / man4 / ahd.4
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: src/share/man/man4/ahd.4,v 1.6.2.1 2006/06/05 19:30:28 brueffer Exp $
30 .\" $DragonFly: src/share/man/man4/ahd.4,v 1.6 2007/07/07 18:31:59 swildner Exp $
31 .\"
32 .Dd July 7, 2007
33 .Dt AHD 4
34 .Os
35 .Sh NAME
36 .Nm ahd
37 .Nd Adaptec PCI/PCI-X Ultra320 SCSI host adapter driver
38 .Sh SYNOPSIS
39 To compile this driver into the kernel,
40 place the following lines in your
41 kernel configuration file:
42 .Bd -ragged -offset indent
43 .Cd "device pci"
44 .Cd "device scbus"
45 .Cd "device ahd"
46 .Pp
47 To compile in debugging code:
48 .Cd options AHD_DEBUG
49 .Cd options AHD_DEBUG_OPTS=<bitmask of options>
50 .Cd options AHD_REG_PRETTY_PRINT
51 .Pp
52 To configure one or more controllers to assume the target role:
53 .Cd options AHD_TMODE_ENABLE=<bitmask of units>
54 .Ed
55 .Pp
56 Alternatively, to load the driver as a
57 module at boot time, place the following line in
58 .Xr loader.conf 5 :
59 .Bd -literal -offset indent
60 ahd_load="YES"
61 .Ed
62 .Sh DESCRIPTION
63 This driver provides access to the
64 .Tn SCSI
65 bus(es) connected to Adaptec
66 .Tn AIC79xx
67 host adapter chips.
68 .Pp
69 Driver features include support for narrow and wide busses,
70 fast, ultra, ultra2, ultra160, and ultra320 synchronous transfers,
71 packetized transfers, tagged queueing, 512 SCB's, and target mode.
72 .Pp
73 The
74 .Dv AHD_DEBUG_OPTS
75 option is used to control which diagnostic messages are printed to the
76 console when
77 .Dv AHD_DEBUG
78 is enabled.
79 Logically OR the following bits together:
80 .Bl -column -offset indent Value Function
81 .Em "Value      Function"
82 0x0001  Show miscellaneous information
83 0x0002  Show sense data
84 0x0004  Show Serial EEPROM contents
85 0x0008  Show bus termination settings
86 0x0010  Show host memory usage
87 0x0020  Show SCSI protocol messages
88 0x0040  Show mode pointer of the chip register window
89 0x0080  Show selection timeouts
90 0x0100  Show FIFO usage messages
91 0x0200  Show Queue Full status
92 0x0400  Show SCB queue status
93 0x0800  Show inbound packet information
94 0x1000  Show S/G list information
95 0x2000  Enable extra diagnostic code in the firmware
96 .El
97 .Pp
98 The
99 .Dv AHD_REG_PRETTY_PRINT
100 option compiles in support for human-readable bit definitions for each register
101 that is printed by the debugging code.
102 However, it also bloats the compiled
103 size of the driver by approximately 215KB.
104 .Pp
105 Individual controllers may be configured to operate in the target role
106 through the
107 .Dv AHD_TMODE_ENABLE
108 configuration option.
109 The value assigned to this option should be a bitmap
110 of all units where target mode is desired.
111 For example, a value of 0x25 would enable target mode on units 0, 2, and 5.
112 Note that target mode is only supported for ultra160 speeds and below.
113 .Pp
114 Per target configuration performed in the
115 .Tn SCSI-Select
116 menu, accessible at boot,
117 is honored by this driver.
118 This includes synchronous/asynchronous transfers,
119 maximum synchronous negotiation rate,
120 wide transfers,
121 disconnection,
122 and the host adapter's
123 .Tn SCSI
124 ID.
125 .Sh HARDWARE
126 The
127 .Nm
128 driver supports the following:
129 .Pp
130 .Bl -bullet -compact
131 .It
132 Adaptec
133 .Tn AIC7901
134 host adapter chip
135 .It
136 Adaptec
137 .Tn AIC7901A
138 host adapter chip
139 .It
140 Adaptec
141 .Tn AIC7902
142 host adapter chip
143 .It
144 Adaptec
145 .Tn 29320
146 host adapter
147 .It
148 Adaptec
149 .Tn 39320
150 host adapter
151 .It
152 Many motherboards with on-board
153 .Tn SCSI
154 support
155 .El
156 .Sh SEE ALSO
157 .Xr ahc 4 ,
158 .Xr cd 4 ,
159 .Xr da 4 ,
160 .Xr sa 4 ,
161 .Xr scsi 4
162 .Sh HISTORY
163 The
164 .Nm
165 driver first appeared in
166 .Fx 4.7 .
167 .Sh AUTHORS
168 The
169 .Nm
170 driver, the
171 .Tn AIC7xxx
172 sequencer-code assembler,
173 and the firmware running on the aic79xx chips was written by
174 .An Justin T. Gibbs .
175 This manual page is based on the
176 .Xr ahc 4
177 manual page.
178 .Sh BUGS
179 The current generation of 79xx chips do not support target mode in Ultra320
180 mode.
181 Target mode in general has not been well tested in this driver.