Commit Graph

1104 Commits

Author SHA1 Message Date
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 6e9015b37a This is deprecated. 1995-04-11 04:44:44 +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 d4b1924adb LANCE register definitions, plus some utility macros for the machine-
independent driver.
1995-04-11 04:17:50 +00:00
mycroft 24a8feea65 Adjust for endianness, and move CHAN_[AB] out of here. 1995-04-11 02:35:18 +00:00
mycroft 9b0d3f54e8 Move this into a generic location. 1995-04-11 02:29:25 +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 6e992fcd83 Add a dummy cnstop(). 1995-04-10 06:30:52 +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 affcd0e2c8 Properly prototype the switch table functions. Add conf.h-like macros for
defining the switch tables.
1995-04-10 00:50:27 +00:00
mycroft 87d43afd46 Clean up to match common code, and fix a typo. 1995-04-07 22:27:42 +00:00
mycroft 3836533fc6 Add another broken CD-ROM drive to The List. 1995-04-04 05:44:32 +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
ragge a95842832d Bug fixes of interrupt handlers. 1995-03-30 20:55:23 +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
mycroft 1d568eab9a Revamp the locking mechanism slightly. 1995-03-29 23:04:39 +00:00
briggs 0884490297 KERNEL -> _KERNEL. 1995-03-29 21:56:46 +00:00
jtc db0046c14d KERNEL -> _KERNEL 1995-03-28 19:59:56 +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 12a1b9ad67 Add a rogue entry for the ANRITSU DMT780. 1995-03-25 18:41:42 +00:00
mycroft ff6c206c3f Use void* rather than caddr_t in many places. 1995-03-25 00:00:53 +00:00
glass 911fbf48fa fix syntax error. Andreas Gustafsson <gson@clinet.fi> 1995-03-24 20:17:15 +00:00
cgd cba4b405e4 don't let args default, return values, add protos 1995-03-24 15:29:46 +00:00
mycroft 990077ba88 Don't bother with DIOCWLABEL. 1995-03-23 12:13:37 +00:00
mycroft 06d0a67a07 Check for read-only media in open(), not write(). 1995-03-23 12:11:07 +00:00
mycroft d21add8356 Revert cdsize() to do nothing. 1995-03-23 11:51:22 +00:00
mycroft 4712cd33dc Rearrange DIOCWDINFO a little; closer to wd.c. 1995-03-23 11:43:09 +00:00
mycroft 562ca7760b Fix typo. 1995-03-23 11:37:51 +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
cgd f6589edbc7 spaces -> tab 1995-03-09 02:20:34 +00:00
brezak 83fffa3985 Cleanup for SB16 (From Jan Sparud) 1995-03-08 18:27:35 +00:00
mycroft e203e49ef5 Correct spelling of `fictitious'. Add patterns for optical memory devices.
From Alistair Crooks.
1995-03-07 21:46:06 +00:00
chopps a55b765dd3 some cleanup.. 1995-03-02 09:12:27 +00:00
cgd a44a276543 from jason thorpe: add ccdclose(), make it work with the MI scsi code,
and add knowledge of i386 disk device names (XXX).
1995-03-02 06:40:38 +00:00
cgd f694af6712 don't overload buffer structs; allocate and use a 'super-struct' instead. 1995-03-02 06:38:11 +00:00
chopps e3c2563328 Fixup (c)'s and ids. 1995-03-01 11:34:02 +00:00
chopps 2ef7b2e7db new arcnet (2060) device from is@Beverly.Rhein.DE (Ignatios Souvatzis) 1995-02-28 22:03:59 +00:00
brezak 63d3904bce Use irq directly not as a mask 1995-02-28 21:47:42 +00:00
cgd 8f6f7fb7c9 use a buf-within-struct to avoid overloading b_pfcent. 1995-02-27 19:31:00 +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
ragge 389584724a Support for uVAXII, new tmscp driver added. 1995-02-23 17:53:16 +00:00
mycroft 2986fc2fd0 Be less picky about revision numbers for some broken devices. 1995-02-22 19:32:33 +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
brezak 1f5bdc75a9 New audio subsystem 1995-02-21 01:35:58 +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
ragge 431121d46f Fixes for new config. 1995-02-13 00:44:21 +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
pk e560d77223 Another Maxtor botch. 1995-02-09 10:23:14 +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
mycroft d8743f51a2 Add Exabyte 8200 to the list. 1995-02-01 09:37:54 +00:00
mycroft c937d3b9f2 Patch from Wolfgang to fix a missing spl. 1995-02-01 09:32:45 +00:00
mycroft 52bacd79d6 Fix invocation of scsi_scsi_cmd(), per John Kohl. 1995-01-30 15:54:42 +00:00
mycroft 1076165d07 All revisions of the TDC 3600 are rogues. 1995-01-30 15:39:33 +00:00
mycroft 7639253b70 Finish last change. 1995-01-30 11:50:23 +00:00
mycroft 321b00bd07 Some drives don't grok START with LoEj=1, either. 1995-01-30 11:47:56 +00:00
mycroft 0ece1143f6 Set the LoadEject bit when issuing a START. 1995-01-30 11:37:17 +00:00
mycroft 9085638020 Some devices really do require the START before the PREVENT. This makes no
sense.
1995-01-30 11:34:25 +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
cgd 87ed227cb4 include files from the correct places. 1995-01-27 05:44:29 +00:00
mycroft 1611df6ae0 Update copyrights. 1995-01-26 12:05:49 +00:00
mycroft b76a328caa Redo the `wait for spin up' code. The Mach 3 method clearly doesn't work.
Also, rearrange the first open sequences a bit; SDEV_OPEN is no longer magic.
1995-01-26 11:56:51 +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
cgd 95afef4f1d kill _PATH_VNTAB; it's no longer used by anything. 1995-01-25 04:46:30 +00:00
mycroft 66785ec427 Clean up deleted files. 1995-01-25 04:45:41 +00:00
cgd d9f7c9f9be vn -> vnd renaming, for consistency 1995-01-25 04:45:38 +00:00
mycroft 726fa4e94f Do the PREVENT before the START. 1995-01-23 18:17:22 +00:00
mycroft feb5b29596 Remove old, misleading comment. 1995-01-23 17:56:26 +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 68c1a35cd9 Initialize host_stat and target_stat properly. 1995-01-18 04:20:16 +00:00
mycroft 52f079131b Incorporate recent changes from Wolfgang. Recognize the 815. 1995-01-16 21:48:35 +00:00
mycroft a6e7fe0d2a If the disk reports a block size of 0, assume it really meant 512. 1995-01-16 21:40:17 +00:00
mycroft 4a1e51751b Trivial simplification. 1995-01-16 21:34:10 +00:00
mycroft e71e917e9d Remove unused macros. 1995-01-16 21:31:34 +00:00
mycroft 85532dd4ce Don't clear the debug flags when copying the prototype scsi_link. 1995-01-16 21:13:40 +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 28775a6a5d Add a DIAGNOSTIC check. 1995-01-13 14:38:13 +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
mycroft 83a1c4799e Add two more broken devices. 1995-01-12 10:25:44 +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 290ed068ab Remove many of the `static's, to facilitate debugging. 1995-01-04 09:02:32 +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 93a0c4a258 Add interrupt sharing types. 1995-01-03 01:42:11 +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 dff292c275 Put Dan's broken tape drive in The List. 1995-01-01 11:37:03 +00:00
mycroft 76b0b02cc3 Fix non-serious typo. 1994-12-31 05:34:00 +00:00
mycroft bfd9901daf Fix some oversights in the debugging code. 1994-12-30 05:33:06 +00:00
mycroft d78ddddef6 Update the rogue entry for ancient drivers to match reality. 1994-12-30 05:23:49 +00:00
mycroft 6e9d6a0d75 And a little better... 1994-12-30 05:20:22 +00:00
mycroft 0a83cd8c57 Deal with short inquiry response a little better. 1994-12-30 05:14:52 +00:00
mycroft 5d3bd57538 Fix a couple of things in the sense printing code. 1994-12-29 13:49:57 +00:00
mycroft f2909dc62b Increase the st_space() timeout. 1994-12-28 19:55:50 +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
cgd a596d50f29 various cleanups for -Wall, suggested by James Jegers. 1994-12-24 14:05:51 +00:00
mycroft ce06e718ad Fix flags to isa_dmastart(). 1994-12-17 18:45:11 +00:00
mycroft 3e7afdbe8a Remove DIOCSBAD handling. It's not actually handled, so why recognize it? 1994-12-16 04:38:30 +00:00
mycroft a395d884d5 Remove extra arg to d_open and vn_open(). 1994-12-14 19:09:13 +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
dean 50c5dd6f0d fix problem with disconnects (Ralph Campbell) 1994-12-05 19:11:12 +00:00
dean ba0ac0e803 added missing #ifdef DEBUG 1994-12-01 16:41:05 +00:00
mycroft 1b372b7e96 Remove some redundant code. 1994-12-01 13:07:28 +00:00
mycroft 0109779d43 Remove unneeded override of SCSI_NOSLEEP. 1994-12-01 12:45:25 +00:00
mycroft c1cbd9c635 Set UIO residual count. 1994-12-01 12:36:35 +00:00
mycroft 71ab8bb627 Always set the device number correctly, even though we don't need it. 1994-12-01 12:26:37 +00:00
mycroft d18cbacd88 Redux. 1994-12-01 12:12:08 +00:00
mycroft 1066219897 Uncomment call to scsi_user_done(), and remove a duplicate biodone() (and
another si_free()).
1994-12-01 12:04:43 +00:00
mycroft a10cbd7179 Remove the silly statically allocated array, and simply malloc the data
structures as needed.  Also, put the buf in the malloc()ed area.  Remove a
duplicate si_free() (though this was harmless before).
1994-12-01 11:53:56 +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
dean fcf0991366 new asc.c from Ralph Campbell 1994-11-28 19:05:54 +00:00
christos 6a2c060851 fix unary plus typo :-) 1994-11-25 23:19:03 +00:00
ragge 299c14af0c New handling of pte:s for physio. 1994-11-25 19:09:31 +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 284d17e8f0 Complete last change. 1994-11-22 00:14:24 +00:00
deraadt 0c36dd6762 C botch repair from bostic 1994-11-22 00:05:36 +00:00
mycroft c81c637ee3 Return EIO when the drive is empty. 1994-11-21 11:37:26 +00:00
mycroft 7a1dcbfac6 Clean up open and close routines somewhat. 1994-11-21 11:28:47 +00:00
mycroft fd32202948 Replace dev_unit with device_softc in scsi_link. Change argument to foostart()
to void*.
1994-11-21 10:39:09 +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
deraadt 38483bbbf0 Enough Chinese torture already 1994-11-15 23:00:23 +00:00
dean 393ee3693c Surrounded call to debug routine with #ifdef DEBUG 1994-11-15 18:59: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
christos c2c3dce760 added extra argument to vn_open 1994-11-14 06:00:10 +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 195574a7de Change all of the uses of IRQ{0-15} and bit masks to use plain numbers
rather than bit shifting.
1994-11-04 18:57:15 +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 f8183b2d0e Make a wrapper match function to check the bus and device numbers, rather
than insisting that every driver do it.
1994-11-04 09:42:18 +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 94cde915db Rename pciprobe() to pcimatch(), and move it to pci_machdep.c. 1994-11-03 22:27:16 +00:00
mycroft e06bd72a85 Always use direct configuration. 1994-11-03 22:15:19 +00:00
mycroft d8561ad477 Oops; update scsibusmatch() arg list. 1994-11-03 22:09:00 +00:00
mycroft ef0c18e1cf Always use direct configuration for SCSI devices. 1994-11-03 22:05:08 +00:00
mycroft 54608f7ea0 Remove a couple of i386-specific hacks, and make a couple of others #ifdef
CONFIG_INDIRECT instead.
1994-11-03 20:24:21 +00:00
mycroft 283745574f Commit this, though it really does need work. 1994-11-03 16:55:57 +00:00
mycroft 1c76bf7aa1 Add a nullcnpollc(), for people who don't want to deal. 1994-10-30 22:16:37 +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
andrew 5a13863a4b Default to decent performance. 1994-10-27 02:04:18 +00:00
andrew fc67924047 Merge changes from Wolfgang Stanglmeier's 941012 release. 1994-10-27 02:02:00 +00:00
cgd a63beafc2b new RCS ID format. 1994-10-26 21:08:38 +00:00
mycroft 556a119342 Implement *cnpollc(). 1994-10-26 18:06:30 +00:00
mycroft 511d2732a3 Implement cnpollc(). 1994-10-26 17:56:53 +00:00
cgd d62187c043 new RCS ID format. 1994-10-26 08:01:33 +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 28cbceeec7 Make this more likely to work. 1994-10-23 19:24:01 +00:00
mycroft e5d974c51f First cut at making user-level SCSI commands work. This is untested.
Partly from John Brezak.
1994-10-20 20:31:23 +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 b8ab5f65d1 Back out change to print geometry from label at boot; can't do this reliably. 1994-10-20 16:54:44 +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 7d391c250d Fix minor omission. 1994-10-20 14:10:18 +00:00
mycroft cd66683989 openpart -> openmask 1994-10-20 14:08:07 +00:00
mycroft bb12b9c8a2 Trivial stylistic changes. 1994-10-20 14:05:08 +00:00
mycroft caaeda044b Similar changes to sd.c. 1994-10-20 14:03:38 +00:00
mycroft b1568d887e Use the block size in the label in most cases. 1994-10-20 13:50:38 +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 d5b3572f5c Various changes:
* Get rid of unused `partflags'.
* Use dk_openpart, and remove `openparts'.  Also, allow an open on both
the block and characters devices at the same time.
* If there was a label, print the geometry from the label at boot time.
* Turn `wlabel' into a flag, and *don't* set it automatically in
DIOCWLABEL; disklabel(8) does that.
Other minor changes.
1994-10-20 13:33:36 +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
ragge 5a58654e8a Fixed bugs according to old memory system. 1994-10-08 15:46:15 +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 6ddbe860c2 Update from Wolfgang Stanglemeier. 1994-10-01 06:27:56 +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
deraadt 5aa2f1e6bb remove an un-aligned access 1994-08-30 17:01:57 +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
cgd f32f66a23b fix (bogus) default ioctl return. 1994-08-24 16:49:16 +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 06476a4e53 ccdevsw --> cdevsw 1994-08-14 07:41:08 +00:00
deraadt 692c724215 un-aligned access is not cool on some processors 1994-08-12 08:57:18 +00:00
mycroft da79c879cd On probe or open, retry the READ CAPACITY once if the drive reports NOT READY. 1994-08-11 23:51:26 +00:00
mycroft 3c3258eb6d Make this work. 1994-08-11 04:54:13 +00:00
mycroft 55b11feb0a Update some comments. 1994-08-10 04:37:52 +00:00
mycroft 8dbfcf9e2e Add NCR 53c8XX driver, originally from Wolfgang Stanglmeier. 1994-08-09 22:20:44 +00:00
mycroft 3e685aec5c Change ST_Q_NEEDS_PAGE_0 to something more generic. 1994-08-09 18:50:17 +00:00
mycroft 6df721be97 Add PCI autoconfiguration support. 1994-08-09 00:47:46 +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 b0db502d9c Remove diagnostic. 1994-08-07 10:49:06 +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 b5c5c47f92 Obey the command queue size for the controller. 1994-08-04 09:52:47 +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
ragge 8026fb53f2 Initial VAX port merging. 1994-08-02 20:18:46 +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 4ac4810048 Normalize. 1994-07-27 13:14:14 +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 863c736e39 Normalize label handling. 1994-07-26 19:39:19 +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