summaryrefslogtreecommitdiffstats
path: root/sys/dev/ciss
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Including <sys/stdint.h> is (almost?) universally only to be able to usephk2003-03-181-1/+0
| | | | | %j in printfs, so put a newsted include in <sys/systm.h> where the printf prototype lives and save everybody else the trouble.
* Centralize the devstat handling for all GEOM disk device driversphk2003-03-081-1/+0
| | | | | | | | in geom_disk.c. As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again.
* Gigacommit to improve device-driver source compatibility betweenphk2003-03-031-14/+5
| | | | | | | | | | | | | branches: Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values. This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386. Approved by: re(scottl)
* Put cdevsw initialization on canonical format.phk2003-03-021-3/+14
|
* Back out M_* changes, per decision of the TRB.imp2003-02-191-2/+2
| | | | Approved by: trb
* Add some PCI device ID's from HPps2003-02-181-0/+4
|
OpenPOWER on IntegriCloud