1fd501800SSascha Wildner.\" 2fd501800SSascha Wildner.\" Copyright (c) 2010 Spectra Logic Corporation 3fd501800SSascha Wildner.\" Copyright (c) 2014 LSI Corp 4fd501800SSascha Wildner.\" Copyright (c) 2015-2017 Avago Technologies 5fd501800SSascha Wildner.\" Copyright (c) 2015-2017 Broadcom Ltd. 6fd501800SSascha Wildner.\" All rights reserved. 7fd501800SSascha Wildner.\" 8fd501800SSascha Wildner.\" Redistribution and use in source and binary forms, with or without 9fd501800SSascha Wildner.\" modification, are permitted provided that the following conditions 10fd501800SSascha Wildner.\" are met: 11fd501800SSascha Wildner.\" 1. Redistributions of source code must retain the above copyright 12fd501800SSascha Wildner.\" notice, this list of conditions, and the following disclaimer, 13fd501800SSascha Wildner.\" without modification. 14fd501800SSascha Wildner.\" 2. Redistributions in binary form must reproduce at minimum a disclaimer 15fd501800SSascha Wildner.\" substantially similar to the "NO WARRANTY" disclaimer below 16fd501800SSascha Wildner.\" ("Disclaimer") and any redistribution must be conditioned upon 17fd501800SSascha Wildner.\" including a substantially similar Disclaimer requirement for further 18fd501800SSascha Wildner.\" binary redistribution. 19fd501800SSascha Wildner.\" 20fd501800SSascha Wildner.\" NO WARRANTY 21fd501800SSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22fd501800SSascha Wildner.\" "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23*df052c2aSSascha Wildner.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24fd501800SSascha Wildner.\" A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25fd501800SSascha Wildner.\" HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26fd501800SSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27fd501800SSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28fd501800SSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 29fd501800SSascha Wildner.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 30fd501800SSascha Wildner.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31fd501800SSascha Wildner.\" POSSIBILITY OF SUCH DAMAGES. 32fd501800SSascha Wildner.\" 33fd501800SSascha Wildner.\" mpr driver man page. 34fd501800SSascha Wildner.\" 35fd501800SSascha Wildner.\" Author: Ken Merry <ken@FreeBSD.org> 36fd501800SSascha Wildner.\" Author: Stephen McConnell <slm@FreeBSD.org> 37fd501800SSascha Wildner.\" 38fd501800SSascha Wildner.\" $Id$ 39fd501800SSascha Wildner.\" $FreeBSD: head/share/man/man4/mpr.4 324806 2017-10-20 15:29:28Z asomers $ 40fd501800SSascha Wildner.\" 41fd501800SSascha Wildner.Dd April 24, 2018 42fd501800SSascha Wildner.Dt MPR 4 43fd501800SSascha Wildner.Os 44fd501800SSascha Wildner.Sh NAME 45fd501800SSascha Wildner.Nm mpr 46fd501800SSascha Wildner.Nd "LSI Fusion-MPT 3/3.5 IT/IR 12Gb/s Serial Attached SCSI/SATA/PCIe driver" 47fd501800SSascha Wildner.Sh SYNOPSIS 48fd501800SSascha WildnerTo compile this driver into the kernel, place these lines in the kernel 49fd501800SSascha Wildnerconfiguration file: 50fd501800SSascha Wildner.Bd -ragged -offset indent 51fd501800SSascha Wildner.Cd "device pci" 52fd501800SSascha Wildner.Cd "device scbus" 53fd501800SSascha Wildner.Cd "device mpr" 54fd501800SSascha Wildner.Ed 55fd501800SSascha Wildner.Pp 56fd501800SSascha WildnerThe driver can be loaded as a module at boot time by placing this line in 57fd501800SSascha Wildner.Xr loader.conf 5 : 58fd501800SSascha Wildner.Bd -literal -offset indent 59fd501800SSascha Wildnermpr_load="YES" 60fd501800SSascha Wildner.Ed 61fd501800SSascha Wildner.Sh DESCRIPTION 62fd501800SSascha WildnerThe 63fd501800SSascha Wildner.Nm 64fd501800SSascha Wildnerdriver provides support for Broadcom Ltd./Avago Tech (LSI) 65fd501800SSascha WildnerFusion-MPT 3/3.5 IT/IR 66fd501800SSascha Wildner.Tn SAS/PCIe 67fd501800SSascha Wildnercontrollers. 68fd501800SSascha Wildner.Sh HARDWARE 69fd501800SSascha WildnerThese controllers are supported by the 70fd501800SSascha Wildner.Nm 71fd501800SSascha Wildnerdriver: 72fd501800SSascha Wildner.Pp 73fd501800SSascha Wildner.Bl -bullet -compact 74fd501800SSascha Wildner.It 75fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3004 (4 Port SAS) 76fd501800SSascha Wildner.It 77fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3008 (8 Port SAS) 78fd501800SSascha Wildner.It 79fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3108 (8 Port SAS) 80fd501800SSascha Wildner.It 81fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3216 (16 Port SAS) 82fd501800SSascha Wildner.It 83fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3224 (24 Port SAS) 84fd501800SSascha Wildner.It 85fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3316 (16 Port SAS) 86fd501800SSascha Wildner.It 87fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3324 (24 Port SAS) 88fd501800SSascha Wildner.It 89fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3408 (8 Port SAS/PCIe) 90fd501800SSascha Wildner.It 91fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3416 (16 Port SAS/PCIe) 92fd501800SSascha Wildner.It 93fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3508 (8 Port SAS/PCIe) 94fd501800SSascha Wildner.It 95fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3516 (16 Port SAS/PCIe) 96fd501800SSascha Wildner.It 97fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3616 (16 Port SAS/PCIe) 98fd501800SSascha Wildner.It 99fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3708 (8 Port SAS/PCIe) 100fd501800SSascha Wildner.It 101fd501800SSascha WildnerBroadcom Ltd./Avago Tech (LSI) SAS 3716 (16 Port SAS/PCIe) 102fd501800SSascha Wildner.El 103fd501800SSascha Wildner.Sh CONFIGURATION 104fd501800SSascha WildnerIn all tunable descriptions below, X represents the adapter number. 105fd501800SSascha Wildner.Pp 106fd501800SSascha WildnerTo disable MSI interrupts for all 107fd501800SSascha Wildner.Nm 108fd501800SSascha Wildnerdriver instances, set this tunable value in 109fd501800SSascha Wildner.Xr loader.conf 5 : 110fd501800SSascha Wildner.Bd -literal -offset indent 111fd501800SSascha Wildnerhw.mpr.msi_enable=0 112fd501800SSascha Wildner.Ed 113fd501800SSascha Wildner.Pp 114fd501800SSascha WildnerTo disable MSI interrupts for a specific 115fd501800SSascha Wildner.Nm 116fd501800SSascha Wildnerdriver instance, set this tunable value in 117fd501800SSascha Wildner.Xr loader.conf 5 : 118fd501800SSascha Wildner.Bd -literal -offset indent 119fd501800SSascha Wildnerdev.mpr.X.msi_enable=0 120fd501800SSascha Wildner.Ed 121fd501800SSascha Wildner.Pp 122fd501800SSascha Wildner.\"To disable MSI-X interrupts for all 123fd501800SSascha Wildner.\".Nm 124fd501800SSascha Wildner.\"driver instances, set this tunable value in 125fd501800SSascha Wildner.\".Xr loader.conf 5 : 126fd501800SSascha Wildner.\".Bd -literal -offset indent 127fd501800SSascha Wildner.\"hw.mpr.disable_msix=1 128fd501800SSascha Wildner.\".Ed 129fd501800SSascha Wildner.\".Pp 130fd501800SSascha Wildner.\"To disable MSI-X interrupts for a specific 131fd501800SSascha Wildner.\".Nm 132fd501800SSascha Wildner.\"driver instance, set this tunable value in 133fd501800SSascha Wildner.\".Xr loader.conf 5 : 134fd501800SSascha Wildner.\".Bd -literal -offset indent 135fd501800SSascha Wildner.\"dev.mpr.X.disable_msix=1 136fd501800SSascha Wildner.\".Ed 137fd501800SSascha Wildner.\".Pp 138fd501800SSascha WildnerTo set the maximum number of DMA chains allocated for all adapters, set 139fd501800SSascha Wildnerthis tunable in 140fd501800SSascha Wildner.Xr loader.conf 5 : 141fd501800SSascha Wildner.Bd -literal -offset indent 142fd501800SSascha Wildnerhw.mpr.max_chains=NNNN 143fd501800SSascha Wildner.Ed 144fd501800SSascha Wildner.Pp 145fd501800SSascha WildnerTo set the maximum number of DMA chains allocated for a specific adapter, 146fd501800SSascha Wildnerset this tunable in 147fd501800SSascha Wildner.Xr loader.conf 5 : 148fd501800SSascha Wildner.Bd -literal -offset indent 149fd501800SSascha Wildnerdev.mpr.X.max_chains=NNNN 150fd501800SSascha Wildner.Ed 151fd501800SSascha Wildner.Pp 152fd501800SSascha WildnerThe default max_chains value is 2048. 153fd501800SSascha Wildner.Pp 154fd501800SSascha WildnerThe current number of free chain frames is stored in the 155fd501800SSascha Wildnerdev.mpr.X.chain_free 156fd501800SSascha Wildner.Xr sysctl 8 157fd501800SSascha Wildnervariable. 158fd501800SSascha Wildner.Pp 159fd501800SSascha WildnerThe lowest number of free chain frames seen since boot is stored in the 160fd501800SSascha Wildnerdev.mpr.X.chain_free_lowwater 161fd501800SSascha Wildner.Xr sysctl 8 162fd501800SSascha Wildnervariable. 163fd501800SSascha Wildner.Pp 164fd501800SSascha WildnerThe number of times that chain frame allocations have failed since boot is 165fd501800SSascha Wildnerstored in the 166fd501800SSascha Wildnerdev.mpr.X.chain_alloc_fail 167fd501800SSascha Wildner.Xr sysctl 8 168fd501800SSascha Wildnervariable. 169fd501800SSascha WildnerThis can be used to determine whether the max_chains tunable should be 170fd501800SSascha Wildnerincreased to help performance. 171fd501800SSascha Wildner.Pp 172fd501800SSascha WildnerThe current number of active I/O commands is shown in the 173fd501800SSascha Wildnerdev.mpr.X.io_cmds_active 174fd501800SSascha Wildner.Xr sysctl 8 175fd501800SSascha Wildnervariable. 176fd501800SSascha Wildner.Pp 177fd501800SSascha WildnerThe current number of free PRP pages is stored in the 178fd501800SSascha Wildnerdev.mpr.X.prp_pages_free 179fd501800SSascha Wildner.Xr sysctl 8 180fd501800SSascha Wildnervariable. 181fd501800SSascha WildnerPRP pages are used by NVMe devices for I/O transfers, much like Scatter/Gather 182fd501800SSascha Wildnerlists. 183fd501800SSascha Wildner.Pp 184fd501800SSascha WildnerThe lowest number of free PRP pages seen since boot is stored in the 185fd501800SSascha Wildnerdev.mpr.X.prp_pages_free_lowwater 186fd501800SSascha Wildner.Xr sysctl 8 187fd501800SSascha Wildnervariable. 188fd501800SSascha Wildner.Pp 189fd501800SSascha WildnerThe number of times that PRP page allocations have failed since boot is 190fd501800SSascha Wildnerstored in the 191fd501800SSascha Wildnerdev.mpr.X.prp_page_alloc_fail 192fd501800SSascha Wildner.Xr sysctl 8 193fd501800SSascha Wildnervariable. 194fd501800SSascha Wildner.Pp 195fd501800SSascha WildnerTo set the maximum number of pages that will be used per I/O for all adapters, 196fd501800SSascha Wildnerset this tunable in 197fd501800SSascha Wildner.Xr loader.conf 5 : 198fd501800SSascha Wildner.Bd -literal -offset indent 199fd501800SSascha Wildnerhw.mpr.max_io_pages=NNNN 200fd501800SSascha Wildner.Ed 201fd501800SSascha Wildner.Pp 202fd501800SSascha WildnerTo set the maximum number of pages that will be used per I/O for a specific 203fd501800SSascha Wildneradapter, set this tunable in 204fd501800SSascha Wildner.Xr loader.conf 5 : 205fd501800SSascha Wildner.Bd -literal -offset indent 206fd501800SSascha Wildnerdev.mpr.X.max_io_pages=NNNN 207fd501800SSascha Wildner.Ed 208fd501800SSascha Wildner.Pp 209fd501800SSascha WildnerThe default max_io_pages value is -1, meaning that the maximum I/O size that 210fd501800SSascha Wildnerwill be used per I/O will be calculated using the IOCFacts values stored in 211fd501800SSascha Wildnerthe controller. 212fd501800SSascha WildnerThe lowest value that the driver will use for max_io_pages is 1, otherwise 213fd501800SSascha WildnerIOCFacts will be used to calculate the maximum I/O size. 214fd501800SSascha WildnerThe smaller I/O size calculated from either max_io_pages or IOCFacts will be the 215fd501800SSascha Wildnermaximum I/O size used by the driver. 216fd501800SSascha Wildner.Pp 217fd501800SSascha WildnerThe highest number of active I/O commands seen since boot is stored in the 218fd501800SSascha Wildnerdev.mpr.X.io_cmds_highwater 219fd501800SSascha Wildner.Xr sysctl 8 220fd501800SSascha Wildnervariable. 221fd501800SSascha Wildner.Pp 222fd501800SSascha WildnerDevices can be excluded from 223fd501800SSascha Wildner.Nm 224fd501800SSascha Wildnercontrol for all adapters by setting this tunable in 225fd501800SSascha Wildner.Xr loader.conf 5 : 226fd501800SSascha Wildner.Bd -literal -offset indent 227fd501800SSascha Wildnerhw.mpr.exclude_ids=Y 228fd501800SSascha Wildner.Ed 229fd501800SSascha Wildner.Pp 230fd501800SSascha WildnerY represents the target ID of the device. 231fd501800SSascha WildnerIf more than one device is to be excluded, target IDs are separated by commas. 232fd501800SSascha Wildner.Pp 233fd501800SSascha WildnerDevices can be excluded from 234fd501800SSascha Wildner.Nm 235fd501800SSascha Wildnercontrol for a specific adapter by setting this tunable in 236fd501800SSascha Wildner.Xr loader.conf 5 : 237fd501800SSascha Wildner.Bd -literal -offset indent 238fd501800SSascha Wildnerdev.mpr.X.exclude_ids=Y 239fd501800SSascha Wildner.Ed 240fd501800SSascha Wildner.Pp 241fd501800SSascha WildnerY represents the target ID of the device. 242fd501800SSascha WildnerIf more than one device is to be excluded, target IDs are separated by commas. 243fd501800SSascha Wildner.Pp 244fd501800SSascha WildnerThe adapter can issue the 245fd501800SSascha Wildner.Sy StartStopUnit 246fd501800SSascha WildnerSCSI command to SATA direct-access devices during shutdown. 247fd501800SSascha WildnerThis allows the device to quiesce powering down. 248fd501800SSascha WildnerTo control this feature for all adapters, set the 249fd501800SSascha Wildner.Bd -literal -offset indent 250fd501800SSascha Wildnerhw.mpr.enable_ssu 251fd501800SSascha Wildner.Ed 252fd501800SSascha Wildner.Pp 253fd501800SSascha Wildnertunable in 254fd501800SSascha Wildner.Xr loader.conf 5 255fd501800SSascha Wildnerto one of these values: 256fd501800SSascha Wildner.Bl -tag -width 6n -offset indent 257fd501800SSascha Wildner.It 0 258fd501800SSascha WildnerDo not send SSU to either HDDs or SSDs. 259fd501800SSascha Wildner.It 1 260fd501800SSascha WildnerSend SSU to SSDs, but not to HDDs. 261fd501800SSascha WildnerThis is the default value. 262fd501800SSascha Wildner.It 2 263fd501800SSascha WildnerSend SSU to HDDs, but not to SSDs. 264fd501800SSascha Wildner.It 3 265fd501800SSascha WildnerSend SSU to both HDDs and SSDs. 266fd501800SSascha Wildner.El 267fd501800SSascha Wildner.Pp 268fd501800SSascha WildnerTo control this feature for a specific adapter, set this tunable value in 269fd501800SSascha Wildner.Xr loader.conf 5 : 270fd501800SSascha Wildner.Bd -literal -offset indent 271fd501800SSascha Wildnerdev.mpr.X.enable_ssu 272fd501800SSascha Wildner.Ed 273fd501800SSascha Wildner.Pp 274fd501800SSascha WildnerThe same set of values are valid as when setting this tunable for all adapters. 275fd501800SSascha Wildner.Pp 276fd501800SSascha WildnerSATA disks that take several seconds to spin up and fail the SATA Identify 277fd501800SSascha Wildnercommand might not be discovered by the driver. 278fd501800SSascha WildnerThis problem can sometimes be overcome by increasing the value of the spinup 279fd501800SSascha Wildnerwait time in 280fd501800SSascha Wildner.Xr loader.conf 5 281fd501800SSascha Wildnerwith the 282fd501800SSascha Wildner.Bd -literal -offset indent 283fd501800SSascha Wildnerhw.mpr.spinup_wait_time=NNNN 284fd501800SSascha Wildner.Ed 285fd501800SSascha Wildner.Pp 286fd501800SSascha Wildnertunable. 287fd501800SSascha WildnerNNNN represents the number of seconds to wait for SATA devices to spin up when 288fd501800SSascha Wildnerthe device fails the initial SATA Identify command. 289fd501800SSascha Wildner.Pp 290fd501800SSascha WildnerSpinup wait times can be set for specific adapters in 291fd501800SSascha Wildner.Xr loader.conf 5 : 292fd501800SSascha Wildnerwith the 293fd501800SSascha Wildner.Bd -literal -offset indent 294fd501800SSascha Wildnerdev.mpr.X.spinup_wait_time=NNNN 295fd501800SSascha Wildner.Ed 296fd501800SSascha Wildner.Pp 297fd501800SSascha Wildnertunable. 298fd501800SSascha WildnerNNNN is the number of seconds to wait for SATA devices to spin up when they fail 299fd501800SSascha Wildnerthe initial SATA Identify command. 300fd501800SSascha Wildner.Pp 301fd501800SSascha WildnerThe driver can map devices discovered by the adapter so that target IDs 302fd501800SSascha Wildnercorresponding to a specific device persist across resets and reboots. 303fd501800SSascha WildnerIn some cases it is possible for devices to lose their mapped IDs due to 304fd501800SSascha Wildnerunexpected behavior from certain hardware, such as some types of enclosures. 305fd501800SSascha WildnerTo overcome this problem, a tunable is provided that will force the driver to 306fd501800SSascha Wildnermap devices using the Phy number associated with the device. 307fd501800SSascha WildnerThis feature is not recommended if the topology includes multiple 308fd501800SSascha Wildnerenclosures/expanders. 309fd501800SSascha WildnerIf multiple enclosures/expanders are present in the topology, Phy numbers are 310fd501800SSascha Wildnerrepeated, causing all devices at these Phy numbers except the first device to 311fd501800SSascha Wildnerfail enumeration. 312fd501800SSascha WildnerTo control this feature for all adapters, set the 313fd501800SSascha Wildner.Bd -literal -offset indent 314fd501800SSascha Wildnerhw.mpr.use_phy_num 315fd501800SSascha Wildner.Ed 316fd501800SSascha Wildner.Pp 317fd501800SSascha Wildnertunable in 318fd501800SSascha Wildner.Xr loader.conf 5 319fd501800SSascha Wildnerto one of these values: 320fd501800SSascha Wildner.Bl -tag -width 6n -offset indent 321fd501800SSascha Wildner.It -1 322fd501800SSascha WildnerOnly use Phy numbers to map devices and bypass the driver's mapping logic. 323fd501800SSascha Wildner.It 0 324fd501800SSascha WildnerNever use Phy numbers to map devices. 325fd501800SSascha Wildner.It 1 326fd501800SSascha WildnerUse Phy numbers to map devices, but only if the driver's mapping logic fails 327fd501800SSascha Wildnerto map the device that is being enumerated. 328fd501800SSascha WildnerThis is the default value. 329fd501800SSascha Wildner.El 330fd501800SSascha Wildner.Pp 331fd501800SSascha WildnerTo control this feature for a specific adapter, set this tunable value in 332fd501800SSascha Wildner.Xr loader.conf 5 : 333fd501800SSascha Wildner.Bd -literal -offset indent 334fd501800SSascha Wildnerdev.mpr.X.use_phy_num 335fd501800SSascha Wildner.Ed 336fd501800SSascha Wildner.Pp 337fd501800SSascha WildnerThe same set of values are valid as when setting this tunable for all adapters. 338fd501800SSascha Wildner.Sh DEBUGGING 339fd501800SSascha WildnerTo enable debugging prints from the 340fd501800SSascha Wildner.Nm 341fd501800SSascha Wildnerdriver, set the 342fd501800SSascha Wildner.Bd -literal -offset indent 343fd501800SSascha Wildnerhw.mpr.X.debug_level 344fd501800SSascha Wildner.Ed 345fd501800SSascha Wildner.Pp 346fd501800SSascha Wildnertunable, either in 347fd501800SSascha Wildner.Xr loader.conf 5 348fd501800SSascha Wildneror by using 349fd501800SSascha Wildner.Xr sysctl 8 . 350fd501800SSascha WildnerThese bits have the described effects: 351fd501800SSascha Wildner.Bd -literal -offset indent 352fd501800SSascha Wildner0x0001 Enable informational prints (set by default). 353fd501800SSascha Wildner0x0002 Enable prints for driver faults (set by default). 354fd501800SSascha Wildner0x0004 Enable prints for controller events. 355fd501800SSascha Wildner0x0008 Enable prints for controller logging. 356fd501800SSascha Wildner0x0010 Enable prints for tracing recovery operations. 357fd501800SSascha Wildner0x0020 Enable prints for parameter errors and programming bugs. 358fd501800SSascha Wildner0x0040 Enable prints for system initialization operations. 359fd501800SSascha Wildner0x0080 Enable prints for more detailed information. 360fd501800SSascha Wildner0x0100 Enable prints for user-generated commands (IOCTL). 361fd501800SSascha Wildner0x0200 Enable prints for device mapping. 362fd501800SSascha Wildner0x0400 Enable prints for tracing through driver functions. 363fd501800SSascha Wildner.Ed 364fd501800SSascha Wildner.Sh SEE ALSO 365fd501800SSascha Wildner.Xr cam 4 , 366fd501800SSascha Wildner.Xr cd 4 , 367fd501800SSascha Wildner.Xr ch 4 , 368fd501800SSascha Wildner.Xr da 4 , 369fd501800SSascha Wildner.Xr mps 4 , 370fd501800SSascha Wildner.Xr mpt 4 , 371fd501800SSascha Wildner.Xr pci 4 , 372fd501800SSascha Wildner.Xr sa 4 , 373fd501800SSascha Wildner.Xr scsi 4 , 374fd501800SSascha Wildner.Xr targ 4 , 375fd501800SSascha Wildner.Xr loader.conf 5 , 376fd501800SSascha Wildner.Xr sysctl 8 377fd501800SSascha Wildner.Sh HISTORY 378fd501800SSascha WildnerThe 379fd501800SSascha Wildner.Nm 380fd501800SSascha Wildnerdriver first appeared in 381fd501800SSascha Wildner.Fx 9.3 . 382fd501800SSascha Wildner.Sh AUTHORS 383fd501800SSascha WildnerThe 384fd501800SSascha Wildner.Nm 385fd501800SSascha Wildnerdriver was originally written by 386fd501800SSascha Wildner.An -nosplit 387fd501800SSascha Wildner.An Scott Long Aq Mt scottl@FreeBSD.org . 388fd501800SSascha WildnerIt has been improved and tested by LSI Corporation, 389fd501800SSascha WildnerAvago Technologies (formally LSI), and Broadcom Ltd. (formally Avago). 390fd501800SSascha Wildner.Pp 391fd501800SSascha WildnerThis man page was written by 392fd501800SSascha Wildner.An Ken Merry Aq Mt ken@FreeBSD.org 393fd501800SSascha Wildnerwith additional input from 394fd501800SSascha Wildner.An Stephen McConnell Aq Mt slm@FreeBSD.org . 395