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)