diff options
Diffstat (limited to 'static/freebsd/man4/mpr.4 3.html')
| -rw-r--r-- | static/freebsd/man4/mpr.4 3.html | 351 |
1 files changed, 0 insertions, 351 deletions
diff --git a/static/freebsd/man4/mpr.4 3.html b/static/freebsd/man4/mpr.4 3.html deleted file mode 100644 index b545c3ae..00000000 --- a/static/freebsd/man4/mpr.4 3.html +++ /dev/null @@ -1,351 +0,0 @@ -<table class="head"> - <tr> - <td class="head-ltitle">MPR(4)</td> - <td class="head-vol">Device Drivers Manual</td> - <td class="head-rtitle">MPR(4)</td> - </tr> -</table> -<div class="manual-text"> -<section class="Sh"> -<h1 class="Sh" id="NAME"><a class="permalink" href="#NAME">NAME</a></h1> -<p class="Pp"><code class="Nm">mpr</code> — <span class="Nd">LSI - Fusion-MPT 3/3.5 IT/IR 12Gb/s Serial Attached SCSI/SATA/PCIe - driver</span></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="SYNOPSIS"><a class="permalink" href="#SYNOPSIS">SYNOPSIS</a></h1> -<p class="Pp">To compile this driver into the kernel, place these lines in the - kernel configuration file:</p> -<div class="Bd Pp Bd-indent"><code class="Cd">device pci</code> -<br/> -<code class="Cd">device scbus</code> -<br/> -<code class="Cd">device mpr</code></div> -<p class="Pp">The driver can be loaded as a module at boot time by placing this - line in <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>mpr_load="YES"</pre> -</div> -</section> -<section class="Sh"> -<h1 class="Sh" id="DESCRIPTION"><a class="permalink" href="#DESCRIPTION">DESCRIPTION</a></h1> -<p class="Pp">The <code class="Nm">mpr</code> driver provides support for - Broadcom Ltd./Avago Tech (LSI) Fusion-MPT 3/3.5 IT/IR SAS/PCIe - controllers.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="HARDWARE"><a class="permalink" href="#HARDWARE">HARDWARE</a></h1> -<p class="Pp">The <code class="Nm">mpr</code> driver supports the following - SATA/SAS/NVMe RAID controllers:</p> -<p class="Pp"></p> -<ul class="Bl-bullet Bl-compact"> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3004 (4 Port SAS)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3008 (8 Port SAS)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3108 (8 Port SAS)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3216 (16 Port SAS)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3224 (24 Port SAS)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3316 (16 Port SAS)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3324 (24 Port SAS)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3408 (8 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3416 (16 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3508 (8 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3516 (16 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3616 (16 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3708 (8 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3716 (16 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3808 (8 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3816 (16 Port SAS/PCIe)</li> - <li>Broadcom Ltd./Avago Tech (LSI) SAS 3916 (16 Port SAS/PCIe)</li> -</ul> -</section> -<section class="Sh"> -<h1 class="Sh" id="CONFIGURATION"><a class="permalink" href="#CONFIGURATION">CONFIGURATION</a></h1> -<p class="Pp">In all tunable descriptions below, X represents the adapter - number.</p> -<p class="Pp">To disable MSI interrupts for all <code class="Nm">mpr</code> - driver instances, set this tunable value in - <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>hw.mpr.disable_msi=1</pre> -</div> -<p class="Pp">To disable MSI interrupts for a specific - <code class="Nm">mpr</code> driver instance, set this tunable value in - <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>dev.mpr.X.disable_msi=1</pre> -</div> -<p class="Pp">To disable MSI-X interrupts for all <code class="Nm">mpr</code> - driver instances, set this tunable value in - <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>hw.mpr.disable_msix=1</pre> -</div> -<p class="Pp">To disable MSI-X interrupts for a specific - <code class="Nm">mpr</code> driver instance, set this tunable value in - <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>dev.mpr.X.disable_msix=1</pre> -</div> -<p class="Pp">To set the maximum number of DMA chains allocated for all - adapters, set this tunable in <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>hw.mpr.max_chains=NNNN</pre> -</div> -<p class="Pp">To set the maximum number of DMA chains allocated for a specific - adapter, set this tunable in <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>dev.mpr.X.max_chains=NNNN</pre> -</div> -<p class="Pp">The default max_chains value is 16384.</p> -<p class="Pp">The current number of free chain frames is stored in the - dev.mpr.X.chain_free <a class="Xr">sysctl(8)</a> variable.</p> -<p class="Pp">The lowest number of free chain frames seen since boot is stored - in the dev.mpr.X.chain_free_lowwater <a class="Xr">sysctl(8)</a> - variable.</p> -<p class="Pp">The number of times that chain frame allocations have failed since - boot is stored in the dev.mpr.X.chain_alloc_fail <a class="Xr">sysctl(8)</a> - variable. This can be used to determine whether the max_chains tunable - should be increased to help performance.</p> -<p class="Pp">The current number of active I/O commands is shown in the - dev.mpr.X.io_cmds_active <a class="Xr">sysctl(8)</a> variable.</p> -<p class="Pp">The current number of free PRP pages is stored in the - dev.mpr.X.prp_pages_free <a class="Xr">sysctl(8)</a> variable. PRP pages are - used by NVMe devices for I/O transfers, much like Scatter/Gather lists.</p> -<p class="Pp">The lowest number of free PRP pages seen since boot is stored in - the dev.mpr.X.prp_pages_free_lowwater <a class="Xr">sysctl(8)</a> - variable.</p> -<p class="Pp">The number of times that PRP page allocations have failed since - boot is stored in the dev.mpr.X.prp_page_alloc_fail - <a class="Xr">sysctl(8)</a> variable.</p> -<p class="Pp">To set the maximum number of pages that will be used per I/O for - all adapters, set this tunable in <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>hw.mpr.max_io_pages=NNNN</pre> -</div> -<p class="Pp">To set the maximum number of pages that will be used per I/O for a - specific adapter, set this tunable in <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>dev.mpr.X.max_io_pages=NNNN</pre> -</div> -<p class="Pp">The default max_io_pages value is -1, meaning that the maximum I/O - size that will be used per I/O will be calculated using the IOCFacts values - stored in the controller. The lowest value that the driver will use for - max_io_pages is 1, otherwise IOCFacts will be used to calculate the maximum - I/O size. The smaller I/O size calculated from either max_io_pages or - IOCFacts will be the maximum I/O size used by the driver.</p> -<p class="Pp">The highest number of active I/O commands seen since boot is - stored in the dev.mpr.X.io_cmds_highwater <a class="Xr">sysctl(8)</a> - variable.</p> -<p class="Pp">Devices can be excluded from <code class="Nm">mpr</code> control - for all adapters by setting this tunable in - <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>hw.mpr.exclude_ids=Y</pre> -</div> -<p class="Pp">Y represents the target ID of the device. If more than one device - is to be excluded, target IDs are separated by commas.</p> -<p class="Pp">Devices can be excluded from <code class="Nm">mpr</code> control - for a specific adapter by setting this tunable in - <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>dev.mpr.X.exclude_ids=Y</pre> -</div> -<p class="Pp">Y represents the target ID of the device. If more than one device - is to be excluded, target IDs are separated by commas.</p> -<p class="Pp" id="StartStopUnit">The adapter can issue the - <a class="permalink" href="#StartStopUnit"><b class="Sy">StartStopUnit</b></a> - SCSI command to SATA direct-access devices during shutdown. This allows the - device to quiesce powering down. To control this feature for all adapters, - set the</p> -<div class="Bd Pp Bd-indent Li"> -<pre>hw.mpr.enable_ssu</pre> -</div> -<p class="Pp">tunable in <a class="Xr">loader.conf(5)</a> to one of these - values:</p> -<div class="Bd-indent"> -<dl class="Bl-tag"> - <dt>0</dt> - <dd>Do not send SSU to either HDDs or SSDs.</dd> - <dt>1</dt> - <dd>Send SSU to SSDs, but not to HDDs. This is the default value.</dd> - <dt>2</dt> - <dd>Send SSU to HDDs, but not to SSDs.</dd> - <dt>3</dt> - <dd>Send SSU to both HDDs and SSDs.</dd> -</dl> -</div> -<p class="Pp">To control this feature for a specific adapter, set this tunable - value in <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>dev.mpr.X.enable_ssu</pre> -</div> -<p class="Pp">The same set of values are valid as when setting this tunable for - all adapters.</p> -<p class="Pp">SATA disks that take several seconds to spin up and fail the SATA - Identify command might not be discovered by the driver. This problem can - sometimes be overcome by increasing the value of the spinup wait time in - <a class="Xr">loader.conf(5)</a> with the</p> -<div class="Bd Pp Bd-indent Li"> -<pre>hw.mpr.spinup_wait_time=NNNN</pre> -</div> -<p class="Pp">tunable. NNNN represents the number of seconds to wait for SATA - devices to spin up when the device fails the initial SATA Identify - command.</p> -<p class="Pp">Spinup wait times can be set for specific adapters in - <a class="Xr">loader.conf(5)</a>: with the</p> -<div class="Bd Pp Bd-indent Li"> -<pre>dev.mpr.X.spinup_wait_time=NNNN</pre> -</div> -<p class="Pp">tunable. NNNN is the number of seconds to wait for SATA devices to - spin up when they fail the initial SATA Identify command.</p> -<p class="Pp">The driver can map devices discovered by the adapter so that - target IDs corresponding to a specific device persist across resets and - reboots. In some cases it is possible for devices to lose their mapped IDs - due to unexpected behavior from certain hardware, such as some types of - enclosures. To overcome this problem, a tunable is provided that will force - the driver to map devices using the Phy number associated with the device. - This feature is not recommended if the topology includes multiple - enclosures/expanders. If multiple enclosures/expanders are present in the - topology, Phy numbers are repeated, causing all devices at these Phy numbers - except the first device to fail enumeration. To control this feature for all - adapters, set the</p> -<div class="Bd Pp Bd-indent Li"> -<pre>hw.mpr.use_phy_num</pre> -</div> -<p class="Pp">tunable in <a class="Xr">loader.conf(5)</a> to one of these - values:</p> -<div class="Bd-indent"> -<dl class="Bl-tag"> - <dt>-1</dt> - <dd>Only use Phy numbers to map devices and bypass the driver's mapping - logic.</dd> - <dt>0</dt> - <dd>Never use Phy numbers to map devices.</dd> - <dt>1</dt> - <dd>Use Phy numbers to map devices, but only if the driver's mapping logic - fails to map the device that is being enumerated. This is the default - value.</dd> -</dl> -</div> -<p class="Pp">To control this feature for a specific adapter, set this tunable - value in <a class="Xr">loader.conf(5)</a>:</p> -<div class="Bd Pp Bd-indent Li"> -<pre>dev.mpr.X.use_phy_num</pre> -</div> -<p class="Pp">The same set of values are valid as when setting this tunable for - all adapters.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="DEBUGGING"><a class="permalink" href="#DEBUGGING">DEBUGGING</a></h1> -<p class="Pp">Driver diagnostic printing is controlled in - <a class="Xr">loader.conf(5)</a> by using the global - <var class="Va">hw.mpr.debug_level</var> and per-device - <var class="Va">dev.mpr.X.debug_level</var> tunables. One can alter the - debug level for any adapter at run-time using the - <a class="Xr">sysctl(8)</a> variable - <var class="Va">dev.mpr.X.debug_level</var>.</p> -<p class="Pp">All <var class="Va">debug_level</var> variables can be named by - either an integer value or a text string. Multiple values can be specified - together by either ORing the integer values or by providing a - comma-separated list of names. A text string prefixed by "+" adds - the specified debug levels to the existing set, while the prefix - "-" removes them from the existing set. The current - <var class="Va">debug_level</var> status is reported in both formats for - convenience. The following levels are available:</p> -<table class="Bl-column Bd-indent"> - <tr id="Flag"> - <td><a class="permalink" href="#Flag"><i class="Em">Flag</i></a></td> - <td><a class="permalink" href="#Name"><i class="Em" id="Name">Name</i></a></td> - <td><a class="permalink" href="#Description"><i class="Em" id="Description">Description</i></a></td> - </tr> - <tr> - <td>0x0001</td> - <td>info</td> - <td>Basic information (enabled by default)</td> - </tr> - <tr> - <td>0x0002</td> - <td>fault</td> - <td>Driver faults (enabled by default)</td> - </tr> - <tr> - <td>0x0004</td> - <td>event</td> - <td>Controller events</td> - </tr> - <tr> - <td>0x0008</td> - <td>log</td> - <td>Logging data from controller</td> - </tr> - <tr> - <td>0x0010</td> - <td>recovery</td> - <td>Tracing of recovery operations</td> - </tr> - <tr> - <td>0x0020</td> - <td>error</td> - <td>Parameter errors and programming bugs</td> - </tr> - <tr> - <td>0x0040</td> - <td>init</td> - <td>System initialization operations</td> - </tr> - <tr> - <td>0x0080</td> - <td>xinfo</td> - <td>More detailed information</td> - </tr> - <tr> - <td>0x0100</td> - <td>user</td> - <td>Tracing of user-generated commands (IOCTL)</td> - </tr> - <tr> - <td>0x0200</td> - <td>mapping</td> - <td>Tracing of device mapping</td> - </tr> - <tr> - <td>0x0400</td> - <td>trace</td> - <td>Tracing through driver functions</td> - </tr> -</table> -</section> -<section class="Sh"> -<h1 class="Sh" id="SEE_ALSO"><a class="permalink" href="#SEE_ALSO">SEE - ALSO</a></h1> -<p class="Pp"><a class="Xr">cam(4)</a>, <a class="Xr">cd(4)</a>, - <a class="Xr">ch(4)</a>, <a class="Xr">da(4)</a>, <a class="Xr">mps(4)</a>, - <a class="Xr">mpt(4)</a>, <a class="Xr">pci(4)</a>, <a class="Xr">sa(4)</a>, - <a class="Xr">scsi(4)</a>, <a class="Xr">targ(4)</a>, - <a class="Xr">loader.conf(5)</a>, <a class="Xr">mprutil(8)</a>, - <a class="Xr">sysctl(8)</a></p> -</section> -<section class="Sh"> -<h1 class="Sh" id="HISTORY"><a class="permalink" href="#HISTORY">HISTORY</a></h1> -<p class="Pp">The <code class="Nm">mpr</code> driver first appeared in - <span class="Ux">FreeBSD 9.3</span>.</p> -</section> -<section class="Sh"> -<h1 class="Sh" id="AUTHORS"><a class="permalink" href="#AUTHORS">AUTHORS</a></h1> -<p class="Pp">The <code class="Nm">mpr</code> driver was originally written by - <span class="An">Scott Long</span> - <<a class="Mt" href="mailto:scottl@FreeBSD.org">scottl@FreeBSD.org</a>>. - It has been improved and tested by LSI Corporation, Avago Technologies - (formerly LSI), and Broadcom Ltd. (formerly Avago).</p> -<p class="Pp">This manual page was written by <span class="An">Ken Merry</span> - <<a class="Mt" href="mailto:ken@FreeBSD.org">ken@FreeBSD.org</a>> with - additional input from <span class="An">Stephen McConnell</span> - <<a class="Mt" href="mailto:slm@FreeBSD.org">slm@FreeBSD.org</a>>.</p> -</section> -</div> -<table class="foot"> - <tr> - <td class="foot-date">September 28, 2025</td> - <td class="foot-os">FreeBSD 15.0</td> - </tr> -</table> |
