mpr(4) LSI Fusion-MPT 3 IT/IR 12Gb/s Serial Attached SCSI/SATA driver

SYNOPSIS

To compile this driver into the kernel, place the following lines in your kernel configuration file:
device pci device scbus device mpr

Alternatively, to load the driver as a module at boot time, place the following line in loader.conf5:


mpr_load="YES"

DESCRIPTION

The driver provides support for LSI Fusion-MPT 3 IT/IR SAS controllers.

HARDWARE

The following controllers are supported by the driver:

  • LSI SAS 3004 (4 Port SAS)
  • LSI SAS 3008 (8 Port SAS)
  • LSI SAS 3108 (8 Port SAS)

CONFIGURATION

To disable MSI interrupts for all driver instances, set the following tunable value in loader.conf5:
hw.mpr.disable_msi=1

To disable MSI interrupts for a specific driver instance, set the following tunable value in loader.conf5:

dev.mpr.X.disable_msi=1

where X is the adapter number.

To disable MSI-X interrupts for all driver instances, set the following tunable value in loader.conf5:

hw.mpr.disable_msix=1

To disable MSI-X interrupts for a specific driver instance, set the following tunable value in loader.conf5:

dev.mpr.X.disable_msix=1

To set the maximum number of DMA chains allocated for all adapters, set the following variable in loader.conf5:

hw.mpr.max_chains=NNNN

To set the maximum number of DMA chains allocated for a specific adapter, set the following variable in loader.conf5:

dev.mpr.X.max_chains=NNNN

This variable may also be viewed via sysctl(8) to see the maximum set for a given adapter.

The current number of free chain frames may be seen via the dev.mpr.X.chain_free sysctl(8) variable.

The lowest number of free chain frames may be seen via the dev.mpr.X.chain_free_lowwater sysctl(8) variable.

The current number of active I/O commands is shown in the dev.mpr.X.io_cmds_active sysctl(8) variable.

The maximum number of active I/O commands seen since boot is shown in the dev.mpr.X.io_cmds_highwater sysctl(8) variable.

Devices can be excluded from control for all adapters by setting the following variable in loader.conf5:

hw.mpr.exclude_ids=Y

where Y is the target ID of the device. If more than one device is to be excluded, target ID's are separated by commas.

Devices can be excluded from control for a specific adapter by setting the following variable in loader.conf5:

dev.mpr.X.exclude_ids=Y

where X is the adapter number and Y is the target ID of the device. If more than one device is to be excluded, target ID's are separated by commas.

DEBUGGING

To enable debugging prints from the driver, set the
hw.mpr.X.debug_level

variable, where X is the adapter number, either in loader.conf5 or via sysctl(8). The following bits have the described effects:

0x0001 Enable informational prints.
0x0002 Enable prints for driver faults.
0x0004 Enable prints for controller events.
0x0008 Enable prints for controller logging.
0x0010 Enable prints for tracing recovery operations.
0x0020 Enable prints for parameter errors and programming bugs.
0x0040 Enable prints for system initialization operations.
0x0080 Enable prints for more detailed information.
0x0100 Enable prints for user-generated commands.
0x0200 Enable prints for device mapping.
0x0400 Enable prints for tracing through driver functions.

HISTORY

The driver first appeared in FreeBSD 9.3.

AUTHORS

The driver was originally written by An -nosplit An Scott Long Aq [email protected] . It has been improved and tested by LSI Corporation.

This man page was written by An Ken Merry Aq [email protected] with additional input from An Stephen McConnell Aq [email protected] .