Commit Graph

12 Commits

Author SHA1 Message Date
John Baldwin
04dd49d0a2 Add locking to the bt(4) driver and mark it MPSAFE.
- 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.
- Return an errno value from bt_eisa_attach() if an error occurs rather
  than -1.
- Use BUS_PROBE_DEFAULT rather than 0.

Tested by:	no one
2012-10-15 16:13:55 +00:00
Matt Jacob
b3d93fd0c9 Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.
PR:		106543
MFC after:	3 days
2006-12-11 18:28:31 +00:00
Poul-Henning Kamp
592da135e7 #include <isa/isavar.h> instead of <i386/isa/isa_dma.h> 2004-09-15 11:58:34 +00:00
Nate Lawson
5f96beb9e0 Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by:	Mark Santcroos <marks@ripe.net>
Reviewed by:	imp, dfr, bde
2004-03-17 17:50:55 +00:00
David E. O'Brien
aad970f1fe Use __FBSDID().
Also some minor style cleanups.
2003-08-24 17:55:58 +00:00
Scott Long
f6b1c44d1f Mega busdma API commit.
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
2003-07-01 15:52:06 +00:00
Matthew N. Dodd
563d4d8656 Clean up argument comments for bus_dma_tag_create() calls. 2003-03-29 09:46:10 +00:00
Peter Wemm
16c1138c89 Change BUS_SPACE_UNRESTRICTED (~0ul) to plain ~0 when used in the
'int nsegments' argument to bus_dma_tag_create().  ~0ul does not fit in
an int on machines with 64 bit longs.
2002-10-09 08:54:32 +00:00
Matthew N. Dodd
8a28315fb6 - Restore correct operation of bt_mca.
- Work around a problem not yet solved in the tree (but solved in mine.)

	device_get_ivars() should never be cast to a struct resource_list *
	The solution, under review, involves the creation of a
	device_get_resource_list() function.  More later.
1999-10-09 04:02:02 +00:00
Matthew N. Dodd
fad05b4cf4 Sync with recent changes to the MCA bus code. Resource IVARS went
away.
1999-10-08 13:02:34 +00:00
Matthew N. Dodd
d8accb14bd mca_add_{iospace,mspace}() no longer takes a 4th arg. 1999-09-26 07:16:01 +00:00
Matthew N. Dodd
fdfd9f2f70 This adds support for the Buslogic/Bustek/Storage Dimensions
MCA SCSI adapters.

bt_mca.c is going to live in sys/dev/buslogic instead of sys/dev/mca
as per a conversation with Peter, Doug and Mike.

Thanks to Andy Farkas <andyf@speednet.com.au> for being such a good
sport and doing all the testing for me (as I don't actually own one
of these cards.  Yet.)
1999-09-03 03:50:55 +00:00