summaryrefslogtreecommitdiff
path: root/include/linux/ata.h
AgeCommit message (Collapse)Author
2005-05-12[PATCH] libata basic detection and errata for PATA->SATA bridgesBrad Campbell
This patch works around an issue with WD drives (and possibly others) over SiL PATA->SATA Bridges on SATA controllers locking up with transfers > 200 sectors. Signed-off-by: Brad Campbell <brad@wasp.net.au>
2005-02-05[libata scsi] verify cmd bug fixes/supportBrett Russ
Also, trim trailing whitespace.
2004-11-06Remove silly comment from linux/ata.h.Jeff Garzik
XFER_xxx is not necessarily "legacy IDE 'stuff'"
2004-11-06[PATCH] ata.h undefined types in USBMeelis Roos
This is todays BK on a x86: CC [M] drivers/usb/storage/freecom.o In file included from include/linux/hdreg.h:4, from drivers/usb/storage/freecom.c:32: include/linux/ata.h:197: error: parse error before "u32" ... and so on for tens of lines. Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2004-11-06[ide] (partially) unify hdreg.h & ata.hBartlomiej Zolnierkiewicz
Signed-off-by: Chris Wedgwood <cw@f00f.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2004-10-14[PATCH] Export ata_scsi_simulate() for use by non-libata driversMark Lord
This patch modifies libata-scsi for easier sharing of the various ata_id_* functions and the ata_scsi_simulate() function with non-libata drivers. Signed-off-by: Mark Lord <mlord@pobox.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2004-08-17[ata] remove 'packed' attributed from struct ata_prdJeff Garzik
It's not needed, and it generates very poor code on some platforms. Noticed by Bart and David Miller.
2004-08-14[libata] add ioctl infrastructureJeff Garzik
Mainly adding the infrastructure for various ATA ioctls. Currently only supports two ATA-specific ioctls: HDIO_GET_32BIT and HDIO_SET_32BIT (hdparm -c)
2004-08-13[libata] support commands SYNCHRONIZE CACHE, VERIFY, VERIFY(16)Jeff Garzik
2004-07-29Merge pobox.com:/spare/repo/linux-2.6Jeff Garzik
into pobox.com:/spare/repo/libata-2.6
2004-07-28[ata] fix reversed bit definitions in linux/ata.hAndrew Chew
The macros ata_id_has_lba() and ata_id_has_dma() seem to have their bits reversed. LBA support is bit 9 of word 49 in the identify page, whereas DMA support is bit 8 of word 49 in the identify page.
2004-07-10[libata] ATAPI work - cdb len, new taskfile protocol, cleanupsJeff Garzik
* new helper atapi_cdb_len() in linux/ata.h, use it after IDENTIFY PACKET DEVICE command completes * add new taskfile protocol ATA_PROT_ATAPI_NODATA * store scsi cdb in ata_queued_cmd. This removes another dependence on the scsi layer, and enables us to issue an internal REQUEST SENSE. * store cdb len in ata_port * new constant ATAPI_CDB_LEN for max cdb length * move ATA taskfile and SCSI cdb near the top of ata_queued_cmd, for better cacheline friendliness.
2004-07-04[libata] transfer mode cleanupJeff Garzik
Add MWDMA support, and rework pio/mwdma/udma mode setup. In the lone test case for PATA support, ata_piix, MWDMA mode setting does not appear to work here. UDMA and PIO continue to work, so nobody will really notice. But beware. Probably a driver problem, not a bug in the core. Also, doesn't bother writing to dummy timing registers on ICH5/6 SATA anymore.
2004-07-03[ata] add ata_ok() inlined helper, and ATA_{DRDY,DF} bit to linux/ata.hJeff Garzik
2004-05-16[libata] replace ATA_QCFLAG_ATAPI with inline helperJeff Garzik
Detection of an ATAPI taskfile is possible using a simple test on existing information, so there is no need to cache this value in a separate flag (ATA_QCFLAG_ATAPI). Instead, create and use a new helper function is_atapi_taskfile().
2004-05-16[libata] scsi simulator improvements: MODE SENSE, SEEK(6,10), REZERO_UNITJeff Garzik
* SEEK(6), SEEK(10), and REZERO_UNIT are no-ops. Unconditionally complete these commands with success. * MODE SENSE caching page work: * correct page length * set bit, if read-ahead is disabled * set bit, if writeback caching is enabled (previously, this bit was never set, even if writeback caching was enabled) * add MODE SENSE r/w error recovery page
2004-05-16[libata] comments and constantsJeff Garzik
* note a nasty problem with shared interrupts that must be fixed before we turn on certain code paths. * add a few comments to the READ CAPACITY scsi simulator * remove a FIXME comment from the TEST UNIT READY scsi simulator * add constant for ATA command CHECK POWER MODE, and associated "mandatory" power management feature set bit.
2004-05-16[libata] SCSI->ATA simulator hacking: INQUIRY commandJeff Garzik
The SCSI T10 committee is working on a document describing a standard method for translating ATA<->SCSI, since it being done quite often these days. Some of the recommendations are reasonable, and we implement two here: * Mirror that ATA 'removeable media' bit into INQUIRY output. * Change behavior of INQUIRY output field 'product revision' from the libata software version number to the first 4 bytes of the ATA device's firmware revision number. Rather than cache the firmware revision in struct ata_device, as was/is done with two other strings, I took the opportunity to eliminate the caching of the two other strings, 'vendor' and 'product'. These strings are now retrieved as needed from the IDENTIFY [PACKET] DEVICE info page, since we cache its entire contents. Retrieving a string from the identify-device page is done via the helper function ata_dev_id_string(), which is now exported. This patch winds up making struct ata_device 40 bytes smaller, and the libata core gets a bit smaller as well.
2004-05-16[libata] DMADIR supportJeff Garzik
DMADIR bit is necessary for some PATA->SATA bridges. These bridges require the OS driver to specify the data xfer direction, for PACKET (a.k.a. scsi) commands. A reliable DMADIR detection method hasn't yet been developed, and ATAPI is still a WIP, so DMADIR is enabled with an ifdef for now.
2004-05-10[libata] preparation for writeback caching supportJeff Garzik
* bug fix: make sure 'nsect' member of struct ata_queued_cmd is initialized each time a cmd is re-used. Only affects PIO data xfers, which nobody uses. * slightly change the way a device's flags are printed out. currently the only flag is 'lba48', but soon 'wcache' will appear also. * add WB-cache-related constants and macros to linux/ata.h
2004-03-24[ata] move some generic stuff linux/libata.h -> linux/ata.hJeff Garzik
struct ata_taskfile is generic, and so far its flags (ATA_TFLAG_xxx) Also, move ATA_PROT_xxx definitions into their own enum.
2004-03-24[libata] consolidate data transfer mode handlingJeff Garzik
The various ways you can send data to/from your ATA device is known as the ATA taskfile protocol: PIO single sector, PIO multiple sector, DMA, DMA TCQ, DMA NCQ, ... Prior to this change, the data direction (read/write) was encoded implicitly into the ATA_PROT_xxx value itself. This increased complexity in some areas, and inhibited flexibility in others. This change separates data direction from taskfile protocol, and also moves the data direction flag (ATA_QCFLAG_WRITE) down to a lower level (ATA_TFLAG_WRITE).
2004-02-13Bump libata, ata_piix to version 1.0.Jeff Garzik
Also update copyrights for 2004.
2003-10-21[libata] Merge Serial ATA core, and drivers for:Jeff Garzik
Intel ICH5 (production) ServerWorks / Apple K2 (beta) VIA (beta) Silicon Image 3112 (broken!) Various Promise (alpha/beta)