summaryrefslogtreecommitdiff
path: root/sys/dev/ata
AgeCommit message (Collapse)Author
2004-01-10store a i/o priority hint in struct buf for buffer queue discipline.yamt
2004-01-03More structure member namespace cleanup: thread -> ch_threadthorpej
2004-01-03More wdc_channel structure member namespace cleanup:thorpej
- channel -> ch_channel - wdc -> ch_wdc
2004-01-03Rename "struct channel_softc" to "struct wdc_channel".thorpej
2004-01-01Prepend "wdc_" to wait_for_drq, wait_for_unbusy, and wait_for_ready.thorpej
2004-01-01Rename:thorpej
- wdc_xfer to ata_xfer - channel_queue to ata_queue and move them to <dev/ata/atavar.h> so they can be used by non-wdc ATA controllers. Clean up the member names of these structures while at it.
2003-12-30Move the register definitions for ATA Task File registers to atareg.h;thorpej
they are also used by controllers that do not map the registers into the system address space, and are thus distinct from the "controller" registers.
2003-12-30SMART info is logically part of the register set; move it from atavar.hthorpej
to atareg.h
2003-12-30Move most of the atabus layer into ata.c.thorpej
2003-12-30Tweak function names in debug messages.thorpej
2003-12-20add more fields to ata_smart_attr, add structures for selftest loglha
2003-12-17Some additional SATA-II registers.thorpej
2003-12-14Serial ATA register definitions.thorpej
2003-12-14Move the wddone() prototype to wd.cthorpej
2003-12-14Garbage-collect __ATA_DISK_PRIVATE; it is no longer needed.thorpej
2003-12-14No need to include wdvar.h anymore.thorpej
2003-12-14Instead of calling wddone() directly, set a (*drv_done)() callback inthorpej
the ata_drive_datas structure and invoke that.
2003-12-14Move struct ata_device from wdvar.h to atavar.h.thorpej
2003-12-14Move struct ata_bustype from wdvar.h to atavar.h.thorpej
2003-12-14Move struct ata_bio from wdvar.h to atavar.h.thorpej
2003-12-14Tidy up the whitespace.thorpej
2003-12-14Liberally apply static.thorpej
2003-12-14Cosmetic changes in some autoconfiguration messages.thorpej
2003-12-14De-__P and use ANSI-style function decls.thorpej
2003-12-04netbsd.org -> NetBSD.orgkeihan
This was the last commit of this kind to src/sys, which is now totally "NetBSD.org clean". Thanks for the patiance, and sorry for all the commits.
2003-11-30add definitions of new feature bits.yamt
2003-11-30- rename WDC_CAP_LBA48 to ATA_CMD2_LBA48.yamt
- remove WDC_CAP_QUEUE. (there's already ATA_CMD2_RWQ.) as discussed on tech-kern@.
2003-11-27There are some cards that map the ATA control and IDE DMA registersfvdl
in a different fashion. Individually, they have the same functionality, but their layout is different. An example of such a chipset is the Promise 203xx. To be able to deal with this, transform the cmd and dma bus_space handles into an array of handles, each seperately created with bus_space_subregion. The code generated by using the extra indirection shouldn't change much, since the extra indirection is negated by having the offset calculation already done in bus_space_subregion. E.g. bus_space_write_4(tag, handle, offset, value) becomes bus_space_write_4(tag, handles[offset], 0, value) Reviewed by Manuel Bouyer. Tested on wdc_isa, wdc_pcmcia, viaide, piixide (i386) and on cmdide (sparc64).
2003-11-26remove ATA_CMD2_SMART, which seems wrong and isn't used.yamt
2003-11-07Replace home-grown locks with lockmgr().mycroft
2003-11-02Fix some typos. From Tom Cosgrove via jmc@openbsd.wiz
2003-11-02Fix two typos. From Tom Cosgrove via jmc@openbsd.wiz
2003-10-29freese->freeze, as pointed out by Frederick Bruck.bouyer
2003-10-29Back out the bogus initializer -- the compiler bug is fixed.mycroft
2003-10-28note 'm68k {u,}int64_t used uninitialized' bug.cl
add reference to gcc bug report. mark all (known) occurrences.
2003-10-27Appease gcc3 "-Wno-uninitialized".fredb
2003-10-08Following Matt Thomas's request, rename ata attribute to ata_hl, andbouyer
wdc_base to ata. We can now have atabus* at ata? in kernel config files.
2003-10-08Make the ATA mid-layer appears as atabus, as proposed inbouyer
http://mail-index.netbsd.org/tech-kern/2003/09/25/0006.html This adds a device (atabus) between IDE controllers and wd or atapibus, to have each ATA channel show up in the device tree. Later there will be atabus devices in /dev, so that we can do IOCTL on them. Each atabus has its own kernel thread, to handle operations that needs polling, e.g. reset and others. Device probing on each bus it defered to the atabus thread creation. This allows to do the reset and basic device probes in parallel, which reduce boot time on systems with several pciide controllers.
2003-10-05Remove references to University of California from my copyright notices.bouyer
2003-09-29typo in commentgrant
2003-09-23Fix more probe delay and/or failure problems:mycroft
1) Don't wait for DRQ on an IDENTIFY command -- if it's not set when we see BSY clear, abort the command and ignore the drive. (Do this by testing for DRQ in the read/write cases in __wdccommand_intr().) 2) Don't wait for DRQ to deassert when we finish an IDENTIFY (or any other non-block command that reads data) -- we don't do this for block I/O, and empirically it doesn't clear on my CF cards at all, causing a pointless 1s delay. 3) Add comments to some of the delay()s, and add missing ones in wdcreset() and the WDCC_RECAL in the so-called "pre-ATA" probe. 4) Slightly simplify the reset sequence -- we were doing an extra I/O. 5) Modify the register writability test to make sure that registers are not overlapped -- this can happen in some weird cases with a missing device 1. 6) Check the error register value after the reset -- if it's not 01h or 81h, as appropriate (see ATA spec), punt. Tested with a number of ATA-only, ATAPI-only, mixed ATA-ATAPI, CF, and IDE disk configurations. Also remove the SINGLE_DRIVE nonsense again.
2003-09-23Additional definitions as per SATA specifications.skd
Approved by Manuel Bouyer.
2003-09-191) Use config_interrupts() to attach IDE and ATAPI drives. This eliminatesmycroft
most polling. 2) Clean up some goofiness in pciide -- get rid of the whole "candisable" path (it's gratuitous) and simplify the code by calling pciide_map_compat_intr(), *_set_modes() and wdc_print_modes() from central locations. 3) Add a register writability and register ghost test to eliminate phantom drives more quickly.
2003-08-03For LBA drives, compute the number of cylinders from the drive capacitybouyer
in the default disklabel and the boot message, instead of using the value reported by the drive (which is 16383 if the drive is larger than 8G). Should fix PR 9864
2003-07-14add missing __KERNEL_RCSID()lukem
2003-07-11KNF and whitespace (and indent a contuation line)dsl
2003-07-10Add LBA48_THRESHOLD #define and set it to the *correct* value. Use itmatt
in place of "0xffffff" (which is one too few 'f').
2003-07-08function prototype must not have variable nameitojun
2003-06-29Back out the lwp/ktrace changes. They contained a lot of colateral damage,fvdl
and need to be examined and discussed more.
2003-06-29Don't use LBA48 if we don't have to (that is, if the request is inside thebouyer
first 128GB). Tested by Andreas Johansson.