Provided by: manpages_6.8-2_all bug

NAME

       smartpqi - Microchip Smart Storage SCSI driver

SYNOPSIS

       modprobe smartpqi [disable_device_id_wildcards={0|1}] [disable_heartbeat={0|1}]
                         [disable_ctrl_shutdown={0|1}] [lockup_action={none|reboot|panic}]
                         [expose_ld_first={0|1}] [hide_vsep={0|1}] [disable_managed_interrupts={0|1}]
                         [ctrl_ready_timeout={0|[30,1800]}]

DESCRIPTION

       smartpqi is a SCSI driver for Microchip Smart Storage controllers.

   Supported ioctl() operations
       For compatibility with applications written for the cciss(4) and hpsa(4) drivers, many, but  not  all  of
       the ioctl(2) operations supported by the hpsa driver are also supported by the smartpqi driver.  The data
       structures   used   by   these   operations   are   described   in   the   Linux   kernel   source   file
       include/linux/cciss_ioctl.h.

       CCISS_DEREGDISK
       CCISS_REGNEWDISK
       CCISS_REGNEWD
              These  operations  all  do exactly the same thing, which is to cause the driver to re-scan for new
              devices.  This does exactly the same  thing  as  writing  to  the  smartpqi-specific  host  rescan
              attribute.

       CCISS_GETPCIINFO
              This  operation  returns  the  PCI domain, bus, device, and function and "board ID" (PCI subsystem
              ID).

       CCISS_GETDRIVVER
              This operation returns the driver version in four bytes, encoded as:

                  (major_version << 28) | (minor_version << 24) |
                          (release << 16) | revision

       CCISS_PASSTHRU
              Allows BMIC and CISS commands to be passed through to the controller.

   Boot options
       disable_device_id_wildcards={0|1}
              Disables support for device ID wildcards.  The default value is 0 (wildcards are enabled).

       disable_heartbeat={0|1}
              Disables support for the controller's heartbeat check.   This  parameter  is  used  for  debugging
              purposes.  The default value is 0 (the controller's heartbeat check is enabled).

       disable_ctrl_shutdown={0|1}
              Disables  support  for  shutting  down  the  controller  in the event of a controller lockup.  The
              default value is 0 (controller will be shut down).

       lockup_action={none|reboot|panic}
              Specifies the action the driver takes when a controller lockup is detected.  The default action is
              none.

              parameter   action
              ─────────────────────────────────────────────
              none        take controller offline only
              reboot      reboot the system
              panic       panic the system

       expose_ld_first={0|1}
              This  option  exposes  logical  devices to the OS before physical devices.  The default value is 0
              (physical devices exposed first).

       hide_vsep={0|1}
              This option disables exposure of the virtual SEP to the OS.  The default value is 0  (virtual  SEP
              is exposed).

       disable_managed_interrupts={0|1}
              Disables  driver  utilization  of  Linux  kernel  managed interrupts for controllers.  The managed
              interrupts feature automatically distributes interrupts to all  available  CPUs  and  assigns  SMP
              affinity.  The default value is 0 (managed interrupts enabled).

       ctrl_ready_timeout={0|[30,1800]}
              This  option  specifies  the  timeout  in  seconds for the driver to wait for the controller to be
              ready.  The valid range is 0 or [30, 1800].  The default value is 0, which causes  the  driver  to
              use a timeout of 180 seconds.

FILES

   Device nodes
       Disk  drives  are  accessed via the SCSI disk driver (sd), tape drives via the SCSI tape driver (st), and
       the RAID controller via the SCSI generic driver (sg), with device nodes  named  /dev/sd*,  /dev/st*,  and
       /dev/sg*, respectively.

   SmartPQI-specific host attribute files in /sys
       /sys/class/scsi_host/host*/rescan
              The  host  rescan  attribute  is a write-only attribute.  Writing to this attribute will cause the
              driver to scan for new, changed, or removed devices  (e.g.,  hot-plugged  tape  drives,  or  newly
              configured  or  deleted  logical  volumes)  and notify the SCSI mid-layer of any changes detected.
              Usually this action is triggered automatically by configuration changes, so the  user  should  not
              normally  have  to  write  to this file.  Doing so may be useful when hot-plugging devices such as
              tape drives or entire storage boxes containing pre-configured logical volumes.

       /sys/class/scsi_host/host*/lockup_action
              The host lockup_action attribute is a read/write attribute.  This attribute will cause the  driver
              to  perform  a  specific  action in the unlikely event that a controller lockup has been detected.
              See OPTIONS above for an explanation of the lockup_action values.

       /sys/class/scsi_host/host*/driver_version
              The driver_version attribute is read-only.  This attribute contains the smartpqi driver version.

              For example:

                  $ cat /sys/class/scsi_host/host1/driver_version
                  1.1.2-126

       /sys/class/scsi_host/host*/firmware_version
              The firmware_version attribute is read-only.  This  attribute  contains  the  controller  firmware
              version.

              For example:

                  $ cat /sys/class/scsi_host/host1/firmware_version
                  1.29-112

       /sys/class/scsi_host/host*/model
              The  model  attribute  is read-only.  This attribute contains the product identification string of
              the controller.

              For example:

                  $ cat /sys/class/scsi_host/host1/model
                  1100-16i

       /sys/class/scsi_host/host*/serial_number
              The serial_number attribute is read-only.   This  attribute  contains  the  unique  identification
              number of the controller.

              For example:

                  $ cat /sys/class/scsi_host/host1/serial_number
                  6A316373777

       /sys/class/scsi_host/host*/vendor
              The  vendor  attribute  is read-only.  This attribute contains the vendor identification string of
              the controller.

              For example:

                  $ cat /sys/class/scsi_host/host1/vendor
                  Adaptec

       /sys/class/scsi_host/host*/enable_stream_detection
              The enable_stream_detection attribute  is  read-write.   This  attribute  enables/disables  stream
              detection  in  the driver.  Enabling stream detection can improve sequential write performance for
              ioaccel-enabled volumes.  See the ssd_smart_path_enabled disk attribute  section  for  details  on
              ioaccel-enabled volumes.  The default value is 1 (stream detection enabled).

              Enable example:

                  $ echo 1 > /sys/class/scsi_host/host1/enable_stream_detection

       /sys/class/scsi_host/host*/enable_r5_writes
              The  enable_r5_writes  attribute  is  read-write.   This  attribute  enables/disables RAID 5 write
              operations for ioaccel-enabled volumes.  Enabling can improve sequential write  performance.   See
              the  ssd_smart_path_enabled  disk  attribute  section for details on ioaccel-enabled volumes.  The
              default value is 1 (RAID 5 writes enabled).

              Enable example:

                  $ echo 1 > /sys/class/scsi_host/host1/enable_r5_writes

       /sys/class/scsi_host/host*/enable_r6_writes
              The enable_r6_writes attribute is  read-write.   This  attribute  enables/disables  RAID  6  write
              operations  for  ioaccel-enabled volumes.  Enabling can improve sequential write performance.  See
              the ssd_smart_path_enabled disk attribute section for details  on  ioaccel-enabled  volumes.   The
              default value is 1 (RAID 6 writes enabled).

              Enable example:

                  $ echo 1 > /sys/class/scsi_host/host1/enable_r6_writes

   SmartPQI-specific disk attribute files in /sys
       In  the  file  specifications below, c stands for the number of the appropriate SCSI controller, b is the
       bus number, t the target number, and l is the logical unit number (LUN).

       /sys/class/scsi_disk/c:b:t:l/device/raid_level
              The raid_level attribute is read-only.  This attribute contains the  RAID  level  of  the  logical
              volume.

              For example:

                  $ cat /sys/class/scsi_disk/4:0:0:0/device/raid_level
                  RAID 0

       /sys/class/scsi_disk/c:b:t:l/device/sas_address
              The sas_address attribute is read-only.  This attribute contains the SAS address of the device.

              For example:

                  $ cat /sys/class/scsi_disk/1:0:3:0/device/sas_address
                  0x5001173d028543a2

       /sys/class/scsi_disk/c:b:t:l/device/ssd_smart_path_enabled
              The ssd_smart_path_enabled attribute is read-only.  This attribute is for ioaccel-enabled volumes.
              (Ioaccel is an alternative driver submission path that allows the  driver  to  send  I/O  requests
              directly  to backend SCSI devices, bypassing the controller firmware.  This results in an increase
              in performance.  This method is used for HBA disks and for logical  volumes  comprised  of  SSDs.)
              Contains 1 if ioaccel is enabled for the volume and 0 otherwise.

              For example:

                  $ cat /sys/class/scsi_disk/1:0:3:0/device/ssd_smart_path_enabled
                  0

       /sys/class/scsi_disk/c:b:t:l/device/lunid
              The lunid attribute is read-only.  This attribute contains the SCSI LUN ID for the device.

              For example:

                  $ cat /sys/class/scsi_disk/13:1:0:3/device/lunid
                  0x0300004000000000

       /sys/class/scsi_disk/c:b:t:l/device/unique_id
              The  unique_id  attribute  is  read-only.   This  attribute  contains  a  16-byte ID that uniquely
              identifies the device within the controller.

              For example:

                  $ cat /sys/class/scsi_disk/13:1:0:3/device/unique_id
                  600508B1001C6D4723A8E98D704FDB94

       /sys/class/scsi_disk/c:b:t:l/device/path_info
              The path_info attribute is read-only.  This attribute contains the c:b:t:l  of  the  device  along
              with  the  device  type  and  whether  the  device is Active or Inactive.  If the device is an HBA
              device, path_info will also display the PORT, BOX, and BAY the device is plugged into.

              For example:

                  $ cat /sys/class/scsi_disk/13:1:0:3/device/path_info
                  [13:1:0:3]    Direct-Access     Active

                  $ cat /sys/class/scsi_disk/12:0:9:0/device/path_info
                  [12:0:9:0]  Direct-Access   PORT: C1 BOX: 1 BAY: 14 Inactive
                  [12:0:9:0]  Direct-Access   PORT: C0 BOX: 1 BAY: 14 Active

       /sys/class/scsi_disk/c:b:t:l/device/raid_bypass_cnt
              The raid_bypass_cnt attribute is read-only.  This attribute contains the number  of  I/O  requests
              that   have   gone   through   the   ioaccel   path   for   ioaccel-enabled   volumes.    See  the
              ssd_smart_path_enabled disk attribute section for details on ioaccel-enabled volumes.

              For example:

                  $ cat /sys/class/scsi_disk/13:1:0:3/device/raid_bypass_cnt
                  0x300

       /sys/class/scsi_disk/c:b:t:l/device/sas_ncq_prio_enable
              The sas_ncq_prio_enable attribute  is  read/write.   This  attribute  enables  SATA  NCQ  priority
              support.  This attribute works only when device has NCQ support and controller firmware can handle
              IO with NCQ priority attribute.

              For example:

                  $ echo 1 > /sys/class/scsi_disk/13:1:0:3/device/sas_ncq_prio_enable

VERSIONS

       The smartpqi driver was added in Linux 4.9.

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⟩.

HISTORY

       /sys/class/scsi_host/host*/version was replaced by two sysfs entries:

              /sys/class/scsi_host/host*/driver_version

              /sys/class/scsi_host/host*/firmware_version

SEE ALSO

       cciss(4), hpsa(4), sd(4), st(4), sg(4)

       Documentation/ABI/testing/sysfs-bus-pci-devices-cciss in the Linux kernel source tree.