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