summaryrefslogtreecommitdiffstats
path: root/sys/dev/ips/ips_ioctl.c
Commit message (Collapse)AuthorAgeFilesLines
* Separate the hardware definitions into ipsreg.h so they can be used byscottl2005-11-291-0/+1
| | | | future userland tools.
* Overhaul error handling in the IPS driver. Don't use a magic value forscottl2005-09-251-3/+6
| | | | | | | | | driver-induced errors, instead be better about propagating error status upwards. Add more error definitions, courtesy of the linux driver. Fix a command leak in the ioctl handler. Re-arrange some of the command handlers to localize error handling. MFC After: 3 days
* Lock the IPS driver and bring it out from under Giant. Also do somescottl2005-01-281-4/+10
| | | | | | | | | | | | | | | | significant clean up and optimizations: - don't call bioq_disksort() on every command, the hardware will do that for us. - remove all of the complicated bio deferral code. bio's that can't be serviced immediately can just wait on the bioq. - Only reserve one command object for doing control commands to the card. This simplifies a lot of code and significantly reduces the size of the command struct. - Allocate commands out of a slab instead of embedding them into the softc. - Call the command action method directly instead of having ips_get_free_cmd() call it indirectly. MFC After: 1 week
* Use a unique malloc type rather than M_DEVBUF.scottl2004-05-301-6/+6
|
* Use __FBSDID().obrien2003-08-241-4/+4
| | | | Also some minor style cleanups.
* Mega busdma API commit.scottl2003-07-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix indentationphk2003-05-311-12/+13
| | | | Found by: FlexeLint
* Add the 'ips' driver for the IBM (now Adaptec) ServeRAID controllerscottl2003-05-111-0/+157
series. This driver was generously developed and released by David Jeffreys and Adaptec. I've updated it to work with 5.x and fixed a few bugs. MFC After: 1 week
OpenPOWER on IntegriCloud