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