xref: /freebsd/share/man/man4/mps.4 (revision a0ee8cc636cd5c2374ec44ca71226564ea0bca95)
1.\"
2.\" Copyright (c) 2010 Spectra Logic Corporation
3.\" All rights reserved.
4.\"
5.\" Redistribution and use in source and binary forms, with or without
6.\" modification, are permitted provided that the following conditions
7.\" are met:
8.\" 1. Redistributions of source code must retain the above copyright
9.\"    notice, this list of conditions, and the following disclaimer,
10.\"    without modification.
11.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer
12.\"    substantially similar to the "NO WARRANTY" disclaimer below
13.\"    ("Disclaimer") and any redistribution must be conditioned upon
14.\"    including a substantially similar Disclaimer requirement for further
15.\"    binary redistribution.
16.\"
17.\" NO WARRANTY
18.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
21.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22.\" HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGES.
29.\"
30.\" mps driver man page.
31.\"
32.\" Author: Ken Merry <ken@FreeBSD.org>
33.\"
34.\" $Id: //depot/SpectraBSD/head/share/man/man4/mps.4#6 $
35.\" $FreeBSD$
36.\"
37.Dd December 9, 2015
38.Dt MPS 4
39.Os
40.Sh NAME
41.Nm mps
42.Nd LSI Fusion-MPT 2 Serial Attached SCSI driver
43.Sh SYNOPSIS
44To compile this driver into your kernel,
45place the following lines in your kernel configuration file:
46.Bd -ragged -offset indent
47.Cd "device scbus"
48.Cd "device mps"
49.Ed
50.Pp
51Or, to load the driver as a module at boot, place the following line in
52.Xr loader.conf 5 :
53.Bd -literal -offset indent
54mps_load="YES"
55.Ed
56.Sh DESCRIPTION
57The
58.Nm
59driver provides support for LSI Logic Fusion-MPT 2
60.Tn SAS
61controllers and WarpDrive solid state storage cards.
62.Sh HARDWARE
63The
64.Nm
65driver supports the following hardware:
66.Pp
67.Bl -bullet -compact
68.It
69LSI Logic SAS2004 (4 Port
70.Tn SAS )
71.It
72LSI Logic SAS2008 (8 Port
73.Tn SAS )
74.It
75LSI Logic SAS2108 (8 Port
76.Tn SAS )
77.It
78LSI Logic SAS2116 (16 Port
79.Tn SAS )
80.It
81LSI Logic SAS2208 (8 Port
82.Tn SAS )
83.It
84LSI Logic SAS2308 (8 Port
85.Tn SAS )
86.It
87LSI Logic SSS6200 Solid State Storage
88.It
89Intel Integrated RAID Module RMS25JB040
90.It
91Intel Integrated RAID Module RMS25JB080
92.It
93Intel Integrated RAID Module RMS25KB040
94.It
95Intel Integrated RAID Module RMS25KB080
96.El
97.Sh CONFIGURATION
98To disable MSI interrupts for all
99.Nm
100driver instances, set the following tunable value in
101.Xr loader.conf 5 :
102.Bd -literal -offset indent
103hw.mps.disable_msi=1
104.Ed
105.Pp
106To disable MSI 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.mps.X.disable_msi=1
112.Ed
113.Pp
114where X is the adapter number.
115.Pp
116To disable MSI-X interrupts for all
117.Nm
118driver instances, set the following tunable value in
119.Xr loader.conf 5 :
120.Bd -literal -offset indent
121hw.mps.disable_msix=1
122.Ed
123.Pp
124To disable MSI-X interrupts for a specific
125.Nm
126driver instance, set the following tunable value in
127.Xr loader.conf 5 :
128.Bd -literal -offset indent
129dev.mps.X.disable_msix=1
130.Ed
131.Pp
132where X is the adapter number.
133.Pp
134To set the maximum number of DMA chains allocated for all adapters,
135set the following variable in
136.Xr loader.conf 5 :
137.Bd -literal -offset indent
138hw.mps.max_chains=NNNN
139.Ed
140.Pp
141To set the maximum number of DMA chains allocated for a specific adapter,
142set the following variable in
143.Xr loader.conf 5 :
144.Bd -literal -offset indent
145dev.mps.X.max_chains=NNNN
146.Ed
147.Pp
148This variable may also be viewed via
149.Xr sysctl 8
150to see the maximum set for a given adapter.
151.Pp
152The current number of free chain frames may be seen via the
153dev.mps.X.chain_free
154.Xr sysctl 8
155variable.
156.Pp
157The lowest number of free chain frames may be seen via the
158dev.mps.X.chain_free_lowwater
159.Xr sysctl 8
160variable.
161.Pp
162The current number of active I/O commands is shown in the
163dev.mps.X.io_cmds_active
164.Xr sysctl 8
165variable.
166.Pp
167The maximum number of active I/O command seen since boot is shown in the
168dev.mps.X.io_cmds_highwater
169.Xr sysctl 8
170variable.
171.Pp
172The adapter can issue the
173.Sy StartStopUnit
174SCSI command to SATA direct-access devices during shutdown, to allow the
175device to quiesce before being powered down.
176To control this feature for all adapters, set the
177.Bd -literal -offset indent
178hw.mps.enable_ssu
179.Ed
180.Pp
181tunable value in
182.Xr loader.conf 5
183to one of the following values:
184.Bl -tag -width 6n -offset indent
185.It 0
186Do not send SSU to either HDDs or SSDs.
187.It 1
188Send SSU to SSDs, but not to HDDs; this is the default value.
189.It 2
190Send SSU to HDDs, but not to SSDs.
191.It 3
192Send SSU to both HDDs and SSDs.
193.El
194.Pp
195To control the feature for a specific adapter, set the following tunable
196value in
197.Xr loader.conf 5 :
198.Bd -literal -offset indent
199dev.mps.X.enable_ssu
200.Ed
201.Pp
202where X is the adapter number.
203The same set of values are valid as for all adapters.
204.Sh DEBUGGING
205To enable debugging prints from the
206.Nm
207driver, set the
208.Bd -literal -offset indent
209hw.mps.X.debug_level
210.Ed
211.Pp
212variable, where X is the adapter number, either in
213.Xr loader.conf 5
214or via
215.Xr sysctl 8 .
216The following bits have the described effects:
217.Bl -tag -width 6n -offset indent
218.It 0x01
219Enable informational prints.
220.It 0x02
221Enable tracing prints.
222.It 0x04
223Enable prints for driver faults.
224.It 0x08
225Enable prints for controller events.
226.El
227.Sh SEE ALSO
228.Xr cd 4 ,
229.Xr ch 4 ,
230.Xr da 4 ,
231.Xr mpt 4 ,
232.Xr pci 4 ,
233.Xr sa 4 ,
234.Xr scsi 4 ,
235.Xr targ 4 ,
236.Xr loader.conf 5 ,
237.Xr sysctl 8
238.Sh HISTORY
239The
240.Nm
241driver first appeared in
242.Fx 9.0 .
243.Sh AUTHORS
244.An -nosplit
245The
246.Nm
247driver was originally written by
248.An Scott Long Aq Mt scottl@FreeBSD.org .
249It has been improved and tested by LSI Logic Corporation.
250This man page was written by
251.An Ken Merry Aq Mt ken@FreeBSD.org .
252.Sh BUGS
253This driver has a couple of known shortcomings:
254.Bl -bullet -compact
255.It
256No userland utility available (e.g.,
257.Xr mptutil 8 ) .
258.It
259The driver probes devices sequentially.
260If your system has a large number of devices, the probe will take a while.
261.El
262