Commit Graph

703 Commits

Author SHA1 Message Date
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
mycroft 165d9e602c Fix the 790 interrupt table, per Christoph Robitschko. 1994-03-02 03:40:46 +00:00
mycroft 9091bc8257 Remove some dead code. 1994-03-01 18:22:52 +00:00
mycroft 7dd7c20604 Clean up DMA code. Mask and unmask channels. Warn if terminal count not
reached.
1994-03-01 18:16:33 +00:00
deraadt 83c054bf10 Driver should now work on new & old bt742/747/445 versions of the
BusTech cards. Fixes from Michael VanLoon <michaelv@iastate.edu>
KNF'd too.
1994-03-01 12:42:36 +00:00
mycroft 69b37af13f Clean up a bit more; make it look like other drivers. Remove SIOCGIFADDR. 1994-03-01 05:41:26 +00:00
cgd 92dba352d6 format cop, plus fix up ether_type byte order difference.
things that i think look bogus are marked "XXX" with "cgd" in the
same line; some enet-savvy person should look through them.
1994-03-01 04:12:25 +00:00
hpeyerl a65ae4142d Driver for 3Com Etherlink (3c501)
>From Matthew E. Kimmel (kimmel@cs.umass.edu)
1994-03-01 02:45:00 +00:00
mycroft 8ba740e6ab Get the residual count right. 1994-02-26 19:49:25 +00:00
mycroft 060ee7dbab Clean up busy-wait code a little, and we need a special disksort() to skip
over bufs in a combined transfer.
1994-02-26 19:00:51 +00:00
mycroft 969cea2357 Fix bug from 1.43 correctly. 1994-02-26 17:59:46 +00:00
mycroft 4299a2baec Fix typo. 1994-02-26 17:13:44 +00:00
mycroft aeae0fd5e3 Various cleanup, and fix last night's bug. 1994-02-26 17:10:12 +00:00
mycroft fa83b6f469 Fix typo. 1994-02-26 00:08:01 +00:00
mycroft a7cdc040ec Some more stylistic cleanup. 1994-02-26 00:00:17 +00:00
hpeyerl e56750e9d0 Remove backwoods compatibility. 1994-02-25 23:09:26 +00:00
mycroft 7f6bce365b Fix an obvious bug that could stall the queue. 1994-02-25 18:30:37 +00:00
mycroft 2c3b28e0f9 Remove some redundant code. 1994-02-25 18:17:30 +00:00
mycroft 7e6ee0b562 Increase polling delay. 1994-02-25 18:08:21 +00:00
mycroft 9091e07409 Generalize busy-wait loops. 1994-02-25 17:45:28 +00:00
mycroft faf08f7262 Don't bother #ifdefing things that are needed and always enabled. 1994-02-25 16:54:41 +00:00
mycroft f6cee22427 Don't reimplement disksort(). 1994-02-25 16:43:48 +00:00
mycroft 373782a3af `We are the KNF. You will be assimilated.' 1994-02-25 16:40:47 +00:00
mycroft 8e023368fd Add clockmask. 1994-02-22 23:39:32 +00:00
mycroft a8889484e3 Add clockmask. 1994-02-22 23:36:09 +00:00
mycroft 34a3a5ea06 Fix copyright. No code by G. Clark left. 1994-02-21 15:23:59 +00:00
mycroft 0a6f2656f8 Fixed probe routine from Holger Veit; lots of other cleanup by me. 1994-02-21 15:23:11 +00:00
mycroft 485e7af18d Forgot to enable the interrupt on Ultras. 1994-02-20 04:05:26 +00:00
mycroft 7408373b25 Speed it up a little... 1994-02-19 03:36:12 +00:00
mycroft 06dbad88db Minor tweak of no importance. 1994-02-19 02:43:53 +00:00
mycroft 5f76c23bdf Combined version from magnum branch. Somewhat faster and less buggy. 1994-02-18 19:50:56 +00:00
mycroft 7e5b65e9d4 Simplify a couple of bits, since IFF_MULTICAST is always set. 1994-02-17 07:20:06 +00:00
mycroft bc67661c6a Fix the credits. 1994-02-16 20:52:37 +00:00
mycroft 811c50e72e Fix typo. 1994-02-16 20:22:04 +00:00
mycroft c540418d24 Use IFF_ALLMULTI correctly. 1994-02-16 20:15:18 +00:00
mycroft 04a992fa41 Add copyright notices. 1994-02-16 19:28:19 +00:00
mycroft a25bda954d Finish 507 probe routine. 1994-02-16 19:04:41 +00:00
mycroft 1a8d283a97 Move elink_reset() into a separate file, and add a generic elink_idseq(). 1994-02-16 17:59:11 +00:00
hpeyerl 19219795da Add common reset function so if_ep and if_ie don't reset each-other.
(this is a 3commonality)
1994-02-16 07:26:50 +00:00
mycroft e0b1614dc7 Remove some dead code. 1994-02-16 03:03:46 +00:00
mycroft 3ecfc99ae9 Make epsendidseq() look less like it was transliterated from assembler. 1994-02-15 22:57:09 +00:00
mycroft 2670ac57bc Pull from magnum branch. The way this driver does multicast is somewhat
bogus.
1994-02-15 20:56:51 +00:00
mycroft 79b447f626 Hack to make this closer to new config. 1994-02-15 19:37:12 +00:00
mycroft 692010351e Remove imbedded RCS logs. 1994-02-15 15:08:24 +00:00
mycroft ccba59071a Make the multicast filter calculation identical to what will be in if_is.c. 1994-02-14 23:56:16 +00:00
hpeyerl b52fc7e2d9 Pedantism. Should delay after stopping Coax xcvr. 1994-02-14 03:50:09 +00:00
deraadt 8312c9cc62 missing spl's 1994-02-14 02:09:31 +00:00
mycroft 551478ad4a Don't save runt or errored packets. These are almost always `normal', and we
really can't deal with them anyway.
1994-02-13 05:44:39 +00:00
mycroft b0c5083b46 Format police. 1994-02-13 04:12:03 +00:00
mycroft 754f02f1c2 Correct spelling errors. 1994-02-13 03:49:24 +00:00
mycroft 6839509d86 Support for several new cards pulled from magnum branch.
Format police.
1994-02-12 07:16:24 +00:00
mycroft b8e893f885 Add proc arg to wdioctl() proto. 1994-02-11 04:44:30 +00:00
mycroft 9638fd585a Nuke if_init. 1994-02-10 17:17:56 +00:00
mycroft 2f62d06c05 Back pointers are not useful for disksort(). 1994-02-10 15:17:34 +00:00
mycroft bbb3e7618c All ioctl routines take a struct proc * now. 1994-02-09 21:06:46 +00:00
mycroft 7ce014f038 Clean up multicast code; part from magnum branch, and part from Brad Parker
<brad@fcr.com>.  A couple of other nits.
1994-02-08 03:06:20 +00:00
mycroft 57892d4faf Remove another use of b_actl. 1994-02-06 17:39:48 +00:00
mycroft adeebc448e Use b_actf, not av_forw. 1994-02-06 10:00:30 +00:00