Commit 1392de9d authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Martin K. Petersen
parent 3c1e681b
.. SPDX-License-Identifier: GPL-2.0
=========================================
HPSA - Hewlett Packard Smart Array driver HPSA - Hewlett Packard Smart Array driver
----------------------------------------- =========================================
This file describes the hpsa SCSI driver for HP Smart Array controllers. This file describes the hpsa SCSI driver for HP Smart Array controllers.
The hpsa driver is intended to supplant the cciss driver for newer The hpsa driver is intended to supplant the cciss driver for newer
...@@ -11,17 +13,17 @@ driver (for logical drives) AND a SCSI driver (for tape drives). This ...@@ -11,17 +13,17 @@ driver (for logical drives) AND a SCSI driver (for tape drives). This
complexity and eliminating that complexity is one of the reasons complexity and eliminating that complexity is one of the reasons
for hpsa to exist. for hpsa to exist.
Supported devices: Supported devices
------------------ =================
Smart Array P212 - Smart Array P212
Smart Array P410 - Smart Array P410
Smart Array P410i - Smart Array P410i
Smart Array P411 - Smart Array P411
Smart Array P812 - Smart Array P812
Smart Array P712m - Smart Array P712m
Smart Array P711m - Smart Array P711m
StorageWorks P1210m - StorageWorks P1210m
Additionally, older Smart Arrays may work with the hpsa driver if the kernel Additionally, older Smart Arrays may work with the hpsa driver if the kernel
boot parameter "hpsa_allow_any=1" is specified, however these are not tested boot parameter "hpsa_allow_any=1" is specified, however these are not tested
...@@ -35,18 +37,20 @@ mode, each command completion requires an interrupt, while with "performant mode ...@@ -35,18 +37,20 @@ mode, each command completion requires an interrupt, while with "performant mode
command completions indicated by a single interrupt. command completions indicated by a single interrupt.
HPSA specific entries in /sys HPSA specific entries in /sys
----------------------------- =============================
In addition to the generic SCSI attributes available in /sys, hpsa supports In addition to the generic SCSI attributes available in /sys, hpsa supports
the following attributes: the following attributes:
HPSA specific host attributes: HPSA specific host attributes
------------------------------ =============================
::
/sys/class/scsi_host/host*/rescan /sys/class/scsi_host/host*/rescan
/sys/class/scsi_host/host*/firmware_revision /sys/class/scsi_host/host*/firmware_revision
/sys/class/scsi_host/host*/resettable /sys/class/scsi_host/host*/resettable
/sys/class/scsi_host/host*/transport_mode /sys/class/scsi_host/host*/transport_mode
the host "rescan" attribute is a write only attribute. Writing to this the host "rescan" attribute is a write only attribute. Writing to this
attribute will cause the driver to scan for new, changed, or removed devices attribute will cause the driver to scan for new, changed, or removed devices
...@@ -58,7 +62,7 @@ HPSA specific entries in /sys ...@@ -58,7 +62,7 @@ HPSA specific entries in /sys
tape drives, or entire storage boxes containing pre-configured logical drives. tape drives, or entire storage boxes containing pre-configured logical drives.
The "firmware_revision" attribute contains the firmware version of the Smart Array. The "firmware_revision" attribute contains the firmware version of the Smart Array.
For example: For example::
root@host:/sys/class/scsi_host/host4# cat firmware_revision root@host:/sys/class/scsi_host/host4# cat firmware_revision
7.14 7.14
...@@ -78,16 +82,18 @@ HPSA specific entries in /sys ...@@ -78,16 +82,18 @@ HPSA specific entries in /sys
kexec tools to warn the user if they attempt to designate a device which is kexec tools to warn the user if they attempt to designate a device which is
unable to honor the reset_devices kernel parameter as a dump device. unable to honor the reset_devices kernel parameter as a dump device.
HPSA specific disk attributes: HPSA specific disk attributes
------------------------------ -----------------------------
::
/sys/class/scsi_disk/c:b:t:l/device/unique_id /sys/class/scsi_disk/c:b:t:l/device/unique_id
/sys/class/scsi_disk/c:b:t:l/device/raid_level /sys/class/scsi_disk/c:b:t:l/device/raid_level
/sys/class/scsi_disk/c:b:t:l/device/lunid /sys/class/scsi_disk/c:b:t:l/device/lunid
(where c:b:t:l are the controller, bus, target and lun of the device) (where c:b:t:l are the controller, bus, target and lun of the device)
For example: For example::
root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id root@host:/sys/class/scsi_disk/4:0:0:0/device# cat unique_id
600508B1001044395355323037570F77 600508B1001044395355323037570F77
...@@ -96,35 +102,28 @@ HPSA specific entries in /sys ...@@ -96,35 +102,28 @@ HPSA specific entries in /sys
root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level root@host:/sys/class/scsi_disk/4:0:0:0/device# cat raid_level
RAID 0 RAID 0
HPSA specific ioctls: HPSA specific ioctls
--------------------- ====================
For compatibility with applications written for the cciss driver, many, but For compatibility with applications written for the cciss driver, many, but
not all of the ioctls supported by the cciss driver are also supported by the not all of the ioctls supported by the cciss driver are also supported by the
hpsa driver. The data structures used by these are described in hpsa driver. The data structures used by these are described in
include/linux/cciss_ioctl.h include/linux/cciss_ioctl.h
CCISS_DEREGDISK CCISS_DEREGDISK, CCISS_REGNEWDISK, CCISS_REGNEWD
CCISS_REGNEWDISK The above three ioctls all do exactly the same thing, which is to cause the driver
CCISS_REGNEWD to rescan for new devices. This does exactly the same thing as writing to the
hpsa specific host "rescan" attribute.
The above three ioctls all do exactly the same thing, which is to cause the driver
to rescan for new devices. This does exactly the same thing as writing to the
hpsa specific host "rescan" attribute.
CCISS_GETPCIINFO CCISS_GETPCIINFO
Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID). Returns PCI domain, bus, device and function and "board ID" (PCI subsystem ID).
CCISS_GETDRIVVER CCISS_GETDRIVVER
Returns driver version in three bytes encoded as::
Returns driver version in three bytes encoded as:
(major_version << 16) | (minor_version << 8) | (subminor_version) (major_version << 16) | (minor_version << 8) | (subminor_version)
CCISS_PASSTHRU CCISS_PASSTHRU, CCISS_BIG_PASSTHRU
CCISS_BIG_PASSTHRU
Allows "BMIC" and "CISS" commands to be passed through to the Smart Array. Allows "BMIC" and "CISS" commands to be passed through to the Smart Array.
These are used extensively by the HP Array Configuration Utility, SNMP storage These are used extensively by the HP Array Configuration Utility, SNMP storage
agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples. agents, etc. See cciss_vol_status at http://cciss.sf.net for some examples.
...@@ -21,5 +21,6 @@ Linux SCSI Subsystem ...@@ -21,5 +21,6 @@ Linux SCSI Subsystem
dpti dpti
FlashPoint FlashPoint
g_NCR5380 g_NCR5380
hpsa
scsi_transport_srp/figures scsi_transport_srp/figures
...@@ -7416,7 +7416,7 @@ M: Don Brace <don.brace@microsemi.com> ...@@ -7416,7 +7416,7 @@ M: Don Brace <don.brace@microsemi.com>
L: esc.storagedev@microsemi.com L: esc.storagedev@microsemi.com
L: linux-scsi@vger.kernel.org L: linux-scsi@vger.kernel.org
S: Supported S: Supported
F: Documentation/scsi/hpsa.txt F: Documentation/scsi/hpsa.rst
F: drivers/scsi/hpsa*.[ch] F: drivers/scsi/hpsa*.[ch]
F: include/linux/cciss*.h F: include/linux/cciss*.h
F: include/uapi/linux/cciss*.h F: include/uapi/linux/cciss*.h
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment