summaryrefslogtreecommitdiff
path: root/sys/dev/ic/wdc.c
AgeCommit message (Collapse)Author
2009-11-23little annoying knfTheo de Raadt
2009-11-22Probe modes for SATA disks, makes CF behind SATA work and givesJonathan Gray
more speed to things like SSDs that do UDMA 6. Tested by many.
2009-10-13Get rid of devact enum, substitute it with an int and coresponding defines.Paul Irofti
This is needed for the addition of further suspend/resume actions. Okay deraadt@, marco@.
2009-02-07Unifdef __OpenBSD__, these defines don't help us to sync with NetBSDAlexander Yurchenko
anymore but make reading the code harder. ok sthen@ miod@ krw@
2009-01-21Replace timeout_add(msecs * hz / 1000) with timeout_add_msec(msecs).Alexander Yurchenko
No functional changes. ok krw@ miod@
2008-07-02unify using WDCDEBUG.Federico G. Schwindt
2008-06-30wrap logging code around WDC_DEBUG. shrinks kernel by ~4k.Federico G. Schwindt
jsg@ krw@ miod@ ok.
2008-06-27More removal of clauses 3 and 4 from NetBSD licenses.Ray Lai
OK deraadt@ and millert@
2007-10-01More easy bzero() -> M_ZERO. Use 'p = malloc(sizeof(*p) ...'.Kenneth R Westerback
2007-05-08wdcrestart() is never usedTheo de Raadt
2007-05-08atapi_print() is never usedTheo de Raadt
2007-04-16During the drives detection only check the status register to be notAlexander Yurchenko
0xff, this will allow to detect some certain microdrives plugged into soekris. Patch from Jochen <jochen@penguin-breeder.org> via PR 5340.
2006-05-22In wdcprobe(), directly invoke wdc_do_reset() instead of using the resetMiod Vallat
reset function pointer, as this can cause a NULL pointer dereference on some systems.
2006-05-08Revert last commit till a better method can be found.Jonathan Gray
At least one system (Ben Lovett's) had issues with the change.
2006-05-07Default to Ultra DMA Mode 6 not 5 when we know we have a nativeJonathan Gray
SATA drive. ok grange@
2006-05-03Provide a function pointer that allows for the wdc resetJonathan Gray
method to be changed as required. This will be required for dealing with several chips in pciide.
2006-02-10Fix LBA48 access for ServerWorks SATA.Mark Kettenis
ok grange@
2005-11-09Don't fall back to fake geometry if ata_get_params() fails.Uwe Stuehler
"looks sane" grange@; tested by niall@ krw@ jmc@ jolan@
2005-10-21Zap return at the end of a void function. No binary change.Alexander Yurchenko
2004-10-17Add a callback drv_probe() to allow underlying ata controller driverAlexander Yurchenko
to probe for drives in its own way. It's a no-op for now but will be needed for native sata support.
2004-10-17Move declaration of default _vtbl members (wdc_default_*) toAlexander Yurchenko
wdcvar.h.
2004-09-15Better debug printfs: missing \n and show xfer flags inAlexander Yurchenko
wdc_exec_xfer().
2004-02-19wdc logs fixes from costa@:Alexander Yurchenko
1) wdc_get_log is at splbio() to prevent interrupt handlers from updating the log 2) work hard to ensure that wdc_tail and wdc_head are between 0 and wdc_log_cap, even if wdc_log or wdc_get_log is run concurrently against itself. With this patch, running concurrent wdc_log's may corrupt the log, but it should not cause any panics. 3) Make sure the buffer always starts on a record boundary. Otherwise said, wdc_tail should always be on a record boundary.
2004-01-23Use %b to display status register, this will make bug reports moreAlexander Yurchenko
informative. Also convert WDCS_BITS string to caps.
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@