ChangeSet@1.1716, 2004-03-30 12:31:48-05:00, jgarzik@redhat.com Merge redhat.com:/spare/repo/linux-2.6 into redhat.com:/spare/repo/libata-2.6 ChangeSet@1.1715, 2004-03-29 19:30:47-05:00, jgarzik@redhat.com [libata] back out duplicated upstream fix We already fixed this bug locally, so fix up the automerge by removing the upstream change. ChangeSet@1.1714, 2004-03-29 19:28:22-05:00, jgarzik@redhat.com Merge redhat.com:/spare/repo/linux-2.6 into redhat.com:/spare/repo/libata-2.6 ChangeSet@1.1692.3.4, 2004-03-27 00:21:34-05:00, jgarzik@redhat.com [libata] remove synchronize-cache dead code Just a placeholder, and now that a better way to do this is coming, we don't even need the [unused] placeholder anymore. ChangeSet@1.1692.3.3, 2004-03-26 22:14:11-05:00, jgarzik@redhat.com [libata] fix bug with READ(6) and WRITE(6) SCSI commands Must set the LBA bit on all transfers, not just {read,write}{10,16} scsi commands. ChangeSet@1.1692.3.2, 2004-03-26 20:40:58-05:00, jgarzik@redhat.com [libata sata_promise] better locking and error handling * Prefer spin_lock() to spin_lock_irq() in interrupt handler * Reset each port, before probing the SATA phy * Reset port when every time an error occurs ChangeSet@1.1692.3.1, 2004-03-26 19:33:40-05:00, jgarzik@redhat.com Merge redhat.com:/spare/repo/linux-2.6 into redhat.com:/spare/repo/libata-2.6 ChangeSet@1.1673.7.13, 2004-03-26 18:02:34-05:00, jgarzik@redhat.com [libata] more documentation libata-scsi.c should now be fully documented. ChangeSet@1.1673.7.12, 2004-03-26 04:04:17-05:00, jgarzik@redhat.com [libata] more cmd queue path cleanups Final part in tonight's series of changes to clean up the command queueing path. The simulate-ATA-over-SCSI code is moved to a new function, ata_scsi_simulate(), and ata_scsi_rw_queue() is renamed to ata_scsi_translate(). With the SCSI CDB debugging dump function also moved into its own function, the queue-command path is now nice, compact, and readable. ChangeSet@1.1673.7.11, 2004-03-26 03:32:10-05:00, jgarzik@redhat.com [libata] more command queue path cleanup A new helper ata_scsi_xlat_possible(), and the command queue path gets a bit more compact. As side effects we kill the 'cmd_size' argument from two functions, and mark ata_scsi_rw_queue() as static, as its only needed in libata-scsi.c. ChangeSet@1.1673.7.10, 2004-03-26 03:20:47-05:00, jgarzik@redhat.com [libata] clean up command queue/submit path a bit This change is part of a series that compartmentalizes and consolidates ATA taskfile submission. Here, the device-location-related checks are moved out of the ->queuecommand() hook and into an inline helper function. ChangeSet@1.1673.7.9, 2004-03-26 01:13:20-05:00, jgarzik@redhat.com [libata sata_promise] minor initialization updates * remove incorrect PATA port check * enable undocumented bit 13 in flash control register, because the Promise driver does so. * wait 10 ms after setting TBG mode, for the same reason. ChangeSet@1.1673.7.8, 2004-03-25 17:23:41-05:00, jgarzik@redhat.com [libata] documentation, and a couple tiny cleanups Add more per-function source code documentation. Some of this stuff is esoteric ATA crapola, and definitely needed to be documented. Also, two tiny cleanups spotted while documenting: * kill unused arg from internal function ata_dev_try_classify() * kill unused return value from ata_dev_id_string() ChangeSet@1.1673.7.7, 2004-03-25 14:40:17-05:00, jgarzik@redhat.com [libata] use scsi host lock In 2.4 we release io_request_lock and take our own per-host lock, in the ->queuecommand() hook. In 2.6, the SCSI layer provides a useful to simply use the lock we already have, via scsi_assign_lock(). ChangeSet@1.1673.7.6, 2004-03-25 14:36:59-05:00, jgarzik@redhat.com [libata] reduce diff with 2.4 libata backport ChangeSet@1.1673.7.5, 2004-03-25 14:36:27-05:00, jgarzik@redhat.com [libata] pci_dma_error() was renamed to pci_dma_mapping_error() ChangeSet@1.1673.7.4, 2004-03-25 14:18:04-05:00, jgarzik@redhat.com Merge redhat.com:/spare/repo/linux-2.6 into redhat.com:/spare/repo/libata-2.6 ChangeSet@1.1643.1.215, 2004-03-25 01:57:34-05:00, jgarzik@redhat.com [ata] move some generic stuff linux/libata.h -> linux/ata.h struct ata_taskfile is generic, and so far its flags (ATA_TFLAG_xxx) Also, move ATA_PROT_xxx definitions into their own enum. ChangeSet@1.1643.1.214, 2004-03-25 01:44:08-05:00, jgarzik@redhat.com [libata] consolidate data transfer mode handling 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). ChangeSet@1.1643.1.213, 2004-03-25 00:53:07-05:00, jgarzik@redhat.com [libata] set up some of the per-command data beforehand The data transfer mode and the set of read/write commands we generate during normal operation remains constant until we change the data transfer mode. This removes a series of branches in the read/write fast path, and in general cleans up that particular spot of code. ChangeSet@1.1643.1.212, 2004-03-24 23:50:34-05:00, jgarzik@redhat.com [libata sata_promise] check for PATA port on PDC20375 We don't handle it yet, but this prints out a message in its presence, permitting verification of the check and informing users why their PATA device is not recognized. ChangeSet@1.1643.1.211, 2004-03-23 12:35:54-05:00, jgarzik@redhat.com [libata ata_piix] fix combined mode device detection SATA port detection should not have assumed that a single SATA port mapped to a single struct ata_port. Combined mode breaks this assumption. Change code to simply detect if one or more devices are present on the struct ata_port, which is what we really wanted to do. ChangeSet@1.1643.1.210, 2004-03-23 11:52:00-05:00, jgarzik@redhat.com [libata ata_piix] clean up combined mode handling ChangeSet@1.1643.1.209, 2004-03-23 11:14:06-05:00, jgarzik@redhat.com [libata ata_piix] do not disable SATA port on module unload We were disabling the SATA port, but not enabling it on module load. So, modprobe+rmmod+modprobe would fail. ChangeSet@1.1643.1.208, 2004-03-23 09:20:14-05:00, jgarzik@redhat.com [libata] use kmap_atomic() rather than kmap() ChangeSet@1.1643.1.207, 2004-03-22 23:40:01-05:00, jgarzik@redhat.com [libata] use new pci_dma_error() to check for pci_map_single() failure ChangeSet@1.1643.1.206, 2004-03-22 23:25:09-05:00, jgarzik@redhat.com Merge redhat.com:/spare/repo/linux-2.6 into redhat.com:/spare/repo/libata-2.6 ChangeSet@1.1643.47.1, 2004-03-22 14:15:33-05:00, jgarzik@redhat.com Merge redhat.com:/spare/repo/linux-2.6 into redhat.com:/spare/repo/libata-2.6 ChangeSet@1.1643.40.2, 2004-03-21 12:15:16-05:00, jgarzik@redhat.com [libata sata_sis] minor cleanups ChangeSet@1.1643.40.1, 2004-03-21 11:55:35-05:00, uwe.koziolek@gmx.net [libata] Add driver for SiS 964/180 SATA.