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.h27
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
206enum hsm_task_states { 209enum 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
217enum ata_completion_errors { 222enum 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;