summaryrefslogtreecommitdiffstats
path: root/sys/dev/pst
Commit message (Collapse)AuthorAgeFilesLines
* Temporarily revert the new-bus locking for 8.0 release. It will bejhb2009-08-201-2/+0
| | | | | | reintroduced after HEAD is reopened for commits by re@. Approved by: re (kib), attilio
* Make the newbus subsystem Giant free by adding the new newbus sxlock.attilio2009-08-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races. Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped. For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens. Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing. Bump __FreeBSD_version in order to reflect the newbus lock introduction. Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith)
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-231-1/+1
| | | | | | | | | | | | | 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@
* Use BUS_PROBE_DEFAULT for pci probe return valueimp2005-03-051-2/+2
|
* Use the correct type for iop_attach().stefanf2004-10-032-4/+6
|
* Flush the queue of minor fixes to pst.sos2004-09-153-5/+3
|
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-3/+3
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* Change the disk(9) API in order to make device removal more robust.phk2004-02-181-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* Dont re-arm the timeout twice on a timeout error.sos2003-09-081-5/+0
| | | | | | | The problem with the first timeout still exsists though, but not it doesn't enter a groundbound spin loop :) Found by: Aaron Smith <aaron@mutex.org>
* Use __FBSDID().obrien2003-08-243-6/+9
| | | | Also some minor style cleanups.
* Prefer new location of pci include files (which have only been in theimp2003-08-223-6/+6
| | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
* Pull the pst driver out from under GAINT.sos2003-04-284-75/+151
|
* Instead of not grapping a request binfinish(ENOMEM) it if malloc fails.sos2003-04-021-1/+2
|
* Use bioq_flush() to drain a bio queue with a specific error code.phk2003-04-011-2/+2
| | | | | | | | Retain the mistake of not updating the devstat API for now. Spell bioq_disksort() consistently with the remaining bioq_*(). #include <geom/geom_disk.h> where this is more appropriate.
* Centralize the devstat handling for all GEOM disk device driversphk2003-03-081-12/+4
| | | | | | | | 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.
* NO_GEOM cleanup:phk2003-02-251-25/+12
| | | | | | | Move to "struct disk *" centric API. Add NULL check to a malloc(9) return value. Ok'ed by: sos
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-011-7/+7
| | | | especially in troff files.
* Fxi support for the Promise SuperTrak 100, the PCI id was wrong.sos2002-12-201-2/+2
|
* Fix so it compiles with the new disklabel stuff.sos2002-09-271-5/+5
|
* use __packed.alfred2002-09-231-25/+25
|
* (This commit touches about 15 disk device drivers in a very consistentphk2002-09-201-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and predictable way, and I apologize if I have gotten it wrong anywhere, getting prior review on a patch like this is not feasible, considering the number of people involved and hardware availability etc.) If struct disklabel is the messenger: kill the messenger. Inside struct disk we had a struct disklabel which disk drivers used to communicate certain metrics to the disklayer above (GEOM or the disk mini-layer). This commit changes this communication to use four explicit fields instead. Amongst the benefits is that the fields do not get overwritten by wrong or bogus on-disk disklabels. Once that is clear, <sys/disk.h> which is included in the drivers no longer need to pull <sys/disklabel.h> and <sys/diskslice.h> in, the few places that needs them, have gotten explicit #includes for them. The disklabel inside struct disk is now only for internal use in the disk mini-layer, so instead of embedding it, we malloc it as we need it. This concludes (modulus any mistakes) the series of disklabel related commits. I belive it all amounts to a NOP for all the rest of you :-) Sponsored by: DARPA & NAI Labs.
* Fix args for contigmalloc, cosmetics.sos2002-08-183-85/+88
|
* Finally first shot at a driver for the Promise SuperTrak SX6000 ATA RAIDsos2002-07-314-0/+1599
controller. Some testing has already been done, but its still greenish. RAID's has to be setup via the BIOS on the SuperTrak, but all RAID types are supported by the driver. The SuperTrak rebuilds failed arrays on the fly and supports spare disks etc etc... Add "device pst" to your config file to use. As usual bugsreports, suggestions etc are welcome... Development sponsored by: Advanis Hardware donated by: Promise Inc.
OpenPOWER on IntegriCloud