summaryrefslogtreecommitdiff
path: root/sys/dev/ic/wdc.c
AgeCommit message (Collapse)Author
2003-12-16Pass gcc -Wsign-compare; ok grange@Todd C. Miller
2003-11-19Sync with NetBSD probe code: deal with non-pullups ide bus whenAlexander Yurchenko
testing status register and a better comments on probe logic. Tested on i386, sparc64 and macppc by me, jmc@, matthieu@, sturm@ and drahn@. ok costa@
2003-11-17Various cleanups, knf, better debug messages.Alexander Yurchenko
2003-11-17Don't wait for DRQ after issuing IDENTIFY command; instead check for DRQAlexander Yurchenko
asserted after BSY is cleared in data read codepath. Solves delays in probe. The first version of this diff was done by costa@ a long time ago but had some issues. This one is a partial sync with NetBSD. ok costa@
2003-11-13One byte can't hold a value > 255.Alexander Yurchenko
Spotted by Mr. GCC3.
2003-11-05Back wdc reset change, now in more careful variant.Alexander Yurchenko
Tested on matthieu's U5.
2003-10-31Back all the changes except the wdc reset part, this will come later.Alexander Yurchenko
Tested on matthieu's U5.
2003-10-29Revert to 1.70 for now which is the last working version on my u5.Matthieu Herrb
ok deraadt@
2003-10-27Skip ATA modes detection for SATA drives, it's useless and someAlexander Yurchenko
SATA drives really don't like it. Add a delay between drive reset and issuing IDENTIFY command, some drives need it (from NetBSD). This fixes problems with SATA drives reported by Jonathon Fletcher <jonathon.fletcher@pobox.com>. He also provided access to the test machine.
2003-10-26Print error registers values in debug message after reset too.Alexander Yurchenko
2003-10-26Device reset improvements:Alexander Yurchenko
- put the reset protocol itself in the separate function __wdcdo_reset() so we don't need anymore to keep in sync two reset code paths; - change the reset protocol to something like FreeBSD and NetBSD do, this fixes slave ATA drive detect with weird ATAPI master (reported by fgsch@); Discussed with costa@. Tested by me, fgsch@, millert@, canacar@.
2003-10-21typos from Tom Cosgrove;Jason McIntyre
Tom: I did not commit a couple of your changes. i did not include some punctuation fixes (full stops, etc.) mnemorable -> mnemonic: i decided memorable was probably better instrunctions -> instruction: i kept the plural
2003-10-20typo; netbsdAlexander Yurchenko
2003-10-19KNFAlexander Yurchenko
2003-10-17Merge an old fix from NetBSD:Alexander Yurchenko
- do not stop/unload current DMA operation if an IRQ was not detected by DMA engine unless the force flag was given, fixes DMA problems in shared IRQ setups; - ack interrupt before entering DMA codepath Tested by many. Work by niklas@ but he doesn't want to commit it for some reason.
2003-10-16Cleanup a bit, more pretty debug messages.Alexander Yurchenko
2003-10-16Allow setting of wdcdebug*_mask variables via preprocessor defines.Alexander Yurchenko
This makes creating debug kernels be much more easy.
2003-10-16Kill two static function declarations.Alexander Yurchenko
2003-09-28kill trailing spaces, no functional changesAlexander Yurchenko
2003-07-06trailing spacesAlexander Yurchenko
2003-06-25Restore the original wdcdebug_mask instead of clearing DEBUG_PROBE whenHenric Jungheim
done with it. This makes "wdcprobe()" consistent with "wdcattach()". ok grange@
2003-02-21Fix Manuel Bouyer's copyright, from NetBSDAlexander Yurchenko
ok deraadt@
2003-02-13Don't force all ATAPI devices to PIO mode 3, there areAlexander Yurchenko
devices which only support PIO mode 2 or less. Use atap_oldpiotiming to obtain supported mode for such devices. Also use SET FEATURES only for PIO mode > 2. Work by Alec Skelly <alec@dtkco.com> with my little help. ok costa@
2002-12-22Define atagettrace_t type and use it instead of struct atagettrace.Alexander Yurchenko
ok costa@
2002-12-22No more magic wdc events types, give them names.Alexander Yurchenko
ok costa@
2002-12-19Protect WDCDEBUG_PRINT macro with do {} while (0)Alexander Yurchenko
ok costa@
2002-12-12Always use queue(3) macros.Alexander Yurchenko
ok chris@ gluk@
2002-10-16minor formatting.Artur Grabowski
2002-10-09Remove trailing '\n's from panic messages.Kenneth R Westerback
Started by a commit to siop from provos@netbsd.org. ok miod@ millert@
2002-07-02Fix PIO write state machine. This has been totally broken since 2.5, but sinceConstantine Sapuntzakis
this code path is only executed for IOCTLs, and all of our IOCTLs only read from the device, nobody noticed. Thanks to grange and gluk for finding this one.
2002-05-24protect biodone with splbio (this is the first time the splbio isArtur Grabowski
not really needed, just added to satisfy the assert).
2002-05-24Replace a home-grown splassert-like thing with the real stuff.Artur Grabowski
2002-05-03LBA48 support.Grigoriy Orlov
Adopted from NetBSD by Alexander Yurchenko <grange@openbsd.ru>. costa@ ok.
2002-03-16The new code logs the control signals on the IDE bus. You can extract the logConstantine Sapuntzakis
using atactl <device> dump. The log will help us support more devices. Send logs to csapuntz@
2002-03-14First round of __P removal in sysTodd C. Miller
2002-01-23Pool deals fairly well with physical memory shortage, but it doesn't dealArtur Grabowski
well (not at all) with shortages of the vm_map where the pages are mapped (usually kmem_map). Try to deal with it: - group all information the backend allocator for a pool in a separate struct. The pool will only have a pointer to that struct. - change the pool_init API to reflect that. - link all pools allocating from the same allocator on a linked list. - Since an allocator is responsible to wait for physical memory it will only fail (waitok) when it runs out of its backing vm_map, carefully drain pools using the same allocator so that va space is freed. (see comments in code for caveats and details). - change pool_reclaim to return if it actually succeeded to free some memory, use that information to make draining easier and more efficient. - get rid of PR_URGENT, noone uses it.
2002-01-12Don't try UDMA modes if they aren't supported by the controllerJason Wright
even if the flags enable it. chris@ ok
2002-01-07pass the proc* down the ioctl chain to controller; mjacob@ csapuntz@ okMichael Shalayeff
2001-11-06Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.Miod Vallat
(Look ma, I might have broken the tree)
2001-08-23initialize the channel timeout earlier.Artur Grabowski
2001-07-31Go down only one Ultra DMA mode at a time. Thanks to Matt Evans forConstantine Sapuntzakis
suggesting this fix. Update atapiscsi Ultra DMA downgrade logic.
2001-07-27Yet another probe fix. Switch to the right drive before looking at registersConstantine Sapuntzakis
2001-07-21Undo last fix to ata_wdc.c. Don't deregister timeout in generic codeConstantine Sapuntzakis
2001-07-19Fix slave ATAPI device detect broken by last patchConstantine Sapuntzakis
2001-07-12Rework of probe code. Try better to deal with floating buses. DependingConstantine Sapuntzakis
on the value floating on the bus, we would occasionally skip the register writability tests. Whoops... Move fix for a flash device that doesn't wake up until a command is sent Try to supress spurious interrupts. However, if one does happen, acknowledge it anyway by reading status. This prevents the interrupt condition from persisting.
2001-06-25Fix excessive resets and device probes by storing IDENTIFY results in theConstantine Sapuntzakis
drvp structure
2001-06-24remove cold.Federico G. Schwindt
2001-06-06Don't forget to make it compile.Angelos D. Keromytis
2001-06-05Don't forget to init b_dep.Artur Grabowski
2001-05-01Add a 250ms wait in attach if ATAPI drives present on channel. SomeConstantine Sapuntzakis
ATAPI devices need a while to boot their firmware, esp. if there is a CD in the drive. Sending them commands early causes them to wedge or abort those commands.