diff options
Diffstat (limited to 'include/linux/libata.h')
| -rw-r--r-- | include/linux/libata.h | 10 | 
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 8dad4a307bb8..28aeae46f355 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h @@ -205,6 +205,7 @@ enum {  	ATA_LFLAG_SW_ACTIVITY	= (1 << 7), /* keep activity stats */  	ATA_LFLAG_NO_LPM	= (1 << 8), /* disable LPM on this link */  	ATA_LFLAG_RST_ONCE	= (1 << 9), /* limit recovery to one reset */ +	ATA_LFLAG_CHANGED	= (1 << 10), /* LPM state changed on this link */  	/* struct ata_port flags */  	ATA_FLAG_SLAVE_POSS	= (1 << 0), /* host supports slave dev */ @@ -309,6 +310,12 @@ enum {  	 */  	ATA_TMOUT_PMP_SRST_WAIT	= 5000, +	/* When the LPM policy is set to ATA_LPM_MAX_POWER, there might +	 * be a spurious PHY event, so ignore the first PHY event that +	 * occurs within 10s after the policy change. +	 */ +	ATA_TMOUT_SPURIOUS_PHY	= 10000, +  	/* ATA bus states */  	BUS_UNKNOWN		= 0,  	BUS_DMA			= 1, @@ -788,6 +795,8 @@ struct ata_link {  	struct ata_eh_context	eh_context;  	struct ata_device	device[ATA_MAX_DEVICES]; + +	unsigned long		last_lpm_change; /* when last LPM change happened */  };  #define ATA_LINK_CLEAR_BEGIN		offsetof(struct ata_link, active_tag)  #define ATA_LINK_CLEAR_END		offsetof(struct ata_link, device[0]) @@ -1201,6 +1210,7 @@ extern struct ata_device *ata_dev_pair(struct ata_device *adev);  extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev);  extern void ata_scsi_port_error_handler(struct Scsi_Host *host, struct ata_port *ap);  extern void ata_scsi_cmd_error_handler(struct Scsi_Host *host, struct ata_port *ap, struct list_head *eh_q); +extern bool sata_lpm_ignore_phy_events(struct ata_link *link);  extern int ata_cable_40wire(struct ata_port *ap);  extern int ata_cable_80wire(struct ata_port *ap);  |