
SMARTPQI - Microsemi Smart PQI Driver
-----------------------------------------

This file describes the smartpqi SCSI driver for Microsemi
(http://www.microsemi.com) PQI controllers. The smartpqi driver
is the next generation SCSI driver for Microsemi Corp. The smartpqi
driver is the first SCSI driver to implement the PQI queuing model.

The smartpqi driver will replace the aacraid driver for Adaptec Series 9
controllers. Customers running an older kernel (Pre-4.9) using an Adaptec
Series 9 controller will have to configure the smartpqi driver or their
volumes will not be added to the OS.

For Microsemi smartpqi controller support, enable the smartpqi driver
when configuring the kernel.

For more information on the PQI Queuing Interface, please see:
http://www.t10.org/drafts.htm
http://www.t10.org/members/w_pqi2.htm

Supported devices:
------------------
<Controller names to be added as they become publicly available.>

smartpqi specific entries in /sys
-----------------------------

  smartpqi host attributes:
  -------------------------
  /sys/class/scsi_host/host*/rescan
  /sys/class/scsi_host/host*/version

  The host rescan attribute is a write only attribute. Writing to this
  attribute will trigger the driver to scan for new, changed, or removed
  devices and notify the SCSI mid-layer of any changes detected.

  The version attribute is read-only and will return the driver version
  and the controller firmware version.
  For example:
              driver: 0.9.13-370
              firmware: 0.01-522

  smartpqi sas device attributes
  ------------------------------
  HBA devices are added to the SAS transport layer. These attributes are
  automatically added by the SAS transport layer.

  /sys/class/sas_device/end_device-X:X/sas_address
  /sys/class/sas_device/end_device-X:X/enclosure_identifier
  /sys/class/sas_device/end_device-X:X/scsi_target_id

smartpqi specific ioctls:
-------------------------

  For compatibility with applications written for the cciss protocol.

  CCISS_DEREGDISK
  CCISS_REGNEWDISK
  CCISS_REGNEWD

  The above three ioctls all do exactly the same thing, which is to cause the driver
  to rescan for new devices.  This does exactly the same thing as writing to the
  smartpqi specific host "rescan" attribute.

  CCISS_GETPCIINFO

	Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).

  CCISS_GETDRIVVER

	Returns driver version in three bytes encoded as:
	(DRIVER_MAJOR << 28) | (DRIVER_MINOR << 24) | (DRIVER_RELEASE << 16) | DRIVER_REVISION;

  CCISS_PASSTHRU

	Allows "BMIC" and "CISS" commands to be passed through to the Smart Storage Array.
	These are used extensively by the SSA Array Configuration Utility, SNMP storage
	agents, etc.

