Commit Graph

429 Commits

Author SHA1 Message Date
mycroft df873c8545 Maintain the xs free list with LIST_*(). 1994-04-20 22:13:33 +00:00
mycroft 893be926ec Use TAILQ_*() to maintain the drive activation queues. 1994-04-20 07:23:52 +00:00
cgd 28aa66d455 update from hibler 1994-04-20 05:01:22 +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
mycroft eee893f9ea Various cleanup, but no functional differences. 1994-04-13 05:43:19 +00:00
cgd 49b3055feb undo that last 1994-04-11 21:53:54 +00:00
cgd 34ac381d05 don't cdevvp() if a vnode for the dev already exists. Note that that's
conceptually icky; you end up ref'ing a 'real' vnode, and hence perhaps
tying down a file system; should be able to reference a 'fake' one,
but i doesn't appear save to cdevvp() if vnode for same dev is already
around...  also, mark vfinddev()s XXX (for later).
1994-04-11 19:53:29 +00:00
deraadt e7eb2d4831 support multiple eisa/isa cards. 1994-04-11 11:09:00 +00:00
mycroft 58dfc9dffc Fix various types. Remove some outdated flags. 1994-04-11 03:53:58 +00:00
mycroft c01cb5c454 Fix various types. Remove some outdated flags. Actually sleep a bit if
there are too many commands pending on the controller.
1994-04-11 03:53:45 +00:00
mycroft 8b10b2cd18 Combine scsi_start_unit() and scsi_stop_unit(), and increase the start
timeout (again).
1994-04-11 02:23:41 +00:00
cgd e872e13605 allow MDMBUF flags to be set (oops) 1994-04-10 10:29:06 +00:00
cgd 17378eaf33 and fix the other case. ugly fix, but it works 1994-04-10 01:11:28 +00:00
mycroft f16c2e25f8 Add another rogue... 1994-04-10 00:07:02 +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 5fe1b5b538 Redo the last change; it was compltely bogus. 1994-04-06 00:43:57 +00:00
mycroft 8b1679d75d Remove spurious arg to printf(), per JT Conklin. 1994-04-06 00:27:49 +00:00
mycroft 87e831ef86 Try to detect garbage data from page 4 sense. 1994-04-06 00:23:31 +00:00
mycroft 100fdbd6d1 This line is redundant for LD_UNLOAD (only one use, and it does this itself)
but breaks LD_RETEN, forcing a reload of the driver state on the next I/O
operation.  Therefore, it goes away.
1994-04-05 22:39:37 +00:00
mycroft 8d0730c420 Reload the tape after retension. 1994-04-05 22:18:00 +00:00
mycroft 44f11a89b3 Implement MTRETEN (untested). 1994-04-05 22:08:09 +00:00
mycroft 692dc0e998 Implement MTEOM, currently untested. 1994-04-05 21:59:49 +00:00
mycroft 25317c76f3 Increase ahb_send_mbox timeout. 1994-04-05 08:53:00 +00:00
mycroft 314bc1f5db Clean up #includes. 1994-04-03 22:50:14 +00:00
mycroft 9a9b1d99fa Minor code cleanup. 1994-04-02 08:04:26 +00:00
mycroft 96f452cd84 Deal with Mark Weaver's rogue tape drive. 1994-04-01 06:49:22 +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 ea6d9af1c2 Print out board revision info. 1994-03-30 04:07:48 +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 2e5a28159f New SCSI system, based on Julian's more recent work. 1994-03-29 04:29:20 +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 c3218832ba print even more SCSI sense data; this should be in a function... 1994-03-24 17:47:35 +00:00
cgd 20c82de12d print out lots of info on non-media hardware error... 1994-03-24 04:32:44 +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