8a621c3966a16ea1c9c56e6a84aea80f857c43bd
[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.2.2.1 2002/09/01 22:35:34 scottl Exp $
30 .\" $DragonFly: src/share/man/man4/ahd.4,v 1.4 2006/03/26 22:56:57 swildner Exp $
31 .\"
32 .Dd September 1, 2002
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 For one or more PCI/PCI-X cards:
40 .Cd device pci
41 .Cd device ahd
42 .Pp
43 To compile in debugging code.
44 .Cd options AHD_DEBUG
45 .Cd options AHD_DEBUG_OPTS=<bitmask of options>
46 .Cd options AHD_REG_PRETTY_PRINT
47 .Pp
48 To configure one or more controllers to assume the target role:
49 .Cd options AHD_TMODE_ENABLE=<bitmask of units>
50 .Pp
51 For one or more SCSI busses:
52 .Cd device scbus
53 .Sh DESCRIPTION
54 This driver provides access to the
55 .Tn SCSI
56 bus(es) connected to Adaptec
57 .Tn AIC7901
58 and
59 .Tn AIC7902
60 host adapter chips.
61 These chips are found on many motherboards as well as the
62 .Tn 29320
63 and
64 .Tn 39320
65 Adaptec SCSI controller cards.
66 .Pp
67 Driver features include support for narrow and wide busses,
68 fast, ultra, ultra2, ultra160, and ultra320 synchronous transfers,
69 packetized transfers, tagged queueing, 512 SCB's, and target mode.
70 .Pp
71 The
72 .Dq Dv AHD_DEBUG_OPTS
73 option is used to control which diagnostic messages are printed to the
74 console when
75 .Dq Dv AHD_DEBUG
76 is enabled.  Logically 'or' the following bits together:
77 .Pp
78 .Bd -ragged -offset indent
79 .Bl -column "Value " Function
80 .Em "Value   Function"
81 0x0001  Show miscellanious information
82 0x0002  Show sense data
83 0x0004  Show Serial EEPROM contents
84 0x0008  Show bus termination settings
85 0x0010  Show host memory usage
86 0x0020  Show SCSI protocol messages
87 0x0040  Show mode pointer of the chip register window
88 0x0080  Show selection timeouts
89 0x0100  Show FIFO usage messages
90 0x0200  Show Queue Full status
91 0x0400  Show SCB queue status
92 0x0800  Show inbound packet information
93 0x1000  Show S/G list information
94 0x2000  Enable extra diagnostic code in the firmware
95 .El
96 .Ed
97 .Pp
98 The
99 .Dq 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.  However, it also bloats the compiled
102 size of the driver by approximately 215KB.
103 .Pp
104 Individual controllers may be configured to operate in the target role
105 through the
106 .Dq Dv AHD_TMODE_ENABLE
107 configuration option.  The value assigned to this option should be a bitmap
108 of all units where target mode is desired.
109 For example, a value of 0x25, would enable target mode on units 0, 2, and 5.
110 Note that target mode is only supoprted for ultra160 speeds and below.
111 .Pp
112 Per target configuration performed in the
113 .Tn SCSI-Select
114 menu, accessible at boot,
115 is honored by this driver.
116 This includes synchronous/asynchronous transfers,
117 maximum synchronous negotiation rate,
118 wide transfers,
119 disconnection,
120 and the host adapter's SCSI ID.
121 .Sh SEE ALSO
122 .Xr ahc 4 ,
123 .Xr cd 4 ,
124 .Xr da 4 ,
125 .Xr sa 4 ,
126 .Xr scsi 4
127 .Sh HISTORY
128 The
129 .Nm
130 driver first appeared in
131 .Fx 4.7 .
132 .Sh AUTHORS
133 The
134 .Nm
135 driver, the
136 .Tn AIC7xxx
137 sequencer-code assembler,
138 and the firmware running on the aic79xx chips was written by
139 .An Justin T. Gibbs .
140 This manual page is based on the
141 .Xr ahc 4
142 manual page.
143 .Sh BUGS
144 The current generation of 79xx chips do not support target mode in Ultra320
145 mode.
146 Target mode in general has not been well tested in this driver.