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