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