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