aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-09-23 00:14:13 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-12 14:55:42 -0400
commit7d77b247088fb360aa74bfdd9e19bce1e1987668 (patch)
treeadd1b03309dd6fa82eb0f47e1a88766695f38f28 /include
parente31e8531d668c9c4dc7883054788f89805188003 (diff)
libata-pmp-prep: implement sata_async_notification()
AN serves multiple purposes. For ATAPI, it's used for media change notification. For PMP, for downstream PHY status change notification. Implement sata_async_notification() which demultiplexes AN. To avoid unnecessary port events, ATAPI AN is not enabled if PMP is attached but SNTF is not available. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Kriten Carlson Accardi <kristen.c.accardi@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/libata.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 56b218771114..cd9c2a28136a 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -139,7 +139,7 @@ enum {
139 ATA_DFLAG_FLUSH_EXT = (1 << 4), /* do FLUSH_EXT instead of FLUSH */ 139 ATA_DFLAG_FLUSH_EXT = (1 << 4), /* do FLUSH_EXT instead of FLUSH */
140 ATA_DFLAG_ACPI_PENDING = (1 << 5), /* ACPI resume action pending */ 140 ATA_DFLAG_ACPI_PENDING = (1 << 5), /* ACPI resume action pending */
141 ATA_DFLAG_ACPI_FAILED = (1 << 6), /* ACPI on devcfg has failed */ 141 ATA_DFLAG_ACPI_FAILED = (1 << 6), /* ACPI on devcfg has failed */
142 ATA_DFLAG_AN = (1 << 7), /* device supports AN */ 142 ATA_DFLAG_AN = (1 << 7), /* AN configured */
143 ATA_DFLAG_CFG_MASK = (1 << 12) - 1, 143 ATA_DFLAG_CFG_MASK = (1 << 12) - 1,
144 144
145 ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */ 145 ATA_DFLAG_PIO = (1 << 12), /* device limited to PIO mode */
@@ -787,7 +787,6 @@ extern void ata_host_init(struct ata_host *, struct device *,
787extern int ata_scsi_detect(struct scsi_host_template *sht); 787extern int ata_scsi_detect(struct scsi_host_template *sht);
788extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg); 788extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg);
789extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)); 789extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *));
790extern void ata_scsi_media_change_notify(struct ata_device *atadev);
791extern void ata_sas_port_destroy(struct ata_port *); 790extern void ata_sas_port_destroy(struct ata_port *);
792extern struct ata_port *ata_sas_port_alloc(struct ata_host *, 791extern struct ata_port *ata_sas_port_alloc(struct ata_host *,
793 struct ata_port_info *, struct Scsi_Host *); 792 struct ata_port_info *, struct Scsi_Host *);
@@ -953,6 +952,7 @@ extern void ata_port_schedule_eh(struct ata_port *ap);
953extern int ata_link_abort(struct ata_link *link); 952extern int ata_link_abort(struct ata_link *link);
954extern int ata_port_abort(struct ata_port *ap); 953extern int ata_port_abort(struct ata_port *ap);
955extern int ata_port_freeze(struct ata_port *ap); 954extern int ata_port_freeze(struct ata_port *ap);
955extern int sata_async_notification(struct ata_port *ap);
956 956
957extern void ata_eh_freeze_port(struct ata_port *ap); 957extern void ata_eh_freeze_port(struct ata_port *ap);
958extern void ata_eh_thaw_port(struct ata_port *ap); 958extern void ata_eh_thaw_port(struct ata_port *ap);