summaryrefslogtreecommitdiffstats
path: root/sys/dev/ciss
Commit message (Collapse)AuthorAgeFilesLines
* Add support for the P600 and name the E400.ps2005-04-281-1/+2
|
* Provide a way to soft reset a proxy controller such as an MSA20 orps2005-04-193-0/+58
| | | | | MSA500. This is useful if you need to reset one of the storage arrays on reboot.
* handle ciss_lookup failuresam2005-03-291-0/+5
| | | | Noticed by: Coverity Prevent analysis tool
* Use BUS_PROBE_DEFAULT for pci probe return valueimp2005-03-051-1/+1
|
* - Remove dead code.scottl2005-02-211-3/+2
| | | | | | - Protect against negative values as array indexes. Submitted by: Coverity Prevent analysis tool
* Remove 6422, V100 and add the P600.ps2005-01-201-2/+1
| | | | Submitted by: John Cagle
* ciss's interrupt handler was missing the INTR_ENTROPY flag.peter2004-08-161-1/+2
|
* Clean up structure packing.ps2004-07-292-25/+22
|
* Make __packed attribute apply to structs themselves, not their typedefs.kan2004-07-281-14/+17
| | | | GCC 3.4.2 issues warning about that.
* Name non-physical devices.ps2004-07-281-1/+1
|
* Reset the update flag when scanning for new devices.ps2004-06-221-0/+1
|
* Use the maximum physical bus when rescanning those targets. Thisps2004-06-221-1/+1
| | | | fixes a panic on cards which do not have any drives attached.
* on media exchange, update/rescan the drives. This allows a volumeps2004-06-211-0/+4
| | | | in a failed stated to come back on-line without a reboot.
* There is no need to call ciss_media_accept async anymore since allps2004-06-211-42/+16
| | | | notify events are handled in a kthread.
* Add SCSI passthrough support to CISS. This allows devices like tape drivesscottl2004-06-213-22/+286
| | | | | | | | | | | that are on a CISS bus to be exported up to CAM and made available as normal devices. This will typically add one or two buses to CAM, which will be numbered starting at 32 to allow room for CISS proxy buses. Also, the CISS firmware usually hides disk devices, but these can also be exposed as 'pass' devices if you set the hw.ciss.expose_hidden_physical tunable. Sponsored by: Tape Laboratories, Inc. MFC After: 3 days
* Do the dreaded s/dev_t/struct cdev */phk2004-06-162-4/+4
| | | | Bump __FreeBSD_version accordingly.
* If a device is not ONLINE, do not attempt to submit any commandsps2004-06-151-23/+4
| | | | | | | or I/O to the volume. This solves a panic when removing a disk in a RAID 0 volume. Reported by: le
* Document the 64bit version of blocks_to_recover for logical drive status.ps2004-06-051-0/+2
| | | | Pad the struct to 1024 bytes as defined in the firmware spec.
* Add pci id's for the SmartArray 6422 and V100 controllers. Alsops2004-06-051-0/+17
| | | | | | add a whole bunch of pci id's for future controllers. Submitted by: John Cagle <first.last@hp.com>
* Update logical drive structureps2004-06-041-3/+5
|
* Define another HOTPLUG event.ps2004-05-281-0/+1
|
* Turn SCSI pre-fetch ON. This is mainly for 64XX and 64X basedps2004-05-172-2/+12
| | | | | | | | controllers and allows the controller to prefetch 1-2k on certain PCI memory reads to the host. The spec says this should only be used for IA32 based systems. Informed of feature by: John Cagle <first.last@hp.com>
* make this compile/work with CISS_DEBUG defined.ps2004-04-261-8/+10
|
* define some new fields in the physical drive structure and pad theps2004-04-221-0/+3
| | | | structure to 512 bytes.
* There's no need to call ciss_report_request in the passthru ioctlps2004-04-191-3/+1
| | | | | | routine since the error will be reported back to the user buffer. This will quiet down the bootverbose case when using an ACU which does brute force discovery of the physical and logical devices.
* Report only new new events when initially attaching to the controller.ps2004-04-191-1/+4
|
* move the cleanup of the control device into ciss_free and add someps2004-04-181-2/+10
| | | | | ifdefs for the diffrent kthread_create API between -current and -stable
* Add support for the HP Modular Smart Array 20 & 500 storage arrays.ps2004-04-163-138/+462
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Logical volumes on these devices show up as LUNs behind another controller (also known as proxy controller). In order to issue firmware commands for a volume on a proxy controller, they must be targeted at the address of the proxy controller it is attached to, not the Host/PCI controller. A proxy controller is defined as a device listed in the INQUIRY PHYSICAL LUNS command who's L2 and L3 SCSI addresses are zero. The corresponding address returned defines which "bus" the controller lives on and we use this to create a virtual CAM bus. A logical volume's addresses first byte defines the logical drive number. The second byte defines the bus that it is attached to which corresponds to the BUS of the proxy controller's found or the Host/PCI controller. Change event notification to be handled in its own kernel thread. This is needed since some events may require the driver to sleep on some operations and this cannot be done during interrupt context. With this change, it is now possible to create and destroy logical volumes from FreeBSD, but it requires a native application to construct the proper firmware commands which is not publicly available. Special thanks to John Cagle @ HP for providing remote access to all the hardware and beating on the storage engineers at HP to answer my questions.
* Whitespace cleanup.ps2004-04-163-69/+67
|
* Don't allow the driver to be unloaded if the device node is open.ps2004-04-141-1/+4
|
* Do not catch signals when waiting for a request. This fixes a nastyps2004-04-141-14/+2
| | | | race when issuing commands from userland.
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-6/+6
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* Device megapatch 4/6:phk2004-02-211-1/+2
| | | | | | | | Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION. Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
* Device megapatch 1/6:phk2004-02-211-2/+0
| | | | | | | Free approx 86 major numbers with a mostly automatically generated patch. A number of strategic drivers have been left behind by caution, and a few because they still (ab)use their major number.
* Fixed a memory leak.ru2004-01-181-0/+1
| | | | Reported by: Stanford Metacompilation research group
* White space cleanupps2003-12-131-70/+66
|
* Correct the READ/WRITE CDB direction definition.ps2003-12-081-2/+2
| | | | Submitted by: John Cagle <john.cagle@hp.com>
* Define RAID 5+1 and RAID ADG fault tolerancesps2003-12-082-0/+6
|
* Add PCID for 6i controllerps2003-11-071-0/+1
| | | | Submitted by: John Cagle <john.cagle@hp.com>
* Print the correct logical drive lun number returned by the controller.ps2003-10-151-1/+2
|
* Quiet down boot verbose and allow commands to be submitted to a targetps2003-09-081-2/+1
| | | | | which does not have a volume attached. This will stop cam from retrying a bunch of time at boot for devices which do not exsist.
* Prefer new location of pci include files (which have only been in theimp2003-08-221-2/+2
| | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
* Support EINPROGRESS and properly deal with 64bit physical addressing.ps2003-08-121-24/+59
|
* Check the status of the user command and return the proper errorps2003-07-121-2/+10
| | | | to the user.
* Quiet down ciss unless bootverbose is set.ps2003-07-121-4/+4
|
* Mega busdma API commit.scottl2003-07-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs
* Give the correct size for the command map to busdma.ps2003-06-261-1/+1
|
* Fix off-by-one error in drive number check.phk2003-05-311-3/+3
| | | | | | Don't return(foo(...)) in function returning void. Found by: FlexeLint
* Make ciss usable under PAEps2003-05-211-1/+7
| | | | Approved by: re (scottl)
* Add support for the HP Smart Array 6400 EMps2003-04-031-3/+4
| | | | | Change the interrupt mask for the Smart Array 6xxx controllers after discussions w/ HP.
OpenPOWER on IntegriCloud