diff options
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r-- | include/linux/libata.h | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index 66b6847225df..2558abac9fb2 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -123,6 +123,7 @@ enum { | |||
123 | ATA_DFLAG_LBA48 = (1 << 0), /* device supports LBA48 */ | 123 | ATA_DFLAG_LBA48 = (1 << 0), /* device supports LBA48 */ |
124 | ATA_DFLAG_PIO = (1 << 1), /* device currently in PIO mode */ | 124 | ATA_DFLAG_PIO = (1 << 1), /* device currently in PIO mode */ |
125 | ATA_DFLAG_LBA = (1 << 2), /* device supports LBA */ | 125 | ATA_DFLAG_LBA = (1 << 2), /* device supports LBA */ |
126 | ATA_DFLAG_CDB_INTR = (1 << 3), /* device asserts INTRQ when ready for CDB */ | ||
126 | 127 | ||
127 | ATA_DEV_UNKNOWN = 0, /* unknown device */ | 128 | ATA_DEV_UNKNOWN = 0, /* unknown device */ |
128 | ATA_DEV_ATA = 1, /* ATA device */ | 129 | ATA_DEV_ATA = 1, /* ATA device */ |
@@ -141,8 +142,8 @@ enum { | |||
141 | ATA_FLAG_MMIO = (1 << 6), /* use MMIO, not PIO */ | 142 | ATA_FLAG_MMIO = (1 << 6), /* use MMIO, not PIO */ |
142 | ATA_FLAG_SATA_RESET = (1 << 7), /* (obsolete) use COMRESET */ | 143 | ATA_FLAG_SATA_RESET = (1 << 7), /* (obsolete) use COMRESET */ |
143 | ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */ | 144 | ATA_FLAG_PIO_DMA = (1 << 8), /* PIO cmds via DMA */ |
144 | ATA_FLAG_NOINTR = (1 << 9), /* FIXME: Remove this once | 145 | ATA_FLAG_PIO_POLLING = (1 << 9), /* use polling PIO if LLD |
145 | * proper HSM is in place. */ | 146 | * doesn't handle PIO interrupts */ |
146 | ATA_FLAG_DEBUGMSG = (1 << 10), | 147 | ATA_FLAG_DEBUGMSG = (1 << 10), |
147 | ATA_FLAG_NO_ATAPI = (1 << 11), /* No ATAPI support */ | 148 | ATA_FLAG_NO_ATAPI = (1 << 11), /* No ATAPI support */ |
148 | 149 | ||
@@ -165,6 +166,8 @@ enum { | |||
165 | ATA_TMOUT_PIO = 30 * HZ, | 166 | ATA_TMOUT_PIO = 30 * HZ, |
166 | ATA_TMOUT_BOOT = 30 * HZ, /* heuristic */ | 167 | ATA_TMOUT_BOOT = 30 * HZ, /* heuristic */ |
167 | ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* heuristic */ | 168 | ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* heuristic */ |
169 | ATA_TMOUT_DATAOUT = 30 * HZ, | ||
170 | ATA_TMOUT_DATAOUT_QUICK = 5 * HZ, | ||
168 | ATA_TMOUT_CDB = 30 * HZ, | 171 | ATA_TMOUT_CDB = 30 * HZ, |
169 | ATA_TMOUT_CDB_QUICK = 5 * HZ, | 172 | ATA_TMOUT_CDB_QUICK = 5 * HZ, |
170 | ATA_TMOUT_INTERNAL = 30 * HZ, | 173 | ATA_TMOUT_INTERNAL = 30 * HZ, |
@@ -204,14 +207,16 @@ enum { | |||
204 | }; | 207 | }; |
205 | 208 | ||
206 | enum hsm_task_states { | 209 | enum hsm_task_states { |
207 | HSM_ST_UNKNOWN, | 210 | HSM_ST_UNKNOWN, /* state unknown */ |
208 | HSM_ST_IDLE, | 211 | HSM_ST_IDLE, /* no command on going */ |
209 | HSM_ST_POLL, | 212 | HSM_ST_POLL, /* same as HSM_ST, waits longer */ |
210 | HSM_ST_TMOUT, | 213 | HSM_ST_TMOUT, /* timeout */ |
211 | HSM_ST, | 214 | HSM_ST, /* (waiting the device to) transfer data */ |
212 | HSM_ST_LAST, | 215 | HSM_ST_LAST, /* (waiting the device to) complete command */ |
213 | HSM_ST_LAST_POLL, | 216 | HSM_ST_LAST_POLL, /* same as HSM_ST_LAST, waits longer */ |
214 | HSM_ST_ERR, | 217 | HSM_ST_ERR, /* error */ |
218 | HSM_ST_FIRST, /* (waiting the device to) | ||
219 | write CDB or first data block */ | ||
215 | }; | 220 | }; |
216 | 221 | ||
217 | enum ata_completion_errors { | 222 | enum ata_completion_errors { |
@@ -388,8 +393,6 @@ struct ata_port { | |||
388 | struct ata_host_stats stats; | 393 | struct ata_host_stats stats; |
389 | struct ata_host_set *host_set; | 394 | struct ata_host_set *host_set; |
390 | 395 | ||
391 | struct work_struct packet_task; | ||
392 | |||
393 | struct work_struct pio_task; | 396 | struct work_struct pio_task; |
394 | unsigned int hsm_task_state; | 397 | unsigned int hsm_task_state; |
395 | unsigned long pio_task_timeout; | 398 | unsigned long pio_task_timeout; |