Commit Graph

860 Commits

Author SHA1 Message Date
mycroft 9085715229 Some pseudo-random cleanup, and try to start transmitting packets quicker. 1995-04-03 21:17:13 +00:00
mycroft 7e2dabf972 Add a missing unlock. 1995-04-01 10:29:41 +00:00
mycroft 508897dfcc Insert a missing unlock. 1995-04-01 10:27:56 +00:00
mycroft 03e3548ec7 Change the locking protocol to match other drivers. 1995-04-01 08:45:33 +00:00
mycroft 5ef3b8b957 Always load the TOC. Turn off the TOC bit in the mode register so the busy
light goes off.
1995-04-01 08:40:11 +00:00
mycroft e17c63cee6 Revamp the locking mechanism slightly. Update some outdated comments, and add
a few new ones.
1995-03-29 23:36:27 +00:00
briggs 0884490297 KERNEL -> _KERNEL. 1995-03-29 21:56:46 +00:00
jtc 71ab4ed9dc KERNEL -> _KERNEL 1995-03-28 18:13:48 +00:00
mycroft aff93b44b4 Remove unused variable. 1995-03-27 21:44:11 +00:00
mycroft 657ddd6fde Remove a tiny bit of redundant code. 1995-03-27 18:08:34 +00:00
mycroft 0a3d4f358a It's not necessary to do a GETSTAT before each read. 1995-03-27 16:48:45 +00:00
mycroft c61cb27f9c Small garbage collection, and turn off debugging info by default. 1995-03-27 16:04:07 +00:00
mycroft 306af9bd89 Largely rewritten by me, with some input from Dave Burgess. Implement most of
the CDIOC* calls correctly, improve performance by 10x when interrupts work,
and implement the same generic disk framework as other drivers.
Needs some more work.
1995-03-27 15:45:20 +00:00
jtc 7c04233887 KERNEL -> _KERNEL 1995-03-26 20:23:52 +00:00
mycroft b51403f60d Remove the write protect check altogether, and rely on the drive to do it. 1995-03-25 19:45:18 +00:00
mycroft ff6c206c3f Use void* rather than caddr_t in many places. 1995-03-25 00:00:53 +00:00
mycroft 06d0a67a07 Check for read-only media in open(), not write(). 1995-03-23 12:11:07 +00:00
mycroft 02df08a47e Allow DIOCWDINFO even if label is not `writable'. 1995-03-23 11:33:18 +00:00
brezak 331f0252c6 Fix probing of slave devices and remove unneeded ffs()'s 1995-03-21 14:05:28 +00:00
brezak 8193ffc379 Add support for PAS 16 basic 1995-03-15 18:45:58 +00:00
glass af46d07f24 fix compilation error. don't bother checking for IRQ2 1995-03-15 16:43:09 +00:00
brezak 36fa07bde5 Fixes defect port-i386/860 from John Woods (jfw@jfwhome.funhouse.com) with
supplied patch. Kernel will not link with only ProAudio Spectrum driver
specified.
1995-03-14 18:43:19 +00:00
brezak f3226ad49e Fixes defect port-i386/864 from John Woods (jfw@jfwhome.funhouse.com) with
supplied patch. pas.c doesn't recognize ProAudio Spectrum 16 Basic card.
1995-03-14 18:41:36 +00:00
mycroft 37c67f3481 Turn off two diagnostic printfs by default. 1995-03-14 02:35:11 +00:00
brezak 7ce1465911 Fix SB8 playback. From David Gluss <david@pure.com> 1995-03-13 14:37:12 +00:00
brezak 1c9582b63e Add IRQ 9 as a valid IRQ 1995-03-13 14:29:11 +00:00
brezak 83fffa3985 Cleanup for SB16 (From Jan Sparud) 1995-03-08 18:27:35 +00:00
brezak 63d3904bce Use irq directly not as a mask 1995-02-28 21:47:42 +00:00
glass 48b5b94c4f fix some typos. from frank@fwi.uva.nl (Frank van der Linden) 1995-02-27 09:10:24 +00:00
cgd 2c0f263ee7 use wdc_softc in wdccd, rather than wd_softc; from chuck cranor. (pr 828) 1995-02-27 01:08:01 +00:00
brezak 559df5705c PSS driver; needs testing with config.new 1995-02-21 04:15:03 +00:00
brezak 39b8de8e12 Driver for Windows sound system; not extensively tested 1995-02-21 02:28:42 +00:00
brezak 32eec53a2d SoundBlaster driver for SB, SB16 and SBPRO 1995-02-21 02:28:06 +00:00
brezak a70ae7273c PAS driver; uses SB emulation for now 1995-02-21 02:27:18 +00:00
brezak 977594d1a9 Driver for ad1848 codec 1995-02-21 02:26:39 +00:00
mycroft 8b834a58ca Display more information when we get bogus data off the card. 1995-02-19 18:05:45 +00:00
mycroft 0f894be19c Rearrange epintr() to insure proper edge-trigger of the interrupt latch. 1995-02-19 06:13:53 +00:00
mycroft a36de19f90 Make some guesses about how to properly configure the interrupt masks. Back
out part of the previous change until I get some documentation on these boards.
1995-02-10 01:37:57 +00:00
mycroft e9c2b98c11 Comment a potential bit of lossage. 1995-02-02 21:08:42 +00:00
mycroft 8abb91e18d Various:
* Make synchronous negotiation work.
* Use the bitbucket when the target requests too much data.
* Loop in aicintr() until we get to a state where we have to wait.
1995-02-01 21:49:37 +00:00
mycroft ab5662014f Correct some more of the synchronous stuff, and omit it completely if
AIC_USE_SYNCHRONOUS is 0.
1995-02-01 16:56:42 +00:00
mycroft 4653b28a42 Various:
* Always enable disconnection.
* Add some more per-controller variables: initiator ID, clock frequency,
min and max sync period.
* Correct sync period calculations.
* Remove sc_progress.
* Move most of the reselection handling into a separate function.
* Remove some outdated comments.
* Remove message bytes from FIFO even when dropping them on the floor.
* Some cosmetic cleanup.
1995-02-01 16:11:43 +00:00
mycroft 16e77e7281 Fix path to if_lereg.h. 1995-02-01 09:54:36 +00:00
cgd 3a7bbb1acd lip service to making ISA support machine-independent. This is the first
round: moving the drivers into a machine-independent directory.
Some drivers (e.g. fd.c) not moved because they use other pc features (e.g.
CMOS settings), and none of the non-driver files moved, because they're
still pretty much PC specific.  eventually (when other ports with ISA
busses really start using this code), more 'high-level' ISA support will
live here.
1995-01-29 07:36:54 +00:00
cgd f11e7e33fe use chip headers in /dev/ic 1995-01-29 02:58:20 +00:00
mycroft c5d5ca8150 Don't check the control port at all; too unreliable. 1995-01-26 07:35:49 +00:00
mycroft c0e2bd26f1 Initialize the new xmit state correctly. From Rafal Boni. 1995-01-26 04:13:23 +00:00
mycroft 57f2c598c7 Various changes from Rafal Boni to improve performance and reliability. Also,
clean up the formatting a little more.
1995-01-23 04:50:08 +00:00
mycroft 01ce8db055 Fix the problem with identifying cards on warm boot. Partly from Greg Hudson. 1995-01-22 07:37:28 +00:00
mycroft 3dddacd1ce Rearrange tests so `offline' has higher priority than `out of paper'. 1995-01-22 00:12:39 +00:00
mycroft fcdbd2bd7b Remove outdated comment. 1995-01-16 10:36:26 +00:00
mycroft 87d587e640 Simplify some sanity checks. 1995-01-13 14:46:44 +00:00
mycroft 1e5cd9212d (Almost) allow sector sizes other than 512 bytes. Reduce some expensive operations. 1995-01-13 12:30:59 +00:00
mycroft 7650bd97fc Always boundary check I/O. 1995-01-13 10:46:32 +00:00
mycroft 0033c975c6 Fix another bug in the DMA code. 1995-01-13 10:22:58 +00:00
mycroft 4abdb375bc Minor rearrangement. 1995-01-13 09:40:21 +00:00
mycroft c2bc310a37 Change the way sc_skip is used. Fix a bug in the (incomplete) DMA code. Add a
new sc_blkno (which will be useful later).
1995-01-13 08:58:16 +00:00
pk 0a22930d97 Explicitly test the RXRDY status bit on incoming characters. 1995-01-11 09:56:40 +00:00
mycroft 06b0414491 Actually, do the ID reset in elink_reset(). 1995-01-07 21:37:54 +00:00
mycroft 37e16c5747 Don't print line numbers in most of the diagnostics. 1995-01-07 06:49:35 +00:00
mycroft d4f91d51a9 Fix a race condition between normal I/O and wd_get_parms(). 1995-01-07 03:07:22 +00:00
mycroft 7f61bec5cd Cosmetic changes, to look more like the new esp.c will. 1995-01-07 01:51:07 +00:00
mycroft ba288b4ae1 Do the reset in the individual drivers, not in elink_idseq(). 1995-01-06 21:41:26 +00:00
mycroft 6125e1b551 Fix oversight in previous. 1995-01-04 00:47:53 +00:00
mycroft 9e499d41b3 \
These files have been 99% rewritten from the original ast driver.  Add an
appropriate copyright notice.
1995-01-03 22:38:54 +00:00
mycroft 0349c5b9e0 Add a multiplexer for BOCA serial boards. 1995-01-03 22:26:36 +00:00
hpeyerl 09834a5bd3 This is correct according to the docs on both cards.
Doesn't seem to make any difference to the known problems though.
1995-01-03 05:04:04 +00:00
mycroft b6c8a9a4e9 Update intr_establish() prototype. 1995-01-03 03:14:35 +00:00
mycroft b5cf1b5ddd Add interrupt sharing types. 1995-01-03 01:30:14 +00:00
mycroft 326830c1ba Use direct config for subdevices. 1995-01-02 22:27:46 +00:00
mycroft e148dc7a64 Move setting of sc_maddr so soft config works. 1995-01-02 22:01:05 +00:00
mycroft a774fa6fe5 Use soft configuration when possible. 1995-01-02 21:57:04 +00:00
mycroft 3a967fcbb6 More cleanup. 1995-01-02 21:27:27 +00:00
mycroft 72dec3b548 Various cleanup. 1995-01-02 20:54:01 +00:00
mycroft 3a74796b3e Need isareg.h. 1995-01-02 20:39:35 +00:00
mycroft 894bb9145f Use soft configuration where possible. 1995-01-02 20:32:55 +00:00
mycroft 2d5b04744a Don't assume ia_maddr is in the hole. 1995-01-02 20:06:29 +00:00
mycroft 76b0b02cc3 Fix non-serious typo. 1994-12-31 05:34:00 +00:00
mycroft 8fd135209c Numerous changes. Many bugs fixed, better autoconfig, a few new features. 1994-12-28 19:42:47 +00:00
hpeyerl 262b425866 temporary warning until I get new docs. 1994-12-28 16:47:50 +00:00
mycroft ce06e718ad Fix flags to isa_dmastart(). 1994-12-17 18:45:11 +00:00
mycroft ca65f2ce5d Remove dkbad.h. 1994-12-14 15:17:22 +00:00
mycroft e694663b46 Make the diagnostics less cryptic. 1994-12-12 04:43:51 +00:00
mycroft 3e4a358e28 Patch from Thomas Eberhardt to make PCnet-32 chips work. 1994-12-12 04:39:52 +00:00
christos 303841c92e 3c509 fixes to avoid adapter getting stuck in high traffic conditions.
I don't particularly like the fixes, but at least now the 3c509 never
gets stuck. On the other hand, performance still sucks in some cases.
1994-12-10 14:52:02 +00:00
mycroft 793e542f89 Fix format of attach message. 1994-12-10 05:55:26 +00:00
mycroft 211b002017 Ignore ERR during diagnostics. 1994-12-01 10:45:26 +00:00
mycroft 867ebf1d84 Clear the controller active flag after a timeout. 1994-11-30 02:32:03 +00:00
mycroft 5584ff927f Don't stall the queue on CHECK SENSE if we get a reselect while selecting. 1994-11-30 02:08:01 +00:00
mycroft 639a64de08 Fix a null pointer reference. 1994-11-29 21:35:13 +00:00
mycroft 51bed8d804 Add an assertion mechanism to check for more abnormal conditions. 1994-11-29 21:29:56 +00:00
mycroft 58cb5339d6 For consistency... 1994-11-29 20:57:28 +00:00
mycroft 41b26a6dfd Handle BUS FREE phase a little differently, to get better error detection. Other
cleanup.
1994-11-29 20:08:27 +00:00
mycroft bb90feebac Disable debugging breakpoints by default. 1994-11-29 17:56:49 +00:00
mycroft 5ac2484d95 * Redo most of the message and phase state machines. Multiple pending
message outs should now work correctly (including retransmissions).
Multiple messages ins should be more efficient.  Missing REQ after
reselection phase should now (correctly) cause a wait with ENREQINIT
set.

* Abstract out the reselection out sequence, and use it directly to
get sense info.  (This is somewhat faster than the generic done/sched
sequence.)

* If there are no ACBs available, wait interruptibly for one.

* Leave the interrupt registers alone during message in/out; just
watch for phase change.  Don't (incorrectly) reenable interrupts
during data in/out; defer that to aicintr().

* Handle command pointer per SCSI 2 spec.

* Other minor coding improvements.
1994-11-29 17:50:39 +00:00
christos 6a2c060851 fix unary plus typo :-) 1994-11-25 23:19:03 +00:00
mycroft cba32aa25f Minor update for new autoconfig. 1994-11-25 08:17:21 +00:00
mycroft 0649f37219 Officially credit Onno. 1994-11-23 22:00:08 +00:00
mycroft 2058abab15 Forgot to commit this as part of the LBA changes. 1994-11-23 07:56:52 +00:00
mycroft cc44b4600c There's no point in bothering to unlock what we didn't lock. 1994-11-23 07:54:15 +00:00
mycroft 6dda55519e Fix an outdated comment. 1994-11-23 03:11:01 +00:00
mycroft a3fc466734 Use logical block addressing if available. Be a little more careful about
maintaining timeouts.  Clean up wddump() a bit.
1994-11-23 01:35:43 +00:00
mycroft 525fc36e19 Implement 32-bit reads and writes, but for now assume 16-bit mode. 1994-11-22 10:20:16 +00:00
mycroft 3a99ddf172 Add a missing newline in some error messages. 1994-11-22 09:36:56 +00:00
mycroft db3bde9525 Implement EIDE multi-sector PIO and DMA modes, based on code from Onno van
der Linden.  Also, various structural cleanup, and fix two bogons that crept
in, and remove all of the old clustering nonsense.
1994-11-22 09:33:59 +00:00
mycroft 1e01855683 Minor fix to debugging code. 1994-11-22 05:50:48 +00:00
mycroft 85826f0fbe Fudge a couple more fields for ancient disks. 1994-11-22 05:39:16 +00:00
mycroft e1a7bac628 Change some constant names, etc., to better match the ATA spec. 1994-11-22 05:34:49 +00:00
mycroft 95edd299b0 Add still more locking. 1994-11-22 03:23:49 +00:00
mycroft 5bd4115690 Add some missing locking, and some general cleanup. 1994-11-20 22:36:43 +00:00
mycroft 9a3840f2f0 Stylistic changes. 1994-11-18 22:25:12 +00:00
mycroft 61800cfa25 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 22:07:32 +00:00
mycroft 35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +00:00
mycroft a2727ec558 Check IRQ 9, not IRQ 2. 1994-11-15 00:00:24 +00:00
mycroft b341f7a8c0 Map IRQ 2 to IRQ 9. 1994-11-14 23:58:56 +00:00
mycroft 21e911d911 Update for new autoconfig. 1994-11-07 09:03:48 +00:00
mycroft 2a9b6f7959 Fix stupid bug in last change. 1994-11-04 23:30:15 +00:00
mycroft 4ec6774e12 Add a simplified version of wdcommand() that can be used in some cases.
Avoid needing a wd_softc inside wdprobe().
1994-11-04 23:18:06 +00:00
mycroft 3df6bf0c0e Trivial stylistic changes. 1994-11-04 21:32:23 +00:00
mycroft 854d8d96dc Rearrange slightly. 1994-11-04 19:25:34 +00:00
mycroft cfc4633919 Remove outdated comment. 1994-11-04 19:17:47 +00:00
mycroft b7acf321cd No longer needs icu.h. 1994-11-04 18:59:34 +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
mycroft ebbdd6473b Update to match autoconfig code. 1994-11-03 23:26:03 +00:00
mycroft 19fc9d55c8 *intr() arg does not need to be void*. 1994-11-03 23:23:38 +00:00
mycroft d0163400d1 Update to match autoconfig code. 1994-11-03 23:21:24 +00:00
mycroft 54cc63645d Update to match autoconfig code. 1994-11-03 23:08:27 +00:00
mycroft d23d1e83dc Use indirect config for subdevices, and add dkdrivers where missing. 1994-11-03 22:55:58 +00:00
mycroft 283745574f Commit this, though it really does need work. 1994-11-03 16:55:57 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
mycroft 9769a6a6f7 Various:
* Forget all cached info when opening a new disc.
* If the disc is removed, flush the buffer queue rather than stalling it.
* Set the default label after getting the disc size, and fill in the info
for RAW_PART also.
* Change another use of the unit number to a softc pointer.
* Use a dkdevice to hold the label and open partition masks.
* Force the partition offset to 0 for RAW_PART, regardless of the label.
* Nuke MCDPHYS() and MCDREADRAW; they had a silly bug that caused the code
to not work, and they aren't useful anyway.
Some other minor cleanup.
1994-10-28 23:39:59 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft 556a119342 Implement *cnpollc(). 1994-10-26 18:06:30 +00:00
mycroft 260ddbefb7 Rearrange ed_init() slightly, to better correspond to the National manual.
Optimize ed_rint() slightly in the case of multiple packets.  (Avoid an outb
and an inb for each packet).
1994-10-23 23:24:56 +00:00
mycroft 603fe7b5a6 Slight optimization. 1994-10-23 21:38:00 +00:00
mycroft 0114159848 Fix the packet length correction for buggy chips so that it actually works,
and always use it (otherwise short packets could still be corrupted).  Also
produce a diagnostic message if DIAGNOSTIC, since it *is* a hardware bug.
Add an ED_PAGE_SHIFT constant, and use it, to avoid GCC doing horrendous
things with divides and multiplies.
1994-10-23 21:22:13 +00:00
mycroft 3e30a415ae Be careful not to stack multiple timeouts. 1994-10-20 19:22:01 +00:00
mycroft 4d072c5435 Remove the local timeout mechanism, and just use explicit timeout()/untimeout()
calls.
1994-10-20 18:37:45 +00:00
mycroft c11a06cbc2 Always set d_secsize to 512 for now. 1994-10-20 17:03:09 +00:00
mycroft 0862d07daf Don't switch to single-sector mode just because we got a corrected error. 1994-10-20 16:36:21 +00:00
mycroft d4153fff4d Rearrange wdcstart() in a more logical fashion, and eliminate many redundant
calculations.  Also, speed up bad block searching a little.
1994-10-20 16:19:08 +00:00
mycroft cd66683989 openpart -> openmask 1994-10-20 14:08:07 +00:00
mycroft cae71ba91d Various changes:
* Add a dkdevice; move sc_*openpart, sc_label, and sc_cpulabel into it.
* Turn sc_wlabel into a flag, and don't set it automatically in DIOCWLABEL.
* If there is no label, disallow all I/O except to the raw partition.
* Don't allow I/O to `unused' partitions.
* Beginnings of support for block sizes other than 512 bytes.
Other minor changes.
1994-10-20 13:44:46 +00:00
mycroft 8ae8b4ab29 Bug fixes from Rafal Boni:
* Set promiscuous mode flag before configuring card, so it actually works.
* Handle failed TDR commands correctly.
* Remove some apparently defunct and bogus code.
(This driver needs more work.)
1994-10-18 13:40:30 +00:00
cgd 320359f8e2 change, requested by Jarle Greipsland 1994-10-17 00:08:29 +00:00
cgd 49c34d3337 move arch dependence to archs. clean up a bit. deal with weird MAXPARTITONS. 1994-10-14 18:26:22 +00:00
mycroft 6f5794ecba Fix bugs in dealing with odd-length mbufs in ed_pio_write_mbufs(). From
John Hood.
1994-10-14 13:05:13 +00:00
mycroft 7c01f7ce51 Changes from DG to deal with some old chips that corrupt the packet length. 1994-10-12 13:42:00 +00:00
mycroft 4252ca6644 Correct multicast filter calculation. 1994-10-09 21:19:04 +00:00
mycroft 236f105ccd Remove unneeded #includes. 1994-10-09 15:06:23 +00:00
mycroft b90985ee3d Don't poll the BUSY bit until the SDH register is set. 1994-10-07 11:34:52 +00:00
mycroft 1eaa03e7dc Fix initial allocation of dev array, and simplify the code
slightly.
1994-10-07 09:08:29 +00:00
mycroft 86e7908a72 Make some comments more clear. 1994-10-01 07:19:32 +00:00
mycroft f7b0f89811 Various minor changes to sync better with DG's version. 1994-10-01 07:13:32 +00:00
mycroft 0e28696023 Add IO_PPI. 1994-10-01 03:52:46 +00:00
mycroft e32c213d35 Add IO_PMP[12] and IO_PMPSIZE. 1994-10-01 03:48:49 +00:00
mycroft b7cc64e049 Check the SB Pro IRQ and DRQ correctly. From Jason Thorpe. 1994-09-16 23:48:22 +00:00
mycroft c7003d37d3 Only reset FIFO if changing baud rate. From John Kohl (slightly edited). 1994-09-16 02:50:39 +00:00
mycroft 8dd2c63b08 Turn off the delay debugging messages again. 1994-09-12 20:29:08 +00:00
mycroft 584de55692 Missed an iobase that should be u_short. 1994-09-05 00:21:40 +00:00
mycroft a13c1b15cc Minor. 1994-08-26 12:43:17 +00:00
deraadt de20d2cf67 Re-enable EISA reset code -- definately needed now. do RX_DISCARD_TOP_PACK
before leaving splhigh(), to give incoming packets a better chance.
1994-08-26 12:11:44 +00:00
deraadt 6c2b49032b fix debugging stuff, from dean 1994-08-25 20:18:25 +00:00
mycroft 5e4a51278b Set the FIFO threshold based on the receive speed, per Mark Weaver. 1994-08-24 07:25:18 +00:00
mycroft c4eac0f370 Some cleanup, checked by Dean. 1994-08-23 23:40:55 +00:00
mycroft 8ac5e10c5d Various code cleanup. 1994-08-23 19:30:12 +00:00
deraadt 666f228bab add `eg' driver for the 3c505 by <dean@fsa.ca> 1994-08-23 17:59:33 +00:00
mycroft 996b2b5c54 Disable EISA reset, for now. 1994-08-22 21:53:23 +00:00
mycroft 71c5da7bfb Fix typo in WDCS_BITS. 1994-08-22 21:43:35 +00:00
mycroft 8b8390a4bb Look for MDMBUF in cflag, not lflag. 1994-08-21 15:04:37 +00:00
deraadt 256353ef62 multicast 1994-08-17 06:04:49 +00:00
mycroft 5f27568164 Eliminate struct pte and struct pde. 1994-08-15 14:46:45 +00:00
mycroft 36975ff354 Don't use altsts. Sigh. 1994-08-15 08:22:20 +00:00
mycroft a618f9d915 Slight optimization, and don't go bonkers if one of the sub-devices is not
configured.
1994-08-14 14:13:25 +00:00
mycroft a570fcd929 Re-enable EISA reset. 1994-08-14 09:43:59 +00:00
mycroft cd2f7cc8a0 Clean up a little. 1994-08-14 09:24:55 +00:00
mycroft 061c42c22d Minor update. 1994-08-08 07:09:31 +00:00
mycroft 59de58a39b Count up the silo overflows and only log a warning at most once per minute. 1994-08-07 11:27:51 +00:00
mycroft 9c8afcf191 Avoid using DFIFOHF, which doesn't exist on 6260 chips. Turn off
AIC_USE_DWORDS by default.
1994-08-07 10:51:40 +00:00
mycroft d9a996a92e Add multiplexer for RT 4-port serial cards. 1994-08-07 10:45:53 +00:00
mycroft b6e9bf14c8 Simplify the DEPCA memory test, and fix a problem with using the alternate
PROM address.
1994-08-07 00:56:04 +00:00
deraadt ebd23fe5e0 cleanup 1994-08-06 23:19:39 +00:00
mycroft 558c00c001 Fix spelling of `STEREO'. 1994-08-05 22:56:19 +00:00
deraadt cefefb25ca cleanup, working 32 bit IO on the 3c579, and memory alignment of insl/insw
for better performance.
1994-08-05 21:16:33 +00:00
mycroft 9d7eefb176 Change iosize to 16. 1994-08-03 09:17:12 +00:00
mycroft a17171c0a2 Add a missing splx() and increase the reset delay during probe, as suggested
by Juergen Keil.  Add a diagnostic message if the controller info is not what
we expect.
1994-08-03 08:57:59 +00:00
mycroft 45b0217c1e Fix up u14_find() a bit; mainly, don't include a DRQ for the 34f. 1994-07-31 19:21:40 +00:00
mycroft a00c5fdb91 Add some missing newlines in the attach messages. 1994-07-31 18:25:50 +00:00
mycroft 8a9df6389d Bug fixes from Mark Weaver. 1994-07-31 11:34:38 +00:00
mycroft 53f3b61cdc Redux. 1994-07-28 19:57:31 +00:00
mycroft c405e84a24 port --> iobase 1994-07-28 09:50:33 +00:00
mycroft d02e11d543 Make the EISA reset code like the other drivers. 1994-07-28 08:44:47 +00:00
mycroft fb500c4d07 Redo some of the EISA config stuff. 1994-07-28 02:39:21 +00:00
mycroft c1a5741a3b Remove unused macros. 1994-07-27 15:02:59 +00:00
mycroft 5e04cfb942 Fix typo. 1994-07-27 13:24:17 +00:00
mycroft 1939acdbd2 Fix the DMA setup. 1994-07-27 13:10:33 +00:00
mycroft 1a9c6d05a3 Enable IRQ probing, and fix the DMA setup. 1994-07-27 12:57:02 +00:00
mycroft dffcd8ea8d Enable IRQ probing. 1994-07-27 03:09:21 +00:00
mycroft 16878bf2f9 Enable IRQ probing. 1994-07-27 01:50:57 +00:00
mycroft 35b4db3030 Add IRQUNK. 1994-07-27 01:50:15 +00:00
mycroft b5ce4d0cdd Normalize label handling. 1994-07-26 19:36:06 +00:00
mycroft a18c0c0d83 Look for errors in the right place in a transmit descriptor, and count
collisions.
1994-07-25 22:54:58 +00:00
mycroft 220a5a5095 Add missing splbio()s, pointed out by Gene Stark. 1994-07-25 04:29:56 +00:00
mycroft 1c46c460ee Return EINVAL if the requested transfer size is weird. 1994-07-21 23:44:16 +00:00
mycroft 7fca65c005 Remove something which cannot possibly be correct. 1994-07-21 04:15:05 +00:00
mycroft 37dc11891c Fix a typo. 1994-07-21 03:40:53 +00:00
mycroft 4469aea569 Do the EISA probing a little differently. 1994-07-21 03:30:18 +00:00
deraadt 3013b3fdbc check if eisa card exists before tromping on dma 1994-07-21 02:51:53 +00:00
mycroft cc9da7d69f Fix failed probe message. 1994-07-16 13:45:59 +00:00
mycroft e88e13f3bb Fix a bogon relating to >16-bit addresses that I introduced. Fix up BPF
support for received packets.
1994-07-15 21:20:48 +00:00
mycroft db0e00db86 Clean up a bit. 1994-07-10 17:53:12 +00:00
mycroft 668c4747b3 Rename flags; clean up a bit. 1994-07-05 21:20:20 +00:00
mycroft 801d30952a ISDEBUG --> LEDEBUG, and fix some ugly code. 1994-07-02 04:13:16 +00:00
deraadt 943735dc41 modifications to the threshold and nicer error checking from christos
and .. splhigh() around insw/outsw code.. yetch
1994-07-01 23:08:11 +00:00
mycroft 73aca695ac Make sure we don't leave the interrupt masked after some errors. 1994-07-01 21:38:19 +00:00
mycroft 2f609096e4 Inline le{rd,wr}csr(). 1994-07-01 21:34:40 +00:00
mycroft bf74fc41d1 Add prototype. 1994-07-01 21:33:20 +00:00
mycroft f62bc452ca Correct some comments. 1994-07-01 21:31:14 +00:00
mycroft 66e72cdf4b Rename is to le, and add support for some models of DEPCA. 1994-07-01 20:25:25 +00:00
mycroft a69dd750a2 b_un.b_addr -> b_data 1994-06-16 01:07:30 +00:00
mycroft f4a9e46aaf Fix unimportant typos. 1994-06-13 18:54:41 +00:00
pk ff9c5cdde5 Set `uio_procp' field in case we ever need it. 1994-06-09 20:00:13 +00:00
mycroft bb4ba15c7f Add (experimental) 24f handling. 1994-06-08 11:16:49 +00:00
deraadt 00eb72f54b two fixes from christos 1994-06-04 01:52:28 +00:00
mycroft 9bc7771492 Allow the probe to succeed again on 445S cards. 1994-06-03 15:56:18 +00:00
mycroft 37c76e16d1 Only print the blasted messages *once* per error. 1994-05-27 08:54:52 +00:00
hpeyerl 30c08c899f Copyright foo. 1994-05-25 20:41:53 +00:00
mycroft 0645f8963f Check the bus type, and don't attempt to enable the round-robin algorithm
on early boards.  As suggested by Atsushi Murai.
1994-05-24 13:39:15 +00:00
mycroft a9376b883a MIN --> min 1994-05-24 07:31:12 +00:00
cgd ebcaebd335 MIN -> min, MAX -> max 1994-05-24 02:35:53 +00:00
cgd 057dc4deec quiet compiler warnings 1994-05-23 03:02:13 +00:00
cgd e47989d1e5 turn off spontaneous printing of messages when DEBUG turned on 1994-05-23 02:33:23 +00:00
deraadt 18dab72811 32bit eisa does not work now, do not even try 1994-05-21 05:34:02 +00:00
mycroft 922959fd05 Reverse the order of disabling shared memory and turning off 16-bit mode
where necessary, per Steve Wallace.
1994-05-19 07:47:34 +00:00
mycroft 949b970c95 Use ether_ifattach() rather than doing the same thing in each driver. 1994-05-13 06:13:43 +00:00
mycroft 7040f728a9 Fill in some more struct ifnet fields. 1994-05-11 12:09:17 +00:00
mycroft 02ec14c597 Add dummy *dump() routines. 1994-05-11 09:49:17 +00:00
mycroft bd96a072fd Nothing of consequence. 1994-05-11 02:28:42 +00:00
mycroft fcdc2b3f3f Remove now-bogus cast. 1994-05-05 08:31:44 +00:00
mycroft 5f478330e8 Remove now-bogus casts. 1994-05-05 08:31:00 +00:00
mycroft 04df00527c Retool the state machine is a sane way. 1994-05-05 08:26:13 +00:00
mycroft 685508a6b4 Remove now-bogus cast. 1994-05-05 07:52:53 +00:00
cgd a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
mycroft a9c3f137b5 Don't frob the connector type if the card doesn't grok soft config. 1994-05-05 02:20:44 +00:00
mycroft e5c1d566ef Really fix the Buslogic/DTC problem. 1994-05-03 20:53:54 +00:00
mycroft 0ee51c2c8b Forgot to munge the #includes in last commit. 1994-05-03 20:32:22 +00:00
mycroft 884168ce49 Move beep junk to clock.c. 1994-05-03 08:23:55 +00:00
mycroft 36a9bcce8d Fix argument to aic_sched_msgout() is several places, and condense some code. 1994-05-03 08:20:43 +00:00
deraadt 394be046a5 insw takes a word count 1994-05-02 06:37:10 +00:00
cgd e0db92993a change timeout/untimeout/wakeup/sleep/tsleep args to void * 1994-04-29 23:15:51 +00:00
mycroft 39718a43cc Enable/disable shared memory access on all WD/SMC boards. Add support for
software selection of AUI or BNC connectors using LINK0.
1994-04-28 04:53:09 +00:00
mycroft fc844e1797 Style nits. 1994-04-26 03:43:26 +00:00
mycroft 62773fc6f8 Add Adaptec 6360 driver from Jarle Greipsland, with some changes by me. 1994-04-26 00:05:56 +00:00
mycroft 0e689f0375 Fix uninitialized pointer, pointed out by Michael VanLoon. 1994-04-25 03:16:03 +00:00
deraadt 30c24e4508 bit better now, fixes from me & charles. squishy squishy squishy. HI ADAM! 1994-04-24 02:48:10 +00:00
mycroft 2f66816d8b Rename two files. 1994-04-24 01:34:05 +00:00
mycroft 84752ce046 Don't need isa.h. 1994-04-24 01:29:56 +00:00
hpeyerl 0ef8000051 Some changes from Charles, Adam and Christos Zoulas. 1994-04-23 04:31:12 +00:00
mycroft eb036e74c5 Don't need isa.h. 1994-04-22 23:02:40 +00:00
mycroft 221b25fd9d Separate DMA functions. 1994-04-22 22:58:50 +00:00
mycroft 160fbf23ec Fix typo. 1994-04-21 04:26:37 +00:00
mycroft 584cd2e4c9 Clean up the TUNE_1542 code. 1994-04-21 03:37:19 +00:00
mycroft 245097a031 Fix return of I/O space size from wtprobe(), as reported by Rafal Boni. 1994-04-21 00:41:52 +00:00
mycroft 893be926ec Use TAILQ_*() to maintain the drive activation queues. 1994-04-20 07:23:52 +00:00
deraadt 0d93a0839c queue up 8 mbuf chains once again, perhaps this will help?
read packets of the card before attempting to transmit (should improve speed)
1994-04-18 12:40:39 +00:00
deraadt 4816eedf31 first attempt at EISA 32bit IO support. it still doesn't work so it's
disabled.
1994-04-16 09:53:45 +00:00
deraadt 8aca9c1cbc support multicast and promiscious mode
correct mbuf queue bugs, cleanup some extra symbols
try to let link0/link1 change while running, will this work?
1994-04-15 10:51:28 +00:00
mycroft 07b3588735 Patches from David Greenman to eliminate magic constants and add delays when
switching to and fro 16-bit access for 790s.
1994-04-14 03:54:07 +00:00
deraadt 920c317ff9 deallocate mbuf cache on ifconfig down. 1994-04-13 06:09:00 +00:00
deraadt e7eb2d4831 support multiple eisa/isa cards. 1994-04-11 11:09:00 +00:00
cgd e872e13605 allow MDMBUF flags to be set (oops) 1994-04-10 10:29:06 +00:00
mycroft cabd481fa9 Don't print a duplicate message about stray interrupts. 1994-04-09 03:43:36 +00:00
mycroft fc5d3e31e0 Small fix to attach message. 1994-04-08 18:57:24 +00:00
mycroft 55efebae3e Fix return values from some interrupt routines. 1994-04-08 18:22:15 +00:00
mycroft 72c593c2e3 Fix return fro isa_epprobe(). 1994-04-08 17:58:47 +00:00
mycroft 0ae5489036 Return correct values from edintr(). 1994-04-08 17:16:39 +00:00
mycroft 3f5e4f423f Implement dynamic IRQ configuration and IRQ sharing. Inline spl*() calls.
Reorganize and clean up the relevant code.
1994-04-07 06:48:19 +00:00
mycroft 8b1679d75d Remove spurious arg to printf(), per JT Conklin. 1994-04-06 00:27:49 +00:00
mycroft 314bc1f5db Clean up #includes. 1994-04-03 22:50:14 +00:00
mycroft 5edb523880 Remove an old hack that now just causes a small memory leak during autoconfig. 1994-03-31 16:59:04 +00:00
mycroft b6f5403319 Some patches from Rafal Boni to fix egregious 3C507 mistakes. 1994-03-31 06:16:35 +00:00
mycroft 23c5083a45 Minor changes. 1994-03-30 18:35:11 +00:00
mycroft 8ccc7bdffb Turn off the timeout debugging info by default. 1994-03-30 04:58:32 +00:00
mycroft 95f1b85a5a astprobe(): Set ia_iosize. 1994-03-29 06:58:29 +00:00
mycroft 592ec61b17 Updates for new autoconfig. 1994-03-29 04:35:37 +00:00
mycroft 5eb99ad76e New autoconfig mechanism. Hacked at the moment to use old config(8), but
look mostly like config.new to drivers.
1994-03-29 04:34:18 +00:00
mycroft 6bce5180d6 New version from Sergey Ryzhkov and Serge Vakulenko. 1994-03-29 04:32:12 +00:00
mycroft e1d51562a9 New SCSI system, based on Julian's more recent work. 1994-03-29 04:30:15 +00:00
mycroft d5a269b4dd Put controller target in scsi_switch. 1994-03-25 07:38:51 +00:00
mycroft 008f13bb69 Fix off-by-one error in comopen() unit number sanity check. From Brian de
Alwis.
1994-03-25 04:38:01 +00:00
cgd 18f36e1745 copyright foo 1994-03-23 03:55:24 +00:00
mycroft a3c2ef3169 Don't poll more than 4 ports. 1994-03-23 03:04:32 +00:00
mycroft 4cc5b77bfa Some stylistic cleanup, and a very minor speedup. 1994-03-23 03:01:50 +00:00
cgd c6b399cce8 add AST-style serial multiport support, from Roland McGrath
<roland@@frob.com>.  Needs light clean by Mr. I386, but mostly
OK.  For some reason, Bad Things (TM) happened on the last cvs commit.
1994-03-23 01:28:23 +00:00
cgd c24c16f35f add AST-style serial multiport support, from Roland McGrath
<roland@frob.com>.  Needs light clean by Mr. I386, but mostly
OK.
1994-03-23 01:25:53 +00:00
cgd 456e197d26 add reasonable support for MDMBUF output flow control. input to be done later 1994-03-18 05:13:26 +00:00
mycroft b03c4f17ca Remove two bogus splx()s. 1994-03-14 13:32:56 +00:00
hpeyerl 936ff09fcd Fix for trailer support reported by <sommerfeld@orchard.medford.ma.us> 1994-03-14 06:57:25 +00:00
mycroft fe3d0b99c3 Prefix the busy-wait messages with `ignore this:' so people stop reporting
it as a bug.
1994-03-12 22:36:40 +00:00
mycroft 9ab5683dc7 Fix problem with reading the disk label if it's not at the beginning of the
disk.
1994-03-12 22:32:48 +00:00
cgd 39f57c7820 copy appropriate hardware config bits from config's flags 1994-03-12 08:04:19 +00:00
cgd 86ac0459be fix some of the last; thanks to charles for looking it over... 1994-03-12 07:43:03 +00:00
cgd c38cf8e43e support new ioctls. fix the way CRTSCTS is used, etc. Seperate 'hardware'
and 'software' flags.  beginnings of multiport support.
1994-03-12 07:25:16 +00:00
mycroft 15d0f84500 Fix bug in last change. 1994-03-12 04:10:03 +00:00
mycroft 15d758c39a Remove backward compatibility hacks for config(8), as they are no longer
useful.
1994-03-12 03:45:03 +00:00
mycroft d884f7c425 Update to match config(8). 1994-03-12 03:34:02 +00:00
mycroft d72e576cfb Rearrange top-level configuration to be more consistent. 1994-03-12 03:29:20 +00:00
mycroft 119f3ea688 Various:
Put WDF_ERROR in the wdc_softc, to avoid gratuitously forcing non-active drives
into single-sector mode on the next transfer.  Arrange to wait for an interrupt
after wdsetctlr(); this avoids long busy-wait delays, and gets rid of the
`extra interrupt' messages (except for one immediately after autoconfig on some
machines).  Replace some uses of wdsetctlr() with simply lowering wd->sc_state;
no point in forcing this immediately.  Allow control operations to time out.
Enable the warnings for long busy-wait delays by default.  Some other minor
things not worth mentioning.
1994-03-11 23:29:12 +00:00
mycroft 99dbc0692d Add a heuristic for detecting old config(8)s. This is very temporary. 1994-03-10 22:30:06 +00:00
mycroft 390f5990bb Now that the disk probe routines are actually called, they need to return
something.
1994-03-10 21:52:07 +00:00
mycroft b8be52a88c Update for new config; handles subdevices differently. 1994-03-10 21:38:46 +00:00
mycroft 367c93feb4 Updates to match config(8). 1994-03-10 20:52:09 +00:00
mycroft 0c19458c6f More updates for new config. 1994-03-10 20:05:30 +00:00
mycroft aa45779df7 Update for new config. 1994-03-10 19:57:20 +00:00
mycroft 095308adeb Add isa_dmaabort(). 1994-03-10 18:14:32 +00:00
mycroft e4102b8797 Cleanup to fit standard coding conventions, and *many* bugs fixed. 1994-03-10 05:18:33 +00:00
mycroft aab638bd07 Fix NS handling. 1994-03-09 17:19:10 +00:00
mycroft 3a57542a30 Back out previous change for now. 1994-03-09 07:58:39 +00:00
mycroft a692d2185a Inline spl*() calls. 1994-03-08 13:24:46 +00:00
mycroft a618881dd7 #include cpu.h in all files which use spl*(). 1994-03-08 12:21:10 +00:00
mycroft 49051114a6 Major cleanup and many bugs fixed; based in part on Brad Huntting's version
for BSD/386.  More to be done when the low-level interrupt system is replaced.
1994-03-08 08:12:56 +00:00
mycroft 5a17003403 Some changes inspired by Bruce Evans's driver:
Consolidate error reporting in one function.  Actually use the dk_status and
dk_error fields, and pass around only the error bit to avoid lots of unneeded
assignments and tests.  No functional differences.
1994-03-07 05:54:44 +00:00
mycroft 991225bfc8 Remove DKFL_QUIET. 1994-03-07 03:18:35 +00:00
ws 581b6ca207 Don't let uninitialized variable slip by 1994-03-06 19:34:46 +00:00
mycroft 41cc9cb4f2 Better delay() from magnum branch. 1994-03-06 17:37:56 +00:00
mycroft 5f4063cc56 DELAY() --> delay(). This is not a macro. 1994-03-06 17:21:44 +00:00
mycroft 0c082bcaf8 DELAY() --> delay(). This is not a macro. 1994-03-06 17:18:43 +00:00
mycroft 87ed28e74e Move the drive select and various other things into wdcommand(), to avoid
duplicating code.
1994-03-05 08:17:06 +00:00
mycroft 3e02952c52 Make sure we clear the interrupt when necessary. Why this isn't needed on
my hardware is a mystery.
1994-03-04 23:43:14 +00:00
mycroft 652712272f Add another missing splx(). 1994-03-04 17:51:10 +00:00
mycroft 0f92f76ceb Remember to splx() on some error conditions. 1994-03-04 17:45:22 +00:00
mycroft ef3c1bf7e6 Start the timeout loop *after* we've decided there is a disk there. 1994-03-04 04:15:24 +00:00
mycroft 220512c2a8 De-ANSIfy. Move the timeout counter into struct disk. Remove unneeded args
to wd[gs]etctlr().  Other minor changes.
1994-03-04 03:43:48 +00:00
hpeyerl 499a02a6a9 New probe for 3c579's (EISA). EISA cards still don't work but I
have no idea when I'll be able to work on this next.
1994-03-04 01:31:50 +00:00
mycroft 34115459a4 Upload the ether address to the card after a reset, per Matt Kimmel. 1994-03-03 15:30:27 +00:00
mycroft fa396ad402 Watch `seek complete' bit per IBM documentation. Clean up wdioctl(). Other
minor cleanup.
1994-03-03 01:58:21 +00:00
mycroft 7b734f94ec Be more careful about clearing the controller and drive active flags. 1994-03-02 23:27:13 +00:00
mycroft 37135f9686 Add 8003W and 8003EB, per David Greenman. 1994-03-02 22:47:36 +00:00
mycroft 21118b1bc4 Don't busy-wait for read or write completion. 1994-03-02 22:07:00 +00:00
mycroft 469206981a Fix prototype of wdintr(). 1994-03-02 21:43:42 +00:00
mycroft e9326b3ba7 Make wdc_wait() do an implicit wait_for_unbusy(). Pass structure pointers
rahter than unit numbers where appropriate.  Fix conflict if two drives have
I/O pending at the same time.  Add some more sanity checks.  Some other minor
cleanup.
1994-03-02 21:42:31 +00:00
mycroft 81de6fa982 Increment outbound packet count, per Matt Kimmel. 1994-03-02 16:23:23 +00:00
hpeyerl a37cf2aecc Make probe routines return amount of space used. Still needs some
work to determine difference between SB/SB-pro.
1994-03-02 16:23:10 +00:00