summaryrefslogtreecommitdiff
path: root/sys/dev/ata
AgeCommit message (Collapse)Author
2002-03-27Calculate the maximum queue depth correctly.Grigoriy Orlov
PR2490 from Alexander Yurchenko <grange@rt.mipt.ru>
2002-03-16Use wdc_setdriveConstantine Sapuntzakis
2002-03-14Final __P removal plus some cosmetic fixupsTodd C. Miller
2002-03-14First round of __P removal in sysTodd C. Miller
2002-01-07pass the proc* down the ioctl chain to controller; mjacob@ csapuntz@ okMichael Shalayeff
2001-11-28Add tag line. Thanks to David KrauseConstantine Sapuntzakis
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-09-21Correct some pryntf() usage: get the correct number of arguments in theMiod Vallat
correct order.
2001-09-20occured->occurredMike Pechkin
idea from deraadt@ via NetBSD millert@ ok
2001-08-06Remove legacy __BDEVSW_DUMP_OLD_TYPE code.Miod Vallat
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-31On DMA timeouts, stop busmaster PCIIDE and reset channel. Avoid readingConstantine Sapuntzakis
device registers as this may cause lock-ups on some chipsets Clean-up in atapiscsi. Get rid of claim_irq. Instead, atapiscsi always returns -1 (maybe) from the interrupt handler.
2001-07-21Undo last fix to ata_wdc.c. Don't deregister timeout in generic codeConstantine Sapuntzakis
2001-07-21Don't hang on missing interruptsConstantine Sapuntzakis
2001-07-12extra wddone caused biodone panics occasionallyConstantine 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-07-09ch_flags should be ch_statusConstantine Sapuntzakis
2001-06-25Fix excessive resets and device probes by storing IDENTIFY results in theConstantine Sapuntzakis
drvp structure
2001-05-01Add fields to keep track of reset capabilities and resets betterConstantine Sapuntzakis
2001-04-30Move ioctl stuff to low-level driverConstantine Sapuntzakis
2001-04-02ATA_POLL should have been AT_POLLConstantine Sapuntzakis
Flushcache on shutdown used to pass both AT_POLL and AT_WAIT. The two flags do not make sense together. Should fix panic when shutting down from ddb
2001-03-25Missing irqack, cleanup DMA error handlingConstantine Sapuntzakis
2001-03-25Minor mods to DMA interface - get rid of unnecessary args. Allow DMA ↵Constantine Sapuntzakis
functions to return status flags. 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
2001-03-23atactl SMART support; wouter@yourcreativesolutions.nlTheo de Raadt
2001-01-29Fix bug where timeouts triggered too early, caused panic on ATAPI tapes.Niklas Hallqvist
Removed hardcoded WDCDEBUG definitions.
2001-01-25spellingTodd T. Fries
2000-10-29undo this; adds files, unacceptable at this point in releaseTheo de Raadt
2000-10-28Reduce footprint of ATA driver by only having PROBE debug messages compiledConstantine Sapuntzakis
in by default.
2000-07-20Fix to ATA detect. Some devices seem to be comatose after resetConstantine Sapuntzakis
(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.
2000-06-30Convert to new timeout API.Artur Grabowski
2000-06-30Convert some parts to new timeouts.Artur Grabowski
2000-04-10Added support for wd detach (merge from NetBSD). Support forConstantine Sapuntzakis
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.
2000-04-07correct debug printoutsNiklas Hallqvist
2000-04-07remove staticsNiklas Hallqvist
1999-11-17New interface to ATA registers that goes through the lower-level deviceConstantine Sapuntzakis
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
1999-11-05Fix ata_get_params on big endian platforms.Constantine Sapuntzakis
We have diverged from NetBSD in that wdc_exec_xfer no longer automatically swaps.
1999-11-05use wdc_input_bytes and wdc_output_bytesConstantine Sapuntzakis
1999-10-27bugfixes from netbsd ata_wdc.c, ok csapuntz@Chris Cappuccio
from bouyer: - Add some debug printf (WDCPROBE) in _wdcreset_wait(), I've needed these 2 times in the past - Set up timeout per xfer instead of per interrupt. This helps with PIO transfer (we would call timeout()/untimout() several times for a transfer). - If we missed an interrupt for a PIO transfer, reset and restart it immedialy, don't try to recover and continue. If we missed an interrupt we may have lost a read/write cycle on the IDE bus. If this happens 1) we corrupt data and 2) we enter an interrupt loop at the end of the xfer, as the drive has some more data to read/write, but the host thinks the xfer is done. This last change fix the (or at last some of the) 'lookup after lost interrupt' some peoples have been experiencing.
1999-10-09Fix printout at attach time. Print PIO/DMA mode information after havingConstantine Sapuntzakis
printed line with the name of hard disk.
1999-10-09wdc layer work:Constantine Sapuntzakis
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)
1999-09-05Support for ATAPI tapes, works but still has some rough edges. Some style.Niklas Hallqvist
1999-08-15o Correctly set type and typename in driver-generated labelTodd C. Miller
Should really use viscopy() when copying atap_model -> d_packname. When wd's become sd's this will be trivial (viscopy() lives in sd.c)
1999-08-10support DIOCRLDINFOTheo de Raadt
1999-08-05Make IDE compile on alpha again:Niklas Hallqvist
use b* instead of mem* functions, adhere to NISADMA for DMA support.
1999-07-22shorten dmesg outputTheo de Raadt
1999-07-22Fix bad144intern.Constantine Sapuntzakis
1999-07-22Added ATAPI capabilities to the increasingly poorly named ata_drive_datasConstantine Sapuntzakis
1999-07-20126 -> NBT_BADConstantine Sapuntzakis
Fix disklabel/bad sectors stuff in wd
1999-07-18Import of NetBSD ATA/IDE stuff.Constantine Sapuntzakis
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