]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - share/man/man4/mpr.4
Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers.
[FreeBSD/FreeBSD.git] / share / man / man4 / mpr.4
1 .\"
2 .\" Copyright (c) 2010 Spectra Logic Corporation
3 .\" Copyright (c) 2014 LSI Corp
4 .\" All rights reserved.
5 .\"
6 .\" Redistribution and use in source and binary forms, with or without
7 .\" modification, are permitted provided that the following conditions
8 .\" are met:
9 .\" 1. Redistributions of source code must retain the above copyright
10 .\"    notice, this list of conditions, and the following disclaimer,
11 .\"    without modification.
12 .\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
13 .\"    substantially similar to the "NO WARRANTY" disclaimer below
14 .\"    ("Disclaimer") and any redistribution must be conditioned upon
15 .\"    including a substantially similar Disclaimer requirement for further
16 .\"    binary redistribution.
17 .\"
18 .\" NO WARRANTY
19 .\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20 .\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21 .\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
22 .\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23 .\" HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27 .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
28 .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 .\" POSSIBILITY OF SUCH DAMAGES.
30 .\" 
31 .\" mpr driver man page.
32 .\"
33 .\" Author: Ken Merry <ken@FreeBSD.org>
34 .\" Author: Stephen McConnell <stephen.mcconnell@lsi.com>
35 .\"
36 .\" $Id$
37 .\" $FreeBSD$
38 .\"
39 .Dd Apr 28, 2014
40 .Dt MPR 4
41 .Os
42 .Sh NAME
43 .Nm mpr
44 .Nd "LSI Fusion-MPT 3 IT/IR 12Gb/s Serial Attached SCSI/SATA driver"
45 .Sh SYNOPSIS
46 To compile this driver into the kernel, place the following lines in your
47 kernel configuration file:
48 .Bd -ragged -offset indent
49 .Cd "device pci"
50 .Cd "device scbus"
51 .Cd "device mpr"
52 .Ed
53 .Pp
54 Or, to load the driver as a module at boot, place the following line in
55 .Xr loader.conf 5 :
56 .Bd -literal -offset indent
57 mpr_load="YES"
58 .Ed
59 .Sh DESCRIPTION
60 The
61 .Nm 
62 driver provides support for LSI Fusion-MPT 3 IT/IR
63 .Tn SAS
64 controllers.
65 .Sh HARDWARE
66 The following controllers are supported by the
67 .Nm
68 driver
69 .Pp
70 .Bl -bullet -compact
71 .It
72 LSI SAS 3004 (4 Port SAS)
73 .It
74 LSI SAS 3008 (8 Port SAS)
75 .It
76 LSI SAS 3108 (8 Port SAS)
77 .El
78 .Sh CONFIGURATION
79 To disable MSI interrupts for all
80 .Nm
81 driver instances, set the following tunable value in
82 .Xr loader.conf 5 :
83 .Bd -literal -offset indent
84 hw.mpr.disable_msi=1
85 .Ed
86 .Pp
87 To disable MSI interrupts for a specific
88 .Nm
89 driver instance, set the following tunable value in
90 .Xr loader.conf 5 :
91 .Bd -literal -offset indent
92 dev.mpr.X.disable_msi=1
93 .Ed
94 .Pp
95 where X is the adapter number.
96 .Pp
97 To disable MSI-X interrupts for all
98 .Nm
99 driver instances, set the following tunable value in
100 .Xr loader.conf 5 :
101 .Bd -literal -offset indent
102 hw.mpr.disable_msix=1
103 .Ed
104 .Pp
105 To disable MSI-X interrupts for a specific
106 .Nm
107 driver instance, set the following tunable value in
108 .Xr loader.conf 5 :
109 .Bd -literal -offset indent
110 dev.mpr.X.disable_msix=1
111 .Ed
112 .Pp
113 To set the maximum number of DMA chains allocated for all adapters, set
114 the following variable in
115 .Xr loader.conf 5 :
116 .Bd -literal -offset indent
117 hw.mpr.max_chains=NNNN
118 .Ed
119 .Pp
120 To set the maximum number of DMA chains allocated for a specific adapter,
121 set the following variable in
122 .Xr loader.conf 5 :
123 .Bd -literal -offset indent
124 dev.mpr.X.max_chains=NNNN
125 .Ed
126 .Pp
127 This variable may also be viewed via
128 .Xr sysctl 8
129 to see the maximum set for a given adapter.
130 .Pp
131 The current number of free chain frames may be seen via the
132 dev.mpr.X.chain_free
133 .Xr sysctl 8
134 variable.
135 .Pp
136 The lowest number of free chain frames may be seen via the
137 dev.mpr.X.chain_free_lowwater
138 .Xr sysctl 8
139 variable.
140 .Pp
141 The current number of active I/O commands is shown in the
142 dev.mpr.X.io_cmds_active
143 .Xr sysctl 8
144 variable.
145 .Pp
146 The maximum number of active I/O commands seen since boot is shown in the
147 dev.mpr.X.io_cmds_highwater
148 .Xr sysctl 8
149 variable.
150 .Pp
151 Devices can be excluded from
152 .Nm
153 control for all adapters by setting the following variable in
154 .Xr loader.conf 5 :
155 .Bd -literal -offset indent
156 hw.mpr.exclude_ids=Y
157 .Ed
158 .Pp
159 where Y is the target ID of the device.  If more than one device is to be
160 excluded, target ID's are separated by commas.
161 .Pp
162 Devices can be excluded from
163 .Nm
164 control for a specific adapter by setting the following variable in
165 .Xr loader.conf 5 :
166 .Bd -literal -offset indent
167 dev.mpr.X.exclude_ids=Y
168 .Ed
169 .Pp
170 where X is the adapter number and Y is the target ID of the device.  If more
171 than one device is to be excluded, target ID's are separated by commas.
172 .Sh DEBUGGING
173 To enable debugging prints from the
174 .Nm
175 driver, set the
176 .Bd -literal -offset indent
177 hw.mpr.X.debug_level
178 .Ed
179 .Pp
180 variable, where X is the adapter number, either in
181 .Xr loader.conf 5
182 or via
183 .Xr sysctl 8 .
184 The following bits have the described effects:
185 .Bd -literal -offset indent
186 0x0001 Enable informational prints.
187 0x0002 Enable prints for driver faults.
188 0x0004 Enable prints for controller events.
189 0x0008 Enable prints for controller logging.
190 0x0010 Enable prints for tracing recovery operations.
191 0x0020 Enable prints for parameter errors and programming bugs.
192 0x0040 Enable prints for system initialization operations.
193 0x0080 Enable prints for more detailed information.
194 0x0100 Enable prints for user-generated commands.
195 0x0200 Enable prints for device mapping.
196 0x0400 Enable prints for tracing through driver functions.
197 .Ed
198 .Sh SEE ALSO
199 .Xr cam 4 ,
200 .Xr cd 4 ,
201 .Xr ch 4 ,
202 .Xr da 4 ,
203 .Xr mpt 4 ,
204 .Xr mps 4 ,
205 .Xr pci 4 ,
206 .Xr sa 4 ,
207 .Xr scsi 4 ,
208 .Xr targ 4 ,
209 .Xr loader.conf 5 ,
210 .Xr sysctl 8
211 .Sh HISTORY
212 The
213 .Nm
214 driver first appeared in FreeBSD 9.3.
215 .Sh AUTHORS
216 The
217 .Nm
218 driver was originally written by
219 .An -nosplit
220 .An Scott Long Aq scottl@FreeBSD.org .
221 It has been improved and tested by LSI Corporation.
222 .Pp
223 This man page was written by
224 .An Ken Merry Aq ken@FreeBSD.org
225 with additional input from
226 .An Stephen McConnell Aq stephen.mcconnell@lsi.com .