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 February 7, 2012 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 controllers: 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.El 84.Sh CONFIGURATION 85To disable MSI interrupts for all 86.Nm 87driver instances, set the following tunable value in 88.Xr loader.conf 5 : 89.Bd -literal -offset indent 90hw.mps.disable_msi=1 91.Ed 92.Pp 93To disable MSI interrupts for a specific 94.Nm 95driver instance, set the following tunable value in 96.Xr loader.conf 5 : 97.Bd -literal -offset indent 98dev.mps.X.disable_msi=1 99.Ed 100.Pp 101where X is the adapter number. 102.Pp 103To disable MSI-X interrupts for all 104.Nm 105driver instances, set the following tunable value in 106.Xr loader.conf 5 : 107.Bd -literal -offset indent 108hw.mps.disable_msix=1 109.Ed 110.Pp 111To disable MSI-X interrupts for a specific 112.Nm 113driver instance, set the following tunable value in 114.Xr loader.conf 5 : 115.Bd -literal -offset indent 116dev.mps.X.disable_msix=1 117.Ed 118.Pp 119To set the maximum number of DMA chains allocated for all adapters, 120set the following variable in 121.Xr loader.conf 5 : 122.Bd -literal -offset indent 123hw.mps.max_chains=NNNN 124.Ed 125.Pp 126To set the maximum number of DMA chains allocated for a specific adapter, 127set the following variable in 128.Xr loader.conf 5 : 129.Bd -literal -offset indent 130dev.mps.X.max_chains=NNNN 131.Ed 132.Pp 133This variable may also be viewed via 134.Xr sysctl 8 135to see the maximum set for a given adapter. 136.Pp 137The current number of free chain frames may be seen via the 138dev.mps.X.chain_free 139.Xr sysctl 8 140variable. 141.Pp 142The lowest number of free chain frames may be seen via the 143dev.mps.X.chain_free_lowwater 144.Xr sysctl 8 145variable. 146.Pp 147The current number of active I/O commands is shown in the 148dev.mps.X.io_cmds_active 149.Xr sysctl 8 150variable. 151.Pp 152The maximum number of active I/O command seen since boot is shown in the 153dev.mps.X.io_cmds_highwater 154.Xr sysctl 8 155variable. 156.Sh DEBUGGING 157To enable debugging prints from the 158.Nm 159driver, set the 160.Bd -literal -offset indent 161hw.mps.X.debug_level 162.Ed 163.Pp 164variable, where X is the adapter number, either in 165.Xr loader.conf 5 166or via 167.Xr sysctl 8 . 168The following bits have the described effects: 169.Bl -tag -offset indent 170.It 0x01 171Enable informational prints. 172.It 0x02 173Enable tracing prints. 174.It 0x04 175Enable prints for driver faults. 176.It 0x08 177Enable prints for controller events. 178.El 179.Sh SEE ALSO 180.Xr cd 4 , 181.Xr ch 4 , 182.Xr da 4 , 183.Xr mpt 4 , 184.Xr pci 4 , 185.Xr sa 4 , 186.Xr scsi 4 , 187.Xr targ 4 , 188.Xr loader.conf 5 , 189.Xr sysctl 8 190.Sh HISTORY 191The 192.Nm 193driver first appeared in 194.Fx 9.0 . 195.Sh AUTHORS 196.An -nosplit 197The 198.Nm 199driver was originally written by 200.An Scott Long Aq scottl@FreeBSD.org . 201It has been improved and tested by LSI Logic Corporation. 202This man page was written by 203.An Ken Merry Aq ken@FreeBSD.org . 204.Sh BUGS 205This driver has a couple of known shortcomings: 206.Bl -bullet -compact 207.It 208Not endian safe. 209It only works on little endian machines (e.g. amd64 and i386). 210.It 211No userland utility available (e.g. 212.Xr mptutil 8) 213.It 214The driver probes devices sequentially. 215If your system has a large number of devices, the probe will take a while. 216.El 217