aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/libata.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r--include/linux/libata.h17
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 */
248typedef void (*ata_qc_cb_t) (struct ata_queued_cmd *qc); 251typedef void (*ata_qc_cb_t) (struct ata_queued_cmd *qc);
252typedef void (*ata_probeinit_fn_t)(struct ata_port *);
253typedef int (*ata_reset_fn_t)(struct ata_port *, int, unsigned int *);
254typedef void (*ata_postreset_fn_t)(struct ata_port *ap, unsigned int *);
249 255
250struct ata_ioports { 256struct ata_ioports {
251 unsigned long cmd_addr; 257 unsigned long cmd_addr;
@@ -481,6 +487,16 @@ extern void ata_port_probe(struct ata_port *);
481extern void __sata_phy_reset(struct ata_port *ap); 487extern void __sata_phy_reset(struct ata_port *ap);
482extern void sata_phy_reset(struct ata_port *ap); 488extern void sata_phy_reset(struct ata_port *ap);
483extern void ata_bus_reset(struct ata_port *ap); 489extern void ata_bus_reset(struct ata_port *ap);
490extern 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);
494extern void ata_std_probeinit(struct ata_port *ap);
495extern int ata_std_softreset(struct ata_port *ap, int verbose,
496 unsigned int *classes);
497extern int sata_std_hardreset(struct ata_port *ap, int verbose,
498 unsigned int *class);
499extern void ata_std_postreset(struct ata_port *ap, unsigned int *classes);
484extern void ata_port_disable(struct ata_port *); 500extern void ata_port_disable(struct ata_port *);
485extern void ata_std_ports(struct ata_ioports *ioaddr); 501extern 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);
521extern u8 ata_check_status(struct ata_port *ap); 537extern u8 ata_check_status(struct ata_port *ap);
522extern u8 ata_altstatus(struct ata_port *ap); 538extern u8 ata_altstatus(struct ata_port *ap);
523extern void ata_exec_command(struct ata_port *ap, const struct ata_taskfile *tf); 539extern void ata_exec_command(struct ata_port *ap, const struct ata_taskfile *tf);
540extern int ata_std_probe_reset(struct ata_port *ap, unsigned int *classes);
524extern int ata_port_start (struct ata_port *ap); 541extern int ata_port_start (struct ata_port *ap);
525extern void ata_port_stop (struct ata_port *ap); 542extern void ata_port_stop (struct ata_port *ap);
526extern void ata_host_stop (struct ata_host_set *host_set); 543extern void ata_host_stop (struct ata_host_set *host_set);