MPR(4)

NAME
mpr - 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.conf(5):

    mpr_load="YES"

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

HARDWARE
The following controllers are supported by the mpr 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 mpr driver instances, set the following tunable value in loader.conf(5):

    hw.mpr.disable_msi=1

To disable MSI interrupts for a specific mpr driver instance, set the following tunable value in loader.conf(5):

    dev.mpr.X.disable_msi=1

where X is the adapter number.

To disable MSI-X interrupts for all mpr driver instances, set the following tunable value in loader.conf(5):

    hw.mpr.disable_msix=1

To disable MSI-X interrupts for a specific mpr driver instance, set the following tunable value in loader.conf(5):

    dev.mpr.X.disable_msix=1

To set the maximum number of DMA chains allocated for all adapters, set the following variable in loader.conf(5):

    hw.mpr.max_chains=NNNN

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

    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 mpr control for all adapters by setting the following variable in loader.conf(5):

    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 mpr control for a specific adapter by setting the following variable in loader.conf(5):

    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 mpr driver, set the

    hw.mpr.X.debug_level

variable, where X is the adapter number, either in loader.conf(5) 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.

SEE ALSO
cam(4), cd(4), ch(4), da(4), mps(4), mpt(4), pci(4), sa(4), scsi(4), targ(4), loader.conf(5), sysctl(8)

HISTORY
The mpr driver first appeared in FreeBSD 9.3.

AUTHORS
The mpr driver was originally written by -nosplit Scott Long <scottl@FreeBSD.org>. It has been improved and tested by LSI Corporation.

This man page was written by Ken Merry <ken@FreeBSD.org> with additional input from Stephen McConnell <stephen.mcconnell@lsi.com>.