Commit Graph

640 Commits

Author SHA1 Message Date
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