xref: /freebsd/share/man/man4/mpr.4 (revision b1f9167f94059fd55c630891d359bcff987bd7eb)
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 May 2, 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
46To compile this driver into the kernel, place the following lines in your
47kernel configuration file:
48.Bd -ragged -offset indent
49.Cd "device pci"
50.Cd "device scbus"
51.Cd "device mpr"
52.Ed
53.Pp
54Alternatively, to load the driver as a
55module at boot time, place the following line in
56.Xr loader.conf 5 :
57.Bd -literal -offset indent
58mpr_load="YES"
59.Ed
60.Sh DESCRIPTION
61The
62.Nm
63driver provides support for LSI Fusion-MPT 3 IT/IR
64.Tn SAS
65controllers.
66.Sh HARDWARE
67The following controllers are supported by the
68.Nm
69driver:
70.Pp
71.Bl -bullet -compact
72.It
73LSI SAS 3004 (4 Port SAS)
74.It
75LSI SAS 3008 (8 Port SAS)
76.It
77LSI SAS 3108 (8 Port SAS)
78.El
79.Sh CONFIGURATION
80To disable MSI interrupts for all
81.Nm
82driver instances, set the following tunable value in
83.Xr loader.conf 5 :
84.Bd -literal -offset indent
85hw.mpr.disable_msi=1
86.Ed
87.Pp
88To disable MSI interrupts for a specific
89.Nm
90driver instance, set the following tunable value in
91.Xr loader.conf 5 :
92.Bd -literal -offset indent
93dev.mpr.X.disable_msi=1
94.Ed
95.Pp
96where X is the adapter number.
97.Pp
98To disable MSI-X interrupts for all
99.Nm
100driver instances, set the following tunable value in
101.Xr loader.conf 5 :
102.Bd -literal -offset indent
103hw.mpr.disable_msix=1
104.Ed
105.Pp
106To disable MSI-X interrupts for a specific
107.Nm
108driver instance, set the following tunable value in
109.Xr loader.conf 5 :
110.Bd -literal -offset indent
111dev.mpr.X.disable_msix=1
112.Ed
113.Pp
114To set the maximum number of DMA chains allocated for all adapters, set
115the following variable in
116.Xr loader.conf 5 :
117.Bd -literal -offset indent
118hw.mpr.max_chains=NNNN
119.Ed
120.Pp
121To set the maximum number of DMA chains allocated for a specific adapter,
122set the following variable in
123.Xr loader.conf 5 :
124.Bd -literal -offset indent
125dev.mpr.X.max_chains=NNNN
126.Ed
127.Pp
128This variable may also be viewed via
129.Xr sysctl 8
130to see the maximum set for a given adapter.
131.Pp
132The current number of free chain frames may be seen via the
133dev.mpr.X.chain_free
134.Xr sysctl 8
135variable.
136.Pp
137The lowest number of free chain frames may be seen via the
138dev.mpr.X.chain_free_lowwater
139.Xr sysctl 8
140variable.
141.Pp
142The current number of active I/O commands is shown in the
143dev.mpr.X.io_cmds_active
144.Xr sysctl 8
145variable.
146.Pp
147The maximum number of active I/O commands seen since boot is shown in the
148dev.mpr.X.io_cmds_highwater
149.Xr sysctl 8
150variable.
151.Pp
152Devices can be excluded from
153.Nm
154control for all adapters by setting the following variable in
155.Xr loader.conf 5 :
156.Bd -literal -offset indent
157hw.mpr.exclude_ids=Y
158.Ed
159.Pp
160where Y is the target ID of the device.
161If more than one device is to be
162excluded, target ID's are separated by commas.
163.Pp
164Devices can be excluded from
165.Nm
166control for a specific adapter by setting the following variable in
167.Xr loader.conf 5 :
168.Bd -literal -offset indent
169dev.mpr.X.exclude_ids=Y
170.Ed
171.Pp
172where X is the adapter number and Y is the target ID of the device.
173If more
174than one device is to be excluded, target ID's are separated by commas.
175.Sh DEBUGGING
176To enable debugging prints from the
177.Nm
178driver, set the
179.Bd -literal -offset indent
180hw.mpr.X.debug_level
181.Ed
182.Pp
183variable, where X is the adapter number, either in
184.Xr loader.conf 5
185or via
186.Xr sysctl 8 .
187The following bits have the described effects:
188.Bd -literal -offset indent
1890x0001 Enable informational prints.
1900x0002 Enable prints for driver faults.
1910x0004 Enable prints for controller events.
1920x0008 Enable prints for controller logging.
1930x0010 Enable prints for tracing recovery operations.
1940x0020 Enable prints for parameter errors and programming bugs.
1950x0040 Enable prints for system initialization operations.
1960x0080 Enable prints for more detailed information.
1970x0100 Enable prints for user-generated commands.
1980x0200 Enable prints for device mapping.
1990x0400 Enable prints for tracing through driver functions.
200.Ed
201.Sh SEE ALSO
202.Xr cam 4 ,
203.Xr cd 4 ,
204.Xr ch 4 ,
205.Xr da 4 ,
206.Xr mps 4 ,
207.Xr mpt 4 ,
208.Xr pci 4 ,
209.Xr sa 4 ,
210.Xr scsi 4 ,
211.Xr targ 4 ,
212.Xr loader.conf 5 ,
213.Xr sysctl 8
214.Sh HISTORY
215The
216.Nm
217driver first appeared in FreeBSD 9.3.
218.Sh AUTHORS
219The
220.Nm
221driver was originally written by
222.An -nosplit
223.An Scott Long Aq scottl@FreeBSD.org .
224It has been improved and tested by LSI Corporation.
225.Pp
226This man page was written by
227.An Ken Merry Aq ken@FreeBSD.org
228with additional input from
229.An Stephen McConnell Aq stephen.mcconnell@lsi.com .
230