Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 1 | .. SPDX-License-Identifier: GPL-2.0 |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 2 | |
Don Brace | 5f59128 | 2020-08-28 16:09:15 -0500 | [diff] [blame] | 3 | ============================================== |
| 4 | SMARTPQI - Microchip Smart Storage SCSI driver |
| 5 | ============================================== |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 6 | |
Don Brace | 5f59128 | 2020-08-28 16:09:15 -0500 | [diff] [blame] | 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 |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 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 | |
Don Brace | 5f59128 | 2020-08-28 16:09:15 -0500 | [diff] [blame] | 17 | For Microchip smartpqi controller support, enable the smartpqi driver |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 18 | when configuring the kernel. |
| 19 | |
| 20 | For more information on the PQI Queuing Interface, please see: |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 21 | |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 22 | - http://www.t10.org/drafts.htm |
| 23 | - http://www.t10.org/members/w_pqi2.htm |
| 24 | |
| 25 | Supported devices |
| 26 | ================= |
Don Brace | fcc2778 | 2017-10-20 14:11:51 -0500 | [diff] [blame] | 27 | <Controller names to be added as they become publicly available.> |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 28 | |
| 29 | smartpqi specific entries in /sys |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 30 | ================================= |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 31 | |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 32 | smartpqi host attributes |
| 33 | ------------------------ |
| 34 | - /sys/class/scsi_host/host*/rescan |
| 35 | - /sys/class/scsi_host/host*/driver_version |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 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. |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 43 | For example:: |
| 44 | |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 45 | driver: 0.9.13-370 |
| 46 | firmware: 0.01-522 |
| 47 | |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 48 | smartpqi sas device attributes |
| 49 | ------------------------------ |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 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 | |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 57 | smartpqi specific ioctls |
| 58 | ======================== |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 59 | |
| 60 | For compatibility with applications written for the cciss protocol. |
| 61 | |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 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. |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 66 | |
| 67 | CCISS_GETPCIINFO |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 68 | Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID). |
| 69 | |
| 70 | CCISS_GETDRIVVER |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 71 | Returns driver version in three bytes encoded as:: |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 72 | |
Mauro Carvalho Chehab | ff1efa7 | 2020-03-02 09:16:08 +0100 | [diff] [blame] | 73 | (DRIVER_MAJOR << 28) | (DRIVER_MINOR << 24) | (DRIVER_RELEASE << 16) | DRIVER_REVISION; |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 74 | |
| 75 | CCISS_PASSTHRU |
Don Brace | 425b490 | 2016-08-31 14:55:30 -0500 | [diff] [blame] | 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. |