xref: /linux/Documentation/scsi/smartpqi.rst (revision cbecf716ca618fd44feda6bd9a64a8179d031fc5)
1ff1efa74SMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0
2ff1efa74SMauro Carvalho Chehab
3*5f59128cSDon Brace==============================================
4*5f59128cSDon BraceSMARTPQI - Microchip Smart Storage SCSI driver
5*5f59128cSDon Brace==============================================
6ff1efa74SMauro Carvalho Chehab
7*5f59128cSDon BraceThis file describes the smartpqi SCSI driver for Microchip
8*5f59128cSDon Brace(http://www.microchip.com) PQI controllers. The smartpqi driver
9*5f59128cSDon Braceis the next generation SCSI driver for Microchip Corp. The smartpqi
10ff1efa74SMauro Carvalho Chehabdriver is the first SCSI driver to implement the PQI queuing model.
11ff1efa74SMauro Carvalho Chehab
12ff1efa74SMauro Carvalho ChehabThe smartpqi driver will replace the aacraid driver for Adaptec Series 9
13ff1efa74SMauro Carvalho Chehabcontrollers. Customers running an older kernel (Pre-4.9) using an Adaptec
14ff1efa74SMauro Carvalho ChehabSeries 9 controller will have to configure the smartpqi driver or their
15ff1efa74SMauro Carvalho Chehabvolumes will not be added to the OS.
16ff1efa74SMauro Carvalho Chehab
17*5f59128cSDon BraceFor Microchip smartpqi controller support, enable the smartpqi driver
18ff1efa74SMauro Carvalho Chehabwhen configuring the kernel.
19ff1efa74SMauro Carvalho Chehab
20ff1efa74SMauro Carvalho ChehabFor more information on the PQI Queuing Interface, please see:
21ff1efa74SMauro Carvalho Chehab
22ff1efa74SMauro Carvalho Chehab- http://www.t10.org/drafts.htm
23ff1efa74SMauro Carvalho Chehab- http://www.t10.org/members/w_pqi2.htm
24ff1efa74SMauro Carvalho Chehab
25ff1efa74SMauro Carvalho ChehabSupported devices
26ff1efa74SMauro Carvalho Chehab=================
27ff1efa74SMauro Carvalho Chehab<Controller names to be added as they become publicly available.>
28ff1efa74SMauro Carvalho Chehab
29ff1efa74SMauro Carvalho Chehabsmartpqi specific entries in /sys
30ff1efa74SMauro Carvalho Chehab=================================
31ff1efa74SMauro Carvalho Chehab
32ff1efa74SMauro Carvalho Chehabsmartpqi host attributes
33ff1efa74SMauro Carvalho Chehab------------------------
34ff1efa74SMauro Carvalho Chehab  - /sys/class/scsi_host/host*/rescan
35ff1efa74SMauro Carvalho Chehab  - /sys/class/scsi_host/host*/driver_version
36ff1efa74SMauro Carvalho Chehab
37ff1efa74SMauro Carvalho Chehab  The host rescan attribute is a write only attribute. Writing to this
38ff1efa74SMauro Carvalho Chehab  attribute will trigger the driver to scan for new, changed, or removed
39ff1efa74SMauro Carvalho Chehab  devices and notify the SCSI mid-layer of any changes detected.
40ff1efa74SMauro Carvalho Chehab
41ff1efa74SMauro Carvalho Chehab  The version attribute is read-only and will return the driver version
42ff1efa74SMauro Carvalho Chehab  and the controller firmware version.
43ff1efa74SMauro Carvalho Chehab  For example::
44ff1efa74SMauro Carvalho Chehab
45ff1efa74SMauro Carvalho Chehab              driver: 0.9.13-370
46ff1efa74SMauro Carvalho Chehab              firmware: 0.01-522
47ff1efa74SMauro Carvalho Chehab
48ff1efa74SMauro Carvalho Chehabsmartpqi sas device attributes
49ff1efa74SMauro Carvalho Chehab------------------------------
50ff1efa74SMauro Carvalho Chehab  HBA devices are added to the SAS transport layer. These attributes are
51ff1efa74SMauro Carvalho Chehab  automatically added by the SAS transport layer.
52ff1efa74SMauro Carvalho Chehab
53ff1efa74SMauro Carvalho Chehab  /sys/class/sas_device/end_device-X:X/sas_address
54ff1efa74SMauro Carvalho Chehab  /sys/class/sas_device/end_device-X:X/enclosure_identifier
55ff1efa74SMauro Carvalho Chehab  /sys/class/sas_device/end_device-X:X/scsi_target_id
56ff1efa74SMauro Carvalho Chehab
57ff1efa74SMauro Carvalho Chehabsmartpqi specific ioctls
58ff1efa74SMauro Carvalho Chehab========================
59ff1efa74SMauro Carvalho Chehab
60ff1efa74SMauro Carvalho Chehab  For compatibility with applications written for the cciss protocol.
61ff1efa74SMauro Carvalho Chehab
62ff1efa74SMauro Carvalho Chehab  CCISS_DEREGDISK, CCISS_REGNEWDISK, CCISS_REGNEWD
63ff1efa74SMauro Carvalho Chehab	The above three ioctls all do exactly the same thing, which is to cause the driver
64ff1efa74SMauro Carvalho Chehab	to rescan for new devices.  This does exactly the same thing as writing to the
65ff1efa74SMauro Carvalho Chehab	smartpqi specific host "rescan" attribute.
66ff1efa74SMauro Carvalho Chehab
67ff1efa74SMauro Carvalho Chehab  CCISS_GETPCIINFO
68ff1efa74SMauro Carvalho Chehab	Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).
69ff1efa74SMauro Carvalho Chehab
70ff1efa74SMauro Carvalho Chehab  CCISS_GETDRIVVER
71ff1efa74SMauro Carvalho Chehab	Returns driver version in three bytes encoded as::
72ff1efa74SMauro Carvalho Chehab
73ff1efa74SMauro Carvalho Chehab	  (DRIVER_MAJOR << 28) | (DRIVER_MINOR << 24) | (DRIVER_RELEASE << 16) | DRIVER_REVISION;
74ff1efa74SMauro Carvalho Chehab
75ff1efa74SMauro Carvalho Chehab  CCISS_PASSTHRU
76ff1efa74SMauro Carvalho Chehab	Allows "BMIC" and "CISS" commands to be passed through to the Smart Storage Array.
77ff1efa74SMauro Carvalho Chehab	These are used extensively by the SSA Array Configuration Utility, SNMP storage
78ff1efa74SMauro Carvalho Chehab	agents, etc.
79