Commit Graph

129 Commits

Author SHA1 Message Date
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 d4f91d51a9 Fix a race condition between normal I/O and wd_get_parms(). 1995-01-07 03:07:22 +00:00
mycroft b5cf1b5ddd Add interrupt sharing types. 1995-01-03 01:30:14 +00:00
mycroft ca65f2ce5d Remove dkbad.h. 1994-12-14 15:17:22 +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 0649f37219 Officially credit Onno. 1994-11-23 22:00:08 +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 35cdd801e6 Convert port, IRQ, and DRQ numbers to ints. 1994-11-18 21:57:40 +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 b7acf321cd No longer needs icu.h. 1994-11-04 18:59:34 +00:00
mycroft 19fc9d55c8 *intr() arg does not need to be void*. 1994-11-03 23:23:38 +00:00
mycroft d23d1e83dc Use indirect config for subdevices, and add dkdrivers where missing. 1994-11-03 22:55:58 +00:00
cgd 6ac2bbfc35 be more careful with types, also pull in headers where necessary. 1994-10-30 21:43:03 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14: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 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
cgd 49c34d3337 move arch dependence to archs. clean up a bit. deal with weird MAXPARTITONS. 1994-10-14 18:26:22 +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 8dd2c63b08 Turn off the delay debugging messages again. 1994-09-12 20:29:08 +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 b5ce4d0cdd Normalize label handling. 1994-07-26 19:36:06 +00:00
mycroft 1c46c460ee Return EINVAL if the requested transfer size is weird. 1994-07-21 23:44:16 +00:00
mycroft a69dd750a2 b_un.b_addr -> b_data 1994-06-16 01:07:30 +00:00
pk ff9c5cdde5 Set `uio_procp' field in case we ever need it. 1994-06-09 20:00:13 +00:00
mycroft 5f478330e8 Remove now-bogus casts. 1994-05-05 08:31:00 +00:00
cgd a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
mycroft 0e689f0375 Fix uninitialized pointer, pointed out by Michael VanLoon. 1994-04-25 03:16:03 +00:00