Commit Graph

108 Commits

Author SHA1 Message Date
fvdl
dd270d4a3f ifdef NISAPNP -> if NISAPNP > 0 2001-06-19 12:45:23 +00:00
simonb
9ff7681a33 Don't need to include <sys/conf.h> here. 2000-03-29 03:43:31 +00:00
mycroft
4449a6ef39 Kill vestiges of isa_establish(). 1999-02-19 16:15:06 +00:00
mycroft
df9baf2311 Assign copyrights to TNF. 1998-08-15 03:51:30 +00:00
mycroft
6d3d8a1350 Make copyright notices with my name consistent. 1998-08-15 03:02:31 +00:00
christos
b7a585b61d Use the previously committed pnp hook. 1998-07-30 18:03:34 +00:00
leo
d30382ffb4 Don't call isa_dmainit() when NISADMA == 0. 1998-06-11 08:29:33 +00:00
thorpej
ff76b8e96b Change the ISA DMA API to take an isa_chipset_tag_t rather than
a struct device * corresponding to the ISA bus device.  The ISA DMA
controller driver functions have been renamed and now take a struct
isa_dma_state *, and are called indirectly by machine-dependent code
which provides the DMA state.

These changes allow e.g. `ofisa' (the OpenFirmware configuration
mechanism for the ISA bus, used by e.g. Sharks) to use the MI ISA
DMA controller code.
1998-06-09 00:00:21 +00:00
drochner
da5b8105bd Remove BROKEN_INDIRECT_CONFIG relicts. 1998-05-05 21:41:18 +00:00
thorpej
8c1b46c2f5 Remove the `delay port' stuff since nothing uses it anymore (can't reliably
use it on modern chipsets).
1998-04-15 01:44:23 +00:00
thorpej
06ce220790 Update for config changes. 1998-01-12 09:39:57 +00:00
augustss
a50d4ba893 XXX Add a drq2 locator for the ISA bus. Many sound cards need
two DMA channels to do e.g. full-duplex.  This allows
a way of specifying the second channel in a sane way.
THIS IS TEMPORARY.  The drq2 locator will go away when
the locator system has been changed to allow multiple
values per locator.
1997-08-26 19:26:38 +00:00
jtk
26414c7820 use locator defines in "locators.h" to index cf_loc[]
still to be done and/or decided not to be done: replace all *UNK uses in
isa code with the native names from locators.h
1997-07-17 00:58:48 +00:00
thorpej
11e78a6b0d Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:43:45 +00:00
cgd
3573080902 split isasearch (!__BROKEN_INDIRECT_CONFIG) completely off of
isascan (__BROKEN_INDIRECT_CONFIG), and attempt multiple match/attach
of cloning devices in isasearch().  (If a match/attach succeeds for
a cloning device, try it again.)
1997-01-26 03:49:28 +00:00
cgd
74187419b6 The last change fixed a last-minute goof in the __BROKEN_INDIRECT_CONFIG
case, but added a typo (extra parenthesis) in the !__BROKEN_INDIRECT_CONFIG
case.  fix it.
1996-12-08 00:14:03 +00:00
cgd
243ef518d2 fix a (fatal) bug in the __BROKEN_INDIRECT_CONFIG changes checked
in yesterday.  (got a little bit careless with #ifdef'd variables.)
1996-12-05 22:16:04 +00:00
cgd
197d80c63a update these so they compile whether or not __BROKEN_INDIRECT_CONFIG
is defined.
1996-12-05 01:25:23 +00:00
cgd
452ba6e098 restrict the FSTATE_STAR prohibition (and panic) to the i386 only. Cloning
devices actually do make sense on indirect-config busses, because you
might be able to have more than one of the busses!  In addition, they're
useful because they don't require unit numbers to be wired down, so you
could e.g. have vga* at indirect? and vga* at direct?, and have the first
one found be unit number zero.  Finally, devices which can divine their
own ports numbers, etc., actually should be cloning, even if you know you'll
only have one bus that they can live on.
1996-11-23 21:36:44 +00:00
thorpej
769a499800 New bus.h implementation/interface:
- No more distinction between i/o-mapped and memory-mapped
	  devices.  It's all "bus space" now, and space tags
	  differentiate the space with finer grain than the
	  bus chipset tag.
	- Add memory barrier methods.
	- Implement space alloc/free methods.
	- Implement region read/write methods (like memcpy to/from
	  bus space).
This interface provides a better abstraction for dealing with
machine-independent chipset drivers.
1996-10-21 22:34:38 +00:00
christos
86373f8cf9 backout kprintf changes 1996-10-13 01:37:04 +00:00
christos
58953408cb printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:04:48 +00:00
cgd
2a73ef60b7 change cfprint_t type definition to take a const char *, rather than
a char *, because that's what was really intended, and because
if the print function modifies the string, various things could become
unhappy (so the string should _not_ be modified).
1996-08-27 21:53:46 +00:00
thorpej
52e2ab70b0 #include <machine/intr.h> to get IST_* definitions. 1996-05-14 00:31:04 +00:00
mycroft
cec36bf8d5 Use intr.h. 1996-05-12 23:51:23 +00:00
thorpej
e32158478e Correct a couple of comments ... port 0x84 produces a 1.25us delay when
read, not 2.5us.  (I must have been confused; thanks Charles, for
correcting me.)
1996-05-08 23:32:31 +00:00
thorpej
6fb58044fd Map port 0x84 (which is used to generate a 2.6us delay) in isaattach().
Since this port is needed by at least a few drivers, export its i/o handle
via isa_attach_args.
1996-05-05 01:14:07 +00:00
christos
e8a8a6298c - prototype fixes 1996-04-29 20:02:32 +00:00
cgd
e6456e7285 on non-i386 systems, include <machine/intr.h> (per charles's proposal on
tech-kern (?)), to get the IPL_* and IST_* types.  pass the machine-dependent
cookie given at attach time on to sub-devices, so they can use it to access
the interrupt functions properly.
1996-04-11 22:25:44 +00:00
thorpej
6d9ea4cf59 New device attachment scheme:
- split softc size and match/attach out from cfdriver into
	  a new struct cfattach.

	- new "attach" directive for files.*.  May specify the name of
	  the cfattach structure, so that devices may be easily attached
	  to parents with different autoconfiguration semantics.
1996-03-17 00:43:52 +00:00
cgd
b1d3f7607c remember the bus_chipset_tag_t given by our parent, and pass it on to
children.
1996-03-08 20:36:21 +00:00
cgd
3ca5707161 make ISA bus match/attach, and sub-device configuration machine-independent. 1996-02-28 01:43:45 +00:00
mycroft
02317d25bb Make the panic message for ISA clone devices more informative. 1996-01-16 07:52:38 +00:00
mycroft
3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
cgd
da5b5dfa63 make match/attach routines and cfdriver struct mi 1995-06-07 06:46:04 +00:00
cgd
3ebc44f6e1 isa softc structs are larger than 'struct device' 1995-05-17 02:07:03 +00:00
cgd
8a640328ed clean up several ISA device interfaces: autoconfiguration, header
inclusion, and interrupt configuration.  more work still needs to be done,
but it's getting better...
1995-04-17 12:06:30 +00:00
mycroft
fcdbd2bd7b Remove outdated comment. 1995-01-16 10:36:26 +00:00
mycroft
2d5b04744a Don't assume ia_maddr is in the hole. 1995-01-02 20:06:29 +00:00
mycroft
9a3840f2f0 Stylistic changes. 1994-11-18 22:25:12 +00:00
mycroft
35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +00:00
mycroft
b341f7a8c0 Map IRQ 2 to IRQ 9. 1994-11-14 23:58:56 +00:00
mycroft
29414c5a0a Change all of the uses of IRQ{0-15} and bit masks to use plain numbers
rather than bit shifting.
1994-11-04 18:34:50 +00:00
mycroft
9af4fee97d Use kvtop() rather than address arithmetic in a couple of places. 1994-11-04 08:55:53 +00:00
mycroft
1948fcb3fa Add a new function config_scan(), which just calls a particular function
with each plausibly cfdata, ignoring the priority mechanism completely.
1994-11-04 06:40:11 +00:00
mycroft
2e8ae560f6 Commit incest with the config system for this one specific case. 1994-11-04 03:57:32 +00:00
mycroft
fa769b0e97 Set ia_irq correctly. 1994-11-04 02:55:32 +00:00
mycroft
7773b21b74 Correct an oversight. 1994-11-04 00:53:06 +00:00
mycroft
d4dd538296 Oops; forgot isacd. 1994-11-04 00:07:39 +00:00
mycroft
3fca7e771a New version using standard config_*() functions. 1994-11-03 23:53:19 +00:00