Commit Graph

1014 Commits

Author SHA1 Message Date
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
f004654691 Update Herb's e-mail address; beer.org feels a lot more friendly. 1996-05-10 05:27:53 +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
1040e97175 If accessing shared memory on a 16-bit card, be careful not to do any
8-bit memory access; some cards, notably some WD/SMC cards, can't handle
8-bit access if 16-bit access has been enabled.
1996-05-08 22:09:18 +00:00
is
817e0b8d97 Fix a typo. 1996-05-08 17:29:40 +00:00
thorpej
15354e899c Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_reset)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:55:13 +00:00
thorpej
7b3f25271d Make the MI LANCE driver standalone, and use cfattach to resolve
naming conflicts between bus attachments on ports that can have
multiple instances of the LANCE.

Break up ISA LANCE driver into ISA and PCI front-ends.

Changed struct ifnet to have a pointer to the softc of the underlying
device and a printable "external name" (name + unit number), thus eliminating
if_name and if_unit.  Updated interface to (*if_watchdog)() and (*if_start)()
to take a struct ifnet *, rather than a unit number.
1996-05-07 01:50:04 +00:00
is
95f41d24cc Add "iy" driver for Ethernet ISA boards using the Intel i82595 chip, e.g.
(and only tested on) Intel Etherexpress PRO. Should work on any i82595 ISA
board which uses an EEPROM for config information; NETBLKID not yet supported.
TODO: change to BUS interface, add multicast support.
1996-05-06 21:36:51 +00:00
christos
d53d6cd545 Move comintr() prototype to comvar.h; needed by the multi-port cards. 1996-05-05 19:50:44 +00:00
christos
d21e608c6b Make those compile again; they were missing a declaration for bc.
Also fix prototypes.
1996-05-05 19:49:51 +00:00
thorpej
0bc154b367 Fix a bug I introduced when converting the driver to <machine/bus.h>.
Use the i/o handle for the `delay port' exported from the parent
ISA bus, rather than the totally bogus combination of [ioh, 0x84].
Also, fix a bug apparently introduced when the -Wall changes were checked
in which, under most circumstances, would cause a 16-bit WD8013EP to
be mis-identified as an 8-bit WD8003EP.
1996-05-05 01:28:52 +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
mycroft
0808320ac1 Fix a trivial typo. 1996-05-05 00:40:01 +00:00
jtk
0817b1b518 make it work with GUSPLAYDEBUG defined 1996-05-03 22:35:24 +00:00
christos
1a7708a2a2 - Fix random return value in the probe function.
- Add <sys/systm.h> to get prototypes
1996-05-03 19:06:25 +00:00
christos
c3c1caa12a Remove unused err label; simplify the code in ed_probe_Novell 1996-05-03 19:05:30 +00:00
christos
05dbb85594 cleanup the memh mess:
- remove it from the Novell probe.
- cleanup the 3com probe.
1996-05-03 17:29:29 +00:00
thorpej
9d91d0f742 Convert the Etherlink III (ep) driver to use <machine/bus.h>.
For the ISA probe, implement a way to keep track of which ISA busses
have been through an ep_isa probe; the static variable that was used
before didn't scale.
1996-04-30 22:27:58 +00:00
thorpej
d614ab5859 Update the 3c507 probe to the new interfaces used by elink_reset()
and elink_idseq().
XXX This is just a kludge until the entire driver is converted to use
<machine/bus.h>
1996-04-30 22:21:54 +00:00
thorpej
91b4a6d401 Adapt the elink_reset() and elink_idseq() routines for <machine/bus.h>.
In elink_reset(), since some machines may have more than one ISA bus,
implement a way of keeping track of which ISA bus has received an
elink_reset(); The static variable which was used previously didn't
scale.
1996-04-30 22:16:27 +00:00
christos
a1609dc859 - Fix gcc -Wall warnings
- BUG: if (error = ...() == EWOULDBLOCK)
1996-04-29 20:30:48 +00:00
christos
1c86bef3bc Fix gcc -Wall warnings. 1996-04-29 20:28:40 +00:00
christos
e8a8a6298c - prototype fixes 1996-04-29 20:02:32 +00:00
christos
d0987b1ee9 - prototype fixes
- BUG: changed:
	   val &= CD_POL_MASK;
	   val |  CD_POL_BIT;  /* XXX if (pol) */
  to:
	   val &= CD_POL_MASK;
	   val |= CD_POL_BIT;  /* XXX if (pol) */
1996-04-29 20:00:39 +00:00
christos
27292adc4c - gcc -Wall fixes 1996-04-29 19:50:47 +00:00
christos
c32e566f6c - missing argument in printf
- gcc -Wall fixes
1996-04-29 19:48:26 +00:00
christos
f1dd12ed4e Prototype fixes 1996-04-29 19:45:32 +00:00
is
07beed1117 Fix an obvious typo (wrong sign of test). At the same time, make the early
probe printf prefix unambiguous.
1996-04-25 18:54:45 +00:00
thorpej
aff40e2a72 Break up the ep driver into isa, eisa, and pci front-ends and a
bus-independent core driver.  Tested on all three bus types, including
an isa 3c509 masquerading as an eisa device (use ep* at eisa? slot ? in
your kernel config file to catch this one).
XXX Driver still needs to be converted to <machine/bus.h>
1996-04-25 02:15:42 +00:00
christos
b57c554d06 Add a hardware dependent initialization function lehwinit() 1996-04-22 02:53:28 +00:00
christos
d7b610dca6 Fix 3c590 to use the new pci interface; the pci compat code changes were
slightly biffed.
1996-04-19 00:01:19 +00:00
cgd
d7d306aeb7 change LANCE copy & zero functions' names to start with amd7990_, and
remove their 'integrate' (usually defined to be 'static') keywords.
when lance drivers are split up by attachment, more than one file will
reference the copy/zero functions (i.e. not just the file that pulls in
am7990.c... and eventually inclusion of am7990.c should go away entirely).
1996-04-18 00:25:11 +00:00
cgd
a610e9d471 include <sys/termios.h> to make comvar.h happy 1996-04-15 18:55:23 +00:00
cgd
b6549d493d define and export the global variable "comconscflag", the default tty
'cflag' for the console.  Normally set to TTYDEF_CFLAG, may be
overridden by machine-dependent console attachment code, as necessary.
(Alpha uses it to set cs8 -parenb.)  Files including comvar.h now
need to include <sys/termios.h>, because comconscflag is of type
tcflag_t.
1996-04-15 18:54:31 +00:00
cgd
51e85d07b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:27:59 +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
cgd
a391172983 include a machine-specific header from ARCH/isa/isa_machdep.h, to define
the isa_chipset_tag_t type, and to define or prototype:
	isa_attach_hook()
	isa_intr_establish()
	isa_intr_disestablish()
i.e. the machine-dependent functions to be used my MI ISA code.
Remove prototypes for the latter two functions from this file.
1996-04-11 22:20:50 +00:00
cgd
789a455ab4 if no DDB, define Debugger() to be a panic. 1996-04-10 23:01:13 +00:00
mycroft
0609135a66 Add explicit return types. 1996-04-10 19:03:46 +00:00
thorpej
43411d2e96 Convert to use <machine/bus.h>. 1996-04-09 00:46:15 +00:00
mycroft
740637ad71 If we dequeue a packet due to excessive collisions, make sure we check
to see if the queue length has dropped to 0.
1996-04-08 19:02:19 +00:00
cgd
402f77d443 remove tricky open-coded variants of config_found(), by using the
child device pointer now returned by config_found().  (previously,
the code played games to get that pointer; now they are unnecesary.)
1996-04-04 07:08:10 +00:00
mycroft
9c6e05d835 Minor optimization, and do a CLRCH after (re)selection just to be safe. 1996-04-03 15:58:13 +00:00
mycroft
b82447e3e1 * Change message priorities so that ABORT comes after IDENTIFY.
* Add an ACB_RESET flag, so that a BUS DEVICE RESET can be queued within the
driver.
* If ACB_ABORT or ACB_RESET is set during reselection, schedule a message and
assert ATN.
* Optimize aic_datain_pio(), aic_dataout_pio() and aicintr() somewhat.
* Schedule a timeout only when we select the target, so that commands can't
time out prematurely.
1996-04-03 10:33:45 +00:00
mycroft
70f35ac052 Don't wait for a command complete interrupt when enabling mailbox out
interrupts.
1996-04-03 09:45:45 +00:00
mycroft
f0d8cbb1cb Don't wait for the host adapter to be idle before enabling or disabling
mailbox out interrupts.
1996-04-03 08:48:46 +00:00
mycroft
d0742ed3c5 Several things:
1) If we get an unexpected disconnect, issue a REQUEST SENSE, as recommended
by the SCSI-2 spec.  If the target created a contingent allegiance condition,
this will clear it.  Also, if it happened while sending a SDTR or WDTR message,
disable negotiation for that target.
2) Since some lame devices still don't deal correctly, make sure we deassert
ATN if our last message out is interrupted.  If we get a MESSAGE PARITY ERROR,
we'll reassert ATN anyway.  This should ensure that we never have to send a
MESSAGE NO OPERATION.
3) Set AIC_ABORTING only when actually sending a BUS DEVICE RESET or ABORT,
so we get better error detection.
4) Other internal reorganization of no consequence.
1996-04-01 07:24:37 +00:00
jtk
55960650f7 add include file for function prototypes 1996-03-31 22:50:11 +00:00
mycroft
004f5e8d39 Fix a slight biff with 16-bit DMA in last change. 1996-03-31 20:51:43 +00:00
mycroft
778f21db6a Use `{in.out}b(iobase + ...' rather than including the base address in
the register definitions.
1996-03-30 16:13:24 +00:00
mycroft
72f4fb5692 Fix return type of wds_sense(). 1996-03-30 07:40:11 +00:00
mycroft
78681855e4 This version is deprecated. 1996-03-30 05:36:32 +00:00
mycroft
59e1daefcd Working WD7000 and TMC-7000 driver, from Julian Highfield, with additional work by me.
Needs some refinement, but it works.
1996-03-29 20:53:30 +00:00
mycroft
44baed59ef Fix the mailbox unlock code for CF and CP. 1996-03-28 18:19:05 +00:00
cgd
dbdbd735b8 Update these (as minimally as possible) to work with new PCI interfaces:
(1) make pci functions take as an argument a machine-dependent
	    cookie, to allow more flexibility in implementation.
(use of other PCI functions, etc., left unchanged.)
1996-03-27 04:03:05 +00:00
mycroft
8d60d04ffa Remove dead variables. 1996-03-25 07:11:12 +00:00
mycroft
3ab38e9ad4 Display the right sync period for fast devices. 1996-03-25 00:18:09 +00:00
mycroft
dac7f9a885 Fix up a couple of printf()s. 1996-03-24 22:23:56 +00:00
mycroft
e2f1ed6ef2 Various, including:
* Display as much revision info as we can get.
* Fix a race condition that could cause interrupts to be lost.
* Handle `out of mailbox' conditions (much) more gracefully.
* Schedule timeouts more safely.
* Add diagnostic code to (correctly) detect if a CCB times out before its
outgoing mailbox is emptied.
1996-03-24 22:20:41 +00:00
mycroft
78de5226a1 lto3b -> _lto3b 1996-03-19 03:28:45 +00:00
cgd
b55176ea0c since this driver tries to block its interrupt with spltty(), it must
attach that interrupt with IPL_TTY.
1996-03-18 09:14:32 +00:00
cgd
b5c1728e22 clean up <machine/bus.h> changes a bit; no real functional change.
prototype lpt_port_test().
1996-03-17 13:40:29 +00:00
cgd
179f65d15e Add #ifdef's at the right places, on NCOM_ISA and NCOM_COMMULTI, to
only include the relevant code in the probe & attach functions.  Still
one probe and one attach function, with #ifdefs, but this is a step
in the right direction and saves a few hundred bytes (ooh, ahh!).
1996-03-17 13:38:14 +00:00
cgd
94907fa254 adjust to deal with expression support for optional file specs 1996-03-17 13:21:09 +00:00
cgd
9d4db41a9f change the name of com's attachment to commulti, and provide flags
for that and the isa attachment in com.h (in addition to the flag for
the presence of 'com' itself).
1996-03-17 07:30:25 +00:00
thorpej
de7c200585 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:53:54 +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
9f762df4e4 clean up a comment, delete unnecessary local variable in probe 1996-03-17 00:26:12 +00:00
cgd
88b335392c rename asic_addr and nic_addr to asic_base and nic_base, in softc, as
they're base I/O ports, not really addresses.  rather than using those
softc fields directly, assign local variables (asicbase, nicbase) to have
their values, and use those.  (consistency, plus better optimization
potential in some cases.)
1996-03-16 07:24:15 +00:00
cgd
87abc9cdc7 Move contents of edprobe() into ed_find() -- they'll be used by edattach()
eventually.  rename the probe functions for the various boards to 'find' for
consistency/correctness (but the generic8390 check is still a 'probe').
Add protos for ed_find(), ed_probe_generic8390(), ed_find_WD80x3(),
ed_find_3Com(), and ed_find_Novell().  Fix one minor space nit.
1996-03-16 06:41:20 +00:00
cgd
4beac8eab6 convert NIC_GET and NIC_PUT to take NIC base port address, rather than softc. 1996-03-16 06:18:39 +00:00
cgd
f3bac4c1fb print out hardware type, and print firmware version more precisely.
Information about structures & commands to do this gleaned from
the FreeBSD bt driver.
1996-03-16 05:33:28 +00:00
cgd
c3361cbc2c prototype bt_cmd(), using varargs/stdarg (ooh, ahh!). Fix up resulting
pointer warnings.
1996-03-16 04:37:40 +00:00
jtk
8b3873367f add MediaVision Jazz16 chipset support. It must be configured with
'flags 1' on the sb? kernel configuration file line (because it frobs a
noncontiguous IO port to configure the Jazz16 extensions).

Also, remove static sb_device structure and fill in user's buffer on
each request.
1996-03-16 04:00:09 +00:00
cgd
76f1f884eb convert to not assume existence of softc at probe time. 1996-03-16 03:20:25 +00:00
cgd
8b404fdede A foolish consistency... General cleanup: get rid of spaces and tabs at
ends of lines, turn aligned blocks of eight spaces into tabs, name all
softc elements with the "sc_" prefix, and call the softc by the commonly
used name, "sc", when passing it around.
1996-03-16 02:54:27 +00:00
cgd
6668fa09a3 Change register definitions to be offset from the I/O base, rather than
complete I/O addresses.  Access ports via "iobase + REGISTER."
1996-03-16 02:02:54 +00:00
cgd
2b96f0705b delete unused cruft (the 'software conventions' chunk). 1996-03-16 02:00:43 +00:00
cgd
85286bff2f convert these to use new <machine/bus.h> interfaces. This involved
substantial reworking of the multi-port drivers, as they need to frob
bits in the io-port spaces of their children.  As a result, the
commulti->com attachment interface is substantially more complex.
(This may be fixable in the future by making some of the code common,
but as long as io-port allocation checking is planned, it's necessary.)
1996-03-10 09:01:20 +00:00
cgd
5bfb840114 Fix copyright year 1996-03-09 23:37:14 +00:00
cgd
85288c6a61 Include comvar.h, for comprobe1() prototype and for commulti_attach_args.
Remove multiple identical definitions for the arg struct used by multiport
boards' to attach slave com ports.
1996-03-09 01:03:59 +00:00
cgd
a7c6dfe1cd include comvar.h for comprobe1() prototype 1996-03-09 01:02:08 +00:00
cgd
56edbfc4f9 define the common structure used to attach 'com' units as slaves to
multiport cards.  prototype comprobe1(), which is used by multiport card
drivers.
1996-03-09 01:01:33 +00:00
cgd
645d83b763 minor cleanup. mostly: use COM_NPORTS and a new (driver-specific) NSLAVES
macro where appropriate.  No point in hard-coding numbers in multiple places.
At the very least, this makes the drivers slightly easier to diff/understand.
1996-03-09 00:09:04 +00:00
cgd
2c11ad408c convert to use I/O mapping/access macros in <machine/bus.h>.
Mostly mechanical changes, except for probe/attach, which have
to map (and, in the case of probe, unmap) the I/O space that the
chip will use.
1996-03-08 22:17:58 +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
5087096150 pass a bus_chipset_tag_t (defined in <machine/bus.h>) to the bus when
attaching, and to the devices when attaching them.  #include <machine/bus.h>
to make this backward compatible with old #include requirements.
Also, clean up idempotency so that isa/eisa/pci "var.h" headers are
consistent (make them all idempotent).
1996-03-08 20:25:22 +00:00
cgd
acabb62791 the i386 port no longer attaches isa, eisa, and pci at root. 1996-03-04 03:29:12 +00:00
mycroft
d8026ad9ef Oops; switched two bits. 1996-03-01 04:35:27 +00:00
mycroft
f3b29ca5d2 Remove two unneeded `if's. 1996-03-01 04:13:25 +00:00
mycroft
546ad9e88b Add support to the ISA DMA framework for auto-initialize mode.
Add experimental SB16 code, disabled for now.
1996-03-01 04:08:13 +00:00
cgd
3ca5707161 make ISA bus match/attach, and sub-device configuration machine-independent. 1996-02-28 01:43:45 +00:00
scottr
4005c5fd09 Fix typo (PR 2123, from Michael VanLoon) 1996-02-26 22:48:32 +00:00
mycroft
40d57df71a Switch byte order of ID and configuration registers for 14f and 34f. 1996-02-24 05:27:49 +00:00
mycroft
3ec5928403 Keep the terminal count information around, as it's self-clearing. 1996-02-22 06:21:48 +00:00
mycroft
a35f0ac985 Add more debugging code. 1996-02-20 12:13:09 +00:00
mycroft
947cae817e Do not allow the gain to be changed on an original SoundBlaster. 1996-02-20 11:48:50 +00:00
mycroft
015ee926f6 Fix mono volume adjustment. 1996-02-20 11:15:15 +00:00
mycroft
b5f3c5cbdc XXX This is a kluge.
Check to see if the DMA transfer is finished; if not, don't do interrupt
processing.
1996-02-20 04:19:24 +00:00
mycroft
4d6412e7bf Move the terminal count check into a separate function. 1996-02-20 04:17:05 +00:00
christos
cd5249589d if_ep.c: Recognize 3c595 1996-02-19 20:18:40 +00:00
mycroft
5021ab87f1 Update copyright notice. 1996-02-19 15:23:25 +00:00
mycroft
5bc567b0d3 Set IER_ETXRDY before outputting any bytes, to prevent race condition. 1996-02-19 15:09:25 +00:00
mycroft
c011a5eae4 Handle break more correctly.
Make IER_ETXRDY track TS_BUSY.  (Prevents a loop in comintr() if no output
is available.)
Add a bunch of debugging code.
1996-02-19 14:53:03 +00:00
mycroft
760b34026c Declare a variable... 1996-02-18 22:19:44 +00:00
mycroft
ba2ac1b587 Clean this up a bit. 1996-02-18 22:17:37 +00:00
jtk
47286969ae Add bass/treble input filter adjustment controls to SB (Pro) driver 1996-02-18 16:36:44 +00:00
mycroft
e5730c4a73 Fix a race condition where we might stop outputting if a write follows a
flush too closely.
1996-02-18 09:10:15 +00:00
mycroft
203f5d5329 Add some text describing the UART lossage worked around in the previous. 1996-02-17 04:51:41 +00:00
jtk
03f1e1432a fix compile error from gusprobe() cleanup 1996-02-17 04:49:50 +00:00
mycroft
121f6570d7 Drain the transmitter FIFO before changing the baud rate or FIFO depth
registers.  Fixes PR 2046.
Also, if COMCONSOLE is defined, expect CONSPEED to be the baud rate.
1996-02-17 04:04:28 +00:00
jtk
28feffd508 avoid panic'ing when driver gets confused--just spit out a message and
keep going.
Improve error messages to include device name.
use STATIC for function declarations/definitions so it's easier to get a
useful symbol table by flipping a switch.
1996-02-17 03:35:22 +00:00
mycroft
7847c9efee Various:
* Snap the sample rate when setting it, and remember only the time constant.
* Set the time constant when changing between play/record.
* Always return the actual sample rate with AUDIO_GETINFO.
1996-02-16 10:10:21 +00:00
mycroft
19f59bf3c2 Prototype the probe and attach functions. 1996-02-16 08:18:32 +00:00
mycroft
7af4edd731 Various, including:
* Add more delays while writing registers.
* Replace sc_dma{in,out}_inprogress with sc_dmadir.
* Eliminate the need for sc_locked.
* Add more DPRINTF()s.
1996-02-16 08:07:40 +00:00
christos
11d31f7ce7 Hayes ESP patches [from PR database] 1996-02-10 20:23:18 +00:00
mycroft
28bf676a23 Read the 14f/34f registers in 8-bit mode. 1996-02-09 17:38:09 +00:00
scottr
54c51d4393 Document this file better, mostly from John Vinopal
<banshee@gabriella.resort.com>.  Closes PR #1864.
1996-02-05 23:01:50 +00:00
scottr
ae06fdb589 Allow blocksize of NBPG/2 to NBPG for higher sampling rates. From
Lennart Augustsson <augustss@cs.chalmers.se>, closes PR 2013.
1996-02-05 21:32:26 +00:00
jtc
3ae2aedf4d Fix error in copyright notice 1996-02-05 02:18:48 +00:00
jtc
240e22087c Received copyright assignment 1996-02-05 00:10:32 +00:00
thorpej
919f6728ab Accept DIOCEJECT as a synonym for CDIOCEJECT. Implement DIOCLOCK
separately from CDIOCALLOW and CDIOCPREVENT, even though they perform
basically the same function (with a different interface XXX).
1996-01-30 18:28:02 +00:00
mycroft
02317d25bb Make the panic message for ISA clone devices more informative. 1996-01-16 07:52:38 +00:00
christos
d3427703db Hayes ESP support from Michael Van Loon, with minor cleanups. Tested on
a single port ESP card; works great!
1996-01-14 23:44:34 +00:00
thorpej
f08d96426e Oops. Fix RCS id. 1996-01-13 02:06:30 +00:00
thorpej
e422ebca1a Add the "ahe" driver, autoconfiguration support for the aic7xxx-based
Adaptec 2[78]4x SCSI controllers, from Michael Graff <explorer@flame.org>.
Fixes PR #1594 from Noriyuki Soda <soda@sra.co.jp> in a different way.
1996-01-13 02:05:14 +00:00
thorpej
48bb61e0d7 Use WTDBPRINT() instead of DEBUG() for driver debugging printf()s..
Fixes PR #1927, from Erik Bertelsen <erik@arhpc214.uni-c.dk>
1996-01-12 00:54:23 +00:00
hpeyerl
5e81dcd27a Make it a tad more obvious that this is a 3c505 driver. 1996-01-10 18:21:52 +00:00
chuck
75caa8c729 Imported from OpenBSD/FreeBSD:
Add support for the SMC8416 (EtherEZ) ISA ethernet card.
	The 8416 has an 8K shared mem (the old driver assumed 16K
	and failed at attach time).
1996-01-10 16:49:22 +00:00
mycroft
3441f118d5 Make sure we disk_busy() for every transfer we start. 1996-01-08 21:21:56 +00:00
thorpej
5b39541e48 New generic disk framework. Highlights:
- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.
1996-01-07 22:01:38 +00:00
mycroft
b9c37470a0 Fix Ultrastor 24f probe, per Andrew Gillham. 1995-12-26 17:16:55 +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
christos
e159767fed Repeating my mistakes twice... I used sc-> in the pci probe routine
again, and it turned NetBSD in ostype[] to N^CtBSD... Thanks Charles (again)
Also call epstop() in the attach routine to make sure that the pci card
gets reset properly.
1995-12-05 03:30:15 +00:00
jtc
0cd793449e merge in changes from 1.1 release branch 1995-11-30 00:56:23 +00:00
cgd
0f7f390b49 allow bus-specific lance drivers to use machine-independent buffer/descriptor
copy functions, and convert isa and pmax drivers to do so.
1995-11-25 01:23:51 +00:00
christos
d125a07adb My previous changes broke the pcmcia support. For now assume that all non
PCI cards look identical to ISA cards.
1995-11-13 20:50:22 +00:00
christos
e4c4e9cb07 Add support for the 3c59x (pci) cards in the 3c5x9 driver. In addition
add the necessary bits for the 3c589 (pcmcia) card without adding any
of the pcmcia framework.
1995-11-10 19:39:21 +00:00
mycroft
d3c61be30b Convert IRQ, DRQ, and port numbers to int. 1995-11-10 05:01:05 +00:00
mycroft
38a7c4b007 Correct the format of some diagnostics. 1995-11-10 04:41:58 +00:00
mycroft
d8f6a1896b Convert IRQ, DRQ, and port numbers to int. 1995-11-10 04:30:36 +00:00
mycroft
f096f370fb Use SET(), CLR(), and ISSET() macros.
Rename CFCR to LCR, and cache its value.
Check MSR before transmitting, for better flow control.
Preserve LCR_SBREAK inside comparam().
1995-10-15 19:43:04 +00:00
mycroft
3450507404 Make sure we only schedule one timeout to refill the mbuf queue. 1995-10-10 03:11:28 +00:00
mycroft
85285f6ead Add a shutdown hook. 1995-10-07 09:19:13 +00:00
mycroft
86939fd839 Fix typo. 1995-10-04 00:35:07 +00:00
mycroft
393a69d6db Modularize the CCB/MSCP/ACB/ECB handling a little. No functional changes. 1995-10-03 20:58:56 +00:00
thorpej
a47ab73248 memcmp -> bcmp. Fixes PR #1518. 1995-09-26 22:56:54 +00:00
thorpej
26419c5a8b Don't declare Debugger(). It's handled in <sys/systm.h> 1995-09-26 19:31:15 +00:00
hpeyerl
ddbb956f35 fixes a typo, the case where iomem is specified, but iosize is not, and
moves a couple of ee16 specific calls into a 'if ee16' protected block.
From Andrew Gillham <gillham@Digitron.COM>
1995-09-26 13:24:48 +00:00
pk
0fbf2ca04a Make *print() a message if no scsibus was attached. Also, return something
valid.
1995-09-14 20:43:09 +00:00
hpeyerl
abe82a6680 Etherexpress-16 driver collision by Andrew Gillham <gillham@Digitron.COM>. 1995-09-14 12:41:32 +00:00
mycroft
8887de9230 opri --> s 1995-08-12 22:58:01 +00:00
mycroft
240560e9fd ia_irq has not been a power of 2 for a long time... 1995-08-12 22:37:58 +00:00
mycroft
80d7b0695a minphys() functions really should return void. 1995-08-12 20:30:45 +00:00
mycroft
e4413d1a10 Fix another comment. 1995-08-07 14:26:51 +00:00
mycroft
f657f5bf3e Make this interface simplex. It's more efficient, and sidesteps the
problem of receiving our own multicasts in promiscuous mode.  Also, fix
some outdated comments.
1995-08-07 14:16:26 +00:00
mycroft
6567855472 Count collisions and errors better. 1995-08-05 23:53:18 +00:00
mycroft
82b6eec41c Use an intermediate variable to shorten label initialization code.
Make wddump() work on more machines.
1995-08-05 23:50:23 +00:00
mycroft
24a5e56396 Use an intermediate variable to shorten label initialization code. 1995-08-05 23:47:52 +00:00
mycroft
60d2d483ca Turn off the mbi diagnostics completely. 1995-07-29 23:04:54 +00:00
mycroft
a4fcbe857d Don't loop if we're out of CCBs/SCBs/MSCPs. 1995-07-28 22:49:56 +00:00
mycroft
38036ed16e Fix an oversight in the previous. 1995-07-27 05:01:08 +00:00
mycroft
c9f7b2a185 Add PCI-specific configuration for PCnet-PCI. 1995-07-27 04:39:05 +00:00
mycroft
7ba8b413d9 Disable diagnostics related to expected mbi race condition. 1995-07-27 01:00:11 +00:00
mycroft
e8c91e1129 Fix typos. 1995-07-25 05:11:11 +00:00
mycroft
e413887539 Update to use dev/ic/am7990.c. 1995-07-24 18:04:21 +00:00
cgd
830a91b2e9 update SCSI minphys routines' definitions to match standard minphys()
definition and usage.
1995-07-24 07:16:44 +00:00
cgd
a696e525b7 fix function prototypes, usages, to match what the code actually does 1995-07-24 05:54:52 +00:00
mycroft
bdb9d41d7e Fix thinko in packet size diagnostic. 1995-07-24 04:12:45 +00:00
mycroft
2d37aba592 Add missing `break;'. 1995-07-24 02:46:47 +00:00
mycroft
ff82158c19 Fix typo. 1995-07-24 02:43:11 +00:00
mycroft
4f36e42ff4 Various cleanup:
* Use standard function naming conventions.
* Only increment if_ipackets when a packet was actually received.
* Check for excessively large or small packets before trying to read them.
1995-07-24 02:40:38 +00:00
mycroft
413a5efc0c Pass a softc to leget(), not an ifnet. 1995-07-24 02:29:59 +00:00
mycroft
33292f0f88 Fix typos. 1995-07-24 02:08:13 +00:00
mycroft
7998e5ab4c Various cleanup:
* Use standard function naming conventions.
* Only increment if_ipackets when a packet was actually received.
* Check for excessively large or small packets before trying to read them.
1995-07-24 02:02:45 +00:00
mycroft
b5699db68d Rename new xmit_busy back to txb_inuse. 1995-07-23 23:42:47 +00:00
mycroft
799910cb2c Remove txb_inuse. Other stylistic changes. 1995-07-23 22:12:16 +00:00
mycroft
1df91e03ca Remove a noop clearing of IFF_OACTIVE. 1995-07-23 22:09:11 +00:00
mycroft
1199b1b042 Exchange xmit_free for xmit_busy. Add BPF hook to iestart(). 1995-07-23 22:02:20 +00:00
mycroft
317db86dd3 Stylistic changes. 1995-07-23 21:37:51 +00:00
mycroft
9b2ae2a3cd Stylistic changes. 1995-07-23 21:26:48 +00:00
mycroft
4da9a5f814 Stylistic changes. 1995-07-23 21:14:31 +00:00
mycroft
644935b313 Slight rearrangement. Also, force eg_incount to 0 after a reset. 1995-07-23 20:54:23 +00:00
mycroft
ecf259e342 Call epmbufempty() any time the board is stopped. 1995-07-23 20:46:49 +00:00
mycroft
57528ce346 Init functions are always called at splimp(). 1995-07-23 20:36:51 +00:00
mycroft
6bc1cc31f8 Push the copying of the output buffer further down, with the intent of
eliminating it and outputting the mbufs directly.  Make sure the queue drains
even if packets are not failing to transmit.
1995-07-23 20:27:48 +00:00
mycroft
a8ce47fa44 Remove extra spls in el_init(). 1995-07-23 20:11:55 +00:00
mycroft
90da0e3a99 Kill return values in egstart(). 1995-07-23 19:45:42 +00:00
mycroft
3d1d0d928b Update prototypes. 1995-07-23 17:57:39 +00:00
mycroft
a16702ce45 Various:
* Fix ugly looping constructs.
* Add a missing splx().
* Eliminate sc_pktbuf.
1995-07-23 17:50:56 +00:00
mycroft
8593f3a607 Recode elread() and elget() like other drivers. 1995-07-23 17:05:26 +00:00
mycroft
a1a31f853c Fix pasto. 1995-07-23 16:43:40 +00:00
mycroft
9c26c4da18 Always use m_pkthdr.len on output. Panic if M_PKTHDR is not set. 1995-07-23 16:42:49 +00:00
mycroft
465cfd15f0 Always use m_pkthdr.len on output. Panic if M_PKTHDR is not set. 1995-07-23 16:32:33 +00:00
brezak
693043d786 GUS audio driver from John Kohl. 1995-07-19 19:58:09 +00:00
cgd
880567e771 fix from Onno van der Linden for large-file read timeouts on double-speed
drives.  A different read command must be used on double-speed drives.
It boggles my mind that people could design hardware this stupid.
1995-07-10 01:27:24 +00:00
cgd
e574814605 insert missing call to splx() when {aha,bt}_send_mbo() returns null.
from enami@sys.ptg.sony.co.jp.
1995-07-08 00:34:16 +00:00
brezak
4b4b3ee81a Cleanup 1995-07-07 02:19:48 +00:00
brezak
dd3d2e28ed Setup irq correctly (PR#1179) 1995-07-07 02:15:12 +00:00
brezak
0bdd4aa7c2 add support for cs4231 1995-07-07 02:11:45 +00:00
mycroft
9624704e02 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-05 02:32:53 +00:00
mycroft
7263209ce6 Make each disk and tape driver define its own read and write functions.
Deprecate rawread() and rawwrite() completely.  Remove d_strategy from cdevsw to
force the abstraction barrier.
1995-07-04 07:15:28 +00:00
mycroft
eb99dcc09a Fix a condition where ttywait() wouldn't be woken up. Also, short-circuit
the case of no pending input in compoll().
1995-07-04 06:47:18 +00:00
cgd
2b71eae2c7 note that most of dev/ic's contents have changed names 1995-06-28 04:30:30 +00:00
cgd
bc9de32349 make dump stubs consistent 1995-06-26 05:34:44 +00:00
cgd
2a8d6461a8 implement new-style block device dump routine if __BDEVSW_DUMP_OLD_TYPE
not defined, otherwise use an "not implemented" stub.
1995-06-26 05:16:55 +00:00
cgd
7491d6cbe5 if subdevices specified with wildcarded unit number, config_attach()
can change the cf_unit, so save it before attach and use saved value.
1995-06-26 04:08:04 +00:00
mycroft
d9fc8ef092 Remove check for if_addrlist == 0; if_attach() always puts one address on
the list, so this is a noop.
1995-06-12 00:09:42 +00:00
mycroft
e6c81430d2 Add missing `break;'s. 1995-06-09 18:09:27 +00:00
cgd
da5b5dfa63 make match/attach routines and cfdriver struct mi 1995-06-07 06:46:04 +00:00
cgd
5a29222f9c prototype isascan, spacing 1995-06-07 06:45:44 +00:00
mycroft
4bfd7749ad Various:
* Check for CTS in the correct register.
* Only do a selwakeup() if we output something.
* Don't make assumptions about what TTYDISC does.
1995-06-05 19:08:09 +00:00
mycroft
5b37a8fded Handle BREAK correctly when not entering DDB. 1995-06-04 20:50:14 +00:00
mycroft
38847d04c0 Add an input FIFO, and fix several flow control problems. Based on code from
Felix A. Croes.
1995-06-04 20:39:22 +00:00
jtc
d045544ebd Changed ns82450 to ns8250 and dropped ns82550 from probe console messages. 1995-06-01 21:26:51 +00:00
mycroft
488bc82ac3 Fix multicast filter calculation. 1995-05-28 11:29:46 +00:00
mycroft
addaff473b Only use the `no pending interrupt' bit in the IIR; the other bits
are too unreliable on clone chips.
1995-05-28 03:26:37 +00:00
cgd
3ebc44f6e1 isa softc structs are larger than 'struct device' 1995-05-17 02:07:03 +00:00
cgd
c821cb684a (1) conditionalize debugger usage in comeint with DDB, not COMCONSOLE;
latter would lead to undefined symbols if DDB not defined.
(2) check for break on console, and therefore debugger entry (if ddb
	in kernel) earlier, so that the device doesn't need to be open.
(3) return immediately after breaking into the debugger in comeint().
(4) only do the normal character input routine in comintr if receive
	mask yeilds _EXACLTY_ LSR_RXRDY.  if there's only a receive
	error, or there's a receive error _and_ a received character,
	do comeint().
(former two by me.  latter two from Bob Baron <rvb@cs.cmu.edu>.)
1995-05-12 17:54:41 +00:00
mycroft
8742c18c06 Update for slightly modified ARP handling. 1995-05-10 14:04:14 +00:00
brezak
c68110e043 Remove strings 1995-05-08 22:01:34 +00:00
brezak
05f27a97ce Fix holes in device index space. PR#1028 1995-05-08 17:28:51 +00:00
cgd
1e0c08b206 uncomment cy driver spec; i386 conf.c needs the header file. 1995-05-03 17:09:28 +00:00
mycroft
825d2fee22 Add Masahiro SEKIGUCHI's MB8696[05] driver, ported, with some additional
changes by me:
* Make autoconfiguration work correctly for more models of AT1700.
* Make the debugging code more robust and complete.
* Tweak the output routine for better performance, and to eliminate an ugly
kluge.
Various other style cleanup.  Needs more work.
1995-05-01 02:47:07 +00:00
mycroft
03e77f5565 Tweak the output routine for slightly better performance. 1995-05-01 02:39:30 +00:00
hpeyerl
c9319ad5c4 <break> --> ddb if defined(comconsole).
(if you have a serial console and you hit break, you get ddb).
1995-04-28 00:34:08 +00:00
hpeyerl
686da9ddb7 copyright foo. 1995-04-27 14:50:58 +00:00
mycroft
6bb0f284d0 Turn off some debugging code by default. 1995-04-27 01:46:47 +00:00
brezak
1f4378da60 Fix nits from Mike Long <mike.long@analog.com> PR#996 1995-04-26 21:45:57 +00:00
mycroft
cb856a9a4d Watchdog now takes an int, not a short. 1995-04-19 22:42:51 +00:00
mycroft
9e28a35469 Fix thinko in previous change. 1995-04-19 22:04:33 +00:00
mycroft
53d73c77a5 Garbage collect #includes. 1995-04-19 19:10:35 +00:00
mycroft
4c28b7cb87 Change needs-count' to needs-flag'. 1995-04-19 19:02:54 +00:00
mycroft
e1315808a7 Implement comtty(). 1995-04-19 18:59:27 +00:00
mycroft
496acd4619 Correct a couple of things, and add a `fe' device. 1995-04-19 02:11:10 +00:00
mycroft
800b1f371a Fix obvious bug in reading from SB_MIC_PORT. 1995-04-17 23:48:06 +00:00
cgd
15552a0e17 if_le conflicts with the Alpha; move description back to i386 1995-04-17 20:23:32 +00:00
cgd
af67271a66 try to actually (gasp!) describe the drivers. 1995-04-17 17:54:15 +00:00
cgd
d61eaf6f6d ISA config.new files description. 1995-04-17 16:58:30 +00:00
cgd
982230db44 update for new locations 1995-04-17 15:48:20 +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
04e937dcbd Don't boundary check I/O to the `raw' partition. 1995-04-15 05:01:26 +00:00
mycroft
c7a7d5c262 Sync with the rest of the world. 1995-04-11 05:10:20 +00:00
mycroft
8d8af964a7 Move NIC register definitions to a global location. 1995-04-11 04:45:26 +00:00
mycroft
b703c76655 Update for if.h. Define helper macros for accessing NIC registers. Optimize
edrint() a little more.
1995-04-11 04:38:42 +00:00
mycroft
70839d3b04 Change start and watchdog return values to void. 1995-04-10 18:21:42 +00:00
mycroft
68c8c80929 kernel_pmap --> pmap_kernel() 1995-04-10 16:48:27 +00:00
mycroft
e25c1817cf kernel_pmap --> pmap_kernel() 1995-04-10 13:08:28 +00:00
mycroft
95c5c4f79f Most of the console functions return void. Also change interrupt logic
slightly.
1995-04-10 01:05:55 +00:00