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