SMARTPQI(4) FreeBSD Kernel Interfaces Manual (amd64) SMARTPQI(4)
NAME
smartpqi - Microchip Smart Storage SCSI driver
SYNOPSIS
To compile this driver into the kernel, place these lines in the kernel
configuration file:
device pci
device scbus
device smartpqi
The driver can be loaded as a module at boot time by placing this line in
loader.conf(5):
smartpqi_load="YES"
DESCRIPTION
The smartpqi driver provides support for Microchip Technology Inc. /
Adaptec SmartRaid and SmartHBA SATA/SAS/NVMe PCIe controllers
HARDWARE
Controllers supported by the smartpqi driver include, but not limited to:
o HPE Gen10 Smart Array Controller Family
o Adaptec SmartRaid and SmartHBA Controllers
o OEM Controllers based on the Microchip Technology Inc. SmartROC and
SmartIOC Chipsets
DEBUGGING
Driver diagnostic printing is controlled in loader.conf(5) by using the
global hw.smartpqi.debug_level tunable.
The debug_level variable is set with an integer value. The default value
is 0x0060 (warn && error).
The following levels are available:
Flag Name Description
0x0001 init System initialization operations
0x0002 info Basic information
0x0004 function Used to show function entry and exit
0x0008 io Logging data from controller
0x0010 discovery Device discovery
0x0020 warning Operational warnings
0x0040 error Parameter errors and programming bugs
0x0080 note More detailed information
DEVICE HINTS
The following tunable values can be set in /boot/device.hints to control
the behavior of the smartpqi driver. These hints are specified as:
hint.smartpqi.<unit>.<variable>=<value>
The supported variables are:
stream_disable If set to 0, disables Stream Detection.
Default is (enabled).
sata_unique_wwn_disable If set to 0, disables SATA Unique World Wide
Number.
Default is (enabled).
aio_raid1_write_disable If set to 0, disables acceleration of RAID1
writes
Default is (enabled).
aio_raid5_write_disable If set to 0, disables acceleration of RAID5
writes
Default is (enabled).
aio_raid6_write_disable If set to 0, disables acceleration of RAID6
writes
Default is (enabled).
queue_depth Sets queue depth for the controller. If the
queue depth value is greater than the maximum
supported queue size of the driver or
controller, it will be set to the lowest size.
If the queue depth value is lower than the
minimum queue depth then this will be set to the
minimum queue depth.
Default is driver-determined.
sg_count Sets the scatter gather (sg) count. If this sg
count is greater than maximum sg count it will
be set to the maximum sg count. If this sg
count is less than minimum sg count it will be
set to the minimum sg count.
Default is driver-determined.
For example, to disable Stream Detection on the first controller, add the
following line to /boot/device.hints:
hint.smartpqi.0.stream_disable="0"
FILES
/dev/smartpqi? smartpqi management interface
NOTES
Configuration
To configure a Microchip Smart Storage controller, refer to the User
Guide for the controller, which can be found by searching for the
specific controller at https://www.microchip.com/design-centers/storage
SEE ALSO
kld(4), linux(4), pass(4), scsi(4), xpt(4), loader.conf(5),
camcontrol(8), kldload(8)
HISTORY
The smartpqi driver first appeared in FreeBSD 11.1.
AUTHORS
John Hall <john.hall@microchip.com>
BUGS
The controller is not actually paused on suspend/resume.
FreeBSD 15.1-STABLE-HBSD August 28, 2025 SMARTPQI(4)