aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/libata.h
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2007-08-06 05:36:23 -0400
committerJeff Garzik <jeff@garzik.org>2007-10-12 14:55:31 -0400
commit0c88758b5a6325428aaadab619886242db20ceae (patch)
treebf84abbce984fa45c4ce927b65695f30a8ea3a43 /include/linux/libata.h
parent0260731f0187840e272bfa10d3ba0f3e417976f5 (diff)
libata-link: make two port flags HRST_TO_RESUME and SKIP_D2H_BSY link flags
HRST_TO_RESUME and SKIP_D2H_BSY are link attributes. Move them to ata_link->flags. This will allow host and PMP links to have different attributes. ata_port_info->link_flags is added and used by LLDs to specify these flags during initialization. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r--include/linux/libata.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 0f86d9be78ab..74ced08d5989 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -156,6 +156,11 @@ enum {
156 ATA_DEV_ATAPI_UNSUP = 4, /* ATAPI device (unsupported) */ 156 ATA_DEV_ATAPI_UNSUP = 4, /* ATAPI device (unsupported) */
157 ATA_DEV_NONE = 5, /* no device */ 157 ATA_DEV_NONE = 5, /* no device */
158 158
159 /* struct ata_link flags */
160 ATA_LFLAG_HRST_TO_RESUME = (1 << 0), /* hardreset to resume link */
161 ATA_LFLAG_SKIP_D2H_BSY = (1 << 1), /* can't wait for the first D2H
162 * Register FIS clearing BSY */
163
159 /* struct ata_port flags */ 164 /* struct ata_port flags */
160 ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */ 165 ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */
161 /* (doesn't imply presence) */ 166 /* (doesn't imply presence) */
@@ -170,9 +175,6 @@ enum {
170 ATA_FLAG_PIO_POLLING = (1 << 9), /* use polling PIO if LLD 175 ATA_FLAG_PIO_POLLING = (1 << 9), /* use polling PIO if LLD
171 * doesn't handle PIO interrupts */ 176 * doesn't handle PIO interrupts */
172 ATA_FLAG_NCQ = (1 << 10), /* host supports NCQ */ 177 ATA_FLAG_NCQ = (1 << 10), /* host supports NCQ */
173 ATA_FLAG_HRST_TO_RESUME = (1 << 11), /* hardreset to resume phy */
174 ATA_FLAG_SKIP_D2H_BSY = (1 << 12), /* can't wait for the first D2H
175 * Register FIS clearing BSY */
176 ATA_FLAG_DEBUGMSG = (1 << 13), 178 ATA_FLAG_DEBUGMSG = (1 << 13),
177 ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */ 179 ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */
178 ATA_FLAG_NO_IORDY = (1 << 16), /* controller lacks iordy */ 180 ATA_FLAG_NO_IORDY = (1 << 16), /* controller lacks iordy */
@@ -517,6 +519,8 @@ struct ata_link {
517 unsigned int active_tag; /* active tag on this link */ 519 unsigned int active_tag; /* active tag on this link */
518 u32 sactive; /* active NCQ commands */ 520 u32 sactive; /* active NCQ commands */
519 521
522 unsigned int flags; /* ATA_LFLAG_xxx */
523
520 unsigned int hw_sata_spd_limit; 524 unsigned int hw_sata_spd_limit;
521 unsigned int sata_spd_limit; 525 unsigned int sata_spd_limit;
522 unsigned int sata_spd; /* current SATA PHY speed */ 526 unsigned int sata_spd; /* current SATA PHY speed */
@@ -654,6 +658,7 @@ struct ata_port_operations {
654struct ata_port_info { 658struct ata_port_info {
655 struct scsi_host_template *sht; 659 struct scsi_host_template *sht;
656 unsigned long flags; 660 unsigned long flags;
661 unsigned long link_flags;
657 unsigned long pio_mask; 662 unsigned long pio_mask;
658 unsigned long mwdma_mask; 663 unsigned long mwdma_mask;
659 unsigned long udma_mask; 664 unsigned long udma_mask;