aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ips
Commit message (Collapse)AuthorAgeFilesLines
* This commit was manufactured by cvs2svn to create tagrelease/7.0.0_cvscvs2svn2008-02-249-9/+9
| | | | | | 'RELENG_7_0_0_RELEASE'. This commit was manufactured to restore the state of the 7.0-RELEASE image.
* o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati2007-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@ Notes: svn path=/head/; revision=166901
* o Add Adaptec ServeRAID 7x IDs. IDs taken from Linux.Maxim Konovalov2006-10-052-2/+8
| | | | | | | | | PR: kern/90012 Submitted by: Andrey V. Elsukov MFC after: 1 month Notes: svn path=/head/; revision=163024
* while (0); -> while (0) in multi-line macrosWarner Losh2006-08-171-1/+1
| | | | Notes: svn path=/head/; revision=161425
* Since DELAY() was moved, most <machine/clock.h> #includes have beenPoul-Henning Kamp2006-05-161-1/+0
| | | | | | | unnecessary. Notes: svn path=/head/; revision=158651
* Shuffle some definitions so that this can be included from userland.Scott Long2006-01-031-5/+11
| | | | Notes: svn path=/head/; revision=154006
* Add some more data structures and definitions for communicating with theScott Long2006-01-031-1/+72
| | | | | | | ServeRAID firmware. Notes: svn path=/head/; revision=154005
* Separate the hardware definitions into ipsreg.h so they can be used byScott Long2005-11-297-309/+351
| | | | | | | future userland tools. Notes: svn path=/head/; revision=152919
* Fix build.Gleb Smirnoff2005-09-271-1/+1
| | | | Notes: svn path=/head/; revision=150611
* Report status in hex, not decimal.Scott Long2005-09-271-1/+1
| | | | Notes: svn path=/head/; revision=150602
* Overhaul error handling in the IPS driver. Don't use a magic value forScott Long2005-09-255-73/+102
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=150535
* Remove bus_{mem,p}io.h and related code for a micro-optimization on i386Yoshihiro Takahashi2005-05-292-2/+0
| | | | | | | | | and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr) Notes: svn path=/head/; revision=146734
* Remove an extra mutex unlock in the morpheus interrupt handler.Scott Long2005-04-261-1/+4
| | | | | | | | | PR: 80246 Submitted by: Dean Strik MFC After: 3 days Notes: svn path=/head/; revision=145545
* Use BUS_PROBE_DEFAULT for pci probe return valueWarner Losh2005-03-051-3/+3
| | | | Notes: svn path=/head/; revision=143160
* Add crashdump support to the ips driver. It only works for the more modernScott Long2005-01-304-15/+176
| | | | | | | | | | | | 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 Notes: svn path=/head/; revision=141062
* Remove all of the spl() markers.Scott Long2005-01-281-27/+0
| | | | Notes: svn path=/head/; revision=140924
* Lock the IPS driver and bring it out from under Giant. Also do someScott Long2005-01-286-234/+149
| | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=140923
* Do the dreaded s/dev_t/struct cdev */Poul-Henning Kamp2004-06-162-4/+4
| | | | | | | Bump __FreeBSD_version accordingly. Notes: svn path=/head/; revision=130585
* Change the return value of sema_timedwait() so it returns 0 onJohn Polstra2004-06-141-3/+3
| | | | | | | | | | | | | | success and a proper errno value on failure. This makes it consistent with cv_timedwait(), and paves the way for the introduction of functions such as sema_timedwait_sig() which can fail in multiple ways. Bump __FreeBSD_version and add a note to UPDATING. Approved by: scottl (ips driver), arch Notes: svn path=/head/; revision=130481
* Add missing <sys/module.h> includesPoul-Henning Kamp2004-05-301-0/+1
| | | | Notes: svn path=/head/; revision=129879
* Use a unique malloc type rather than M_DEVBUF.Scott Long2004-05-304-31/+35
| | | | Notes: svn path=/head/; revision=129859
* Fix typo in the device id for the new cards.Scott Long2004-03-271-1/+1
| | | | Notes: svn path=/head/; revision=127487
* Add generic support for the recent Adaptec flavors of ServeRAID.Scott Long2004-03-192-4/+14
| | | | Notes: svn path=/head/; revision=127205
* Convert callers to the new bus_alloc_resource_any(9) API.Nate Lawson2004-03-171-3/+6
| | | | | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde Notes: svn path=/head/; revision=127135
* Switch from using mutexes to using semaphores to protect against earlyScott Long2004-02-285-52/+65
| | | | | | | | | | completion of synchronous commands. Also switch to a per-array bioq as it appears to improve performance. Submitted by: mbr, imp.ch (bioq change) Notes: svn path=/head/; revision=126364
* Device megapatch 4/6:Poul-Henning Kamp2004-02-211-0/+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. Notes: svn path=/head/; revision=126080
* Change the disk(9) API in order to make device removal more robust.Poul-Henning Kamp2004-02-182-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the "struct disk" were owned by the device driver and this gave us problems when the device disappared and the users of that device were not immediately disappearing. Now the struct disk is allocate with a new call, disk_alloc() and owned by geom_disk and just abandonned by the device driver when disk_create() is called. Unfortunately, this results in a ton of "s/\./->/" changes to device drivers. Since I'm doing the sweep anyway, a couple of other API improvements have been carried out at the same time: The Giant awareness flag has been flipped from DISKFLAG_NOGIANT to DISKFLAG_NEEDSGIANT A version number have been added to disk_create() so that we can detect, report and ignore binary drivers with old ABI in the future. Manual page update to follow shortly. Notes: svn path=/head/; revision=125975
* Remove the static major assignment for ips(4).Scott Long2004-02-141-2/+0
| | | | | | | Submitted by: phk, inspired by others. Notes: svn path=/head/; revision=125833
* Use same style for cdevsw as the rest of our drivers.Poul-Henning Kamp2004-02-141-5/+5
| | | | Notes: svn path=/head/; revision=125808
* Fixed a memory leak.Ruslan Ermilov2004-01-181-0/+1
| | | | | | | | Reported by: Stanford Metacompilation research group Reviewed by: scottl Notes: svn path=/head/; revision=124680
* The reset_type should not be 0x80, it should be set to zero.Martin Blapp2004-01-011-1/+1
| | | | | | | | | | | 0x80 can cause the command to be rejected as invalid. This bug exists also in the Linux IPS ffdc code. Submitted by: David Jeffery MFC after: 1 week Notes: svn path=/head/; revision=124040
* ServeRaid (at least 5i) didn't initialize correctly. To getMartin Blapp2003-11-273-4/+211
| | | | | | | | | | | | | | | | | | | | | | | | them working (cache, automatic rebuild and hotswap) the FFDC info (First Failure Data Capture) on the adapter must be initialised. Logical drives in critical/degraded states weren't added to the drive list. FreeBSD was not able to see a degraded array after a reboot. Degraded drives are now also added to the drivelist and the state of the logical drive is given at boottime. The adapter type is detected from informations in nvram page 5 and displayed at boottime. Change IPS_OS_FREEBSD definition from 10 to 8 according to IBM specs. Submitted by: <Patrick Guelat> pgfb@imp.ch Reviewed by: mbr, scottl Approved by: re Notes: svn path=/head/; revision=122999
* Eliminate reporting of bio_blkno.Poul-Henning Kamp2003-10-181-2/+2
| | | | Notes: svn path=/head/; revision=121211
* Add an off_t cast to prevent overflow on media size. This shouldNate Lawson2003-09-221-1/+1
| | | | | | | | | fix issues with geometry not matching drive size. Submitted by: Clive Lin <clive@tongi.org> Notes: svn path=/head/; revision=120329
* Delay most of the adapter initilization until after interrupts arePaul Saab2003-09-112-2/+19
| | | | | | | | | enabled. Tested by: Richard Puga <puga@mauibuilt.com> Notes: svn path=/head/; revision=119997
* Use PCIR_BAR(x) instead of PCIR_MAPS.John Baldwin2003-09-021-3/+3
| | | | | | | | Glanced over by: imp, gibbs Tested by: i386 LINT Notes: svn path=/head/; revision=119690
* Use __FBSDID().David E. O'Brien2003-08-245-18/+16
| | | | | | | Also some minor style cleanups. Notes: svn path=/head/; revision=119418
* Prefer new location of pci include files (which have only been in theWarner Losh2003-08-222-4/+4
| | | | | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD. Notes: svn path=/head/; revision=119280
* - Use the new resource_disabled() helper function to see if devices areJohn Baldwin2003-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. Notes: svn path=/head/; revision=117167
* Mega busdma API commit.Scott Long2003-07-014-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=117126
* Fix pointer/int warnings so this compiles on amd64. The driver wantsPeter Wemm2003-06-273-4/+4
| | | | | | | | | | to store an int in the bio->bio_driver1 (a void *). It is big enough, but you have to match the int sizes first before doing the cast. Glanced at by: scottl Notes: svn path=/head/; revision=116931
* - Zero the buffers used to hold configuration data from the card. Not doingScott Long2003-06-264-15/+38
| | | | | | | | | | | | | 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 Notes: svn path=/head/; revision=116852
* Fix indentationPoul-Henning Kamp2003-05-311-12/+13
| | | | | | | Found by: FlexeLint Notes: svn path=/head/; revision=115554
* Add the 'ips' driver for the IBM (now Adaptec) ServeRAID controllerScott Long2003-05-118-0/+2364
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 Notes: svn path=/head/; revision=114902