diff options
Diffstat (limited to 'include/linux/libata.h')
| -rw-r--r-- | include/linux/libata.h | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 6cd9ba63563b..022105c745fc 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
| @@ -1,23 +1,26 @@ | |||
| 1 | /* | 1 | /* |
| 2 | Copyright 2003-2004 Red Hat, Inc. All rights reserved. | 2 | * Copyright 2003-2005 Red Hat, Inc. All rights reserved. |
| 3 | Copyright 2003-2004 Jeff Garzik | 3 | * Copyright 2003-2005 Jeff Garzik |
| 4 | 4 | * | |
| 5 | The contents of this file are subject to the Open | 5 | * |
| 6 | Software License version 1.1 that can be found at | 6 | * This program is free software; you can redistribute it and/or modify |
| 7 | http://www.opensource.org/licenses/osl-1.1.txt and is included herein | 7 | * it under the terms of the GNU General Public License as published by |
| 8 | by reference. | 8 | * the Free Software Foundation; either version 2, or (at your option) |
| 9 | 9 | * any later version. | |
| 10 | Alternatively, the contents of this file may be used under the terms | 10 | * |
| 11 | of the GNU General Public License version 2 (the "GPL") as distributed | 11 | * This program is distributed in the hope that it will be useful, |
| 12 | in the kernel source COPYING file, in which case the provisions of | 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 13 | the GPL are applicable instead of the above. If you wish to allow | 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 14 | the use of your version of this file only under the terms of the | 14 | * GNU General Public License for more details. |
| 15 | GPL and not to allow others to use your version of this file under | 15 | * |
| 16 | the OSL, indicate your decision by deleting the provisions above and | 16 | * You should have received a copy of the GNU General Public License |
| 17 | replace them with the notice and other provisions required by the GPL. | 17 | * along with this program; see the file COPYING. If not, write to |
| 18 | If you do not delete the provisions above, a recipient may use your | 18 | * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. |
| 19 | version of this file under either the OSL or the GPL. | 19 | * |
| 20 | 20 | * | |
| 21 | * libata documentation is available via 'make {ps|pdf}docs', | ||
| 22 | * as Documentation/DocBook/libata.* | ||
| 23 | * | ||
| 21 | */ | 24 | */ |
| 22 | 25 | ||
| 23 | #ifndef __LINUX_LIBATA_H__ | 26 | #ifndef __LINUX_LIBATA_H__ |
| @@ -37,7 +40,6 @@ | |||
| 37 | #undef ATA_VERBOSE_DEBUG /* yet more debugging output */ | 40 | #undef ATA_VERBOSE_DEBUG /* yet more debugging output */ |
| 38 | #undef ATA_IRQ_TRAP /* define to ack screaming irqs */ | 41 | #undef ATA_IRQ_TRAP /* define to ack screaming irqs */ |
| 39 | #undef ATA_NDEBUG /* define to disable quick runtime checks */ | 42 | #undef ATA_NDEBUG /* define to disable quick runtime checks */ |
| 40 | #undef ATA_ENABLE_ATAPI /* define to enable ATAPI support */ | ||
| 41 | #undef ATA_ENABLE_PATA /* define to enable PATA support in some | 43 | #undef ATA_ENABLE_PATA /* define to enable PATA support in some |
| 42 | * low-level drivers */ | 44 | * low-level drivers */ |
| 43 | #undef ATAPI_ENABLE_DMADIR /* enables ATAPI DMADIR bridge support */ | 45 | #undef ATAPI_ENABLE_DMADIR /* enables ATAPI DMADIR bridge support */ |
| @@ -113,6 +115,8 @@ enum { | |||
| 113 | ATA_FLAG_MMIO = (1 << 6), /* use MMIO, not PIO */ | 115 | ATA_FLAG_MMIO = (1 << 6), /* use MMIO, not PIO */ |
| 114 | ATA_FLAG_SATA_RESET = (1 << 7), /* use COMRESET */ | 116 | ATA_FLAG_SATA_RESET = (1 << 7), /* use COMRESET */ |
| 115 | ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */ | 117 | ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */ |
| 118 | ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once | ||
| 119 | * proper HSM is in place. */ | ||
| 116 | 120 | ||
| 117 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ | 121 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ |
| 118 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ | 122 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ |
| @@ -363,7 +367,7 @@ struct ata_port_operations { | |||
| 363 | 367 | ||
| 364 | void (*host_stop) (struct ata_host_set *host_set); | 368 | void (*host_stop) (struct ata_host_set *host_set); |
| 365 | 369 | ||
| 366 | void (*bmdma_stop) (struct ata_port *ap); | 370 | void (*bmdma_stop) (struct ata_queued_cmd *qc); |
| 367 | u8 (*bmdma_status) (struct ata_port *ap); | 371 | u8 (*bmdma_status) (struct ata_port *ap); |
| 368 | }; | 372 | }; |
| 369 | 373 | ||
| @@ -424,7 +428,7 @@ extern void ata_dev_id_string(u16 *id, unsigned char *s, | |||
| 424 | extern void ata_dev_config(struct ata_port *ap, unsigned int i); | 428 | extern void ata_dev_config(struct ata_port *ap, unsigned int i); |
| 425 | extern void ata_bmdma_setup (struct ata_queued_cmd *qc); | 429 | extern void ata_bmdma_setup (struct ata_queued_cmd *qc); |
| 426 | extern void ata_bmdma_start (struct ata_queued_cmd *qc); | 430 | extern void ata_bmdma_start (struct ata_queued_cmd *qc); |
| 427 | extern void ata_bmdma_stop(struct ata_port *ap); | 431 | extern void ata_bmdma_stop(struct ata_queued_cmd *qc); |
| 428 | extern u8 ata_bmdma_status(struct ata_port *ap); | 432 | extern u8 ata_bmdma_status(struct ata_port *ap); |
| 429 | extern void ata_bmdma_irq_clear(struct ata_port *ap); | 433 | extern void ata_bmdma_irq_clear(struct ata_port *ap); |
| 430 | extern void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat); | 434 | extern void ata_qc_complete(struct ata_queued_cmd *qc, u8 drv_stat); |
| @@ -445,6 +449,7 @@ struct pci_bits { | |||
| 445 | unsigned long val; | 449 | unsigned long val; |
| 446 | }; | 450 | }; |
| 447 | 451 | ||
| 452 | extern void ata_pci_host_stop (struct ata_host_set *host_set); | ||
| 448 | extern struct ata_probe_ent * | 453 | extern struct ata_probe_ent * |
| 449 | ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port); | 454 | ata_pci_init_native_mode(struct pci_dev *pdev, struct ata_port_info **port); |
| 450 | extern int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits); | 455 | extern int pci_test_config_bits(struct pci_dev *pdev, struct pci_bits *bits); |
| @@ -644,7 +649,7 @@ static inline void scr_write(struct ata_port *ap, unsigned int reg, u32 val) | |||
| 644 | ap->ops->scr_write(ap, reg, val); | 649 | ap->ops->scr_write(ap, reg, val); |
| 645 | } | 650 | } |
| 646 | 651 | ||
| 647 | static inline void scr_write_flush(struct ata_port *ap, unsigned int reg, | 652 | static inline void scr_write_flush(struct ata_port *ap, unsigned int reg, |
| 648 | u32 val) | 653 | u32 val) |
| 649 | { | 654 | { |
| 650 | ap->ops->scr_write(ap, reg, val); | 655 | ap->ops->scr_write(ap, reg, val); |
