summaryrefslogtreecommitdiffstats
path: root/sys/dev/dpt/dpt_eisa.c
Commit message (Collapse)AuthorAgeFilesLines
* Add locking to the dpt(4) driver and mark it MPSAFE.jhb2012-10-151-14/+6
| | | | | | | | | | | - Use device_printf() and device_get_unit() instead of storing the unit number in the softc. - Remove use of explicit bus space handles and tags. - Remove the global dpt_softcs list and use devclass_get_device() instead. - Use pci_enable_busmaster() rather than frobbing the PCI command register directly. Tested by: no one
* Prepare for future integration between CAM and newbus. xpt_bus_registerscottl2007-06-171-0/+1
| | | | | | | now takes a device_t to be the parent of the bus that is being created. Most SIMs have been updated with a reasonable argument, but a few exceptions just pass NULL for now. This argument isn't used yet and the newbus integration likely won't be ready until after 7.0-RELEASE.
* 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@
* Wrap the EISA-specific parts of the dpt(4) and si(4) back-ends inmarius2007-01-181-0/+2
| | | | | | | the newly added DEV_EISA. This is done so that these back-ends can be compiled on platforms not providing in{b,w,l}()/out{b,w,l}() and friends (but may wish to use them together with bus front-ends other than the EISA one).
* Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.mjacob2006-12-111-0/+2
| | | | | PR: 106543 MFC after: 3 days
* Remove bus_{mem,p}io.h and related code for a micro-optimization on i386nyan2005-05-291-1/+0
| | | | | | and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr)
* remove gratuitous null ptr checksam2005-02-241-2/+1
| | | | Noticed by: Coverity Prevent analysis tool
* Use __FBSDID().obrien2003-08-241-1/+3
| | | | Also some minor style cleanups.
* Mega busdma API commit.scottl2003-07-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | 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
* - Track resources in our softc.mdodd2003-03-291-37/+22
| | | | | | | | | | - Sanitize dpt_alloc(). - Add helper functions for resource alloc/release. - Add detach method. - Relocate definition of devclass_t. - Move some debugging output behind bootverbose. - Implement an identify method for ISA devices but don't use it right now.
* Change BUS_SPACE_UNRESTRICTED (~0ul) to plain ~0 when used in thepeter2002-10-091-1/+1
| | | | | 'int nsegments' argument to bus_dma_tag_create(). ~0ul does not fit in an int on machines with 64 bit longs.
* Turn on interrupt-entropy harvesting for all/any mass storage devicesmarkm2001-03-011-1/+2
| | | | | | | I could find. I have no doubt missed a couple. Interrupt entropy harvesting is still conditional on the kern.random.sys.harvest_interrupt sysctl.
* - Convert dpt_pci.c to newbus.mdodd2000-04-071-113/+86
| | | | | | | | | | | | | - Add support for ISA based DPT adapters (this doesn't quite work yet). - Sync dpt_eisa.c with my local copy. - Simplify how EISA IDs are matched. - Prototype. - Formatting nits. - Conform to how I do things in dpt_pci.c/dpt_isa.c. - Modify dpt_scsi.c:dpt_alloc() to DTRT with newbus. - Add some comments to dpt_scsi.c:dpt_pio_get_conf(). - Add additional check to dpt_scsi.c:dpt_get_conf(). - Add some useful error messages to dpt_scsi.c:dpt_init().
* Remove #include "eisa.h" and #if NEISA > 0 as it's only ever compiledpeter2000-01-291-4/+0
| | | | if NEISA is > 0 as guaranteed by config.
* Pre 4.0 tidy up.peter2000-01-141-1/+1
| | | | | | | | | | | | Collect together the components of several drivers and export eisa from the i386-only area (It's not, it's on some alphas too). The code hasn't been updated to work on the Alpha yet, but that can come later. Repository copies were done a while ago. Moving these now keeps them in consistant place across the 4.x series as the newbusification progresses. Submitted by: mdodd
* - Implement a simple PIO driven function for retreiving the onboardmdodd1999-10-091-35/+29
| | | | | | | | | | | | | configuration information from a DPT card at a given port. This is needed by the ISA bus front end (still to come) and the EISA bus front end (which hasn't ever worked). - Blow away dpt_eisa.h as the information it contains does not justify an additional file. - Convert dpt_eisa.c to use the onboard config instead of trying to read the EISA configuration registers.
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Properly set the alignment argument to bus_dma_tag_create(). If wegibbs1999-08-161-2/+2
| | | | don't care about the alignment, set it to 1, meaning single byte alignment.
* Move the specification of EDGE/LEVEL triggered interrupts tomdodd1999-08-011-10/+11
| | | | | | | | | | | | | | | | | eisa_add_intr() which now takes an additional arguement (one of EISA_TRIGGER_LEVEL or EISA_TRIGGER_EDGE). The flag RR_SHAREABLE has no effect when passed to bus_alloc_resource(dev, SYS_RES_IRQ, ...) in an EISA device context as the eisa_alloc_resource() call (bus_alloc_resource method) now deals with this flag directly, depending on the device ivars. This change does nothing more than move all the 'shared = inb(foo + iobsse)' nonesense to the device probe methods rather than the device attach. Also, print out 'edge' or 'level' in the IRQ announcement message. Reviewed by: dfr
* Move the declaration of the interrupt type from the driver structuredfr1999-05-081-3/+2
| | | | to the BUS_SETUP_INTR call.
* Implement an EISA new-bus framework. The old driver probe mechanismpeter1999-04-181-99/+93
| | | | | | | | | had a quirk that made a shim rather hard to implement properly and it was just easier to convert the drivers in one go. The changes to the buslogic driver go beyond just this - the whole driver was new-bus'ed including pci and isa. I have only tested the EISA part of this so far. Submitted by: Doug Rabson <dfr@nlsystems.com>
* Conver the DPT driver to CAM. The dpt_control interface is not yetgibbs1998-09-151-321/+85
| | | | functional, but will be in another day or so.
* MF22: Shut this thing up by default.jkh1998-08-091-2/+2
|
* Include "eisa.h" and only provide code if NEISA > 0.gibbs1998-05-171-1/+4
|
* Add EISA support for DPT driversjulian1998-03-111-0/+500
Submitted by: Matthew Dodd Reviewd by: shimon@simon-shapiro.org (DPT author)
OpenPOWER on IntegriCloud