1 .. SPDX-License-Identifier: GPL-2.0 1 .. SPDX-License-Identifier: GPL-2.0 2 2 3 ========================================= 3 ========================================= 4 HPSA - Hewlett Packard Smart Array driver 4 HPSA - Hewlett Packard Smart Array driver 5 ========================================= 5 ========================================= 6 6 7 This file describes the hpsa SCSI driver for H 7 This file describes the hpsa SCSI driver for HP Smart Array controllers. 8 The hpsa driver is intended to supplant the cc 8 The hpsa driver is intended to supplant the cciss driver for newer 9 Smart Array controllers. The hpsa driver is a 9 Smart Array controllers. The hpsa driver is a SCSI driver, while the 10 cciss driver is a "block" driver. Actually cc 10 cciss driver is a "block" driver. Actually cciss is both a block 11 driver (for logical drives) AND a SCSI driver 11 driver (for logical drives) AND a SCSI driver (for tape drives). This 12 "split-brained" design of the cciss driver is 12 "split-brained" design of the cciss driver is a source of excess 13 complexity and eliminating that complexity is 13 complexity and eliminating that complexity is one of the reasons 14 for hpsa to exist. 14 for hpsa to exist. 15 15 16 Supported devices 16 Supported devices 17 ================= 17 ================= 18 18 19 - Smart Array P212 19 - Smart Array P212 20 - Smart Array P410 20 - Smart Array P410 21 - Smart Array P410i 21 - Smart Array P410i 22 - Smart Array P411 22 - Smart Array P411 23 - Smart Array P812 23 - Smart Array P812 24 - Smart Array P712m 24 - Smart Array P712m 25 - Smart Array P711m 25 - Smart Array P711m 26 - StorageWorks P1210m 26 - StorageWorks P1210m 27 27 28 Additionally, older Smart Arrays may work with 28 Additionally, older Smart Arrays may work with the hpsa driver if the kernel 29 boot parameter "hpsa_allow_any=1" is specified 29 boot parameter "hpsa_allow_any=1" is specified, however these are not tested 30 nor supported by HP with this driver. For old 30 nor supported by HP with this driver. For older Smart Arrays, the cciss 31 driver should still be used. 31 driver should still be used. 32 32 33 The "hpsa_simple_mode=1" boot parameter may be 33 The "hpsa_simple_mode=1" boot parameter may be used to prevent the driver from 34 putting the controller into "performant" mode. 34 putting the controller into "performant" mode. The difference is that with simple 35 mode, each command completion requires an inte 35 mode, each command completion requires an interrupt, while with "performant mode" 36 (the default, and ordinarily better performing 36 (the default, and ordinarily better performing) it is possible to have multiple 37 command completions indicated by a single inte 37 command completions indicated by a single interrupt. 38 38 39 HPSA specific entries in /sys 39 HPSA specific entries in /sys 40 ============================= 40 ============================= 41 41 42 In addition to the generic SCSI attributes a 42 In addition to the generic SCSI attributes available in /sys, hpsa supports 43 the following attributes: 43 the following attributes: 44 44 45 HPSA specific host attributes 45 HPSA specific host attributes 46 ============================= 46 ============================= 47 47 48 :: 48 :: 49 49 50 /sys/class/scsi_host/host*/rescan 50 /sys/class/scsi_host/host*/rescan 51 /sys/class/scsi_host/host*/firmware_revisi 51 /sys/class/scsi_host/host*/firmware_revision 52 /sys/class/scsi_host/host*/resettable 52 /sys/class/scsi_host/host*/resettable 53 /sys/class/scsi_host/host*/transport_mode 53 /sys/class/scsi_host/host*/transport_mode 54 54 55 the host "rescan" attribute is a write only 55 the host "rescan" attribute is a write only attribute. Writing to this 56 attribute will cause the driver to scan for 56 attribute will cause the driver to scan for new, changed, or removed devices 57 (e.g. hot-plugged tape drives, or newly conf 57 (e.g. hot-plugged tape drives, or newly configured or deleted logical drives, 58 etc.) and notify the SCSI midlayer of any ch 58 etc.) and notify the SCSI midlayer of any changes detected. Normally this is 59 triggered automatically by HP's Array Config 59 triggered automatically by HP's Array Configuration Utility (either the GUI or 60 command line variety) so for logical drive c 60 command line variety) so for logical drive changes, the user should not 61 normally have to use this. It may be useful 61 normally have to use this. It may be useful when hot plugging devices like 62 tape drives, or entire storage boxes contain 62 tape drives, or entire storage boxes containing pre-configured logical drives. 63 63 64 The "firmware_revision" attribute contains t 64 The "firmware_revision" attribute contains the firmware version of the Smart Array. 65 For example:: 65 For example:: 66 66 67 root@host:/sys/class/scsi_host/host4# 67 root@host:/sys/class/scsi_host/host4# cat firmware_revision 68 7.14 68 7.14 69 69 70 The transport_mode indicates whether the con 70 The transport_mode indicates whether the controller is in "performant" 71 or "simple" mode. This is controlled by the 71 or "simple" mode. This is controlled by the "hpsa_simple_mode" module 72 parameter. 72 parameter. 73 73 74 The "resettable" read-only attribute indicat 74 The "resettable" read-only attribute indicates whether a particular 75 controller is able to honor the "reset_devic 75 controller is able to honor the "reset_devices" kernel parameter. If the 76 device is resettable, this file will contain 76 device is resettable, this file will contain a "1", otherwise, a "0". This 77 parameter is used by kdump, for example, to 77 parameter is used by kdump, for example, to reset the controller at driver 78 load time to eliminate any outstanding comma 78 load time to eliminate any outstanding commands on the controller and get the 79 controller into a known state so that the kd 79 controller into a known state so that the kdump initiated i/o will work right 80 and not be disrupted in any way by stale com 80 and not be disrupted in any way by stale commands or other stale state 81 remaining on the controller from the previou 81 remaining on the controller from the previous kernel. This attribute enables 82 kexec tools to warn the user if they attempt 82 kexec tools to warn the user if they attempt to designate a device which is 83 unable to honor the reset_devices kernel par 83 unable to honor the reset_devices kernel parameter as a dump device. 84 84 85 HPSA specific disk attributes 85 HPSA specific disk attributes 86 ----------------------------- 86 ----------------------------- 87 87 88 :: 88 :: 89 89 90 /sys/class/scsi_disk/c:b:t:l/device/unique 90 /sys/class/scsi_disk/c:b:t:l/device/unique_id 91 /sys/class/scsi_disk/c:b:t:l/device/raid_l 91 /sys/class/scsi_disk/c:b:t:l/device/raid_level 92 /sys/class/scsi_disk/c:b:t:l/device/lunid 92 /sys/class/scsi_disk/c:b:t:l/device/lunid 93 93 94 (where c:b:t:l are the controller, bus, targ 94 (where c:b:t:l are the controller, bus, target and lun of the device) 95 95 96 For example:: 96 For example:: 97 97 98 root@host:/sys/class/scsi_disk/4:0:0:0 98 root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id 99 600508B1001044395355323037570F77 99 600508B1001044395355323037570F77 100 root@host:/sys/class/scsi_disk/4:0:0:0 100 root@host:/sys/class/scsi_disk/4:0:0:0/device# cat lunid 101 0x0000004000000000 101 0x0000004000000000 102 root@host:/sys/class/scsi_disk/4:0:0:0 102 root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level 103 RAID 0 103 RAID 0 104 104 105 HPSA specific ioctls 105 HPSA specific ioctls 106 ==================== 106 ==================== 107 107 108 For compatibility with applications written 108 For compatibility with applications written for the cciss driver, many, but 109 not all of the ioctls supported by the cciss 109 not all of the ioctls supported by the cciss driver are also supported by the 110 hpsa driver. The data structures used by th 110 hpsa driver. The data structures used by these are described in 111 include/linux/cciss_ioctl.h 111 include/linux/cciss_ioctl.h 112 112 113 CCISS_DEREGDISK, CCISS_REGNEWDISK, CCISS_REG 113 CCISS_DEREGDISK, CCISS_REGNEWDISK, CCISS_REGNEWD 114 The above three ioctls all do exactly 114 The above three ioctls all do exactly the same thing, which is to cause the driver 115 to rescan for new devices. This does 115 to rescan for new devices. This does exactly the same thing as writing to the 116 hpsa specific host "rescan" attribute. 116 hpsa specific host "rescan" attribute. 117 117 118 CCISS_GETPCIINFO 118 CCISS_GETPCIINFO 119 Returns PCI domain, bus, device and fu 119 Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID). 120 120 121 CCISS_GETDRIVVER 121 CCISS_GETDRIVVER 122 Returns driver version in three bytes 122 Returns driver version in three bytes encoded as:: 123 123 124 (major_version << 16) | (minor 124 (major_version << 16) | (minor_version << 8) | (subminor_version) 125 125 126 CCISS_PASSTHRU, CCISS_BIG_PASSTHRU 126 CCISS_PASSTHRU, CCISS_BIG_PASSTHRU 127 Allows "BMIC" and "CISS" commands to b 127 Allows "BMIC" and "CISS" commands to be passed through to the Smart Array. 128 These are used extensively by the HP A 128 These are used extensively by the HP Array Configuration Utility, SNMP storage 129 agents, etc. See cciss_vol_status at 129 agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples.
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.