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