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.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 87698640c091..b2f2003b92e5 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -146,6 +146,7 @@ enum {
146 ATA_DFLAG_SLEEPING = (1 << 15), /* device is sleeping */ 146 ATA_DFLAG_SLEEPING = (1 << 15), /* device is sleeping */
147 ATA_DFLAG_DUBIOUS_XFER = (1 << 16), /* data transfer not verified */ 147 ATA_DFLAG_DUBIOUS_XFER = (1 << 16), /* data transfer not verified */
148 ATA_DFLAG_NO_UNLOAD = (1 << 17), /* device doesn't support unload */ 148 ATA_DFLAG_NO_UNLOAD = (1 << 17), /* device doesn't support unload */
149 ATA_DFLAG_UNLOCK_HPA = (1 << 18), /* unlock HPA */
149 ATA_DFLAG_INIT_MASK = (1 << 24) - 1, 150 ATA_DFLAG_INIT_MASK = (1 << 24) - 1,
150 151
151 ATA_DFLAG_DETACH = (1 << 24), 152 ATA_DFLAG_DETACH = (1 << 24),
@@ -354,6 +355,9 @@ enum {
354 /* max tries if error condition is still set after ->error_handler */ 355 /* max tries if error condition is still set after ->error_handler */
355 ATA_EH_MAX_TRIES = 5, 356 ATA_EH_MAX_TRIES = 5,
356 357
358 /* sometimes resuming a link requires several retries */
359 ATA_LINK_RESUME_TRIES = 5,
360
357 /* how hard are we gonna try to probe/recover devices */ 361 /* how hard are we gonna try to probe/recover devices */
358 ATA_PROBE_MAX_TRIES = 3, 362 ATA_PROBE_MAX_TRIES = 3,
359 ATA_EH_DEV_TRIES = 3, 363 ATA_EH_DEV_TRIES = 3,
@@ -365,7 +369,7 @@ enum {
365 /* This should match the actual table size of 369 /* This should match the actual table size of
366 * ata_eh_cmd_timeout_table in libata-eh.c. 370 * ata_eh_cmd_timeout_table in libata-eh.c.
367 */ 371 */
368 ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 5, 372 ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 6,
369 373
370 /* Horkage types. May be set by libata or controller on drives 374 /* Horkage types. May be set by libata or controller on drives
371 (some horkage may be drive/controller pair dependant */ 375 (some horkage may be drive/controller pair dependant */
@@ -595,6 +599,7 @@ struct ata_device {
595 unsigned int horkage; /* List of broken features */ 599 unsigned int horkage; /* List of broken features */
596 unsigned long flags; /* ATA_DFLAG_xxx */ 600 unsigned long flags; /* ATA_DFLAG_xxx */
597 struct scsi_device *sdev; /* attached SCSI device */ 601 struct scsi_device *sdev; /* attached SCSI device */
602 void *private_data;
598#ifdef CONFIG_ATA_ACPI 603#ifdef CONFIG_ATA_ACPI
599 acpi_handle acpi_handle; 604 acpi_handle acpi_handle;
600 union acpi_object *gtf_cache; 605 union acpi_object *gtf_cache;
@@ -853,6 +858,7 @@ struct ata_port_operations {
853 unsigned int (*sff_data_xfer)(struct ata_device *dev, 858 unsigned int (*sff_data_xfer)(struct ata_device *dev,
854 unsigned char *buf, unsigned int buflen, int rw); 859 unsigned char *buf, unsigned int buflen, int rw);
855 u8 (*sff_irq_on)(struct ata_port *); 860 u8 (*sff_irq_on)(struct ata_port *);
861 bool (*sff_irq_check)(struct ata_port *);
856 void (*sff_irq_clear)(struct ata_port *); 862 void (*sff_irq_clear)(struct ata_port *);
857 863
858 void (*bmdma_setup)(struct ata_queued_cmd *qc); 864 void (*bmdma_setup)(struct ata_queued_cmd *qc);
@@ -1023,7 +1029,7 @@ extern int ata_std_bios_param(struct scsi_device *sdev,
1023extern int ata_scsi_slave_config(struct scsi_device *sdev); 1029extern int ata_scsi_slave_config(struct scsi_device *sdev);
1024extern void ata_scsi_slave_destroy(struct scsi_device *sdev); 1030extern void ata_scsi_slave_destroy(struct scsi_device *sdev);
1025extern int ata_scsi_change_queue_depth(struct scsi_device *sdev, 1031extern int ata_scsi_change_queue_depth(struct scsi_device *sdev,
1026 int queue_depth); 1032 int queue_depth, int reason);
1027extern struct ata_device *ata_dev_pair(struct ata_device *adev); 1033extern struct ata_device *ata_dev_pair(struct ata_device *adev);
1028extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev); 1034extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev);
1029 1035
@@ -1638,8 +1644,8 @@ extern int ata_pci_sff_activate_host(struct ata_host *host,
1638 irq_handler_t irq_handler, 1644 irq_handler_t irq_handler,
1639 struct scsi_host_template *sht); 1645 struct scsi_host_template *sht);
1640extern int ata_pci_sff_init_one(struct pci_dev *pdev, 1646extern int ata_pci_sff_init_one(struct pci_dev *pdev,
1641 const struct ata_port_info * const * ppi, 1647 const struct ata_port_info * const * ppi,
1642 struct scsi_host_template *sht, void *host_priv); 1648 struct scsi_host_template *sht, void *host_priv, int hflags);
1643#endif /* CONFIG_PCI */ 1649#endif /* CONFIG_PCI */
1644 1650
1645/** 1651/**