summaryrefslogtreecommitdiffstats
path: root/sys/dev/ips/ips_pci.c
Commit message (Collapse)AuthorAgeFilesLines
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-231-1/+2
| | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@
* Separate the hardware definitions into ipsreg.h so they can be used byscottl2005-11-291-0/+4
| | | | future userland tools.
* Use BUS_PROBE_DEFAULT for pci probe return valueimp2005-03-051-3/+3
|
* Add crashdump support to the ips driver. It only works for the more modernscottl2005-01-301-0/+3
| | | | | | | | | ServeRAID 4 - 7 models right now. Support for older cards is possible, but I don't have any hardware to experiment with. Thanks to Jack Hammer at Adaptec for providing debugging hints. Sponsored by: ImproWare AG, Switzerland
* Lock the IPS driver and bring it out from under Giant. Also do somescottl2005-01-281-3/+6
| | | | | | | | | | | | | | | | 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
* Add generic support for the recent Adaptec flavors of ServeRAID.scottl2004-03-191-4/+12
|
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-3/+6
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* Switch from using mutexes to using semaphores to protect against earlyscottl2004-02-281-1/+3
| | | | | | | completion of synchronous commands. Also switch to a per-array bioq as it appears to improve performance. Submitted by: mbr, imp.ch (bioq change)
* Delay most of the adapter initilization until after interrupts areps2003-09-111-2/+18
| | | | | | enabled. Tested by: Richard Puga <puga@mauibuilt.com>
* Use PCIR_BAR(x) instead of PCIR_MAPS.jhb2003-09-021-3/+3
| | | | | Glanced over by: imp, gibbs Tested by: i386 LINT
* Use __FBSDID().obrien2003-08-241-2/+3
| | | | Also some minor style cleanups.
* - Use the new resource_disabled() helper function to see if devices arejhb2003-07-021-4/+1
| | | | | | | | | | | | disabled. - Change the apm driver to match the acpi driver's behavior by checking to see if the device is disabled in the identify routine instead of in the probe routine. This way if the device is disabled it is never created. Note that a few places (ips(4), Alpha SMP) used "disable" instead of "disabled" for their hint names, and these hints must be changed to "disabled". If this is a big problem, resource_disabled() can always be changed to honor both names.
* 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
* - Zero the buffers used to hold configuration data from the card. Not doingscottl2003-06-261-6/+22
| | | | | | | | | | so can leave stale data in the buffer and confuse the driver. - enable the ability to set the 'disable' hint for the driver to keep it from attaching. i.e. 'hw.ips.0.disable=1' will prevent the driver from attaching. - Only detach if attach suceeded. Submitted by: mjacob
* Add the 'ips' driver for the IBM (now Adaptec) ServeRAID controllerscottl2003-05-111-0/+182
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