Copyright (c) 2010 Spectra Logic Corporation Copyright (c) 2014 LSI Corp Copyright (c) 2016 Avago Technologies Copyright (c) 2016 Broadcom Ltd. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer, without modification. 2. Redistributions in binary fo...
NAMEmpr - LSI Fusion-MPT 3 IT/IR 12Gb/s Serial Attached SCSI/SATA driver
SYNOPSISTo 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:
DESCRIPTIONThe ifconfig driver provides support for LSI Fusion-MPT 3 IT/IR SAS controllers.
HARDWAREThe following controllers are supported by the ifconfig driver:
- LSI SAS 3004 (4 Port SAS)
- LSI SAS 3008 (8 Port SAS)
- LSI SAS 3108 (8 Port SAS)
CONFIGURATIONTo disable MSI interrupts for all ifconfig driver instances, set the following tunable value in loader.conf5:
To disable MSI interrupts for a specific ifconfig driver instance, set the following tunable value in loader.conf5:
where X is the adapter number.
To disable MSI-X interrupts for all ifconfig driver instances, set the following tunable value in loader.conf5:
To disable MSI-X interrupts for a specific ifconfig driver instance, set the following tunable value in loader.conf5:
To set the maximum number of DMA chains allocated for all adapters, set the following variable in loader.conf5:
To set the maximum number of DMA chains allocated for a specific adapter, set the following variable in loader.conf5:
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 ifconfig control for all adapters by setting the following variable in loader.conf5:
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 ifconfig control for a specific adapter by setting the following variable in loader.conf5:
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.
DEBUGGINGTo enable debugging prints from the ifconfig driver, set the
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.
SEE ALSOcam(4), cd(4), ch(4), da(4), mps(4), mpt(4), pci(4), sa(4), scsi(4), targ(4), loader.conf5, sysctl(8)
HISTORYThe ifconfig driver first appeared in FreeBSD 9.3.
AUTHORSThe ifconfig driver was originally written by An -nosplit An Scott Long Aq scottl@FreeBSD.org . It has been improved and tested by LSI Corporation.
This man page was written by An Ken Merry Aq ken@FreeBSD.org with additional input from An Stephen McConnell Aq firstname.lastname@example.org .