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.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 64f90e17e51d..77eeeda2b6e2 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -162,6 +162,7 @@ enum {
162 ATA_DFLAG_DETACHED = (1 << 25), 162 ATA_DFLAG_DETACHED = (1 << 25),
163 163
164 ATA_DFLAG_DA = (1 << 26), /* device supports Device Attention */ 164 ATA_DFLAG_DA = (1 << 26), /* device supports Device Attention */
165 ATA_DFLAG_DEVSLP = (1 << 27), /* device supports Device Sleep */
165 166
166 ATA_DEV_UNKNOWN = 0, /* unknown device */ 167 ATA_DEV_UNKNOWN = 0, /* unknown device */
167 ATA_DEV_ATA = 1, /* ATA device */ 168 ATA_DEV_ATA = 1, /* ATA device */
@@ -184,6 +185,7 @@ enum {
184 ATA_LFLAG_DISABLED = (1 << 6), /* link is disabled */ 185 ATA_LFLAG_DISABLED = (1 << 6), /* link is disabled */
185 ATA_LFLAG_SW_ACTIVITY = (1 << 7), /* keep activity stats */ 186 ATA_LFLAG_SW_ACTIVITY = (1 << 7), /* keep activity stats */
186 ATA_LFLAG_NO_LPM = (1 << 8), /* disable LPM on this link */ 187 ATA_LFLAG_NO_LPM = (1 << 8), /* disable LPM on this link */
188 ATA_LFLAG_RST_ONCE = (1 << 9), /* limit recovery to one reset */
187 189
188 /* struct ata_port flags */ 190 /* struct ata_port flags */
189 ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */ 191 ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */
@@ -649,6 +651,9 @@ struct ata_device {
649 u32 gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */ 651 u32 gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */
650 }; 652 };
651 653
654 /* Identify Device Data Log (30h), SATA Settings (page 08h) */
655 u8 sata_settings[ATA_SECT_SIZE];
656
652 /* error history */ 657 /* error history */
653 int spdn_cnt; 658 int spdn_cnt;
654 /* ering is CLEAR_END, read comment above CLEAR_END */ 659 /* ering is CLEAR_END, read comment above CLEAR_END */
@@ -986,8 +991,7 @@ extern int ata_host_activate(struct ata_host *host, int irq,
986 irq_handler_t irq_handler, unsigned long irq_flags, 991 irq_handler_t irq_handler, unsigned long irq_flags,
987 struct scsi_host_template *sht); 992 struct scsi_host_template *sht);
988extern void ata_host_detach(struct ata_host *host); 993extern void ata_host_detach(struct ata_host *host);
989extern void ata_host_init(struct ata_host *, struct device *, 994extern void ata_host_init(struct ata_host *, struct device *, struct ata_port_operations *);
990 unsigned long, struct ata_port_operations *);
991extern int ata_scsi_detect(struct scsi_host_template *sht); 995extern int ata_scsi_detect(struct scsi_host_template *sht);
992extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); 996extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg);
993extern int ata_scsi_queuecmd(struct Scsi_Host *h, struct scsi_cmnd *cmd); 997extern int ata_scsi_queuecmd(struct Scsi_Host *h, struct scsi_cmnd *cmd);
@@ -1012,6 +1016,17 @@ extern bool ata_link_offline(struct ata_link *link);
1012#ifdef CONFIG_PM 1016#ifdef CONFIG_PM
1013extern int ata_host_suspend(struct ata_host *host, pm_message_t mesg); 1017extern int ata_host_suspend(struct ata_host *host, pm_message_t mesg);
1014extern void ata_host_resume(struct ata_host *host); 1018extern void ata_host_resume(struct ata_host *host);
1019extern int ata_sas_port_async_suspend(struct ata_port *ap, int *async);
1020extern int ata_sas_port_async_resume(struct ata_port *ap, int *async);
1021#else
1022static inline int ata_sas_port_async_suspend(struct ata_port *ap, int *async)
1023{
1024 return 0;
1025}
1026static inline int ata_sas_port_async_resume(struct ata_port *ap, int *async)
1027{
1028 return 0;
1029}
1015#endif 1030#endif
1016extern int ata_ratelimit(void); 1031extern int ata_ratelimit(void);
1017extern void ata_msleep(struct ata_port *ap, unsigned int msecs); 1032extern void ata_msleep(struct ata_port *ap, unsigned int msecs);