Commit Graph

79 Commits

Author SHA1 Message Date
mycroft
84752ce046 Don't need isa.h. 1994-04-24 01:29:56 +00:00
mycroft
893be926ec Use TAILQ_*() to maintain the drive activation queues. 1994-04-20 07:23:52 +00:00
mycroft
cabd481fa9 Don't print a duplicate message about stray interrupts. 1994-04-09 03:43:36 +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
8ccc7bdffb Turn off the timeout debugging info by default. 1994-03-30 04:58:32 +00:00
mycroft
592ec61b17 Updates for new autoconfig. 1994-03-29 04:35:37 +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
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
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
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
e4102b8797 Cleanup to fit standard coding conventions, and *many* bugs fixed. 1994-03-10 05:18:33 +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
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
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
21118b1bc4 Don't busy-wait for read or write completion. 1994-03-02 22:07:00 +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
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
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
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
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
mycroft
664f968d53 Inline all the [lr]cr[023]() `functions' in cpufunc.h. 1994-01-03 16:23:06 +00:00
mycroft
c0e772492e Inline all the [lr]cr[023]() `functions' in cpufunc.h. 1994-01-03 16:21:48 +00:00
ws
778a3db3d0 Correct dumping to WD (was destroyed by MACHINE_NONCONTIG code) 1993-12-24 13:56:14 +00:00