summaryrefslogtreecommitdiffstats
path: root/sys/dev/ic/wdc.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix excessive resets and device probes by storing IDENTIFY results in thecsapuntz2001-06-251-40/+17
| | | | drvp structure
* remove cold.fgsch2001-06-241-6/+1
|
* Don't forget to make it compile.angelos2001-06-061-2/+2
|
* Don't forget to init b_dep.art2001-06-051-1/+2
|
* Add a 250ms wait in attach if ATAPI drives present on channel. Somecsapuntz2001-05-011-1/+7
| | | | | | 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.
* Move ATA IOCTL commands to low-level WDC drivercsapuntz2001-04-301-126/+315
|
* Lay the groundwork for disabling ATAPI DMA on controllerscsapuntz2001-04-041-1/+7
| | | | | | | where we have trouble. Note, in theory, ATAPI DMA is no different than ATA DMA. "Promise" not to tell anybody
* pool_get with PR_NOWAIT can fail. Handle that.art2001-04-021-2/+3
| | | | | (the old code could return NULL and the callers check for that, so it should be ok.
* Minor mods to DMA interface - get rid of unnecessary args. Allow DMA functions to return status flags.csapuntz2001-03-251-49/+22
| | | | | | | | | | Note: Changing code to have DMA interface indicate when I/O is done (a la NetBSD) was considered. It was rejected due to questionable backward compatability with ISA DMA and MAC obio DMA Added irqack from NetBSD (though this feature should really be in the PCI interrupt handlers) Use pool
* Fix races between timeouts and interrupts.csapuntz2001-03-151-2/+10
| | | | Cleanup atapiscsi driver a bit by moving fields out of xfer.
* Fix bug where timeouts triggered too early, caused panic on ATAPI tapes.niklas2001-01-291-3/+1
| | | | Removed hardcoded WDCDEBUG definitions.
* Add wdc_print_current_modes to print current transfer modes set on thecsapuntz2001-01-291-1/+28
| | | | | | | | | devices. Print after attach in wdc_isa, wdc_isapnp, wdc_pcmcia. pciide_print_modes rewritten to use wdc_print_current_modes. Disable wdc_print_caps since it's not as useful. Inspired by NetBSD. Thanks to Dale and Theo for pointing out this improvement.
* Restore the WDCF_IRQ_WAIT flag if the lower-level interrupt handler rejectsaaron2001-01-231-4/+2
| | | | | the interrupt. Fixes hangs seen with CompactFlash cards in CardBus slots. Thanks to csapuntz@ for some pointers. Note: this was NetBSD PR/8639.
* undo this; adds files, unacceptable at this point in releasederaadt2000-10-291-35/+52
|
* Reduce footprint of ATA driver by only having PROBE debug messages compiledcsapuntz2000-10-281-52/+35
| | | | in by default.
* Patch to get rid of ST506 phantoms. Thanks to Grigoriy Orlov for the designcsapuntz2000-10-271-85/+200
| | | | and testing.
* chp->wdc can be NULL on probe.csapuntz2000-07-201-3/+7
| | | | Propagate verbose flag from cf_data to channel
* Fix to ATA detect. Some devices seem to be comatose after resetcsapuntz2000-07-201-6/+30
| | | | | | | | (return 0x00 status persistently). Send them identify to wake them up. Flag value 0x10000 will enable probe messages for a channel/controller. When UKC supports setting flags, this will be useful debugging failing IDE detects without kernel recompiles.
* Convert some parts to new timeouts.art2000-06-301-3/+4
|
* Fix from Manuel Bouyerchris2000-06-131-2/+2
| | | | Don't falsely detect nonexistent drives
* Added support for wd detach (merge from NetBSD). Support forcsapuntz2000-04-101-54/+106
| | | | | | | | | | | | SCSI/ATAPI detach is not here yet. Minor cleanup of wdc. Downgrade to UDMA mode 1 before going further. Want to stay in UDMA modes because they're more error-resilient due to a CRC. Got rid of some of the ridiculous amount of softc sharing going on. Hopefully, this will make the life of whoever goes in and fixes the ref-counting to be correct easier.
* Change error diagnostic from "lost interrupt" to "timeout"csapuntz1999-12-141-2/+2
| | | | | | | | | Interrupt may not actually be lost. Maybe the application sent an unreasonably low timeout. To conclude lost interrupt, the device driver needs to check that the device actually transitioned to a new state. It is a bit premature to say this here.
* New interface to ATA registers that goes through the lower-level devicecsapuntz1999-11-171-138/+228
| | | | | | | | | | | | | | | | | | | | | driver (pciide, wdc, etc.) Remove #define WDCDEBUG from top of files More fixes to ATAPISCSI logic: Not all devices transition correctly between phases. Devices are supposed to keep BSY high until they've set the registers to the next sensible state. Some devices drop BSY and leave the registers in an old or nonsense state. Our polling code is extremely sensitive to this (though an early itnerrupt could also observe this). So, if the device is in an unexpected state, the new polling code waits for a while in the hope that it enters a better state. This seems to fix many of the problems reported. Also, there was a horrible bug which would cause sense to fail on a ATAPI command that sent data to the drive
* Change wdc_input_bytes and wdc_output_bytes to usecsapuntz1999-10-291-15/+24
| | | | | bus_space_{read,write}_raw_* instead of the byte-swapping API. For PowerPC and other big-endian architectures.
* reliability fixes from csapuntz; commit message replaced later with detailsderaadt1999-10-291-30/+89
|
* Downgrade to mode 2 first if we were udma > 2; from NetBSD. costa@ ok.fgsch1999-10-281-1/+11
|
* wdc layer work:csapuntz1999-10-091-53/+95
| | | | | | | | | | | | | | | | Separate wdc_probe_caps into wdc_probe_caps and wdc_print_caps for more flexibility in printing capability information. Get rid of wdc_final_attach. Include name of device (e.g. cd0), if possible, on errors. atapiscsi layer work: Put a pointer to the SCSI device into ata_drive_datas' drv_softc field Simplify, simplify, simplify. Got rid of a bunch of fields in atapiscsi_softc Delay printing capabilities until we know the real device name (e.g. st0)
* styleniklas1999-09-051-7/+4
|
* Make IDE compile on alpha again:niklas1999-08-051-5/+5
| | | | use b* instead of mem* functions, adhere to NISADMA for DMA support.
* doesn't end does it...deraadt1999-07-231-6/+6
|
* more slight dmesg formatting for some a really stupid drivederaadt1999-07-231-2/+6
|
* shorten dmesg outputderaadt1999-07-221-18/+12
|
* shorten dmesg outputderaadt1999-07-221-3/+3
|
* Create wdc_enable_intr, wdc_disable_intr, wdc_select_drive.csapuntz1999-07-221-7/+66
| | | | | wdc_select_drive implements the drive selection protocol as documented in the ATA-5 preliminary specs.
* NATAPIBUS -> NATAPISCSIcsapuntz1999-07-181-4/+4
|
* Import of NetBSD ATA/IDE stuff.csapuntz1999-07-181-0/+1398
Introduction of home-grown To enable this stuff in your configuration, look at the NEWATA conf file and go through dev/isa/files.isa dev/pci/files.pci conf/files arch/i386/conf/files.i386 and follow the instructions on commenting/uncommenting stuff