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