diff options
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index f8a04ef5c7c3..29c78191ab60 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -163,6 +163,9 @@ enum { | |||
163 | ATA_FLAG_PIO_LBA48 = (1 << 13), /* Host DMA engine is LBA28 only */ | 163 | ATA_FLAG_PIO_LBA48 = (1 << 13), /* Host DMA engine is LBA28 only */ |
164 | ATA_FLAG_IRQ_MASK = (1 << 14), /* Mask IRQ in PIO xfers */ | 164 | ATA_FLAG_IRQ_MASK = (1 << 14), /* Mask IRQ in PIO xfers */ |
165 | 165 | ||
166 | ATA_FLAG_FLUSH_PIO_TASK = (1 << 15), /* Flush PIO task */ | ||
167 | ATA_FLAG_IN_EH = (1 << 16), /* EH in progress */ | ||
168 | |||
166 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ | 169 | ATA_QCFLAG_ACTIVE = (1 << 1), /* cmd not yet ack'd to scsi lyer */ |
167 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ | 170 | ATA_QCFLAG_SG = (1 << 3), /* have s/g table? */ |
168 | ATA_QCFLAG_SINGLE = (1 << 4), /* no s/g, just a single buffer */ | 171 | ATA_QCFLAG_SINGLE = (1 << 4), /* no s/g, just a single buffer */ |
@@ -246,6 +249,9 @@ struct ata_queued_cmd; | |||
246 | 249 | ||
247 | /* typedefs */ | 250 | /* typedefs */ |
248 | typedef void (*ata_qc_cb_t) (struct ata_queued_cmd *qc); | 251 | typedef void (*ata_qc_cb_t) (struct ata_queued_cmd *qc); |
252 | typedef void (*ata_probeinit_fn_t)(struct ata_port *); | ||
253 | typedef int (*ata_reset_fn_t)(struct ata_port *, int, unsigned int *); | ||
254 | typedef void (*ata_postreset_fn_t)(struct ata_port *ap, unsigned int *); | ||
249 | 255 | ||
250 | struct ata_ioports { | 256 | struct ata_ioports { |
251 | unsigned long cmd_addr; | 257 | unsigned long cmd_addr; |
@@ -481,6 +487,16 @@ extern void ata_port_probe(struct ata_port *); | |||
481 | extern void __sata_phy_reset(struct ata_port *ap); | 487 | extern void __sata_phy_reset(struct ata_port *ap); |
482 | extern void sata_phy_reset(struct ata_port *ap); | 488 | extern void sata_phy_reset(struct ata_port *ap); |
483 | extern void ata_bus_reset(struct ata_port *ap); | 489 | extern void ata_bus_reset(struct ata_port *ap); |
490 | extern int ata_drive_probe_reset(struct ata_port *ap, | ||
491 | ata_probeinit_fn_t probeinit, | ||
492 | ata_reset_fn_t softreset, ata_reset_fn_t hardreset, | ||
493 | ata_postreset_fn_t postreset, unsigned int *classes); | ||
494 | extern void ata_std_probeinit(struct ata_port *ap); | ||
495 | extern int ata_std_softreset(struct ata_port *ap, int verbose, | ||
496 | unsigned int *classes); | ||
497 | extern int sata_std_hardreset(struct ata_port *ap, int verbose, | ||
498 | unsigned int *class); | ||
499 | extern void ata_std_postreset(struct ata_port *ap, unsigned int *classes); | ||
484 | extern void ata_port_disable(struct ata_port *); | 500 | extern void ata_port_disable(struct ata_port *); |
485 | extern void ata_std_ports(struct ata_ioports *ioaddr); | 501 | extern void ata_std_ports(struct ata_ioports *ioaddr); |
486 | #ifdef CONFIG_PCI | 502 | #ifdef CONFIG_PCI |
@@ -521,6 +537,7 @@ extern void ata_std_dev_select (struct ata_port *ap, unsigned int device); | |||
521 | extern u8 ata_check_status(struct ata_port *ap); | 537 | extern u8 ata_check_status(struct ata_port *ap); |
522 | extern u8 ata_altstatus(struct ata_port *ap); | 538 | extern u8 ata_altstatus(struct ata_port *ap); |
523 | extern void ata_exec_command(struct ata_port *ap, const struct ata_taskfile *tf); | 539 | extern void ata_exec_command(struct ata_port *ap, const struct ata_taskfile *tf); |
540 | extern int ata_std_probe_reset(struct ata_port *ap, unsigned int *classes); | ||
524 | extern int ata_port_start (struct ata_port *ap); | 541 | extern int ata_port_start (struct ata_port *ap); |
525 | extern void ata_port_stop (struct ata_port *ap); | 542 | extern void ata_port_stop (struct ata_port *ap); |
526 | extern void ata_host_stop (struct ata_host_set *host_set); | 543 | extern void ata_host_stop (struct ata_host_set *host_set); |