~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/scsi/hpsa.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php