Commit Graph

860 Commits

Author SHA1 Message Date
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
mycroft 87d43afd46 Clean up to match common code, and fix a typo. 1995-04-07 22:27:42 +00:00
mycroft 0e67f2a78e Rename a few constants to match the chip documentation. 1995-04-04 01:59:28 +00:00
mycroft 13ac06ec6a More debugging printf()s, from Rafal Boni. 1995-04-04 01:44:23 +00:00
mycroft c04ae31e95 Prototype iexmit(). 1995-04-03 21:22:37 +00:00
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