swh:1:snp:c2847dfd741eae21606027cf29250d1ebcd63fb4
Tip revision: 2bd6bf03f4c1c59381d62c61d03f6cc3fe71f66e authored by Linus Torvalds on 16 September 2017, 22:47:51 UTC
Linux 4.14-rc1
Linux 4.14-rc1
Tip revision: 2bd6bf0
smartpqi.txt
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 publically 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.